Networkmanager

Aus wiki.archlinux.de

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

pacman -S kdeplasma-applets-networkmanager

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.