3 formas de abrir puertos en Linux

3 formas de abrir puertos en Linux
"Este tutorial explica cómo abrir puertos en la mayoría de las distribuciones de Linux utilizando diferentes técnicas.

Después de leer este tutorial, podrá abrir puertos fácilmente en distribuciones específicas de Linux y una forma universal de abrirlos en todas las distribuciones.

Los firewalls descritos en este documento incluyen NFTables, UFW (Debian/Ubuntu) y Iptables.

Cada paso explicado en este artículo contiene capturas de pantalla, lo que facilita a cada usuario de Linux implementarlas.

Nota: Asegúrese de que los servicios para puertos abiertos estén activos."

Cómo abrir puertos usando NFTables

Nftables es el reemplazo de iptables. Hoy los nftables se volvieron más importantes que el firewall de iptables discontinuado.

Nuevas versiones de distribución como Debian ya traen nftables.

Todavía puede usar iptables y su frontend UFW (firewall sin complicaciones), que simplifica todas las tareas. Ambos también se explican en este tutorial después de esta sección dedicada a Nftables.

Para comenzar, asegúrese de que se instalen nftables y todas las dependencias. Sobre las distribuciones de Linux con sede en Debian, ejecute el comando que se muestra en la captura de pantalla a continuación.

sudo apt install nftables

Durante el proceso de instalación, se le solicitará confirmación para reiniciar algunos programas y servicios. Prensa INGRESAR.

En caso de que se actualicen para su biblioteca GLIB, presione Si se le pide que lo actualice.

Cuando se le preguntó si reiniciar los servicios nuevamente, presione INGRESAR.

Una vez que se instala NFTable, puede comenzar a escribir su firewall y definir los puertos para permanecer abiertos.

sudo nftablesrules.TXT

A continuación puede ver un firewall simple de NFTables con una política restrictiva, dejando caer todo el tráfico, excepto los puertos abiertos definidos 80, 443, 53 y 22. Todas las líneas ejecutables se explican en los comentarios.

#Las dos primeras líneas ejecutables definen la red local (Linuxhintnet) y #Some Ports (80,443,22) para habilitar el tráfico a través de las reglas a continuación.
Definir LinuxHintnet = 192.168.0.16/01
Definirloodports = 80,443,53,22
#S declaro una nueva tabla que contiene cadenas y reglas. Llamé a esta tabla #"restrictivo"; el nombre es arbitrario. El "INET" aplica reglas a #IPv4 e IPv6. Para IPv6 solo use "IP6" o use "IP" IPv4.
Agregar tabla inet restrictivo
# Una vez que la tabla se definió a continuación, agregué tres cadenas, entrantes, redirigidos y salientes. Sus nombres también son arbitrarios. Todos ellos dejan el tráfico entrante, saliente y de reenvío como la política predeterminada.
Agregue la cadena inet restrictiva entrante Tipo Prioridad de entrada de gancho de filtro 0; Política caída;
Agregue la cadena inet redirección restrictiva type filtro gancho de gancho hacia adelante prioridad 0; Política caída;
Agregue la cadena inet restrictiva saliente Prioridad de salida de gancho de filtro de tipo 0; Política caída;
# A continuación, agregó dos reglas que permiten el tráfico de bucleza.
Agregar regla inet restrictivo entrante iifname lo contador acepta
Agregar regla inet
# También agregué reglas para permitir el tráfico a través de los puertos que definí en la variable #Allowports.
Agregue la regla inet restrictivo tcp sport $ sentodports contador acepta
Agregue la regla inet restrictivo tcp dport dport $ contador de alojamiento aceptable
Agregue la regla inet restrictivo udp sport $ sentodportps contador aceptable
Agregue la regla inet restrictivo saliente udp dport $ petileports contador acepta

A continuación puedes ver una captura de pantalla del firewall.

Después de guardar el archivo, ejecute el firewall usando el siguiente comando, donde "nftablesrules.TXT"Debe ser reemplazado por el nombre del archivo que creó.

sudo nft -f nftableRules.TXT

Para ver las reglas activas de firewall se ejecuta:

Sudo NFT Lista de reglas de Reglas

Si desea descargar sus reglas de firewall, ejecute el comando que se muestra a continuación.

Sudo NFT FLUSH REGLASET

Ahora, exploremos la opción más simple con UFW.

Cómo abrir puertos con UFW (firewall sin complicaciones)

Esta sección explica cómo abrir puertos en distribuciones de Linux con sede en Debian como Ubuntu usando UFW (firewall sin complicaciones), que, como su nombre lo sugiere, es un iPtables Frontend fácil de usar para crear reglas de firewall, incluidas las que necesitamos abrir puertos en Debian/Ubuntu Linux.

Nota: Para abrir puertos, además de las reglas de firewall, asegúrese de que el servicio que desea habilitar esté activo.

Si UFW no está instalado en su sistema, puede obtenerlo utilizando el Administrador de paquetes APT ejecutando el siguiente comando.

sudo apto install uFW

Después de instalar UFW, debe habilitarlo ejecutando que se muestra en la captura de pantalla a continuación.

sudo ufw habilitar

Una vez que se instala UFW, puede abrir un puerto especificando, como se muestra a continuación.

sudo UFW Permitir

Por ejemplo, para abrir el puerto 22, ejecute el siguiente comando.

sudo UFW Permitir 22

También puede abrir un puerto especificando el servicio o protocolo en lugar del número de puerto, como se muestra en la imagen a continuación.

sudo UFW Permitir ssh

Al agregar una regla como la anterior, puede verificar si el puerto se abrió correctamente ejecutando el siguiente comando.

estado de sudo UFW

Pero incluso si el firewall permite el tráfico, debe verificar si el servicio deseado se está ejecutando y el puerto está abierto; puede ejecutar el comando que se muestra a continuación.

sudo netstat -tulpn | Grep ESCUCHA

Como puede ver en la imagen de arriba, el puerto está escuchando.

Con UFW (y todos los firewalls), puede especificar el protocolo a través del cual permite el tráfico en un puerto específico. Simplemente agregue un corte después del número de puerto o el nombre del servicio seguido del protocolo. En el ejemplo a continuación, el puerto 80 está en el protocolo TCP.

sudo UFW Permitir 80/TCP

El siguiente ejemplo permite el tráfico UDP a través del puerto 1025.

sudo UFW Permitir 1025/UDP

Para permitir el tráfico a través de un puerto desde una dirección IP específica, use la siguiente sintaxis, donde la dirección IP y el número de puerto deben reemplazarse con su IP/puerto deseado.

sudo UFW Permitir de 172.64.175.28 a cualquier puerto 21

Nota: Para cerrar un puerto usando UFW, reemplace "Permitir" con "Denegar", como se muestra a continuación.

sudo ufw negar

Para cerrar el puerto 22, ejecute:

sudo ufw negar 22

O

sudo ufw negar ssh

Nota: Para cerrar el puerto 22, asegúrese de deshabilitar el servicio SSH está deshabilitado ejecutando el comando a continuación.

sudo systemctl parada 22

Nuevamente, verifique si mis reglas se agregaron correctamente ejecutando UFW seguido de la estado opción.

estado de sudo UFW

Esa es la forma más fácil de abrir puertos en Linux.

Abrir puertos en todas las distribuciones de Linux (iptables)

Esta sección muestra cómo abrir puertos usando iptables, el firewall detrás del frontend de UFW explicado anteriormente anteriormente.

La siguiente regla permite el tráfico TCP entrante (entrada) a través del puerto 22. Reemplace "22" con el número de puerto que necesita abrir.

sudo iptables -a entrada -p tcp --dport 22 -j aceptar

El sudo iptables -s El comando le permite ver reglas activas de firewall. Como puede ver arriba, la línea agregada está activa.

La siguiente línea permite el tráfico saliente (salida) a través del puerto 22.

sudo iptables -a salida -p tcp --dport 22 -j aceptar

Puede definir un rango de puertos para abrir implementando un colon entre los puertos iniciales y finales, como se muestra a continuación.

sudo iptables -a entrada -p tcp --destination -puerto 21:25 -j aceptar

Para guardar las reglas, ejecute el comando que se muestra en la siguiente figura.

sudo iptables-Save

Para enjuague las reglas iptables, ejecute iptables seguido de la bandera -f (FLUSH).

sudo iptables -f