我有一个 OpenVPN 客户端,但无法连接到 VPN 服务器。我已将完整日志粘贴在下面,但具体来说,我遇到了以下与路由相关的问题:
OpenVPN ROUTE:OpenVPN 需要 --route 选项的网关参数,并且 --route-gateway 或 --ifconfig 选项均未指定默认值。
OpenVPN ROUTE:无法解析/解析主机/网络的路由:10.8.0.1
有许多客户端具有相同的客户端配置,连接正常。此客户端(和其他一些客户端)已连接,由于系统时间变得太不同步(我相信)而丢失了连接,此后已同步系统时间,但现在仍然无法连接。通常,重新启动系统可以解决问题。因此,这似乎不是 VPN 配置的问题,而是客户端系统的问题。
我对路由问题了解不够多,无法解决它们。我确实需要处理从时间同步问题中恢复的问题,但目前,为什么我不能从此客户端手动启动 VPN 连接?是什么原因导致 OpenVPN 现在需要网关参数?
日志
$ openvpn gatewaymaster.conf
Fri Sep 30 12:03:07 2016 OpenVPN 2.2.1 arm-linux-gnueabihf [SSL] [LZO2] [EPOLL] [PKCS11] [eurephia] [MH] [PF_INET6] [IPv6 payload 20110424-2 (2.2RC2)] built on Dec 1 2014
Fri Sep 30 12:03:07 2016 NOTE: OpenVPN 2.1 requires '--script-security 2' or higher to call user-defined scripts or executables
Fri Sep 30 12:03:07 2016 LZO compression initialized
Fri Sep 30 12:03:07 2016 Control Channel MTU parms [ L:1542 D:138 EF:38 EB:0 ET:0 EL:0 ]
Fri Sep 30 12:03:07 2016 Socket Buffers: R=[163840->131072] S=[163840->131072]
Fri Sep 30 12:03:07 2016 Data Channel MTU parms [ L:1542 D:1450 EF:42 EB:135 ET:0 EL:0 AF:3/1 ]
Fri Sep 30 12:03:07 2016 Local Options hash (VER=V4): '41690919'
Fri Sep 30 12:03:07 2016 Expected Remote Options hash (VER=V4): '530fdded'
Fri Sep 30 12:03:07 2016 NOTE: UID/GID downgrade will be delayed because of --client, --pull, or --up-delay
Fri Sep 30 12:03:07 2016 UDPv4 link local: [undef]
Fri Sep 30 12:03:07 2016 UDPv4 link remote: [AF_INET]NNN.NNN.NNN.NNN:NNNN
Fri Sep 30 12:03:07 2016 TLS: Initial packet from [AF_INET]NNN.NNN.NNN.NNN:NNNN, sid=679c9108 60cb4eaf
Fri Sep 30 12:03:07 2016 VERIFY OK: depth=1, <redacted>
Fri Sep 30 12:03:07 2016 VERIFY OK: nsCertType=SERVER
Fri Sep 30 12:03:07 2016 VERIFY OK: depth=0, <redacted>
Fri Sep 30 12:03:08 2016 Data Channel Encrypt: Cipher 'BF-CBC' initialized with 128 bit key
Fri Sep 30 12:03:08 2016 Data Channel Encrypt: Using 160 bit message hash 'SHA1' for HMAC authentication
Fri Sep 30 12:03:08 2016 Data Channel Decrypt: Cipher 'BF-CBC' initialized with 128 bit key
Fri Sep 30 12:03:08 2016 Data Channel Decrypt: Using 160 bit message hash 'SHA1' for HMAC authentication
Fri Sep 30 12:03:08 2016 Control Channel: TLSv1, cipher TLSv1/SSLv3 DHE-RSA-AES256-SHA, 2048 bit RSA
Fri Sep 30 12:03:08 2016 [server] Peer Connection Initiated with [AF_INET]NNN.NNN.NNN.NNN:NNNN
Fri Sep 30 12:03:10 2016 SENT CONTROL [server]: 'PUSH_REQUEST' (status=1)
Fri Sep 30 12:03:10 2016 PUSH: Received control message: 'PUSH_REPLY,dhcp-option DNS 208.67.222.222,dhcp-option DNS 208.67.220.220,route 10.8.0.1,topology net30,ping 10,ping-restart 120'
Fri Sep 30 12:03:10 2016 OPTIONS IMPORT: timers and/or timeouts modified
Fri Sep 30 12:03:10 2016 OPTIONS IMPORT: --ifconfig/up options modified
Fri Sep 30 12:03:10 2016 OPTIONS IMPORT: route options modified
Fri Sep 30 12:03:10 2016 OPTIONS IMPORT: --ip-win32 and/or --dhcp-option options modified
Fri Sep 30 12:03:10 2016 ROUTE default_gateway=10.1.10.1
Fri Sep 30 12:03:10 2016 OpenVPN ROUTE: OpenVPN needs a gateway parameter for a --route option and no default was specified by either --route-gateway or --ifconfig options
Fri Sep 30 12:03:10 2016 OpenVPN ROUTE: failed to parse/resolve route for host/network: 10.8.0.1
Fri Sep 30 12:03:10 2016 TUN/TAP device tun1 opened
Fri Sep 30 12:03:10 2016 TUN/TAP TX queue length set to 100
Fri Sep 30 12:03:10 2016 GID set to nogroup
Fri Sep 30 12:03:10 2016 UID set to nobody
Fri Sep 30 12:03:10 2016 Initialization Sequence Completed
服务器
port NNNN
proto udp
dev tun
ca ca.crt
cert server.crt
key server.key
dh dh2048.pem
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push "dhcp-option DNS NNN.NN.NNN.NNN"
push "dhcp-option DNS NNN.NN.NNN.NNN"
keepalive 10 120
comp-lzo
user nobody
group nogroup
persist-key
persist-tun
status openvpn-status.log
verb 3
hand-window 120
客户
client
dev tun
proto udp
remote XXXXX.XXXXX.xxx NNNN
resolve-retry infinite
nobind
user nobody
group nogroup
persist-key
persist-tun
cert client.crt
key client.key
ns-cert-type server
comp-lzo
verb 3
答案1
这不是必需的,但我建议topology subnet
在服务器上添加。
对于较新的客户端来说,子网拓扑通常是更好的选择。当您使用拓扑子网时,它将自动执行push "route-gateway 10.8.0.1"
以向客户端发送正确的网关。
目前有 62 个已连接的客户端。仅这一点就听起来很有希望。您能告诉我增加最大主机数量的选项吗?
啊,这就是你的解释。server 10.8.0.0 255.255.255.0
使用默认拓扑的选项会为每个系统net30
从该池中分配一个 /30 网络。因此,依次到达服务器、到达第一个客户端、到达第二个客户端,依此类推,直到 到达最后一个客户端。10.8.0.0/24
10.8.0.0/30
10.8.0.4/30
10.8.0.8/30
10.8.0.252/30
你有两个选项可以解决这个问题,你可以更改子网大小在服务器语句中,并扩大子网。这可能意味着您需要更新网络中其他设备上的任何路由表,并更改防火墙规则。
或者更简单的解决方案是切换到拓扑子网。这使您不使用这种伪点对点拓扑,而使其基本上像以太网交换机一样运行。子网拓扑中的每个主机都使用一个,并且只使用 ~253 个连接客户端中的一个,而不是 (256/4-1) 个连接客户端。坚持使用旧拓扑的唯一原因是如果您有非常旧的客户端连接。