Uma VPN deve ter acesso a todas as redes de e para todos os clientes?

1

Eu tenho um servidor OpenVPN e muitos clientes conectados. As configurações da VPN incluem

port 443
dev tun
proto tcp

Quando eu adiciono clientes à minha VPN, eu tenho que usar o apaches proxypass para acessar recursos que são locais para um cliente individual, mas não para a rede de VPN.

Por exemplo:

-Servidor está em 10.8.0.1

-O cliente está em 10.8.0.4

-Outro cliente está em 10.8.0.7

O cliente 10.8.0.4 também está em uma rede de trabalho que pode se conectar à url interna 10.82.54.11/internal_url (já que um de seus adaptadores de rede está na sub-rede 10.82). 54.0).

Este cliente tem uma configuração do apache proxypass, portanto, quando estão em casa, podem se conectar a 10.82.54.11/internal_url abrindo 10.8.0.4:84 .

Eu tenho dito recentemente que TODOS os clientes em uma VPN devem ter acesso a todas as redes, isso está correto (ou até mesmo possível, como seria muito útil para mim)?

Então, essencialmente, desde que o cliente 10.8.0.4 esteja conectado à VPN, em casa ele ainda pode apontar um navegador para 10.82.54.11/internal_url . p>

Eu tentei dev tap0 para o servidor e todos os clientes (acho que talvez precise de conexão ethernet em todos também), mas sem alegria. Por favor ajude

    
por Craig Taub 01.02.2013 / 14:37

1 resposta

3

O OpenVPN fornece um link. Se estiver executando no modo tun (recomendado), ele fornece um link para o tráfego IP. Se estiver executando no modo tap, ele fornece um link para o tráfego Ethernet (que inclui o IP, mas também todos os tipos de outras coisas).

Se você executar no modo de toque, será necessário conectar sua interface de derivação OpenVPN à sua interface Ethernet. Você pode fazer isso com brctl , mas, geralmente, eu não recomendaria isso, a menos que você precise de protocolos não IP para funcionar. É mais lento (mais sobrecarga) e pode ter sérios problemas, dependendo da latência. [OK, você poderia tratá-lo como um segmento de rede separado e usar o roteamento IP, mas depois deve mudar para o modo tun.]

Quando você executa no modo tun (o que parece que você é e deveria ser), você precisa obter o seu roteamento IP correto. Nesse caso, suponho que seu cliente não saiba que o tráfego para 10.82.54.11 precisa ser roteado pela VPN. Você precisa deixar o cliente saber disso. Você pode configurar manualmente uma rota estática no cliente, ou executar um protocolo de roteamento ou usar um recurso integrado que o OpenVPN fornece adicionando esta linha à sua configuração do servidor OpenVPN:

push "route 10.82.54.0 255.255.255.0"

push envia uma opção para o lado remoto. Assim, o cliente adicionará a opção route 10.82.54.0 255.255.255.0 , o que significa adicionar uma rota estática para rotear 10.82.54.0/24 através da VPN.

A próxima coisa que você precisa fazer é certificar-se de que o roteamento no caminho inverso também esteja correto. Seu servidor 10.82.54.11 (ou, mais provavelmente, o roteador ou firewall que funciona como seu gateway padrão) precisa saber que a rota para 10.8.0.0/24 é através do gateway da VPN. Pode ser que você tenha apenas um roteador / firewall, então o servidor está atrás do firewall que é o servidor VPN também, neste caso você pode apenas precisar adicionar algo como isto na sua configuração do OpenVPN (se você ainda não o tiver ):

route 10.8.0.0 255.255.255.0

O que deve parecer familiar e fazer a mesma coisa - apenas no servidor, não no cliente, devido à falta de push .

(Ajuste todas as máscaras de rede conforme apropriado para sua rede. Eu assumi / 24, mas é claro que você pode estar usando qualquer coisa.)

[Nota: Suponho que você esteja usando o modo de vários clientes do OpenVPN, não o modo ponto-a-ponto. Se você estiver usando ponto a ponto, os endereços IP nos comandos de rota podem ser diferentes.]

    
por 01.02.2013 / 15:04

Tags