首页主机资讯debian防火墙如何定制化规则

debian防火墙如何定制化规则

时间2025-10-23 23:49:03发布访客分类主机资讯浏览842
导读:Debian防火墙定制化规则指南 Debian系统中,防火墙定制化主要通过UFW(Uncomplicated Firewall)或iptables/nftables实现。UFW作为简化工具更适合新手,iptables/nftables则提供...

Debian防火墙定制化规则指南
Debian系统中,防火墙定制化主要通过UFW(Uncomplicated Firewall)iptables/nftables实现。UFW作为简化工具更适合新手,iptables/nftables则提供更底层、灵活的控制。以下是具体操作步骤:

一、UFW(Uncomplicated Firewall)定制化规则

UFW是基于iptables的前端工具,通过直观命令降低配置复杂度,适合大多数日常场景。

1. 安装与基础配置

  • 安装UFW
    sudo apt update &
        &
         sudo apt install ufw
    
  • 启用UFW
    sudo ufw enable  # 启用后,默认拒绝所有入站、允许所有出站
    
  • 设置默认策略(强化安全):
    sudo ufw default deny incoming  # 拒绝所有入站连接
    sudo ufw default allow outgoing # 允许所有出站连接
    

2. 常见自定义规则

  • 允许特定端口
    • 允许HTTP(80端口):
      sudo ufw allow 80/tcp
      
    • 允许HTTPS(443端口):
      sudo ufw allow 443/tcp
      
  • 允许特定服务
    • 允许SSH(系统默认22端口):
      sudo ufw allow ssh  # 或 sudo ufw allow 22/tcp
      
  • 允许/拒绝特定IP
    • 允许单个IP(如192.168.1.100)访问所有端口:
      sudo ufw allow from 192.168.1.100
      
    • 拒绝单个IP访问所有端口:
      sudo ufw deny from 192.168.1.101
      
    • 允许IP段(如192.168.1.0/24)访问SSH:
      sudo ufw allow from 192.168.1.0/24 to any port 22
      
  • 允许端口范围
    • 开放2290-2300端口的TCP连接:
      sudo ufw allow 2290:2300/tcp
      

3. 高级配置

  • 限制连接频率(防暴力破解):
    • 限制SSH每30秒最多5次新连接:
      sudo ufw limit 22/tcp
      
  • 启用日志记录(故障排查):
    sudo ufw logging on  # 日志默认保存至/var/log/ufw.log
    
  • 基于接口的规则
    • 允许eth1接口的172.0.0.0/24网段访问SSH:
      sudo ufw allow in on eth1 from 172.0.0.0/24 to any port 22
      

4. 管理与持久化

  • 查看规则
    • 查看简要规则:
      sudo ufw status
      
    • 查看详细规则(含规则编号):
      sudo ufw status verbose
      
  • 删除规则
    • 删除指定端口规则(如80/tcp):
      sudo ufw delete allow 80/tcp
      
    • 按规则编号删除(需先查看规则编号):
      sudo ufw delete 1  # 删除编号为1的规则
      
  • 保存规则
    UFW规则默认自动保存至/etc/ufw/user.rules,重启后仍有效。如需手动导出:
    sudo ufw export >
         /etc/ufw/user.rules
    

二、iptables/nftables定制化规则

iptables是Linux内核级防火墙工具,功能强大但命令复杂;nftables是其替代工具,语法更简洁,适合高级用户。

1. 安装与基础配置

  • 安装iptables
    sudo apt update &
        &
         sudo apt install iptables
    
  • 安装nftables
    sudo apt update &
        &
         sudo apt install nftables
    

2. iptables常见规则示例

  • 查看规则
    sudo iptables -L -n -v  # 查看filter表规则
    sudo iptables -t nat -L -n -v  # 查看nat表规则
    
  • 允许特定IP访问SSH
    sudo iptables -A INPUT -s 192.168.1.100 -p tcp --dport 22 -j ACCEPT
    
  • 拒绝特定IP访问
    sudo iptables -A INPUT -s 192.168.1.101 -j DROP
    
  • 设置默认策略
    sudo iptables -P INPUT DROP  # 拒绝所有入站
    sudo iptables -P FORWARD DROP  # 拒绝所有转发
    sudo iptables -P OUTPUT ACCEPT  # 允许所有出站
    
  • 允许已建立的连接(避免中断现有会话):
    sudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
    

3. nftables常见规则示例

  • 查看规则集
    sudo nft list ruleset
    
  • 允许特定IP访问SSH
    sudo nft add rule inet filter input tcp dport 22 ip saddr 192.168.1.100 accept
    
  • 保存规则
    sudo nft list ruleset >
         /etc/nftables.conf  # 保存至配置文件
    
  • 设置开机自启
    sudo systemctl enable nftables
    sudo systemctl start nftables
    

4. 持久化规则

  • iptables持久化
    • 安装iptables-persistent包:
      sudo apt install iptables-persistent
      
    • 手动保存规则:
      sudo netfilter-persistent save
      sudo netfilter-persistent reload
      
  • nftables持久化
    规则默认保存至/etc/nftables.conf,重启服务后自动加载。

注意事项

  • 优先使用UFW:除非需要底层控制,否则推荐UFW,降低误操作风险。
  • 避免锁死自己:修改规则前,确保已允许SSH连接(如sudo ufw allow 22/tcp),否则可能无法远程登录。
  • 测试规则:修改后通过pingtelnet等工具验证规则是否生效。
  • 备份规则:定期备份规则文件(如/etc/ufw/user.rules/etc/nftables.conf),便于恢复。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: debian防火墙如何定制化规则
本文地址: https://pptw.com/jishu/733990.html
Debian如何通过inotify进行系统维护 inotify在Debian系统中如何提高稳定性

游客 回复需填写必要信息