默认防火墙状态:
[root@localhost ~]# iptables -nL
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
ACCEPT icmp -- 0.0.0.0/0 0.0.0.0/0
ACCEPT all -- 0.0.0.0/0 0.0.0.0/0
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:22
REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited
Chain FORWARD (policy ACCEPT)
target prot opt source destination
REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
为验证放行ftp必需规则,暂把INPUT表设为默认DROP(详细验证步骤就不演示了)
然后逐步增加规则
测试:
[root@nginx1 ~]# lftp 192.168.3.11
lftp 192.168.3.11:~> ls
drwxr-xr-x 2 0 0 6 Oct 30 2018 pub
总结:
放行FTP只需如下几步:
1,.加载内核模块:
[root@localhost ~]# modprobe nf_conntrack_ftp
2.放行20&21端口:
[root@localhost ~]# iptables -I INPUT -p tcp -m multiport --dports 20,21 -j ACCEPT
3.放行状态为related&established的tcp包:
[root@localhost ~]# iptables -I INPUT -p tcp -m state --state related,established -j ACCEPT