Centos 7防火墙iptables开放指定端口(80)和设置ftp的方法
版权声明:
本文为博主原创文章,转载请声明原文链接...谢谢。o_0。
更新时间:
2017-02-25 14:28:29
温馨提示:
学无止境,技术类文章有它的时效性,请留意文章更新时间,如发现内容有误请留言指出,防止别人"踩坑",我会及时更新文章
查看开放的端口
sudo /etc/init.d/iptables status
开放指定端口
开放80端口,允许数据包从80端口进入,开放其它端口一样改成对应的数字,比如ftp21和ssh的22端口
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
保存所做的更改
sudo /etc/rc.d/init.d/iptables save
ftp的设置方法
有时候我们使用ftp的时候明明开放啦21端口但却还是连接不上,原因如下
FTP简介
ftp有 FTP主动模式和被动模式的区别
简单的说,主动模式是从服务器端向客户端发起连接;被动模式是客户端向服务器端发起连接。两者的共同点是都使用 21端口进行用户验证及管理,差别在于传送数据的方式不同,主动(PORT)模式的FTP服务器数据端口固定在20,而被动(PASV)模式则在1025-65535之间 随机。
了解ftp原理后,接下来就去设置iptables规则。我自己服务器上默认INPUT规则是DROP,OUTPUT是ACCEPT。
如上图所示连接的时候会出现20342这个端口,而这个端口在防火墙里是没有开放的所以就出错啦,而被动模式又是随机端口的我们也不可能都设置开放
我们可以设置一下接受所有状态为ESTABLISHED、RELATED的连接,就可以啦如下
sudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT