Raportit, joiden mukaan VPN on estetty portissa 53, sekoittavat kolme havaintoa, jotka epäonnistuvat eri syistä. Päätepisteen nimen selvitys tapahtuu ennen kuin mitään tunnelia on olemassa, salattu siirto on erillinen keskustelu ja sen jälkeen tehdyt DNS-kyselyt ovat kolmas. Jokaisella on oma vikasignatuurinsa, ja vain yksi niistä koskee ylipäätään DNS:ää.

Lajittele paketit tarkoituksen mukaan ennen kuin muutat mitään, koska korjaus seuraa vaihetta.

Kolme keskustelua, yksi porttinumero

Ensimmäinen keskustelu on päätepisteen nimenhaku: koneesi kysyy määritetyltä resolveriltaan, missä vpn.example.com sijaitsee, ja vastaus saapuu tavallisen DNS:n kautta ennen kuin asiakas lähettää yhtäkään tunnelipakettia. Toinen on itse OpenVPN:n siirto, joka yhdistää haun tuottamaan osoitteeseen sillä protokollalla ja portilla, jonka profiili nimeää. Kolmas tapahtuu, kun tunneli on pystyssä: sovellukset kysyvät nimiä ja työnnetyt resolveriasetukset päättävät, kuka vastaa.

Nämä kolme voivat onnistua tai epäonnistua toisistaan riippumatta. Asiakas voi selvittää päätepisteensä täydellisesti ja silti jäädä saavuttamatta kuuntelijaa, ja se voi pystyttää tunnelin, vaikka jokainen sisäinen nimenhaku epäonnistuu, koska DNS-asetukset eivät koskaan saapuneet.

ConversationWhen it happensWhat has to be true
Endpoint lookupBefore the client contacts a hostnameAn underlying resolver path can answer for the endpoint name
OpenVPN transportDuring tunnel establishmentThe gateway listens on its configured transport, address and port, and nothing filters it
Application DNSDuring or after the protected sessionA resolver the client can reach, plus routing that carries its queries

Lue taulukko tarkistuslistana, älä kuvauksena. Jos päätepisteen nimi ei selviä, mikään myöhempi ei voi toimia, eikä tunneli koskaan käynnisty.

Porttinumero ei nimeä sovellusta

Portti 53 kuljettaa DNS:ää sopimuksen mukaan, ja OpenVPN-operaattori voi myös julkaista kuuntelijan siellä, ja juuri siksi numero on huono tunniste. OpenVPN-istunto UDP 53:ssa on edelleen OpenVPN-istunto, eikä portissa 53 olevalle palvelimelle tehty DNS-kysely kerro mitään siitä, sallitaanko tunneli. Profiilin rivit proto ja remote määrittävät ulomman päätepisteen; porttinumero ei määritä mitään itsessään.

Tämä leikkaa molempiin suuntiin diagnosoinnissa: yleinen UDP-koetin porttiin 53 todistaa, että portti vastaa, ei että VPN-palvelu vastaa. Testaa oikealla asiakkaalla ja oikealla profiililla, koska vain se harjoittaa kättelyä, jota palvelu odottaa.

Todista kuuntelija ennen kuin syytät verkkoa

Vahvista palvelimella ss -lunp | grep 53:llä, mikä on sidottu, ja vertaa sitä profiilin protokollaan ja porttiin. Käynnistä asiakas asiakkaan verkosta suuremmalla yksityiskohtaisuudella, jotta loki näyttää, mitä osoitetta ja siirtoa se yritti. Jos palvelin kuuntelee eivätkä asiakkaan paketit saavu, reitti tai käytäntö hylkii niitä, ja se on keskustelu verkon omistajan kanssa eikä syy vaihtaa portteja.

Toinen portti auttaa vain, kun palvelu todella kuuntelee siellä ja käyttöönotto sallii sen. Kuuntelijan siirtäminen hallitun verkon suodatuksen välttämiseksi on käytäntöpäätös, ei vianetsintävaihe. Kysy verkon omistajalta, mikä on sallittua, ennen kuin muutat palvelua, koska käytäntöä rikkova kiertotie suljetaan myöhemmin kuitenkin. Kirjaa vastaus profiilin viereen, jotta seuraava henkilö ei toista pyyntöä.

Tarkista DNS tunnelin jälkeen, erikseen

Kun tunneli on pystyssä, tarkastele resolverin tilaa VPN-rajapinnassa ja kysy yhtä sisäistä ja yhtä julkista nimeä. Jos sisäiset nimet epäonnistuvat tunnelin kuljettaessa liikennettä, työnnettyjä DNS-asetuksia ei otettu käyttöön, mikä on asiakkaan integroinnin eikä siirron kysymys. Jos julkiset nimet epäonnistuvat ja sisäiset toimivat, jaetun tunnelin käytäntö tekee sen, mihin se määritettiin.

Jätä DNS-muutokset resolverin omistajalle. Hallitun resolverin kokoonpanon ylikirjoittaminen yhden testin läpäisemiseksi voi rikkoa yksityiset nimet kaikelta muulta koneessa. Jos tunneli työntää resolveria ja asiakas jättää sen huomiotta, korjaa asiakkaan integrointi sen sijaan, että lisäät staattisen merkinnän jonnekin muualle. Staattiset merkinnät piilottavat vian, kunnes joku vaihtaa verkkoa. Kirjoita muistiin, minkä resolverin odotetaan vastaavan kustakin nimiavaruudesta.

Aiheeseen liittyvät artikkelit