Ainda outro problema de roteamento no OpenVPN - Não é possível acessar máquinas locais durante a VPN

3

Este provavelmente será um post muito longo, porque quero ter certeza de que não me esqueço de nada. Esta é provavelmente uma questão muito trivial, mas não consigo descobrir o que há de errado com a minha configuração.

Cenário

Eu configurei recentemente um servidor VPN executando OpenVPN , atualmente em execução dentro de uma VM no ESXi . Eu baseei a instalação em este guia , e tudo parece estar funcionando bem: eu posso conectar ao meu servidor VPN (através do encaminhamento de porta no roteador) e fazer o login com autenticação de certificado.

O que não está funcionando

Não consigo acessar máquinas na minha rede local ( 192.168.0.0 ) quando estou conectado através da VPN.

No momento, depois de conectar-se com êxito via VPN à minha rede doméstica, todas as máquinas da minha LAN não estão acessíveis (não consigo nem mesmo executá-las).

Informações de rede

A configuração de rede é muito simples:

  • Minha rede local: 192.168.0.0
  • Meu IP do OpenVPN: 192.168.0.140
  • Meu gateway: 192.168.0.1
  • Minha rede VPN: 10.8.0.0
  • Meu IP da VPN do OpenVPN: 10.8.0.1
  • O roteador tem o encaminhamento de porta configurado na porta 1194

O que eu tentei até agora (alto nível)

Eu segui três recursos para tentar corrigir esse problema:

  1. O guia de roteamento do OpenVPN, especificamente a seção Usando o roteamento e o OpenVPN não sendo executado no gateway padrão
  2. This artigo curto sobre como configurar o roteamento com o OpenVPN para conectar-se aos hosts na minha LAN
  3. Outro artigo sobre como configurar o ESXi para que isso funcione , porque aparentemente, em sua configuração padrão, o ESXi pode causar alguns problemas para que isso funcione
  4. Encaminhamento de IP ativado no servidor VPN
  5. Habilitou todo o tráfego para passar pelo firewall do OpenVPN

O que tentei até agora (detalhado)

Este é o OpenVPN server.conf :

local 192.168.0.140
topology subnet
dev tun
proto udp
port 1194

ca /etc/openvpn/easy-rsa/keys/ca.crt
cert /etc/openvpn/easy-rsa/keys/vpnserver.crt
key /etc/openvpn/easy-rsa/keys/vpnserver.key
dh /etc/openvpn/easy-rsa/keys/dh1024.pem

server 10.8.0.0 255.255.255.0
# server and remote endpoints
ifconfig 10.8.0.1 10.8.0.2

# Add route to Client routing table for the OpenVPN Server
push "route 10.8.0.1 255.255.255.255"
# Add route to Client routing table for the OpenVPN Subnet
push "route 10.8.0.0 255.255.255.0"
# your local subnet
push "route 192.168.0.0 255.255.255.0"
# Set primary domain name server address to the SOHO Router
# If your router does not do DNS, you can use Google DNS 8.8.8.8
push "dhcp-option DNS 192.168.0.254"
# Override the Client default gateway by using 0.0.0.0/1 and
# 128.0.0.0/1 rather than 0.0.0.0/0. This has the benefit of
# overriding but not wiping out the original default gateway.
push "redirect-gateway def1"

client-to-client
duplicate-cn
keepalive 10 120
tls-auth /etc/openvpn/easy-rsa/keys/ta.key 0
cipher AES-128-CBC
comp-lzo
user nobody
group nogroup
persist-key
persist-tun
status /var/log/openvpn-status.log 20
log /var/log/openvpn.log
verb 1

Um exemplo client.ovpn :

client
dev tun
proto udp
remote <my_router_ip> 1194
resolv-retry infinite
nobind
persist-key
persist-tun
mute-replay-warnings
ns-cert-type server
key-direction 1
cipher AES-128-CBC
comp-lzo
verb 1
mute 20

Como meu roteador atual não suporta rotas estáticas, infelizmente não consigo configurar o roteamento de uma vez por todas, mas o faço em cada dispositivo que desejo acessar enquanto estou conectado via VPN. Por exemplo, no meu servidor Plex ( 192.168.0.110 ), eu fiz isso:

route add -net 10.8.0.0/24 gw 192.168.0.140

Para que minha máquina OpenVPN ( 192.168.0.140 ) possa conectar as máquinas na rede VPN ( 10.8.0.0 ) com as da rede local ( 192.168.0.0 ).

Também verifiquei se o encaminhamento de IP está habilitado no servidor OpenVPN, mas removendo o comentário da seguinte linha de /etc/sysctl.conf :

net.ipv4.ip_forward=1

Por fim, adicionei as seguintes regras iptables para permitir que todo o tráfego da rede VPN atinja a rede local:

# Allow traffic initiated from VPN to access LAN
iptables -I FORWARD -i tun0 -o eth0 -s 10.8.0.0/24 -m conntrack --ctstate NEW -j ACCEPT

# Allow established traffic to pass back and forth
iptables -I FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT

Por fim, configurei o comutador virtual vSwitch no ESXi para não descartar pacotes promíscuos, pois o artigo vinculado acima afirma que em sua configuração padrão ele descartaria esses pacotes, e isso poderia causar problemas ao usar o OpenVPN ao tentar acessar máquinas na rede local.

A menos que eu tenha perdido alguma coisa, isso realmente deve ser tudo o que precisa ser feito. Infelizmente, depois de me conectar com sucesso à VPN, ainda não consigo fazer o ping das máquinas na rede 192.168.0.0 .

Mais uma vez, isso é provavelmente algo bastante trivial, mas estou disposto a oferecer alguma recompensa pela resposta correta, porque uma das razões pelas quais configurei a VPN em primeiro lugar era poder acessar minhas outras máquinas sem a necessidade de encaminhar mais portas no roteador.

Informações de rede da máquina cliente

Esta é a saída completa de ipconfig da máquina que estou usando para conectar (para "falsificar" a conexão de uma rede remota, estou vinculando a conexão 3G do meu telefone e conectando via Wi-Fi a partir do Windows):

C:\Windows\System32>ipconfig

Windows IP Configuration


Ethernet adapter Local Area Connection:

   Connection-specific DNS Suffix  . :
   Link-local IPv6 Address . . . . . : fe80::2c0e:13f0:840c:37b4%15
   IPv4 Address. . . . . . . . . . . : 10.8.0.10
   Subnet Mask . . . . . . . . . . . : 255.255.255.252
   Default Gateway . . . . . . . . . :

Wireless LAN adapter Local Area Connection* 2:

   Media State . . . . . . . . . . . : Media disconnected
   Connection-specific DNS Suffix  . :

Wireless LAN adapter Wi-Fi:

   Connection-specific DNS Suffix  . :
   Link-local IPv6 Address . . . . . : fe80::a5e8:546c:e046:a246%4
   IPv4 Address. . . . . . . . . . . : 192.168.43.220
   Subnet Mask . . . . . . . . . . . : 255.255.255.0
   Default Gateway . . . . . . . . . : 192.168.43.1

Ethernet adapter Ethernet:

   Media State . . . . . . . . . . . : Media disconnected
   Connection-specific DNS Suffix  . :

Ethernet adapter VirtualBox Host-Only Network:

   Connection-specific DNS Suffix  . :
   Link-local IPv6 Address . . . . . : fe80::1d14:52cd:fd6a:2395%10
   IPv4 Address. . . . . . . . . . . : 192.168.56.1
   Subnet Mask . . . . . . . . . . . : 255.255.255.0
   Default Gateway . . . . . . . . . :

Tunnel adapter isatap.{75888664-BED0-4908-8984-4DBCF9E9BDDC}:

   Media State . . . . . . . . . . . : Media disconnected
   Connection-specific DNS Suffix  . :

Tunnel adapter isatap.{6F952140-AFCD-46E4-89E3-02CDEF869C50}:

   Media State . . . . . . . . . . . : Media disconnected
   Connection-specific DNS Suffix  . :

Tunnel adapter isatap.{1F6CE10F-8498-4A7B-B647-FAE7422FF030}:

   Media State . . . . . . . . . . . : Media disconnected
   Connection-specific DNS Suffix  . :

Saída de route print :

C:\Windows\System32>route print
===========================================================================
Interface List
 15...00 ff 1f 6c e1 0f ......TAP-Windows Adapter V9
  7...12 56 f2 a5 d0 53 ......Microsoft Wi-Fi Direct Virtual Adapter
  4...80 56 f2 a5 d0 53 ......Killer Wireless-N 1202 Network Adapter
  3...80 fa 5b 00 d7 1f ......Realtek PCIe GBE Family Controller
 10...08 00 27 00 68 59 ......VirtualBox Host-Only Ethernet Adapter
  1...........................Software Loopback Interface 1
  8...00 00 00 00 00 00 00 e0 Microsoft ISATAP Adapter #2
  9...00 00 00 00 00 00 00 e0 Microsoft ISATAP Adapter #3
 11...00 00 00 00 00 00 00 e0 Microsoft ISATAP Adapter #4
===========================================================================

IPv4 Route Table
===========================================================================
Active Routes:
Network Destination        Netmask          Gateway       Interface  Metric
          0.0.0.0          0.0.0.0     192.168.43.1   192.168.43.220     25
         10.8.0.4  255.255.255.252         On-link          10.8.0.6    276
         10.8.0.6  255.255.255.255         On-link          10.8.0.6    276
         10.8.0.7  255.255.255.255         On-link          10.8.0.6    276
        127.0.0.0        255.0.0.0         On-link         127.0.0.1    306
        127.0.0.1  255.255.255.255         On-link         127.0.0.1    306
  127.255.255.255  255.255.255.255         On-link         127.0.0.1    306
     192.168.43.0    255.255.255.0         On-link    192.168.43.220    281
   192.168.43.220  255.255.255.255         On-link    192.168.43.220    281
   192.168.43.255  255.255.255.255         On-link    192.168.43.220    281
     192.168.56.0    255.255.255.0         On-link      192.168.56.1    276
     192.168.56.1  255.255.255.255         On-link      192.168.56.1    276
   192.168.56.255  255.255.255.255         On-link      192.168.56.1    276
        224.0.0.0        240.0.0.0         On-link         127.0.0.1    306
        224.0.0.0        240.0.0.0         On-link      192.168.56.1    276
        224.0.0.0        240.0.0.0         On-link          10.8.0.6    276
        224.0.0.0        240.0.0.0         On-link    192.168.43.220    281
  255.255.255.255  255.255.255.255         On-link         127.0.0.1    306
  255.255.255.255  255.255.255.255         On-link      192.168.56.1    276
  255.255.255.255  255.255.255.255         On-link          10.8.0.6    276
  255.255.255.255  255.255.255.255         On-link    192.168.43.220    281
===========================================================================
Persistent Routes:
  None

IPv6 Route Table
===========================================================================
Active Routes:
 If Metric Network Destination      Gateway
  1    306 ::1/128                  On-link
 10    276 fe80::/64                On-link
 15    276 fe80::/64                On-link
  4    281 fe80::/64                On-link
 10    276 fe80::1d14:52cd:fd6a:2395/128
                                    On-link
 15    276 fe80::2c0e:13f0:840c:37b4/128
                                    On-link
  4    281 fe80::a5e8:546c:e046:a246/128
                                    On-link
  1    306 ff00::/8                 On-link
 10    276 ff00::/8                 On-link
 15    276 ff00::/8                 On-link
  4    281 ff00::/8                 On-link
===========================================================================
Persistent Routes:
  None
    
por user1301428 15.01.2015 / 22:03

3 respostas

1

Ok, o problema estava no lado do cliente. Não tenho ideia de qual foi a causa raiz, mas basicamente meu cliente não receberia as rotas estáticas do servidor OpenVPN por algum motivo. Desinstalar e reinstalar o cliente OpenVPN resolveu o problema: /

Portanto, a configuração acima está perfeitamente correta.

    
por 24.01.2015 / 16:29
-1

Acho que o que você está perguntando se chama Split Tunneling . Se você estiver usando o cliente VPN nativo do Windows, vá ao Painel de controle- > Rede e Internet- > Conexões de Rede - > SUA CONEXÃO VPN - > Propriedades - > Rede - > Propriedades do IPv4 - > Avançado - > Desmarque a opção "Usar gateway padrão na rede remota"

Se você estiver usando outro software, basta procurar o tunelamento dividido. Você pode precisar ativá-lo no lado do servidor também.

    
por 15.01.2015 / 23:55
-1

Você não está executando o seu cliente Windows como administrador. Esse é um problema conhecido em que o cliente OpenVPN configura o endereço da interface, mas não pode manipular a tabela de roteamento. É dedutível de seus registros, a propósito.

Vá ler (por exemplo): link

    
por 05.01.2016 / 09:49