了解网关为 255.255.255.0

了解网关为 255.255.255.0

我知道它看起来与许多有关 OpenVPN 和路由表的问题相似,但是,我相信它与其他问题不同 - 或者至少我还没有找到重复的问题。

就我而言,连接到 OpenVPN 服务器后,我注意到默认网关更改为 255.255.255.0(没错,是网关,而不是掩码。)下面是我的路由表。

在连接到 OpenVPN 服务器之前:

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         172.16.15.254   0.0.0.0         UG    20600  0        0 wlp0s20f3
169.254.0.0     0.0.0.0         255.255.0.0     U     1000   0        0 wlp0s20f3
172.16.8.0      0.0.0.0         255.255.248.0   U     600    0        0 wlp0s20f3
172.17.0.0      0.0.0.0         255.255.0.0     U     0      0        0 docker0
172.18.0.0      0.0.0.0         255.255.0.0     U     0      0        0 br-8c249cf54f1c

连接到 OpenVPN 服务器后:

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         255.255.255.0   128.0.0.0       UG    0      0        0 tun0
0.0.0.0         172.16.15.254   0.0.0.0         UG    600    0        0 wlp0s20f3
10.8.0.0        255.255.255.0   255.255.255.0   UG    0      0        0 tun0
128.0.0.0       255.255.255.0   128.0.0.0       UG    0      0        0 tun0
169.254.0.0     0.0.0.0         255.255.0.0     U     1000   0        0 wlp0s20f3
172.16.8.0      0.0.0.0         255.255.248.0   U     600    0        0 wlp0s20f3
172.17.0.0      0.0.0.0         255.255.0.0     U     0      0        0 docker0
172.18.0.0      0.0.0.0         255.255.0.0     U     0      0        0 br-8c249cf54f1c
192.168.100.0   255.255.255.0   255.255.255.0   UG    0      0        0 tun0
_VPN_server_IP_ 172.16.15.254   255.255.255.255 UGH   0      0        0 wlp0s20f3
255.255.255.0   0.0.0.0         255.255.255.255 UH    0      0        0 tun0

它按预期工作:OpenVPN 通过服务器路由我的所有互联网流量,以及到远程 LAN (192.168.100.0/24) 的所有流量。当我看到网关是 255.255.255.0 时,我感到很困惑。如果网络掩码是 255.255.255.0,我会理解它,但它的网关设置为 255.255.255.0。这怎么理解呢?

如果我删除第一个条目ip route del 0.0.0.0/1 via 255.255.255.0 dev tun0,互联网肯定会停止通过 VPN 路由。我尝试通过添加回来来玩它

ip route add 0.0.0.0/1 via _VPNserver_IP_ dev tun0

或使用 VPN 子网中的服务器 IP (10.8.0.0/24),

ip route add 0.0.0.0/1 via 10.8.0.1 dev tun0

两者都不起作用。所以我怀疑这是 OpenVPN 用于将其定向到服务器的某种技巧。任何意见将不胜感激。

答案1

正如@AB推测的,这确实是由于配置错误造成的:我忘记将拓扑指定为子网,因此默认为net30。结果,在日志中显示了以下警告:

"Fri Apr 29 22:38:56 2022 WARNING: Since you are using --dev
 tun with a point-to-point topology, the second argument to 
--ifconfig must be an IP address.  You are using something 
(255.255.255.0) that looks more like a netmask. (silence this 
warning with --ifconfig-nowarn)". 

将其更改为子网后,问题得到解决。这是我的路由表中涉及的条目tun0的样子:

10.8.0.0        0.0.0.0         255.255.255.0   U     0      0        0 tun0
192.168.0.0     10.8.0.1        255.255.0.0     UG    0      0        0 tun0

相关内容