我正在使用 SoftEther,但这可能无关紧要。
我有以下适配器:
vpn_myadapter: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet6 [redacted] prefixlen 64 scopeid 0x20<link>
ether [redacted] txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
我有以下路线:
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default dslrouter.netge 0.0.0.0 UG 600 0 0 wlp4s0
link-local 0.0.0.0 255.255.0.0 U 1000 0 0 virbr0
192.168.123.0 0.0.0.0 255.255.255.0 U 0 0 0 virbr0
192.168.254.0 0.0.0.0 255.255.255.0 U 600 0 0 wlp4s0
我需要知道如何轻松使用 Ubuntu 通过我的 VPN 适配器路由所有互联网流量。
此答案假定您已经成功连接您的帐户并拥有一个工作适配器。
好的,在筛选了有关 IP 表/路由的教程后,我找到了适用于 SoftEther 的解决方案,该解决方案应该与其他 VPN 适配器一起使用,以通过适配器传输流量。
首先运行
ip neigh
以获取 VPN 网络的默认网关和该网络的默认网关。您还需要远程服务器 IP。如果这没有为您获取信息,请在您的 VPN 适配器ifconfig
的tcpdump
IP 上运行。您可以轻松地将以下步骤组合到 bash 脚本中和/或反转它们以断开 VPN 适配器:
首先,您需要从服务器获取 DHCP 信息:
vpn_myadapter
是可以通过 找到的适配器名称ifconfig
。其次,您必须创建一条从您的 VPN 服务器的 IP 地址到您的本地 Internet 网关的路由,该路由将您带到 Internet。55.55.55.55是我将用作示例服务器地址的地址。此外,您还需要知道您的 Internet 连接和 VNA(虚拟网络适配器)的适配器名称,您可以使用
ifconfig
. 您还可以使用ip neigh获取适配器及其网关的简明列表。创建从 VPN IP 到本地网关的路由的命令(在本例中为 192.168.0.1)
确保 eth0 设置为与本地网关对应的适配器
接下来,您将删除默认路由所有流量的默认路由。
现在您将添加一个将使用VPN 的默认网关的默认路由。此信息可以从您的提供商、您设置的服务器或使用 、 和 的
tcdump
组合ip neigh
收集ifconfig
。此时您可能能够找到信息,但ip neigh
如果您现在无法找到信息,则应该在开始时运行。我将使用 SoftEther 提供的默认网关,即192.168.30.1
.这应该通过远程网络路由您的所有流量。如果您仍然无法连接到互联网,您将需要在您的服务器上运行(您不应该
DhcpEnable
,SecureNatEnable
但可能需要NatEnable
根据您的配置运行)如果您在连接客户端后无法获得 dhcp 或互联网工作通过这些步骤或您的dhclient
命令不起作用。我不确定您的服务器在更新后是否需要重新启动。编辑:
SecureNatEnable
将启用 NAT 和 DHCP。