> Faqs > Acceso externo a servidor casero linux

Acceso externo a servidor casero linux

Hola a todo el foro.

Hace unos dias instale ubuntu server y apache.

Ya me funciona si entro con otro pc que tengo en casa, que tengo conectado a un switch para los 2 PCs, o sea en la red interna. Pero no puedo acceder a la ip desde el telefono movil, en el cual he desabilitado el wifi para probar.

Me imagino que tengo que activar o configurar algo para el acceso externo, o instalar paquetes.

Hay algun tutorial para hacerlo???

Gracias y saludos????

Respuestas

Lo que quieres hacer no es trivial, pero si ajustas algunas cosillas es posible.

Lo más importante, para responder a tu pregunta es que el problema radica en que actualmente tu servidor Apache en Ubuntu solo está accesible dentro de la red local, pero no desde fuera de ella. Para permitir el acceso externo, debes hacer varias cosas.

Primero, Verificar la IP Pública: Si tu teléfono no está en la misma red WiFi, necesitarás acceder a la IP pública de tu red. Para conocerla, en el servidor o en cualquier PC de la red, ejecuta:

curl ifconfig.me

Esto te devolverá la IP pública de tu conexión a Internet.

Sin embargo esa IP no siempre estará asignada a ti solamente, depende del proveedor y q facilidades te de para eso.

Si todo ha ido bien, solamente tendrías que configurar el Firewall (UFW) (Si es q tienes el firewall UFW activado)

En Ubuntu asegúrate de que permite el tráfico en el puerto 80 (HTTP) y 443 (HTTPS) con estos comandos:

sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw reload

Para verificar si está activo, usa:

sudo ufw status

Si dice "inactive", no necesitas cambiar nada.

Lueogo es lo más complicado: Habilitar el Puerto en el Router (NAT / Port Forwarding). esto es necesario xq tu router bloquea conexiones externas por defecto. Para solucionarlo, debes redirigir el puerto 80 y/o 443 a la IP local de tu servidor.

Esto depende mucho de como sea el router pero tendrías que acceder a la configuración del router.

No sé como se hará en tu caso pero generalmente se hace desde un navegador emtrando en la ip del router http://192.168.1.1 o http://192.168.0.1.

Allí Busca "Port Forwarding", "Redirección de puertos" o "NAT".

Entonces Agrega una regla nueva:

  • Puerto externo: 80
  • IP interna: La IP de tu servidor (puedes verla con ip a)
  • Puerto interno: 80
  • Protocolo: TCP

Guarda y reinicia el router.

Entonces puedes probar el acceso desde tu teléfono (con datos móviles activados), intenta acceder a:

http://TU_IP_PUBLICA

Si todo está bien, deberías ver la página de Apache o tu sitio.

Si quieres que se pueda acceder con un dominio puedes probar algún servicio como DynDNS.

Si tu IP pública cambia constantemente (lo normal en conexiones residenciales), puedes usar un servicio como No-IP o DuckDNS para asociar tu IP a un dominio.

De todos modos, todo esto es un poco lío y para trastear está bien pero si quieres hacer algo más serio no es muy recomendable. De hecho yo no me animaría a cambiar la config del router. Lo que solemos hacer es crear un túnel SSH para esto mismo.

Crear un túnel SSH

Mira a ver si la opción de crear un túnel de ssh, q es más práctico.

Busca en google esta alternativa y encontrarás varios tutoriales.

Yo he usado alguna vez este servicio https://github.com/exposedev/expose y me ha ido bien.

Santiago
596 19 48 21
Muchas gracias Santiago, mirare esto del tunel SSH, ahora estoy haciendo pruebas con un pc portatil, pero si veo que va bien, luego lo quiero hacer con una RaspBerry. Saludos y que tengas un buen dia!!!