
Eine Webanwendung, die auf CentOS 7 (App-Server) in einem privaten LAN ausgeführt wird, muss Datenbankverbindungen zu einem anderen CentOS 7-Server (Datenbankserver) herstellen, der im selben privaten LAN ausgeführt wird.
Wenn ich systemctl stop firewalld
auf dem App-Server tippe, funktionieren die Datenbankverbindungen zum Remote-Datenbankserver einwandfrei. Wenn ich jedoch systemctl start firewalld
auf demselben Anwendungsserver tippe, kann die Webanwendung keine Verbindung mehr zum Remote-Datenbankserver herstellen.
Dies sagt mir, dass ich eine Firewallregel für ausgehende Verbindungen auf dem Anwendungsserver erstellen muss. Dazu müsste ich allerdings wissen, welcher Port für die ausgehenden Verbindungen verwendet werden muss.
Mit welchen konkreten Befehlen lässt sich ermitteln, welcher Port im Anwendungsserver für Remoteverbindungen zum Datenbankserver verwendet wird?
Antwort1
netstat
Um alle Netzwerkports anzuzeigen, auf denen Programme lauschen, verwenden Sie:
sudo netstat -lpn4
- -l: Nur Zuhören anzeigen
- -p: Programmnamen anzeigen
- -n: Immer Portnummern anzeigen
- -4: Nur IPv4-Netzwerkverbindungen anzeigen
Suchen Sie in der PID/Program name
Spalte nach Ihrem Programm und sehen Sie dann nach, welches Local Address
es verwendet.
Weitere Möglichkeiten können Sie im Handbuch nachlesen man netstat
.