Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu dieser Vergleichsansicht

tux:interface [2012/10/04 13:53]
wikisysop [Netzwerkkarte mit statischer IP Adresse konfigurieren]
tux:interface [2013/05/25 12:28] (aktuell)
wikisysop [Die Netzwerkumgebung in (Debian) Linux]
Zeile 2: Zeile 2:
 =====Die "​Netzwerkumgebung"​ in (Debian) Linux===== =====Die "​Netzwerkumgebung"​ in (Debian) Linux=====
  
-Die Datei >><​fc #​008000>/​etc/​network/​interfaces</​fc><<​ 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 >><​fc #​008000>​interfaces</​fc><<​ Datei ganz Unix-like rein Text basiert.+Die Datei >><​fc #​008000>/​etc/​network/​interfaces</​fc><<​((http://​man.he.net/​man5/​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 ​und konfigurieren im Hintergrund Registryeinträge oder Konfigurationsdateien,​ so ist die >><​fc #​008000>​interfaces</​fc><<​ 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 >><​fc #​008000>​interfaces</​fc><<​-Datei beim Systemstart ausgewertet. Detaillierte Informationen bzgl. der Konfigurationsmöglichkeiten entnehmen Sie bitte der Manpage von interfaces (<fc #​008000>>>​man interfaces<<</​fc>​) 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 >><​fc #​008000>​interfaces</​fc><<​-Datei beim Systemstart ausgewertet. Detaillierte Informationen bzgl. der Konfigurationsmöglichkeiten entnehmen Sie bitte der Manpage von interfaces (<fc #​008000>>>​man interfaces<<</​fc>​)
  
 In diesem Tutorial möchte ich einige rudimentäre aber durchaus übliche Einstellungen dokumentieren:​ In diesem Tutorial möchte ich einige rudimentäre aber durchaus übliche Einstellungen dokumentieren:​
 +
 +//<fs x-small>​**<​fc #​800000>​Note</​fc>:​** Dieser Artikel ersetzt und ergänzt den älteren Artikel [[:​tux:​persistant_route|How To -> Permanente Route konfigurieren]].</​fs>//​
  
 ====Grundsätzliches zum Ablauf==== ====Grundsätzliches zum Ablauf====
-Beim Systemstart wird das Init-Skript >><​fc #​008000>​etc/​init.d/​networking</​fc><<​ ausgeführt,​ welches uA die beiden High-level Systemwerkzeuge >><​fc #​008000>​ifup</​fc><<​ und >><​fc #​008000>​ifdown</​fc><<​ aufruft, je nachdem ob das System gerade startet (>><​fc #​008000>​ifup</​fc><<​) oder herunter gefahren wird (>><​fc #​008000>​ifdown</​fc><<​). Genauer gesagt werden diese Programme mit der Option >><​fc #​008000>​-a</​fc><<​ aufgerufen. Die Datei >><​fc #​008000>/​etc/​network/​interfaces</​fc><<​ ist die Konfigurationsdatei für diese beiden High-Level Systemtools. Hier werden die Schnittstellen,​ welche beim Systemstart konfiguriert werden sollen mit >><​fc #​008000>​auto</​fc><<​ gekennzeichnet,​ was mit dem zuvor genannten >><​fc #​008000>​ifup/​ifdown</​fc><< ​Prpgrammparameter ​>><​fc #​008000>​-a</​fc><<​ korreliert. >><​fc #​008000>​ifup/​ifdown</​fc><<​ konfigurieren aber die Schnittstellen nicht direkt, sondern bedienen sich den beiden Low-Level Konfigurationstools >><​fc #​008000>​ifconfig</​fc><<​ und >><​fc #​008000>​route</​fc><<​.+Beim Systemstart wird das Init-Skript >><​fc #​008000>​etc/​init.d/​networking</​fc><<​ ausgeführt,​ welches uA die beiden High-level Systemwerkzeuge >><​fc #​008000>​ifup</​fc><<​((http://​man.flashnux.com/​en/​debian/​6/​6.0.1/​man8/​ifup.8.html)) ​und >><​fc #​008000>​ifdown</​fc><<​((http://​www.digipedia.pl/​man/​doc/​view/​ifdown.8/​)) ​aufruft, je nachdem ob das System gerade startet (>><​fc #​008000>​ifup</​fc><<​) oder herunter gefahren wird (>><​fc #​008000>​ifdown</​fc><<​). Genauer gesagt werden diese Programme mit der Option >><​fc #​008000>​-a</​fc><<​ aufgerufen. Die Datei >><​fc #​008000>/​etc/​network/​interfaces</​fc><<​ ist die Konfigurationsdatei für diese beiden High-Level Systemtools. Hier werden die Schnittstellen,​ welche beim Systemstart konfiguriert werden sollen mit >><​fc #​008000>​auto</​fc><<​ gekennzeichnet,​ was mit dem zuvor genannten >><​fc #​008000>​ifup/​ifdown</​fc><< ​Programmparameter ​>><​fc #​008000>​-a</​fc><<​ korreliert. >><​fc #​008000>​ifup/​ifdown</​fc><<​ konfigurieren aber die Schnittstellen nicht direkt, sondern bedienen sich den beiden Low-Level Konfigurationstools >><​fc #​008000>​ifconfig</​fc><<​((http://​www.manpagez.com/​man/​8/​ifconfig/​)) ​und >><​fc #​008000>​route</​fc><<​((http://​www.manpagez.com/​man/​8/​route/​)).
  
 Ein Beispiel: Ein Beispiel:
  
-  * >><​fc #​008000>​init</​fc><<​ Systemstart+  * >><​fc #​008000>​init</​fc><<​ Systemstart((http://​linux.die.net/​man/​8/​init))
   * >><​fc #​008000>/​etc/​init.d/​networking start</​fc><<​ wird aufgerufen   * >><​fc #​008000>/​etc/​init.d/​networking start</​fc><<​ wird aufgerufen
   * >><​fc #​008000>​networking start</​fc><<​ ruft >><​fc #​008000>​ifup -a</​fc><<​ auf   * >><​fc #​008000>​networking start</​fc><<​ ruft >><​fc #​008000>​ifup -a</​fc><<​ auf
Zeile 52: Zeile 54:
 # The primary network interface eth0 # The primary network interface eth0
 iface eth0 inet static iface eth0 inet static
-        iface eth0 inet static 
         address ​  ​192.168.167.200         address ​  ​192.168.167.200
         netmask ​  ​255.255.255.0         netmask ​  ​255.255.255.0
         network ​  ​192.168.167.0         network ​  ​192.168.167.0
         broadcast 192.168.167.255         broadcast 192.168.167.255
-        gateway ​  ​192.168.167.2</​code>​Weggelassen habe ich zudem den Eintrag >><​fc #​008000>​allow-hotplug eth0</​fc><<​ und durch das Hinzufügen des Interfaces >><​fc #​008000>​eth0</​fc><<​ in der Zeile >><​fc #​008000>​auto</​fc><<​ ergänzt. Hier können zB auch weitere Interfaces angegeben werden. Die Zeile könnte durchaus auch so aussehen:<​code>​auto lo eth0 eth1 eth2</​code>​Zum Überprüfen ob die oz Einstellungen im System übernommen werden, starten Sie Ihr System neu und überprüfen die Einstellungen:<​xterm>#​ <fc #​008000>​ifconfig eth0</​fc>​+        gateway ​  ​192.168.167.2</​code>​Weggelassen habe ich zudem den Eintrag >><​fc #​008000>​allow-hotplug eth0</​fc><<​ und durch das Hinzufügen des Interfaces >><​fc #​008000>​eth0</​fc><<​ in der Zeile >><​fc #​008000>​auto</​fc><<​ ergänzt. Hier können zB auch weitere Interfaces angegeben werden. Die Zeile könnte durchaus auch so aussehen: 
 +         
 +<​code>​auto lo eth0 eth1 eth2</​code>​Zum Überprüfen ob die oz Einstellungen im System übernommen werden, starten Sie Ihr System neu und überprüfen die Einstellungen:<​xterm>#​ <fc #​008000>​ifconfig eth0</​fc>​
 eth0      Link encap:​Ethernet ​ Hardware Adresse 00:​0c:​29:​23:​7e:​2e  ​ eth0      Link encap:​Ethernet ​ Hardware Adresse 00:​0c:​29:​23:​7e:​2e  ​
           inet Adresse:<​fc #​800000>​192.168.167.200</​fc> ​ Bcast:<​fc #​800000>​192.168.167.255</​fc> ​ Maske:<​fc #​800000>​255.255.255.0</​fc>​           inet Adresse:<​fc #​800000>​192.168.167.200</​fc> ​ Bcast:<​fc #​800000>​192.168.167.255</​fc> ​ Maske:<​fc #​800000>​255.255.255.0</​fc>​
Zeile 73: Zeile 76:
 default ​        <​fc #​800000>​192.168.167.2</​fc> ​  ​0.0.0.0 ​        ​UG ​       0 0          0 eth0</​xterm>​ default ​        <​fc #​800000>​192.168.167.2</​fc> ​  ​0.0.0.0 ​        ​UG ​       0 0          0 eth0</​xterm>​
  
 +====DNS Server einstellen====
 +Normalerweise wird die DNS-Server Adresse unter Linux in der Datei >><​fc #​008000>/​etc/​resolv.conf</​fc><<​((http://​linux.die.net/​man/​5/​resolv.conf)) eingestellt. Dort befindet sich dann zB folgender Eintrag, wenn man als DNS Server zB die Adresse >><​fc #​008000>​192.168.167.2</​fc><<​ verwenden möchte:<​code bash|/​etc/​resolv.conf>​domain localdomain
 +search localdomain
 +nameserver 192.168.167.2</​code>​
 +
 +Diesen Eintrag kann man auch über die >><​fc #​008000>​interfaces</​fc><<​-Konfigurationsdatei setzen. Dazu muss das Paket >><​fc #​008000>​resolvconf</​fc><<​((http://​www.linuxcertif.com/​man/​8/​resolvconf/​)) installiert sein:
 +<​xterm>#​ <fc #​008000>​aptitude install resolvconf</​fc></​xterm>​Dieses Paket erweitert aber nur den oben genannten Ablauf durch Aufruf der Low-Level Programme >><​fc #​008000>​ifconfig</​fc><<​ und >><​fc #​008000>​route</​fc><<​ um ein weiteres Low-level Programm >><​fc #​008000>​resolvconf</​fc><<​.
 +
 +Danach können Sie einfach die Einträge >><​fc #​008000>​dns-nameservers //<IP Adresse>//</​fc><<,​ sowie die >><​fc #​008000>​dns-search //<​Domain>//</​fc><<​ und >><​fc #​008000>​dns-domain //<​Domain>//</​fc><< ​ zu Ihrer Konfiguration hinzufügen:<​code bash|/​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 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
 +
 +# The dns-* options are implemented by the resolvconf package, if installed ​       ​
 +        dns-nameservers 192.168.167.2
 +        dns-search local
 +        dns-domain local.domain</​code>​In dieser Liste dürfen dann auch mehr DNS Server stehen, schreiben Sie diese mit einem Leerzeichen getrennt dahinter (zB: <fc #​008000>​dns-nameservers 192.168.167.2 192.168.167.3</​fc>​). Die nun von >><​fc #​008000>​resolvconf</​fc><<​ generierte Datei >><​fc #​008000>/​etc/​resolv.conf</​fc><<​ warnt nun schon eindringlich,​ dass diese Datei zukünftig nicht mehr mit der Hand editiert werden sollte:<​code bash|/​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</​code>​An dieser Stelle dachte ich einen Bug gefunden zu haben, weil die seperate Angabe der DNS-Domäne und der DNS-Such-Domäne einfach abgekürzt >><​fc #​008000>​search local.domain local</​fc><<​ angegeben. Die Geschichte wurde hier ((https://​bugs.launchpad.net/​ubuntu/​+source/​resolvconf/​+bug/​990660)) kontrovers diskutiert und die Meinungen ob das ein Bug, schlecht dokumentiert oder schlicht so erwartet wird, gehen doch geringfügig auseinander.
 +
 +====Statische Route anlegen====
 +Wenn Routen gebraucht werden, welche nicht durch das Default Gateway abgedeckt werden, können diese per Hand direkt mit dem >>​route add<< Kommando angelegt werden:<​xterm>#​ <fc #​008000>​route add -net 192.168.110.0 netmask 255.255.255.0 gw 192.168.167.151</​fc></​xterm>​Diese Variante funktioniert auch wunderbar aber leider nur bis zu einem Neustart, denn auch diese Einstellung bleibt nicht permanent. Sie können diese Einstellung aber auch durch die >><​fc #​008000>/​etc/​network/​interface</​fc><<​ automatisch einstellen lassen. Erweitern Sie hierfür Ihre Konfiguration um die folgenden zwei Zeilen:
 +
 +<​code>​up route add -net 192.168.110.0 netmask 255.255.255.0 gw 192.168.167.151
 +down route delete -net 192.168.110.0 netmask 255.255.255.0 gw 192.168.167.151</​code>​
 +<code bash|/​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
 +        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
 +        ### own custom routes ###
 +        up route add -net 192.168.110.0 netmask 255.255.255.0 gw 192.168.167.151
 +        down route delete -net 192.168.110.0 netmask 255.255.255.0 gw 192.168.167.151
 +
 +# The dns-* options are implemented by the resolvconf package, if installed
 +        dns-nameservers 192.168.167.2
 +        dns-search local
 +        dns-domain local.domain</​code>​
 +        ​
 +Hier mal eine Beispielkonfiguration mit zwei Interfaces:<​code bash|/​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 eth0 eth1
 +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
 +        ### own custom routes ###
 +        up route add -net 192.168.110.0 netmask 255.255.255.0 gw 192.168.167.151
 +        down route delete -net 192.168.110.0 netmask 255.255.255.0 gw 192.168.167.151
 +
 +# The primary network interface eth1
 +iface eth1 inet static
 +        address ​  ​192.168.180.200
 +        netmask ​  ​255.255.255.0
 +        network ​  ​192.168.180.0
 +        broadcast 192.168.180.255
 +
 +
 +# The dns-* options are implemented by the resolvconf package, if installed
 +        dns-nameservers 192.168.167.2
 +        dns-search local
 +        dns-domain local.domain
 +</​code>​Beachten Sie hierbei die Ergänzung in der Zeile >>​auto<<​ (erste Zeile) und beachten Sie auch dem zweiten Interface kein Gateway zuzuweisen. Bedenken Sie, es kann nur ein Standardgateway geben und das ist auch nur an genau ein Interface gebunden. Ihre Routingtabelle sieht dann wie folgt aus:<​xterm>#​ <fc #​008000>​netstat -r</​fc>​
 +Kernel-IP-Routentabelle
 +Ziel            Router ​         Genmask ​        ​Flags ​  MSS Fenster irtt Iface
 +192.168.167.0 ​  ​* ​              ​255.255.255.0 ​  ​U ​        0 0          0 eth0
 +192.168.180.0 ​  ​* ​              ​255.255.255.0 ​  ​U ​        0 0          0 <fc #​FF0000>​eth1</​fc>​
 +192.168.110.0 ​  ​192.168.167.151 255.255.255.0 ​  ​UG ​       0 0          0 eth0
 +default ​        ​192.168.167.2 ​  ​0.0.0.0 ​        ​UG ​       0 0          0 eth0</​xterm>​
 +
 +That's it - happy computing
  
 + --- //pronto 2012/10/04 16:00//
  
-{{keywords>​network interfaces linux debian ifup ifdown ifconfig route allow-hotplug auto dhcp static}}+{{keywords>​network interfaces linux debian ifup ifdown ifconfig route allow-hotplug auto dhcp static ​resolvconf resolv.conf persistant permanent}}
tux/interface.1349351597.txt.gz (16543 views) · Zuletzt geändert: 2012/10/04 13:53 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