Dies ist eine alte Version des Dokuments!
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:
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:
iface eth0 inet static address 192.168.0.97 netmask 255.255.255.0 gateway 192.168.0.1
ifconfig eth0 192.168.0.97 netmask 255.255.255.0 up route add default gateway 192.168.0.1Diese 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!
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
auto lo eth0 eth1 eth2Zum Ü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
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
Diesen Eintrag kann man auch über die »interfaces«-Konfigurationsdatei setzen. Dazu muss das Paket »resolvconf« installiert sein:
# aptitude install resolvconf
Dieses Paket erweitert aber nur den oben genannten Ablauf durch Aufruf der Low-Level Programme »ifconfig« und »route« um ein weiteres Low-level Programm »resolvconf«.
Danach können Sie einfach die Einträge »dns-nameservers <IP Adresse>«, sowie die »dns-search <Domain>« und »dns-domain <Domain>« zu Ihrer Konfiguration hinzufügen:
/etc/network/intrefaces
# 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 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 dns-nameservers 192.168.167.2 dns-search local dns-domain local.domain
/etc/resolv.conf
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8) # DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN nameserver 192.168.167.2 search local.domain local