Na großartig.
Kollege fuhr heute in die Außenstelle, um einen Edgerouter‑X als VPN-Gateway zu installieren. Ich hatte vorher auf meinem hier bei mir zuhause die initiale Config getestet, der Kollege dann in der Zentrale ebenfalls. Alles erfolgreich, los gehts!
Einzig und allein die IP des lokalen VPN-Endpoints mußte geändert werden.
Nun ist das bei EdgeOS so: Die gesamte Konfiguration steht in einer Textdatei: /config/config.boot
. Ich habe immer die mit vi bearbeitet, das hat gut geklappt.
Es gibt aber auch eine Web-Oberfläche zum Klicken, die hat der Kollege verwendet, um eben diese IP zu ändern. Natürlich baut diese Oberfläche auch nur config.boot
.
Jedenfalls: Es gibt nur eine Weboberfläche für alle EdgeOS-Versionen., aber unterschiedliche SoCs. Ist zwar alles MIPS, aber manchmal von Mediatek, manchmal von Cavium.
Mediatek kann SHA-256 in Hardware, Cavium nicht.
Da unser ER‑X Mediatek-basiert ist, hatte ich SHA-256 ausgewählt:
vpn { ipsec { allow-access-to-local-interface disable auto-firewall-nat-exclude enable esp-group FOO0 { compression disable lifetime 3600 mode tunnel pfs enable proposal 1 { encryption aes256 hash sha256 } }
Da aber wie gesagt nicht jedes Gerät AES-256 in Hardware kann, bietet das Web-UI das gar nicht erst an, sondern steht auf SHA‑1 — weil es für alle Geräte passen muß, nimmt man den kleinsten gemeinsamen Nenner. Und so passierte es: Der Kollege änderte im Web-UI nur die IP des VPN-Endpoints, und in der Config landete dann:
vpn { ipsec { auto-firewall-nat-exclude enable esp-group FOO0 { compression disable lifetime 3600 mode tunnel pfs enable proposal 1 { encryption aes256 hash sha1 } }
Und natürlich kam der Tunnel nicht hoch. Wir haben uns totgesucht (erschwerend kommt hinzu: der VPN-Endpoint in der Außenstelle steht hinter NAT) und die Ursache nicht gefunden. Erst heute abend kam der Kollege auf den Trichter.
Und die Moral von der Geschicht: Trau keiner Web-GUI nicht!