Server PPTP pas një routeri shtëpiak: rregullo fillimisht 1723 dhe GRE
Ekzekuto PPTP pas një routeri shtëpiak: TCP 1723, protokolli IP 47, kutia e kalimit dhe aritmetika e MTU-së, plus kur L2TP ose OpenVPN është shkëmbimi më i mirë.
PPTP pas një routeri shtëpiak dështon në dy mënyra të palidhura, dhe ngatërrimi i tyre kushton një mbrëmje të tërë. Një dështim është një boshllëk në përcjellje: routeri lë të kalojë TCP 1723 dhe hedh protokollin IP 47, prandaj klienti mbetet i varur në gabimin 619. Tjetri është problem madhësie: tuneli ngrihet, autentifikohet dhe më pas ngrin kur duhet të kalojë një paketë me madhësi të plotë. Të kuptosh se cilin prej të dyve ke është hapi i parë i vërtetë; pjesa tjetër krahason çfarë mund të shprehë routeri yt, jo cila markë është më e mirë.
Dy transportues, dhe vetëm njëri ka portë
PPTP ndahet në dy transportues: një lidhje kontrolli në TCP 1723 dhe kuadro PPP të mbështjella në GRE të zgjeruar, që është protokolli IP 47. GRE nuk ka numër porte, prandaj një rregull i shkruar si përcjellje e portës 1723 nuk mund ta mbulojë, sido që ndërfaqja e uebit ta quajë fushën. Një router shtëpiak zakonisht ofron një kuti të quajtur kalim PPTP në vend të një rregulli protokolli, dhe ajo kuti bën dy punë: lejon protokollin 47 të kalojë përmes firewall-it dhe i mëson NAT-it të ndjekë rrjedhën GRE. Në një router Linux këto punë janë module të veçanta dhe rregulla të veçanta, prandaj një kalim gjysmë i konfiguruar prodhon ende një kanal kontrolli që funksionon. Zbulo cila gjysmë është e pranishme përpara se të ndryshosh çdo gjë.
Firewall-i i vetë serverit duhet gjithashtu të lejojë protokollin 47 nga adresa e routerit. Një firewall hosti që pranon vetëm 1723/tcp riprodhon gabimin 619 nga brenda LAN-it, gjë që bën që një përcjellje e thyer dhe një rregull hosti i thyer të duken njësoj.
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'
Nëse modulet mungojnë, ngarkojini me sudo modprobe nf_conntrack_proto_gre nf_nat_proto_gre dhe bëje ngarkimin të përhershëm, sepse një rindezje që harron ndihmësin e kthen një tunel që funksionon përsëri në gabimin 619. Rregulli i përcjelljes duhet të pranojë protokollin 47 vetëm drejt adresës së serverit, jo të gjithë LAN-it. Përkufizimi në RFC 2637 ndan rrugën e kontrollit nga ajo e të dhënave, prandaj asnjë ekran i vetëm i përcjelljes së portës nuk e përshkruan PPTP-në plotësisht.
Kuti kalimi apo rregull protokolli i shprehur
Një kuti kalimi që hap vetëm firewall-in është më afër së drejtës sesa një ALG që rishkruan identifikuesit e thirrjes. Gjysma e firewall-it është e parashikueshme, sepse protokolli 47 ose pranohet ose hidhet, dhe numëruesit tregojnë cilën. Gjysma e rishkrimit është vendi ku prodhuesit ndryshojnë, sepse identifikuesit e thirrjes së PPTP-së janë për çdo tunel dhe një NAT që i redakton duhet të ndjekë çdo thirrje që prek. Kur një klient lidhet dhe dy nuk lidhen, ALG-ja është i dyshuari i parë.
Një rregull NAT destinacioni për 1723 ka gjithashtu një problem pronësie. Nëse një rregull i vjetër vazhdon t'i dërgojë 1723 një hosti që ndaloi së ekzekutuari serverin, paketat bien në një portë të mbyllur dhe vetë shërbimi PPTP i routerit ndalon së përgjigjuri, gjë që lexohet si dështim firewall-i, por në të vërtetë është një objektiv i vjetruar. Lexo rregullin dhe destinacionin e tij përpara se të shtosh një të dytë. Në routerët që e përfundojnë vetë PPTP-në, rregulli WAN konkurron me shërbimin e integruar, prandaj zgjidh një pronar të vetëm për 1723 dhe protokollin 47.
Dy klientë pas të njëjtit NAT janë rasti që ndan një përcjellje të thjeshtë nga një e zgjuar. Përcjellja e protokollit 47 pa rishkruar identifikuesit e thirrjes sillet zakonisht më mirë sesa një ndihmës që përpiqet t'i rregullojë.
Mat tunelin përpara se të fajësosh routerin
PPTP zvogëlon ngarkesën e dobishme, dhe ky zvogëlim është aritmetikë, jo mister. Çdo paketë e tunelit mban një krye IP të jashtme, një krye GRE të zgjeruar, një krye PPP dhe, me kriptim, një krye MPPE. Kur rruga nuk mund të mbajë kuadrin që rezulton, paketat e vogla kalojnë, hyrja përfundon dhe sesioni ndalon herën e parë që një transferim skedari ose një shtrëngim duarsh TLS dërgon një paketë me madhësi të plotë.
Llogarit numrin në vend që ta hamendësosh. GRE i zgjeruar kushton 8 bajt, PPP kushton 4, MPPE kushton 4 dhe kryeja IP e jashtme kushton 20, prandaj tuneli ha 36 bajt përpara çdo ngarkese. Në një WAN PPPoE që përfundon në 1492, PPP MTU më i madh që futet është 1492 minus 36, pra 1456. Vendos mtu dhe mru në atë vlerë në opsionet PPP dhe provo përsëri me një ping pa fragmentim.
ping -M do -s 1464 198.51.100.7
grep -E '^(mtu|mru)' /etc/ppp/options.pptpd
Ping-u mat rrugën, jo tunelin: 1464 bajt ngarkesë plus 28 bajt krye IP dhe ICMP mbushin saktësisht një kuadër prej 1492 bajtësh. Nëse ai ping dështon, ul numrin derisa të kalojë dhe zbrit 36 nga rezultati. Një MTU tuneli i vendosur mbi kufirin e rrugës prodhon ngrirjen pa asnjë rresht regjistri që përmend madhësinë.
PPTP, L2TP/IPsec ose OpenVPN në të njëjtin router
I njëjti router mund të mbajë cilindo nga tre tunelet e zakonshme, dhe ndryshimi është çfarë duhet të shprehë. PPTP kërkon dy rregulla në dy shtresa të ndryshme. L2TP mbi IPsec kërkon UDP 500 dhe 4500 për shkëmbimin e çelësave dhe, nëse NAT-T nuk e mban, protokollin 50 për ngarkesën. OpenVPN kërkon një portë UDP dhe aspak ndihmës.
| Tunnel | What the router must allow | Practical note |
|---|---|---|
| PPTP | TCP 1723 and IP protocol 47 | Two transports, two rules |
| L2TP/IPsec | UDP 500, UDP 4500, protocol 50 without NAT-T | ESP has no port either |
| OpenVPN | UDP 1194 or a chosen TCP port | Single rule, no helper |
Kolona e L2TP nuk është automatikisht më miqësore se GRE. ESP është protokolli IP 50 dhe as ai nuk ka portë, prandaj një router që ka vështirësi me protokollin 47 mund të ketë vështirësi me protokollin 50 për të njëjtën arsye. NAT-T ekziston për të mbështjellë ESP brenda UDP 4500, dhe kur të dy skajet e mbështesin, rregulli i protokollit 50 bëhet i panevojshëm. Kjo është veti e skajeve, jo e kutisë PPTP të routerit. Konfirmo çfarë inkapsulimi ka negociuar vërtet klienti përpara se të shkruash rregulla për të dyja.
OpenVPN është opsioni me më pak pjesë lëvizëse në anën e routerit. Një portë UDP, një përcjellje, asnjë ndihmës gjurmimi lidhjesh dhe asnjë rishkrim i identifikuesve të thirrjes. Shkëmbimi është një klient që duhet instaluar në vend të një telefonuesi të integruar, dhe shpesh kjo është e vetmja arsye pse PPTP mbetet në bisedë.
Çfarë të rregullohet dhe çfarë të zëvendësohet
Rregullimi i përcjelljes dhe MTU-së të jep një tunel që funksionon, jo një që duhet ta mbash. Autentifikimi MSCHAPv2 i PPTP-së është i sulmueshëm prej vitesh, dhe një tunel që funksionon lëviz kredenciale që mund të rikuperohen jashtë linje. Nëse pajisja në distancë mund të ekzekutojë L2TP/IPsec ose OpenVPN, trajto rregullimin si masë të përkohshme me datë.
Vendimi varet nga çfarë mbështet skaji i largët dhe sa kohë duhet të zgjasë rregullimi. Një pajisje e vjetër që flet vetëm PPTP merr rregullimin; çdo gjë ku mund të instalohet një klient migrohet.
Përpara se të mbyllësh tiketën, konfirmo që klienti përballon një transferim të madh dhe jo vetëm një hyrje, dhe që routeri pas një rindezjeje vazhdon të mbajë rregullin e protokollit 47. Një tunel që kalon një kopje skedari dhe vdes pas përditësimit të ardhshëm të firmuerit nuk u përfundua kurrë.