Жеке DNS VPC ішінде жұмыс істейді, бірақ VPN арқылы емес
EC2 ішінде шешілетін, бірақ VPN арқылы шешілмейтін жеке атау — бұл resolver жолының мәселесі. Аймақ жазбасын өзгерту алдында ақау пішінін оқып шығыңыз.
Жеке атау EC2 данасынан шешіледі, бірақ VPN арқылы қосылған ноутбуктен шешілмейді, ал аймақ консольде дұрыс көрінеді. Бірінші түйсік — жазбаны өңдеу, бірақ бұл ешқашан дерлік мәселе емес. Жазба біреуге жауап береді; тек сіздің ноутбугіңізге жауап бермейді. Екі шақырушы арасындағы айырма — олар қай resolver сұрайтыны және сол resolver-дің VPC-нің DNS көрінісіне қолдау көрсетілген жолы бар-жоғы.
Мен жазбаның бар екенін дәлелдеуден бастаймын, ал қалған уақытты сұрау жолына жұмсаймын. Бұл бөлек жүйелер және олар әртүрлі түрде істен шығады.
Бірдеңені өзгерту алдында ақау пішінін оқыңыз
Үш нәтиже үш түрлі нәрсені білдіреді, ал бір сұрау оларды ажыратады: клиент шын мәнінде пайдаланатын resolver-ге қарсы атау үшін dig іске қосыңыз.
| 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 |
Тайм-аут — бұл желі туралы мәлімдеме. NXDOMAIN — DNS көрінісі туралы мәлімдеме. Жария жауап — саясат туралы мәлімдеме. Тайм-аут кезінде аймақ жазбасын өңдеу істегі жалғыз пайдалы дәлелді лақтырып тастайды.
Неге VPC-дегі плюс екі мекенжай қашықтағы resolver болып саналмайды
CIDR плюс екі мекенжайы VPC ішіндегі ресурстарға арналған жергілікті қызмет. AWS жергілікті желілерден немесе басқа VPC-нің DNS серверлерінен сұрауларды тікелей сол мекенжайға қайта жіберуге қолдау көрсетілмейтінін және бұл тұрақсыз нәтижелер беруі мүмкін екенін құжаттайды.
Бұл эксперимент ешқашан жұмыс істеп тұрғандай көрінбейді дегенді білдірмейді. Бұл мінез-құлықты қолдау скриптіне салуға болатын келісім емес дегенді білдіреді. Қолдау көрсетілетін бағыт — кіріс Resolver endpoint: VPC ішіндегі, сіз бақылайтын желіден қолжетімді, AWS сыртынан келетін сұрауларды қабылдайтын мекенжай жұбы.
Жолды таза істен шығатын ретпен құрыңыз
Үш секіріс болуы керек және әрқайсысының өз істен шығу тәсілі бар.
VPN client -> approved DNS forwarder
forwarder -> forwarding rule for internal.example
forwarding rule -> Resolver inbound endpoint addressesҚайта жіберушіге VPN арқылы endpoint мекенжайларына маршрут қажет, қайтару жолы да жұмыс істеуі керек. 53 портындағы дәстүрлі DNS үшін endpoint UDP және TCP арқылы жауап береді, сондықтан екі протоколға да рұқсат берілуі керек және екеуі де жолдағы кез келген күй тексерісінен өтуі керек.
Содан кейін DNS көрінісін бөлек тексеріңіз. Жеке орналастырылған аймақ тек онымен байланысты VPC-лерге ғана көрінеді немесе әдейі бөлісу келісімі арқылы көрінеді. Қолжетімді endpoint өз бетінше әрбір жеке аймақты өзінің шешу контекстінде шешілетін етпейді.
Шығыс endpoint қарама-қарсы бағытқа қызмет етеді және ноутбугіңізден келетін сұрауға жауап бермейді.
Екі жақтан тексеріңіз
Клиенттен қайта жіберушіге қарай, содан кейін қайта жіберушіден endpoint-ке қарай сұраңыз. Клиент істен шығып, қайта жіберуші сәтті болса, алшақтық сол екеуінің арасында.
Екеуі де істен шықса, endpoint-тегі қауіпсіздік саясатына және ол шын мәнінде көретін бастапқы мекенжайға қараңыз. NAT артындағы қайта жіберуші ноутбуктің VPN мекенжайының орнына NAT мекенжайын ұсынады, ал осы айырмашылықтың өзі сұрауды тастауға жеткілікті. Екеуі де сәтті болса да қолданба әлі де істен шықса, қолданба сіз тестілегеннен басқа resolver-ді пайдаланып жатқан болуы мүмкін.
Жария және жеке атау кеңістіктерін әдейі бөлек ұстаңыз. Split DNS — бұл сіз конфигурациялайтын саясат, бір іздеудің кездейсоқ деректер қайтаруының жанама әсері емес.
Мен не істемес едім
Бір іздеуді жұмыс істеткен NAT ережесін қосып, оны дизайн деп атамас едім.
Бір тест бір рет жазба қайтарды деп, барлық қашықтағы клиентті плюс екі мекенжайға бағыттамас едім. Және бір ғана қайта жіберушіге қатынас қажет болғанда, endpoint-тің қауіпсіздік саясатын бүкіл VPN пулына кеңейтпес едім. Егер ұйым VPC ішінде бекітілген қайта жіберушіні әлдеқашан ұстап тұрса, алдымен сол дизайнды оқыңыз, өйткені сіз қосатын екінші endpoint — ешкім құжаттамайтын сол.