Acesse os recursos da rede local remotamente usando o OpenVPN

3

Eu tenho batido minha cabeça contra a parede por uma semana, então pensei em finalmente recorrer aos especialistas. Muito apreciado por qualquer ajuda.

[Nota: originalmente postado isso no ServerFault, foi dito que este é um lugar melhor para isso.]

O que estou tentando fazer : tenho alguns recursos em minha rede local (doméstica) que gostaria de poder acessar remotamente. Eu preciso ser capaz de acessá-los tanto em computadores remotos como em dispositivos iOS. Este último ponto significa que eu tenho que usar o TUN ao invés do TAP, já que o cliente iOS OpenVPN não suporta o TAP. (Também seria bom poder usar essa VPN para acessar a Internet mais ampla quando estou em uma área wifi pública incompleta, mas essa é uma meta secundária.)

O que eu fiz até agora : Eu tenho um antigo roteador Linksys e1200, flashed DD-WRT com suporte OpenVPN nele (especificamente DD-WRT v24-sp2 (06/07/14) vpnkong), e configurou com sucesso o OpenVPN & Encaminhamos as portas do meu roteador principal para que eu possa me conectar a ele remotamente. (Eu sei que posso conectar, porque quando eu logar na VPN remotamente eu posso acessar a página de administração do roteador.) No entanto, uma vez que meu cliente remoto está conectado, não consigo acessar os recursos da LAN.

Eu tenho andado por aí com todos os tipos de comandos de configuração / encaminhamento de portas / iptables do OpenVPN, mas parece que não consigo fazer nada funcionar. Dito isso, sou muito novo nesse nível de configuração de rede e estou tentando aprender como o roteamento funciona, por isso, se estou fazendo algo estúpido, me avise; tudo é mutável.

Minha configuração :

<The Internets>
     |
     |
--------------------------------
|   DSL modem                  |
|   Internal IP: 192.168.1.254 |
--------------------------------    
       |    
       |
-------------------------------          ----------------------------------
| Main router                 |          |  DD-WRT router running OpenVPN | 
|  192.168.1.67 from modem    | -------- |  IP:  10.0.0.17                |
|  Internal IP:  10.0.0.1     |          |  Subnet Mask: 255.255.255.0    |
|  Subnet Mask: 255.255.255.0 |          |  Gateway:  10.0.0.1            |
|  Hands out:  10.0.0.32-254  |          |  OpenVPN is server             |
|                             |          |       10.0.1.16/225.255.255.240|
-------------------------------          ----------------------------------
      |                                              |
      |                                              | 
Other things connected here       And some connected here as well, for testing

Tenho certeza de que o modem DSL e o roteador principal estão sendo encaminhados corretamente, já que posso conectar o roteador DD-WRT e o OpenVPN remotamente. Estou executando coisas sobre TCP na porta 443. (Eu sei que tenho duplo NAT acontecendo aqui, poderia mudar isso se isso é um problema. Eu também poderia ligar o servidor OpenVPN diretamente no modem DSL se isso seria útil em alguns maneira.)

Eu também sei que quando eu conecto meu computador ao roteador DD-WRT, posso acessar todos os recursos da LAN que eu quero. Então, pelo menos, isso está funcionando corretamente localmente.

Minha configuração atual do OpenVPN :

server 10.0.1.16 255.255.255.240
push "dhcp-option DNS 10.0.0.1"
push "route 10.0.1.0 255.255.254.0"
push "route 10.0.0.0 255.255.254.0"
route 10.0.1.0 255.255.254.0
route 10.0.0.0 255.255.254.0
dev tun0
proto tcp
port 443
keepalive 15 30
cipher AES-256-CBC
daemon
verb 5
mute 5 
comp-lzo 
duplicate-cn 
tls-server 
client-to-client 
dh /tmp/openvpn/dh.pem c
a /tmp/openvpn/ca.crt 
cert /tmp/openvpn/cert.pem 
key /tmp/openvpn/key.pem 
management localhost 14 

Meu firewall atual no roteador OpenVPN :

iptables -I INPUT 1 -p tcp --dport 443 -j ACCEPT
iptables -I FORWARD 1 --source 10.0.0.0/23 -j ACCEPT
iptables -t nat -s 10.0.0.0/23 -A POSTROUTING -o eth0 -j MASQUERADE
iptables -A INPUT -i tun0 -j ACCEPT
iptables -A FORWARD -i tun0 -o eth0 -J ACCEPT
iptables -A FORWARD -i eth0 -o tun0 -j ACCEPT

Outras informações aleatórias (úteis?) : No roteador OpenVPN eu tenho o WAN & DHCP desativado. Na tela "Setup > Advanced Routing", tenho o modo de operação definido como "RIP2 Router" (meu roteador principal é um roteador RIP2 também).

A tabela de roteamento no DD-WRT:

Destination  Subnet Mask        Gateway     Flags   Metric  Interface
10.0.1.18    255.255.255.255    0.0.0.0     UH      0       tun0
10.0.1.16    255.255.255.240    10.0.1.18   UG      0       tun0
10.0.0.0     255.255.255.0      0.0.0.0     U       0       LAN & WLAN
10.0.0.0     255.255.254.0      10.0.1.18   UG      0       tun0
169.254.0.0  255.255.0.0        0.0.0.0     U       0       LAN & WLAN
0.0.0.0      0.0.0.0            10.0.0.1    UG      0       LAN & WLAN

Estou feliz em postar qualquer outra informação que possa ser útil. Obrigado de novo! Muito apreciado com antecedência.

    
por Q A 22.06.2015 / 20:34

1 resposta

0

Simplicidade é uma coisa linda.

Use os clientes Mega / Dropbox nos seus dispositivos. Se você precisar imprimir em impressoras locais, instale o CloudPrint (Android) ou uma variante para iOS.

Caso contrário, use a rota fácil da VPN e use o TeamViewer VPN. Verifique se o intervalo de IPs é diferente no cliente & rede hospedeira. VPNs pode ser complicado, apenas 1 preferência incorreta e não funcionará como esperado.

Eu mudaria os roteadores e transformaria o que é atualmente o roteador principal em um simples switch mudo que aceita DHCP do 'novo' roteador principal.

    
por 23.06.2015 / 00:50