Privatus vardas išsprendžiamas iš EC2 egzemplioriaus, bet ne iš nešiojamojo kompiuterio, prijungto per VPN, o zona konsolėje atrodo teisingai. Pirmas impulsas yra redaguoti įrašą, o tai beveik niekada nėra problema. Įrašas atsako kam nors; tiesiog neatsako jūsų nešiojamajam kompiuteriui. Skirtumas tarp dviejų iškvietėjų yra tai, kurio resolverio jie klausia, ir ar tas resolveris turi palaikomą kelią į VPC DNS vaizdą.

Pradedu įrodydamas, kad įrašas egzistuoja, o likusį laiką skiriu užklausos keliui. Tai atskiros sistemos ir jos sugenda skirtingai.

Perskaitykite gedimo formą prieš ką nors keisdami

Trys rezultatai reiškia tris skirtingus dalykus, ir viena užklausa juos atskiria: paleiskite dig vardui prieš tą resolverį, kurį klientas iš tikrųjų naudoja.

What you seeWhat it usually meansFirst thing to check
SERVFAIL, or a timeout after several secondsNo path to the resolver, or the resolver cannot reach AWSRoute to the endpoint and the security policy on port 53
NXDOMAIN from a resolver that did answerThe resolver replied, but the zone is not in its viewZone association or the forwarding rule for that namespace
A public address for an internal nameSplit DNS is not in effect for this clientWhich resolver the client is configured to use

Laiko limitas yra teiginys apie tinklą. NXDOMAIN yra teiginys apie DNS vaizdą. Viešas atsakymas yra teiginys apie politiką. Zonos įrašo redagavimas, kai yra laiko limitas, išmeta vienintelį naudingą bylos įrodymą.

Kodėl VPC plius-du adresas nėra nuotolinis resolveris

CIDR plius-du adresas yra vietinė paslauga VPC vidiniams ištekliams. AWS dokumentuoja, kad užklausų persiuntimas iš vietinių tinklų ar kito VPC DNS serverių tiesiogiai į tą adresą nepalaikomas ir gali duoti nestabilius rezultatus.

Tai nereiškia, kad eksperimentas niekada neatrodo veikiantis. Tai reiškia, kad elgsena nėra sutartis, kurią galima įdėti į pagalbos scenarijų. Palaikoma kryptis yra įeinantis Resolver galinis taškas: adresų pora jūsų VPC viduje, pasiekiama iš jūsų kontroliuojamo tinklo ir priimanti užklausas, ateinančias iš už AWS ribų.

Statykite kelią ta tvarka, kuria jis sugenda švariai

Turi egzistuoti trys šuoliai, ir kiekvienas turi savo gedimo būdą.

VPN client -> approved DNS forwarder
forwarder -> forwarding rule for internal.example
forwarding rule -> Resolver inbound endpoint addresses

Persiuntėjui reikia maršruto į galinio taško adresus per VPN, o grįžtamasis kelias taip pat turi veikti. Įprastam DNS 53 prievade galinis taškas atsako per UDP ir TCP, todėl abu protokolai turi būti leidžiami ir abu turi išgyventi bet kokį būsenos patikrinimą viduryje.

Tada atskirai patikrinkite DNS vaizdą. Privati talpinama zona matoma tik tiems VPC, su kuriais ji susieta, arba per sąmoningą bendrinimo susitarimą. Pasiekiamas galinis taškas pats savaime nepadaro kiekvienos privačios zonos išsprendžiamos jos sprendimo kontekste.

Išeinantis galinis taškas tarnauja priešingai krypčiai ir neatsakys į užklausą, ateinančią iš jūsų nešiojamojo kompiuterio.

Patikrinkite iš abiejų galų

Klauskite iš kliento į persiuntėją, tada iš persiuntėjo į galinį tašką. Jei klientas sugenda, o persiuntėjas pavyksta, tarpas yra tarp tų dviejų.

Jei abu sugenda, pažiūrėkite į galinio taško saugos politiką ir šaltinio adresą, kurį jis iš tikrųjų mato. Persiuntėjas už NAT rodo NAT adresą, o ne nešiojamojo kompiuterio VPN adresą, ir vien šio skirtumo pakanka užklausai atmesti. Jei abu pavyksta, bet programa vis tiek sugenda, programa gali naudoti kitą resolverį nei tą, kurį testavote.

Sąmoningai laikykite viešą ir privatų vardų sritis atskirai. Split DNS yra politika, kurią konfigūruojate, o ne vienos paieškos šalutinis poveikis, kai ji atsitiktinai grąžino duomenis.

Ko nedaryčiau

Nepridėčiau NAT taisyklės, kuri leido vienai paieškai veikti, ir nepavadinčiau to dizainu.

Nenukreipčiau kiekvieno nuotolinio kliento į plius-du adresą vien todėl, kad vienas testas kartą grąžino įrašą. Ir neišplėsčiau galinio taško saugos politikos visam VPN telkiniui, kai prieigos reikia vienam persiuntėjui. Jei organizacija jau valdo patvirtintą persiuntėją VPC viduje, pirmiausia perskaitykite tą dizainą, nes antrasis galinis taškas, kurį pridėsite, yra tas, kurio niekas nedokumentuoja.

Susiję straipsniai