上周我想用我最近配置的 Vpn 服务玩《魔界时代》。但我遇到了一些游戏内连接问题,经过多次尝试,我终于解决了。如您在此处所见,有 2 个默认网关
netstat -r
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
default 10.8.0.9 0.0.0.0 UG 0 0 0 tun0
default 192.168.0.1 0.0.0.0 UG 0 0 0 wlo1
10.8.0.9 * 255.255.255.255 UH 0 0 0 tun0
********(security reasons ) 192.168.0.1 255.255.255.255 UGH 0 0 0 wlo1
192.168.0.0 * 255.255.255.0 U 0 0 0 wlo1
192.168.0.1 * 255.255.255.255 UH 0 0 0 wlo1
但游戏只使用路由器的网关。
为了能够玩游戏,摆脱路由器的网关非常重要,因此我需要执行以下命令:
sudo ip rout del default via 192.168.0.1
因此它返回下一个输出:
netstat -r
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
default 10.8.0.9 0.0.0.0 UG 0 0 0 tun0
10.8.0.9 * 255.255.255.255 UH 0 0 0 tun0
******(Security reasons you know :)) 192.168.0.1 255.255.255.255 UGH 0 0 0 wlo1
192.168.0.0 * 255.255.255.0 U 0 0 0 wlo1
192.168.0.1 * 255.255.255.255 UH 0 0 0 wlo1
此时游戏连接正常。
问题是几分钟后路由器的网关又恢复为默认网关!之后游戏就断开了。
有没有什么办法可以解决这个问题?
我保留了我的 server.conf 和 client.conf
服务器.conf:
;local a.b.c.d
port 1194
;proto tcp
proto udp
;dev tap
dev tun
;dev-node MyTap
ca ca.crt
cert server.crt
key server.key
dh dh4096.pem
;topology subnet
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
;server-bridge 192.168.1.254 255.255.255.0 192.168.1.150 192.168.1.200
;server-bridge
;push "route 192.168.10.0 255.255.255.0"
;push "route 192.168.20.0 255.255.255.0"
;client-config-dir ccd
;route 192.168.40.128 255.255.255.248
;client-config-dir ccd
;route 192.168.40.128 255.255.255.248
;client-config-dir ccd
;route 10.8.0.0 255.255.255.0
;learn-address ./script
;up up.sh
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 208.67.222.222"
push "dhcp-option DNS 208.67.220.220"
client-to-client
duplicate-cn
keepalive 10 120
;tls-auth ta.key 0 # This file is secret
;cipher BF-CBC # Blowfish (default)
;cipher AES-128-CBC # AES
;cipher DES-EDE3-CBC # Triple-DES
comp-lzo
user nobody
group nobody
persist-key
persist-tun
;log openvpn.log
;log-append openvpn.log
verb 3
;mute 20
客户端配置文件
client
;dev tap
dev tun
.
;dev-node MyTap
;proto tcp
proto udp
remote ******** 1194 <- quite esa ip por cuestiones de seguridad(ustedes saben XD)
;remote my-server-2 1194
;remote-random
resolv-retry infinite
nobind
user nobody
group nobody
persist-key
persist-tun
;http-proxy-retry # retry on connection failures
;http-proxy [proxy server] [proxy port #]
mute-replay-warnings
ca ca.crt
cert client1.crt
key client1.key
;tls-auth ta.key 1
;cipher x
comp-lzo
redirect-gateway def1
verb 3
;mute 20
我使用 opensuse Tumbleweed 和 openVpn 作为客户端,使用 opensuse leap 42.1 和 Openvpn 作为服务器端,顺便说一下,我使用 Knetworkmanager 进行 wifi 连接,但我也使用 wicked 进行以太网连接
客户端:OpenVPN 2.3.11 x86_64-suse-linux-gnu 服务器:OpenVPN 2.3.8 x86_64-suse-linux-gnu
答案1
我按照你说的做了,但还是没用,尽管我确保 vpn 的指标比路由器的网关慢,所以在厌倦了断线之后,我写了这个小脚本。我不认为这是解决问题的最佳方法,但至少它有效
#!/bin/bash
while true do
ip route del default via 192.168.0.1 2>/dev/null
done
答案2
您的问题实际上不在于您有多个默认路由,而在于 VPN 默认值比路由器具有更高的度量(尽管我们在您的路由中看不到它netstat
- 请尝试添加-v
以查看它)。
您可以通过增加路由器默认的度量来解决这个问题,
或者使用以下方法降低 VPN 数量:
push "route-metric N"