如何为游戏设置仅一个默认网关 --OpenVpn

如何为游戏设置仅一个默认网关 --OpenVpn

上周我想用我最近配置的 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"

相关内容