在 Ubuntu 中,使用 iptables 命令管理防火墙规则。要删除旧的规则,您需要首先列出所有当前的规则,然后找到要删除的规则,最后使用 iptables 命令删除它。
以下是一些基本步骤:
iptables 规则:sudo iptables -L -n -v
这将显示所有链(INPUT、OUTPUT 和 FORWARD)中的规则。-n 选项以数字形式显示地址和端口,-v 选项提供详细信息。
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
100 8000 DROP tcp -- * * 192.168.1.100 0.0.0.0/0 tcp dpt:80
请记下要删除的规则的详细信息。
iptables 命令删除规则。根据上一步找到的规则信息,构建一个删除规则的命令。例如,要删除上面显示的规则,请运行:sudo iptables -D INPUT -p tcp -s 192.168.1.100 --dport 80 -j DROP
这里,-D 选项表示删除规则,INPUT 是链名,-p tcp 表示协议为 TCP,-s 192.168.1.100 表示源地址为 192.168.1.100,--dport 80 表示目标端口为 80,-j DROP 表示目标动作为 DROP。
注意:在执行这些命令时,请确保您具有 root 权限,因为 iptables 命令需要 root 权限才能修改防火墙规则。
iptables-persistent 软件包来保存和加载规则:sudo apt-get install iptables-persistent
安装过程中,它会询问您是否要保存当前的活动规则。选择“是”,然后按照提示操作。这样,您的规则将在系统重启后自动加载。