Iniciar sesión
Iniciar sesión

Cómo abrir un puerto en Linux

Cómo abrir un puerto en Linux
Awais Khan
Redactor técnico
Sistema Linux
29.10.2025
Reading time: 5 min

Abrir puertos en Linux es una tarea esencial que permite que ciertos servicios o aplicaciones intercambien datos a través de la red.
 

Los puertos actúan como canales de comunicación, permitiendo el acceso a servicios autorizados y bloqueando las conexiones no deseadas. Una correcta gestión de los puertos es clave para mantener seguridad, rendimiento estable y funcionamiento fiable del sistema.

Comprender los puertos y su función

Los puertos son puntos finales lógicos de comunicación de red, donde los dispositivos envían y reciben información.

Ejemplos comunes:

  • HTTP usa el puerto 80

  • HTTPS usa el puerto 443

  • SSH usa el puerto 22

Un puerto abierto indica que hay un servicio escuchando y aceptando tráfico entrante a través de él. Un puerto cerrado bloquea la comunicación. Gestionar correctamente los puertos abiertos en Linux es fundamental para mantener disponibilidad y seguridad.

Cómo comprobar los puertos abiertos en Linux

Antes de abrir un puerto, conviene verificar qué puertos están actualmente activos. Existen varias herramientas y comandos de Linux para hacerlo.

Con netstat

Ejecuta el siguiente comando para mostrar los puertos abiertos:

netstat -tuln
  • La opción -tuln limita la salida a puertos TCP y UDP, sin resolver nombres de host.

  • netstat ofrece una vista en tiempo real de las conexiones de red activas.

Image1

Nota: si netstat no está instalado:

sudo apt install net-tools

Con ss

El comando ss es una versión moderna y más rápida de netstat:

ss -tuln

Image3

Muestra los puertos en uso y la información de los sockets activos.

Con nmap

Para un análisis más detallado de los puertos abiertos:

nmap localhost

nmap analiza el host especificado (en este caso, localhost) y muestra los puertos accesibles. Es útil para identificar qué servicios están expuestos a la red pública.

Image2

Nota: instala nmap con:

sudo apt install nmap

Cómo abrir puertos en Linux

Para permitir el acceso a través de un puerto específico, es necesario modificar las reglas del firewall. Linux ofrece varias herramientas para gestionar esto: iptables, ufw y firewalld.

A continuación, te mostramos cómo usarlas.

Método 1: con iptables

iptables es una herramienta potente y de bajo nivel que proporciona control detallado sobre el tráfico de red.

Añadir una regla para permitir tráfico en un puerto

Ejemplo: habilitar acceso HTTP en el puerto 8080:

sudo iptables -A INPUT -p tcp --dport 8080 -j ACCEPT

Explicación:

  • sudo: ejecuta el comando con privilegios de administrador

  • -A INPUT: agrega la regla a la cadena de entrada (tráfico entrante)

  • -p tcp: aplica la regla al protocolo TCP

  • --dport 8080: especifica el puerto 8080

  • -j ACCEPT: acepta el tráfico que cumpla la regla

Estas reglas no son permanentes: se pierden al reiniciar el sistema.

Image5

sudo apt install iptables iptables-persistent

Guardar la configuración

Para hacer que las reglas persistan después del reinicio:

sudo netfilter-persistent save

Image4

Esto almacena las reglas actuales para que se apliquen automáticamente al reiniciar.

Recargar la configuración

sudo netfilter-persistent reload

Image7

Método 2: con ufw (Uncomplicated Firewall)

ufw es una interfaz simplificada para iptables que facilita la gestión de reglas del firewall.

Activar ufw

sudo ufw enable

Image6

Si no está instalado:

sudo apt install ufw

Permitir tráfico por un puerto específico

Ejemplo: abrir la puerta 22 (SSH):

sudo ufw allow 22/tcp

Esto permite conexiones TCP entrantes al puerto 22, generalmente usadas para acceso remoto SSH.

Image9

Ver el estado del firewall

sudo ufw status

Muestra todas las reglas activas y los puertos abiertos.

Image8

Método 3: con firewalld

firewalld es un servicio de firewall dinámico más flexible y fácil de configurar que iptables.

Agregar una regla permanente

Ejemplo: abrir la puerta 443 (HTTPS):

sudo firewall-cmd --permanent --add-port=443/tcp

Image12

Instala y activa firewalld con:

sudo apt install firewalld
sudo systemctl enable firewalld
sudo systemctl start firewalld

Recargar las reglas

sudo firewall-cmd --reload

Image10

Comprobar si el puerto está abierto

sudo firewall-cmd --list-all

Muestra todas las zonas y reglas activas, incluidas las puertas abiertas.

Image11

Cómo probar el puerto abierto

Después de abrir un puerto, verifica si realmente está accesible.

Con telnet

telnet localhost port_number

Si la conexión se establece, el puerto está abierto y operativo.

Image13

Con nmap

nmap -p port_number localhost

Verifica si el puerto especificado está accesible en el host local.

Image14

Con curl

curl localhost:port_number

Si el servicio responde, significa que está activo en esa puerta.

Image15

Solución de problemas comunes

Si el puerto no se abre correctamente:

Verifica las reglas del firewall:

  • iptables -L
  • ufw status

Comprueba el estado del servicio:

  • systemctl status <nombre_del_servicio>

Abrir puertos según el protocolo

Dependiendo del servicio, puede ser necesario usar TCP o UDP.

Abrir un puerto TCP

Ejemplo: permitir tráfico MySQL en el puerto 3306:

sudo ufw allow 3306/tcp

Image16

Abrir un puerto UDP

Ejemplo: permitir tráfico SNMP en el puerto 161:

sudo ufw allow 161/udp

Image17

UDP proporciona comunicación más rápida y sin conexión, ideal para herramientas de monitoreo.

Gestionar el acceso a los puertos

Restringir el acceso a una IP específica

sudo ufw allow from 192.168.1.100 to any port 22

Esto permite acceso SSH al puerto 22 solo desde esa dirección IP, mejorando la seguridad.

Image18

Cerrar un puerto

sudo ufw deny 80/tcp

Bloquea el tráfico entrante por el puerto 80 (HTTP).

Image19

Conclusión

Comprobar y abrir puertos en Linux es fundamental para optimizar el funcionamiento de red y mantener la seguridad de los servicios. Con herramientas como iptables, ufw y firewalld, puedes controlar el tráfico de forma segura y flexible. Siempre prueba tus configuraciones con nmap, curl o telnet para confirmar que el puerto está correctamente abierto.

Una buena gestión de puertos garantiza servidores estables, conexiones seguras y un rendimiento confiable.

Sistema Linux
29.10.2025
Reading time: 5 min

Similares

Sistema Linux

Cómo comprimir archivos en Linux usando el comando tar

El comando tar funciona básicamente para agrupar todos los archivos y directorios en un solo archivo sin alterar su estructura. Este enfoque simplifica la organización, la creación de copias de seguridad y la transferencia de archivos. Una vez empaquetados, estos archivos se pueden comprimir utilizando varios métodos como gzip, bzip2 o xz, lo que ayuda a optimizar el almacenamiento y mejorar la velocidad de transferencia. Las distribuciones modernas de Linux en servidores Linux VPS incluyen versiones actualizadas de tar, lo que permite una integración fluida con herramientas de compresión como gzip para una gestión de datos más eficiente. Esto convierte a tar en un recurso valioso para los usuarios que administran grandes conjuntos de datos, ya que admite tanto la consolidación de archivos como la compresión en un solo comando. Gracias a su flexibilidad, tar se utiliza ampliamente en diferentes entornos Linux. No solo facilita la creación de copias de seguridad, sino que también agiliza la distribución de software y la gestión de datos importantes. Con una amplia gama de opciones disponibles, los usuarios pueden personalizar los archivos según sus necesidades, ya sea excluyendo directorios o archivos específicos, conservando permisos o protegiendo datos sensibles. Para cualquier persona que trabaje con grandes volúmenes de información o requisitos de almacenamiento complejos, aprender a fondo el comando tar es fundamental. Todo esto lo convierte en una utilidad importante que los usuarios de Linux deben conocer. Y si estás buscando una solución fiable, de alto rendimiento y económica para tus flujos de trabajo, Hostman ofrece opciones de Linux VPS Hosting, incluidas Debian VPS, Ubuntu VPS y VPS CentOS. Comprender la sintaxis de tar El comando tar se divide fundamentalmente en cuatro partes distintas: tar  -flags: Opciones utilizadas para ejecutar una acción específica Nombre del archivo Ruta al archivo o directorio deseado Se escribiría de la siguiente manera: tar -flags (nombre_del_archivo) (ruta) Archivar archivos y directorios tar utilizado con la opción -cvf permite archivar archivos y directorios. Para un archivo: tar -cvf collectionX.tar snake.txt Para un directorio: tar -cvf DRcollection.tar newDir/ Esto archivará el archivo snake.txt en collectionX.tar y el directorio newDir en DRcollection.tar. Si el objetivo es archivar varios archivos y directorios, utiliza los siguientes comandos. Para varios archivos: tar -cvf collectionX.tar snake.txt panther.txt Tiger.txt Para varios directorios: tar -cvf DRcollection.tar newDir1/ newDir2/ newDir3/ Comprimir archivos y directorios tar utilizado con la opción -czvf permite comprimir archivos y directorios. Para un archivo: tar -czvf collectionX.tar.gz snake.txt Para un directorio:  tar -czvf DRcollection.tar.gz newDir/ -c archiva archivos y directorios -z aplica compresión gzip -v es modo detallado y muestra el proceso de compresión -f permite asignar un nombre al archivo que se va a comprimir Añade .gz después de tar si deseas comprimir archivos y directorios. Para varios archivos: tar -cvf collectionX.tar.gz snake.txt panther.txt Tiger.txt Para varios directorios: tar -cvf DRcollection.tar.gz newDir1/ newDir2/ newDir3/ .bz2 se utiliza con tar y junto con la opción -cjf permite archivar y comprimir archivos y directorios. -j aplica compresión bzip2 Para un archivo con bz2: tar -cjf collectionX.tar.bz2 snake.txt Para un directorio con bz2: tar -cjf DRcollection.tar.bz2 newDir/ .xz se utiliza con .tar y junto con la opción -cJf permite archivar y comprimir archivos y directorios. -J significa compresión con xz. Para un archivo con xz: tar -cJf DRcollection.tar.xz file1.txt Para un directorio con xz: tar -cJf collectionX.tar.xz newDir/ Extraer archivos .tar comprimidos arch1.tar.gz, arch1.tar.bz2 y arch1.tar.xz son tres archivos comprimidos. Extraer .tar.gz: tar -xvzf arch1.tar.gz -x significa extracción de archivos. Extraer .tar.bz2: tar -xvjf arch1.tar.bz2 Extraer .tar.xz: tar -xvJf arch1.tar.xz Extraer archivos específicos usando comodines Si necesitas extraer solo un tipo específico de archivo de un archivo, haz lo siguiente: tar -xvf arch1.tar --wildcards '*.sh' Esto devolverá solo los archivos con la extensión .sh. --wildcards ayuda a buscar tipos de archivo específicos y permite la coincidencia de patrones. *.sh garantiza que solo se extraigan archivos del tipo .sh Extraer en un directorio específico Si necesitas extraer el archivo completo en un directorio específico, haz lo siguiente: tar -xvf arch1.tar -C ./destinationDir/pathDir/ -C cambia al directorio especificado. -xvf ayuda a extraer el archivo en esa ubicación. Gestionar archivos .tar Ver el contenido sin extraer Si necesitas saber qué hay dentro de un archivo sin descomprimirlo, utiliza comandos como estos: tar -tzf arch1.tar.gztar -tjf arch1.tar.bz2tar -tJf arch1.tar.xz -t proporciona detalles sobre el contenido de los archivos comprimidos sin extraerlos. Añadir archivos a un archivo existente Para añadir un archivo nuevo a un archivo: tar -rvf arch1.tar new.sh new.sh se añadirá a arch1.tar. Eliminar un archivo específico de un archivo Si necesitas eliminar un archivo de un archivo sin extraerlo, se puede hacer usando --delete. tar --delete -f arch1.tar new.sh  Esto eliminará el archivo new.sh del archivo arch1.tar sin extraerlo. Ten en cuenta que --delete no funciona con archivos comprimidos, solo con archivos. Comparar el contenido del archivo con el directorio actual Si necesitas examinar el contenido de tu directorio de trabajo actual y compararlo con el archivo, utiliza: tar --diff -f arch1.tar --diff ayuda a comparar el contenido de arch1.tar con el contenido disponible en el directorio de trabajo actual. Solución de problemas comunes de .tar "tar: Removing leading '/' from member names" Esta advertencia aparece cuando se utilizan rutas absolutas en un archivo: tar -cvf arch1.tar /home/user/file.txt Solución: Usa -p para conservar las rutas absolutas. tar -cvpf arch1.tar /home/user/file.txt "tar: Error opening archive: Unrecognized archive format" Este error ocurre cuando el archivo está dañado o se utiliza el comando de descompresión incorrecto. Solución: Verifica el tipo de archivo: file arch1.tar.gz Usa el comando de descompresión correcto: tar -xvzf arch1.tar.gz  # For .tar.gztar -xvjf arch1.tar.bz2  # For .tar.bz2tar -xvJf arch1.tar.xz   # For .tar.xz Si se sospecha corrupción, comprueba la integridad: gzip -t arch1.tar.gzbzip2 -tv arch1.tar.bz2 Conclusión La utilidad tar sirve como una herramienta importante para el archivado, la compresión y la extracción. Proporciona eficiencia, lo que la convierte en un componente crucial de la gestión del almacenamiento en Linux. Con una variedad de configuraciones y ajustes, tar funciona como una solución permanente que se adapta a diversos escenarios de uso. Opciones como -czvf y -xvzf determinan la forma en que los archivos se almacenan y se recuperan, otorgando a los usuarios un control total sobre la compresión de datos. Además, tar es compatible con múltiples herramientas de compresión como gzip, bzip2 y xz, lo que permite a los usuarios optimizar tanto la velocidad como la relación de compresión según sus necesidades específicas. Para profesionales de TI, desarrolladores y usuarios de Linux, aprender todo sobre tar es invaluable. Ya sea para gestionar copias de seguridad, distribuir datos de forma eficaz u optimizar el almacenamiento, tar es una de las herramientas de archivado más influyentes. Al seleccionar las configuraciones y comandos adecuados, los usuarios pueden mejorar significativamente su flujo de trabajo, automatizar tareas y gestionar grandes conjuntos de datos de manera eficiente.
28 January 2026 · 7 min to read
Sistema Linux

Creación de enlaces simbólicos en Linux: un tutorial paso a paso

Los symlinks, también conocidos como enlaces simbólicos, son como accesos directos en el mundo Linux. Le permiten crear un nombre nuevo (o enlace) que apunta a otro archivo, directorio o cualquier objeto dentro del sistema de archivos. Su principal ventaja es reducir la redundancia evitando la necesidad de tener varias copias del mismo archivo. Cuando tiene un symlink, los cambios realizados en el archivo original se reflejan en todos sus enlaces simbólicos. Esto elimina la molestia de actualizar varias copias individualmente. Además, los symlinks ofrecen una manera flexible de gestionar permisos de acceso. Por ejemplo, diferentes usuarios con directorios que apuntan a subconjuntos de archivos pueden limitar la visibilidad más allá de lo que permiten los permisos estándar del sistema de archivos. En esencia, los symlinks son indispensables para una gestión y organización eficiente de archivos, simplificando las actualizaciones y el control de acceso en sistemas complejos. Requisitos previos Para seguir este tutorial, necesitará: Un servidor en la nube, una máquina virtual o un ordenador que ejecute un sistema operativo Linux. En Hostman, puede desplegar un servidor con Ubuntu, CentOS o Debian en menos de un minuto. Creación de enlaces simbólicos con el comando ln El comando ln se utiliza para crear enlaces simbólicos en Linux. Siga estos pasos: Abra una ventana de terminal. Navegue al directorio donde desea crear el enlace simbólico. Utilice la siguiente sintaxis de comando para crear un symlink: ln -s /path/to/source /path/to/symlink Reemplace /path/to/source por la ruta real del archivo o directorio que desea enlazar, y /path/to/symlink por el nombre o ubicación deseada del enlace simbólico. Comprender las opciones del comando ln El comando ln ofrece varias opciones para personalizar la creación de symlinks:  -s: Crea un enlace simbólico.  -f: Sobrescribe un symlink existente.  -n: Trata los destinos de symlink como archivos normales. Explore estas opciones según sus necesidades de enlace. Creación de enlaces simbólicos a archivos Para crear un symlink a un archivo, utilice el comando ln con la opción -s. Aquí tiene un ejemplo de cómo crear un enlace simbólico a un archivo usando el comando ln. El siguiente comando crea un enlace simbólico llamado symlink_file en el directorio actual, que apunta al archivo /path/to/file: ln -s /path/to/file /path/to/symlink_file Reemplace /path/to/file por la ruta real del archivo y /path/to/symlink_file por el nombre deseado del symlink. En este ejemplo, la ruta del archivo es absoluta. También puede crear un enlace simbólico con una ruta relativa. Sin embargo, tenga en cuenta que para que el symlink funcione correctamente, cualquier proceso que acceda a él debe establecer primero el directorio de trabajo correcto; de lo contrario, el enlace puede parecer roto. Creación de enlaces simbólicos a directorios Puede utilizar el comando ln para crear un enlace simbólico que apunte a un directorio. Por ejemplo, el siguiente comando crea un enlace simbólico llamado symlink_directory en el directorio actual, que apunta al directorio /path/to/directory: ln -s /path/to/directory /path/to/symlink_directory Este comando crea un enlace simbólico llamado symlink_directory en su ubicación actual, enlazándolo con el directorio /path/to/directory. Sobrescribir un enlace simbólico de forma forzada Puede utilizar la opción -f con el comando ln. Por ejemplo, si la ruta en un symlink es incorrecta debido a un error tipográfico o si el destino se ha movido, puede actualizar el enlace así: ln -sf /path/to/new-reference-dir symlink_directory El uso de la opción -f garantiza que el contenido del symlink antiguo se reemplace por el nuevo destino. También elimina automáticamente cualquier archivo o symlink en conflicto si existe uno. Si intenta crear un symlink sin la opción -f y el nombre del symlink ya está en uso, el comando fallará. Verificación de enlaces simbólicos Puede mostrar el contenido de un symlink utilizando el comando ls -l en Linux: ls -l symlink_directory La salida mostrará el symlink y su destino: symlink_file -> /path/to/reference_file Aquí, symlink_file es el nombre del enlace simbólico y apunta al archivo /path/to/reference_file. ls -l /path/to/symlink La salida mostrará el symlink y su destino. Prácticas recomendadas para enlaces simbólicos Use nombres descriptivos para los enlaces simbólicos. Evite los enlaces circulares para prevenir confusiones del sistema. Actualice los symlinks si cambia la ubicación del destino. Casos de uso de los enlaces simbólicos Gestión de archivos de configuración: Enlazar archivos de configuración entre sistemas. Control de versiones: Enlazar simbólicamente bibliotecas comunes para proyectos de desarrollo. Copias de seguridad de datos: Crear symlinks hacia directorios de copia de seguridad. Posibles problemas y solución de errores Problemas de permisos: Asegúrese de que existan los permisos adecuados para la fuente y el symlink. Enlaces rotos: Actualice los symlinks si los archivos de destino se mueven o eliminan. Enlaces entre sistemas de archivos: Los symlinks pueden no funcionar entre diferentes sistemas de archivos. Conclusión Los symlinks son valiosos para optimizar la gestión de archivos y el mantenimiento del sistema. Simplifican las actualizaciones entre múltiples aplicaciones que comparten un archivo común, reduciendo la complejidad del mantenimiento. También ofrecen una alternativa a directorios como /etc, que suelen requerir acceso root para modificar archivos. Los desarrolladores encuentran útiles los symlinks para alternar sin problemas entre archivos de prueba locales y versiones de producción. Al seguir este tutorial, ha dominado el arte de crear enlaces simbólicos en Linux. Aproveche los symlinks para una gestión de archivos eficiente y una mayor personalización.
15 December 2025 · 5 min to read
Sistema Linux

Cómo listar usuarios en Linux

Administrar y proteger un sistema Linux requiere una supervisión y gestión cuidadosa de los usuarios. Saber quién está utilizando el sistema y qué acciones realiza es fundamental para mantener la seguridad y la eficiencia tanto en servidores como en equipos locales. Esta guía cubre varios métodos para comprobar usuarios en Linux, incluyendo el uso de la terminal y la interfaz gráfica (específicamente, el entorno Gnome). Los métodos explicados te ayudarán a obtener información sobre cuentas de usuario, sus actividades, historial de inicio de sesión y más. Existen varias formas de listar cuentas de usuario. A continuación, se presentan dos secciones que explican cómo acceder al listado de usuarios en Linux mediante la terminal o la interfaz gráfica. Terminal En esta sección exploraremos diferentes métodos para mostrar usuarios mediante la línea de comandos. Archivo /etc/passwd El archivo /etc/passwd contiene información sobre todos los usuarios registrados en el sistema. Cada línea representa una cuenta e incluye: nombre, contraseña, UID (ID de usuario), GID (ID de grupo), información adicional (GECOS), directorio home y shell de inicio de sesión. Para ver su contenido: cat /etc/passwd También puedes abrirlo con un editor de texto como nano o vim. Si utilizas un servidor en la nube de Hostman con un usuario no administrador, el archivo podría verse así: (Ejemplo visual en el documento original) Las contraseñas aparecen como x por razones de seguridad. Las contraseñas reales se almacenan en /etc/shadow. Si solo necesitas la lista de nombres de usuario: sed 's/:.*//' /etc/passwd Comando who El comando who muestra una lista de los usuarios activos, junto con su terminal, fecha y hora de inicio de sesión y, si es posible, la dirección IP: who Si solo deseas los nombres de los usuarios actualmente conectados: users Diferencia clave who → muestra información detallada users → solo nombres de usuarios Comando w El comando w ofrece un listado más detallado de usuarios activos: actividad actual, tiempo de inicio de sesión y carga del sistema: w Comando last El comando last permite ver el historial de inicios de sesión, incluyendo fechas, horas y origen de las conexiones. Es útil para auditoría y seguridad: last Comando lastlog El comando lastlog muestra cuándo inició sesión cada usuario por última vez: lastlog Interfaz gráfica Para quienes prefieren trabajar con una interfaz gráfica, explicamos cómo revisar usuarios en sistemas con Gnome. KDE Plasma ya no ofrece herramientas nativas para este propósito. En Gnome existen al menos dos formas de ver la lista de usuarios. Menú “Usuarios” Abre Configuración desde el buscador del sistema. Selecciona la pestaña Usuarios. Haz clic en Desbloquear (arriba a la derecha) para acceder a todas las funciones. Arriba verás la lista de usuarios existentes y abajo los detalles de cada cuenta. Utilidad “Users” También puedes instalar la utilidad adicional gnome-system-tools: sudo apt install gnome-system-tools (En otras distribuciones se usarán comandos como dnf, pacman, etc.) Después de instalarla: Abre el menú de búsqueda. Escribe Usuarios. Abre la utilidad instalada. La ventana mostrará la lista de cuentas y permitirá modificar ajustes como tipo de cuenta, contraseña y otros parámetros. Resumen Si trabajas desde la terminal, estas herramientas te serán útiles: /etc/passwd — contiene información de las cuentas existentes. who — lista usuarios activos con detalles. w — muestra actividades actuales de los usuarios. last — historial de inicios de sesión. lastlog — último inicio de sesión por usuario. Si utilizas Linux con Gnome: Usa el menú Usuarios, o la utilidad gnome-system-tools. Conocer quién accede a tu sistema y qué acciones realiza permite detectar problemas rápidamente y mejora la administración general del sistema. Elige el método que mejor se adapte a tus necesidades.
12 December 2025 · 4 min to read

¿Necesita ayuda para
elegir un producto?

Nuestros expertos están disponibles para ayudarle a encontrar la solución cloud
adecuada para su empresa, incluso si no sabe por dónde empezar.
Hostman's Support