Há duas coisas que você precisa verificar e possivelmente corrigir.
Primeiro, você precisa garantir que o encaminhamento de IP esteja ativado no kernel. O encaminhamento de IP permite que o kernel passe pacotes de uma interface para outra. Você pode verificar isso com o seguinte:
$ sysctl net.ipv4.ip_forward
net.ipv4.ip_forward = 0
Se você vir um 0
em vez de um 1
, será necessário ativar o encaminhamento de IP. A maneira mais fácil e confiável é adicionar a seguinte linha a /etc/sysctl.conf
(ou modificá-la se já houver uma entrada para net.ipv4.ip_forward
):
# Controls IP packet forwarding
net.ipv4.ip_forward = 1
E, em seguida, execute sysctl -p
para recarregar a configuração desse arquivo.
Em seguida, você precisará configurar IPtables
para fazer a conversão de endereços de rede (NAT) nos pacotes provenientes da VPN. Caso contrário, quando esses pacotes forem enviados eth0
, qualquer dispositivo que receba os pacotes não saberá como responder (eles não têm uma rota de volta para 192.168.3.0/24
através do servidor VPN). Existem duas maneiras de configurar o NAT: NAT estático (SNAT) e Masquerade. O SNAT é recomendado quando não é esperado que o endereço IP na interface de saída ( eth0
no seu caso) seja alterado. O modo Masquerade é projetado para situações de IP dinâmico, como dial-up ou outras configurações de endereço dinamicamente atribuídas (modems a cabo, DSL, etc.). Ambos são configurados de forma semelhante, embora.
Para o SNAT, você adicionaria uma regra de IPtables ao longo das linhas de (observe, usei 192.168.2.13
porque não sei o IP que você atribuiu à eth0; você deseja alterar isso conforme apropriado):
iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source 192.168.2.13
Se o endereço IP na eth0 não for estático e confiável, você usaria o Masquerade, que se pareceria com:
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE