![iptables远程PC作为网关(所有流量转发)](https://linux22.com/image/126087/iptables%E8%BF%9C%E7%A8%8BPC%E4%BD%9C%E4%B8%BA%E7%BD%91%E5%85%B3%EF%BC%88%E6%89%80%E6%9C%89%E6%B5%81%E9%87%8F%E8%BD%AC%E5%8F%91%EF%BC%89.png)
答案1
在 PC1 上通过 PC2 执行默认路由:
ip route add default via <PC2-IP>
在 PC2 上,
允许转发 IPv4 数据包:
sysctl net.ipv4.ip_forward = 1
然后设置用于转发和伪装的 IPv4 IPtables 规则:
iptables -A FORWARD -4 -j ACCEPT
仅当 FORWARD 链的默认策略已为 drop 时才需要执行此操作。如果您之前没有进行任何 IPtables 配置,则很可能不是。
iptables -t nat -A POSTROUTING -4 -s <PC1-IP> -j MASQUERADE
如果 PC2 上没有任何冲突的 IPv4 IPtables 规则,这应该足够了。
您可以使用以下命令检查当前的 IPv4 IPtables 规则:
iptables -vnL
iptables -t nat -vnL
答案2
这是关于路由的。只需将 PC2 设置为 PC1 的默认网关即可。此外,您(可能)必须在 PC2 上iptables
进行配置SNAT
,以便 gw2 将回复数据包发送到 PC2。
如果除了快速网络连接之外还想使用慢速网络连接,情况会变得更加复杂。