PPTPren tunel zatitua ez dabil: konpondu GRE bidea lehenik
PPTPren tunel zatituak bi arrazoi ezberdinengatik huts egiten du: GRE blokeatuta dago edo barne-bidea falta da. Lehenengo garraioa probatu, gero politika.
Ikusi PPTP konexio bat nola altxatzen den eta erraza da uste izatea zati zaila amaituta dagoela: bezeroa autentifikatu egiten da, ppp0 egokitzaile bat edo WAN Miniport agertzen da, eta egoera-leihoa berde bihurtzen da. Gero barneko ostalari baterako lehen eskaerak denbora-muga gainditzen du, eta profila da erruduna. Praktikan bi geruza independente gainditu behar dira: TCP 1723 eta GRE daramatzan kanpoko garraioa, eta PPP interfazea zein helburuk erabiltzen duten erabakitzen duen barne-politika. Egoera berdeak lehen geruzak negoziatu duela baino ez du frogatzen; bigarrenaz ez du ezer esaten.
Jarraitu bezeroari profilatik kontrol-socket-era
Ireki bezeroaren erregistroa eta aurkitu zerbitzariarekin harremanetan jartzen den puntua. PPTPk lehenik TCP konexio bat irekitzen du 1723 portura eta tunel-parametroak negoziatzen ditu kanal horren bidez. Urrats honek huts egiten badu, geroagoko ezerk ez du axola, eta erroreak zerbitzariaren helbidea edo denbora-muga aipatu ohi du.
Egiaztatu kontrol-konexioa sarean edozein bide ukitu aurretik. Bezeroan edo ispilu-portu batean, harrapatu TCP 1723 konexio-saiakera baterako:
sudo tcpdump -ni any 'tcp port 1723' -c 20
Amaitutako esku-ukaldi batek eta ezarritako saio batek kanpoko kontrol-kanala dabilela esan nahi dute. Inoiz SYN-ACKrik jasotzen ez duen SYN batek suebaki bat, zerbitzari-helbide oker bat edo portua iragazten duen hornitzaile bat adierazten du. Esku-ukaldiaren ondoren berehalako berrezartze batek sarritan esan nahi du zerbitzariak kredentzialak edo tunel mota baztertu dituela.
GRE bigarren protokoloa da, ez portua
PPTPk PPP karga GRE hobetuaren barruan eramaten du, IP 47 protokoloa, eta horrek ez du router batek jarraitu dezakeen portu-zenbakirik. Horregatik TCP 1723 onartzen duen arau batek tunela datu-biderik gabe utz dezake oraindik. Egoera duen NAT gailuek GRE barruko dei-IDa ulertu behar dute erantzunak mapatzeko, eta askok ez dute egiten. PPTPren zehaztapenak kontrol-kanala eta GRE karga pieza bereizi gisa mantentzen ditu, eta zure proba-planak ere bai.
Begiratu 47 protokoloa harrapaketa berean, gero alderatu zer ateratzen den eta zer itzultzen den:
sudo tcpdump -ni any 'proto gre' -c 20
Erantzunik gabe ateratzen diren paketeak, TCP 1723 osasuntsu dagoen bitartean, blokeatutako GREren klasiko klasikoa dira. Kontsumo-router batean PPTP pasabidea firmware zehatz horren ezaugarria da, beraz funtzionatzen duen hotel-sare batek ez du hurrengoaz ezer frogatzen. Routerrak pasabiderik eskaintzen ez badu eta ezin baduzu aldatu, arazoa protokoloaren hautaketa da, ez bide-tabla.
Frogatu tunelek pakete bat mugitzen duela
GRE isurtzen denean, PPP negoziazioak helbide bat esleitzen dio bezeroaren interfazeari. Irakurri esleipena, suposatu beharrean:
ip -4 addr show ppp0
Ping egin puntutik punturako estekaren helmuga gisa agertzen den parearen helbidera. Etapa honetako erantzun batek frogatzen du kapsulatutako bidea muturretik muturrera dabilela eta zerbitzariak tunelean barruan erantzuten duela. Pareak erantzuten badu baina barneko ostalariek ez, kanpoko garraioa ondo dago eta hutsegitea barrurantz mugitu da.
Egin hori bide zatiturik gehitu aurretik. Garraioa hautsita dagoela egindako bide-aldaketa batek bigarren aldagai bat sortzen du eta lehenengoa ezkutatzen du.
Idatzi bide-politika zatitua, DNS barne
Bide-encaminamendu zatitua erabakien zerrenda da, ez kontrol-laukia. Tuneletik pasatu behar duen prefijo pribatu bakoitzak PPP interfazearen bidezko bidea behar du, eta bertan geratu behar duen prefijo bakoitzak han falta behar du. Aplikazio-azpisare baterako bidea bere resolver pribaturako dagokion biderik gabe ohiko modua da aplikazio hautsi baten itxura duen etendura sortzeko.
Egiaztatu kernelak kategoria bakoitzeko helbide batekin hartzen duen erabakia:
ip route get 10.20.5.10
ip route get 203.0.113.25
Lehenak ppp0 izendatu behar du, bigarrenak ohiko gatewaya. Biek interfaze bera izendatzen badute, politika ez dago batere zatituta. Gehitu DNS zerbitzariaren beraren helbidea tunel-zerrendara, bestela barneko ostalarientzako izen-ebazpena tokiko resolverretik ateratzen da eta ez du ezer erabilgarririk itzultzen.
Bost urratsetan errepika daitekeen egiaztapena
Exekutatu geruzak ordenan eta gelditu huts egiten duen lehenengoan: kontrol-kanala, GRE ikusgaitasuna, PPP parearen erantzuna, barne-helbide baterako bide zatitua eta tuneleko aplikazio-eskaera bat. Urrats bakoitzak bere komandoa du, beraz hutsegitea egotzi egin daiteke, eta ez da misteriotsua.
Linux bezero baterako bertsio trinkoa horrela da:
sudo tcpdump -ni any 'tcp port 1723 or proto gre' -c 40
ip -4 addr show ppp0
ping -c 3 192.0.2.1
ip route get 10.20.5.10
Windowsen ordena bera aplikatzen da route print eta bezeroan erakutsitako egokitzailearen egoerarekin. PPTP protokolo zaharkitua da, eta zerbitzariak SSTP edo IKEv2 eskaintzen badu, mugitzea denbora hobeto erabiltzea izan ohi da 47 protokoloa jauzi bakoitzean pasatzearen mendeko bide bat doitzeak baino. Egiaztatu ordezkoaren ziurtagiria eta autentifikazio-kontratua, profil zahar bat bertsio berri batera kopiatu beharrean.