Linux设置iptables防火墙

Linux上面一键安装包什么的,VPS控制面板什么的都用多了,感觉还是回归最初的好,命令行操作。

如果需要用到一键安装包,我已经做好了kangle的一键安装包,和amh小内存VPS的一键安装包,可以去我github上获取安装命令。

飞机票✈:https://github.com/jinfeijie/Python

关于如何搭建,百度一堆,不想找等我下次发文章吧。

这次说说配置iptables防火墙

如果已经有安装的可以用命令iptables -L -n查看已经配置好的

清除原有规则iptables -F && iptables -X && iptables -Z;

当然有的没有iptables,就需要安装一下yum install iptables

添加规则

允许本地回环接口(即运行本机访问本机)<这个最经典的就是mysql,为了防止数据库暴露在外网被人日站,又需要mysql能够使用,就需要这个规则>

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

允许访问22端口 <ssh连接一般为22端口,如果不是22,修改为自己的端口></ssh连接一般为22端口,如果不是22,修改为自己的端口>

iptables -A INPUT -p tcp --dport 22 -j ACCEPT

允许访问80端口 <一般web服务都是80端口,如果你还开启了https服务,还需要打开443端口>

iptables -A INPUT -p tcp --dport 80 -j ACCEPT

允许FTP服务的21端口

iptables -A INPUT -p tcp --dport 21 -j ACCEPT

禁止其他未允许的规则访问

iptables -A INPUT -j REJECT (注意:如果22端口未加入允许规则,SSH链接会直接断开。)
iptables -A FORWARD -j REJECT

禁止IP

服务难免会受到攻击,iptables这就发挥了他的功力,禁止IP

屏蔽单个IP的命令是

iptables -I INPUT -s 123.45.6.7 -j DROP

封整个段即从123.0.0.1到123.255.255.254的命令

iptables -I INPUT -s 123.0.0.0/8 -j DROP

封IP段即从123.45.0.1到123.45.255.254的命令

iptables -I INPUT -s 124.45.0.0/16 -j DROP

封IP段即从123.45.6.1到123.45.6.254的命令是

iptables -I INPUT -s 123.45.6.0/24 -j DROP

删除已添加的iptables规则

将所有iptables以序号标记显示,执行:

iptables -L -n --line-numbers

比如要删除INPUT里序号为8的规则,执行:

iptables -D INPUT 8

保存规则

chkconfig --level 345 iptables on

开机启动规则

service iptables save

发表评论

电子邮件地址不会被公开。 必填项已用*标注