iptables什么情况配置这五个参数?
1.PREROUTING (路由前)
2.INPUT (数据包流入口)
3.FORWARD (转发管卡)
4.OUTPUT(数据包出口)
5.POSTROUTING(路由后)
在 Linux 中,iptables 通过五个钩子(hook)实现对数据包的精确控制,每个钩子对应不同的处理阶段。以下通过具体场景说明五个参数的配置时机和典型应用:
一、PREROUTING(路由前)
作用:处理刚进入网卡的数据包,常用于 DNAT(目的地址转换)、端口转发或透明代理。
场景:当外部访问公网 IP 的特定端口时,将请求转发到内部服务器。
示例:将公网 IP:8080 的请求转发到内网 Web 服务器(192.168.1.200:80)
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 8080 -j DNAT --to-destination 192.168.1.200:80
解析:
-t nat
:指定操作 NAT 表(DNAT 属于 NAT 表)。-A PREROUTING
:在 PREROUTING 链添加规则。-i eth0
:仅处理从 eth0 网卡进入的数据包。-j DNAT
:执行目的地址转换。
二、INPUT(数据包流入口)
作用:处理 目的地是本机 的数据包,常用于配置 防火墙规则。