Eu tenho um servidor openVPN em execução. Este servidor está configurado para rotear o tráfego apenas para a rede interna quando necessário. Em server.conf:
...
push "route 192.168.0.0 255.255.255.0"
;push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 192.168.0.xxx"
;duplicate-cn
...
Todos os dispositivos (win, mac, ios e android) que trabalham com o cliente openvpn connect oficial funcionam conforme o esperado: eles alcançam a rede interna, mas o resto da navegação vai diretamente para a internet. Porém, quando eu uso o network-mananger no ubuntu 22.04 importando o perfil ovpn o cliente se conecta corretamente, o dns funciona... mas TODO o tráfego é roteado através do vpn.
Se eu usar o comando openvpn, posso me conectar ao ovpn conforme esperado (roteando o tráfego corretamente), mas não me sinto confortável em executar comandos sudo ("sudo openvpn --script-security 2 --config /etc/openvpn/client/profile. ovpn") e fazer algumas coisas estranhas.
Esta é a parte significativa do meu perfil de cliente ovpn:
client
dev tun
proto udp
resolv-retry infinite
nobind
persist-key
persist-tun
cipher AES-256-GCM
auth SHA512
verb 3
tls-client
tls-version-min 1.2
key-direction 1
remote-cert-tls server
remote mydomain.com 1194
<ca>
Editar: encontrei uma diferença. O gerenciador de rede Ubuntu está gerando um terceiro dispositivo.
Então, com o script "openvpn --script-security 2 --config /etc/openvpn/client.ovpn" eu recebo estes dois dispositivos: tun0: 10.8.0.14 enxzzzz: 192.168.18.6
com o gerenciador de rede do Ubuntu eles são iguais, mas há um terceiro dispositivo! virbr0: 192.168.122.1
As configurações "push" do servidor OpenVPN podem ser substituídas pelo cliente. Nunca espere que o cliente os esteja usando.
Parece que o Network Manager, por padrão, não define "Usar esta conexão apenas para recursos nesta rede". O que desabilita ou habilita a rota padrão através da conexão VPN.
O comando openvpn respeita o "push" do servidor e funciona conforme o esperado.
A linha de comando para mudar isso:
de acordo com o ipv6, se necessário.
Ou no Gui: