Estou tentando rotear o tráfego entre dois servidores openvpn; Gostaria de ter a seguinte conexão:
Cliente -> OpenVpnServer1 -> OpenVpnServer2 -> Internet
Tenho os dois servidores rodando e trabalhando separadamente, mas tentei configurar o OpenVpnServer1 para encaminhar todo o tráfego de seus clientes para o OpenVpnServer2 usando iptables, mas falhei.
Interfaces e configurações OpenVpnServer1:
eth0 – internet pública
tun0 – para clientes conectados a este servidor
tun1 – interface de conexão para o segundo servidor (ativo quando conectado usando o cliente openvpn)
*nat
:POSTROUTING ACCEPT [0:0]
-A POSTROUTING -s 10.10.0.0/8 -o eth0 -j MASQUERADE
COMMIT
Interfaces e configurações do OpenVpnServer2:
ens33 – internet pública
tun0 – para clientes conectados a este servidor
*nat
:POSTROUTING ACCEPT [0:0]
-A POSTROUTING -s 10.8.0.0/8 -o ens33 -j MASQUERADE
COMMIT
Atualizar:
Eu testei as conexões entre server1 e server2 e server1 pode executar ping no Google a partir de seu adaptador tun1. O problema é que não sei como encaminhar o tráfego sem alterar a rota padrão no servidor1. Se eu alterar a rota padrão para tun1, os clientes não poderão se conectar ao server1.
Responder1
Ok, algumas noções básicas primeiro. O cliente abre uma conexão VPN com o Servidor1. O servidor possui uma conexão ativa com o server2 e esta conexão está configurada como rota padrão (você fez isso, correto?)
Primeiro de tudo, eu configuraria esse túnel entre o servidor1 e o servidor2 como VPN site a site - mas esse é um tópico diferente.
No server1, sua regra do iptables está errada. A regra correta seria:
iptables -t nat -A POSTROUTING -o tun1 -j MASQUERADE
Por que?
Se você deseja que esta configuração funcione, você precisa fingir que todo o tráfego que passa pelo túnel VPN do servidor1 para o servidor2 está sendo iniciado pelo servidor1, em detalhes tem o IP da sua interface tun1, para que a resposta chegue ao servidor1, e possa ser roteado corretamente de volta ao cliente. É isso que a regra faz. Sua regra, por outro lado, mascararia apenas todo o tráfego que sai para a Internet pública, e não por meio de qualquer VPN.