Cliente OpenVPN como gateway para outros clientes

1

Eu tenho uma rede OpenVPN com um servidor e dois clientes. Quando eu configuro minha rota padrão em C1 para passar por S (que tem o encaminhamento de IP e o 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á roubado de qualquer maneira por S e encaminhado por ele. Quando eu tcpdump em C2, não há sinal de nada chegando lá. É possível configurar o cliente como gateway para outros clientes no OpenVPN ou é propriedade do sistema que os pacotes sejam roteados pelo 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 pode pingar uns aos outros dentro da rede sem problemas. Quero encaminhar o tráfego de C1 a C2 para a Internet. Eu posso rotear de C1 (e provavelmente de C2) até S para a internet, mas o roteamento através do C2 não funciona, já que os pacotes são encaminhados pelo S. Isso parece ser um problema com o servidor OpenVPN não querer enviar pacotes para onde eles deveriam ir.

                [C1-S(NAT)] -- The Internet
The Internet -- [(NAT)C2/ ]
    
por atalax 27.12.2013 / 19:26

2 respostas

1

Responder completamente é difícil sem conhecer a topologia de rede que você está tentando descrever. Embora eu possa 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 (configurado corretamente) criado entre R1 e R2, então C1 poderá falar com C2 e vice-versa.

Este cenário é mais difícil de ser corrigido:

C2 -- R1 --(NAT)-- Internet --(NAT)-- R2 -- C3
C1 /                                      \ C4

Onde C2 e C3 são os pontos de extremidade do OpenVPN e C1 deve usar a VPN para chegar ao C4. O primeiro obstáculo é obter o túnel OpenVPN estabelecido entre C2 e C3, provavelmente usando o port forwawding de R1 & R2 de UDP 1190 a C2 & C3, respectivamente.

O próximo é fazer o C1 usar o C2 como forma de obter pacotes para o C4. Isso envolve configurar a tabela de roteamento em C1 e C4. C1 define a rota para a rede da C4 que passa pela VIA C2, e a C4 define a rota para a rede da C1 que vai para a VIA C3. Ambas as rotas devem ter precedência sobre o padrão. Então talvez no 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}. Isto está assumindo que os endereços C2 e C3 são 192.168.2.2 e 192.168.3.2, respectivamente, e que C1 e C4 estão na mesma rede que C2 e C3, respectivamente.

Espero 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 na rota padrão C1 e C2 ... C1 deve apontar para o endereço VPN de C2 como o roteador. Isso forçará C1 a usar a VPN para obter pacotes para C2 e, em seguida, o C2 decidirá o que fazer com eles.

No caso em que o C2 usa sua própria conexão com a Internet, como você mostrou, a rota padrão do C2 deve estar em sua própria conexão com a Internet.

Se, em vez disso, o C2 não tiver seu próprio caminho para a Internet e, em vez disso, passar por S, então S deverá ser o roteador padrão do C2.

    
por 27.12.2013 / 20:08
1

Eu enfrentei esse problema antes, eu tinha um cliente vpn funcionando, impedindo que eu alcançasse outro dispositivo na minha lan em casa. Eu tive que configurar uma rota estática para a segunda máquina, uma vez que o cliente vpn irá adicionar automaticamente uma rota padrão e encaminhará todo o tráfego para o servidor.

Se estiver OK para você ter o tráfego de C1 para C2 passando pelo servidor, é necessário ativar a diretiva cliente-cliente em server.conf para que os clientes possam se comunicar pela VPN. Como por padrão, os clientes só poderão acessar o servidor.

Verifique o link em "Incluindo várias máquinas no lado do cliente ao usar um roteamento VPN (dev tun) ".

    
por 31.12.2013 / 16:12