Ich habe es mit einem bekannten Problem in RHEL 7 zu tun, bei dem Dienste, die eine zu bindende Adresse angeben, nicht korrekt gestartet werden. Ich habe eine Reihe ähnlicher Berichte gefunden, viele sagen, dass sie mit Updates für systemd behoben wurden, aber ich bin immer noch mit diesem Problem konfrontiert. Dies betrifft alle Dienste auf meiner Box (sshd, sshd, vsftpd, nginx), die nicht nur an 0.0.0.0 gebunden sind.
Ich habe alle möglichen vermeintlichen Problemumgehungen gefunden, aber keine davon funktioniert konsequent für mich. Am Beispiel von sshd sieht die Konfiguration folgendermaßen aus:
Port 22
ListenAddress 192.168.242.225
...
Folgendes habe ich alleine und in Kombinationen versucht:
Von https://bugzilla.redhat.com/show_bug.cgi?id=1352214#c4 (Ich habe es auch sys-subsystem-net-devices-eth1.device
anstelle von versucht, network-online.target
aber ich vermute, dass dies nicht auf die Adressierung wartet.)
mkdir /etc/systemd/system/sshd.service.d
tee /etc/systemd/system/sshd.service.d/wait.conf << 'EOF'
[Unit]
After=network-online.target
EOF
Von https://bugzilla.redhat.com/show_bug.cgi?id=1352214#c11
mkdir /etc/systemd/system/sshd.service.d
tee /etc/systemd/system/sshd.service.d/wait.conf << 'EOF'
[Unit]
Wants=network-online.target
After=network-online.target
EOF
Von https://bugzilla.redhat.com/show_bug.cgi?id=1438749#c0
systemctl add-wants multi-user.target network.target
Von irgendwo
mkdir /etc/systemd/system/sshd.service.requires
ln -s /usr/lib/systemd/system/network-online.target /etc/systemd/system/sshd.service.requires/
Egal was ich versuche, ich erhalte normalerweise "Fehler: Bindung an Port 22 auf 192.168.242.125 fehlgeschlagen: Angeforderte Adresse kann nicht zugewiesen werden". Manchmal fängt alles perfekt an, was meiner Meinung nach auf ein Timing-Problem zurückzuführen ist.
Wenn Sie Scientific Linux (RHEL) 7.5 ausführen und der Netzwerkmanager aktiviert ist, ist die gesamte IP-Adressierung statisch. Wenn es weitere Details gibt, die helfen könnten, lassen Sie es mich bitte wissen. Hier ist die Ausgabe von journalctl
nach einem fehlgeschlagenen Start mit After=network-online.target
in der sshd-Einheitendatei. Relevante Dinge beginnen um Zeile 1700. Ich hoffe, jemand ist auf dieses Problem gestoßen und hat es erfolgreich gelöst!