运维——Linux防火墙iptables语法详解
在Linux防火墙中,对于数据报而言,有以下几个流向:
PREROUTING–>FORWARD–>POSTROUTING
PREROUTING–>INPUT–>本机OUTPUT–>POSTROUTING
数据报的流向主要流向其实也是iptables的两种工作模式:
- 用作NAT路由器
- 用作主机防火墙
iptables会根据不同的数据处理包处理功能不同的规则表。它包括如下3个表:filter、nat和mangle。
- filter是默认的表,包含真正的防火墙过滤规则。内建的规则链包括:INPUT、OUTPUT和FORWARD。
- nat表包含源、目的地址及端口转换使用的规则,内建的规则链包括PERROUTING、OUTPUT和POSTROUTING。
- mangle表包含用于设置特殊的数据包路由标志的规则。随后filter表中的规则会检查这些标志。内建的规则链包括:PERROUTING、INPUT、FORWARD、POSTROUTING和OUTPUT。
表中相应的相关规则链功能如下:
- INPUT链:当一个数据包由内核中的路由计算确定为本地的Linux系统后,它会通过INPUT链的检查。
- OUTPUT链:保留给系统自身生出的数据包
- FORWARD键:经过Linux系统路由的数据包(即当iptables防火墙用于连接两个网络时,两个网络之间的数据包必须流经该防火墙)
- PREROUTING链:用于修改目的地址(DNAT) POSTROUTING链:用于修改源地址(SNAT)
iptables详细语法
iptables [-t 表名] <-A|I|D|R> 链名[规则编号] [-i|o 网卡名称] [-p<