Viesnīcu tīkli un konferenču ugunsmūri bieži rāda pielāgotu atļaujas lauku, un kāds tajā ieraksta 47, cerot, ka PPTP darbosies. Noteikums tiek izveidots, tunelis joprojām neizdodas, un nākamais mēģinājums izmanto citu numuru. Kļūda ir pašā paketē: IPv4 ir protokola lauks, kas nosauc, kas seko pēc IP galvenes, bet TCP un UDP ir porta lauki, kas pastāv tikai tad, kad atrodies vienā no šīm galvenēm. Tie nav divi viena un tā paša atļaujas pieraksti.

IPv4 galvene nosauc nākamo protokolu

Protokola lauks ir viens baits IPv4 galvenē, un tajā ir skaitlis, kas apraksta lietderīgo slodzi: 6 TCP, 17 UDP, 47 GRE, 50 ESP. Viss, kas filtrē paketes, nolasa šo vērtību pirms skatās dziļāk, jo dziļākā galvene iegūst jēgu tikai pēc tipa noskaidrošanas. Vēlāk sarunā nomaini portu, un šis lauks nav pakustējies.

Tāpēc noteikums, kas rakstīts pret protokolu 47, apraksta IP slāni. Neviens ports vispār nepiedalās lēmumā.

Porti pastāv TCP un UDP iekšienē, nekur citur

Porti ir sešpadsmit bitu identifikatori TCP un UDP galveņu iekšienē, un to uzdevums ir atdalīt sarunas, kas dala vienu adresi. GRE galvene nes protokola tipa vērtību, bieži vien EtherType, un papildu atslēgas multipleksēšanai. Tāpēc frāze ports 47 nenosauc neko, ar ko GRE pakete varētu saskanēt.

Ugunsmūru saskarnes atšķiras ar to, cik daudz no tā tās rāda. Dažas pieņem protokola numuru, dažas piedāvā nosauktu sarakstu, un nedaudzas pieņem tikai TCP vai UDP ar portiem.

PPTP izmanto abus slāņus vienlaikus

PPTP ir skaidrākais piemērs, jo tas apzināti sadala savu darbu starp abiem slāņiem. Vadības savienojums ir TCP sesija uz portu 1723, un datu ceļš ir GRE, protokols 47, nekur nepiedaloties portam. Ugunsmūris, kas atļauj 1723 un neko citu, ļauj sarunām sākties un pēc tam izmet lietderīgo slodzi. Tunelis izskatās kā iekāries pēc autentifikācijas, nevis nespējis savienoties, un tāpēc simptoms bieži tiek ziņots kā paroles problēma.

PathOuter protocolPort
Control channelTCP, protocol 61723
Data channelGRE, protocol 47None

Rakstot noteikumu, lasi abas rindas atsevišķi un pārbaudi katru pret ražotāja sintaksi. Vienai rindai vajag portu, otrai vajag protokola numuru, un neviens vienīgs ieraksts neaptver abus.

Kāpēc portu pāradresācijas lapa nevar izteikt GRE

Pāradresācijas forma, kas pieņem tikai TCP un UDP, nevar aprakstīt GRE, lai kā arī šo formu sauktu. Adrešu tulkošana pievieno otru grūtību, jo GRE nav portu un tulkotājam tā vietā jāseko zvana identifikatoram. Dažiem mājas maršrutētājiem ir palīgs, kas to risina; daudziem nav, un neviens papildu TCP atļaujas ieraksts neradīs šādu uzvedību.

Kur īstā prasība ir mūsdienīgs tunelis, izvēlies risinājumu, kas apzināti izmanto TCP vai UDP, nevis ceri, ka tulkotājs uzminēs pareizi.

Iekapsulēšana nosaka, ko redz filtrs

Iekapsulēšana maina ārējo paketi, un tieši ārējā pakete ir tas, ar ko saskan noteikums. Dabiskais ESP ir protokols 50, bet NAT šķērsošana ietin ESP UDP 4500 iekšienē, lai tas izturētu adrešu tulkošanu. Filtrs, kas atļauj UDP 4500, nekad neredz protokolu 50, un protokolam 50 rakstīts filtrs nekad nesaskan ar ietīto formu.

Pajautā, par kādu iekapsulēšanu klients un vārteja vienojās, un tad raksti noteikumu tieši šai ārējai formai un nekam citam.

Raksti noteikumu tā, lai kāds to varētu pārbaudīt

Izsaki katru noteikumu kā adrešu saimi, ārējo protokolu, transporta portus, ja tādi ir, virzienu un abus galapunktus. Recenzents var salīdzināt šo teikumu ar pakešu ierakstu un nonākt pie sprieduma. Norādījumu atvērt 47 neviens nevar pārbaudīt, un tāpēc tas gadu desmitiem saglabājas procedūru grāmatās.

Pievieno testu, kas to pierāda: pieslēdzies, kamēr ārējā saskarnē veic ierakstu, un apstiprini ārējo protokolu un portu, kas tiešām parādās pēdās.

Saistītie raksti