Encaminhamento de tráfego da VPN segura (ipsec) para PPTP

2

Eu configurei meu servidor (server1) para se conectar a outro servidor (server2) em uma VPN com IPsec (secure vpn). Mas agora preciso configurar outra VPN (vpn de trabalho) para poder me conectar ao meu servidor (servidor1) e acessar o outro servidor (servidor2).

Meu servidor tem 1 interface de rede externa (eth0 com o IP 71.185.153.102 - acesso à internet). A VPN segura usa eth0: 0, que é uma interface de rede virtual com o IP 71.185.200.240.

Objetivo: conectar-se à VPN segura (do meu escritório de trabalho) e acessar uma página com o endereço: link

Como isso deve funcionar:

meu escritório em casa - > se conecta ao trabalho VPN (que está no meu servidor) - > o servidor obtém pacotes através da interface ppp0 - > iptables deve encaminhar e traduzir todos os pacotes para eth0: 0 (VPN sobre IPsec)

O que eu fiz até agora:

  • poptop instalado (pptpd)
  • deu-lhe um localeip e um remoteip (localeip 192.168.0.1 remoteip 192.168.0.100-200)
  • aceita todo o tráfego de ppp0: iptables -A INPUT -i ppp0 -j ACCEPT
  • aceita todos os encaminhamentos de ppp0 para eth0: iptables -A INPUT -i ppp0 -o eth0 -j ACCEPT protocolo aberto:
    • iptables -A INPUT -p gre -j ACEITAR
    • iptables -A OUTPUT -p gre -j ACEITAR
  • adicionou o DNAT e o SNAT:
    • iptables -A PREROUTING -p tcp -i ppp0 -j DNAT - para 91.185.200.240 (encaminhar para eth0: 0)
    • iptables -t nat -A POSTROUTING -s 192.168.0.1 -o eth0 -j SNAT - para 71.185.200.240 (mude o IP se vier de ppp0)

Mas o problema é que nada funciona e não tenho certeza de como depurá-lo para ver o que está errado (não é um especialista em redes). Eu posso me conectar através da VPN, mas ela desconecta depois de alguns minutos. E eu não posso pingar o IP na VPN segura (eu posso pingar do servidor muito bem). Além disso, quando me conecto à VPN, minha conexão com a internet cai.

Eu também estou disposto a fazer isso de qualquer outra forma, desde que eu possa acessar a página da web.

Diagrama de rede: diagrama de rede

    
por blejzz 29.11.2011 / 16:14

1 resposta

1

Você realmente tem duas maneiras possíveis de ir até aqui.

1. Use um túnel SSH em vez

Livre-se de todas as coisas da VPN PPtP e use um túnel SSH. Supondo que você possa usar o SSH em sua máquina, não precisará configurar nada ou realizar qualquer tipo de reconfiguração que possa quebrar alguma coisa.

Você não especificou qual sistema operacional está usando em seu cliente, mas eu suponho que você esteja usando o PuTTY no Windows ou o OpenSSH em algum outro SO (Mac OS X, Linux, etc.).

No PuTTY no Windows, você acessaria os túneis SSH- > e adicionaria uma porta encaminhada, por exemplo, source = 6084, destination = 20.35.166.61:6084 e, em seguida, se conectaria ao servidor. (É útil salvar um perfil para evitar que você configure isso toda vez.)

Com o OpenSSH você pode usar algo como ssh -L 6084:20.35.166.61:6084 [email protected] (seu nome de usuário @ pode ser omitido se for o mesmo que seu nome de usuário local no seu computador).

Você deve poder acessar o servidor remoto usando o link . Alguns aplicativos da Web não gostarão de você usando um endereço IP diferente e quebrarão links. Em alguns casos, será suficiente adicionar o nome do host ao servidor seguro ao seu arquivo de hosts ( C:\WINDOWS\SYSTEM32\DRIVERS\ETC\HOSTS no Windows, /etc/hosts no OS X, Linux e outros sistemas operacionais semelhantes) - com um endereço IP de 127.0.0.1 . Isso, é claro, quebrará as coisas se você tentar fazer qualquer outra coisa, mas se conectar à porta 6084 nesse nome de host específico, ou se a sessão ssh não estiver ativa.

Uma alternativa ao tunelamento de uma única porta é usar "tunelamento SSH dinâmico", o que significa que o cliente ssh emula um proxy SOCKS. Neste modo, você faria algo como ssh -D 3128 [email protected] (com OpenSSH) ou, usando PuTTY, selecionando um túnel "dinâmico" com 3128 como a porta de origem (você não precisa especificar um destino). Em seguida, você configura seu navegador da Web com 127.0.0.1:3128 como seu proxy SOCKS e bam - todo o tráfego do seu navegador da Web será redirecionado por meio do seu servidor. Isso inclui qualquer outro tráfego da Web de sua máquina, portanto, tome cuidado se não for o que você deseja. Além disso, isso significa que seu navegador da Web irá parar de funcionar quando seu túnel SSH estiver inoperante.

2. Corrigir seu túnel PPtP

Você parece ter enumerado alguns problemas específicos.

1. A VPN é desconectada após alguns minutos.

Provavelmente isso ocorre por causa de um firewall com inspeção de pacotes com monitoração de estado (como o "roteador de banda larga" do seu jardim) entre o usuário e o servidor, causando uma conexão no tempo limite. Dependendo da marca e modelo deste firewall, você poderá aumentar seus tempos limite. Como solução alternativa, talvez você queira definir a opção set link keep-alive em PoPToP como algo baixo o suficiente para garantir que as sessões não expirem.

2. Sua conexão com a Internet pára de funcionar quando conectada.

Isso ocorre porque, ao conectar sua VPN, sua "rota padrão" será configurada para passar pela conexão VPN. Ou seja Vai tentar enviar o seu tráfego de internet através do seu servidor. A menos que você configure NAT de origem, o tráfego que sai do servidor para a Internet maior terá um IP entre 192.168.0.100-200 como seu IP de origem e, embora seus pacotes possam chegar ao seu destino, você não tem como saber porque o controle remoto O host não tem como enviar seu tráfego de volta para seu endereço IP não roteável.

Existem algumas soluções possíveis para este problema:

  • Configure o NAT no servidor para que o endereço de origem de qualquer tráfego que saia da VPN seja o mesmo que o endereço IP da interface de rede voltada para a Internet do servidor.
  • Use endereços IP públicos em vez de endereços IP privados e configure o roteamento de acordo (provavelmente impraticável em seu cenário)
  • Não direcione o tráfego para a Internet através da VPN em primeiro lugar - você não especificou qual cliente VPN está usando, por isso não posso ajudá-lo com isso. PoPToP pode ter a capacidade de "empurrar" a configuração de roteamento para o cliente PPtP, mas não sei como. Confira alguma documentação. Mas provavelmente você pode corrigir isso no lado do cliente.

3. Você não pode alcançar o servidor remoto

Isso não está funcionando pelo mesmo motivo que sua conexão com a Internet pára de funcionar - os pacotes podem estar chegando ao seu destino, mas o servidor remoto não tem como enviar pacotes de volta para você.

Possíveis soluções são:

  • Certifique-se de que o servidor remoto tenha sua VPN em sua tabela de roteamento. (Eu suspeito que isso pode não ser viável no seu caso, tenho a sensação de que você não administra o servidor remoto, e o administrador remoto pode não estar disposto a adicionar uma rota a um intervalo de IP privado ...)
  • Use NAT de origem para traduzir o endereço IP de origem dos pacotes que saem pela VPN.
por 04.12.2011 / 21:29