如题,昨天晚上我配置了一下iptables,配置如下:
iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 21 -j ACCEPT
iptables -A INPUT -p tcp --dport 20 -j ACCEPT
iptables -A INPUT -j REJECT
iptables -A FORWARD -j REJECT但是FTP被动模式下用客户端连接到服务器,列目录失败。提示SOCKET错误。
请问iptables的规则如何设置使FTP被动模式可用?
-------------------------
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 20000:21000 -j ACCEPT
pureftpd使用的Passive端口一般为20000 - 21000 之间,你开放了就可以了的!
-------------------------
-------------------------
-------------------------
-------------------------
-------------------------
[右] 数据 Socket 错误: 连接已超时
[右] 列表 错误
-------------------------
找到解决方案了,加载以下几个模块即可:
modprobe ip_nat_ftp
modprobe ip_conntrack
modprobe ip_conntrack_ftp
然后把这几个模块设为自动加载:
修改/etc/sysconfig/iptables-config
把IPTABLES_MODULES="ip_conntrack_netbios_ns" 改为
IPTABLES_MODULES="ip_conntrack_netbios_ns ip_nat_ftp ip_conntrack ip_conntrack_ftp"
-------------------------
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。