Como acessar a rede remota com o OpenVPN?

4

No momento, estou tentando configurar o OpenVPN para acessar a rede de nossa empresa remotamente.

Consegui estabelecer uma conexão e executar o ping no servidor no endereço configurado (10.8.0.1), mas não consegui acessar a rede no servidor dos clientes.

O servidor está configurado para enviar rotas para o servidor com:

push "route 155.0.0.0 255.255.0.0 10.8.0.1 1"

em que 155.0.0.0/16 é a rede do lado do servidor.

Isso não funcionou, então eu adicionei

push "route 155.0.0.68 255.255.255.255 net_gateway 1"

porque eu li em algum lugar que pode ser problemático se todos os pacotes incluindo os do servidor (155.0.0.68) forem roteados através do túnel, mas isso ainda não funciona. Eu não sou capaz de pingar qualquer endereço na rede do servidor. Nem mesmo o próprio servidor em 155.0.0.68.

O que estou fazendo de errado?

Informação adicional: Cliente e servidor executam janelas e o OpenVPN é executado no modo tun com o protocolo udp. Os firewalls estão desativados no cliente e no servidor.

Eu já fiz essa pergunta sobre Engenharia de Redes, mas me disseram que o ServerFault seria um lugar melhor para um problema como esse.

    
por Karsten 20.11.2014 / 19:57

3 respostas

1

As rotas nos dois lados do túnel VPN são necessárias.

O roteamento IP também deve estar ativado no servidor. Por exemplo, no Windows 7:

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters]
"IPEnableRouter"=dword:00000001

Vamos supor os seguintes IPs e sub-redes:

  • Sub-rede do lado do cliente 192.168.0.0/24
  • IP do cliente 192.168.0.2
  • IP da VPN do cliente 10.8.0.2
  • Sub-rede do lado do servidor 155.0.0.0/16
  • IP do servidor 155.0.0.68
  • IP da VPN do servidor 10.8.0.1

Chaves

Crie um conjunto de chaves para o servidor e os clientes. Verifique o README na pasta de instalação do OpenVPN, ..\OpenVPN\easy-rsa\README.txt , para obter instruções sobre como gerá-los.

Configuração do lado do servidor

Adicione as seguintes linhas ao arquivo de configuração do servidor:

port 1194
proto udp
dev tun
topology subnet
server 10.8.0.0 255.255.255.0
client-config-dir C:\OpenVPN\config\ccd
route 192.168.0.0 255.255.255.0 10.8.0.2
ca C:\OpenVPN\config\ca.crt
cert C:\OpenVPN\config\server.crt
key C:\OpenVPN\config\server.key
dh C:\OpenVPN\config\dh1024.pem
keepalive 10 60
comp-lzo
persist-key
persist-tun
status C:\OpenVPN\config\openvpn-status-tun.log 20
log C:\OpenVPN\config\openvpn-tun.log
verb 3

Substitua os caminhos pelo respectivo diretório de instalação.

Adicione um arquivo de configuração do cliente personalizado no servidor:

Crie um diretório ccd no mesmo diretório que o arquivo de configuração do servidor e lá um arquivo de configuração com o nome CN ( Nome Comum ) do certificado do cliente .

Verifique o certificado do cliente e procure por esta linha ( CN=<client_name> ):

Subject: C=CH, ST=State, L=City, O=org, OU=unit, CN=client1/name=EasyRSA/emailAddress=root@localhost

Neste exemplo, o arquivo será nomeado client1 (sem uma extensão), adicione as seguintes linhas ao arquivo:

ifconfig-push 10.8.0.2 255.255.255.0
push "route 155.0.0.0 255.255.0.0 10.8.0.1"
iroute 192.168.0.0 255.255.255.0
  • ifconfig-push dará um IP estático para este cliente
  • push "route ..." envia a rota para alcançar a sub-rede do lado do servidor para o cliente
  • iroute gera uma rota interna no OpenVPN para a sub-rede do cliente

Configuração do lado do cliente

Adicione as seguintes linhas ao arquivo de configuração do cliente:

client
dev tun
proto udp
remote 155.0.0.68 1194
resolv-retry infinite
nobind
persist-key
persist-tun
comp-lzo
ca C:\OpenVPN\config\client1.crt
cert C:\OpenVPN\config\client1.crt
key C:\OpenVPN\config\client1.key
remote-cert-tls server

Substitua os caminhos pelo seu diretório de instalação.

Rotas adicionais

Essa configuração funciona se o servidor que está executando o OpenVPN também for um roteador e definido como default-gateway em todos os clientes na sub-rede do lado do servidor.

No caso de um roteador dedicado existir, adicione as seguintes rotas estáticas a ele (ou adicione-as a todos os clientes) para alcançar a sub-rede da VPN e a sub-rede de client1 .

Rotas estáticas de sub-rede do lado do servidor:

Destination        Gateway             Genmask
192.168.0.0        155.0.0.68          255.255.255.0
10.8.0.0           155.0.0.68          255.255.255.0

Para dicas adicionais sobre este tópico, consulte esta resposta .

    
por 04.05.2016 / 01:44
0

Porque a sua limpeza não sabe, como chegar ao outro lado, você precisa de algo assim:

cliente vpn:

route add -net 192.168.0.0/24 gw 10.8.0.1 1 #in this way, the client knows, how to reach the other side.

lan remoto (lado do servidor), se eu quiser chegar a um pc no lado do meu servidor vpn:

route add -net 10.0.0/16 gw "192.168.0.100(local lan ip of my vpn server)"' #in this way, the other pc knows, where to route the traffic for the vpn network

Desculpe, se para os comandos, mas eu não uso windows

    
por 20.11.2014 / 20:34
0

Se o seu cliente estiver executando o Windows 7, será necessário executar os clientes vpn abertos com direitos de administrador; caso contrário, as tabelas de roteamento não serão preenchidas e você poderá não efetuar ping dos hosts na rede do servidor.

    
por 01.08.2015 / 21:26