Mantenha o openvpn conectado durante a mudança na interface de rota padrão

1

Eu tenho um servidor openvpn que permite conexões de entrada de vários clientes móveis. Os clientes móveis são plataformas linux incorporadas com duas rotas possíveis para a Internet: uma interface celular e uma interface wifi. Os clientes móveis gastam muito tempo fora do alcance de qualquer wifi disponível. Então, na maioria das vezes eles vão usar o gateway de Internet celular. Quando no alcance de uma rede wifi, a interface wi-fi aparece, e a rota padrão é alterada para a interface wifi.

Problema: quando a interface wifi aparece, a rota padrão é alterada para usar a interface wifi, então o cliente openvpn começa a enviar pacotes pela interface wifi. Esses pacotes chegam ao servidor, mas o servidor os ignora. Pensei que, como o servidor não tem um conjunto de diretivas remotas, ele deve permitir automaticamente que o cliente "flutue" para um novo endereço, para que o servidor reconheça os pacotes vindos do cliente e comece a responder à nova rota imediatamente. Em vez disso, vejo os pings keepalive do servidor chegando na interface de celular do cliente e vejo os pings keepalive do cliente chegando ao servidor pela interface wifi. Eventualmente, um Inactivity timeout (--ping-restart) redefine a conexão antiga e uma nova conexão é estabelecida com sucesso através da interface wifi. Por que o servidor não deixa o cliente flutuar?

Configuração do servidor:

dev tun0
topology subnet
mode server
tls-server
duplicate-cn
push "topology subnet"
ifconfig 10.0.0.1 255.255.255.0
ifconfig-pool 10.0.0.200 10.0.0.254 255.255.255.0
port 12345
proto udp
persist-key
persist-tun
comp-lzo
ca /etc/openvpn/ssl/tmvca-cacert.pem
cert /etc/openvpn/ssl/principal-cert.pem
key /etc/openvpn/ssl/principal-key.pem
dh /etc/openvpn/ssl/dh1024.pem
username-as-common-name
keepalive 50 120
client-to-client
user nobody
group nogroup
verb 3
float

Configuração do cliente:

client
remote mydomain.com 12345
nobind
proto udp
mssfix 1400
persist-key
persist-tun
dev tun
ns-cert-type server
resolv-retry infinite
ca /opt/odp/openvpn/ca.pem
cert /opt/odp/openvpn/crt.pem
key /opt/odp/openvpn/key.pem
dh /opt/odp/openvpn/dh1024.pem
comp-lzo
verb 3
syslog ovpn-gw
auth-user-pass /opt/odp/openvpn/auth.passwd
writepid "/tmp/ovpn-gw.pid"
tls-remote principal
tls-exit
ipchange /opt/odp/scripts/ipchange.sh
script-security 2
    
por Isaac Sutherland 22.08.2016 / 21:07

1 resposta

0

Olhando para o fórum openvpn, parece ser um problema conhecido, eu encontrei um patch que talvez pudesse ajudá-lo link

    
por 22.08.2016 / 22:20