centos6云主机使用iptables防火墙的方法:1、打开centos6云主机终端控制台;2、输入“yum install -t iptables”命令安装iptables防火墙;3、安装iptables防火墙成功后,设置防火墙规则便可。
下面是详细介绍:
我们需要先准备好一台部署CentOS 6的云主机,并确保可以用root账户登录系统。
第一步:计划iptables规则
在本文的演示环境中,这台云主机将提供网站服务,不提供其他服务,诸如FTP、邮件、IRC等。我们计划的需要开启的服务、协议和端口以下表,除此以外全部屏蔽。
服务 | 协议 | 端口 |
---|---|---|
HTTP | TCP | 80 |
HTTPS | TCP | 443 |
SSH | TCP | 22 |
NTP | TCP | 123 |
DNS | TCP & UDP | 53 |
Ping | ICMP | All |
正如上文所述,iptables是由一系列的规则来控制网络访问的。当网络数据包发送到云主机上时,iptables将会顺次依照这些规则来检测并处理数据包。如果满足某条规则,其他规则将被略过。如果没有满足任何规则,则使用iptables的默许规则来处理。
网络数据包分为三类:INPUT、OUTPUT、FORWARD。对这三类数据包,我们将采取区分的处理方式,这也作为iptables的默许规则使用。
-
INPUT:流入数据包多是安全的,也多是有害的,因此需要不同对待。
-
OUTPUT:流出数据包通常认为是安全的,因此设置为接受。
-
FORWARD:转发数据包一般没有用途,因此设置为抛弃。
第二步:创建iptables规则
好了,下面我们就根据计划来设置iptables防火墙规则。以下命令都是用root账户登录系统后履行的,请确保登录账户有root权限。
查看当前规则:
iptables-L-n
清空当前规则:
iptables-F;iptables-X;iptables-Z
谢绝来自127.0.0.0/8的流量,除loopback(回环流量)以外:
iptables-AINPUT-ilo-jACCEPTiptables-AINPUT-d127.0.0.0/8-jREJECT
禁止一些常见的攻击:
iptables-AINPUT-ptcp!--syn-mstate--stateNEW-jDROPiptables-AINPUT-ptcp--tcp-flagsALLNONE-jDROP
iptables-AINPUT-ptcp--tcp-flagsALLALL-jDROP
接受所有已建立的流入连接:
iptables-AINPUT-mstate--stateESTABLISHED,RELATED-jACCEPT
接受HTTP和HTTPS连接:
iptables-AINPUT-ptcp--dport80-jACCEPTiptables-AINPUT-ptcp--dport443-jACCEPT
接受SSH连接:
iptables-AINPUT-ptcp--dport22-jACCEPT
接受NTP连接:
iptables-AINPUT-pudp--dport123-jACCEPT
接受DNS要求:
iptables-AINPUT-pudp--dport53-jACCEPTiptables-AINPUT-ptcp--dport53-jACCEPT
允许Ping:
iptables-AINPUT-picmp--icmp-typeecho-request-jACCEPT
最后,设置iptables默许规则:
iptables-PINPUTDROPiptables-POUTPUTACCEPT
iptables-PFORWARDDROP
第三步:保存iptables规则
需要注意的是,虽然以上设置都是即时生效的,但并不是永久有效。如果没有保存,一旦系统重启后,规则将会失效。因此我们还需要把刚才设置好的规则保存到云主机硬盘中。保存iptables的规则是:
serviceiptablessave
iptables的规则将被保存到/etc/sysconfig/iptables文件中,你可以直接查看或修改这个文件。
cat/etc/sysconfig/iptables
我被锁在外面了,如何解决?
由于iptables的规则都是即时生效的,所以我们一旦设置毛病,就有可能把自己锁在外面,没法远程管理云主机了,如何解决呢?有两种解决办法。
-
如果你还没保存iptables规则,那很简单,只要到丸子建站管理中心=》业务管理=》云主机管理中,履行重启云主机便可。
-
如果你已保存了iptables规则,别忘了还可以通过控制台管理云主机。打开丸子建站管理中心=》业务管理=》云主机管理=》控制台,输入用户名和密码进入系统后,履行iptables -F命令,清空所有iptables规则,就能够远程进入系统了。
本文来源:https://www.yuntue.com/post/219252.html | 云服务器网,转载请注明出处!