Boshqaruv sahifasi mobil internetdagi telefondan javob beradi va VPN ga ulangan noutbukdan vaqt tugaydi. Tunnelda hech narsa buzilmagan, chunki so‘rov hech qachon unga kirmaydi. Xost nomi shlyuzning umumiy manziliga hal qilinadi va bu manzil faqat u tugatadigan tunnelning tashqarisidan yetib boriladi. Buni tuzatish xizmatga ichki kirish berishni bildiradi, tashqi oxirgi nuqtani ko‘chirishni emas.

Sahifa tunnel orqali emas, tashqaridan yuklanadi

Ikki xil so‘rov solishtiriladi. Mobil internetdan brauzer umumiy manzilga to‘g‘ridan-to‘g‘ri yetib boradi. Tunnel ichidan o‘sha nom o‘sha umumiy manzilga hal qilinadi va paket endi tunnelning o‘zining uzoq tomonidagi manzilga yetish uchun tunneldan chiqishi kerak. O‘sha nom, o‘sha manzil, ikki butunlay boshqa holat.

Manzil marshruti portni emas, manzilni tanlaydi. Marshrutlash jadvalida port 443 boshqaruv uchun va port 1194 transport uchun ekanini hech narsa bilmaydi, shuning uchun ikkalasi ham bir xil manzil deb qaraladi.

Shuning uchun sahifa ba’zan ishlaydi, ba’zan ishlamaydi, mijozi qaysi nom va qaysi tarmoqdan foydalanganiga bog‘liq. Bu yo‘l muammosi, autentifikatsiya muammosi emas. Ikkala mijoz ham yaxshi autentifikatsiya qiladi.

Tashqi oxirgi nuqtani yetib boriladigan qilib saqlang

To‘liq tunnel profillari VPN oxirgi nuqtasi uchun istisno marshrutni talab qiladi va OpenVPN ning redirect-gateway parametri aynan shuni hujjatlashtiradi: uzoqdagi oxirgi nuqta avvaldan mavjud shlyuz orqali marshrutni saqlaydi, shunda tunnel o‘ziga marshrutlamaydi. O‘sha istisnoni olib tashlasangiz, shifrlangan transport tunnelga ergashadi, bu sessiyani halqada tugatadi. Oxirgi nuqta manzilining tunnel ichidan yetib boriladigan bo‘lib qolishining sababi aynan o‘sha istisno.

Natijada umumiy manzil mijozdan yetib boriladigan bo‘lib qoladi, shuning uchun o‘sha manzilga brauzer so‘rovi ham o‘sha istisnoga ergashib, tunnelga kirmasdan chiqishi mumkin. Istisno o‘z ishini qilmoqda, zararni esa nom keltirmoqda.

Biror narsani o‘zgartirishdan oldin interfeys ro‘yxatini emas, marshrut qarorini o‘qing. Quyidagi buyruqlar ro‘yxatni emas, qarorni chop etadi. Ularni muvaffaqiyatsiz bo‘lgan mijozdan ishga tushiring.

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

Agar qidiruv oxirgi nuqta marshrutini jismoniy shlyuz orqali ko‘rsatsa, xatti-harakat to‘g‘ri va boshqaruv sahifasi shunchaki noto‘g‘ri yo‘lga yuborilmoqda. Aynan shu yerda nom hal qilish tuzatishga aylanadi.

Xizmatga maxfiy nom bering

Xizmatga tunnel ichida shlyuz manziliga hal qilinadigan nom kerak, shu bilan birga ilova kutgan sertifikat va xost nomi ma’nosi saqlanadi. Boshqaruv nomi uchun maxfiy zona yozuvi odatiy javob, va u transport nomini tegilmagan holda qoldiradi.

Transport nomini ichki manzilga qayta yo‘naltirmang, chunki keyingi tunnel qurilishi faqat tunnel ichida mavjud bo‘lgan manzilga yetishga urinadi. Bu xato aynan bir marta ishlaydigan VPN hosil qiladi.

Ikkala manzil oilasini ham tekshiring, chunki qolib ketgan AAAA yozuvi brauzerni maxfiy reja hech qachon qamramagan joyga yuborishi mumkin.

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/

Siyosatni jarayon ishlaydigan joyga moslang

Shlyuzda tinglayotgan mahalliy jarayonga mahalliy kirish yo‘li orqali yetiladi, shuning uchun kirish zanjiri va soket bog‘lanishi so‘rov qabul qilinishini hal qiladi. Yo‘naltirish qoidalari va IP yo‘naltirish mahalliy tinglovchini javob berishga majbur qilmaydi. Kirish siyosatida tunnel manbalariga ruxsat bering va jarayon tunnel yetib boradigan manzilga bog‘langanini tasdiqlang.

Xost portida e’lon qilingan konteyner boshqa yo‘ldan boradi, chunki paket manzil bo‘yicha tarjima qilinadi va yo‘naltiriladi. Bu so‘rov xostning yo‘naltirish siyosati va Docker ning o‘z qoidalariga duch keladi, shuning uchun ishlaydigan mahalliy tinglovchi xuddi shu portni rad etadigan konteyner bilan birga mavjud bo‘lishi mumkin.

Ishga tushish tartibi ikkala holatda ham muhim, chunki tunnel ko‘tarilgandan keyingina paydo bo‘ladigan manzilga bog‘lanish yuklanish paytida jimgina muvaffaqiyatsiz bo‘ladi.

Maxfiy kirishni va rad etilgan umumiy yo‘lni tekshiring

Ilovaning o‘z shaxs tekshiruvlarini buzmasdan vakolatli mijozdan yangi nomli so‘rov qiling. So‘ng o‘sha xizmatni tunnel tashqarisidan sinab ko‘ring va u javob bermasligini tasdiqlang. Maxfiy nom qulaylik, cheklov emas, umumiy manzilga hali bog‘langan tinglovchi esa hali ochiq. Aynan o‘sha oxirgi tekshiruvni ko‘p sharhlar o‘tkazib yuboradi.

Foydalanuvchilarga berilgan xost nomini emas, bog‘lanishlar va filtr holatini o‘qing. Oshkoralik nomning emas, soketning xossasi. Bu farq har qanday DNS o‘zgarishida saqlanadi.

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/

Ichki so‘rov sahifani qaytarsa va tashqi so‘rovning vaqti tugasa, xizmatning bitta ataylab qilingan maxfiy yo‘li bor va transport yetib boriladigan bo‘lib qoladi. Tashqi so‘rov hali javob bersa, kimdir xizmatni faqat ichki deb ta’riflashidan oldin tinglovchi yoki e’lon qilingan konteyner yozuvini toraytirish kerak.

O'xshash maqolalar