Conexión a Raspberry Pi mediante OpenVPN, no puedo navegar por Internet

¿Algo falla o no sabes como funciona? Pide ayuda aquí!
JavierJR
Pi Alpha
Pi Alpha
Mensajes: 23
Registrado: 16 Feb 2023, 10:56
Agradecido: 1 vez
Agradecimiento recibido: 0

Hola a todos,

En primer lugar, disculpad si hablo de forma demasiado básica ya que estoy empezando en este mundo de la Raspberry. Resulta que quería configurar mi Raspberry Pi como servidor VPN para acceder desde cualquier sitio de forma remota a mi PC de casa. Tras mucha investigación me decidí por configurar la Raspberry a través del software OpenVPN, creándome un hostname en Noip para mantener actualizada la IP pública. He abierto el puerto 1194/TCP para permitir la conexión remota. Tras una serie de errores debido al router de casa (que ya está bien configurado, o eso creo), he conseguido conectarme desde cualquier sitio a la Raspberry mediante OpenVPN pero ahora resulta que no me deja navegar por internet, como si no tuviera acceso. Hago PING a la IP (estática) que le asigné a la Raspberry y recibo respuesta, sin embargo no recibo respuesta del hostname que creé en Noip (me indica que no se encuentra ese nombre). ¿Alguien sabe como puedo solucionar esto? He leído mucho sobre el tema pero no encuentro la solución, también puede ser porque aún mis conocimientos sobre este mundo son limitados.

PD: en el router está habilitada la opción de Noip con el nombre del hostname, e-mail y contraseña. Es más, cuando me conecto con VPN a la raspberry me indica al hostname al que se ha conectado y su correspondiente IP pública y es correcto.

Gracias por la ayuda.
Saludos.
Avatar de Usuario
egrueda
Pi God
Pi God
Mensajes: 3426
Registrado: 10 Feb 2017, 19:31
Agradecido: 7 veces
Agradecimiento recibido: 269 veces

JavierJR escribió: 16 Feb 2023, 11:07pero ahora resulta que no me deja navegar por internet
¿desde dónde no te deja navegar por internet?
JavierJR
Pi Alpha
Pi Alpha
Mensajes: 23
Registrado: 16 Feb 2023, 10:56
Agradecido: 1 vez
Agradecimiento recibido: 0

egrueda escribió: 16 Feb 2023, 11:14
JavierJR escribió: 16 Feb 2023, 11:07pero ahora resulta que no me deja navegar por internet
¿desde dónde no te deja navegar por internet?
Gracias por responder tan rápido. Te pongo un ejemplo para explicarme mejor: Estoy en el trabajo y quiero conectarme a la raspberry que está en casa, a través de OpenVPN me conecto sin problemas, sin embargo, una vez conectado (se supone que ya estoy en la misma red local), en el PC del trabajo no puedo navegar, es como si no tuviera acceso a internet. Sin embargo si estuviera en casa (ya lo he comprobado), aunque en el PC del trabajo no tengo acceso a internet, la Raspberry si puede navegar perfectamente. Digamos que:

PC trabajo (sin acceso a internet o sin poder navergar) conectado mediante VPN a Raspberry-->Raspberry en casa (tiene acceso a internet sin problema)
Avatar de Usuario
egrueda
Pi God
Pi God
Mensajes: 3426
Registrado: 10 Feb 2017, 19:31
Agradecido: 7 veces
Agradecimiento recibido: 269 veces

Creo que lo que ocurre es que el cliente vpn está enrutando todas las conexiones a través del servidor vpn.
O dicho con otras palabras, está usando el servidor openvpn como puerta de enlace.
¿Tienes algún "redirect-gateway" en la configuración?
O comparte la configuración de cliente/servidor para que podamos ver dónde está el fallo
JavierJR
Pi Alpha
Pi Alpha
Mensajes: 23
Registrado: 16 Feb 2023, 10:56
Agradecido: 1 vez
Agradecimiento recibido: 0

egrueda escribió: 16 Feb 2023, 11:27 Creo que lo que ocurre es que el cliente vpn está enrutando todas las conexiones a través del servidor vpn.
O dicho con otras palabras, está usando el servidor openvpn como puerta de enlace.
¿Tienes algún "redirect-gateway" en la configuración?
O comparte la configuración de cliente/servidor para que podamos ver dónde está el fallo
Perfecto, en cuanto tenga acceso a la Raspberry (estoy fuera de casa) lo comparto. Disculpa la pregunta, ¿Donde está la configuración cliente/servidor? ¿Te refieres al archivo Servidor.conf?

Saludos.
Avatar de Usuario
egrueda
Pi God
Pi God
Mensajes: 3426
Registrado: 10 Feb 2017, 19:31
Agradecido: 7 veces
Agradecimiento recibido: 269 veces

No sé cómo has llamado a los archivos en tu instalación, pero sí, es un archivo de configuración del servidor y un archivo de configuración en el cliente
JavierJR
Pi Alpha
Pi Alpha
Mensajes: 23
Registrado: 16 Feb 2023, 10:56
Agradecido: 1 vez
Agradecimiento recibido: 0

egrueda escribió: 16 Feb 2023, 11:38 No sé cómo has llamado a los archivos en tu instalación, pero sí, es un archivo de configuración del servidor y un archivo de configuración en el cliente
Te adjunto mientras tanto la configuración del cliente, y más tarde te envío la del servidor.

Código: Seleccionar todo

client
dev tun
proto tcp
remote XXXX 1194
resolv-retry infinite
nobind
remote-cert-tls server
tls-version-min 1.2
verify-x509-name raspberrypi_2b1da70f-89d2-4ab4-8de4-7af2eefd17f4 name
cipher AES-256-CBC
auth SHA256
auth-nocache
verb 3

Avatar de Usuario
egrueda
Pi God
Pi God
Mensajes: 3426
Registrado: 10 Feb 2017, 19:31
Agradecido: 7 veces
Agradecimiento recibido: 269 veces

Lo veo todo bien en el lado del cliente, aunque lo habitual no es usar TCP con OpenVPN sino UDP.
Vamos a esperar a la configuración del servidor
JavierJR
Pi Alpha
Pi Alpha
Mensajes: 23
Registrado: 16 Feb 2023, 10:56
Agradecido: 1 vez
Agradecimiento recibido: 0

egrueda escribió: 16 Feb 2023, 12:03 Lo veo todo bien en el lado del cliente, aunque lo habitual no es usar TCP con OpenVPN sino UDP.
Vamos a esperar a la configuración del servidor
Hola de nuevo aquí tienes la configuración del servidor:

Código: Seleccionar todo

dev tun
proto tcp
port 1194
ca /etc/openvpn/easy-rsa/pki/ca.crt
cert /etc/openvpn/easy-rsa/pki/issued/raspberrypi_2b1da70f-89d2-4ab4-8de4-7af2eefd17f4.crt
key /etc/openvpn/easy-rsa/pki/private/raspberrypi_2b1da70f-89d2-4ab4-8de4-7af2eefd17f4.key
dh none
ecdh-curve prime256v1
topology subnet
server 10.77.206.0 255.255.255.0
# Set your primary domain name server address for clients
push "dhcp-option DNS 62.36.225.150"
push "dhcp-option DNS 62.37.228.20"
# Prevent DNS leaks on Windows
push "block-outside-dns"
# 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
client-config-dir /etc/openvpn/ccd
keepalive 15 120
remote-cert-tls client
tls-version-min 1.2
 tls-crypt /etc/openvpn/easy-rsa/pki/ta.key
cipher AES-256-CBC
auth SHA256
user openvpn
group openvpn
persist-key
persist-tun
crl-verify /etc/openvpn/crl.pem
status /var/log/openvpn-status.log 20
status-version 3
syslog
verb 3
#DuplicateCNs allow access control on a less-granular, per user basis.
#Remove # if you will manage access by user instead of device. 
#duplicate-cn
# Generated for use by PiVPN.io
Avatar de Usuario
egrueda
Pi God
Pi God
Mensajes: 3426
Registrado: 10 Feb 2017, 19:31
Agradecido: 7 veces
Agradecimiento recibido: 269 veces

Ahí veo la línea:

push "redirect-gateway def1"

Comenta esa línea, con un # delante, y reinicia el servidor, a ver si eso soluciona el problema
Estos usuarios agradecieron al autor egrueda por el mensaje:
JavierJR
JavierJR
Pi Alpha
Pi Alpha
Mensajes: 23
Registrado: 16 Feb 2023, 10:56
Agradecido: 1 vez
Agradecimiento recibido: 0

egrueda escribió: 16 Feb 2023, 16:22 Ahí veo la línea:

push "redirect-gateway def1"

Comenta esa línea, con un # delante, y reinicia el servidor, a ver si eso soluciona el problema
Al poner eso e intentar guardar el archivo me sale la siguiente imagen adjunta :
Adjuntos
IMG_20230216_191714.jpg
JavierJR
Pi Alpha
Pi Alpha
Mensajes: 23
Registrado: 16 Feb 2023, 10:56
Agradecido: 1 vez
Agradecimiento recibido: 0

El propietario es root y no me deja editar el archivo... No se que hacer
Avatar de Usuario
egrueda
Pi God
Pi God
Mensajes: 3426
Registrado: 10 Feb 2017, 19:31
Agradecido: 7 veces
Agradecimiento recibido: 269 veces

JavierJR escribió: 16 Feb 2023, 22:59 El propietario es root y no me deja editar el archivo... No se que hacer
Eso es normal, un simple usuario no debería poder modificar esas configuraciones, tiene que hacerlo root.
Por tanto necesitas ejecutar el editor como root/administrador, o usar "sudo" si estás en consola
JavierJR
Pi Alpha
Pi Alpha
Mensajes: 23
Registrado: 16 Feb 2023, 10:56
Agradecido: 1 vez
Agradecimiento recibido: 0

egrueda escribió: 17 Feb 2023, 09:32
JavierJR escribió: 16 Feb 2023, 22:59 El propietario es root y no me deja editar el archivo... No se que hacer
Eso es normal, un simple usuario no debería poder modificar esas configuraciones, tiene que hacerlo root.
Por tanto necesitas ejecutar el editor como root/administrador, o usar "sudo" si estás en consola
Muchísimas gracias, acabo de probarlo y ya navega perfectamente por Internet.

Egrueda, me ha surgido otro problema, ojala puedas ayudarme también a éste. Resulta que me he descargado VNC viewer y también putty para cuando te GA que conectarme remotamente a la raspberry (en caso de no ir en algún momento openvpn) y poder reconfigurarla a distancia. Pero resulta que poniendo la IP de la raspberry no se me conecta y no se porque es, creo que es falta de conocimiento, ¿para conectarme cual es la IP que hay que poner, la que tiene la raspberry en casa o la publica del router? Gracias
Avatar de Usuario
egrueda
Pi God
Pi God
Mensajes: 3426
Registrado: 10 Feb 2017, 19:31
Agradecido: 7 veces
Agradecimiento recibido: 269 veces

Si estás fuera de tu casa, no puedes acceder directamente a la IP de tu raspo. Necesitas usar la IP del router, que por eso se denomina pública:-)
Y después tendrás que decirle a tu router que redirija la conexión desde la IP pública a la IP privada de la raspi usando reglas de NAT.

Ahora bien, haciendo eso estás exponiendo tu raspi a internet y eso podría ser un riesgo de seguridad. Precisamente por eso se usa la VPN, para que no expongas públicamente el resto de servicios
JavierJR
Pi Alpha
Pi Alpha
Mensajes: 23
Registrado: 16 Feb 2023, 10:56
Agradecido: 1 vez
Agradecimiento recibido: 0

egrueda escribió: 19 Feb 2023, 18:50 Si estás fuera de tu casa, no puedes acceder directamente a la IP de tu raspo. Necesitas usar la IP del router, que por eso se denomina pública:-)
Y después tendrás que decirle a tu router que redirija la conexión desde la IP pública a la IP privada de la raspi usando reglas de NAT.

Ahora bien, haciendo eso estás exponiendo tu raspi a internet y eso podría ser un riesgo de seguridad. Precisamente por eso se usa la VPN, para que no expongas públicamente el resto de servicios
Perfecto, gracias.

Otra cosa egrueda, volviendo al tema anterior, si me conecto desde mi movil a la raspberry via VPN, me va todo perfecto, me navega por internet. Sin embargo si me conecto desde un ordenador del trabajo, se me conecta pero me sigue sin navegar por internet, ¿Sabes a que se puede deber esto?
Avatar de Usuario
egrueda
Pi God
Pi God
Mensajes: 3426
Registrado: 10 Feb 2017, 19:31
Agradecido: 7 veces
Agradecimiento recibido: 269 veces

JavierJR escribió: 20 Feb 2023, 08:21 Otra cosa egrueda, volviendo al tema anterior, si me conecto desde mi movil a la raspberry via VPN, me va todo perfecto, me navega por internet. Sin embargo si me conecto desde un ordenador del trabajo, se me conecta pero me sigue sin navegar por internet, ¿Sabes a que se puede deber esto?
¿Estás usando el mismo archivo de configuración de cliente openvpn en el móvil y en el PC del curro?
JavierJR
Pi Alpha
Pi Alpha
Mensajes: 23
Registrado: 16 Feb 2023, 10:56
Agradecido: 1 vez
Agradecimiento recibido: 0

egrueda escribió: 20 Feb 2023, 08:23
JavierJR escribió: 20 Feb 2023, 08:21 Otra cosa egrueda, volviendo al tema anterior, si me conecto desde mi movil a la raspberry via VPN, me va todo perfecto, me navega por internet. Sin embargo si me conecto desde un ordenador del trabajo, se me conecta pero me sigue sin navegar por internet, ¿Sabes a que se puede deber esto?
¿Estás usando el mismo archivo de configuración de cliente openvpn en el móvil y en el PC del curro?
Si, estoy usando el mismo, pero no me estoy conectando al mismo momento desde los dos sitios, ya que para eso tendría que crear más usuarios.
Avatar de Usuario
egrueda
Pi God
Pi God
Mensajes: 3426
Registrado: 10 Feb 2017, 19:31
Agradecido: 7 veces
Agradecimiento recibido: 269 veces

El motivo habitual por el que no puedes navegar dsepués de conectarte a una VPN suel ser porque el cliente vpn está usando el servidor vpn como puerta de enlace predeterminada.
Y en este caso concreto, era porque el servidor está enviando una ruta por defecto (push "redirect-gateway def1")
Después de modificar la configuración del servidor, es necesario que reinicies el servidor vpn para que se aplique la nueva configuración.
Y si después de eso sigues con el mismo problema, tendremos que ver el log de conexión del cliente vpn, para ver qué info nos está mandando el servidor y ver si nos envía rutas.
Hay una tercera opción, y es que la numeración de la red local del trabajo coincida con la numeración de la red local de casa...
JavierJR
Pi Alpha
Pi Alpha
Mensajes: 23
Registrado: 16 Feb 2023, 10:56
Agradecido: 1 vez
Agradecimiento recibido: 0

egrueda escribió: 20 Feb 2023, 08:41 El motivo habitual por el que no puedes navegar dsepués de conectarte a una VPN suel ser porque el cliente vpn está usando el servidor vpn como puerta de enlace predeterminada.
Y en este caso concreto, era porque el servidor está enviando una ruta por defecto (push "redirect-gateway def1")
Después de modificar la configuración del servidor, es necesario que reinicies el servidor vpn para que se aplique la nueva configuración.
Y si después de eso sigues con el mismo problema, tendremos que ver el log de conexión del cliente vpn, para ver qué info nos está mandando el servidor y ver si nos envía rutas.
Hay una tercera opción, y es que la numeración de la red local del trabajo coincida con la numeración de la red local de casa...
Efectivamente, cuando hice lo que me dijiste, en un primer momento no funcionaba (ya que no había reiniciado el servidor VPN) pero una vez lo reinicié, ya me empezó a funcionar en el móvil todo perfecto. Sin embargo, al probar desde el PC del trabajo sigue sin navegarme, por lo cual me voy a la segunda opción que propones (antes de ir a la tecera):

"Y si después de eso sigues con el mismo problema, tendremos que ver el log de conexión del cliente vpn, para ver qué info nos está mandando el servidor y ver si nos envía rutas." ¿cómo se realiza esto? ¿Hay un archivo ".log" generado?
Responder