Linux クライアントが OpenVPN サーバーに接続できません (Nexthop に無効なゲートウェイがあります)。

Linux クライアントが OpenVPN サーバーに接続できません (Nexthop に無効なゲートウェイがあります)。

私は Linux クライアントを所有しており、これを自社ホストのオフサイト OpenVPN サーバーに接続しようとしています。私はしばらくの間、この問題に頭を悩ませてきました。Windows
クライアントは問題なく接続し、正常に動作します (すべてのトラフィックがルーティングされ、サブネット経由でアクセス可能など)。一方、Linux クライアント (Ubuntu 16.04 サーバーといくつかの OpenVPN クライアント Docker を試しました) に接続しようとすると、サーバーへの接続が成功したように見えますが、その後に次のメッセージが表示されます。

TUN/TAP device tun0 opened
TUN/TAP TX queue length set to 100
do_ifconfig, tt->did_ifconfig_ipv6_setup=0
/usr/bin/ip link set dev tun0 up mtu 1500

/usr/bin/ip addr add dev tun0 10.8.0.101/26 broadcast 10.8.0.127

/usr/bin/ip route add 0.0.0.0/1 via 10.8.0.1
Error: Nexthop has invalid gateway.
ERROR: Linux route add command failed: external program exited with error status: 2

/usr/bin/ip route add 128.0.0.0/1 via 10.8.0.1
Error: Nexthop has invalid gateway.
ERROR: Linux route add command failed: external program exited with error status: 2

Initialization Sequence Completed

これにより、トラフィックが VPN を通過するのを防ぎます。 はifconfig正しいように見えますが、(もちろん) iptables は正しくないように見えます (docker コンテナでテスト済み)。

# ip route
default via 172.17.0.1 dev eth0
10.8.0.64/26 dev tun0 proto kernel scope link src 10.8.0.101
172.17.0.0/16 dev eth0 proto kernel scope link src 172.17.0.7

クライアントのovpnをWindowsコンピュータに移動すると、完璧な接続が得られます。私はサーバーを次のように設定しました。このインストールスクリプト静的IPを手動で追加しました。このガイドサーバー側のセットアップは次のようになります。

./server.conf

port 42069
proto udp
dev tun
user nobody
group nogroup
persist-key
persist-tun
keepalive 10 120
topology subnet
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push "dhcp-option DNS 208.67.222.222"
push "dhcp-option DNS 208.67.220.220"
push "redirect-gateway def1" 
crl-verify crl.pem
ca ca.crt
cert server_fWRfyP6vszBv9CaM.crt
key server_fWRfyP6vszBv9CaM.key
tls-auth tls-auth.key 0
dh dh.pem
auth SHA256
cipher AES-128-CBC
tls-server
tls-version-min 1.2
tls-cipher TLS-DHE-RSA-WITH-AES-128-GCM-SHA256
status openvpn.log
verb 3
client-config-dir /etc/openvpn/staticclients

./staticclients/[クライアント名]

ifconfig-push 10.8.0.101 255.255.255.192

クライアント側の構成は次のようになります:

[クライアント名].ovpn

remote *** 42069
client
proto udp
dev tun
resolv-retry infinite
nobind
persist-key
remote-cert-tls server
verify-x509-name server_fWRfyP6vszBv9CaM name
auth SHA256
auth-nocache
cipher AES-128-CBC
tls-client
tls-version-min 1.2
tls-cipher TLS-DHE-RSA-WITH-AES-128-GCM-SHA256
setenv opt block-outside-dns
verb 3
<ca>
-----BEGIN CERTIFICATE-----
...

どのようなご助力でも大歓迎です。必要に応じて詳細を提供させていただきます。

答え1

サブネットを 255.255.255.192 (/26) から 255.255.255.0 (/24) に変更すると./staticclients/[clientname]、問題は解決しました。

関連情報