Estou criando uma VPN para acessar uma VPC, mas quero que o restante do tráfego não passe pela VPN.
Consegui acessar o VPC por meio da VPN, mas quando conectado a ela, perco o acesso à Internet.
Esta é a configuração do meu servidor:
port 1194
proto udp
dev tun
ca /etc/openvpn/server/ca.crt
cert /etc/openvpn/server/vpn.crt
key /etc/openvpn/server/vpn.key
dh /etc/openvpn/server/dh.pem
topology subnet
server 172.16.0.0 255.255.255.0
ifconfig-pool-persist /var/log/openvpn/ipp.txt
push "route 10.0.0.0 255.255.0.0"
keepalive 10 120
tls-auth /etc/openvpn/server/ta.key 0
cipher AES-256-GCM
user nobody
group nogroup
persist-key
persist-tun
status /var/log/openvpn/openvpn-status.log
log-append /var/log/openvpn/openvpn.log
verb 3
explicit-exit-notify 1
data-ciphers AES-256-GCM:AES-128-GCM:CHACHA20-POLY1305
Adicionei este iptable ao servidor para acessar a VPC:
sudo iptables -t nat -A POSTROUTING -s 172.16.0.0/24 -d 10.0.0.0/8 -j MASQUERADE
E este é meu arquivo .ovpn para o cliente:
client
dev tun
proto udp
remote XXXXXXXXXXXXX 1194
resolv-retry infinite
nobind
persist-key
persist-tun
cipher AES-256-GCM
data-ciphers AES-256-GCM:AES-128-GCM:CHACHA20-POLY1305
verb 3
ca [inline]
cert [inline]
key [inline]
tls-auth [inline] 1
pull
<ca>....
Ao conectar na VPN, é adicionada uma rota no cliente com destino 0.0.0.0 e gateway o servidor vpn, acredito que seja esse o problema, mas não sei como evitar que isso aconteça.
~ route -n
Tabla de rutas IP del núcleo
Destino Pasarela Genmask Indic Métric Ref Uso Interfaz
0.0.0.0 172.16.0.1 0.0.0.0 UG 50 0 0 tun0
0.0.0.0 192.168.1.1 0.0.0.0 UG 100 0 0 eno1
10.0.0.0 172.16.0.1 255.255.0.0 UG 50 0 0 tun0
[**VPN IP**] 192.168.1.1 255.255.255.255 UGH 50 0 0 eno1
172.16.0.0 0.0.0.0 255.255.255.0 U 50 0 0 tun0
192.168.1.0 0.0.0.0 255.255.255.0 U 100 0 0 eno1
192.168.1.1 0.0.0.0 255.255.255.255 UH 50 0 0 eno1
Estou usando o gerenciador de rede padrão do Ubuntu para importar o arquivo .ovpn e conectar à VPN.
Ok, parece haver um problema com o gerenciador de rede do Ubuntu.
Usei o OpenVPN Connect e ele funciona bem com esse aplicativo no Windows e no Mac, e também no Linux usando a linha de comando: