Abra múltiples puertos de firewall en CentOS7

Abra múltiples puertos de firewall en CentOS7

Necesito abrir varios puertos diferentes (no en rangos) en una máquina CentOS.

Sé cómo abrir un puerto con firewall-cmd, pero eso resulta molesto para abrir como 40 puertos o más.

¿Existe un archivo de configuración donde pueda definir todos los puertos abiertos en un solo lugar? Lamentablemente no encontré nada al respecto.

Respuesta1

Puede definir un servicio a partir de un archivo xml que contenga todos los puertos que necesita, agregar un servicio a partir de él y luego habilitarlo. Cree el archivo service.xml así:

<?xml version="1.0" encoding="utf-8"?>
 <service>
  <port port="port1" protocol="proto1"/>
  <port port="port2" protocol="proto2"/>
  <port port="port3" protocol="proto3"/>
  <port port="port4" protocol="proto4"/>
 </service>

Agregar nuevo servicio:

# firewall-offline-cmd --new-service-from-file=service.xml --name=My_Service

Vuelva a cargar el cmd del firewall:

# firewall-cmd --reload

Luego agrega tu servicio:

# firewall-cmd --add-service My_Service

Respuesta2

firewall-cmd --permanent --add-port={80/tcp,443/tcp,9200/tcp,5601/tcp,5044/tcp}
firewall-cmd --reload

Respuesta3

Siempre puedes hacer un pequeño guión/una frase:

#!/bin/bash
for i in 80 443 22 123 21 1337 31337
do
  firewall-cmd --zone=public --add-port=${i}/tcp
done

Respuesta4

Aunque esta es una pregunta muy antigua, puede volverse realmente "interesante", así que pensé que debería responderla.

Todos los puertos posibles en una sola línea

# simple
firewall-cmd --add-port={80,443}/tcp

# Both protocols
firewall-cmd --add-port={80,443}/{tcp,udp}

# can be a bit complex and note the nested parentheses
firewall-cmd --add-port={{80,443}/{tcp,udp},{110,995}/tcp}

Luego echa un vistazo a lo que has hecho :) escribiendo

firewall-cmd --list-ports

Pero los servicios son mejores.

También experimenté con --add-services', whose names can be found in/etc/services'. Es incluso mejor que usar puertos. Tanto los nombres como los puertos están en ese archivo, por lo que puedes enumerar algunos de ellos:

grep -E 'http|imap|pop3|smtp|dns|ftp' /etc/services

Podemos abrir puertos ingresando lo siguiente: ``:

# readable
firewall-cmd --add-service={http,https}
firewall-cmd --list-services

Eso es todo por el momento.

información relacionada