iptables 命令

原文链接

查看iptables当前规则

#iptables -L -n

建立规则
#iptables -A INPUT -s xxx.xxx.xxx.xx  -p tcp --dport 80 -j DROP

移除规则
#iptables -D INPUT -s xxx.xxx.xxx.xx  -p tcp --dport 80 -j DROP

常用操作命令: 

-A 或 -append 在所选链尾加入一条或多条规则 

-D 或 -delete 在所选链尾部删除一条或者多条规则 

-R 或 -replace 在所选链中替换一条匹配规则 

-I 或 -insert 以给出的规则号在所选链中插入一条或者多条规则. 如果规则号为1,即在链头部. 

-L 或 -list 列出指定链中的所有规则,如果没有指定链,将列出链中的所有规则. 

-F 或 -flush 清除指定链和表中的所由规则, 假如不指定链,那么所有链都将被清空. 

-N 或 -new-chain 以指定名创建一条新的用户自定义链,不能与已有链名相同. 

-X 或 -delete-chain 删除指定的用户定义帘,必需保证链中的规则都不在使用时才能删除,若没有指定链,则删除所有用户链. 

-P 或 -policy 为永久帘指定默认规则(内置链策略),用户定义帘没有缺省规则,缺省规则也使规则链中的最后一条规则,用-L显示时它在第一行显示. 

-C 或 -check 检查给定的包是否与指定链的规则相匹配. 

-Z 或 -zero 将指定帘中所由的规则包字节(BYTE)计数器清零. 

-h 显示帮助信息.

 

 

设置链的默认策略。一般有两种方法。

1)首先允许所有的包,然后再禁止有危险的包通过放火墙。

#iptables -P INPUT ACCEPT

#iptables -P OUTPUT ACCEPT

#iptables -P FORWARD ACCEPT

2)首先禁止所有的包,然后根据需要的服务允许特定的包通过防火墙。

#iptables -P INPUT DROP

#iptables -P OUTPUT DROP

#iptables -P FORWARD DROP

 

 

添加规则
# iptables -A INPUT -p tcp –dport 22 -j ACCEPT
# iptables -A OUTPUT -p tcp –sport 22 -j ACCEPT
开启22端口, 允许SSH登录

 

如开启80端口:
# iptables -A INPUT -p tcp –dport 80 -j ACCEPT
# iptables -A OUTPUT -p tcp –sport 80 -j ACCEPT

 

禁止某个IP访问
# iptables -I INPUT -s x.x.x.x -j DROP

 

也可进行更细致的设置, 如只允许192.168.1.14的机器进行SSH连接:
# iptables -A INPUT -p tcp –dport 22 -s 192.168.1.14 -j ACCEPT

如果要允许或限制一段IP地址可用192.168.1.0/24 表示192.168.1.1-255端的所有IP.

 

防止同步包洪水(Sync Flood)
# iptables -A FORWARD -p tcp –syn -m limit –limit 1/s -j ACCEPT

 

防止各种端口扫描
# iptables -A FORWARD -p tcp –tcp-flags SYN,ACK,FIN,RST RST -m limit –limit 1/s -j ACCEPT

 

Ping 洪水攻击(Ping of Death)
# iptables -A FORWARD -p icmp –icmp-type echo-request -m limit –limit 1/s -j ACCEPT

 

 

重启防火墙:

service iptables restart

posted @ 2012-04-19 14:29  wangkangluo1  阅读(1364)  评论(0编辑  收藏  举报