温馨提示×

Debian iptables如何定制个性化策略

小樊
35
2026-01-03 07:45:43
栏目: 智能运维

在Debian系统中,使用iptables定制个性化策略需要遵循以下步骤:

  1. 安装iptables(如果尚未安装):

    sudo apt-get update
    sudo apt-get install iptables
    
  2. 查看当前的iptables规则:

    sudo iptables -L
    sudo iptables -L -n
    
  3. 清除现有规则:

    sudo iptables -F
    sudo iptables -X
    sudo iptables -t nat -F
    sudo iptables -t nat -X
    sudo iptables -t mangle -F
    sudo iptables -t mangle -X
    sudo iptables -P INPUT ACCEPT
    sudo iptables -P FORWARD ACCEPT
    sudo iptables -P OUTPUT ACCEPT
    
  4. 设置默认策略: 根据需要设置默认策略,例如拒绝所有输入流量、允许所有输出流量:

    sudo iptables -P INPUT DROP
    sudo iptables -P FORWARD DROP
    sudo iptables -P OUTPUT ACCEPT
    
  5. 允许已建立的连接和相关流量:

    sudo iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
    
  6. 允许本地回环接口的流量:

    sudo iptables -A INPUT -i lo -j ACCEPT
    
  7. 允许SSH连接(替换<your_ssh_port>为实际SSH端口):

    sudo iptables -A INPUT -p tcp --dport <your_ssh_port> -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
    sudo iptables -A OUTPUT -p tcp --sport <your_ssh_port> -m conntrack --ctstate ESTABLISHED -j ACCEPT
    
  8. 允许特定IP地址或子网的访问(替换<your_ip><your_subnet>为实际IP地址或子网):

    sudo iptables -A INPUT -s <your_ip> -j ACCEPT
    sudo iptables -A INPUT -s <your_subnet> -j ACCEPT
    
  9. 允许特定端口上的流量(例如,允许端口80上的HTTP流量):

    sudo iptables -A INPUT -p tcp --dport 80 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
    sudo iptables -A OUTPUT -p tcp --sport 80 -m conntrack --ctstate ESTABLISHED -j ACCEPT
    
  10. 保存iptables规则:

    sudo iptables-save > /etc/iptables/rules.v4
    
  11. 使iptables规则在系统启动时自动应用: 安装iptables-persistent软件包:

    sudo apt-get install iptables-persistent
    

    在安装过程中,选择“是”以保存当前规则,选择“否”以防止iptables-persistent在启动时自动运行。

现在,您已经根据需求定制了个性化的iptables策略。请注意,根据您的实际需求,可能需要调整上述示例中的IP地址、端口和其他参数。

0