conecta-se à sub-rede via VPN

1

eu tenho configuração de VPN que é assim:

########### internet  ############## internet  ############   LAN   ############
# macbook # --------> # VPN server #----------># PC A     # -------># PC B     #
#10.8.0.6 #           # 10.8.0.1   #           # 10.8.0.7 #         # 192.168..#
###########           ##############           ############         ############

e agora eu quero acessar o PC B na LAN local do PC A (A está na rede VPN) com o meu macbook, eu posso acessar o PC A com o meu macbook, então funciona VPN, eu só preciso de alguma maneira de rota o tráfego do macbook sobre o PC A (eu acho) para alcançar o PC B na LAN do PC A, eu não posso adicionar o PC B à rede vpn porque eu não tenho acesso (físico) a ele. (espero que isso não seja muito confuso) como posso fazer isso? Servidor VPN e PC A estão rodando Debian,

qualquer conselho é muito apreciado :), e desculpe pelo meu mau inglês

    
por joschua011 21.07.2012 / 15:11

2 respostas

0

Se você puder modificar a rede no PC A , poderá fornecer vários endereços IP. Deixe um no intervalo 10.0.0.x para poder manter a comunicação com o PC A através do servidor VPN. Adicione um segundo IP à NIC no intervalo 192.168.x.x.

É provável que você precise adicionar uma rota no PC A para indicar que deve usar essa interface IP / para se comunicar com o PC B. Ou via route add -net para toda a rede 192.168.xx ou route add -host 192.168.a.b. netmask foo.bar.baz.foo ( etc etc) para um único host específico.

Agora você deve poder se comunicar do PC A ao PC B.

Se você tiver permissão para ativar o roteamento no PC A, também poderá configurá-lo para que possa acessar o PC B diretamente do seu macbook ou servidor VPN.

Você pode verificar isso com cat /proc/sys/net/ipv4/ip_forward ou ativá-lo com sysctl -w net.ipv4.ip_forward=1


Além disso, o primeiro internet entre o macbook no servidor VPN provavelmente deve ser LAN . O roteamento de intervalos 10.x.x.x para a internet não é tradicional. :)

    
por 21.07.2012 / 16:06
0

Sua configuração não está completamente definida. Eu faço essa suposição:

  • PC A já está na VPN e na sub-rede 192.168. Então, PC A pode alcançar PC B normalmente.

Os endereços exatos de PC A e PC B na sub-rede local não são fornecidos, infelizmente.

Como você não tem controle sobre PC B , é necessário criar um encaminhamento de porta em PC A para cada porta que deseja acessar no PC B.

No debian, você deve encaminhar as portas usando iptables . Eu tenho uma configuração semelhante com uma máquina opensuse que encaminha o RDP em PC B pela VPN. Isso seria em PC A .

pc_b=192.168...
macbook=10.8.0.6

case "$1" in
'start')
        iptables -F FORWARD
        iptables -t nat -F
        iptables -P FORWARD DROP
        echo 1 > /proc/sys/net/ipv4/ip_forward

        iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

        # VPN FORWARD of the RDP port (3389)
        iptables -A FORWARD -p tcp -s $pc_b --sport 3389 -d $macbook -j ACCEPT
        iptables -A FORWARD -p icmp -s $pc_b -d $macbook -j ACCEPT
        iptables -A FORWARD -p tcp -d $pc_b --dport 3389 -s $macbook -j ACCEPT

        iptables -A FORWARD -j REJECT

        # RDP from VPN
        iptables -t nat -A PREROUTING -i tun0 -p tcp --dport 3389 \
                -j DNAT --to-destination $pc_b
        ;;
'stop')
        iptables -F FORWARD
        iptables -t nat -F
        iptables -P FORWARD ACCEPT
        echo 0 > /proc/sys/net/ipv4/ip_forward
        ;;
'status')
        iptables -t nat -L PREROUTING
        ;;
esac

Este script aceita start , stop e status e pode ser usado no rc.d como um script de nível de execução em PC A tun0 é a interface da VPN.

Isso impedirá qualquer tráfego entre a sub-rede 192.168.. e a VPN, exceto as portas abertas explicitamente (3389 neste exemplo). Você não tem que desaprovar todos os outros encaminhamentos, mas eu recomendaria isso.

Isso também encaminhará o acesso a 10.8.0.7:3389 a 192.168..:3389 .

Se você não quiser usar o encaminhamento de porta, precisará alterar o roteamento em PC B de alguma forma. Se você não tiver acesso a PC B , precisará direcionar o tráfego do gateway padrão de PC B para a VPN . Uma possibilidade é rotear o tráfego para a VPN do gateway padrão para PC A .

Isso só funciona se você usar uma sub-rede diferente no local do macbook do que a usada entre PC A e PC B Se você usa algum tipo de roteador com o seu macbook, provavelmente também tem uma sub-rede 192.168.

Para essa configuração, você não usa o script anterior.

Você ainda precisa

echo 1 > /proc/sys/net/ipv4/ip_forward

(o mesmo que sysctl -w net.ipv4.ipforward=1 )

Como configurar o roteamento depende do sistema operacional no gateway padrão e do seu macbook. Em geral, funciona assim:

No macbook (rota para PC B ):

route add 192.168.. gw 10.8.0.7

Isso só funciona se não houver 192.168 .. sub-rede local já presente para o macbook!

No gateway padrão de PC B (rotear para VPN sobre PC A ):

route add 10.8.0.6 gw 192.168..

Naturalmente, como os endereços de sub-rede internos de PC A e PC B não são fornecidos pela pergunta, também não posso fornecer as informações de roteamento exatas.

    
por 31.12.2012 / 15:45