ubuntu

Ubuntu iptables如何添加新的规则

小樊
43
2025-05-23 17:48:04
栏目: 智能运维

在 Ubuntu 系统中,iptables 是一个用于配置内核防火墙(netfilter)规则的命令行工具。要添加新的 iptables 规则,你可以使用 iptables 命令及其各种选项。以下是一些基本步骤和示例,帮助你添加新的规则:

1. 查看当前的 iptables 规则

在添加新规则之前,建议先查看当前的规则,以确保不会意外覆盖或冲突现有的规则。

sudo iptables -L -n -v

2. 添加新的 iptables 规则

允许特定 IP 地址访问

例如,允许 IP 地址 192.168.1.100 访问你的服务器:

sudo iptables -A INPUT -s 192.168.1.100 -j ACCEPT

允许特定端口访问

例如,允许 TCP 端口 80(HTTP)和 443(HTTPS)的流量:

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

拒绝特定 IP 地址访问

例如,拒绝 IP 地址 192.168.1.101 访问你的服务器:

sudo iptables -A INPUT -s 192.168.1.101 -j DROP

允许特定协议访问

例如,允许 ICMP(ping)请求:

sudo iptables -A INPUT -p icmp -j ACCEPT

3. 保存 iptables 规则

默认情况下,iptables 规则在系统重启后会丢失。为了使规则在重启后仍然有效,你需要保存规则。

使用 iptables-persistent 保存规则

Ubuntu 提供了一个名为 iptables-persistent 的包,可以用来保存和恢复 iptables 规则。

  1. 安装 iptables-persistent

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

    在安装过程中,系统会提示你是否保存当前的 iptables 规则。选择“是”。

  2. 手动保存规则:

    sudo netfilter-persistent save
    sudo netfilter-persistent reload
    

4. 删除 iptables 规则

如果你需要删除某个规则,可以使用 iptables -D 命令。例如,删除之前添加的允许 192.168.1.100 访问的规则:

sudo iptables -D INPUT -s 192.168.1.100 -j ACCEPT

注意事项

通过以上步骤,你应该能够在 Ubuntu 系统中成功添加新的 iptables 规则。

0
看了该问题的人还看了