Zwei Laptops wählen sich in den PPTP-Server einer DD-WRT-Box ein, jeder bekommt eine Adresse, und keiner kann den anderen anpingen. Freigaben erscheinen nie, und der erste Reflex ist, dass die 255.255.255.255-Maske, die der Router ausgibt, falsch sein muss. Sie ist nicht die Ursache, und eine Änderung erzeugt keinen einzigen neuen Nachbarn. Arbeite die fünf Prüfungen unten der Reihe nach ab und höre auf, sobald eine fehlschlägt, denn jede hat eine andere Kur.

Prüfung eins: die /32 ist nicht der Fehler

PPTP trägt PPP, und eine PPP-Strecke verbindet genau zwei Endpunkte: deinen Client und den Server. Eine Netzmaske beschreibt, welche Adressen ein lokales Segment teilen, und hier gibt es kein Segment, nur den Peer am anderen Ende einer Leitung. Eine Maske aus lauter Einsen sagt genau das, also gibt DD-WRT den für diesen Streckentyp richtigen Wert aus. Die Adresse ist eine Peer-Adresse, keine Interface-Adresse in einem LAN.

Eine 255.255.255.0-Maske gehört auf ein gemeinsames Medium mit hunderten Geräten, und auf einem PPP-Interface macht sie die andere Seite des Tunnels ebenfalls nicht zum Nachbarn.

Prüfung zwei: die Werte auf der PPTP-Server-Seite lesen

Alle wichtigen Einstellungen stehen unter Dienste, VPN, PPTP-Server. Aktiviere den Server, setze die Serveradresse auf die LAN-Adresse des Routers und halte den Client-Bereich außerhalb des DHCP-Pools, damit ein Einwahl-Client und ein kabelgebundener Rechner nicht dieselbe Adresse bekommen. Trage unter CHAP-Secrets pro Konto eine Zeile in der Form username * password * ein, ohne Leerzeichen im Namen. Übernehmen, dann mit einem Profil verbinden, das den Router und eines dieser Konten nennt.

Wo der Client stehen bleibt, sagt dir, welche Schicht du prüfen musst. Ein Client, der sich authentifiziert, aber keine Adresse bekommt, ist ein Pool- oder Secrets-Problem; ein Client, der eine Adresse bekommt und nichts erreicht, ist ein Routing- oder Firewall-Problem.

Prüfung drei: nach einer Route zwischen den beiden Peers suchen

Jeder Tunnel, der am Router endet, ist sein eigenes Interface, meist ppp0, ppp1 und so weiter. Verkehr von einem Client zum anderen muss zwischen diesen Interfaces geroutet werden, und der Router muss bereit sein, ihn weiterzuleiten. Führe ip route auf dem Router aus und suche für jeden verbundenen Peer eine Host-Route, die auf das passende PPP-Interface zeigt. Fehlt bei einem Peer die Route, ist der Tunnel nicht vollständig oben, egal was der Statusbildschirm des Clients behauptet.

Zwei Host-Routen auf zwei getrennte ppp-Interfaces ist die Form, die du willst, bevor du weitergehst.

Prüfung vier: die FORWARD-Kette ansehen, nicht INPUT

Verkehr zwischen Clients wird weitergeleitet, nicht lokal angenommen, also ist die INPUT-Kette die falsche Stelle. Führe iptables -L FORWARD -v -n aus und suche eine Drop-Regel, die die PPP-Interfaces trifft, dazu die Paketzähler, die zeigen, ob überhaupt etwas an der Kette ankommt. Eine Standard-Drop-Politik ohne Accept-Regel für Tunnelverkehr erzeugt genau das Symptom, mit dem du angefangen hast: jeder Client allein ist in Ordnung, zusammen sind sie füreinander unsichtbar.

Wenn kleine Pings laufen und große Übertragungen stocken, wird der Tunnel fragmentiert statt blockiert. PPTP über PPP will normalerweise MTU und MRU um 1450, und bei 1500 bekommst du eine Strecke, die Handshakes schafft und an echten Nutzlasten scheitert.

Prüfung fünf: entscheiden, was der Internetzugang tun soll

Clients, die über das Büro surfen sollen, brauchen Quellübersetzung Richtung WAN-Interface. Clients, die nur das LAN erreichen sollen, brauchen eine Route und sonst nichts. Das sind verschiedene Absichten mit verschiedenen Regelsätzen, und die Maskenfrage verdeckt diese zweite Entscheidung vollständig. Schreib auf, welches Verhalten du wolltest, bevor du eine einzige Regel hinzufügst, denn ein Client, der unerwartet über die Büroleitung hinausgeht, ist eine Überraschung, die in einer Besprechung auftaucht statt im Log.

Eine letzte Anmerkung, unabhängig von der Lösung: PPTP ist veraltet, und seine Authentifizierung ist seit Jahren gebrochen. Die Liste oben erklärt trotzdem, was eine PPP-Strecke tut, und dieselbe Argumentation gilt, wenn du die Clients später auf einen modernen Tunnel umstellst.

Ähnliche Artikel