OpenVPN: somente rotear endereços IP específicos através de VPN?

33

Em uma rede privada remota, há dois servidores - um servidor de arquivos e um servidor de banco de dados (ambos são máquinas Win, caso isso seja importante).

O servidor de arquivos tem seus próprios mecanismos de autenticação bastante robustos e permite que eu me conecte diretamente de um local remoto.

O servidor de banco de dados usa um nome de usuário e senha simples, portanto, para impedir o acesso não autorizado, ele é bloqueado para a rede local - o tráfego externo é bloqueado.

Para acessar o servidor de banco de dados, estou usando o cliente OpenVPN no Windows para conectar-me a um servidor VPN na rede privada.

Por padrão, o OpenVPN roteia todos os pacotes de rede destinados à rede remota em que o servidor VPN reside, através da VPN. Infelizmente, acessar o servidor de arquivos através da VPN é extremamente lento!

Pergunta:

Como posso configurar o cliente OpenVPN para SOMENTE rotear o tráfego através da VPN que é destinada a um único endereço IP específico - ou seja, o servidor de banco de dados?

    
por Brian Lacy 03.08.2012 / 03:03

4 respostas

39

A configuração correta para o OpenVpn é:

route-nopull 
route 192.168.0.0 255.255.255.0

Essas entradas pertencem ao seu arquivo .ovpn e direcionarão todo o tráfego de sub-rede 192.168.0. * através da VPN.

Apenas para um IP (192.168.0.1):

route-nopull 
route 192.168.0.1 255.255.255.255
    
por 06.08.2013 / 10:15
24

Objetivos

  • Use a conexão simples à Internet para todo o tráfego da Internet por padrão, mesmo quando a VPN estiver conectada.
  • Encaminha o tráfego para um endereço IP específico por meio da VPN.

Etapas

  1. Pressione Win + R e execute ncpa.cpl .

  2. Clique com o botão direito do mouse na conexão VPN e vá para Propriedades → Rede .

  3. Selecione Internet Protocol Version 4 e vá para Propriedades → Avançado ... .

  4. Desmarque Use o gateway padrão na rede remota e clique em OK .

  5. (opcional) Repita as etapas anteriores para Protocolo da Internet Versão 6 .

  6. (Re) conecte-se à sua VPN.

  7. Abra um prompt de comando e execute route print -4 .

  8. Identifique a interface da VPN na Lista de interfaces e seu gateway nas Rotas ativas .

    Na minha máquina, tenho:

    Interface List
     32...........................Super Free VPN
    
    [...]
    
    Active Routes:
    Network Destination        Netmask          Gateway       Interface  Metric
              0.0.0.0          0.0.0.0         On-link        10.6.6.127     31
             10.0.0.0        255.0.0.0        10.88.1.1      10.88.1.102     31
    

    Aqui, o gateway da VPN é 10.88.1.1 , pois é o gateway do bloco 10.xxx.xxx.xxx .

  9. Adicione uma rota persistente que será anexada às rotas ativas sempre que houver uma conexão com a VPN:

    route -p add 23.22.135.169 10.88.1.1 if 32
    

    Neste exemplo, 23.22.135.169 é o IP de whatismyip.org , 10.88.1.1 é o IP do gateway e 32 o número da interface.

  10. (opcional) Repita as etapas anteriores para route print -6 .

  11. Teste a configuração.

    Se tudo deu certo, whatismyip.org e www. whatismyip.cx exibirá diferentes IPs agora.

por 03.08.2012 / 05:53
10

Para sua configuração do cliente OpenVPN, adicione uma linha como:

route The.IP.To.Go 255.255.255.255

(Onde O.IP.To.Go é o IP que você deseja rotear através da VPN)

Isso instrui o OpenVPN a criar a entrada na tabela de roteamento de seu sistema operacional.

Alternativamente, o servidor OpenVPN poderia ser feito para "empurrar" essa configuração de roteamento para os clientes, adicionando a configuração do servidor:

push "route The.IP.To.Go 255.255.255.255"

EDITAR: Uma coisa que eu senti falta de endereçamento - o encaminhamento padrão de todo o tráfego ... Ele poderia ser desativado no servidor, ou os clientes podem optar por ignorar as diretivas "push" (então a nossa segunda opção de "empurrar" a rota não funcionaria) :

route no-pull
    
por 04.02.2013 / 15:38
-1
iptables -A PREROUTING -t mangle -i <LAN_interface> \
-d <remote_network>/<remote_netmask> -j ROUTE --gw <openvpn_host_ip>
    
por 13.02.2015 / 10:07