PPTP efter in thúsrouter mislearret op twa losse manieren, en dy trochinoar helje kostet in hiele jûn. Ien storing is in gat yn 'e trochstjoering: de router lit TCP 1723 troch en smyt IP-protokol 47 fuort, sadat de klant by flater 619 hingjen bliuwt. De oare is in probleem mei de grutte: de tunnel komt op, ferifiearret, en fretst dan as in pakket fan folsleine grutte passe moat. Utfine hokker fan beide jo hawwe is de earste echte stap; de rest ferliket wat jo router útdrukke kin, net hokker merk better is.

Twa ferfierlagen, en mar ien hat in poarte

PPTP spjaltet him oer twa ferfierlagen: in kontrôleferbining op TCP 1723, en PPP-ramen ferpakt yn ferbettere GRE, dat is IP-protokol 47. GRE hat gjin poartenûmer, dus in regel skreaun as trochstjoering fan poarte 1723 kin it net dekke, hoe't de webynterface it fjild ek neamd. In thúsrouter biedt meastentiids in fakje mei de namme PPTP-trochjaan yn stee fan in protokolregel, en dat fakje docht twa taken: it lit protokol 47 troch de brânmuorre, en it leart NAT hoe't er de GRE-stream folgje moat. Op in Linux-router binne dy taken aparte modules en aparte regels, dêrom leveret in heal konfigurearre trochjaan noch altyd in wurkjend kontrôlekanaal. Fyn út hokker helte oanwêzich is foardat jo eat feroarje.

De eigen brânmuorre fan 'e tsjinner moat ek protokol 47 fan it routeradres tastean. In hostbrânmuorre dy't allinnich 1723/tcp akseptearret, reprodusearret flater 619 fan binnen it LAN, wat in stikken trochstjoering en in stikken hostregel identyk lykje lit.

sudo iptables -S FORWARD | grep -i gre
sudo nft list ruleset | grep -i gre
lsmod | grep -E 'nf_conntrack_proto_gre|nf_nat_proto_gre'

As de modules ûntbrekke, laad se dan mei sudo modprobe nf_conntrack_proto_gre nf_nat_proto_gre en meitsje it laden permanint, want in herstart dy't de helper ferget, makket fan in wurkjende tunnel wer flater 619. De trochstjoerregel hoecht protokol 47 allinnich nei it tsjinneradres ta te akseptearjen, net it hiele LAN. De definysje yn RFC 2637 skiedt it kontrôle- en datapaad, dêrom beskriuwt gjin inkeld poartetrochstjoerskerm PPTP folslein.

Trochjaanfakje of in eksplisite protokolregel

In trochjaanfakje dat allinnich de brânmuorre iepenet, is tichter by it goede as in ALG dy't oproppen-identifiers oerskriuwt. De brânmuorrehelte is foarsisber, want protokol 47 wurdt of akseptearre of fuortsmyt, en de tellers sizze hokker. De oerskriuhelte is dêr't produsinten ferskille, want PPTP-oproppen-identifiers binne per tunnel en in NAT dy't se bewurket moat elke oprop folgje dy't er oanrekket. As ien klant ferbynt en twa net, is de ALG de earste fertochte.

In NAT-regel foar de bestimming foar 1723 hat ek in eigenersprobleem. As in âlde regel 1723 noch nei in host stjoert dy't de tsjinner stoppe is, lânje pakketten op in sletten poarte en de eigen PPTP-tsjinst fan 'e router antwurdet net mear, wat as in brânmuorreflater lêzen wurdt mar eins in ferâldere doel is. Lês de regel en syn bestimming foardat jo in twadde tafoegje. Op routers dy't sels PPTP beëinigje, konkurrearret de WAN-regel mei de ynboude tsjinst, dus kies ien eigener foar 1723 en protokol 47.

Twa klanten efter deselde NAT binne it gefal dat in ienfâldige trochstjoering fan in tûke skiedt. Protokol 47 trochstjoere sûnder de oproppen-identifiers oer te skriuwen wurket ornaris better as in helper dy't se reparearje wol.

Mjit de tunnel foardat jo de router de skuld jouwe

PPTP krimpt de brûkbere lading, en dy krimp is rekkenkunde, gjin mystearje. Elk tunnelpakket draacht in bûtenste IP-kop, in ferbettere GRE-kop, in PPP-kop en, mei fersifering, in MPPE-kop. As it paad de resultearjende frame net drage kin, geane lytse pakketten troch, de oanmelding foltôget, en de sesje stopt de earste kear dat in bestânsferstjoering of in TLS-hânskleiling in pakket fan folsleine grutte stjoert.

Rekkenje it getal út yn stee fan te rieden. Ferbettere GRE kostet 8 byte, PPP kostet 4, MPPE kostet 4, en de bûtenste IP-kop kostet 20, dus de tunnel fret 36 byte foar alle lading. Op in PPPoE-WAN dy't op 1492 einiget, is de grutste PPP-MTU dy't past 1492 min 36, dat is 1456. Set mtu en mru op dy wearde yn 'e PPP-opsjes en test opnij mei in ping sûnder fragmintearring.

ping -M do -s 1464 198.51.100.7
grep -E '^(mtu|mru)' /etc/ppp/options.pptpd

De ping mjit it paad, net de tunnel: 1464 byte lading plus 28 byte IP- en ICMP-kop folje krekt in frame fan 1492 byte. As dy ping mislearret, ferlingje it getal oant it slagget en lûk 36 fan it resultaat ôf. In tunnel-MTU boppe de grins fan it paad jout it fretten sûnder ien logrigel dy't grutte neamt.

PPTP, L2TP/IPsec of OpenVPN op deselde router

Deselde router kin elk fan 'e trije gewoane tunnels drage, en it ferskil is wat er útdrukke moat. PPTP hat twa regels yn twa ferskillende lagen nedich. L2TP oer IPsec hat UDP 500 en 4500 nedich foar de kaaiútwikseling en, as NAT-T it net draacht, protokol 50 foar de lading. OpenVPN hat ien UDP-poarte nedich en hielendal gjin helper.

TunnelWhat the router must allowPractical note
PPTPTCP 1723 and IP protocol 47Two transports, two rules
L2TP/IPsecUDP 500, UDP 4500, protocol 50 without NAT-TESP has no port either
OpenVPNUDP 1194 or a chosen TCP portSingle rule, no helper

De L2TP-kolom is net automatysk freonliker as GRE. ESP is IP-protokol 50 en hat ek gjin poarte, dus in router dy't muoite hat mei protokol 47 kin om deselde reden muoite hawwe mei protokol 50. NAT-T bestiet om ESP yn UDP 4500 te ferpakken, en as beide einen it stypje, wurdt de protokol-50-regel oerstallich. Dat is in eigenskip fan 'e einen, net fan it PPTP-fakje fan 'e router. Befestigje hokker ynkapseling de klant eins úthannele hat foardat jo regels foar beide skriuwe.

OpenVPN is de opsje mei de minste beweeglike dielen oan 'e routerkant. Ien UDP-poarte, ien trochstjoering, gjin ferbining-folgjenhelper en gjin oerskriuwen fan oproppen-identifiers. De ruil is in klant dy't ynstallearre wurde moat yn stee fan in ynboude kiesder, en dat is faak de iennichste reden wêrom't PPTP yn it petear bliuwt.

Wat te reparearjen en wat te ferfangen

De trochstjoering en de MTU reparearje jout jo in tunnel dy't wurket, net ien dy't jo hâlde moatte. De MSCHAPv2-ferifikaasje fan PPTP is al jierren oan te fallen, en in wurkjende tunnel ferpleatst oanmeldgegevens dy't offline werom te heljen binne. As it fiere apparaat L2TP/IPsec of OpenVPN rinne kin, behannelje de reparaasje as in tydlike maatregel mei in datum derop.

De beslissing komt del op wat de fiere ein stypje en hoe lang't de regeling hâlde moat. In ferâldere apparaat dat allinnich PPTP praat, krijt de reparaasje; alles wat in klant ynstallearje kin, wurdt migrearre.

Foardat jo it kaartsje slute, befestigje dat de klant in grutte oerdracht oerlibbet en net allinnich in oanmelding, en dat de router syn protokol-47-regel nei in herstart noch hâldt. In tunnel dy't ien bestânskopy trochkomt en nei de folgjende firmwarefernijing stjert, wie nea klear.

Relatearre artikelen