iptables学习笔记

这几学习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