Johannes Truschnigg - SRE & DevOps


Zur Suche ▼Zum Archiv ▼

Eintrag von 2015-12-07

OpenWrt 15.05 "Chaos Calmer": A1 (AON / Telekom Austria) ADSL-Setup mit PPTP


WICHTIGES UPDATE: Diese Anleitung kann man auch für LEDE (getestet mit Release 17.01.4) verwenden, muss aber zusätzlich zu den im Blog-Eintrag erwähnten Paketen auch noch kmod-nf-nathelper-extra (darin sind die Kernel-Module nf_conntrack_pptp.ko und nf_nat_pptp.ko enthalten, die - falls vorhanden - beim Booten automatisch geladen werden) installieren. Tut man das nicht, bleibt die Kommunikation zwischen dem PPtP-Server auf dem A1-Modem und dem Client am LEDE-Gerät inmitten des PPtP-Calls stehen. Ich fand diesen Umstand noch nirgends im WWW dokumentiert, aber nach mehr als zwei Stunden Herumexperimentieren und fluchend tcpdump-Logs-Vergleichen bin ich nun endlich auch mit LEDE erfolgreich eingewählt.

In Österreich ist seit jeher alles sehr kompliziert - ist man hierzulande doch als Kunde des größten ADSL-Providers A1 (bzw. AON, vormals auch bekannt als Telekom Austria) an das archaische Point-to-Point Tunneling Protocol zur Herstellung der Internetverbindung gebunden. Andernorts verwendet man zumeist das modernere und für diesen Zweck viel tauglichere Point-to-Point Protocol over Ethernet (PPPoE). Sonst hat man es stellenweise noch in veralteten VPNs mit PPTP zu tun: Die damit verwendbaren Authentifizierungsmechanismen gelten heute aber als fundamental unsicher, und man sollte besser vorgestern als gestern auf eine modernere, sichere Technologie gewechselt haben.

Nicht zuletzt aus diesem Grund hat das OpenWrt-Projekt schon vor geraumer Zeit die Unterstützung für PPTP aus dem Standard-Installationsumfang entfernt - auf der Ziel-Hardware herrscht in vielen Fällen ohnehin ziemlicher Speicherplatzmangel, und den will man nicht durch das Mitschleppen vernünftigerweise nicht mehr zu verwendender Altlasten weiter verschlimmern. Für Kunden von "A1 Festnetz-Internet" (bzw. vormals jet2web, einstmals auch bekannt als AON Speed - wie eben auch immer das ADSL-Produkt der Telekom Austria A1 zur Stunde gerade nach intensivsten Strategiebesprechungen in der Marketingabteilung benamst ist) ist das freilich lästig: Sie müssen, aufgrund der technischen Unbeweglichkeit ihres ISPs, den gesamten PPTP-Support-Stack nachinstallieren, wenn sie hinter ihrem "Single User"-DSL-Modem ein vernünftiges Internetworking Device betreiben wollen.

Vor diese undankbare Aufgabe war ich kürzlich bei meinen Großeltern gestellt: Ein neuer Router bzw. Wireless Access-Point sollte dort eine schwer veraltete Buffalo Airstation G ersetzen. Viele Jahre hatte sie klag- und problemlos mit OpenWrt 0.9 "White Russian" (einer meiner erklärten Lieblingscocktails übrigens!) dort nach IEEE 802.11b/g in die nordsteirische Pampa gefunkt, um so u. a. einem Google Nexus 10, sowie den Wifi-tauglichen Geräten etwaiger Besucher, den Weg ins Internet zu weisen. Freilich ohne irgendwelchen modernen Firlefanz wie WPA2, oder Unterstützung des 5GHz-Bandes. Übernommen hat diese Aufgabe nun ein TP-Link TL-WDR4300 mit OpenWrt 15.05 "Chaos Calmer", der seinem Vorgängergerät freilich in allen technischen Belangen um Lichtjahre voraus ist.

Um nun OpenWrt 15.05 nach der Installation zur Zusammenarbeit mit ADSL von A1 zu überreden, muss man recht tief in der Trickkiste kramen. Da die notwendigen Schritte nicht wirklich dokumentiert zu sein scheinen, will ich sie hier (auch als Gedächtnisstütze für mich selbst, weil ich bestimmt noch öfters in die missliche Lage geraten werde, dieses Setup herstellen zu müssen) festhalten. Zuerst benötigt man mindestens die folgenden Pakete aus den OpenWrt-Repositories, inkl. aller Abhängigkeiten:

Freilich sollte man all diese Pakete besorgen, bevor man nur noch mit der OpenWrt-Basisinstallation auf dem Gerät dasteht - ohne sie bleibt die Internetverbindung über PPTP-ADSL nämlich düster. Im Zweifel, und um nichts vergessen zu können, mirrore ich mir deshalb vor der Installation eines Images stets den gesamten Paketbaum des zu installierenden OpenWrt-Releases (und zwar für die richtige Binärarchitektur! Mein WDR4300 benötigt jene für die Atheros 71xx-SoC-Familie.) auf ein System, das via Ethernet mit dem Router verbunden werden kann. Nach dem Flashen und initialen Setup des Routers kopiere ich dann alle so heruntergeladenen und benötigten Pakete via scp ins Dateisystem des OpenWrt-Geräts, logge mich via ssh dort ein, und installiere die Pakete via opkg nach.

Um danach einen A1-PPTP-WAN-Uplink in OpenWrt zu konfigurieren, ist noch etwas Konfigurations-Akrobatik notwendig: Zuerst braucht das von OpenWrt in der Default-Config mitgebrachte WAN-Interface eine statische IPv4-Konfiguration. Hier ist etwas Vorsicht geboten, denn je nach Router-Hardware (und damit OpenWrt-Installations-Image) kann das leicht unterschiedlich aussehen, vor allem im Hinblick auf den Interface-Namen. Beim TP-Link TL-WDR4300 liest sich die (bereits für den A1-Zugang angepasste) WAN-Konfiguration in /etc/config/network wie folgt:

config interface 'wan'
	option _orig_ifname 'eth1'
	option _orig_bridge 'false'
	option ifname 'eth1'
	option proto 'static'
	option ipaddr '10.0.0.140'
	option netmask '255.255.255.0'
	option gateway '10.0.0.138'

Ist das erledigt, braucht man noch ein zusätzliches, virtuelles Interface für das PPTP, ebenfalls in /etc/config/network. Nach dem Ersetzen der Dummy-Werte ("A1-ADSL-USERNAME", "A1-ADSL-PASSWORT") durch die tatsächlichen Benutzeridentifikationsdaten für die A1-ADSL-Verbindung kann dieser Abschnitt dann 1:1 wie hier übernommen werden:

config interface 'A1'
	option proto 'pptp'
	option server '10.0.0.138'
	option username 'A1-ADSL-USERNAME'
	option password 'A1-ADSL-PASSWORT'
	option peerdns '0'
	option dns '85.214.20.141 213.73.91.35 194.150.168.168'
	option keepalive '10 6'
	option mtu '1460'

Nach der Installation aller Laufzeitkomponenten und dem Einrichten der Interfaces muss man noch die Konfiguration des PPTP-Clients so zurechtbiegen, dass die von A1 benötigten Verbindungsparameter Anwendung finden. Dafür ersetzt man den gesamten Inhalt der Datei /etc/ppp/options.pptp mit dem folgenden:

noipdefault
noauth
nobsdcomp
nodeflate
idle 0
maxfail 0

Danach rebootet man das Gerät einfach. Ist es wieder hochgefahren, verbindet man sich wieder via ssh zu einer shell darauf, und wirft ein Auge auf den Output von logread - wenn sich der PPTP-Client hier nicht lautstark und wiederholt über Authentifizierungsprobleme beschwert, hat man alles richtig gemacht, und der WAN-Uplink wird nach wenigen Sekunden Initialisierungsarbeit den Internetzugang freigeben.

direkter Link ▲

© 2007-2020 Johannes Truschnigg | valid xhmtl & css