debian

Debian iptables如何使用脚本

小樊
36
2025-05-14 03:28:59
栏目: 智能运维

在Debian系统中,你可以使用脚本来自动化iptables规则的配置。以下是一个简单的示例,展示了如何创建一个脚本来添加、删除和保存iptables规则。

  1. 创建脚本文件: 首先,创建一个新的脚本文件,例如iptables_script.sh

    nano iptables_script.sh
    
  2. 编写脚本内容: 在脚本文件中添加以下内容:

    #!/bin/bash
    
    # 清除现有规则
    iptables -F
    iptables -X
    
    # 设置默认策略
    iptables -P INPUT DROP
    iptables -P FORWARD DROP
    iptables -P OUTPUT ACCEPT
    
    # 允许本地回环接口的流量
    iptables -A INPUT -i lo -j ACCEPT
    iptables -A OUTPUT -o lo -j ACCEPT
    
    # 允许已建立的连接
    iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
    iptables -A OUTPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
    
    # 允许SSH连接
    iptables -A INPUT -p tcp --dport 22 -j ACCEPT
    
    # 允许HTTP和HTTPS连接
    iptables -A INPUT -p tcp --dport 80 -j ACCEPT
    iptables -A INPUT -p tcp --dport 443 -j ACCEPT
    
    # 允许特定IP地址访问
    iptables -A INPUT -s 192.168.1.100 -j ACCEPT
    
    # 保存规则
    iptables-save > /etc/iptables/rules.v4
    
    echo "iptables rules have been updated."
    
  3. 赋予脚本执行权限: 保存并关闭文件后,赋予脚本执行权限。

    chmod +x iptables_script.sh
    
  4. 运行脚本: 运行脚本来应用新的iptables规则。

    sudo ./iptables_script.sh
    
  5. 持久化规则: 为了确保重启后规则仍然有效,你需要将规则保存到系统启动脚本中。Debian使用iptables-persistent包来持久化iptables规则。

    安装iptables-persistent

    sudo apt-get update
    sudo apt-get install iptables-persistent
    

    在安装过程中,选择“是”以保存当前规则,并选择“否”以避免在启动时提示配置IPv6规则。

通过以上步骤,你可以创建一个脚本来自动化iptables规则的配置,并确保这些规则在系统重启后仍然有效。

0
看了该问题的人还看了