在Linux上使用多个上行链路进行NAT

在Linux上使用多个上行链路进行NAT,第1张

概述目前,我在服务器上有3个NIC,1个连接到adsl调制解调器(eth0),另一个连接到光纤(ppp0),另一个连接到LAN(eth2). 我已经设置了所有接口,路由和规则,如此处所述(http://www.linux.org/PRIVOXY-FORCE/docs/ldp/howto/Adv-Routing-HOWTO/lartc.rpdb.multiple-links.html),它完美地工作.我 目前,我在服务器上有3个NIC,1个连接到adsl调制解调器(eth0),另一个连接到光纤(ppp0),另一个连接到LAN(eth2).

我已经设置了所有接口,路由和规则,如此处所述(http://www.linux.org/PRIVOXY-FORCE/docs/ldp/howto/Adv-Routing-HOWTO/lartc.rpdb.multiple-links.html),它完美地工作.我可以毫无问题地从外部连接到两台主机,但我现在面临另一个问题……

我只能在我设置为主表上的默认路由的主机上执行NAT.例如,如果我使用这些规则:

iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j DNAT --to-destination 192.168.1.2:8080iptables -t nat -A PREROUTING -i ppp0 -p tcp --dport 80 -j DNAT --to-destination 192.168.1.2:8080

它的工作原理取决于默认路由.如果默认路由是通过eth0,则来自ppp0的传入连接不会重定向到LAN计算机.此外,如果默认路由是通过ppp0,则不会重定向来自eth0的连接.我为每个提供商提供了一个表,其中网关配置为默认路由,但它似乎不适用于NAT.

有没有人有想法解决这个问题?

解决方法 如果您已正确设置“ip route”路由,则“默认路由”无意义.
困难来自于eth0和ppp0都可能由DHCP设置,这将覆盖您设置的任何内容.

您应该为您已设置的所有表格提供“ip route show”的输出,以及“ip rule show”以及您在设置期间完成的任何其他 *** 作.

顺便说一下,你发布的链接对我不起作用,this one does

总结

以上是内存溢出为你收集整理的在Linux上使用多个上行链路进行NAT全部内容,希望文章能够帮你解决在Linux上使用多个上行链路进行NAT所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/1035819.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-24
下一篇 2022-05-24

发表评论

登录后才能评论

评论列表(0条)

保存