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
|