温馨提示×

Debian防火墙如何自定义规则集

小樊
59
2025-09-11 09:59:47
栏目: 智能运维

Debian可通过iptablesnftablesufw自定义防火墙规则集,以下是具体方法及示例:

一、使用iptables(底层工具,适合高级配置)

1. 基础操作

  • 安装
    sudo apt update && sudo apt install iptables
    
  • 查看规则
    sudo iptables -L -v -n  # 查看filter表规则
    
  • 添加规则
    • 允许特定IP访问SSH:
      sudo iptables -A INPUT -p tcp --dport 22 -s 192.168.1.100 -j ACCEPT
      
    • 拒绝所有其他IP访问SSH:
      sudo iptables -A INPUT -p tcp --dport 22 -j DROP
      
    • 允许特定端口范围(如80-90):
      sudo iptables -A INPUT -p tcp --dport 80:90 -j ACCEPT
      

2. 高级功能

  • 自定义链
    sudo iptables -N MY_CHAIN  # 创建自定义链
    sudo iptables -A MY_CHAIN -s 192.168.1.0/24 -j DROP  # 在链中添加规则
    sudo iptables -A INPUT -j MY_CHAIN  # 调用自定义链
    
  • 模块化匹配
    • 限制连接频率(如每秒最多5个新SSH连接):
      sudo iptables -A INPUT -p tcp --dport 22 -m limit --limit 5/second -j ACCEPT
      
    • 仅允许已建立的连接:
      sudo iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
      

3. 保存与恢复

  • 保存规则
    sudo sh -c "iptables-save > /etc/iptables/rules.v4"
    
  • 开机自启
    创建脚本 /etc/network/if-pre-up.d/iptables
    #!/bin/sh
    iptables-restore < /etc/iptables/rules.v4
    sudo chmod +x /etc/network/if-pre-up.d/iptables
    

二、使用nftables(新一代工具,语法更简洁)

1. 基础操作

  • 安装
    sudo apt update && sudo apt install nftables
    
  • 查看规则
    sudo nft list ruleset
    
  • 添加规则
    • 允许SSH:
      sudo nft add rule ip filter input tcp dport 22 accept
      
    • 拒绝其他IP:
      sudo nft add rule ip filter input drop
      

2. 保存与恢复

  • 保存规则
    sudo nft list ruleset > /etc/nftables.conf
    
  • 开机自启
    sudo systemctl enable nftables && sudo systemctl start nftables
    

三、使用ufw(简化工具,适合新手)

1. 基础操作

  • 安装
    sudo apt update && sudo apt install ufw
    
  • 启用并设置默认策略
    sudo ufw default deny incoming  # 拒绝所有入站
    sudo ufw default allow outgoing # 允许所有出站
    sudo ufw enable
    
  • 添加规则
    • 允许SSH:
      sudo ufw allow ssh
      
    • 允许特定端口(如8080):
      sudo ufw allow 8080/tcp
      
    • 拒绝特定IP:
      sudo ufw deny from 192.168.1.100
      

2. 保存规则

规则默认保存至 /etc/ufw/user.rules,重启后自动加载。

注意事项

  1. 备份规则:修改前建议备份现有规则(如 cp /etc/iptables/rules.v4 /etc/iptables/rules.v4.bak)。
  2. 测试规则:在生产环境应用前,先在测试环境验证规则有效性。
  3. 权限要求:所有操作需使用sudoroot权限。

根据需求选择工具:ufw适合快速配置,iptables/nftables适合精细化控制。

0