三条路径:
- 进入本机:PREROUTING --> INPUT
- 穿过本机的:PREROUTING --> FORWARD --> POSTROUTING
- 从本机往外走的:OUTPUT --> POSTROUTING
实验环境准备
- Centos7:systemctl stop firewalld.service && systemctl disable firewalld. service
- Centos6:service iptables stop && chkconfig iptables off && checonfig --list iptables
卸载虚拟网卡
yum info libvirt-deamon
yum remove libvirt-deamon
看看iptables来自于那个包
rpm -ql which iptables
iptables规则
组成部分:根据规则匹配条件来尝试匹配报文,一旦匹配成功,就由规则定义的处理动作作出处理
- 匹配条件:默认为与条件,同时满足 基本匹配:IP,端口,TCP的Flags(SYN,ACK等) 扩展匹配:通过复杂高级功能匹配
- 处理动作:称为target,跳转目标 内建处理动作: ACCEPT,DROP,REJECT,SNAT,DNATMASQUERADE,MARK,LOG… 自定义处理动作:自定义chain,利用分类管理复杂情形
- 规则要添加在链上,才生效;添加在自定义上不会自动生效
- 链chain: 内置链:每个内置链对应于一个钩子函数 自定义链:用于对内置链进行扩展或补充,可实现更灵活的规则组织管理机制;只有 Hook钩子调用自定义链时,才生效
iptables命令
cent6和centos7查看帮助的方式不同,centos7把拓展分出去了
centos6: man iptables
centos7:man iptables && man iptables-extendisions
man 8 iptables
iptables [-t table] {-A|-C|-D} chain rule-specification
iptables [-t table] -I chain [rulenum] rule-specification
iptables [-t table] -R chain rulenum rule-specification
iptables [-t table] -D chain rulenum
iptables [-t table] -S [chain [rulenum]]
iptables [-t table] {-F