Administrēšanas lapa atbild no tālruņa mobilajos datos un beidzas ar taimautu no klēpjdatora, kas pievienots VPN. Tunelī nekas nav salūzis, jo pieprasījums tajā nekad neiekļūst. Resursdatora nosaukums tiek atrisināts uz vārtejas publisko adresi, un šī adrese ir sasniedzama tikai no ārpuses tuneļa, kuru tā pabeidz. To salabot nozīmē dot pakalpojumam privātu ieeju, nevis pārvietot ārējo galapunktu.

Lapa ielādējas no ārpuses, nevis caur tuneli

Tiek salīdzināti divi dažādi pieprasījumi. Mobilajos datos pārlūks tieši sasniedz publisko adresi. No tuneļa iekšpuses tas pats nosaukums tiek atrisināts uz to pašu publisko adresi, un paketei tagad jāiziet caur tuneli, lai sasniegtu adresi pašā tuneļa tālajā pusē. Tas pats nosaukums, tā pati adrese, divas ļoti atšķirīgas pozīcijas.

Galamērķa maršruts izvēlas adresi, nevis portu. Maršrutēšanas tabulā nekas nezina, ka ports 443 ir administrēšanai un ports 1194 ir transports, tāpēc abi tiek uzskatīti par vienu un to pašu galamērķi.

Tāpēc lapa dažreiz darbojas un dažreiz ne, atkarībā no tā, kādu nosaukumu un kādu tīklu klients izmantoja. Tā ir ceļa problēma, nevis autentifikācijas problēma. Abi klienti autentificējas lieliski.

Saglabājiet ārējo galapunktu sasniedzamu

Pilna tuneļa profiliem ir vajadzīgs izņēmuma maršruts VPN galapunktam, un OpenVPN opcija redirect-gateway dokumentē tieši to: attālais galapunkts saglabā maršrutu caur jau esošo vārteju, lai tunelis nevirzītos pats uz sevi. Noņemiet šo izņēmumu, un šifrētais transports sekos tunelim, kas sesiju pabeidz cilpā. Tieši šī izņēmuma dēļ galapunkta adrese paliek sasniedzama no tuneļa iekšpuses.

Sekas ir tādas, ka publiskā adrese paliek sasniedzama no klienta, tāpēc arī pārlūka pieprasījums uz šo adresi var sekot tam pašam izņēmumam un iziet, neieejot tunelī. Izņēmums dara savu darbu, un kaitējumu nodara nosaukums.

Pirms kaut ko mainīt, lasiet maršruta lēmumu, nevis saskarņu sarakstu. Tālāk norādītās komandas izdrukā lēmumu, nevis inventāru. Izpildiet tās no klienta, kas neizdevās.

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

Ja meklēšana parāda galapunkta maršrutu caur fizisko vārteju, uzvedība ir pareiza, un administrēšanas lapa vienkārši tiek sūtīta pa nepareizo ceļu. Tieši tur nosaukumu atrisināšana kļūst par labojumu.

Piešķiriet pakalpojumam privātu nosaukumu

Pakalpojumam ir vajadzīgs nosaukums, kas tuneļa iekšpusē tiek atrisināts uz vārtejas adresi, vienlaikus saglabājot sertifikāta un resursdatora nosaukuma semantiku, ko programma gaida. Privāts zonas ieraksts administrēšanas nosaukumam ir ierastā atbilde, un tas atstāj transporta nosaukumu neskartu.

Nepārvirziet transporta nosaukumu uz iekšējo adresi, jo nākamā tuneļa izveide tad mēģinātu sasniegt adresi, kas pastāv tikai tuneļa iekšpusē. Šī kļūda rada VPN, kas darbojas tieši vienu reizi.

Pārbaudiet arī abas adrešu saimes, jo atstāts AAAA ieraksts var nosūtīt pārlūku tur, kur privātais plāns nekad nesniedzās.

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/

Saskaņojiet politiku ar vietu, kur process darbojas

Vietējam procesam, kas klausās vārtejā, piekļūst pa vietējās ievades ceļu, tāpēc ievades ķēde un ligzdas piesaiste nosaka, vai pieprasījums tiek pieņemts. Pārsūtīšanas noteikumi un IP pārsūtīšana neliek vietējam klausītājam atbildēt. Atļaujiet tuneļa avotus ievades politikā un pārliecinieties, ka process ir piesaistīts adresei, ko tunelis var sasniegt.

Konteineris, kas publicēts resursdatora portā, iet citu ceļu, jo pakete tiek tulkota pēc galamērķa un pārsūtīta. Šis pieprasījums saskaras ar resursdatora pārsūtīšanas politiku un Docker paša noteikumiem, tāpēc strādājošs vietējais klausītājs var pastāvēt līdzās konteinerim, kas atsakās no tā paša porta.

Palaišanas secība ir svarīga abos gadījumos, jo piesaiste adresei, kas parādās tikai pēc tuneļa pacelšanas, ielādes laikā klusi neizdodas.

Pārbaudiet privātu piekļuvi un atteiktu publisko ceļu

Veiciet jaunu nosaukto pieprasījumu no autorizēta klienta, saglabājot pašas programmas identitātes pārbaudes neskartas. Pēc tam izmēģiniet to pašu pakalpojumu no ārpuses tuneļa un pārliecinieties, ka tas neatbild. Privāts nosaukums ir ērtība, nevis ierobežojums, un klausītājs, kas joprojām piesaistīts publiskajai adresei, joprojām ir atklāts. Tieši šo pēdējo pārbaudi lielākā daļa pārskatu izlaiž.

Lasiet piesaistes un filtra stāvokli, nevis resursdatora nosaukumu, ko lietotāji saņēma. Atklātība ir ligzdas īpašība, nevis nosaukuma. Šī atšķirība pārdzīvo katru DNS maiņu.

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/

Kad iekšējais pieprasījums atgriež lapu un ārējam pieprasījumam beidzas laiks, pakalpojumam ir viens apzināts privāts ceļš un transports paliek sasniedzams. Kad ārējais pieprasījums joprojām atbild, klausītājs vai publicēts konteinera ieraksts ir jāsašaurina, pirms kāds pakalpojumu raksturo kā tikai iekšēju.

Saistītie raksti