抱歉,这是一个愚蠢的问题,但是为了通过我们的防火墙获取出站主动 FTP 连接,我们需要运行以下命令:
sudo modprobe ip_conntrack_ftp
我从http://major.io/2007/07/01/active-ftp-connections-through-iptables/
在那篇文章中它说要坚持我应该补充
IPTABLES_MODULES="ip_conntrack_ftp"
到/etc/sysconfig/iptables-config
但我不确定这是否适合 Ubuntu,我应该添加ip_conntrack_ftp
到底部/etc/modules
吗?
谢谢。
答案1
是的,你可以添加ip_conntrack_ftp
到/etc/modules
。请注意,你不必输入 modprobe 命令,只需输入内核模块的名称!
答案2
请注意,如果您使用非标准/自定义 ftp 端口,则只需将其添加ports=<portnumber>
到行尾即可。
举一个具体的例子,HylaFax 使用 FTP 协议工作,使用端口 4559 作为控制端口开始连接,然后打开被动 FTP 端口,谁知道在哪里。对于自定义 FTP 端口 4559,您所要做的就是在sudo vi /etc/modules
文件末尾添加一个新行ip_conntrack_ftp ports=4559
。
重新启动就可以了!
如果您有多个 ftp 服务,您也可以这样做ports=21,4559
。
为了实现此功能,您还需要相应的IPTABLES
规则:
-A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT -A INPUT -p tcp -m tcp --dport 4559 -j ACCEPT