OpenVPN se conecta pero no hay acceso a Internet

OpenVPN se conecta pero no hay acceso a Internet

No puedo entender por qué mi conexión openvpn no funciona. Parece que funciona bien en la conexión. Puedo conectarme a mi servidor, pero una vez que estoy conectado no puedo usar Internet a través de VPN.

Este es un servidor VPS que se ejecuta en Debian

Aquí está mi archivo openvpn server.conf

port 1194

proto udp

dev tun

ca ca.crt
cert server.crt
key server.key  # This file should be kept secret

dh dh2048.pem

server 10.8.0.0 255.255.255.0

ifconfig-pool-persist ipp.txt

push "redirect-gateway def1"

push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"

keepalive 10 120

comp-lzo

user nobody
group nogroup

persist-key
persist-tun

status openvpn-status.log

log         openvpn.log

verb 6

mute 20

Y aquí está mi archivo client.conf

client

dev tun

proto udp

remote server_ip 1194

resolv-retry infinite

nobind

persist-key
persist-tun

ca ca.crt
cert client.crt
key client.key

ns-cert-type server

comp-lzo

verb 3

remote-cert-tls server

También agregué reglas de firewall para aceptar conexiones y rutas, pero lo extraño es que algunas reglas aparecen varias veces. Aquí está mi archivo guardado de iptables.

# Generated by iptables-save v1.4.8 on Sun Dec 22 04:36:18 2013
*nat
:PREROUTING ACCEPT [53:9749]
:POSTROUTING ACCEPT [9:675]
:OUTPUT ACCEPT [9:675]
-A PREROUTING -d server_ip/32 -p udp -m udp --dport 53 -j REDIRECT --to-ports 1194 
-A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE 
-A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE 
-A POSTROUTING -s 10.8.0.0/24 -j SNAT --to-source server_ip 
-A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE 
COMMIT
# Completed on Sun Dec 22 04:36:18 2013
# Generated by iptables-save v1.4.8 on Sun Dec 22 04:36:18 2013
*filter
:INPUT ACCEPT [946:112417]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [824:172939]
-A INPUT -i tun0 -p tcp -m tcp --dport 1194 -j ACCEPT 
-A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT 
-A FORWARD -s 10.8.0.0/24 -j ACCEPT 
-A FORWARD -j REJECT --reject-with icmp-port-unreachable 
-A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT 
-A FORWARD -s 10.8.0.0/24 -j ACCEPT 
-A FORWARD -j REJECT --reject-with icmp-port-unreachable 
-A FORWARD -i eth0 -o tun0 -m state --state RELATED,ESTABLISHED -j ACCEPT 
-A FORWARD -s 10.8.0.0/24 -o eth0 -j ACCEPT 
COMMIT
# Completed on Sun Dec 22 04:36:18 2013

También verifiqué /etc/sysctl.conf para asegurarme de que

net.ipv4.ip_forward=1

tambien tengo

net.ipv6.conf.all.forwarding=1

Probé la conexión OpenVPN en mi PC con Linux y en Virtualbox XP y ambos tienen conexión, pero ninguno tiene acceso a Internet una vez conectado.

Lo más extraño de todo esto es que cuando hago traceroute muestra la conexión a través de VPN.

Por ejemplo, hago traceroute google.com

1 my ip from vpn connection
2 openvpn server ip
3 ...
4 ...
5 ... few hops between server to google
6 and finally google server ip

Entonces, traceroute muestra que la conexión pasa a través de VPN, y también cuando hago ping, el ping aumenta a 100 ms de diferencia cuando no estoy conectado a VPN cuando el ping es de aproximadamente 20 ms.

Pero cuando intento navegar por internet con cualquier programa (firefox, chrome, iexplorer) no obtengo nada. No se cargará nada y la conexión se agota.

No es que mi servidor sea lento, por lo que las páginas no se cargan, la prueba de velocidad muestra una conexión de 70 mbit en el servidor y tengo una conexión de 6 mbit.

Y cuando intento conectarme a otra VPN como Cloudnymous, todo funciona bien. Simplemente hay algo mal en mi configuración de openvpn.

EDITAR: Después de todo, pensé que finalmente lo hice funcionar, después de cambiar muchas configuraciones, finalmente puedo conectarme a mi VPN y obtener Internet desde allí.

Ahora tengo un último problema. Como estoy en Linux, algunos programas no funcionan aquí y uso virtualbox con instalación de Windows XP, pero cuando estoy conectado a vpn en virtualbox puedo navegar por Internet. Pero ningún programa puede conectarse a Internet. Además, mi conexión VPN pierde Internet de vez en cuando, y no es mi conexión a Internet o al servidor porque durante ese tiempo, cuando pierdo Internet a través de VPN, todavía puedo conectarme con PuTTY a través de SSH al servidor y hacer varias cosas.

Respuesta1

El enmascaramiento no funciona en un VPS... debes usar iptables Source NATen su lugar:

iptables -t nat -A POSTROUTING -s 10.x.x.x/xx -j SNAT --to-source y.y.y.y

x.x.x.x/xes la subred VPN - y.y.y.yes la dirección IP de la interfaz de salida de su servidor.

Respuesta2

Asegúrese /etc/default/ufwde que el servidor tenga DEFAULT_FORWARD_POLICY="ACCEPT"en lugar de "DROP" y luego reinicie el firewall

sudo ufw disable
sudo ufw enable

Respuesta3

Tuve un problema similar en el que OpenVPN funcionaba bien hasta que cambié el enrutador. Sospeché del firewall del enrutador aunque había abierto los puertos requeridos. Sin embargo, miré rc.local y vi que, cuando se configuró por primera vez, la línea iptables se había configurado con la dirección IP real en lugar de la variable $MY_IP que esperaba así:

iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -j SNAT --to 192.168.0.15

en vez de:

iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -j SNAT --to $MY_IP

El problema fue cambiar el enrutador y asignar una IP diferente al servidor y simplemente hice una reserva para la nueva IP y esperaba que todo funcionara.

Si hubiera reservado la misma IP para el servidor que antes, podría haberme ahorrado muchos dolores de cabeza.

información relacionada