Privaatne DNS töötab VPC-s, kuid mitte VPN-i kaudu
Privaatne nimi, mis laheneb EC2 sees, kuid mitte VPN-i kaudu, on resolveri tee probleem. Loe rikke kuju enne tsooni kirje muutmist.
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 see | What it usually means | First thing to check |
|---|---|---|
| SERVFAIL, or a timeout after several seconds | No path to the resolver, or the resolver cannot reach AWS | Route to the endpoint and the security policy on port 53 |
| NXDOMAIN from a resolver that did answer | The resolver replied, but the zone is not in its view | Zone association or the forwarding rule for that namespace |
| A public address for an internal name | Split DNS is not in effect for this client | Which 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 addressesEdastaja 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.