A conexão OpenVPN funciona, mas nenhum gateway é atribuído

5

Eu tento configurar o openvpn em um vps e consigo estabelecer uma conexão com o servidor, mas o gateway não está atribuído ao cliente.

Aqui estão meus arquivos de configuração:

configuração do cliente:

client
dev tun
proto udp
remote foo.bar 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert client1.crt
key client1.key
ns-cert-type server
redirect-gateway
comp-lzo
verb 3
pull

configuração do servidor:

port 1194
proto udp
dev tun
ca easy-rsa/2.0/keys/ca.crt
cert easy-rsa/2.0/keys/server.crt
key easy-rsa/2.0/keys/server.key
dh easy-rsa/2.0/keys/dh2048.pem
server 172.30.90.0 255.255.255.192
ifconfig-pool-persist ipp.txt
push "redirect-gateway def1"
push "dhcp-option DNS 208.67.222.222"
push "dhcp-option DNS 208.67.220.220"
keepalive 10 120
comp-lzo
user nobody
group nobody
persist-key
persist-tun
status openvpn-status.log
log openvpn.log
log-append openvpn.log
verb 3

cliente ifconfig:

tun0: flags=8851<UP,POINTOPOINT,RUNNING,SIMPLEX,MULTICAST> mtu 1500
inet 172.30.90.6 --> 172.30.90.5 netmask 0xffffffff
open (pid 42823)

Regras do iptables no servidor:

iptables -L

Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
ACCEPT icmp -- anywhere anywhere
ACCEPT all -- anywhere anywhere
ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:ssh
ACCEPT udp -- anywhere anywhere state NEW udp dpt:openvpn
REJECT all -- anywhere anywhere reject-with icmp-host-prohibited

Chain FORWARD (policy ACCEPT)
target prot opt source destination
REJECT all -- anywhere anywhere reject-with icmp-host-prohibited

Chain OUTPUT (policy ACCEPT)
target prot opt source destination 

Eu quero rotear todo o tráfego pela VPN. Eu já adicionei o redirecionamento de gateway, por isso deve funcionar. Eu realmente não posso ver o que está errado aqui e espero que você possa me ajudar a corrigir o problema.

Obrigado!

    
por frozenbit 14.06.2012 / 23:24

2 respostas

4

Após conectar-se à VPN, execute o comando route -n ou netstat -rn no cliente e veja se o endereço do gateway está atribuído.

Verifique se você fez o seguinte:

No servidor:

empurre o gateway para o cliente:

Adicione isto ao arquivo: /etc/openvpn/server.conf

push "redirect-gateway def1"

Adicione isto ao arquivo: /etc/sysctl.conf

net.ipv4.ip_forward=1

Ou use o seguinte comando para definir essa variável para a sessão atual:

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

Emita os seguintes comandos para configurar o iptables para encaminhar corretamente o tráfego através da VPN:

iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -s [vpn client subnet] -j ACCEPT
iptables -A FORWARD -j REJECT
iptables -t nat -A POSTROUTING -s [vpn client subnet] -o eth0 -j MASQUERADE

Source

    
por 02.08.2012 / 00:43
0

Tente remover:

redirect-gateway

na configuração do cliente.

Você já está enviando a configuração redirect-gateway por meio do mecanismo push do servidor e, somente nesse caso, está enviando-a com o parâmetro correto ( def1 ).

O comportamento de redirect-gateway sem parâmetro é dependente de openvpn-version (e você não especificou sua versão específica) então é melhor estar no lado seguro.

Se isso não ajudar, vejo diferentes problemas possíveis.

Sugiro as seguintes questões:

  • verifique se você pode fazer ping no outro lado do túnel
  • se sim, tente adicionar manualmente o gateway padrão apontando para o lado remoto do túnel e tente executar o ping 8.8.8.8 (para remover um possível problema no DNS que você está empurrando pelo túnel)
  • se isso não funcionar, seu problema provavelmente está na configuração nat (você não postou o resultado de iptables -L -t nat ) ou na configuração de encaminhamento
  • se isso funcionar, mas o ping em www.google.com não funcionar, é provável que o seu problema esteja na configuração do DNS
por 22.05.2013 / 16:51