![Cliente OpenVPN como gateway para outros clientes](https://rvso.com/image/623645/Cliente%20OpenVPN%20como%20gateway%20para%20outros%20clientes.png)
Tenho rede OpenVPN com um servidor e dois clientes. Quando configuro minha rota padrão em C1 para passar por S (que tem encaminhamento de IP e NAT ativado), tudo funciona conforme o esperado. O problema é que se eu apontar a rota padrão C1 para C2 (que também está configurada corretamente para o tráfego NAT da VPN para a Internet), o tráfego será capturado por S de qualquer maneira e encaminhado por ele. Quando eu tcpdump em C2, não há sinal de que nada chegue lá. É possível configurar o cliente como gateway para outros clientes no OpenVPN ou é propriedade do sistema que os pacotes sejam roteados por evento do servidor se a rota no cliente estiver apontada para outro cliente?
Editar:
Os colchetes representam minha rede virtual (ela não existe fisicamente). C1/C2/S podem executar ping entre si na rede sem problemas. Quero rotear o tráfego de C1 a C2 para a Internet. Posso rotear de C1 (e provavelmente de C2) através de S para a Internet, mas o roteamento através de C2 não funciona, pois os pacotes são encaminhados por S. Este parece ser um problema com o servidor OpenVPN não querendo enviar pacotes para onde deveriam ir.
[C1-S(NAT)] – A Internet A Internet - [(NAT)C2/ ]
Responder1
Responder completamente a isso é difícil sem conhecer a topologia de rede que você está tentando descrever. Embora eu ache que posso dizer que, em geral, é possível fazer o que você está pedindo.
Considere o cenário abaixo:
C1 -- R1 --(NAT)-- Internet --(NAT)-- R2 -- C2
Aqui, se houver um túnel OpenVPN (corretamente configurado) criado entre R1 e R2, então C1 poderá conversar com C2 e vice-versa.
Este cenário é mais difícil de corrigir:
C2 -- R1 --(NAT)-- Internet --(NAT)-- R2 -- C3 C1/\C4
Onde C2 e C3 são os endpoints do OpenVPN e C1 deve usar a VPN para chegar ao C4. O primeiro obstáculo é estabelecer o túnel OpenVPN entre C2 e C3, provavelmente usando encaminhamento de porta de R1 e R2 de UDP 1190 para C2 e C3, respectivamente.
O próximo é fazer com que C1 use C2 como forma de levar pacotes para C4. Isso envolve configurar a tabela de roteamento em C1 e C4. C1 define a rota para a rede de C4 pela VIA C2, e C4 define a rota para a rede de C1 pela VIA C3. Ambas as rotas devem ter precedência sobre o padrão. Então, talvez em C1: {route add 192.168.3.0 gw 192.168.2.2} e em C4: {route add 192.168.1.0 gw 192.168.3.2}. Isso pressupõe que os endereços de C2 e C3 sejam 192.168.2.2 e 192.168.3.2, respectivamente, e que C1 e C4 estejam na mesma rede que C2 e C3, respectivamente.
Esperamos que isso seja suficiente para responder à sua pergunta e demonstrar que é muito mais fácil configurar a VPN no gateway padrão do que configurar a VPN em um cliente, mas há casos de uso para ambos.
Editar: Com esta topologia e descrição do problema, acredito que há problemas de roteamento em C1 e C2... A rota padrão de C1 deve apontar para o endereço VPN de C2 como roteador. Isso forçará C1 a usar a VPN para enviar pacotes para C2, e então C2 decidirá o que fazer com eles.
Caso C2 utilize sua própria conexão com a Internet, como você mostrou, a rota padrão do C2 deve ser para sua própria conexão com a Internet.
Se, em vez disso, C2 não tiver realmente seu próprio caminho para a Internet e, em vez disso, passar por S, então S deverá ser o roteador padrão de C2.
Responder2
Já enfrentei esse problema antes, tinha um cliente VPN funcionando, impedindo-me de acessar outro dispositivo na minha LAN doméstica. Tive que configurar uma rota estática para a 2ª máquina, pois o cliente VPN adicionará automaticamente uma rota padrão e encaminhará todo o tráfego para o servidor.
Se estiver tudo bem para você fazer com que o tráfego de C1 para C2 passe pelo servidor, você precisa habilitar a diretiva cliente para cliente em server.conf para que os clientes possam se comunicar através da VPN. Por padrão, os clientes só poderão acessar o servidor.
Verificarhttp://openvpn.net/index.php/open-source/documentation/howto.htmlem "Incluindo várias máquinas no lado do cliente ao usar uma VPN roteada (dev tun)".