在Linux服务器上安装ftp并为用户提供上传下载是非常有用的,但如果服务器
打开iptables防火墙后,对ftp端口进行一些设置。
我以前也制作过允许iptables访问某个端口的视频,为什么要演示ftp端口?
ftp端口真的很特殊,所以不是80、22这样的端口。
分为连接用端口和用智能唇上传下载文件的传输数据用端口。
现在,让我们一边示范它是多么特别。
netstat -tnl命令显示正在运行ftp服务。
TCP 00.0.0.0:210.0.0.0: * listen
[ root @ localhost root ] # iptables-l-n
通道输入(策略滴)。
目标打印输出源目标
accept TCP0.0.0.0/0.0.0.0.0/0 tcpd pt :22
chain forward (策略滴) )。
目标打印输出源目标
chain output (策略滴) )。
目标打印输出源目标
accept TCP0.0.0.0/0.0.0.0.0/0 TCP SPT :22
这里现在只允许22端口的访问。
现在开始设定ftp端口。 根据以前的视频,添加需要打开的端口
ftp连接端口有两个21和20个端口。 现在添加对应的规则。
[ root @ localhost root ] # iptables-a input-ptcp-dport 21-j accept
[ root @ localhost root ] # iptables-a input-ptcp-dport 20-j accept
[ root @ localhost root ] # iptables-a output-ptcp-sport 21-j accept
[ root @ localhost root ] # iptables-a output-ptcp-sport 20-j accept
是的,追加到此结束。 让我们在浏览器中访问ftp。 发生了超时。
我说ftp是比较特殊的端口,但是也有数据传输端口。
例如,目录列表、上载和下载文件使用这些端口。
这些端口是任意端口。 这个任意真的很特殊。
如果不指定端口范围,iptables很难向任意端口开放
如果iptables允许访问任何端口,这是不现实的,因为这与不安装防火墙没有区别。
解决方案是指定此数据传输端口的范围。
更改ftp配置文件吧。
这里使用vsftpd修改演示。 因为不知道在哪里修改其他的ftp,所以请试着找一下资料。
[ root @ localhost root ] # VI/etc/vsftpd.conf
添加到配置文件底部
pasv_min_port=30001
pasv_max_port=31000
然后保存并退出。
这两个词的意思是vsftpd表示传输数据的端口范围在30001到31000的范围内传输。
这样使用iptables就方便了。 打开30001到31000之间的端口。
[ root @ localhost root ] # iptables-a input-ptcp-dport 30001336031000-j accept
[ root @ localhost root ] # iptables-a output-ptcp-sport 30001336031000-j accept
[ root @ localhost root ] # serviceiptablessave
或:
iptables-save/etc/sys config/iptables