下面以建一个filter表防火墙为例:
[root@jd ~]# iptables -F #清除预设表filter中的所有规则链的规则 [root@jd ~]# iptables -X #清除预设表filter中使用者自定链中的规则
[root@jd ~]# iptables -P OUTPUT ACCEPT [root@jd ~]# iptables -P FORWARD DROP
[root@jd ~]# iptables -L –n #查看是否设置好, 看到全部 DROP 了。这条命令只是临时的, 重启服务器还是会恢复到原有规则。 [root@jd ~]# service iptables save #将规则保存在 /etc/sysconfig/iptables,使重启后也可生效。
远程SSH登录(开启22端口)
[root@jd ~]# iptables -A INPUT -p tcp --dport 22 -j ACCEPT [root@jd ~]# iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT
[root@jd ~]# iptables -A INPUT -p tcp --dport 80 -j ACCEPT
[root@jd ~]# iptables -A INPUT -p tcp --dport 110 -j ACCEPT [root@jd ~]# iptables -A INPUT -p tcp --dport 25 -j ACCEPT
[root@jd ~]# iptables -A INPUT -p tcp --dport 21 -j ACCEPT
[root@jd ~]# iptables -A INPUT -p tcp --dport 53 -j ACCEPT
[root@jd ~]# iptables -A INPUT -p tcp --dport 443-j ACCEPT
[root@jd ~]# iptables -A OUTPUT -p icmp -j ACCEPT [root@jd ~]# iptables -A INPUT -p icmp -j ACCEPT
[root@jd ~]# iptables -A INPUT -i lo -p all -j ACCEPT [root@jd ~]# iptables -A OUTPUT -o lo -p all -j ACCEPT
[root@jd ~]# iptables -A INPUT -p tcp -s 192.168.1.2 -j DROP
首先我们要知道 这条规则的编号,每条规则都有一个编号
通过 iptables -L -n --line-number 可以显示规则和相对应的编号
[root@jd ~]# iptables -L -n --line-number
num target prot opt source destination 1 DROP tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:3306 2 DROP tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:21 3 DROP tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:80
多了 num 这一列, 这样我们就可以 看到刚才的规则对应的是 编号2。那么我们就可以进行删除了。
[root@jd ~]# iptables -D INPUT 2
再 iptables -L -n 查看一下 已经被清除了。