关于如何在 ubuntu 中使用 iptables 将路由到 eth0:2 别名,有什么帮助吗?

关于如何在 ubuntu 中使用 iptables 将路由到 eth0:2 别名,有什么帮助吗?

在我的服务器上,我想通过我的eth0:2别名路由我的互联网流量。当我使用此命令时:

sudo iptables -t nat -A POSTROUTING -s 10.8.0.4 -o eth0:2 -j MASQUERADE

它返回的是:

Warning: weird character in interface `eth0:2' (No aliases, :, ! or *).

有没有办法只通过该单个 IP 路由来自 openvpn ip 10.8.0.4 的流量?

谢谢你的帮助,

答案1

这里您应该使用 SNAT 而不是 MASQUERADE。

MASQUERADE
   This target is only valid in the nat table, in the  POSTROUTING  chain.
   It  should  only  be used with dynamically assigned IP (dialup) connec‐
   tions: if you have a static IP address, you should use the SNAT target.

假设您想要将来自 10.8.0.4 的任何流量通过 eth0 退出并映射到绑定到 eth0:2 的任何 IP 地址(我在这里说“wxyz”),请尝试以下操作:

sudo iptables -t nat -A POSTROUTING -s 10.8.0.4 -o eth0 -j SNAT --to-source w.x.y.z

其中 wxyz 是绑定到 eth0 的 IP。

相关内容