首页 > 代码库 > iptables 工具
iptables 工具
iptables 工具
table name | description | operation |
filter (default) | 用于包过滤,包含 INPUT 、OUTPUT 和 FORWARD链 | ACCEPT、DROP、REJECT、LOG |
nat | 转换包的源或目的地址,包含 PREROUTING 、OUTPUT 和 POSTROUTING链 | SNAT、DNAT、MASQUERADE |
mangle | 包含一些规则来标记用于高级路由的信息包,包含 PREROUTING 、OUTPUT 链 | TOS、TTL、MARK |
列出链中的所有规则;输出格式不同
插入一条规则,I此规则会作为链的第一条规则;A则会在最后一条
-D <CHAIN> N, -D <CHAIN>
删除一条规则,可以明确指明规则内容,也可以用N指出链中的第N条
-F <CHAIN>, -Z <CHAIN>
F清除链中的所有规则,不指明链,则清除所有链;Z则是只清除计数器,不清除规则
-P <CHAIN>
指定某条链的默认动作,ACCEPT、DROP或REJECT等
rules 匹配的包规则,同一条规则里的多个条件是“与”的关系,比如:
-p, --protocol
协议匹配,如 -p tcp
-s, --src, --source
来源匹配,如 -s 202.108.37.49
-d, --dst, --destination
目的匹配,如 -d 172.16.115.117
-i, --in-interface
入网卡接口匹配,如 -i eth0
-o, --out-interface
出网卡接口匹配,如 -o eth1
--sport, --source-port
来源端口匹配(tcp或udp),如 --sport 80;也可以用端口范围,如 --sport 135:139
--dport, --destination-port
目的端口匹配(tcp或udp),如 --dport 80;同样支持端口范围
--tcp-flags
tcp状态匹配,如 --tcp-flags RST RST
-m mac --mac-source
mac地址匹配,如 -m mac --mac-source 00:1E:C9:B0:53:D2
-m multiport --source-port , --destination-port
多端口匹配,如-m multiport --destination-port 80,443
-m iprange
简单的指定ip范围。用--src-range或--dst-range匹配,如 -m iprange --src-range 192.168.1.33-192.168.1.50
-m time
指定匹配时间(UTC),可以使用--datestart、--datestop、--timestart或--timestop等参数。如 -m time --datestart 2014-01-01T00:00:00 --datestop 2014-12-31T23:59:59 。注意时间是UTC时间。
ACCEPT: 接收信息包(允许它前往目的地),并且将停止遍历chain;
DROP: 默默丢弃包(对方不知道);
此外还有, RETURN, LOG, REDIRECT, MARK, MIRROR, MAQUERADE等。
丢弃RST包
iptables -I INPUT -p tcp --sport 80 --tcp-flags RST RST -j DROP