
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.