温馨提示×

iptables如何添加新规则

小樊
46
2025-11-14 09:06:57
栏目: 编程语言

在Linux系统中,iptables是一个用于配置内核防火墙(netfilter)规则的命令行工具。要添加新的iptables规则,你需要使用iptables命令并指定相应的链(chain)、目标(target)、协议(protocol)、源地址(source)、目标地址(destination)以及其他选项。

以下是一些基本的iptables命令示例,用于添加新规则:

  1. 允许特定IP地址访问

    iptables -A INPUT -s 192.168.1.100 -j ACCEPT
    

    这条规则将允许来自IP地址192.168.1.100的所有流量通过INPUT链。

  2. 拒绝特定IP地址访问

    iptables -A INPUT -s 192.168.1.100 -j DROP
    

    这条规则将拒绝来自IP地址192.168.1.100的所有流量通过INPUT链。

  3. 允许特定端口上的TCP连接

    iptables -A INPUT -p tcp --dport 80 -j ACCEPT
    

    这条规则将允许所有到TCP端口80(通常是HTTP)的连接通过INPUT链。

  4. 拒绝特定端口上的UDP连接

    iptables -A INPUT -p udp --dport 53 -j DROP
    

    这条规则将拒绝所有到UDP端口53(通常是DNS)的连接通过INPUT链。

  5. 允许SSH连接

    iptables -A INPUT -p tcp --dport 22 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
    iptables -A OUTPUT -p tcp --sport 22 -m conntrack --ctstate ESTABLISHED -j ACCEPT
    

    这两条规则将允许新的和已建立的SSH连接通过INPUT和OUTPUT链。

  6. 保存iptables规则: 在某些Linux发行版中,你需要保存iptables规则以确保它们在系统重启后仍然有效。可以使用以下命令之一来保存规则:

    iptables-save > /etc/iptables/rules.v4
    

    或者

    service iptables save
    

请注意,修改iptables规则可能会影响系统的网络连接和安全性。在进行更改之前,请确保你了解每条规则的作用,并在必要时备份现有的规则集。如果你不确定如何操作,建议咨询有经验的系统管理员。

0