1.查看规则 iptables -nvL
2.表类型 -t raw,mangle,nat,filter(默认)
3.链管理
(1)新建链接: iptables -N test
(2)删除空链: iptables -X test
(3)启用和禁止: iptables -P INPUT ACCEPT|DROP
(4)重命名: iptables -E test test2
(5)清空: iptables -t nat -F
4.规则管理
(1)末尾追加: -A
(2)起始插入: -I number
(3)删除: -D number
(4)替换: -R number
5.基本匹配
(1)原地址匹配: -s
(2)目标地址匹配: -d
(3)启用禁止和拒绝: -j ACCEPT|DROP|REJECT
(4)协议匹配: -p tcp|udp|icmp
6.扩展匹配
(1)tcp:
-p tcp [-m tcp] --sport|dport 源端口和目标端口
-p tcp -m tcp multiport --sports|dports 22,80
-p tcp -m tcp iprange --src|dst-range x.x.x.x-x.x.x.x
-p tcp -m string --algo bm|kmp --string "xxxx"
-p tcp -m connlimit --connlimit-upto|above 最大最小并发
-p tcp -m stae INVALID|ESTABLISHED|NEW|RELATED|UNTRACKED
INVALID:无法识别的链接
ESTABLISHED:模板中存在记录
NEW:模板中不存在
RELATED:关联链接
UNTRACKED:未追踪的链接
追踪并记录的连接:/proc/net/nf_conntrack
最大连接数:/proc/sys/net/nf_conntrack_max
超时时长:/proc/sys/net/netfilter/xxxx_timeout
(2)udp: -p udp [-m udp] --sport|dport 源端口和目标端口
(3)icmp: -p icmp [-m icmp] --icmp-type 0|8 响应码和请求码
7.nat
(1)使用SNAT和DNAT条件:
开启核心转发:echo ‘1‘ > /proc/sys/net/ipv4/ip_forward
将内网主机网关地址指向转发服务器的内网网卡
(2)SNAT:
iptables -t nat -A POSTROUTING -s 127.0.0.1/24 -j SNAT --to-source x.x.x.x外网网卡地址,或
-j MASQUERADE 自动获取外网地址
(3)DNAT:可让外网主机访问转发器上的80服务,而转发器没有提供该服务,直接交由内网主机处理
iptables -t nat -A PREROUTING -s 0/0 -d x.x.x.x外网网卡地址 -p tcp --dport 80 -j DNAT --to-destination x.x.x.x内网主机地址
8.保存与加载
(1)service iptables save 命令:
它会保存在/etc/sysconfig/iptables这个文件中
(2)iptables-save 命令:
iptables-save > /etc/sysconfig/iptables
(3)iptables-restore 命令:
开机的时候,它会自动加载/etc/sysconfig/iptables
iptables-restore < /etc/sysconfig/iptables.2
(4)开机自起
把命令扔进/etc/rc.d/rc.local内即可