云服务器centos配置iptables规则

如果没有安装iptables,请跳转安装iptables

iptables安装好后就可以来配置规则了。由于作为web服务器来使用,所以对外要开放 80 端口,另外肯定要通过ssh进行服务器管理,22 端口也要对外开放,当然最好是把ssh服务的默认端口改掉,在公网上会有很多人试图破解密码的,如果修改端口,记得要把该端口对外开发,否则连不上就悲剧了。下面提供配置规则的详细说明:

1、清空所有规则

云服务器直接执行iptables -F 会导致远程连接断开,防止悲剧发生请先执行iptables -P INPUT ACCEPT !

防止悲剧发生
/sbin/iptables -P INPUT ACCEPT
清空所有规则
/sbin/iptables -F
/sbin/iptables -X
计数器置0
/sbin/iptables -Z

2、设置规则

允许来自于lo接口的数据包,如果没有此规则,你将不能通过127.0.0.1访问本地服务,例如ping 127.0.0.1
iptables -A INPUT -i lo -j ACCEPT 

开放TCP协议22端口,以便能ssh,如果你是在有固定ip的场所,可以使用 -s 来限定客户端的ip
iptables -A INPUT -p tcp --dport 22 -j ACCEPT

开放TCP协议80端口供web服务
iptables -A INPUT -p tcp --dport 80 -j ACCEPT

有其他内网服务器之间通信,所以要接受所有来自192.168.16.66的TCP请求
iptables -A INPUT -p tcp -s 192.168.16.66 -j ACCEPT

接受ping
iptables -A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT

此规则参看:http://www.netingcn.com/iptables-localhost-not-access-internet.html
iptables -A INPUT -m state --state ESTABLISHED -j ACCEPT

屏蔽上述规则以为的所有请求,不可缺少,否则防火墙没有任何过滤的功能
iptables -P INPUT DROP

可以使用 iptables -L -n 查看规则是否生效

3、保存iptables配置

至此防火墙就算配置好,但是这是临时的,当重启iptables或重启机器,上述配置就会被清空,要想永久生效,还需要如下操作:

/etc/init.d/iptables save 
或
service iptables save
 
执行上述保存命令后,可以在文件 /etc/sysconfig/iptables 中看到配置

4、提供一个干净的配置脚本

执行每行即可。

iptables -P INPUT ACCEPT
iptables -F
iptables -X
iptables -Z
 
iptables -A INPUT -i lo -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 -s 192.168.16.66 -j ACCEPT
iptables -A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED -j ACCEPT
iptables -P INPUT DROP

最后执行 service iptables save ,先确保ssh连接没有问题,防止规则错误,导致无法连上服务器。如果没有save,重启服务器规则都失效,否则就只有云控制台VNC连接才能修改规则了。

© 版权声明
THE END
喜欢就支持一下吧
点赞0赞赏
分享
评论 抢沙发