Ubuntu: Nachinstallation des Network Manager

Bislang habe ich bei meinem Ubuntu 18.04.3 das Netzwerk mittels ifup / ifdown über die Einträge in /etc/network/interfaces betrieben. Das funktioniert natürlich tadellos. Der bei der Installation vorgegebene NetworkManager hat eine zeitlang nicht zuverlässig funktioniert und die komfortable Möglichkeit der Nutzung verschiedener VPN habe ich nicht gebraucht. Daher hatte ich das Paket network-manager deinstalliert, also nicht nur deaktiviert. Ein Fehler, wie sich zeigte!

Gerade die VPN-Fähigkeiten werde ich aber möglicherweise demnächst brauchen. Also wollte ich “mal eben” den NetworkManager wieder installieren. Weit gefehlt – natürlich ließ er sich installieren, auch die Schnittstelle eth0 konnte ich einrichten, aber die Sache lief nicht. Ich schaltete nach der Installation (sonst geht die Installation natürlich nicht) das Netzwerk ab (sudo ifdown eth0) und ersetzte /etc/network/interfaces durch die Minimalversion:

# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback

Dann wollte ich den NetwokManager starten mit

sudo systemctl start NetworkManager

Nichts, keine Fehlermeldung, aber auch keine Funktion. Wo lag das Problem? Eine Recherche im Usenet brachte auch keine Erhellung. Dabei hatte ich die Lösung schon längst gefunden, nur hatte ich sie nicht vollständig umgesetzt! Hier wird beschrieben, wie es geht, ich musste es nur vollständig (!) machen. Ich habe den gesamten Abschnitt “Enable NetworkManager and Disable systemd networkd” abgearbeitet und es hat funktioniert. Hier nochmal die Kurzfassung:

sudo apt-get install network-manager network-manager-gnome

sudo systemctl disable systemd-networkd.service
sudo systemctl mask systemd-networkd.service
sudo systemctl stop systemd-networkd.service

File /etc/netplan/config.yaml erstellen oder editieren (root):
network:
  version: 2
  renderer: NetworkManager

sudo netplan generate

ersetzen der /etc/network/interfces durch die minimlaen Einträge:
# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback

sudo systemctl unmask NetworkManager
sudo systemctl enable NetworkManager
sudo systemctl start NetworkManager

Startet man jetzt mittels nm-applet das Applet in der Taskleiste, kann man seine Netzwerkverbindung einrichten. Sie steht bereits automatisch drin, aber mit DHCP.

Fazit: Bei den erfolglosen Versuchen hatte ich den Abschnitt mit netplan “übersehen”, ich meinte, sowas habe ich nicht… Genau das hat sich als der notwendige Schlüssel herausgestellt.

Optimale MTU ermitteln (Ubuntu)

Was ist die MTU?

Die Maximum Transmission Unit (MTU) deutsch maximale Übertragungseinheit) beschreibt die maximale Paketgröße eines Protokolls der Vermittlungsschicht (Schicht 3) des OSI-Modells, gemessen in Oktetten, welche ohne Fragmentierung in den Rahmen (engl. “Frames“) eines Netzes der Sicherungsschicht (Schicht 2) übertragen werden kann. (Wikipedia).

Verstanden? Also ich habe alles schonmal irgendwie gehört, könnte es aber nie so widergeben… Also kurz gesagt: Die MTU ist die maximale Paketlänge bei einer Datenübertragung, bei der die Datenpakete noch nicht zerstückelt werden. Oder so ähnlich. Fakt ist, diese Zahl sollte so genau wie möglich den technischen Gegebenheiten angepasst werden, um den Datenaustausch zum Beispiel mit dem Internet nicht zu bremsen.

Im Folgenden möchte ich zeigen, wie ich (Ubuntu 14.04) meine MTU ermittelt habe und einstellen könnte.

Wie ermittle ich die bei mir eingestellte MTU?

Bekannte Größen sind 1492 oder 1500. Bei der Installation meines Ubuntu-Systems wurde ein Wert ermittelt und gesetzt. So finde ich ihn mit einem Shell-Befehl:

[rollo: ~] ifconfig eth0
eth0 Link encap:Ethernet Hardware Adresse 00:1d:92:01:24:26 
inet Adresse:192.168.178.4 Bcast:192.168.178.255 Maske:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metrik:1
RX-Pakete:135724 Fehler:0 Verloren:366 Überläufe:0 Fenster:0
TX-Pakete:83939 Fehler:0 Verloren:0 Überläufe:0 Träger:0
Kollisionen:0 Sendewarteschlangenlänge:1000 
RX-Bytes:142830244 (142.8 MB) TX-Bytes:10209485 (10.2 MB)

In der dritten Zeile steht der eingestellte Wert 1500.

Wie ermittle ich den optimalen Wert?

Wollen wir mal sehen, welcher Wert eigentlich optimal ist. Das ermittle ich mit einem weiteren Shell-Befehl, indem ich die “Route” zum Webserver abfrage, auf der diese Website liegt. Hierfür ist jede vorhandene namentliche oder numerische Domain nutzbar:

[rollo: ~] tracepath it-consulting-stahl.de
 1?: [LOCALHOST] pmtu 1500
 1: router 1.192ms 
 1: router 0.888ms 
 2: no reply
 3: 83-169-181-254-isp.superkabel.de 18.882ms 
 4: ip5886c235.dynamic.kabel-deutschland.de 18.848ms asymm 5 
 5: ip5886eb2c.dynamic.kabel-deutschland.de 22.478ms asymm 6 
 6: ip5886cbf0.dynamic.kabel-deutschland.de 23.539ms asymm 5 
 7: decix.r1.fra3.opencarrier.eu 19.709ms asymm 8 
 8: decix.r1.fra3.opencarrier.eu 18.915ms 
 9: oc-dus.tal.de 26.389ms 
10: oc-dus.tal.de 22.069ms asymm 9 
11: mail-s4.rb-host.de 25.715ms reached
 Resume: pmtu 1500 hops 11 back 11

Hier steht in der ersten Zeile die vorgegebene MTU, in der letzten die ermittelte optimale. Beide sind bei mir gleich, ich muss nichts weiter tun. Wenn die optimale MTU anders sein sollte, sollte ich handeln.

Wie ändere ich die MTU?

Auch das geht ganz einfach in der Shell mit dem Befehl ifconfig:

[rollo: ~]sudo ifconfig eth0 mtu 1500

Achtung, hierfür sind root-Rechte erforderlich (sudo)!