在 Ubuntu 系统中,iptables
和 UFW
(Uncomplicated Firewall)可以协同工作,但通常情况下,建议只使用其中一个工具来管理防火墙规则,以避免冲突和混淆。UFW
是一个基于 iptables
的用户友好型前端,它简化了规则的配置和管理。
如果你已经安装了 UFW
,通常不需要直接使用 iptables
,因为 UFW
会自动处理 iptables
规则。然而,如果你需要更细粒度的控制或需要直接编辑 iptables
规则,你可以这样做。
以下是一些基本的步骤,说明如何在安装了 UFW
的情况下使用 iptables
:
查看 UFW 状态:
sudo ufw status
允许或拒绝流量:
使用 UFW
命令来允许或拒绝流量,而不是直接使用 iptables
。
sudo ufw allow 22/tcp
sudo ufw deny 80/tcp
查看 iptables 规则:
如果你需要查看当前的 iptables
规则,可以使用以下命令:
sudo iptables -L
sudo iptables -t nat -L
添加自定义 iptables 规则:
如果你需要添加自定义的 iptables
规则,可以在 UFW
启用之前这样做,或者在 UFW
禁用时这样做。
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
保存 iptables 规则:
在某些版本的 Ubuntu 中,iptables
规则在重启后不会自动保存。你可以使用 iptables-persistent
包来保存规则。
sudo apt-get install iptables-persistent
sudo netfilter-persistent save
sudo netfilter-persistent reload
禁用 UFW:
如果你需要完全控制 iptables
并且不再需要 UFW
,可以禁用 UFW
。
sudo ufw disable
重新启用 UFW:
如果你之前禁用了 UFW
并且想要重新启用它,可以使用以下命令:
sudo ufw enable
请记住,直接操作 iptables
可能会导致复杂的规则集和潜在的安全问题,特别是如果你不熟悉 iptables
的工作原理。因此,除非有充分的理由,否则建议使用 UFW
来管理防火墙规则。