PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Netwerkkonfiguration: Unterschied Arch Linux und Debian



Stormsam
20.12.10, 16:02
Hi,

ich hab da mal eine Frage. Ich habe ein Arch Linux System und ein Debian System. Nun ist mir aufgefallen, dass man bei Arch Linux Einträge wie Gateway oder NameServer global für alle Ethernet-Interfaces definiert (in der rc.conf und resolv.conf).

Bei Debian gibt man diese beiden Werte explizit für jedes Ethernet-Interface an. (In der /etc/network/interfaces)

Wie funktioniert das nun bei Arch Linux? Laufen einfach beide Ethernet-Interfaces über das gleiche Gateway und nutzen die gleichen Nameserver?

Und bei Debian kann man dies nun genauer festlegen? Sodass man hier sagen kann, eth0 soll nur das eine GW nutzen und eth1 soll nur das andere GW nutzen? Und wenn beide über das gleiche laufen sollen, trägt man einfach das GW zwei mal ein?

Sehe ich das richtig?

Mfg
Stormsam

kreol
20.12.10, 17:35
Kenne Arch nicht. Sowohl bei Arch als auch bei Debian solltest Du der NIC das GW aber über ifconfig mitgeben können (route add default gw xxx.yyy.zzz.aaa).

Kreol

oziris
20.12.10, 17:44
kreol, das wäre ja nur temporär bis zum nächsten Boot.
Um das dauerhaft zu tun muss man es schon in die init-Script-Konfigurationsdateien der Distro tun und das ist hier das Problem.

Stormsam, so ganz blicke ich Dein Problem nicht, aber hilft Dir "man 5 interfaces" auf Debian evtl. weiter?

kreol
20.12.10, 17:52
Bei Debian würde ein Eintrag in /etc/rc.local schon reichen. Wenn Arch das (oder vergleichbares) auch hat...

Kreol

oziris
20.12.10, 18:24
kreol, das würde zwar meist gehen, da rc.local aber i.d.R. am Ende der init-Abfolge ausgeführt wird, könnte es Probleme mit Dingen, wie z.B. NTP oder sowas geben, die etwas früher starten würden.
Wenn man das so machen will, dass man das Kommando selbst in ein init-Script tut, dann würde ich empfehlen ein neues Script zu erstellen und es so einzustellen (siehe unscheinbare Kommetare in vorhandenen Debian-init-Scripten), dass es direkt nach der Netztwerkkonfiguration ausgeführt wird (siehe dazu "man 8 sysv-rc-conf" oder für Hacker "man 8 update-rc.d" auf Debian).

HirschHeisseIch
20.12.10, 18:48
https://wiki.archlinux.org/index.php/Configuring_Network

Arch kann durchaus auch mit unterschiedlichen Routen/Gateways umgehen. Nur sieht die rc.conf eben ein wenig anders aus als die interfaces von Debian. ;)

Dass die Nameserver für die einzelnen Interfaces konfiguriert werden ist mir allerding (auch unter Debian) neu...
/etc/resolv.conf und fertig, oder?

bla!zilla
20.12.10, 19:10
Die resolv.conf sollte bei allen Systemen die Datei sein, in der schlussendlich die Einträge stehen. Was aber durchaus möglich ist, dass die Einstellungen in einer Configdatei vorgenommen werden, und am Ende des Tages Skripte diese Einträge in die resolv.conf übertragen.

oziris
21.12.10, 00:14
Die Nameserver gehen meines Wissens nur global, weil das ja sonst gar keinen Sinn ergibt, da die Namensauflösung unabhängig von den Interfaces geschieht. ... oder gebt Ihr, wenn Ihr irgendwo einen Hostnamen angebt auch noch irgendeine Info mit an, die bestimmt, über welches Interface der Nameserver abgefragt wird bzw. ob in der /etc/hosts geguckt wird? Ich vermute sowas gibt's gar nicht.

Das Default-Gateway gibt es logischerweise auch nur ein mal, aber es können natürlich weitere nicht-default Gateways existieren. Bei Debian bin ich mir nicht ganz sicher, welches GW das default wird, wenn mehrere Interfaces up sind und GWs haben.

bla!zilla
21.12.10, 07:46
Die Nameserver gehen meines Wissens nur global, weil das ja sonst gar keinen Sinn ergibt, da die Namensauflösung unabhängig von den Interfaces geschieht. ... oder gebt Ihr, wenn Ihr irgendwo einen Hostnamen angebt auch noch irgendeine Info mit an, die bestimmt, über welches Interface der Nameserver abgefragt wird bzw. ob in der /etc/hosts geguckt wird? Ich vermute sowas gibt's gar nicht.

Neee, ist mir nichts bekannt. Die resolv.conf ist IMHO die einzige Anlaufstelle, neben der Hosts für die Namensauflösung. Wobei sich die Reihenfolge da anpassen lässt.



Das Default-Gateway gibt es logischerweise auch nur ein mal, aber es können natürlich weitere nicht-default Gateways existieren. Bei Debian bin ich mir nicht ganz sicher, welches GW das default wird, wenn mehrere Interfaces up sind und GWs haben.

Korrekt. Theoretisch sind auf auch zwei oder mehr Defaut-GWs möglich, sofern das über Metriken geregelt ist. Sowas kenne ich aber eher von Routern zum Zwecke einer Redundanz.

Rain_maker
21.12.10, 13:34
Die resolv.conf sollte bei allen Systemen die Datei sein, in der schlussendlich die Einträge stehen. Was aber durchaus möglich ist, dass die Einstellungen in einer Configdatei vorgenommen werden, und am Ende des Tages Skripte diese Einträge in die resolv.conf übertragen.

Ich möchte diese Aussage mal ein wenig erweitern, zunächst um die Aussage, daß dies der Normalfall ist, egal ob es nun "direkt sichtbar" ein Script (z.B. über diverse ifup-Implementierungen) oder ein anderes Frontend (z.B. NWM) ist, welches möglicherweise auch "nur" diverse Scripte ausführt aber "eine schöne GUI bietet".

In eine resolv.conf würde ich zumindest nie etwas explizit hinein schreiben, sondern die entsprechenden Konfigurationsdateien/-mechanismen der Distro verwenden.

Diese sind zwar im Detail immer etwas unterschiedlich, aber vom Prinzip her nutzen sie genau die Befehle, die man zur Konfiguration eines Interfaces braucht (ip addr oder ifconfig, ip route oder route, einen Mechanismus zum Schreiben der resolv.conf, iw oder iwconfig, wpa_supplicant, etc. pp.) und lesen aus der/den Konfigurationsdatei(en) die entsprechenden Parameter aus.

Dabei ist es egal, ob das nun eine /etc/network/interfaces, ein Satz von /etc/sysconfig/network/*irgendwas*-Dateien oder eine /etc/rc.conf ist, das Prinzip ist das selbe, der Umfang der Konfigurationsmöglichkeiten mag leicht unterschiedlich sein, aber grundlegend ist das alles das selbe in Grün.

Sieht man ja auch wunderbar bei diversen Frontends, die es für so ziemlich alle Distributionen gibt (NWM, WICD), dort unterscheidet sich maximal die Art und Weise, wie die Hintergrundprozesse gestartet werden, die Konfiguration der Profile ist aber die selbe (da selbes GUI-Frontend).

Weiteres Beispiel, das für so ziemlich alles Distros gelten sollte; wer ein Interface mit DHCP konfiguriert, muss z.B. normalerweise weder einen Default-GW als auch Nameserver angeben, da diese von den entsprechenden DHCP-Skripten (IIRC nennt man die dann "Hooks") automatisch gesetzt werden.

Zum Thema Archlinux und rc.conf für Netzwerkinterfaces würde ich dazu raten bei etwas komplexerer Konfiguration (z.B. Laptop und mehrere Netzwerke in denen man sich aufhält) statt der einfachen Methode mittels rc.conf auf "netconfig" (oder heisst es mittlerweile netconfig2, netconfig3?) zurück zu greifen, bzw. NWM oder WICD zu nutzen, die erlauben alle etwas mehr Flexibilität.

Eine fest stehende Kiste, die immer den selben Netzwerkzugang verwendet, kann man natürlich auch über die rc.conf einrichten und sich (passend zur Arch-Philosophie, aka "KISS") die Installation weiterer Pakete sparen.

Greetz,

RM