Configurar un redireccionamiento de puertos con pfSense

redireccionamiento de puertos pfsense

Hacer un redireccionamiento de puertos es algo que ya tenía dominado con ipCop, pero con pfSense no lo había intentado. Tampoco es que sea muy difícil, solo hay que llenar el formulario con la información y en el sitio correcto.

¿Qué es un redireccionamiento de puertos?

Un redireccionamiento de puertos es lograr que un puerto que está en un equipo protegido por nuestro firewall (en este caso pfSense) sea visible y se pueda trabajar desde el exterior.

Por ejemplo, puede ser un servidor Web (puerto 80) que está funcionando en un servidor dentro de mi red local y que quiero que sea visible desde el exterior.

Configurando el redireccionamiento de puertos.

En mi novatez y experiencia previa con ipCop creí que lo conducente era crear una regla en el firewall (menú Firewall – Rules), pero eso no funcionó. Lo apropiado es ir al menú FirewallNAT y agregamos una regla en la parte que dice Port Forward, que dicho sea de paso, la información que tecleamos en esta sección también crea una regla en el firewall, pero eso lo hace en automático.

Agregando la regla del redireccionamiento de puertos.
Agregando la regla del redireccionamiento de puertos.

En realidad es muy simple:

  • Primero hay que elegir la Interface Exterior (WAN).
  • El protocolo, que puede ser TCP o UDP (o ambos).
  • El puerto o el rango de puertos que va a escuchar del lado exterior. Por ejemplo, un servidor web sería el puerto 80.
  • La dirección IP del equipo interno que va a escuchar las peticiones del puerto 80.
  • El Redirect target port generalmente es el mismo que elegiste en la parte exterior, pero no necesariamente.
  • Y un comentario no vendría mal, a veces ayuda a no confundir algunas reglas con otras.

Guardar los cambios y aplicarlos.

Algunas pruebas.

Para revisar si el redireccionamiento funciona se puede echar mano de un escaneador de puertos online. Me gustó HideMy.Name que usa nmap.

Si el puerto en cuestión dice OPEN, ya podemos decir que el redireccionamiento fue todo un éxito.

Resucitando a JoliOS ¡Levántate y anda!

jolios funcionando en el 2019

Hace 10 años que tengo este equipo Acer Aspire One (AO751h) en mi poder. Le he instalado muchas distribuciones de Linux, pero sólo una reconocio completamente su tarjeta de video, la famos GMA500 de Intel que no era de Intel, pero bueno, esa es otra historia.

Hace poco le instalé MX Linux con la esperanza de reactivarla. Esta distribución esta en los primeros lugares de Distro Watch y me dio mucha curiosidad. Y aunque es una buena distribución (un poco verde para mi gusto) otra vez salió el tema de la tarjeta de video. Así que me dije a mi mismo ¿Y si le reinstalas JoliOS nuevamente?.

Descargar JoliOS

Lo primero fue buscar el iso de JoliOS, el creador de esta distribución cerró el proyecto, así que ya no estaba disponible en el sitio original. Afortunadamente encontré otro lugar que ofrece la descarga http://ftp.nluug.nl/os/Linux/distr/jolicloud/iso/

Descargar el archivo iso de JoliOS.
Descargué la versión 1.2.1 por considerarla la más reciente.

Instalar JoliOS

Instalar Linux y en particular esta distribución no es complicado. Sólo hay que tener cuidado con un detalle durante la instalación. Hay una parte donde se queda atorada. Creo que intenta actualizar los repositorios, esto se soluciona desconectando la tarjeta de red para que finalice el proceso. Con eso después de un tiempo termina la instalación y pide reiniciar.

Deshabilitar el menú de aplicaciones.

Por default JoliOS tiene un menú de aplicaciones medio raro que ocupa todo el escritorio.

Así se veía JoliOS.
Así se veía JoliOS originalmente.

Bueno pues ese menú ya no existe y en su lugar se queda una pantalla blanca (luego se convertirá en negra). Para desactivarlo solo hay que deshabilitar su arranque al inicio.

Si se presiona la tecla de menú contextual del lado derecho del teclado, que está entre la tecla windows y control aparece un pequeño menú, es el que uso para iniciar las aplicaciones.

Luego al menú SistemaPreferenciasAplicaciones al inicio. Y se deshabilita la opción Jolicloud Launcher.

Al desactivar Jolicloud launcher desaparece el lanzador original.
Al desactivar Jolicloud launcher desaparece el lanzador original.

Ajustar los repositorios.

Muchos de los repositorios que incluye JoliOS ya no existen y dan errores al intentar actualizarlos. Para evitar eso hay que editar varios archivos, primero hice una copia de respaldo y luego deshabilite todos los repositorios, si ¡TODOS!

/etc/apt/sources.list.d/ubuntu.list
/etc/apt/sources.list.d/jolicloud.list

Agregué estos que son de Ubuntu Lucid Lynx en el archivo ubuntu.list

# See http://help.ubuntu.com/community/UpgradeNotes for how to upgrade to
# newer versions of the distribution.

deb http://old-releases.ubuntu.com/ubuntu/ lucid main restricted
deb-src http://old-releases.ubuntu.com/ubuntu/ lucid main restricted

## Major bug fix updates produced after the final release of the
## distribution.
deb http://old-releases.ubuntu.com/ubuntu/ lucid-updates main restricted
deb-src http://old-releases.ubuntu.com/ubuntu/ lucid-updates main restricted

## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu
## team. Also, please note that software in universe WILL NOT receive any
## review or updates from the Ubuntu security team.
deb http://old-releases.ubuntu.com/ubuntu/ lucid universe
deb-src http://old-releases.ubuntu.com/ubuntu/ lucid universe
deb http://old-releases.ubuntu.com/ubuntu/ lucid-updates universe
deb-src http://old-releases.ubuntu.com/ubuntu/ lucid-updates universe

## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu 
## team, and may not be under a free licence. Please satisfy yourself as to 
## your rights to use the software. Also, please note that software in 
## multiverse WILL NOT receive any review or updates from the Ubuntu
## security team.
deb http://old-releases.ubuntu.com/ubuntu/ lucid multiverse
deb-src http://old-releases.ubuntu.com/ubuntu/ lucid multiverse
deb http://old-releases.ubuntu.com/ubuntu/ lucid-updates multiverse
deb-src http://old-releases.ubuntu.com/ubuntu/ lucid-updates multiverse

## Uncomment the following two lines to add software from the 'backports'
## repository.
## N.B. software from this repository may not have been tested as
## extensively as that contained in the main release, although it includes
## newer versions of some applications which may provide useful features.
## Also, please note that software in backports WILL NOT receive any review
## or updates from the Ubuntu security team.
# deb http://old-releases.ubuntu.com/ubuntu/ lucid-backports main restricted universe multiverse
# deb-src http://old-releases.ubuntu.com/ubuntu/ lucid-backports main restricted universe multiverse

## Uncomment the following two lines to add software from Canonical's
## 'partner' repository.
## This software is not part of Ubuntu, but is offered by Canonical and the
## respective vendors as a service to Ubuntu users.
# deb http://old-releases.ubuntu.com/ubuntu lucid partner
# deb-src http://old-releases.ubuntu.com/ubuntu lucid partner

deb http://old-releases.ubuntu.com/ubuntu lucid-security main restricted
deb-src http://old-releases.ubuntu.com/ubuntu lucid-security main restricted
deb http://old-releases.ubuntu.com/ubuntu lucid-security universe
deb-src http://old-releases.ubuntu.com/ubuntu lucid-security universe
deb http://old-releases.ubuntu.com/ubuntu lucid-security multiverse
deb-src http://old-releases.ubuntu.com/ubuntu lucid-security multiverse

Con eso es posible actualizar el sistema.

actualizando el sistema con los nuevos repositorios.
Actualizando ando con los nuevos repositorios.
sudo apt-get update
sudo apt-get upgrade

Y también es posible instalar algunas aplicaciones.

En mi caso, instalé el famoso VLC como reproductor de video, Geany para editar archivos de texto y Docky como lanzador de aplicaciones.

Un navegador de 32 bits por favor.

Todo parecía pintar bien, pero, bueno siempre hay un pero. Me falta un navegador “moderno” de 32 bits. Todo porque algunas conexiones SSL no funcionan en navegadores viejitos, incluyendo mi blog (música triste por favor).

Intenté de todo, instalé otros navegadores como Firefox, Opera o Vivaldi con poco éxito. Intenté emular alguno de windows con wine, ¡Hasta versiones portables! pero nada. Así que esto se queda como materia pendiente.

¡Bienvenida a la actualidad!

Al final el resultado fue mixto. Hay muchas cosas que no puedo hacer, pero otras que sí. El desempeño es bueno a pesar de la edad y las limitaciones de la computadora y lo más importante, su desempeño gráfico es más que aceptable.

Por cierto ¿saben de algún navegador moderno de 32 bits? se los agradecería mucho.

Averiguar la dirección IP de un equipo por su hostname.

laptops y celulares

La situación es un poco complicada, verán, tengo un usuario que ocasionalmente me pide ayuda y para ello me conecto de manera remota a su equipo, le ayudo en lo que necesite y fin de la historia, peeeeroooooo…

Este usuario tiene un pequeño detalle, salta de una dirección IP a otra. Supongo que prende poco su equipo, sólo cuando lo necesita y en cada ocasión el servidor DHCP le asigna una dirección diferente, el problema es saber cuál.

Claro que puedo consultar la lista de préstamos de DHCP de PfSense, pero me ocupa demasiado tiempo. Entonces usé Angry IP Scanner con buenos resultados, un ligero escaneo a mi red local para localizar el equipo, peeeeroooo…

Un buen día Angry IP Scanner (ipscan para los cuates) dejó de funcionar. Supongo que fue un problema durante la actualización de Manjaro, es algo que pasa todo el tiempo, al parecer un problema con Java y con solo mencionar ese nombre me salen ronchas.

Entonces me di a la tarea de buscar alguna alternativa, el objetivo es relativamente simple averiguar la dirección IP de un equipo por su hostname. perooooo …

¿Qué comando usar?

Durante mi investigación surgieron varios nombres, intenté cuanto comando se me puso enfrente. En algunos me acercaba bastante, pero los resultados no eran los que esperaba, probé con:

  • arp
  • ping
  • nslookup
  • nmap
  • samba

Samba fue el ganador

Contra todo pronóstico el ganador fue samba con el comando nmblookup. Este comando hace precisamente lo que estoy necesitando. Como conozco el hostname del equipo que estoy buscando todo se resume a un simple comando.

nmblookup hostname

Y voalá, la IP correspondiente aparece en mi terminal.

[inguanzo]$ nmblookup equipo1
192.168.0.175 equipo1<00>

Ahora se que esto es un poco triki, porque el hostname también es el NetBIOS name (que no es lo mismo, pero es igual). Y como ocurre en muchas de mis investigaciones, una vez que obtengo un resultado satisfactorio, detengo la investigación y sigo con otra cosa.

¿Ustedes saben otra forma de obtener la dirección IP de un equipo de red mediante su hostname? Espero sus comentarios.

Por lo pronto, ¡Feliz fin de semana!.

Imagen principal de Marvin Meyer en Unsplash.