如何做路由

如何做路由

我已经设置了一台 Ubuntu 服务器,我想将其用作本地办公室的路由器。

  1. 问题是,我想建立 2 个到远程分支的 VPN 连接,然后我想通过 VPN 连接 ppp0 和 ppp1 将所有流量路由到这两个分支的子网,并将其余流量路由到 eth0 。

我怎样才能做到这一点?

  1. 我还想通过 ppp0 路由我的一部分互联网流量,因为我们有一些服务订阅,这是基于我们在一个分支机构的 IP,因此,我需要通过 ppp0 路由这部分互联网流量。

可以和问题1一样设置吗?

--- 已编辑 ---

好的。我在此页面上找到了答案:http://pptpclient.sourceforge.net/routing.phtml#lan-to-lan-via-adsl

这似乎有效:

route add -net 192.168.0.0 netmask 255.255.0.0 dev ppp0
iptables --insert OUTPUT 1 --source 0.0.0.0/0.0.0.0 --destination 192.168.0.0/16 --jump ACCEPT --out-interface ppp0
iptables --insert INPUT 1 --source 192.168.0.0/16 --destination 0.0.0.0/0.0.0.0 --jump ACCEPT --in-interface ppp0
iptables --insert FORWARD 1 --source 0.0.0.0/0.0.0.0 --destination 192.168.0.0/16 --jump ACCEPT --out-interface ppp0
iptables --insert FORWARD 1 --source 192.168.0.0/16 --destination 0.0.0.0/0.0.0.0 --jump ACCEPT
iptables --table nat --append POSTROUTING --out-interface ppp0 --jump MASQUERADE
iptables --append FORWARD --protocol tcp --tcp-flags SYN,RST SYN --jump TCPMSS --clamp-mss-to-pmtu

答案1

OP编辑:

好的。我在此页面上找到了答案:http://pptpclient.sourceforge.net/routing.phtml#lan-to-lan-via-adsl

这似乎有效:

route add -net 192.168.0.0 netmask 255.255.0.0 dev ppp0
iptables --insert OUTPUT 1 --source 0.0.0.0/0.0.0.0 --destination 192.168.0.0/16 --jump ACCEPT --out-interface ppp0
iptables --insert INPUT 1 --source 192.168.0.0/16 --destination 0.0.0.0/0.0.0.0 --jump ACCEPT --in-interface ppp0
iptables --insert FORWARD 1 --source 0.0.0.0/0.0.0.0 --destination 192.168.0.0/16 --jump ACCEPT --out-interface ppp0
iptables --insert FORWARD 1 --source 192.168.0.0/16 --destination 0.0.0.0/0.0.0.0 --jump ACCEPT
iptables --table nat --append POSTROUTING --out-interface ppp0 --jump MASQUERADE
iptables --append FORWARD --protocol tcp --tcp-flags SYN,RST SYN --jump TCPMSS --clamp-mss-to-pmtu

答案2

假设 VPN 全部启动并运行,您需要向路由表添加一个条目,指定通过哪个接口将流量发送到 X 和 Y 网络。

如何做到这一点可能因 Linux 发行版而异,但这会给您一个想法 - 例如,让我们假设您希望通过 ppp0 到达 192.168.255.0/24

route add -net 192.168.255.0 netmask 255.255.255.0 gw 192.168.255.2 dev pp0

或者

route add -net 192.168.255.0/24 dev ppp0

这应该通过特定接口将流量路由到特定网络。

相关内容