语法:iptables [-t table] {-A|-C|-D} chain rule-specification
-t可用来指定表,默认为filter表,可用选项有:
filter 默认使用的表,书写规划时,可不用指定,针对链INPUT,FORWARD,OUTPUT链有效
nat 主要用于做SNAT(源地址转换),DNAT(目标地址转换),针对链 PREROUTING,POSTROUTING和OUTPUT链,SNAT主要用于POSTROUTING,DNAT主要用于PREROUTING
mangle主要用于做标记,在五个常用链中均可以使用
raw链用于连接跟踪
security主要用于安全访问控制
OPTION:选项
-A 指的是append,将该规则附加到插入链的最后一条
-C 检查某条链是否存在于iptables中
-D 删除指定的链,删除INPUT链第5条:iptalbes -D INPUT 5
iptables -L -n --line-numbers:以数字格式显示iptables表条目
-I insert 插入一条规则,可以指定插入规则的号码,默认插入行首,比如在第2条插入一条规则:
iptables -I INPUT 2 -d 192.168.0.101 -p tcp --dport 22 -j ACCEPT
-R replace 修改指定的规则为自己设定的新规则,即删除后在同样的位置新增一条
iptables -R INPUT 2 -d 192.168.0.101 -p tcp --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT
-L [chain] list列出iptables指定的链,如不指定链,则列出全部链
-F [chain] flush清空指定的链,如不指定,则清空所有规划
参数:parameters
-4 IPV4
-6 IPV6
[!] -p protocol !代表取反,-p 指定协议,tcp,udp,icmp
-s --source源IP -s 192.168.0.0/24为指定源IP地址段为192.168.0.0/24这个C段的地址
-d --destination 指定目标地址
-m iprange --src-range from-toip --dst-range
iptables -A OUTPUT -p tcp --sport 22 -m iprange --dst-range 192.168.0.105-192.168.0.109 -j ACCEPT
-m 状态跟踪:
-m state --state {INVALID,ESTABLISHED,NEW,RELATED,UNTRACKED}
-m string --algo{bm|kmp} --string pattern,有bm和kmp两种匹配算法,--string可以指定匹配的字符串
services iptables save可以对完成的iptables规划进行保存,保存在/etc/sysconfig/iptables中。
而iptables-save只是对目前的规则表进行显示,如果需要存盘,则可以使用重定向
iptables-save > /etc/sysconfig/iptables,也可以指定不同的文件名,还原时可以使用输入重定向
iptables-restore < /etc/sysconfig/iptalbes-0918