linux

位置:IT落伍者 >> linux >> 浏览文章

解决Linuxiptables防火墙和vsftpd的疑问


发布日期:2022年06月07日
 
解决Linuxiptables防火墙和vsftpd的疑问

最近在研究Linux下Firewall的配置发现配置好防火墙以后ftp就有问题了一直都不能够用Filezilla 和 CuteFTP登录在列出目录的时候一直会失败但是在命令行下面如果先执行passive off一切正常

答案在CU上找到的主要是要使用 ip_conntrack_ftp

/bbs/viewthreadphp?tid=>

原文

使用 P INPUT DROP 引起的网路存取正常但是 ftp 连入却失败?

依据前面介绍方式只有开放 ftp port 服务其他都禁止的话一般会配置使用

iptables P INPUT DROP

iptables A INPUT m state state ESTABLISHED j ACCEPT

iptables A INPUT p tcp dport j ACCEPT

iptables P INPUT DROP

iptables A INPUT m state state ESTABLISHED j ACCEPT

iptables A INPUT p tcp dport j ACCEPT

这样的配置确认 ftp 用户端是可以连到 ftp 主机并且看到欢迎登入画面不过后续要浏览档案目录清单与档案抓取时却会发生错误

ftp 协定本身于 data channnel 还可以区分使用 active mode 与 passive mode 这两种传输模式而就以 passive mode 来说最后是协议让 ftp client 连结到 ftp server 本身指定于大于 port 的连接埠传输资料

这样配置在 ftp 传输使用 active 可能正常但是使用 passive mode 却发生错误其中原因就是因为该主机firewall 规则配置不允许让 ftp client 连结到 ftp server 指定的连结埠才引发这个问题

要解决该问题方式于 iptables 内个名称为 ip_conntrack_ftp 的 helper可以针对连入与连外目的 port 为 的 ftp 协定命令沟通进行拦截提供给 iptables 设定 firwewall 规则的配置使用开放做法为

modprobe ip_conntrack_ftp

iptables P INPUT DROP

iptables A INPUT m state state ESTABLISHEDRELATED j ACCEPT

iptables A INPUT i lo j ACCEPT

iptables A INPUT p tcp dport j ACCEPT

modprobe ip_conntrack_ftp

iptables P INPUT DROP

iptables A INPUT m state state ESTABLISHEDRELATED j ACCEPT

iptables A INPUT i lo j ACCEPT

iptables A INPUT p tcp dport j ACCEPT

其中 m state 部分另外多了 RELATED 的项目该项目也就是状态为主动建立的封包不过是因为与现有 ftp 这类连线架构会引发另外才产生的主动建立的项目

不过若是主机 ftp 服务不在 port 的话请使用下列方式进行调整

CODE:

modprobe ip_conntrack_ftp ports=

iptables P INPUT DROP

iptables A INPUT m state state ESTABLISHEDRELATED j ACCEPT

iptables A INPUT i lo j ACCEPT

iptables A INPUT p tcp dport j ACCEPT

iptables A INPUT p tcp dport j ACCEPT

modprobe ip_conntrack_ftp ports=

iptables P INPUT DROP

iptables A INPUT m state state ESTABLISHEDRELATED j ACCEPT

iptables A INPUT i lo j ACCEPT

iptables A INPUT p tcp dport j ACCEPT

iptables A INPUT p tcp dport j ACCEPT

也就是主机本身提供 ftp 服务分别在 port 让 ip_conntrack_ftp 这个 ftp helper 能够正常提供 ftp 用户端使用 passive mode 存取而不会产生问题

上一篇:Linux网络性能调试工具Tcpdump命令篇

下一篇:LinuxSambauser共享方式配置方法体验