Protokolla 47 vastaan TCP-portti 47: kaksi otsikkoa, kaksi sääntöä
Protokollanumero ja portti elävät eri otsikoissa, joten yksi sääntö ei voi korvata toista. PPTP erottaa nämä kaksi, eikä porttikenttä voi ilmaista GRE:tä.
Hotelliverkot ja konferenssien palomuurit näyttävät usein mukautetun sallintakentän, ja joku kirjoittaa siihen 47 odottaen PPTP:n toimivan. Sääntö luodaan, tunneli epäonnistuu edelleen, ja seuraava yritys käyttää eri numeroa. Virhe on itse paketissa: IPv4:ssä on protokollakenttä, joka nimeää, mitä IP-otsikon jälkeen tulee, kun taas TCP:ssä ja UDP:ssä on porttikentät, jotka ovat olemassa vasta kun olet yhden sellaisen otsikon sisällä. Ne eivät ole saman luvan kaksi kirjoitustapaa.
IPv4-otsikko nimeää seuraavan protokollan
Protokollakenttä on yksi tavu IPv4-otsikossa, ja se sisältää numeron, joka kuvaa hyötykuorman: 6 TCP:lle, 17 UDP:lle, 47 GRE:lle, 50 ESP:lle. Kaikki paketteja suodattava lukee tämän arvon ennen kuin katsoo syvemmälle, koska syvempi otsikko on järkevä vasta kun tyyppi tunnetaan. Vaihda porttia myöhemmin keskustelussa, eikä tämä kenttä ole liikkunut.
Protokollaa 47 vasten kirjoitettu sääntö kuvaa siis IP-kerrosta. Mikään portti ei osallistu päätökseen lainkaan.
Portit ovat TCP:n ja UDP:n sisällä, ei missään muualla
Portit ovat kuusitoistabittisiä tunnisteita TCP- ja UDP-otsikoiden sisällä, ja niiden tehtävä on erottaa keskusteluja, jotka jakavat yhden osoitteen. GRE-otsikko kantaa protokollatyyppiarvoa, usein EtherTypeä, sekä valinnaisia avaimia multipleksointiin. Siksi ilmaus portti 47 ei nimeä mitään, mihin GRE-paketti voisi osua.
Palomuurien käyttöliittymät eroavat siinä, kuinka paljon tästä ne näyttävät. Jotkut hyväksyvät protokollanumeron, jotkut tarjoavat nimetyn luettelon, ja harvat hyväksyvät vain TCP:n tai UDP:n portteineen.
PPTP käyttää molempia kerroksia yhtä aikaa
PPTP on selvin esimerkki, koska se jakaa työnsä tarkoituksella kahdelle kerrokselle. Ohjausyhteys on TCP-istunto porttiin 1723, ja datapolku on GRE, protokolla 47, ilman mitään porttia missään. Palomuuri, joka sallii 1723 eikä mitään muuta, päästää neuvottelun alkamaan ja hylkää sitten hyötykuorman. Tunneli näyttää jäävän jumiin todennuksen jälkeen sen sijaan, että yhteys epäonnistuisi, ja siksi oire raportoidaan usein salasanaongelmana.
| Path | Outer protocol | Port |
|---|---|---|
| Control channel | TCP, protocol 6 | 1723 |
| Data channel | GRE, protocol 47 | None |
Lue kaksi riviä erikseen, kun kirjoitat sääntöä, ja tarkista kumpikin valmistajan syntaksia vasten. Toinen rivi tarvitsee portin, toinen tarvitsee protokollanumeron, eikä mikään yksittäinen merkintä kata molempia.
Miksi portin edelleenlähetyssivu ei voi ilmaista GRE:tä
Edelleenlähetyslomake, joka hyväksyy vain TCP:n ja UDP:n, ei voi kuvata GRE:tä, millä nimellä lomaketta kutsutaankaan. Osoitteenmuunnos lisää toisen vaikeuden, koska GRE:llä ei ole portteja ja kääntäjän on seurattava sen sijaan kutsun tunnistetta. Jotkut kotireitittimet toimittavat apurin, joka hoitaa sen; monet eivät, eikä mikään ylimääräinen TCP-sallintamerkintä luo sitä käyttäytymistä.
Kun todellinen vaatimus on nykyaikainen tunneli, valitse suunnittelu, joka käyttää TCP:tä tai UDP:tä tarkoituksella sen sijaan, että toivoisit kääntäjän arvaavan oikein.
Kapselointi päättää, mitä suodatin näkee
Kapselointi muuttaa ulompaa pakettia, ja ulompi paketti on se, johon sääntö osuu. Natiivi ESP on protokolla 50, kun taas NAT-läpäisy käärii ESP:n UDP 4500:n sisään, jotta se kestäisi osoitteenmuunnoksen. Suodatin, joka sallii UDP 4500:n, ei koskaan näe protokollaa 50, ja protokollalle 50 kirjoitettu suodatin ei koskaan osu käärittyyn muotoon.
Kysy, mihin kapselointiin asiakas ja yhdyskäytävä sopivat, ja kirjoita sitten sääntö juuri sille ulommalle muodolle eikä millekään muulle.
Kirjoita sääntö niin, että joku voi tarkistaa sen
Ilmaise jokainen sääntö osoiteperheenä, ulompana protokollana, siirtoportteina jos niitä on, suuntana ja molempina päätepisteinä. Katselmoija voi verrata tuota lausetta pakettikaappaukseen ja päätyä tuomioon. Ohjetta avata 47 ei voi tarkistaa kukaan, ja siksi se säilyy vuosia ohjekirjoissa.
Lisää testi, joka sen todistaa: yhdistä samalla kun kaappaat ulommalla liitännällä, ja vahvista ulompi protokolla ja portti, jotka todella näkyvät jäljessä.