了解如何在 Linux 中暂时禁用 iptables 防火墙来进行故障排除. 还要学习如何保存策略以及如何在启用防火墙时恢复它们.
有时你需要关闭 iptables 防火墙来做一些连接故障排除, 然后你需要重新打开它. 在执行此操作时, 你还需要保存所有防火墙策略 https://kerneltalks.com/networking/configuration-of-iptables-policies/ . 在本文中, 我们将引导你了解如何保存防火墙策略以及如何禁用 / 启用 iptables 防火墙. 有关 iptables 防火墙和策略的更多详细信息请阅读我们的文章 https://kerneltalks.com/networking/basics-of-iptables-linux-firewall/ .
保存 iptables 策略
临时禁用 iptables 防火墙的第一步是保存现有的防火墙规则 / 策略. iptables-save 命令列出你可以保存到服务器中的所有现有策略.
- root@kerneltalks # # iptables-save
- # Generated by iptables-save v1.4.21 on Tue Jun 19 09:54:36 2018
- *nat
- :PREROUTING ACCEPT [1:52]
- :INPUT ACCEPT [1:52]
- :OUTPUT ACCEPT [15:1140]
- :POSTROUTING ACCEPT [15:1140]
- :DOCKER - [0:0]
- ---- output trucated----
- root@kerneltalks # iptables-save> /root/firewall_rules.backup
因此, iptables-save 是可以用来备份 iptables 策略的命令.
停止 / 禁用 iptables 防火墙
对于较老的 Linux 内核, 你可以选择使用
service iptables stop
停止 iptables 服务, 但是如果你在用新内核, 则只需清除所有策略并允许所有流量通过防火墙. 这和你停止防火墙效果一样.
使用下面的命令列表来做到这一点.
- root@kerneltalks # iptables -F
- root@kerneltalks # iptables -X
- root@kerneltalks # iptables -P INPUT ACCEPT
- root@kerneltalks # iptables -P OUTPUT ACCEPT
- root@kerneltalks # iptables -P FORWARD ACCEPT
这里 -
-F: 删除所有策略链
-X: 删除用户定义的链
-P INPUT/OUTPUT/FORWARD
: 接受指定的流量
完成后, 检查当前的防火墙策略. 它应该看起来像下面这样接受所有流量(和禁用 / 停止防火墙一样)
- # iptables -L
- Chain INPUT (policy ACCEPT)
- target prot opt source destination
- Chain FORWARD (policy ACCEPT)
- target prot opt source destination
- Chain OUTPUT (policy ACCEPT)
- target prot opt source destination
恢复防火墙策略
故障排除后, 你想要重新打开 iptables 的所有配置. 你需要先从我们在第一步中执行的备份中恢复策略.
root@kerneltalks # iptables-restore </root/firewall_rules.backup
启动 iptables 防火墙
然后启动 iptables 服务, 以防止你在上一步中使用
service iptables start
停止了它. 如果你已经停止服务, 那么只有恢复策略才能有用. 检查所有策略是否恢复到 iptables 配置中:
- # iptables -L
- Chain INPUT (policy ACCEPT)
- target prot opt source destination
- Chain FORWARD (policy DROP)
- target prot opt source destination
- DOCKER-USER all -- anywhere anywhere
- DOCKER-ISOLATION-STAGE-1 all -- anywhere anywhere
- -----output truncated-----
就是这些了! 你已成功禁用并启用了防火墙, 而不会丢失你的策略规则.
来源: http://os.51cto.com/art/201807/577526.htm