Cliente Linux não consegue se conectar ao servidor OpenVPN (Nexthop tem gateway inválido).

Cliente Linux não consegue se conectar ao servidor OpenVPN (Nexthop tem gateway inválido).

Eu tenho um cliente Linux que estou tentando conectar ao meu servidor OpenVPN externo auto-hospedado. Eu tenho batido minha cabeça contra isso há um tempo.
Os clientes Windows se conectam bem e funcionam corretamente (todo o tráfego roteado, acessível através da sub-rede, etc.) ao tentar se conectar com um cliente Linux (tentei o servidor Ubuntu 16.04 e um punhado de dockers de cliente openvpn) produz o que parece ser uma conexão bem-sucedida com o servidor seguido por:

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

o que impede que o tráfego passe pela VPN. A ifconfigaparência está correta, enquanto (é claro) o iptables não parece muito correto (testado em um contêiner 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

Mover o cliente ovpn para um computador Windows produz uma conexão perfeita. Eu configurei o servidor comeste script de instalaçãoe adicionei IPs estáticos manualmente com a ajuda deeste guiaproduzindo uma configuração do lado do servidor de:

./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/[nomedocliente]

ifconfig-push 10.8.0.101 255.255.255.192

e uma configuração do lado do cliente de:

[nome do cliente].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-----
...

Qualquer ajuda será apreciada e estou disposto a fornecer mais detalhes conforme necessário.

Responder1

Alterar a ./staticclients/[clientname]sub-rede de 255.255.255.192 (/26) para 255.255.255.0 (/24) resolveu o problema.

informação relacionada