Öffnen Sie mehrere Firewall-Ports in CentOS7

Öffnen Sie mehrere Firewall-Ports in CentOS7

Ich muss auf einer CentOS-Maschine mehrere verschiedene Ports (nicht in Bereichen) öffnen.

Ich weiß, wie man mit einen Port öffnet firewall-cmd, aber das wird lästig, wenn man 40 oder mehr Ports öffnen muss.

Gibt es eine Konfigurationsdatei, in der ich alle offenen Ports an einer Stelle definieren kann? Leider habe ich dazu nichts gefunden.

Antwort1

Sie können einen Dienst aus einer XML-Datei definieren, die alle benötigten Ports enthält, einen Dienst daraus hinzufügen und ihn dann aktivieren. Erstellen Sie die Datei service.xml wie folgt:

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

Neuen Dienst hinzufügen:

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

Firewall-Eingabeaufforderung neu laden:

# firewall-cmd --reload

Fügen Sie dann Ihren Dienst hinzu:

# firewall-cmd --add-service My_Service

Antwort2

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

Antwort3

Sie können jederzeit ein kleines Skript/einen Einzeiler erstellen:

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

Antwort4

Obwohl dies eine sehr alte Frage ist, kann sie wirklich „interessant“ werden, deshalb dachte ich, ich sollte sie beantworten.

Alle möglichen Ports in einer einzigen Zeile

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

Dann schau dir an, was du getan hast :), indem du eingibst

firewall-cmd --list-ports

Aber die Dienstleistungen sind schöner

Ich habe auch mit /etc/services experimentiert --add-services', whose names can be found in. Das ist sogar noch besser als die Verwendung von Ports. Sowohl die Namen als auch die Ports befinden sich in dieser Datei, sodass Sie einige davon auflisten können:

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

Wir können Ports öffnen, indem wir Folgendes eingeben: ``:

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

Das ist es fürs Erste.

verwandte Informationen