iptables 规则速查

发表于:2007-07-04来源:作者:点击数: 标签:
iptables的命令规则速查,没有为了方便 iptables -A INPUT -p TCP --dport 22 -j ULOG --ulog-nlgroup 2 iptables -A INPUT -p TCP --dport 22 -j ULOG \ --ulog-prefix SSH connection attempt: iptables -A INPUT -p TCP --dport 22 -j ULOG --ulog-cprang

iptables的命令规则速查,没有为了方便

iptables -A INPUT -p TCP --dport 22 -j ULOG --ulog-nlgroup 2
iptables -A INPUT -p TCP --dport 22 -j ULOG \
         --ulog-prefix "SSH connection attempt: "
iptables -A INPUT -p TCP --dport 22 -j ULOG --ulog-cprange 100
iptables -A INPUT -p TCP --dport 22 -j ULOG --ulog-qthreshold 10

通用匹配:

! 表取反

options: -p, --protocol
example: iptables -A INPUT -p tcp
comment: 不分大小写,缺省ALL。[协议列表: -p tcp,udp,icmp;取反: -p ! tcp]

options: -s, --src, --source
example: iptables -A INPUT -s 192.168.1.1
comment: 单个,如192.168.1.1或192.168.1.1/255.255.255.255或192.168.1.1/32
         网络,如192.168.0.0/24或192.168.0.0/255.255.255.0

options: -d, --dst, --destination
example: iptables -A INPUT -d 192.168.1.1
comment: 同 -s

options: -i, --in-interface
example: iptables -A INPUT -i eth0
comment: 只能用于INPUT,FORWARD, PREROUTING这三个链。
         接口名称,如:eth0、ppp0等。
         通配符+,-i + 匹配所有的包。-i eth+ 所有Ethernet接口。

options: -o, --out-interface
example: iptables -A FORWARD -o eth0
comment: 同 -i

options: -f, --fragment
example: iptables -A INPUT ! -f
comment: 用来匹配一个被分片的包的第二片或及以后的部分。(注意碎片攻击)


TCP 匹配:

options: --sport, --source-port
example: iptables -A INPUT -p tcp --sport 22
comment: 默认所有端口。连续端口 22:80,80:22,[0]:80,22:[65535], ! 22:80

options: --dport, --destination-port
example: iptables -A INPUT -p tcp --dport 22
comment: 默认所有端口。连续端口 22:80,80:22,[0]:80,22:[65535], ! 22:80

options: --tcp-flags
example: iptables -p tcp --tcp-flags SYN,FIN,ACK SYN
comment: --tcp-flags ALL NONE匹配所有标记都未置1的包。


UDP 匹配:

options: --sport, --source-port
example: iptables -A INPUT -p udp --sport 22
comment: 同 tcp

options: --dport, --destination-port
example: iptables -A INPUT -p udp --dport 22
comment: 同 tcp

ICMP匹配:

options: --icmp-type
example: iptables -A INPUT -p icmp --icmp-type 8
comment: iptables --protocol icmp --help 查看类型


显式匹配:

iptables -A INPUT -m limit --limit 3/hour
iptables -A INPUT -m limit --limit-burst 5

iptables -A INPUT -m mac --mac-source 00:00:00:00:00:01

iptables -t mangle -A INPUT -m mark --mark 1

iptables -A INPUT -p tcp -m multiport --source-port 22,53,80,110
iptables -A INPUT -p tcp -m multiport --destination-port 22,53,80,110
iptables -A INPUT -p tcp -m multiport --port 22,53,80,110

iptables -A OUTPUT -m owner --uid-owner 500
iptables -A OUTPUT -m owner --gid-owner 0
iptables -A OUTPUT -m owner --pid-owner 78
iptables -A OUTPUT -m owner --sid-owner 100

iptables -A INPUT -m state --state RELATED,ESTABLISHED

iptables -A INPUT -p tcp -m tos --tos 0x16
iptables -A OUTPUT -m ttl --ttl 60


目标和动作:

iptables -N tcp_packets
iptables -A INPUT -p tcp -j tcp_packets

iptables -A INPUT -p tcp -j ACCEPT
iptables -A INPUT -p tcp -j DROP

iptables -t nat -A PREROUTING -p tcp -d 15.45.23.67 --dport 80 \
         -j DNAT --to-destination 192.168.1.1-192.168.1.10

iptables -A FORWARD -p tcp -j LOG --log-level debug
iptables -A INPUT   -p tcp -j LOG --log-prefix "INPUT packets"
iptables -A INPUT   -p tcp -j LOG --log-tcp-sequence
iptables -A FORWARD -p tcp -j LOG --log-tcp-options
iptables -A FORWARD -p tcp -j LOG --log-ip-options

iptables -t mangle -A PREROUTING -p tcp --dport 22 -j MARK --set-mark 2

iptables -t nat -A POSTROUTING -p TCP -j MASQUERADE --to-ports 1024-31000

iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 8080

iptables -A FORWARD -p TCP --dport 22 -j REJECT --reject-with tcp-reset

iptables -t nat -A POSTROUTING -p tcp -o eth0 -j SNAT \
         --to-source 194.236.50.155-194.236.50.160:1024-32000

iptables -t mangle -A PREROUTING -p TCP --dport 22 -j TOS --set-tos 0x10

iptables -t mangle -A PREROUTING -i eth0 -j TTL --ttl-set 64
iptables -t mangle -A PREROUTING -i eth0 -j TTL --ttl-dec 1
iptables -t mangle -A PREROUTING -i eth0 -j TTL --ttl-inc 1

iptables -A INPUT -p TCP --dport 22 -j ULOG --ulog-nlgroup 2
iptables -A INPUT -p TCP --dport 22 -j ULOG \
         --ulog-prefix "SSH connection attempt: "
iptables -A INPUT -p TCP --dport 22 -j ULOG --ulog-cprange 100
iptables -A INPUT -p TCP --dport 22 -j ULOG --ulog-qthreshold 10

参考文献:


  • Iptables homepage
  • Iptables Tutorial 1.1.19(en)
  • Iptables Tutorial 1.1.19(cn)
  • Iptables Tutorial 1.1.19(en)[本地保存副本,Mar,2005]
  • Iptables Tutorial 1.1.19(cn)[本地保存副本,Mar,2005]

原文转自:http://www.ltesting.net