这几学习iptables,踩了一些坑,作下总结。
1、三表
(1)filter:默认表,处理本机数据包,包含input、output和forward
(2)nat:处理源或目的IP/端口转换,包含prerouting、postrouting、output
(3)mangle:处理高级路由信息,包含prerouting、output、input、forward
2、五链
(1)inpput,处理要进入本机的数据包的规则
(2)output:处理由本机产生,要外发的数据包的规则
(3)forward:处理非本机的数据包的规则
(4)prerouting:处理进入netfilter后路由判断前执行的数据包的规则
(5)postrouting,处理离开netfilter前执行的数据包的规则
3、语法参数
iptables [-t table] command [chain] [match] [-j target]
(1)table:表名,filter、nat、mangle,默认为filter
(2)command:
-A:链尾添加规则
-D:链中删除规则,可指定行号
-R:替换规则
-L:显示规则
-I:插入规则,可指定行号
-X:删除自定义的规则
-F:清空所有规则或删除指定的规则
-N:创建新命名的链。
-P:设置默认策略
-Z:包字节计数器清零
(3)match
通用匹配
-p:指定协议
-s:指定源地址
-d:指定目的地址
-i:指定数据包进入的网卡
-o:指定数据包出去的网卡
隐含匹配:tcp udp icmp
显示匹配:(还在学习,后续补充)
(4)target:
ACCEPT:满足条件的包允许通过
REJECT:满足条件的包丢弃,且回信息给对方
DROP:满足条件的包丢弃,不返回信息给对方
REDIRECT:转发包到另一个端口
MASQUERADE:获取IP地址作NAT
SNAT:源地址转换
DNAT:目的地址转换
(学习中,未完待续,后续补充实战例子上来)
原创文章,作者:鸿远,如若转载,请注明出处:http://www.178linux.com/17878