清空当前所有的规则:
[root@t6 ~]# iptables -F [root@t6 ~]# iptables -X [root@t6 ~]# iptables -Z [root@t6 ~]# iptables -L -n Chain INPUT (policy ACCEPT) target prot opt source destination Chain FORWARD (policy ACCEPT) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination
1.配置允许SSH:
[root@t6 ~]# iptables -A INPUT -p tcp -s 192.168.16.0/24 -j ACCEPT
工作中用的更多的是IP地址控制,端口控制如下:
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
2.设置允许本机lo通信规则:
[root@t6 ~]# iptables -A INPUT -i lo -j ACCEPT [root@t6 ~]# iptables -A OUTPUT -o lo -j ACCEPT
3.设置默认的防火墙禁止和允许规则:
INPUT和FORWARD默认都是DROP,OUTPUT默认ACCEPT
[root@t6 ~]# iptables -A OUTPUT -o lo -j ACCEPT [root@t6 ~]# iptables -P INPUT DROP [root@t6 ~]# iptables -P FORWARD DROP [root@t6 ~]# iptables -P OUTPUT ACCEPT [root@t6 ~]# iptables -L -n Chain INPUT (policy DROP) target prot opt source destination ACCEPT tcp -- 192.168.16.0/24 0.0.0.0/0 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 Chain FORWARD (policy DROP) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 [root@t6 ~]#
4.开启信任的IP网段:
包括:办公室网段,IDC机房的内网网段,其它机房的内网网段(同属一个局域网),IDC机房的外网网段,其它IDC机房的外网网段
[root@t6 ~]# iptables -A INPUT -p tcp -s 192.168.1.0/24 -j ACCEPT
5.允许业务服务端口对外访问,以web服务的80端口为例:
[root@t6 ~]# iptables -A INPUT -p tcp --dport 80 -j ACCEPT
6.允许关联的状态包通过:(例:ftp21端口请求,20端口提供数据访问,也要允许)
[root@t6 ~]# iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT [root@t6 ~]# iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
7.允许icmp类型协议通过:(如不想开,可不执行)
[root@t6 ~]# iptables -A INPUT -p icmp -m icmp --icmp-type any -j ACCEPT
如果对内部开:
iptables -A INPUT -p icmp -s 192.168.1.0/24 -m icmp --icmp-type any -j ACCEPT
保存以上配置:
cp /etc/sysconfig/iptables /etc/sysconfig/iptables.ori ##备份以前的
/etc/init.t/iptables save ###将以上刚刚设置的规则,保存到配置文件中。