分配给同一网卡的两个 IP 地址 - OpenVPN 问题?

分配给同一网卡的两个 IP 地址 - OpenVPN 问题?

我有一台运行 Arch Linux 的笔记本电脑。在家里,我可以毫无问题地连接到我的 OpenVPN 服务器;然而,我的大学网络似乎使用了一些奇怪的配置,在连接时我被分配通过 DHCP 获取 IP 地址。

ip addr:

2: wlp3s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 18:5e:0f:90:55:29 brd ff:ff:ff:ff:ff:ff
    inet xx.xx.127.167/24 brd xx.xx.127.255 scope global wlp3s0
       valid_lft forever preferred_lft forever
    inet xx.xx.127.227/24 brd xx.xx.127.255 scope global secondary wlp3s0
       valid_lft forever preferred_lft forever
    inet6 xx::xx:xx:fe90:5529/64 scope link 
       valid_lft forever preferred_lft forever

我隐藏了这些地址,因为没有 NAT,所以这些是我实际的公共 IP。

当我连接到 OpenVPN 时,我无法向任何地方发送任何流量;甚至是 LAN 中 VPN 网关的本地 IP,更不用说任何外部主机了。我怀疑双 IP 配置是造成这种情况的原因,因为从ip route没有为源自该 IP 的数据包添加路由来看:

0.0.0.0/1 via 10.8.0.5 dev tun0 
default via xx.xx.127.254 dev wlp3s0  src xx.xx.127.227  metric 302 
10.8.0.1 via 10.8.0.5 dev tun0 
10.8.0.5 dev tun0  proto kernel  scope link  src 10.8.0.6 
<vps ip> via xx.xx.127.254 dev wlp3s0 
128.0.0.0/1 via 10.8.0.5 dev tun0 
xx.xx.127.0/24 dev wlp3s0  proto kernel  scope link  src xx.xx.127.227  metric 302 

default条目将源地址限制为上面列出的“辅助地址”;我怀疑这就是导致数据包无法发送到任何地方的原因。奇怪的是,即使我手动配置连接,我仍然会被分配另一个“辅助”IP(我正在使用 NetworkManager)。

我尝试为该.167地址添加另一条路由,但无济于事;没有什么变化。我应该补充一点,网络绝对不会阻止 VPN 流量,因为我可以在 Windows 8(同一台笔记本电脑上双启动)和 Android 手机(同一服务器)上使用它,没有任何问题。此外,OpenVPN 连接过程中不会显示任何警告或错误。

我对这种双 IP 配置导致 VPN 问题的怀疑是否正确?

相关内容