通过 ppp0 路由流量

通过 ppp0 路由流量

我不是网络工程师,但我正在尝试配置我的 Linux 机器,以便在连接到 VPN 的同时访问互联网。

我目前解决这个问题的想法是在配置我的机器时连接到我的 VPN,在连接到我的 VPN 后不要重新配置我的路由,然后我会在需要时手动配置我的机器的路由以访问我的 VPN(即针对特定的 IP 范围)。

所以我目前正在尝试了解以下路由表:

$ route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         0.0.0.0         0.0.0.0         U     50     0        0 ppp0
0.0.0.0         192.168.16.1    0.0.0.0         UG    600    0        0 wlp8s0
10.100.0.0      0.0.0.0         255.255.255.255 UH    50     0        0 ppp0
62.135.17.146   192.168.16.1    255.255.255.255 UGH   0      0        0 wlp8s0
192.168.16.0    0.0.0.0         255.255.255.0   U     600    0        0 wlp8s0

如何0.0.0.0为我的 VPN (ppp0) 接口设置网关?!非常感谢您提供有关我提到的路由表的所有可能信息。但请使用英文 :D

答案1

你的界面ppp0是一个点对点协议隧道。PPP 连接仅设计为从一个点到另一个点,因此无需 IP 寻址。本质上,如果您的机器通过 PPP 接口发送数据包,则它只能到达一个地方!因此无需使用不同的 IP 地址来区分可能的接收者。

您没有指定正在使用的 VPN 软件,但配置要推送到客户端的路由是一种常见选项。如果您使用的是 OpenVPN,您可以找到有关定义要推送哪些路由的信息这里

编辑:看起来你可能正在使用 PPTP VPN(顺便说一句,它不再安全,应尽可能避免使用)。在这种情况下,你可以通过执行以下操作来配置要添加的路由条目:

通过 ppp0 路由流量

要通过 PPP0 接口路由流量,编辑/etc/ppp/ip-up.d/route-traffic

vi /etc/ppp/ip-up.d/route-traffic

附加以下示例代码(根据您的要求修改 NET 和 IFACE):

#!/bin/bash
NET="10.0.0.0/8" # set me
IFACE="ppp0" # set me
#IFACE=$1
route add -net ${NET} dev ${IFACE}

保存并关闭文件:

chmod +x /etc/ppp/ip-up.d/route-traffic

相关内容