Networkmanager: Unterschied zwischen den Versionen

Aus wiki.archlinux.de
(Dispatcher / Nameserver)
Zeile 56: Zeile 56:


Jetzt nur noch einen Neustart durchführen und fertig.
Jetzt nur noch einen Neustart durchführen und fertig.
==Dispatcher==
Der Networkmanger-Dispatcher ist Bestandteil des Netwokmanager-Paketes und muss nicht separat installiert werden. Mit Ihm ist es möglich automatisch Befehle auszuführen sobald eine Verbindung aufgebaut bzw. getrennt wurde. Das geschieht mit einfachen Shell-Scripten, die in ''/etc/NetworkManager/dispatcher.d/'' ausführbar abgespeichert werden. Als Ausgangspunkt kann man dieses Script verwenden.
#!/bin/sh
case "$2" in
        up)
                # wird abgearbeitet nachdem die Verbindung aufgebaut wurde
        ;;
        down)
                # wird abgearbeitet nachdem die Verbindung getrennt wurde
        ;;
esac
==DNS Server festlegen==
Der DNS-Server wird in der Datei [[resolv.conf|/etc/resolv.conf]] festgelegt. Bei dynamiacher Zuweisung der IP per [[DHCP]] wird automatisch auch ein DNS-Server ermittelt und in die ''resolv.conf'' eingetragen. Dabei werden bereits vorhandene Einträge überschrieben. Will man einen anderen DNS-Server benutzen, muss man das Überschreiben verhinden bzw.rückgängig machen. Die [[DHCP#DNS_Server_festlegen|hier]] beschriebenen Methoden funktionieren bei Verwendung des Networkmanagers leider nicht.
Eine einfache, Möglichkeit das Überschreiben zu verhindern ist das ''immutable flag'' der ''resolv.conf'' zu setzen.
chattr +i /etc/resolv.conf
So hat auch root keine Berechtigung die Datei zu verändern.
Eine weitere Möglichkeit besteht darin, per Dispatcher-Script den/die gewünschten DNS-Server nach dem Aufbau der Verbindung in die ''resolv.conf'' einzutragen und somit das Überschreiben rückgängig zu machen. Ein solches Script könnte z.B. so aussehen.
#!/bin/sh
case "$2" in
        up)
                echo "nameserver <IP des DNS-Servers>" > /etc/resolv.conf
      ;;
esac


{{FDL||Seite=http://wiki.archlinux.org|Name=ArchLinux.org Wiki|Original=http://wiki.archlinux.org/index.php/Networkmanager_%28Deutsch%29}}
{{FDL||Seite=http://wiki.archlinux.org|Name=ArchLinux.org Wiki|Original=http://wiki.archlinux.org/index.php/Networkmanager_%28Deutsch%29}}

Version vom 13. Mai 2009, 18:43 Uhr

ArchLinux unterstützt dank Tor Krill und William Rea nun den "Networkmanager". Die Unterstützung basiert vollständig auf ihren Paketen.

Installation

Vor der Installation solltet Ihr kontrollieren, ob der HAL Daemon installiert ist und in der rc.conf geladen wird.

Gnome

Das Paket des Networkmanagers für Gnome wurde von gnome-network-manager zu network-manager-applet umbenannt.

pacman -S network-manager-applet

Allerdings kann man den Networkmanager nach wie vor mit dem alten Kommando downloaden:

pacman -S gnome-network-manager

KDE

Durch das KDE-Update ist knetworkmanager nicht mehr im Community-Repository verfügbar. Im AUR gibt es dieses Paket allerdings noch,

Xfce

Xfce benutzt das selbe Paket wie GNOME. Zusätzlich wird noch das xfapplet Plugin benötigt, welches es ermöglicht GNOME Applets im xfce4-panel anzuzeigen.

pacman -S network-manager-applet xfce4-xfapplet-plugin

Falls dies nicht funktioniert, kann man das Applet auch wie bei Fluxbox und co. hinzufügen.

Eine Alternative zu dem network-manager-applet mit dem xfce4-xfapplet-plugin, der den gesamten gnome-desktop als Abhängigkeit benötigt wäre wicd zu empfehlen. Er bindet sich auch als Tray-Icon ein.

Fluxbox, Openbox und andere WM

Ihr braucht das hicolor-icon-theme um das nm-applet benutzen zu können:

pacman -S network-manager-applet hicolor-icon-theme

Um das Network Manager Applet automatisch zu sarten tragt Ihr "nm-applet --sm-disable" in die ~/.xinitrc ein.

Zum Beispiel so:

#!/bin/sh
nm-applet --sm-disable &
exec fluxbox

Die "--sm-disable Option" verhindert, dass mehrere Instanzen des nm-applets gestartet werden. Ihr benötigt diese Option nur falls nach dem Starten des Window-Managers mehrere Instanzen laufen sollten.

System für den Networkmanager einrichten

Der Networkmanager prüft die Datei /etc/rc.conf, um zu sehen, ob eine statische oder dynamische (DHCP) IP für das Netzwerkinterface benutzt werden soll. Je nachdem sollte dort also z.B.:

eth0="eth0 172.19.3.18 netmask 255.255.255.0 broadcast 172.19.3.255"

für eine statische oder,

eth0="dhcp"

für eine dynamische IP eingetragen werden. Desweiteren müssen in der /etc/rc.conf die Netzwerkinterfaces deaktiviert werden, die der Netzwerkmanager kontrolieren soll. Also z.B. so:

INTERFACES=(lo !eth0 !ath0)

Nun muss noch der Daemon (networkmanager) in die /etc/rc.conf eingetragen werden. Außerdem ist es noch wichtig, den network-DAEMON zu deaktivieren . Das sieht dann zum Besipiel so aus:

DAEMONS=(syslog-ng !hotplug !pcmcia !network dbus hal netfs !crond acpid alsa fnfxd cpufreqd networkmanager)

Danach sollte man den User, der den Networkmanager benutzen will, in die Gruppe "network" eintragen:

gpasswd -a USERNAME network

Jetzt nur noch einen Neustart durchführen und fertig.

Dispatcher

Der Networkmanger-Dispatcher ist Bestandteil des Netwokmanager-Paketes und muss nicht separat installiert werden. Mit Ihm ist es möglich automatisch Befehle auszuführen sobald eine Verbindung aufgebaut bzw. getrennt wurde. Das geschieht mit einfachen Shell-Scripten, die in /etc/NetworkManager/dispatcher.d/ ausführbar abgespeichert werden. Als Ausgangspunkt kann man dieses Script verwenden.

#!/bin/sh

case "$2" in
       up)
               # wird abgearbeitet nachdem die Verbindung aufgebaut wurde
       ;;
       down)
               # wird abgearbeitet nachdem die Verbindung getrennt wurde
       ;;
esac

DNS Server festlegen

Der DNS-Server wird in der Datei /etc/resolv.conf festgelegt. Bei dynamiacher Zuweisung der IP per DHCP wird automatisch auch ein DNS-Server ermittelt und in die resolv.conf eingetragen. Dabei werden bereits vorhandene Einträge überschrieben. Will man einen anderen DNS-Server benutzen, muss man das Überschreiben verhinden bzw.rückgängig machen. Die hier beschriebenen Methoden funktionieren bei Verwendung des Networkmanagers leider nicht.


Eine einfache, Möglichkeit das Überschreiben zu verhindern ist das immutable flag der resolv.conf zu setzen.

chattr +i /etc/resolv.conf 

So hat auch root keine Berechtigung die Datei zu verändern.


Eine weitere Möglichkeit besteht darin, per Dispatcher-Script den/die gewünschten DNS-Server nach dem Aufbau der Verbindung in die resolv.conf einzutragen und somit das Überschreiben rückgängig zu machen. Ein solches Script könnte z.B. so aussehen.

#!/bin/sh
case "$2" in
       up)
               echo "nameserver <IP des DNS-Servers>" > /etc/resolv.conf
      ;;
esac


Dieser Artikel (oder Teile davon) steht unter GNU FDL (GNU Freie Dokumentationslizenz) und ist eine Kopie aus dem ArchLinux.org Wiki. Am Original-Artikel kann jeder Korrekturen und Ergänzungen vornehmen. Im ArchLinux.org Wiki ist eine Liste der Autoren verfügbar.