iptables 的配置(验证、激活服务、允许 FTP)

iptables 的配置(验证、激活服务、允许 FTP)

我正在 Xubuntu 中试验 IPT(iptables)。

第一个实验是允许所有 OUTPUT 流量并阻止所有 INPUT(除了已经存在的 TCP 连接),有人可以验证这些是否正确吗

在此处输入图片描述

为了更进一步,我尝试允许 als TCP 连接到工作站上的活动服务。我的想法是进行 nmap 扫描并 grep 监听/打开的端口,但我可能想得太多了。

最后,我尝试允许 FTP。
我使用此附加规则来允许 FTP,但似乎仍然被阻止

sudo iptables -A INPUT -p tcp --dport 21 -m state --state NEW,ESTABLISHED -j ACCEPT

答案1

FTP 有点奇怪,因为它允许端口 21 上的入站流量和端口 20 上的出站流量:

sudo iptables -A INPUT -p tcp --dport 21 -j ACCEPT
sudo iptables -A OUTPUT -p tcp --sport 20 -j ACCEPT

此外,ftp 将使用随机的更高端口。要允许此功能,您需要在启动时加载 ip_conntrack_ftp 模块。取消注释并修改 /etc/sysconfig/iptables-config 文件中的 IPTABLES_MODULES 行以读取

IPTABLES_MODULES="ip_conntrack_ftp"

您仍然需要一种方法来保存您的 iptables 配置并在启动时恢复它。Ubuntu 没有简单的方法来做到这一点。基本上,您可以使用/etc/rc.local或禁用 NetworkManager 并使用网络脚本。

首先保存您的规则:

sudo iptables-save /etc/iptables.save

方法 1:编辑/etc/rc.local并添加行

iptables-restore /etc/iptables.save

方法 2: 编辑/etc/network/interfaces并使用“post-up”来启动我们的 iptables 规则。

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet dhcp
post-up /sbin/iptables-restore /etc/iptables.save

然后重新启动。

首选方法可能是使用 UFW

sudo ufw allow ftp

UFW 是 Ubuntu 的 fedault 工具,使用与 iptables 非常相似的语法,并在重启时启用和恢复。

看:

https://serverfault.com/questions/38398/allowing-ftp-with-iptables

http://slacksite.com/other/ftp.html

http://bodhizazen.com/Tutorials/iptables

https://help.ubuntu.com/community/UFW

答案2

如果你是 iptables 新手,你可能想要使用海湾战争或者联邦快递最初设置规则。您可以使用“允许传入 ftp”等简单规则,而不必了解所有特殊标志才能使其工作。它们还允许您在需要时设置高级规则。

ufw 和 gufw 都在后台创建 iptables 规则。

相关内容