Ylläpitosivu vastaa matkapuhelimesta mobiilidatalla ja aikakatkeaa kannettavasta, joka on liittynyt VPN:ään. Tunnelissa ei ole mitään rikki, koska pyyntö ei koskaan päädy siihen. Isäntänimi ratkeaa yhdyskäytävän julkiseksi osoitteeksi, ja tuo osoite on tavoitettavissa vain sen tunnelin ulkopuolelta, jonka se päättää. Korjaaminen tarkoittaa sisäisen sisääntulon antamista palvelulle sen sijaan, että ulompaa päätepistettä siirreltäisiin.

Sivu latautuu ulkoa eikä tunnelin kautta

Verrataan kahta erilaista pyyntöä. Mobiilidatasta selain saavuttaa julkisen osoitteen suoraan. Tunnelin sisältä sama nimi ratkeaa samaksi julkiseksi osoitteeksi, ja paketin on nyt poistuttava tunnelin kautta saavuttaakseen osoitteen tunnelin omalla kaukaisella puolella. Sama nimi, sama osoite, kaksi hyvin erilaista asemaa.

Kohdereitti valitsee osoitteen, ei porttia. Mikään reititystaulussa ei tiedä, että portti 443 on hallintaa varten ja portti 1194 on siirto, joten molempia kohdellaan samana kohteena.

Siksi sivu joskus toimii ja joskus ei, riippuen siitä, mitä nimeä ja mitä verkkoa asiakas käytti. Kyse on polkuongelmasta eikä todennusongelmasta. Molemmat asiakkaat todentavat aivan hyvin.

Pidä ulompi päätepiste tavoitettavana

Koko tunnelin profiilit tarvitsevat poikkeusreitin VPN:n päätepisteelle, ja OpenVPN:n redirect-gateway-valinta dokumentoi juuri sen: etäinen päätepiste säilyttää reitin aiemmin olemassa olevan yhdyskäytävän kautta, jotta tunneli ei reititä itseensä. Poista tuo poikkeus, ja salattu siirto seuraa tunnelia, mikä päättää istunnon silmukkaan. Juuri tuo poikkeus on syy siihen, miksi päätepisteen osoite pysyy tavoitettavana tunnelin sisältä.

Seuraus on, että julkinen osoite pysyy asiakkaasta tavoitettavana, minkä vuoksi selaimen pyyntö tuohon osoitteeseen voi seurata samaa poikkeusta ja poistua menemättä tunneliin. Poikkeus tekee työnsä, ja nimi tekee vahingon.

Lue reittipäätös äläkä liitäntäluetteloa ennen kuin muutat mitään. Alla olevat komennot tulostavat päätöksen eivätkä luetteloa. Suorita ne asiakkaasta, joka epäonnistui.

ip -4 route get 203.0.113.77
ip -4 rule show
ip -4 route show table all

Jos haku näyttää päätepisteen reitin fyysisen yhdyskäytävän kautta, toiminta on oikein ja ylläpitosivu lähetetään yksinkertaisesti väärää polkua. Siinä kohdassa nimien ratkaisusta tulee korjaus.

Anna palvelulle yksityinen nimi

Palvelu tarvitsee nimen, joka ratkeaa tunnelin sisällä yhdyskäytävän osoitteeksi, säilyttäen samalla sertifikaatin ja isäntänimen merkityksen, jota sovellus odottaa. Yksityinen vyöhyketietue ylläpitonimelle on tavallinen vastaus, ja se jättää siirron nimen koskemattomaksi.

Älä ohjaa siirron nimeä sisäiseen osoitteeseen, koska seuraava tunnelin muodostus yrittäisi silloin saavuttaa osoitteen, joka on olemassa vain tunnelin sisällä. Tuo virhe tuottaa VPN:n, joka toimii täsmälleen kerran.

Tarkista myös molemmat osoiteperheet, koska jäljelle jäänyt AAAA-tietue voi lähettää selaimen sinne, minne yksityinen suunnitelma ei koskaan ulottunut.

dig +short admin.hq.internal
dig +short -t AAAA admin.hq.internal
curl -sS -o /dev/null -w '%{http_code} %{remote_ip}\n' https://admin.hq.internal/

Sovita käytäntö siihen, missä prosessi toimii

Yhdyskäytävässä kuuntelevaan natiiviprosessiin päästään paikallisen syötteen polkua, joten syöttöketju ja pistokkeen sidonta ratkaisevat, hyväksytäänkö pyyntö. Edelleenohjaussäännöt ja IP-edelleenohjaus eivät saa paikallista kuuntelijaa vastaamaan. Salli tunnelin lähteet syöttökäytännössä ja varmista, että prosessi on sidottu osoitteeseen, johon tunneli yltää.

Isäntäporttiin julkaistu kontti seuraa eri polkua, koska paketti kohdeosoitteenmuunnetaan ja edelleenohjataan. Tämä pyyntö kohtaa isännän edelleenohjauskäytännön ja Dockerin omat säännöt, minkä vuoksi toimiva natiivi kuuntelija voi olla olemassa saman portin hylkivän kontin rinnalla.

Käynnistysjärjestys on tärkeä molemmissa tapauksissa, koska sidonta osoitteeseen, joka ilmestyy vasta tunnelin noustua, epäonnistuu äänettömästi käynnistyksessä.

Tarkista yksityinen pääsy ja estetty julkinen polku

Tee tuore nimetty pyyntö valtuutetusta asiakkaasta sovelluksen omien henkilöllisyystarkistusten pysyessä ehjinä. Kokeile sitten samaa palvelua tunnelin ulkopuolelta ja varmista, ettei se vastaa. Yksityinen nimi on mukavuus eikä rajoitus, ja julkiseen osoitteeseen yhä sidottu kuuntelija on yhä altistunut. Juuri tuon viimeisen tarkistuksen useimmat katsaukset ohittavat.

Lue sidonnat ja suodattimen tila äläkä isäntänimeä, joka käyttäjille annettiin. Altistuminen on pistokkeen ominaisuus eikä nimen. Tuo ero säilyy jokaisen DNS-muutoksen yli.

ss -lntp | grep ':443'
nft list ruleset | grep -n 443
curl -sS -m 5 -o /dev/null -w '%{http_code}\n' https://203.0.113.77/

Kun sisäinen pyyntö palauttaa sivun ja ulompi pyyntö aikakatkeaa, palvelulla on yksi tarkoituksellinen yksityinen polku ja siirto pysyy tavoitettavana. Kun ulompi pyyntö yhä vastaa, kuuntelijaa tai julkaistua konttimerkintää on kavennettava ennen kuin kukaan kuvaa palvelun vain sisäiseksi.

Aiheeseen liittyvät artikkelit