我想我可以理解这个 iptable 规则,但我想确定它的作用,所以有人可以从技术上向我解释一下它的作用吗?这两条规则结合起来了。
/sbin/iptables -t nat -A PREROUTING -p tcp --dport 80 -d 10.13.235.42 -j DNAT --to-destination 209.208.27.224:27279
/sbin/iptables -t nat -A POSTROUTING -p tcp --dport 27279 -j MASQUERADE
答案1
/sbin/iptables -t nat -A PREROUTING -p tcp --dport 80 -d 10.13.235.42 -j DNAT --to-destination 209.208.27.224:27279
与桌子一起使用
nat
。将规则附加到
PREROUTING
表中,以便在此规则中做出的决策可以影响做出的路由决策。严格用于连接到端口 80,
10.13.235.42
该端口可能是该计算机的 IP 地址之一。将新目标设置为 上的端口 27279
209.208.27.224
。如果10.13.235.42
是本机的 IP 地址,则需要此地址,以便内核不会认为它是流量的最终目的地。此时传入数据包中的目标 IP 地址已更改。-j DNAT
只是意味着我们正在对目的地进行 NAT,而不是隐藏来自目的地的连接源(这将是SNAT
)。
/sbin/iptables -t nat -A POSTROUTING -p tcp --dport 27279 -j MASQUERADE
nat
在做出路由决定后使用该表。27279
匹配任何发往或来自任何 IP 地址的端口的 tcp 数据包。我想这里的想法是我们不需要太具体,因为这是一个不常见的端口号。告诉内核
MASQUERADE
数据包正在被修改以掩盖源或目的地。这可以让响应按照来时的方式返回。