ein Interface, mehrere IPs - welche Absender IP?

Einrichten des lokalen Netzes, Verbindung zu anderen Computern und Diensten.
Antworten
rok
Beiträge: 231
Registriert: 23.02.2006 16:58:28

ein Interface, mehrere IPs - welche Absender IP?

Beitrag von rok » 06.12.2010 11:13:43

Hallo!

Ich habe einem Interface eine 2. Adresse zugeordnet:
[...]
auto eth0
iface eth0 inet static
address 192.168.1.100
netmask [...]

auto eth0:0
iface eth0:0 inet static
address 192.168.1.200
netmask [...]
Klappt alles. Nur dass jetzt generell (z.B. für Requests nach außen) die 192.168.1.200, statt wie früher die 192.168.1.100 genommen wird. Ich habe das bei meinen Monitoring Diensten gemerkt, weil da nur die 192.168.1.100 zugelassen war, der Server aber mit der 200 angefragt hat. Wieso ist das so? Kann ich das so einstellen, dass der Server weiterhin nur mit der 192.168.1.100 als Absender anfragt/antwortet?
Die Einträge einfach zu tauschen, wäre doch bestimmt schon eine Möglichkeit, oder? Aber sobald eine eth0:1 hinzukommt, muss das wieder alles geändert werden, oder?

Boity
Beiträge: 799
Registriert: 15.05.2009 13:59:19

Re: ein Interface, mehrere IPs - welche Absender IP?

Beitrag von Boity » 06.12.2010 11:17:23

Sollte das nicht

auto eth0:1

heißen ? 8)

rok
Beiträge: 231
Registriert: 23.02.2006 16:58:28

Re: ein Interface, mehrere IPs - welche Absender IP?

Beitrag von rok » 06.12.2010 11:28:29

Nö, ist die erste. Und das fängt doch IMHO mit 0 an, nicht?

mabu82
Beiträge: 3
Registriert: 25.01.2008 23:28:44
Wohnort: 127.0.0.1
Kontaktdaten:

Re: ein Interface, mehrere IPs - welche Absender IP?

Beitrag von mabu82 » 07.12.2010 12:25:05

Huhu rok,

normalerweise wird die Auswahl des Netzwerk-Interfaces in der Routing-Tabelle getroffen.
Was sagt denn ein "route -n" bei dir?

Deinem Interface "eth0:0" solltest du einfach eine höhere Netz-Metrik (Die niedrigste Metrik gewinnt) geben, um eine niedrigere Priorität bei der Auswahl zu erzielen.
Da natürlich beide Interfaces mit dem selben Netzwerk verbunden ist, gewinnt bei gleicher Metrik, der Eintrag, der zuerst ausgelesen wird (bzw. zuletzt in die Tabelle geschrieben wurde).

Gruß, Marco

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

Re: ein Interface, mehrere IPs - welche Absender IP?

Beitrag von catdog2 » 07.12.2010 14:51:41

Das mit den sub-interfaces macht man eigentlich eh nicht mehr.

macht man so;

Code: Alles auswählen

iface eth0 inet static
address 192.168.1.100
netmask [...]
up ip addr add 192.168.1.200/suffix dev eth0
down  ip addr del 192.168.1.200/suffix dev eth0
Leider bauen die debian netzwerk scripte noch auf ifconfig und co (veraltet) anstatt auf iproute2
Unix is user-friendly; it's just picky about who its friends are.

rok
Beiträge: 231
Registriert: 23.02.2006 16:58:28

Re: ein Interface, mehrere IPs - welche Absender IP?

Beitrag von rok » 07.12.2010 17:05:26

Hi!
mabu82 hat geschrieben:Deinem Interface "eth0:0" solltest du einfach eine höhere Netz-Metrik (Die niedrigste Metrik gewinnt) geben, um eine niedrigere Priorität bei der Auswahl zu erzielen.
Sorry, aber was verstehst du unter Netz-Metrik?
mabu82 hat geschrieben:Da natürlich beide Interfaces mit dem selben Netzwerk verbunden ist, gewinnt bei gleicher Metrik, der Eintrag, der zuerst ausgelesen wird (bzw. zuletzt in die Tabelle geschrieben wurde).
Könnte ich dann einfach die IP-Adressen von eth0 und eth0:0 tauschen? Hat das keine Auswirkung auf andere Einstellungen? Eigentlich ja nicht, oder?
(Ich komme an die Kiste leider momentan nur per SSH dran. Deswegen muss ich wohl so viele doofe Fragen stellen...)

mabu82
Beiträge: 3
Registriert: 25.01.2008 23:28:44
Wohnort: 127.0.0.1
Kontaktdaten:

Re: ein Interface, mehrere IPs - welche Absender IP?

Beitrag von mabu82 » 07.12.2010 18:13:06

rok hat geschrieben: Sorry, aber was verstehst du unter Netz-Metrik?
Die Metrik bezogen auf Netzwerke, beschreibt die "Wertigkeit bzw. Güte" von Verbindungen.
Jedes Netzwerkinterface hat auch (mindestens) einen Eintrag in deiner lokalen Routing-Tabelle (Befehl zum anschauen: route -n). So auch dein neu angelegtes, virtuelles, 2tes Netzwerk-Interface.

Die Routing-Tabelle könnte z.B. so aussehen:

Code: Alles auswählen

Kernel IP routing table
 Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
 91.198.174.2    192.168.0.254   255.255.255.255 UGH   3      0        0 eth0
 91.198.174.2    172.16.0.254    255.255.255.255 UGH   6      0        0 wlan0
 192.168.0.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0
 172.16.0.0      0.0.0.0         255.255.0.0     U     0      0        0 wlan0
 0.0.0.0         172.16.0.254    0.0.0.0         UG    0      0        0 wlan0
rok hat geschrieben: Könnte ich dann einfach die IP-Adressen von eth0 und eth0:0 tauschen? Hat das keine Auswirkung auf andere Einstellungen? Eigentlich ja nicht, oder?
(Ich komme an die Kiste leider momentan nur per SSH dran. Deswegen muss ich wohl so viele doofe Fragen stellen...)
Da beide deiner Interfaces, IP-Adressen aus dem selben Subnetz haben, weiss das Betriebssystem natürlich nicht, über welches Interfaces es letztendlich kommunizieren soll,
da es 2 gleichwertige Einträge in der Routing-Tabelle gibt. Ich gehe einfach mal davon aus, dass der Server auf der 2ten Adresse nur antworten soll, wenn er auch darüber
angesprochen wurde. In dem Fall würde ich testweise dem Eintrag mit der 192.168.1.200 einfach eine höheren Wert bei "Metric" geben, wodurch das andere Interface (mit der 192.168.1.100)
im direkten Vergleich gewinnt und am Ende auch benutzt werden sollte.

Die Befehle könnten in etwa so aussehen:

Code: Alles auswählen

route del -host 192.168.1.200 netmask 255.255.255.255
route add -host 192.168.1.200 netmask 255.255.255.255 gw 0.0.0.0 dev eth0:0 metric 20
Je nachdem, wie der Eintrag mit dem Interface vorher aussah, kopierst du einfach die selben Werte und änderst den Wert bei "Metric".
Danach müsste es eigentlich funktionieren und du kannst ihn permanent eintragen bzw. einfach den Weg benutzen, den catdog2 schon vorgeschlagen hatte ...

Grüße, Marco

mabu82
Beiträge: 3
Registriert: 25.01.2008 23:28:44
Wohnort: 127.0.0.1
Kontaktdaten:

Re: ein Interface, mehrere IPs - welche Absender IP?

Beitrag von mabu82 » 07.12.2010 18:14:33

Ups, sorry ... hatte ich vergessen. Zum Thema Netzwerke und Metrik, hier noch ein Link:

http://de.wikipedia.org/wiki/Metrik_%28Netzwerk%29

Gruß, Marco

Benutzeravatar
feltel
Webmaster
Beiträge: 10476
Registriert: 20.12.2001 13:08:23
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Leipzig, Germany
Kontaktdaten:

Re: ein Interface, mehrere IPs - welche Absender IP?

Beitrag von feltel » 07.12.2010 18:52:24

catdog2 hat geschrieben:Das mit den sub-interfaces macht man eigentlich eh nicht mehr.

macht man so;

Code: Alles auswählen

iface eth0 inet static
address 192.168.1.100
netmask [...]
up ip addr add 192.168.1.200/suffix dev eth0
down  ip addr del 192.168.1.200/suffix dev eth0
Leider bauen die debian netzwerk scripte noch auf ifconfig und co (veraltet) anstatt auf iproute2
Oooops, ich mach das eigentlich noch immer so mit mehreren IPs auf einem Interface. Das funktioniert zumindest unte Squeeze noch ohne Probleme. Never change a running (configuration)-system. :-D

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

Re: ein Interface, mehrere IPs - welche Absender IP?

Beitrag von catdog2 » 07.12.2010 19:05:26

Oooops, ich mach das eigentlich noch immer so mit mehreren IPs auf einem Interface. Das funktioniert zumindest unte Squeeze noch ohne Probleme. Never change a running (configuration)-system.
Gehen tuts so und höchstwahrscheinlich wirds das auch noch einige Zeit tun.

Bei IPv6 kommt du aber am ip Kommando eh kaum noch vorbei. Das ist aber auch nicht schlimm. Im Gegensatz zum wildwuchs bei ifconfig und route hat das eine recht konsistente syntax. Auf jeden Fall hat es deutlich mehr Features.
Unix is user-friendly; it's just picky about who its friends are.

rok
Beiträge: 231
Registriert: 23.02.2006 16:58:28

Re: ein Interface, mehrere IPs - welche Absender IP?

Beitrag von rok » 07.12.2010 21:59:41

catdog2 hat geschrieben:Das mit den sub-interfaces macht man eigentlich eh nicht mehr.

macht man so;

Code: Alles auswählen

iface eth0 inet static
address 192.168.1.100
netmask [...]
up ip addr add 192.168.1.200/suffix dev eth0
down  ip addr del 192.168.1.200/suffix dev eth0
Leider bauen die debian netzwerk scripte noch auf ifconfig und co (veraltet) anstatt auf iproute2
Und der komplette Part von eth0:0 entfällt? Und darunter nur die beiden up/down Befehle? Muss da noch etwas zusätzliches installiert sein?

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

Re: ein Interface, mehrere IPs - welche Absender IP?

Beitrag von catdog2 » 07.12.2010 22:06:13

Debianiproute muss installiert sein. Der eth0:0 teil kann dann entfallen. eth0 hat dann 2 Adressen, anzeigbar mit ip addr show.
Unix is user-friendly; it's just picky about who its friends are.

rok
Beiträge: 231
Registriert: 23.02.2006 16:58:28

Re: ein Interface, mehrere IPs - welche Absender IP?

Beitrag von rok » 07.12.2010 22:17:29

Ich glaub jetzt läuft was schief:

Code: Alles auswählen

zip:~# /etc/init.d/networking restart
Reconfiguring network interfaces...Error: an inet prefix is expected rather than "182.168.0.200/suffix".
Ignoring unknown interface eth0:0=eth0:0.
SIOCADDRT: File exists
Failed to bring up eth0.
done.
und danach nur noch:

Code: Alles auswählen

zip:~# /etc/init.d/networking restart
Reconfiguring network interfaces...SIOCADDRT: File exists
Failed to bring up eth0.
done.
liegt vielleicht daran, dass ich vorher eth0:0 nicht beendet habe?

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

Re: ein Interface, mehrere IPs - welche Absender IP?

Beitrag von catdog2 » 07.12.2010 22:19:39

liegt vielleicht daran, dass ich vorher eth0:0 nicht beendet habe?
Liegt nicht daran solltest du vorher aber trotzdem beenden.

Den passenden wert kann ich dir nicht sagen weil du die netzmaske nicht dazugeschrieben hast: http://de.wikipedia.org/wiki/Classless_ ... in_Routing
edit://z.B. 182.168.0.200/24 für 255.255.255.0 als maske
Unix is user-friendly; it's just picky about who its friends are.

rok
Beiträge: 231
Registriert: 23.02.2006 16:58:28

Re: ein Interface, mehrere IPs - welche Absender IP?

Beitrag von rok » 09.12.2010 08:46:03

Danke für die super Unterstützung!
Ich Honk habe natürlich "/suffix" eingetragen statt "/24", damit kann es gar nicht gehen.
Dann hatte ich zwischendrin noch das Problem, dass die alte eth0:0 Konfig noch geladen war.

Dank catdog2 war das aber kein Problem, mit

Code: Alles auswählen

ifdown eth0; ifconfig eth0:0 down; ifconfig eth0 down; ip addr flush dev eth0; ip route flush dev eth0 ;ifup -v eth0
war das erledigt.
catdog2 hat geschrieben:ifdown eth0;ifup -v eth0 macht quasi das gleiche wie /etc/init.d/networking restart nur für eth0 alleine und -v bei ifup zeigt dir wo der fehler genau liegt.

Antworten