Obtendo o cliente openvpn para encaminhar todo o tráfego através do servidor

3

Estou tentando configurar um servidor e cliente openvpn, com todo o tráfego de clientes sendo roteado pelo servidor. Eu sou atualmente capaz de acessar o servidor através do cliente, mas quando eu habilito 'push' redirecionamento-gateway def1 "'no servidor, o cliente perde toda a capacidade de se conectar à internet, vpn ou não. Além disso, ele não pode mais se conectar ao servidor, embora a conectividade de lan ainda esteja bem. Meu arquivo de configuração do servidor é:

local ***.***

port 1194

proto tcp

dev tun

ca ca.crt
cert server.crt
key server.key

dh dh2048.pem

server 10.8.0.0 255.255.255.0

ifconfig-pool-persist ipp.txt

push "redirect-gateway local def1"

keepalive 10 120

comp-lzo

persist-key
persist-tun

status openvpn-status.log

verb 3

e aqui está o cliente:

client

dev tun

proto tcp

remote ***.*** 1194

resolv-retry infinite

nobind

persist-key
persist-tun

ca ca.crt
cert laptop.crt
key laptop.key

ns-cert-type server

comp-lzo

verb 3

No servidor, habilitei o encaminhamento de ip e habilitei o roteamento via iptables:

iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE

mas o cliente ainda não consegue se conectar a nada na VPN ou na Internet.

    
por correnos 12.08.2010 / 22:00

3 respostas

0

Na verdade, o problema é que o NAT não foi configurado corretamente. Corrigido e a vpn está funcionando agora.

    
por 15.08.2010 / 04:54
1

Para referência, a seção relevante do HOWTO é aqui , embora eu suspeite que você tenha seguido isso.

A primeira coisa que eu tentaria é remover o 'local', que é o comando deve ser

push "redirect-gateway def1"

e não

push "redirect-gateway local def1"

O sinalizador local só funciona se todos os seus clientes estiverem na mesma sub-rede.

Algumas outras coisas a ter em conta são que o tráfego de DNS é encaminhado através da vpn, pelo que não poderá resolver endereços a menos que tenha lidado com isso. O DHCP também pode ser encaminhado, embora não pareça que isso deva acontecer no seu caso, pois você está usando uma VPN roteada e não uma bridge, mas pode valer a pena verificar de qualquer maneira.

    
por 13.08.2010 / 09:46
0

Se você está "empurrando" um novo gateway para o cliente, então você também precisa empurrar algumas rotas, em particular a rota para a sub-rede onde esse gateway reside. Isso lhe dará acesso à Internet através da VPN. Se a rede em que o gateway reside for diferente daquela em que o servidor VPN reside, você também precisará de rotas adicionais para que o cliente possa acessar essas outras redes. Além disso, você também pode querer enviar servidores DNS para o cliente, porque senão o cliente não poderá resolver os nomes de nenhum dos alvos na rede à qual está conectado agora.

Aqui está um extrato do nosso arquivo de configuração do servidor OpenVPN:

# Push route to client to bind it to our local
# virtual endpoint.
#
push "route 10.180.0.1 255.255.255.255"

# Push any routes the client needs to get in
# to the local network.
#
push "route 10.171.0.0 255.255.0.0"
push "route 10.172.0.0 255.255.0.0"
push "route 10.173.0.0 255.255.0.0"
push "route 10.174.0.0 255.255.0.0"
push "route 10.175.0.0 255.255.0.0"
push "route 10.176.0.0 255.255.0.0"
push "route 10.177.0.0 255.255.0.0"
push "route 10.181.0.0 255.255.0.0"
push "route 10.182.0.0 255.255.0.0"
push "route 192.168.61.0 255.255.255.0"

# Push DHCP options to Windows clients.
#
push "dhcp-option DOMAIN our-internal-domain.com"
push "dhcp-option DNS 10.a.b.c"
push "dhcp-option WINS 10.b.c.d"

Estas são todas redes internas, e nós nem sequer empurramos um novo gateway (como a maioria dos nossos usuários conecta de longe, eles são melhores acessando a internet através de seu gateway padrão e nós não somos freaks de controle). / p>     

por 13.08.2010 / 11:16

Tags