Откройте несколько портов брандмауэра в CentOS7

Откройте несколько портов брандмауэра в CentOS7

Мне нужно открыть несколько разных портов (не в диапазонах) на машине CentOS.

Я знаю, как открыть порт с помощью firewall-cmd, но это становится хлопотным, когда приходится открывать 40 и более портов.

Есть ли файл конфигурации, в котором я могу определить все открытые порты в одном месте? К сожалению, я ничего не нашел по этому поводу.

решение1

Вы можете определить службу из xml-файла, содержащего все необходимые вам порты, добавить службу из него и затем включить ее. Создайте файл service.xml следующим образом:

<?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>

Добавить новую услугу:

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

Перезагрузите firewall-cmd:

# firewall-cmd --reload

Затем добавьте свою услугу:

# firewall-cmd --add-service My_Service

решение2

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

решение3

Вы всегда можете сделать небольшой скрипт/однострочник:

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

решение4

Несмотря на то, что это очень старый вопрос, он может оказаться действительно «интересным», поэтому я посчитал нужным на него ответить.

Все возможные порты в одной строке

# 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}

Затем посмотрите, что вы сделали :), набрав

firewall-cmd --list-ports

Но обслуживание лучше

Я также экспериментировал с --add-services', whose names can be found in/etc/services'. Это даже лучше, чем использование портов. И имена, и порты находятся в этом файле, так что вы можете перечислить некоторые из них:

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

Мы можем открыть порты, введя следующее: ``:

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

На данный момент это все.

Связанный контент