VPN-强制选择 IP 范围在 VPN 上运行(Linux)

VPN-强制选择 IP 范围在 VPN 上运行(Linux)

前言: 我知道这里和那里都有类似的问题,但是我是网络方面的新手,所以我需要针对这个特定场景的答案,希望这也能帮助其他人,因为这是一个常见的问题

假设我无法在本地交换机上执行任何操作要更改本地 IP 范围,我不想使用任何复杂的技巧,因为使用 VMachine 来隐藏本地 IP 范围,但我想使用网络工具来解决这个问题。

设想

我的本地网给我分配一个知识产权属于此类 192.168.1.xxx(例如 192.168.1.116)和我的 VPNVPNC)分配给我知识产权属于同一类别 192.168.1.xxx(例如 192.168.1.247)

显然我需要 VPN 来访问本地地址(例如192.168.1.100) 但是当我打开 192.168.1.xx 类的任何地址时,路由指向我的本地网络而不是 VPN 网络。

我在 Linux 上,我想要 GUI 解决方案(网络管理器),以防无法使用route命令。

以下是网络管理员为我提供的信息: 在此处输入图片描述

这是我连接到 VPN 后的实际路由:

以下是一些路线信息(route -n

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         0.0.0.0         0.0.0.0         U     0      0        0 ppp0
169.254.0.0     0.0.0.0         255.255.0.0     U     1000   0        0 wlan0
xxx.YY.ZZ.106   192.168.1.1     255.255.255.255 UGH   0      0        0 wlan0
xxx.YY.ZZ.106   192.168.1.1     255.255.255.255 UGH   0      0        0 wlan0
192.168.1.0     0.0.0.0         255.255.255.0   U     9      0        0 wlan0
192.168.1.246   0.0.0.0         255.255.255.255 UH    0      0        0 ppp0

这是我的ifconfig

ppp0      Link encap:Point-to-Point Protocol  
      inet addr:192.168.1.247  P-t-P:192.168.1.246  Mask:255.255.255.255
      UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1400  Metric:1
      RX packets:3415 errors:0 dropped:0 overruns:0 frame:0
      TX packets:2525 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:3 
      RX bytes:3682328 (3.6 MB)  TX bytes:402315 (402.3 KB)

wlan0     Link encap:Ethernet  HWaddr 4c:eb:42:06:a3:a6  
      inet addr:192.168.1.116  Bcast:192.168.1.255  Mask:255.255.255.0
      inet6 addr: fe80::4eeb:42ff:fe06:a3a6/64 Scope:Link
      UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
      RX packets:72598 errors:0 dropped:0 overruns:0 frame:0
      TX packets:42300 errors:0 dropped:0 overruns:0 carrier:0                                                  
      collisions:0 txqueuelen:1000                                                                              
      RX bytes:76000532 (76.0 MB)  TX bytes:13919400 (13.9 MB)

问题 所以基本上我想添加一条规则来强制这个特定的地址(192.168.1.100) 在 VPN 上,而不是在我的本地网络上

解决方案- 感谢 Paul

此命令将把 192.168.1.100 主机路由出 VPN:

ip route add 192.168.1.100 dev ppp0

这是用于命令行,但您可以在第一幅图像的对话框中将其添加到上面。

Address: 192.168.1.100
Netmask: 255.255.255.255
Gateway: 192.168.1.246

请参阅以下答案以了解详细信息

答案1

我认为无论如何你都会遇到问题。此命令将把 192.168.1.100 主机路由出 VPN:

ip route add 192.168.1.100 dev ppp0

这是用于命令行,但您可以在第一幅图像的对话框中将其添加到上面。

Address: 192.168.1.100
Netmask: 255.255.255.255
Gateway: 192.168.1.246  (the ubuntu vpnc client does not let you specify a device)

您的问题是 192.168.1.100 需要路由回您。因此,它将看到来自 192.168.1.247 的数据包,并认为该地址在其本地网络上。因此,它将在本地网络上广播,询问谁拥有该 IP 地址,但不会得到答复。

因此您需要相同的路由返回。但这对您没有帮助,因为您使用的是 VPN,并且您的 IP 地址正在发生变化。添加到 192.168.1.100 的此路由会告诉它 .247 位于 VPN 网关后面:

ip route add 192.168.1.247 via xxx.YY.ZZ.106 [ip address of vpn server]

这种情况只会在您停留在 .247 上时才会持续,一旦您断开连接并重新连接,您将拥有另一个 IP 地址,并且需要更改路由。

这里的黄金法则是您应该避免在 VPN 的两端使用相同的地址范围。

相关内容