WLAN im ICE der Deutschen Bahn

WLAN im ICE mit Linux und Docker

Alle, die Linux mit Docker einsetzen und mit ihrem Notebook schon einmal im einem ICE der Deutschen Bahn das WLAN WIFIonICE nutzen wollten, kennen das Problem, dass es einfach nicht funktioniert. Die Splash-Page will einfach nicht aufgehen. Hintergrund ist, dass das der von Docker standardmäßig verwendete IP-Adressebereich sich mit dem WLAN in den ICEs überschneidet.

Hier demonstriere ich, wie ich das Problem bei mir (Linux Mint 22) gelöst habe. Es sollte aber auch mit einem reinen Ubuntu-System funktionieren.

Nach der Installation von Docker wird gewöhnlich ein neues Netzwerk-Interface mit dem Namen docker0 angelegt. Dieses nutzt standardmäßig das Subnetz 172.17.0.0/16 – das gleiche wie das ICE-WLAN. Bevor man dieses ändert, empfiehlt sich, alle Docker-Container zu stoppen und alle, möglicherweise noch vorhandene Docker-Netzwerke zu löschen.

Zunächst kann man sich alle laufenden Container anzeigen lassen:

Bash
docker ps

Diese Container stoppt man auf einem Schlag so:

Bash
docker stop $(docker ps -q)

Nun löscht man alle noch angelegten Docker-Netzwerke:

Bash
docker network rm $(docker network ls -q)

Anschließend wird eine Konfigurationsdatei für den Docker-Daemon angelegt:

Bash
sudo vi /etc/docker/daemon.json

Diese Datei wird dann befüllt:

JSON
{
  "default-address-pools": [
    {
      "base": "10.10.0.0/16",
      "size": 24
    }
  ]
}

Nun werden alle Docker-Netzwerke im IP-Adressbereich 10.10.0.0 erstellt.

Achtung: Sollte das Notebook auch noch in einem Firmennetzwerk genutzt werden, kann es zu neuen IP-Adressekonflikten kommen. Alternativ könnte man bspw. auch 172.25.0.0/16 nutzen.

Nun noch mit :wq und Enter die Konfiguration speichern und anschließend den Docker-Dienst neustarten:

Bash
sudo systemctl restart docker

Voila! Nun sollte es funktionieren. Ggf. muss aber auch das Notebook noch einmal neugestartet werden.

6 Kommentare

  1. Kurz, klar, verständlich. Danke!

    Evtl. noch als Hinweis: Beim Ausführen von docker network rm $(docker network ls -q) kommen Fehlermeldungen, dass die pre-defined networks nicht entfernt werden können. Das sollte so passen.

  2. Hatte auch immer dieses Problem und mich darüber geärgert – USB-Tethering über das Smartphone war dann mein Workaround. Dann hab ich mich sehr gefreut, als ich über diesen Artikel gestolpert bin und nun wusste, was eigentlich das Problem ist.
    Jetzt sitze ich im ICE, hab die ersten Schritte der Anleitung gemacht und dann mir die Ausgabe von `ifconfig` genauer angeschaut und festgestellt, dass mein WLAN-Device tatsächlich mit WifiOnICE mit 172.18.x.y verbunden ist (während mein docker0 172.17.0.1 hat)! Hab es gespannt probiert und tatsächlich bin ich auf den Anmeldebildschirm gekommen und es läuft „einfach so“ – hat die DB hier was geändert und dieses Problem gelöst?!

    1. Hi, freut mich! Meines Wissens nach hat die DB bzw. DB Systel in den letzten Jahren trotz mehrfacher Hinweise nichts geändert.

Kommentar hinterlassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert