Die Netzwerkverbindungen sollten vom alten /etc/network/interfaces Script auf den modernen NetworkManager umgestellt werden. Der bietet auch auf der Kommandozeile mit dem Tool nmcli viel größere Flexibilität beim Umgang mit den Netzwerkverbindungen.
Zuerst werden die Programmpakete für den NetworkManager installiert. Dies geschieht mit
sudo apt-get install network-manager.
Anschließend kommentiert man in der bisherigen Netzwerkkonfigurationsdatei /etc/network/interfaces bis auf das loopback Interface (lo) alle Einträge aus. Würde man das nicht tun, würde Debian beim Start weiterhin die Informationen dieser Konfig-Datei verwenden.
So sollte die Datei /etc/network/interfaces dann aussehen:
auto lo iface lo inet loopback #auto eth0 #iface eth0 inet dhcp #auto wlan0 #allow-hotplug wlan0 #iface wlan0 inet dhcp #wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf #iface default inet dhcp
Das Tool nmcli bedient sich am besten per sog. „tab completion“. D.h man beginnt einen Befehl und durch Tab wird er vervollständigt, oder er zeigt weitere Optionen an. So kann man sich den kompletten Befehl einfach „zusammenbauen“. Dafür installiert man das Paket bash-completion nach.
Als nächstes prüft man, ob der NetworkManager Daemon beim Booten automatisch gestartet wird (auf die Groß-/Kleinschreibung bei NetworkManager achten):
$ sudo systemctl status NetworkManager ● NetworkManager.service - Network Manager Loaded: loaded (/lib/systemd/system/NetworkManager.service; enabled) Active: active (running) since Mo 2015-05-04 18:47:14 CEST; 1 day 1h ago Main PID: 368 (NetworkManager) CGroup: /system.slice/NetworkManager.service ├─ 368 /usr/sbin/NetworkManager --no-daemon └─14286 /sbin/dhclient -d -q -sf /usr/lib/NetworkManager/nm-dhcp-helper -pf /var/run/dhclient-wlan0.pid -lf /var/lib/Netw...
Mit systemctl enable/start/stop/restart NetworkManager lässt sich der Daemon steuern.
Das Kommandozeilen Tool nmcli hat schließlich folgende Hauptbereiche:
Der Status wird immer durch Ergänzen des Parameters „status“ oder „show“ abgefragt.
Zum Abfragen des aktuellen Netzwerk Status gibt man z.B. folgenden Befehl ein:
nmcli general status
(oder die Kurzform: nmcli g s) Solange der Befehl eindeutig ist, können die Parameter auch abgekürzt werden, oder mit Tab komplettiert werden.
Die Eingabe von nmcli c s schließlich dürfte noch keinerlei Einträge zu Tage fördern.
Beim nächsten Reboot wird jedoch automatisch die kabelgebundene Netzwerkverbindung (eth0) vom NetworkManager definiert und aktiviert.
Will man zusätzlich noch manuell eine weitere Kabelverbindung hinzufügen, hangelt man sich mit der Tab Completion durch den folgenden Befehl:
sudo nmcli connection add autoconnect yes con-name <frei wählbar> ifname <per Tab auswählbar> type ethernet save yes
Damit wird eine DHCP Connection eingerichtet. Soll dagegen eine statische IP-Adresse verwendet werden ergänzt man den Befehl noch um
ip4 <xx.xx.xx.xx/24> gw4 <xx.xx.xx.xx>
Fertig ist die Netzwerkverbindung.
Nmcli c s eth0 zeigt im Detail alle manuell gesetzten und alle Standard Parameter.
Mit nmcli con modify eth0 können noch viele weitere Optionen verändert werden. Z.B. kann hier noch explizit für eine Netzwerkverbindung der DNS-Server (ipv4.dns) und die DNS-Search Domain (ipv4.dsn-search) festgelegt werden, oder spezielle Routing-Einträge vorgenommen werden (ipv4.routes).
Den globalen DNS-Server trägt der NetworkManager übrigens automatisch in die Datei /etc/resolv.conf ein (erkennbar an dem Zusatz: #Generated by NetworkManager)
Zum Anzeigen der verfügbaren Wi-Fi access points, gibt man folgenden Befehl ein:
nmcli dev wifi list SSID MODE CHAN RATE SIGNAL BARS SECURITY MyWLAN Infra 11 54 MB/s 39 ▂▄__ WPA2
Das Erstellen eines WLAN Profils mit statischer IP Konfiguration, aber automatischer Ergänzung der DNS Adresse, erledigt folgender Befehl:
sudo nmcli con add con-name MyWLAN ifname wlan0 type wifi ssid MyWLAN \ip4 192.168.100.101/24 gw4 192.168.100.1
Will man stattdessen wieder eine DHCP Adresse für das WLAN Profil, lässt man einfach die Parameter ip4 und gw4 weg. Zum setzen eines WPA2 Passwortes, zum Beispiel „test123“, führt man folgende Befehle aus:
sudo nmcli con modify MyWLAN wifi-sec.key-mgmt wpa-psk sudo nmcli con modify MyWLAN wifi-sec.psk test123
Im „Red Hat Enterprise Linux 7 Security Guide“ kann man übrigens mehr zur Passwort Sicherheit nachlesen.
Zum Schluss muss man die WLAN Verbindung noch aktivieren mit:
sudo nmcli -p con up 'MyWLAN' ifname wlan0
Folgender Befehl schaltet das WLAN komplett aus und wieder ein:
sudo nmcli radio wifi [on | off ]
Um einen bestimmten Parameter z.B. mtu zu prüfen, verwendet man folgenden Befehl:
nmcli connection show id 'MyWLAN' | grep mtu802-11-wireless.mtu: auto
Und zum Ändern des Parameters führt man dann folgenden Befehl aus:
sudo nmcli connection modify id 'MyWLAN' 802-11-wireless.mtu 1350
Anschließend kann man die Konfigurationsänderung wie folgt überprüfen:
nmcli connection show id 'MyWLAN' | grep mtu802-11-wireless.mtu: 1350
Somit hat man die Basis geschaffen für ein modernes Debian System mit dem RaspberryPi.
Viel Spaß damit.