Zeile in /etc/network/interfaces wird nicht ausgeführt

Einrichten des lokalen Netzes, Verbindung zu anderen Computern und Diensten.
Antworten
Exxter
Beiträge: 383
Registriert: 10.01.2003 00:15:15
Lizenz eigener Beiträge: GNU General Public License

Zeile in /etc/network/interfaces wird nicht ausgeführt

Beitrag von Exxter » 05.03.2018 10:10:38

Hallo,

ich habe zwei identische Debian Stretch 64bit Server bei Hetzner. In beiden habe ich nach Anleitung vom Hetzner Wiki* eine zusätzliche IP (Failover) in die /etc/network/interfaces eingetragen:

Code: Alles auswählen

# Failover-IP
up ip addr add xxx.xxx.xxx.42/32 dev eth0
down ip addr del xxx.xxx.xxx.42/32 dev eth0
Bei einem Server wird die up-Zeile gesetzt und die IP ist pingbar, bei dem anderen nicht. Bei dem wo es nicht funktioniert, muss ich manuell

Code: Alles auswählen

ip address add xxx.xxx.xxx.42/32 dev eth0
eingeben damit die IP erreichbar ist. Klar kann ich den Befehl irgendwo eintragen wo er beim booten gestartet wird, sauber ist das aber nicht.

Ich habe keine Idee warum es bei einem Server klappt und beim anderen nicht? Ich habe die 3 Zeilen schon vom funktionierenden Server zum nicht-funktionierenden kopiert - gleiches Problem. Natürlich auch immer ein reboot der Server. Sind beide aktuell per aptitude.

Jemand noch eine Idee, was die Ursache dieses Verhaltens sein könnte?

*) https://wiki.hetzner.de/index.php/Netzk ... .28Host.29

mat6937
Beiträge: 2925
Registriert: 09.12.2014 10:44:00

Re: Zeile in /etc/network/interfaces wird nicht ausgeführt

Beitrag von mat6937 » 05.03.2018 11:06:25

Exxter hat geschrieben: ↑ zum Beitrag ↑
05.03.2018 10:10:38
ich habe zwei identische Debian Stretch 64bit Server ...

Code: Alles auswählen

ip address add xxx.xxx.xxx.42/32 dev eth0
eingeben damit die IP erreichbar ist.
Das zeigt, dass die Server doch nicht identisch sind. Teste mal mit dem absoluten Pfad für ip, beim 2. Server:

Code: Alles auswählen

up /sbin/ip address add xxx.xxx.xxx.42/32 dev eth0
und evtl. auch mit:

Code: Alles auswählen

post-up /sbin/ip address add xxx.xxx.xxx.42/32 dev eth0
probieren.

Benutzeravatar
pangu
Beiträge: 1400
Registriert: 15.11.2011 20:50:52
Lizenz eigener Beiträge: GNU General Public License
Wohnort: /proc/1

Re: Zeile in /etc/network/interfaces wird nicht ausgeführt

Beitrag von pangu » 05.03.2018 11:12:35

mal beide Dateien mit "diff" vergleichen. Evtl. hast du irgendwo ein nicht-druckbares (nicht-sichtbares) Zeichen drin, Line-Feed oder CR (unix/nicht-unix) oder ähnliches. Auch immer vorsichtig sein mit "copy/paste" mit Maus. Am besten neue Datei erstellen und von Grund aus per Hand reinschreiben um alle Zweifel ausschließen zu können. Wenn alle Stricke reißen bei Hetzner nachhaken, ob es Besonderheiten gibt und die Funktion nicht für alle Server gilt sondern nur für einen möglich ist?

auf jeden Fall viel Erfolg bei der Fehlersuche.
Man gibt Geld aus, das man nicht hat, um damit Dinge zu kaufen, die man nicht braucht, um damit Leute zu beeindrucken, die man nicht mag.

Exxter
Beiträge: 383
Registriert: 10.01.2003 00:15:15
Lizenz eigener Beiträge: GNU General Public License

Re: Zeile in /etc/network/interfaces wird nicht ausgeführt

Beitrag von Exxter » 08.03.2018 07:08:33

Guten Morgen,

wegen Copy&Paste mit der Maus: habe mit :set list in Vim alle nichtdruckbaren Zeichen anzeigen lassen, da ist nichts ungewöhnliches.
mat6937 hat geschrieben: ↑ zum Beitrag ↑
05.03.2018 11:06:25
Das zeigt, dass die Server doch nicht identisch sind. Teste mal mit dem absoluten Pfad für ip, beim 2. Server:

Code: Alles auswählen

up /sbin/ip address add xxx.xxx.xxx.42/32 dev eth0
und evtl. auch mit:

Code: Alles auswählen

post-up /sbin/ip address add xxx.xxx.xxx.42/32 dev eth0
probieren.
Das hat mich auf etwas gebracht:
root@kiste2 ~ # whereis ip
ip: /bin/ip /sbin/ip /usr/share/man/man7/ip.7.gz /usr/share/man/man8/ip.8.gz
root@kiste2 ~ #

root@kiste1 ~ # whereis ip
ip: /bin/ip /sbin/ip /usr/share/man/man8/ip.8.gz /usr/share/man/man7/ip.7.gz
root@kiste1 ~ #
Auf kiste1 funktioniert es nicht, auf 2 schon. Sind das veraltete Pakete? Nur laut apt (dist-upgrade) und aptitude sind beide Server aktuell... hö?

In der /etc/apt/sources.list stehen die identischen Spiegel:
deb http://ftp2.de.debian.org/debian/ stretch main non-free contrib

deb http://ftp.de.debian.org/debian/ stretch main non-free contrib
deb http://security.debian.org/debian-security stretch/updates main contrib non-free

# stretch-updates, previously known as 'volatile'
deb http://ftp.de.debian.org/debian/ stretch-updates main contrib non-free
Ne, sind die gleichen Versionen:
Paket: iproute2
Version: 4.9.0-1+deb9u1
Zustand: Installiert
$PATH ist auch auf beiden gleich "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"

Deinen Vorschlag, /sbin/ip in die interfaces zu schreiben, kann ich erst an einem Wochenende testen, die Kiste läuft produktiv :?

Benutzeravatar
pangu
Beiträge: 1400
Registriert: 15.11.2011 20:50:52
Lizenz eigener Beiträge: GNU General Public License
Wohnort: /proc/1

Re: Zeile in /etc/network/interfaces wird nicht ausgeführt

Beitrag von pangu » 08.03.2018 09:16:44

Code: Alles auswählen

dpkg -l |grep -i iproute
auf beiden Maschinen vorhanden, gleiche Version ? hast du evtl. auf einem das Übergangspaket "iproute" installiert und auf dem anderen "iproute2" ?
Man gibt Geld aus, das man nicht hat, um damit Dinge zu kaufen, die man nicht braucht, um damit Leute zu beeindrucken, die man nicht mag.

mat6937
Beiträge: 2925
Registriert: 09.12.2014 10:44:00

Re: Zeile in /etc/network/interfaces wird nicht ausgeführt

Beitrag von mat6937 » 08.03.2018 09:43:36

Exxter hat geschrieben: ↑ zum Beitrag ↑
08.03.2018 07:08:33
Auf kiste1 funktioniert es nicht, auf 2 schon. Sind das veraltete Pakete? Nur laut apt (dist-upgrade) und aptitude sind beide Server aktuell... hö?
Teste mal ob die BuildID für ip, identisch ist. Z. B.:

Code: Alles auswählen

file /bin/ip | grep -i buildid

Exxter
Beiträge: 383
Registriert: 10.01.2003 00:15:15
Lizenz eigener Beiträge: GNU General Public License

Re: Zeile in /etc/network/interfaces wird nicht ausgeführt

Beitrag von Exxter » 08.03.2018 10:39:01

pangu hat geschrieben: ↑ zum Beitrag ↑
08.03.2018 09:16:44

Code: Alles auswählen

dpkg -l |grep -i iproute
auf beiden Maschinen vorhanden, gleiche Version ? hast du evtl. auf einem das Übergangspaket "iproute" installiert und auf dem anderen "iproute2" ?
Alles identisch:

Code: Alles auswählen

root@kiste2 ~ # dpkg -l |grep -i iproute
ii  iproute2                        4.9.0-1+deb9u1                          amd64        networking and traffic control tools
root@kiste2 ~ #

root@kiste1 ~ # dpkg -l |grep -i iproute
ii  iproute2                        4.9.0-1+deb9u1                          amd64        networking and traffic control tools
root@kiste1 ~ #
mat6937 hat geschrieben: ↑ zum Beitrag ↑
08.03.2018 09:43:36
Teste mal ob die BuildID für ip, identisch ist. Z. B.:

Code: Alles auswählen

file /bin/ip | grep -i buildid

Code: Alles auswählen

root@kiste2 ~ # file /bin/ip | grep -i buildid
/bin/ip: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 2.6.32, BuildID[sha1]=920286d744b7daa279cac2971940f3a32c2a4e54, stripped
root@kiste2 ~ #

root@kiste1 ~ # file /bin/ip | grep -i buildid
/bin/ip: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 2.6.32, BuildID[sha1]=920286d744b7daa279cac2971940f3a32c2a4e54, stripped
root@kiste1 ~ #
Auch beides identisch.

Das Paket "iproute" ist auf keinem Rechner installiert.

Ratlos ...

Benutzeravatar
pangu
Beiträge: 1400
Registriert: 15.11.2011 20:50:52
Lizenz eigener Beiträge: GNU General Public License
Wohnort: /proc/1

Re: Zeile in /etc/network/interfaces wird nicht ausgeführt

Beitrag von pangu » 08.03.2018 12:22:21

und direkt mal bei Hetzner nachgefragt? ob das eine Einschränkung ist, dass du diese Funktion nur auf einem einzigen Server nutzen kannst? Hier schon gelesen?

https://wiki.hetzner.de/index.php/Failover
https://wiki.hetzner.de/index.php/IP-Adressen
Man gibt Geld aus, das man nicht hat, um damit Dinge zu kaufen, die man nicht braucht, um damit Leute zu beeindrucken, die man nicht mag.

Exxter
Beiträge: 383
Registriert: 10.01.2003 00:15:15
Lizenz eigener Beiträge: GNU General Public License

Re: Zeile in /etc/network/interfaces wird nicht ausgeführt

Beitrag von Exxter » 08.03.2018 12:37:53

pangu hat geschrieben: ↑ zum Beitrag ↑
08.03.2018 12:22:21
und direkt mal bei Hetzner nachgefragt? ob das eine Einschränkung ist, dass du diese Funktion nur auf einem einzigen Server nutzen kannst? Hier schon gelesen?

https://wiki.hetzner.de/index.php/Failover
https://wiki.hetzner.de/index.php/IP-Adressen
Ja, beides gelesen. Ich hatte auch schon auf dem Server auf dem es funktioniert die zwei Zeilen aus der /etc/network/interfaces auskommentiert, beide Server rebootet und dann auf dem Server wo es nicht funktioniert getestet, gleiches Ergebnis.

mat6937
Beiträge: 2925
Registriert: 09.12.2014 10:44:00

Re: Zeile in /etc/network/interfaces wird nicht ausgeführt

Beitrag von mat6937 » 08.03.2018 12:44:12

Exxter hat geschrieben: ↑ zum Beitrag ↑
08.03.2018 12:37:53
... auf dem Server wo es nicht funktioniert getestet, gleiches Ergebnis.
Versuch mal auf dem Server auf dem es nicht funktioniert, als ein Test, mit z. B.:

Code: Alles auswählen

up /usr/bin/touch /tmp/test_file_1.txt
post-up /usr/bin/touch /tmp/test_file_2.txt
(oder "/run", wenn "/tmp" kein tmpfs-Dateisystem ist).

Code: Alles auswählen

reboot
nach dem reboot:

Code: Alles auswählen

ls -la /tmp
Evtl. hat es mit ip, gar nichts zu tun.

Exxter
Beiträge: 383
Registriert: 10.01.2003 00:15:15
Lizenz eigener Beiträge: GNU General Public License

Re: Zeile in /etc/network/interfaces wird nicht ausgeführt

Beitrag von Exxter » 08.03.2018 14:41:29

Gute Idee! Kann ich aber wie gesagt erst am Wochenende testen weil die Kiste auf der es nicht tut produktiv läuft.

Antworten