IP Settings lassen sich nicht ändern

Einrichten des lokalen Netzes, Verbindung zu anderen Computern und Diensten.
Antworten
minecrawlerx
Beiträge: 7
Registriert: 29.10.2013 09:59:10

IP Settings lassen sich nicht ändern

Beitrag von minecrawlerx » 29.10.2013 14:38:23

Hallo,

ich habe einen (nicht virtuellen) Server, auf dem ein Debian 6 läuft. Er hat 2 statische IPs (IPv4). Nun möchte ich eine 3. statische IP(v4) und eine IP(v6) hinzufügen, jedoch habe ich gelesen, dass Aliase (eth0:1 etc.) veraltet sind.
Ich habe also meine interfaces Datei so umgeschrieben:

Code: Alles auswählen

auto lo eth0
iface lo inet loopback

# Main IP
allow-hotplug eth0
iface eth0 inet static
        address 81.7.11.x
        netmask 255.255.255.0
        broadcast 81.7.11.255
        gateway 81.7.11.1

iface eth0 inet6 static
        address 2a02:0180:1:1::x:x
        netmask 64
        gateway 2a02:0180:1:1::1

# 2nd IP
up ip addr add 81.7.7.x/24 dev eth0

# 3rd IP
up ip addr add 81.7.7.x/24 dev eth0
wenn ich nun

Code: Alles auswählen

nohup sh -c "ifdown eth0 && ifup eth0"
ausführe (ich bin per SSH verbunden und möchte im Fall eines DCs Resultate sehen), dann bekomme ich folgende Rückgabe:

Code: Alles auswählen

ifdown: interface eth0 not configured
SIOCADDRT: File exists
Failed to bring up eth0.
Welche Datei existiert schon? Was muss ich tun, um die IP zum laufen zu bekommen.

PS.: Ein Serverneustart hat keine Änderung an der Situation gebracht. Es sind weiterhin nur die vorherigen 2 IPs vorhanden.

syssi
Beiträge: 2951
Registriert: 24.12.2010 16:50:59
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Rheinland

Re: IP Settings lassen sich nicht ändern

Beitrag von syssi » 29.10.2013 19:28:05

Ich denke, dass hier der Hund begraben liegt:

Code: Alles auswählen

up ip addr add 81.7.7.x/24 dev eth0
Du hast keine 24er Subnetze, sondern einzelne IPs. Das entspricht einem /32-Netz bei IPv4. Korrigier die beiden "up ip"-Zeilen (24 -> 32) und dein Problem wird sich in Luft aufloesen.

charno
Beiträge: 636
Registriert: 28.06.2004 20:24:34

Re: IP Settings lassen sich nicht ändern

Beitrag von charno » 29.10.2013 19:51:58

Einen direkten Zusammenhang zwischen syssis Thematik und dem Grundproblem kann ich nicht sehen. Ein 32er-Subnet halte ich übrigens für unwahrscheinlich, da jedes IP-Netz mindestens eine Netz- und eine Broadcast-Adresse braucht, und sinnigerweise soll über das Netz noch eine andere Station erreicht werden können. Für Point-to-Point-Netze werden meist /30-Subnetze verwendet, die damit 4 Adressen beinhalten: Netzadresse, IP1, IP2, Broadcast. Das Subnetz gibt an, welche Adressen direkt (Ohne zwischenstation) vom Interface aus erreichbar sind, und dies beinhaltet im Normalfall mindestens einen Router fürs Weiterleiten in andere Netze. (Dies gilt nicht für alle Hoster, aber für eine typische Konfiguration. Verwende einfach die Daten, die dir der Hoster für die Konfig gegeben hat. Gerade Hetzner macht da was komisches mit Point-to-Point, dabei werden tatsächlich /32-Subnetze verwendet. Wegen der fehlenden Point-to-Point-Konfiguration und den angegebenen IP-Adressräumen schliesse ich Hetzner als Hoster allerdings aus)

Die Fehlermeldung deutet darauf hin, dass das RUNTERFAHREN des Interface nicht funktioniert, also kanns schon mal nicht an der neuen Konfiguration liegen ;-)

Wenn du schon das Interface neu starten möchtest, dann würde ich

Code: Alles auswählen

/etc/init.d/networking restart
verwenden.


btw: Gehören die "up"-Anweisungen nicht zum Interface? Ich frage wegen der Einrückung. In deinem Fall heisst das, dass die Anweisungen erst nach dem IPv6-Interface gestartet werden, was aber egal ist.
"Wer sich nicht bewegt, spürt seine Fesseln nicht." - Rosa Luxemburg

syssi
Beiträge: 2951
Registriert: 24.12.2010 16:50:59
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Rheinland

Re: IP Settings lassen sich nicht ändern

Beitrag von syssi » 29.10.2013 20:15:01

charno hat geschrieben:btw: Gehören die "up"-Anweisungen nicht zum Interface? Ich frage wegen der Einrückung. In deinem Fall heisst das, dass die Anweisungen erst nach dem IPv6-Interface gestartet werden, was aber egal ist.
Die Vermutung ist richtig. Die "up"-Bloecke gehoeren zum jeweiligen Interface. Idealerweise sollten die Beiden also hoch in den Block "iface eth0 inet static" geschoben werden.

Mein Ansatz beruht auf folgendem Punkt: Er versucht zwei /24 Netze zu aktivieren:

Code: Alles auswählen

up ip addr add 81.7.7.x/24 dev eth0
# entspricht 81.7.7.0 - 81.7.7.255

up ip addr add 81.7.7.x/24 dev eth0
# entspricht 81.7.7.0 - 81.7.7.255
Folglich muss eine der beiden Zeilen sterben, weil das Netz bereits aktiv ist bzw. es Ueberschneidungen geben wird.

charno
Beiträge: 636
Registriert: 28.06.2004 20:24:34

Re: IP Settings lassen sich nicht ändern

Beitrag von charno » 29.10.2013 22:19:19

Ach so meinst du das. Ja, die beiden IPs sind natürlich im gleichen Subnetz, da hast du recht. Allerdings ist es möglich, mehrere IPs über das selbe Interface im gleichen Netz zu haben:

Code: Alles auswählen

3: wlan1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether XX:XX...
    inet 192.168.1.38/24 brd 192.168.1.255 scope global wlan1
    inet 192.168.100.124/24 brd 192.168.100.255 scope global wlan1
    inet 192.168.1.50/24 scope global secondary wlan1
    inet 192.168.1.51/24 scope global secondary wlan1
Ich kann mangels zweitem Rechner im Netzwerk jetzt gerade nicht testen ob das tatsächlich geht, aber meiner Meinung nach sollte z.B. SSH auf meinem Laptop jetzt über alle Adressen im gleichen Subnetz erreichbar sein. Dies ist ja auch der Anwendungsfall für den Server: Er soll über alle IPs erreichbar sein, und der daemon entscheidet dann aufgrund der destination-IP, wie die Anfrage behandelt wird, z.B. eine andere Virtualhost-Konfiguration verwenden.
"Wer sich nicht bewegt, spürt seine Fesseln nicht." - Rosa Luxemburg

Benutzeravatar
catdog2
Beiträge: 5352
Registriert: 24.06.2006 16:50:03
Lizenz eigener Beiträge: MIT Lizenz

Re: IP Settings lassen sich nicht ändern

Beitrag von catdog2 » 30.10.2013 03:32:30

Das /24 passt schon, wenn die ips (jeweils) in einem /24 liegen (natürlich auch im selben). :)

Und füg noch jeweils ein

Code: Alles auswählen

down ip addr del 81.7.7.x/24 dev eth0
ein. Das fehlen dessen könnte das

Code: Alles auswählen

SIOCADDRT: File exists
erklären. Im Zweifel hat ifup einen -v schalter, der anzeigt was welchen Fehler wirft.

Außerdem gehören die Einträge zum inet block und am besten eingerückt.

//edit: Versuch evtl auch mal post-up und pre-down zu verwenden, wenn er weiter zickt.
Ein 32er-Subnet halte ich übrigens für unwahrscheinlich, da jedes IP-Netz mindestens eine Netz- und eine Broadcast-Adresse braucht, und sinnigerweise soll über das Netz noch eine andere Station erreicht werden können. Für Point-to-Point-Netze werden meist /30-Subnetze verwendet, die damit 4 Adressen beinhalten: Netzadresse, IP1, IP2, Broadcast.
Für pointtopoint Netze kann man problemlos /32 verwenden. /30 verschwendet nur ips und für was zur Hölle brauch ich in so einer Konfig Broadcasts? Ich verwende eine solche Konfiguration selber für VMs. So kann man denen schön einzelne ips zuweisen, sogar DHCP ist machbar.
Wenn du schon das Interface neu starten möchtest, dann würde ich

Code: Alles auswählen
/etc/init.d/networking restart


verwenden.
Dir ist aufgefallen, dass es eine Warnung ausspuckt es sei deprecated und man solle es nicht verwenden?
Unix is user-friendly; it's just picky about who its friends are.

minecrawlerx
Beiträge: 7
Registriert: 29.10.2013 09:59:10

Re: IP Settings lassen sich nicht ändern

Beitrag von minecrawlerx » 30.10.2013 09:05:33

Vielen Dank für die Antworten! Ich habe ein wenig herumprobiert. Leider scheint nichts zu funktionieren. Ich bekomme immer noch die selbe Fehlermeldung. Meine Konfiguration sieht nun so aus (ich hoffe, ich habe eure Vorschläge richtig umgesetzt):

Code: Alles auswählen

auto lo eth0
iface lo inet loopback

# Main IP
allow-hotplug eth0
iface eth0 inet static
        address 81.7.11.x
        netmask 255.255.255.0
        broadcast 81.7.11.255
        gateway 81.7.11.1

        up ip addr add 81.7.7.x/24 dev eth0
#        post-up ip addr add 81.7.7.x/24 dev eth0
        up ip addr add 81.7.7.x/24 dev eth0
#        post-up ip addr add 81.7.7.x/24 dev eth0

        down ip addr del 81.7.7.x/24 dev eth0
#        pre-down ip addr del 81.7.7.x/24 dev eth0
        down ip addr del 81.7.7.x/24 dev eth0
#        pre-down ip addr del 81.7.7.x/24 dev eth0


iface eth0 inet6 static
        address 2a02:0180:1:1::x:x
        netmask 64
        gateway 2a02:0180:1:1::1
Ich habe irgendwo etwas über eine Datei /run/ifstate (bei mir /etc/network/run/ifstate) gelesen. Könnte es etwas hiermit zu tun haben?

Benutzeravatar
catdog2
Beiträge: 5352
Registriert: 24.06.2006 16:50:03
Lizenz eigener Beiträge: MIT Lizenz

Re: IP Settings lassen sich nicht ändern

Beitrag von catdog2 » 30.10.2013 10:58:55

Gib mal die Ausgabe von

Code: Alles auswählen

ifup -v eth0
. Gehen den ip befehle manuell?
Unix is user-friendly; it's just picky about who its friends are.

minecrawlerx
Beiträge: 7
Registriert: 29.10.2013 09:59:10

Re: IP Settings lassen sich nicht ändern

Beitrag von minecrawlerx » 30.10.2013 13:06:29

Code: Alles auswählen

root@MyServer:~# ifup -v eth0
Configuring interface eth0=eth0 (inet)
run-parts --verbose /etc/network/if-pre-up.d

ifconfig eth0 81.7.11.x netmask 255.255.255.0 broadcast 81.7.11.255             up
 route add default gw 81.7.11.1  eth0
SIOCADDRT: File exists
Failed to bring up eth0.
manuell ip addr add sagt bei der 2. IP

Code: Alles auswählen

RTNETLINK answers: File exists
bei der 3. läuft es kommentarlos durch

charno
Beiträge: 636
Registriert: 28.06.2004 20:24:34

Re: IP Settings lassen sich nicht ändern

Beitrag von charno » 30.10.2013 15:48:40

catdog2 hat geschrieben:
Wenn du schon das Interface neu starten möchtest, dann würde ich
/etc/init.d/networking restart
verwenden.
Dir ist aufgefallen, dass es eine Warnung ausspuckt es sei deprecated und man solle es nicht verwenden?
Öööööh, nein ist mir nicht aufgefallen :oops:

Ja, du hast recht mit Point-to-Point-Netzen. Ich bin (In diesem Zusammenhang nicht sehr sinnvollerweise) von Transport-Netzwerken ausgegangen, und da haben wir im Netzwerk-Unterricht immer /30 verwendet.

@minecrawlerx: Was sagt denn ifdown -v eth0 ? (Achtung: Die Interfaces werden möglicherweise heruntergefahren, also umbedingt automatisch danach noch ifup ausführen)
"Wer sich nicht bewegt, spürt seine Fesseln nicht." - Rosa Luxemburg

minecrawlerx
Beiträge: 7
Registriert: 29.10.2013 09:59:10

Re: IP Settings lassen sich nicht ändern

Beitrag von minecrawlerx » 30.10.2013 19:17:17

ifdown -v gibt keinen speziellen Output aus...

Code: Alles auswählen

ifdown: interface eth0 not configured
SIOCADDRT: File exists

minecrawlerx
Beiträge: 7
Registriert: 29.10.2013 09:59:10

Re: IP Settings lassen sich nicht ändern

Beitrag von minecrawlerx » 31.10.2013 13:50:11

Tja, kennt keiner eine Lösung?

Was ist hiermit?
Ich habe irgendwo etwas über eine Datei /run/ifstate (bei mir /etc/network/run/ifstate) gelesen. Könnte es etwas hiermit zu tun haben?
In der Datei steht

Code: Alles auswählen

lo=lo
eth0:1=eth0:1

charno
Beiträge: 636
Registriert: 28.06.2004 20:24:34

Re: IP Settings lassen sich nicht ändern

Beitrag von charno » 31.10.2013 21:03:04

Neue Theorie:
er hat das Interface eth0:1 nicht heruntergefahren, da dieses ein virtuelles Interface ist. (ifconfig -a zum Überprüfen, ifdown eth0:1 zum runterfahren). Dadurch kann die zweite IP-Adresse (Die du bisher eth0:1 vergeben hast) dem eth0-Device nicht zugeordnet werden, wenn das Interface hochgefahren wird (Die IP wird bereits auf diesem HW-Interface verwendet. Ich kann mir vorstellen, dass der Kernel dann das Hinzufügen der IP verweigert, da er ansonsten nicht entscheiden könnte, welches virtuelle Interface die Anfrage empfangen muss). Der Server sollte dennoch über alle IP's erreichbar sein, nur dass die zweite über eth0:1 erreichbar ist, und nicht über eth0.
"Wer sich nicht bewegt, spürt seine Fesseln nicht." - Rosa Luxemburg

minecrawlerx
Beiträge: 7
Registriert: 29.10.2013 09:59:10

Re: IP Settings lassen sich nicht ändern

Beitrag von minecrawlerx » 01.11.2013 05:45:00

Ich würd ja sagen, dass das ein witziges Rumgespiele ist, wenn mir das nicht langsam auf die nerven gehen würde.

Nunja, Resultat: eth0:1 habe ich mit ifconfig down bekommen (ifdown hat nicht funktioniert)
Danach habe ich es nur noch per "ip addr add" wieder hoch bekommen. Die 3. IP und die IPv6 gehen immer noch nicht.
Der Fehler bleibt der selbe.

ifconfig -a liefert jetzt übrigens nur noch eth0 und lo zurück.
In der Datei /etc/network/run/ifstate steht jetzt noch folgendes:

Code: Alles auswählen


lo=lo


wanne
Moderator
Beiträge: 7625
Registriert: 24.05.2010 12:39:42

Re: IP Settings lassen sich nicht ändern

Beitrag von wanne » 01.11.2013 20:19:13

Code: Alles auswählen

SIOCADDRT: File exists
Heist dass die IP schon vergeben wurde.
Hier nochmal einige sachen von denen ich mir nicht sicher bin, ob du sie verstanden hast:
Du kansnt ein IP immer nur inmal vergeben.
IPs werden mit dem herunterfahren des Interfaces nicht gelöscht.
Das löscht IP-Adressen:

Code: Alles auswählen

ip addr del IP/prefixlen
Das fügt IP-Adressen hinzu:

Code: Alles auswählen

ip addr add IP/prefixlen
Das zeigt IP-Adressen an:

Code: Alles auswählen

ip addr list
Achtung: ifconfig zeigt maximal eine IPv4-Addresse an. Wetere werden in der Anzeige verschluckt.
Ein Device hat immer eine bestimmte addresse. Ganze Netzwerken können nicht vergeben werden.
rot: Moderator wanne spricht, default: User wanne spricht.

minecrawlerx
Beiträge: 7
Registriert: 29.10.2013 09:59:10

Re: IP Settings lassen sich nicht ändern

Beitrag von minecrawlerx » 02.11.2013 03:39:58

Hallo,

ich weiß, dass ich eine IP nur ein Mal vergeben kann.
Aber die genaue Ausführung hat geholfen. Ich habe diesmal alles manuell gelöscht und heruntergefahren, einen Neustart gemacht und alles neu hinzugefügt/hochgefahren.
Es hat tatsächlich geklappt.

Vielen Dank für die Hilfe!

Antworten