Dies ist eine alte Version des Dokuments!


Die "Netzwerkumgebung" in (Debian) Linux

Die Datei »/etc/network/interfaces« ist die zentrale Konfigurationsdatei der Netzwerkschnittstellen und am ehesten mit den Eigenschaften der Netzwerkumgebung unter Windows oder mit dem Netzwerk-SnapIn in den Systemeigenschaften unter Mac OSX vergleichbar. Sind die beiden letztgenannten GUI Varianten ist die »interfaces« Datei ganz Unix-like rein Text basiert.

Hier können Sie Ihre Netzwerkschnittstellen entweder manuell oder automatisch per DHCP konfigurieren, aber auch zB statische Routen eintragen. Der Zweck dieser Datei dient dazu, diese Einstellungen ggf auch nach einem Neustart noch zur Verfügung zu haben. Dazu wird die »interfaces«-Datei beim Systemstart ausgewertet. Detaillierte Informationen bzgl. der Konfigurationsmöglichkeiten entnehmen Sie bitte der Manpage von interfaces (»man interfaces«)

In diesem Tutorial möchte ich einige rudimentäre aber durchaus übliche Einstellungen dokumentieren:

Grundsätzliches zum Ablauf

Beim Systemstart wird das Init-Skript »etc/init.d/networking« ausgeführt, welches uA die beiden High-level Systemwerkzeuge »ifup« und »ifdown« aufruft, je nachdem ob das System gerade startet (»ifup«) oder herunter gefahren wird (»ifdown«). Genauer gesagt werden diese Programme mit der Option »-a« aufgerufen. Die Datei »/etc/network/interfaces« ist die Konfigurationsdatei für diese beiden High-Level Systemtools. Hier werden die Schnittstellen, welche beim Systemstart konfiguriert werden sollen mit »auto« gekennzeichnet, was mit dem zuvor genannten »ifup/ifdown« Prpgrammparameter »-a« korreliert. »ifup/ifdown« konfigurieren aber die Schnittstellen nicht direkt, sondern bedienen sich den beiden Low-Level Konfigurationstools »ifconfig« und »route«.

Ein Beispiel:

  • »init« Systemstart
  • »/etc/init.d/networking start« wird aufgerufen
  • »networking start« ruft »ifup -a« auf
  • »ifup« sucht in »/etc/network/interfaces« zB nach »auto eth0«
  • »ifup« sucht dann die Konfigurationsanweisung für das Interface »eth0«, welche zB wie folgt in der Datei »/etc/network/interfaces« stehen können:

    iface eth0 inet static
        address 192.168.0.97   
        netmask 255.255.255.0   
        gateway 192.168.0.1
  • »ifup« konfiguriert »eth0« unter Verwendung der Low-Level Systemtools »ifconfig« und »route«:

    ifconfig eth0 192.168.0.97 netmask 255.255.255.0 up
    route add default gateway 192.168.0.1
    Diese beiden Kommandos kennt man bereits, wenn man die Netzwerkschnittstelle mit der Hand im CLI konfiguriert.

Als Beispiel hier mal die komplette Datei eines jungfräulich installierten Linux Debian 6.0.5:

/etc/network/interfaces

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
 
# The loopback network interface
auto lo
iface lo inet loopback
 
# The primary network interface
allow-hotplug eth0
iface eth0 inet dhcp

An dieser Stelle sollte noch angemerkt werden, dass »allow-hotplug« und »auto« das selbe bewirken. Ablesen kann man an dieser Datei nun, dass im System ein physikalisches Interface vorhanden ist bzw. konfiguriert wird (eth0) und dass es seine Einstellungen durch einen DHCP-Server bezieht.

BTW: Damit das System durch DHCP konfiguriert werden kann, muss das Paket »dhcp3-client« installiert sein!

Netzwerkkarte mit statischer IP Adresse konfigurieren

Wie aus dem og Beispiel schon ersichtlich wurde, wird eine statische IP Adresse wie folgt konfiguriert:

/etc/network/interface

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
 
# The loopback network interface
auto lo eth0
iface lo inet loopback
 
# The primary network interface eth0
iface eth0 inet static
        iface eth0 inet static
        address   192.168.167.200
        netmask   255.255.255.0
        network   192.168.167.0
        broadcast 192.168.167.255
        gateway   192.168.167.2
Weggelassen habe ich zudem den Eintrag »allow-hotplug eth0« und durch das Hinzufügen des Interfaces »eth0« in der Zeile »auto« ergänzt. Hier können zB auch weitere Interfaces angegeben werden. Die Zeile könnte durchaus auch so aussehen:
auto lo eth0 eth1 eth2
Zum Überprüfen ob die oz Einstellungen im System übernommen werden, starten Sie Ihr System neu und überprüfen die Einstellungen:
# ifconfig eth0
eth0      Link encap:Ethernet  Hardware Adresse 00:0c:29:23:7e:2e  
          inet Adresse:192.168.167.200  Bcast:192.168.167.255  Maske:255.255.255.0
          inet6-Adresse: fe80::20c:29ff:fe23:7e2e/64 Gültigkeitsbereich:Verbindung
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metrik:1
          RX packets:79 errors:0 dropped:0 overruns:0 frame:0
          TX packets:62 errors:0 dropped:0 overruns:0 carrier:0
          Kollisionen:0 Sendewarteschlangenlänge:1000 
          RX bytes:8804 (8.5 KiB)  TX bytes:7755 (7.5 KiB)
          Interrupt:19 Basisadresse:0x2000

# netstat -r
Kernel-IP-Routentabelle
Ziel            Router          Genmask         Flags   MSS Fenster irtt Iface
192.168.167.0   *               255.255.255.0   U         0 0          0 eth0
default         192.168.167.2   0.0.0.0         UG        0 0          0 eth0

DNS Server einstellen

Normalerweise wird die DNS-Server Adresse unter Linux in der Datei »/etc/resolv.conf« eingestellt. Dort befindet sich dann zB folgender Eintrag, wenn man als DNS Server zB die Adresse »192.168.167.2« verwenden möchte:

/etc/resolv.conf

domain localdomain
search localdomain
nameserver 192.168.167.2

tux/interface.1349352241.txt.gz (16550 views) · Zuletzt geändert: 2012/10/04 14:04 von wikisysop
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0