Privaatne nimi laheneb EC2 eksemplarist, kuid mitte VPN-i kaudu ühendatud sülearvutist, ja tsoon näeb konsoolis õige välja. Esimene tung on kirjet muuta, mis peaaegu kunagi pole probleem. Kirje vastab kellelegi; lihtsalt sinu sülearvutile see ei vasta. Kahe kutsuja erinevus on selles, millist resolverit nad küsivad ja kas sellel resolveril on toetatud tee VPC DNS-vaatesse.

Alustan tõestamisega, et kirje on olemas, ja veedan ülejäänud aja päringu teel. Need on eraldi süsteemid ja nad ebaõnnestuvad erineval moel.

Loe rikke kuju enne, kui midagi muudat

Kolm tulemust tähendavad kolme eri asja ja üks päring eristab neid: käivita dig nime jaoks selle resolveri vastu, mida klient tegelikult kasutab.

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

Aegumine on väide võrgu kohta. NXDOMAIN on väide DNS-vaate kohta. Avalik vastus on väide poliitika kohta. Tsooni kirje muutmine aegumise ajal viskab ära juhtumi ainsa kasuliku tõendi.

Miks VPC pluss-kaks aadress ei ole kaugresolver

CIDR pluss-kaks aadress on kohalik teenus VPC sisestele ressurssidele. AWS dokumenteerib, et päringute edastamine kohalikest võrkudest või teise VPC DNS-serveritest otse sellele aadressile ei ole toetatud ja võib anda ebastabiilseid tulemusi.

See ei tähenda, et katse ei näi kunagi töötavat. See tähendab, et käitumine ei ole leping, mille saab abiteksti skripti panna. Toetatud suund on sissetulev Resolveri lõpp-punkt: aadressipaar sinu VPC sees, millele pääseb sinu hallatavast võrgust ja mis võtab vastu väljastpoolt AWS-i saabuvaid päringuid.

Ehita tee selles järjekorras, milles see puhtalt ebaõnnestub

Kolme hüpet peab olema ja igal on oma viis ebaõnnestuda.

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

Edastaja vajab marsruuti lõpp-punkti aadressidele läbi VPN-i, ja ka tagasitee peab töötama. Tavalise DNS-i jaoks pordil 53 vastab lõpp-punkt UDP ja TCP kaudu, seega peavad mõlemad protokollid olema lubatud ja mõlemad peavad üle elama mis tahes olekupõhise kontrolli vahepeal.

Seejärel kontrolli DNS-vaadet eraldi. Privaatne hostitud tsoon on nähtav ainult nendele VPC-dele, millega see on seotud, või sihiliku jagamiskokkuleppe kaudu. Kättesaadav lõpp-punkt ei tee iseenesest iga privaatset tsooni lahendatavaks selle lahenduskontekstis.

Väljuv lõpp-punkt teenindab vastassuunda ega vasta sinu sülearvutist tulevale päringule.

Kontrolli mõlemast otsast

Küsi kliendilt edastajale ja seejärel edastajalt lõpp-punktile. Kui klient ebaõnnestub, samal ajal kui edastaja õnnestub, on vahe nende kahe vahel.

Kui mõlemad ebaõnnestuvad, vaata lõpp-punkti turbepoliitikat ja allikaaadressi, mida see tegelikult näeb. NAT-i taga olev edastaja esitab NAT-i aadressi sülearvuti VPN-aadressi asemel, ja üksi see erinevus on piisav päringu maha viskamiseks. Kui mõlemad õnnestuvad, kuid rakendus ikka ebaõnnestub, võib rakendus kasutada teist resolverit kui see, mida testisid.

Hoia avalik ja privaatne nimeruum sihilikult lahus. Split DNS on poliitika, mille sa seadistad, mitte ühe otsingu kõrvalmõju, mis juhtus andmeid tagastama.

Mida ma ei teeks

Ma ei lisaks NAT-reeglit, mis pani ühe otsingu tööle, ja ei nimetaks seda disainiks.

Ma ei suunaks iga kaugklienti pluss-kaks aadressile ainult sellepärast, et üks test tagastas kunagi kirje. Ja ma ei laiendaks lõpp-punkti turbepoliitikat kogu VPN-basseinile, kui üks edastaja vajab juurdepääsu. Kui organisatsioon juba käitab VPC sees kinnitatud edastajat, loe see disain enne läbi, sest teine lõpp-punkt, mille lisad, on see, mida keegi ei dokumenteeri.

Seotud artiklid