Azure P2S VPN ne može razriješiti naziv privatnog endpointa
Prođite provjere po redu: koju adresu DNS vraća, vezu zone, dostupni resolver, naziv hosta u certifikatu i privremeni unos u hosts.
Povežete point-to-site tunel, pingate privatnu adresu, otvorite aplikaciju i umjesto toga dobijete 403 ili grešku certifikata. Oba simptoma upućuju na DNS, ali to su različite greške: jedan znači da je klijent razriješio javnu adresu, drugi da je razriješio privatnu adresu i zatim ponudio naziv koji certifikat ne pokriva. Prođite provjere ispod po redu i zaustavite se na prvom neuspjehu, jer unos u hosts ili keširan odgovor mogu učiniti da svaka kasnija provjera prođe iz pogrešnog razloga. Držim ovaj red u tekstualnoj datoteci uz svoje VPN profile, jer popravka ne mijenja ništa u tunelu, a sve u onome što klijent zna.
Počnite s adresom koju klijent zaista dobije
Pitajte resolver direktno umjesto da vjerujete aplikaciji. Na Windowsu nslookup adminuidev-fedqcubyd9bfb2bq.canadacentral-01.azurewebsites.net pokazuje koji je pogled klijent dobio. Javan odgovor znači da ništa nizvodno neće stići do endpointa; privatna adresa endpointa znači da je DNS završen i da je sljedeća provjera sama veza.
Privatni endpoint ne preimenuje uslugu. Račun ili aplikacija zadržava svoje uobičajeno potpuno kvalificirano ime, a endpoint mijenja samo adresu na koju se to ime razrješava za klijente unutar virtualne mreže. Zato se isti naziv hosta razrješava privatno s VM-a u mreži, a javno s laptopa koji nikada nije dobio privatni pogled.
Provjerite zonu, njezinu vezu i zapis prije tunela
Tri uslova moraju vrijediti zajedno: privatna zona postoji, povezana je s virtualnom mrežom u koju VPN gateway i klijenti ulaze u Azure i sadrži A zapis za endpoint koji pokazuje na privatnu adresu. Povežite zonu s nepovezanom mrežom i gateway će nastaviti razrješavati javni zapis dok sve u tunelu izgleda zdravo.
Nazivi zona pripadaju uslugama, a ne privatnim vezama općenito. App Service obično koristi privatelink.azurewebsites.net, pohrana i SQL imaju vlastite prostore imena, a posuđivanje zone druge usluge stvara zonu koja postoji i ne odgovara ništa korisno.
Dajte klijentu resolver koji zaista može dosegnuti
168.63.129.16 odgovara s Azure virtualnih mašina i nije DNS server za laptop s druge strane point-to-site tunela. Klijentu treba resolver dostupan kroz tunel: ulazni endpoint Azure DNS Private Resolvera, prosljeđivač unutar virtualne mreže ili unosi DNS servera preneseni u profil VPN klijenta, tako da klijent pita virtualnu mrežu direktno.
Konfiguriran ali nedostupan resolver ponaša se isto kao nikakav resolver, a simptom je istek vremena, a ne pogrešan odgovor, zbog čega se pogrešno čita kao problem firewalla. Testirajte ga upitom koji tunel treba nositi, a ne javnim imenom koje bi ionako prošlo preko lokalne veze.
Ako prosljeđujete umjesto da gurate postavke, prosljeđujte prostor imena koji posjeduje privatna zona, privatelink.azurewebsites.net, a ne cijeli azurewebsites.net. Uslovni prosljeđivač koji proguta cijeli roditeljski sufiks šalje svaku pretragu usluge u Azure, uključujući one koje treba da ostanu lokalne.
Koristite naziv za koji je certifikat izdat
Kad adresa bude ispravna, pojavi se druga greška. Pohrana i App Service objavljuju alias privatelink, a taj alias nije nužno naziv u certifikatu. AzCopy prijenos na privatelink.blob.core.windows.net nije prošao validaciju; isti prijenos na <account>.blob.core.windows.net/<container> razriješio se na privatnu adresu i prošao, pa je ostao na privatnom putu bez zaobilaženja.
Pravilo vrijedi u pregledniku i za App Service: povežite se s nazivom hosta koji certifikat pokriva i pustite DNS da dobavi privatnu adresu. Ne posežite za zaobilaženjem validacije, jer ono grešku u imenovanju pretvara u sigurnosnu regresiju. Uspješan ping dokazuje rutu i ne govori ništa o nazivu unutar handshakea, zbog čega ovo ostaju odvojene provjere.
Redoslijed od četiri koraka koji izolira svaki sloj
- Potvrdite da VPN klijent ima adresu iz point-to-site pula i rutu do privatne adrese endpointa.
- Razriješite tačan naziv koji aplikacija koristi i uporedite odgovor s adresom endpointa.
- Otvorite TCP vezu prema endpointu na portu usluge, zatim pročitajte naziv certifikata predstavljen na toj vezi.
- Tek sada testirajte autorizaciju, jer radni put i valjan certifikat još uvijek ne daju pristup resursu.
Odbijena veza dok je adresa ispravna upućuje na mrežnu sigurnosnu grupu ili stanje veze privatnog endpointa, a ne na DNS, pa to provjerite prije nego ponovo budete uređivali postavke resolvera. Neslaganje TLS naziva vraća vas na naziv hosta u URL-u i subject certifikata. Držite izlaz razrješavanja, naziv certifikata i tačan URL zajedno; te tri vrijednosti objašnjavaju većinu ovih slučajeva bez diranja gatewaya.
Koristite VM unutar virtualne mreže kao kontrolu. Ako se naziv tamo razrješava privatno, a s tunela javno, zona i zapis su ispravni i jedina razlika je put resolvera klijenta, što se potvrđuje brže od još jednog pregleda konfiguracije endpointa.
Klijenti također keširaju. Zapis koji je odgovorio javno prije deset minuta nastavlja odgovarati i nakon što popravite zonu, pa ispraznite keš prije ponovnog testa. Na Windowsu ipconfig /flushdns čisti keš klijenta; pravila politike razrješavanja naziva ostaju, određuju koji sufiks ide kojem serveru i mogu nastaviti slati prostor imena resolveru koji ste upravo zamijenili.
Gdje pripada unos u hosts
Dodavanje adrese endpointa u datoteku hosts dobra je dijagnostika i loš dizajn. Dokazuje da je mapiranje naziva na adresu dio koji nedostaje i omogućava testiranje svega nakon tog koraka, ali je nevidljivo vašim korisnicima, kvari se kad se adresa endpointa promijeni i skriva zonu koja bi trebala odgovarati.
Zaostali testni unos gori je od zastarjelog keša, jer može učiniti da popravljeni put izgleda pokvaren ili pokvaren put popravljen, zavisno od smjera greške. Uklonite ga prije završnog prolaza i razrješavajte samo produkcijskim resolverom.
Kratka imena treba sufiks pretrage, a potpuno kvalificirana ne treba, pa prvo testirajte potpuno kvalificirano ime, a zatim odlučite treba li radnom toku sufiks prenesen kroz profil klijenta. Microsoft dokumentira nazive zona i oblike zapisa po usluzi u svojim smjernicama za DNS privatnih endpointa; pročitajte unos za svoju uslugu umjesto da kopirate zonu s druge.