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 Instalar y Usar ripgrep: guía paso a paso para búsquedas eficientes

Introducción a ripgrep (rg) ripgrep (a menudo abreviado como rg) es una herramienta moderna, rápida y potente de línea de comandos que permite buscar archivos de forma recursiva, similar a grep, pero con mayor eficiencia y funciones adicionales. Está diseñada para buscar en repositorios de código, ignorando automáticamente los archivos y directorios definidos en .gitignore u otros archivos de configuración similares. Esto hace que ripgrep sea especialmente eficiente para desarrolladores que trabajan con grandes bases de código. Este tutorial cubre: Instalación de ripgrep en Linux Sintaxis básica y comandos de ripgrep Casos de uso comunes y ejemplos Funciones avanzadas Comparación con otras herramientas como grep Resolución de problemas y buenas prácticas Al final, tendrás una comprensión sólida de cómo usar ripgrep de forma efectiva. Instalar ripgrep en Linux Instalar ripgrep es sencillo en la mayoría de las distribuciones Linux. Puedes hacerlo mediante el gestor de paquetes o descargando el binario. Instalación en Ubuntu Sigue estos pasos: Actualiza la lista de paquetes: sudo apt update Instala ripgrep: sudo apt install ripgrep fzf Sintaxis básica y comandos de ripgrep La sintaxis de ripgrep es similar a grep, pero ofrece mayor rendimiento y funciones más potentes de forma predeterminada. Sintaxis básica rg [OPCIONES] PATRÓN [RUTA] Donde: PATRÓN es la cadena o expresión regular que deseas buscar.[RUTA] es opcional y especifica el archivo o directorio. Si se omite, ripgrep busca en el directorio actual. Ejemplo: búsqueda con extensiones específicas Para buscar solo en archivos con una extensión determinada (por ejemplo, .py): rg "function" *.py Búsqueda recursiva por tipo de archivo Cuando se usan extensiones directamente (*.py), ripgrep no busca de forma recursiva. Para hacerlo correctamente, utiliza --type: rg --type py "function" Esto garantiza que la búsqueda se realice en todos los archivos relevantes del árbol de directorios. Búsqueda con expresiones regulares ripgrep admite expresiones regulares: rg '\d{4}-\d{2}-\d{2}' Busca fechas en formato YYYY-MM-DD. Casos de uso comunes y ejemplos Búsqueda sin distinguir mayúsculas y minúsculas rg -i "error" Coincide con “error”, “Error” o “ERROR”. Buscar por tipo de archivo Buscar solo en archivos Python: rg --type py "import" Excluir directorios Por ejemplo, excluir node_modules: rg "config" --glob '!node_modules/*' Buscar en archivos comprimidos ripgrep puede buscar dentro de archivos comprimidos sin necesidad de extraerlos. Soporta formatos como .gzip, .xz, .lz4, .bzip2, .lzma y .zstd. Ejemplo: rg 'ERST' -z demo.gz Funciones avanzadas de ripgrep ripgrep permite mostrar contexto adicional alrededor de las coincidencias. Contexto antes y después -B [número]: líneas antes -A [número]: líneas después Ejemplo: rg "EXT4-fs \(sda3\)" /var/log/syslog.demo -B 1 -A 2 Contexto combinado rg "EXT4-fs \(sda3\)" /var/log/syslog -C 1 -B 1 -A 2 ofrece mayor control -C 2 muestra el mismo número de líneas antes y después Comparación con otras herramientas ripgrep vs grep ripgrep es más rápido, especialmente en grandes bases de código ignora automáticamente archivos de .gitignore grep está más ampliamente disponible, pero tiene menos funciones integradas ripgrep vs ag (The Silver Searcher) ambos están optimizados para código ripgrep suele ser más rápido y tiene mejor soporte para globbing y regex Resolución de problemas y buenas prácticas Archivos grandes Si tienes problemas de memoria: rg "search-term" --max-filesize 10M Limita la búsqueda a archivos menores de 10 MB. Excluir tipos de archivos globalmente Crea el archivo ~/.ripgreprc: --glob '!*.log' --glob '!*.tmp' Esto excluye .log y .tmp de todas las búsquedas. Comprobar versión rg --version Conclusión Este tutorial cubrió la instalación de ripgrep, comandos básicos, funciones avanzadas y comparaciones con otras herramientas. Gracias a su velocidad y eficiencia, ripgrep es una excelente opción para desarrolladores que desean mejorar sus capacidades de búsqueda en grandes bases de código.
05 February 2026 · 4 min to read
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

¿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