AWS Client VPN чекитинин DNS: чечилген IP-ни бекитүү эмнеге ийгиликсиз
AWS Client VPN чекитинин атын чечкен дарегиңиз менен алмаштырыңыз, кийин туннель иштебей калат. Экспорттолгон атты жана анын кокустук префиксин сактаңыз.
Өткөн аптада dig +short сизге AWS Client VPN профилиңиздеги чекит аталышы үчүн бир дарек берди, жана туннель туташты. Бул аптада ошол эле профиль ноутбугуңузда 'Connecting' абалында турат, ал эми кесиптешиңиздин тийбеген көчүрмөсү дагы эле иштеп жатат. Эч нерсе блоктолгон жок жана сертификаттын мөөнөтү бүтпөдү. Бирөө чекиттин хост атын ошол чечилген дарек менен алмаштырды, жана кызмат эми ал жерде жооп бербейт. Экспорттолгон ат — ошол өзгөрүүгө туруштук берүү үчүн курулган бөлүк.
Профилиңиздеги ат суралган ат болбошу мүмкүн
Client VPN'ден экспорттолгон профилдерде адатта remote-random-hostname болот. Бул опция күйгүзүлгөндө клиент бир жолку белги түзүп, аны чекит аркылуу чекит атына кошуп, айкалышкан атты чечет. Чекиттин аймагындагы wildcard жазуусу каалаган белгиге жооп берет, ошондуктан ойлоп табылган префикс да чечилет жана сурамды кол менен кайталоого аракет кылганда бул ыкма көрүнбөйт.
Демек, чекит атын терминалга жабыштырып, жооп алганда, сиз клиент туташуу учурунда колдонгон аттан башка атты чечтиңиз. Бул дал келбестик профилде оңдоого тийиштелүү кемчилик эмес. Белги атайын кайра түзүлөт: опция кэштердин эскирген жоопту кармашын болтурбайт жана ал эч качан сиздин машинаңызды же сессияңызды аныктабайт.
Клиент опцияны толугу менен этибарга албаган шайкештик учуруна туш болдум. AWS чечимди документтейт: чыныгы чекит атын сактап, алдына кокус сап жана чекит кошуңуз, аны жабыштыруучу маани эмес, атоо үлгүсү катары караңыз. Муну эски клиентке колдонуу акылга сыярлык; префикстүү сапты чекит катары катуу коддоо андай эмес.
Эмнеге сакталган жооп туура бойдон кала албайт
Client VPN чекит даректерин AWS башкарат жана алар убакыт өткөн сайын өзгөрөт, муну мыкты тажрыйбалар документи ачык айтат. Кармалган жооп — бир чечимдин сүрөтү. Аны катуу коддогон профиль кызмат жылышта эле пайдалануудан чыгарылган хостко багытталган профилге айланат, ал эми ийгиликсиздик сейрек DNS сыяктуу көрүнөт: туташуу убактысынын бүтүшүн же токтоп калган handshake аласыз, ошондуктан адамдар маршруттоо менен сертификаттардын артынан түшөт.
/etc/hosts ичиндеги ошол эле жооп ошол эле мөөнөттү кошумча көйгөй менен мураска алат. hosts жазуусу кайра жүктөөлөрдөн, кайра экспорттоодон жана 'клиентти кайра орнотуу' оңдоолорунан аман калат, ошондуктан дарек жылышкан сайын ийгиликсиздик кайтат. Мен бирөөнүн апталап зыянсыз жатканын, анан аны алып жүргөн бардык машинаны иштен чыгарганын көрдүм, ал эми жаңы орнотуулар кадимкидей туташып жатты. Бул бөлүнүү, бир топ ийгиликсиз болуп, экинчиси ошол эле аккаунтта жакшы болушу — ала турган эң арзан белги.
Кокусташтыруунун көлөмүн туура чектеңиз. Ал ар бир туташуу аракетине жасалат. Орнотулган туннель өз чекитин кайра чечпейт, сессиянын ортосунда серверди алмаштырбайт, жана жеке колдонмо сурамдарынын ар бири жаңы VPN хост тандабайт. Кийинки аракет гана кайра чечет, ошондуктан түштөн кийин бою иштеген сессия эртеңки таң жөнүндө эч нерсе айтпайт.
Туннель көтөрүлгөндө кызмат эмнени текшерет
Client VPN туташкан дарегиңиз чекиттин DNS аты үчүн чечилген дарекке дал келишин талап кылат. Ушул бир талап байланышы жок көрүнгөн бир нече ийгиликсиздикти түшүндүрөт: башка жерди көрсөткөн ыңгайлаштырылган DNS жазуусу, чыныгы чекит дарегине багыттаган ыңгайлаштырылган frontend жана чийки дарекке кайра жазылган профиль. AWS ыңгайлаштырылган жазуу менен багыттоонун айкалышын жаңы AWS клиенттери менен ийгиликсиздик катары документтейт. Текшерүү тар; бул ар бир псевдонимге тыюу салынган деген өкүм эмес.
Бул VPN протоколдору жөнүндө жалпы эреже да эмес. Сандык remote кадимки OpenVPN жайылтуусунда толук жарактуу жана көпчүлүгү ошондой иштейт. Чектөө башкарылуучу түзүлүштөн келет, анын астындагы протоколдон эмес.
Бул сертификатты текшерүүнү бошотууну туура эмес рефлекс кылат. Дарек алмашкандан кийин профиль ийгиликсиз болсо, серверди текшерүүнү өчүрүү чечимди же дарек дал келүү талабын оңдоонун ордуна катаны жылдырат жана эч нерсеге ишенбеген клиент калтырат. Экспорттолгон CA, серверди текшерүү жана өз ара аутентификация жөндөөлөрүн келген бойдон сактаңыз.
Уруксат тизмелери, чыгуу жана жеке DNS — үч бөлөк маселе
Ноутбук туташканга чейин багытты уруксат кылышы керек болгон firewall эрежеси сырткы угуучуга тиешелүү. Тармак ээсине чекит атын, транспортту жана конфигурацияланган портту бериңиз, анан алардын көзөмөлү кызматтын DNS жүрүм-турумун ээрчий алабы, ошону сураңыз. Бир кармалган даректи кармаган эреже — жазылбаган мөөнөтү бар сүрөт. Эгер көзөмөл өзгөрбөгөн багыттарды гана кабыл алса, жоопту үнсүз катуу коддоонун ордуна киргизүүгө чейин ошол боштукту жабыңыз.
Туннель көтөрүлгөндөн кийинки сурамдар үчүн туруктуу баштапкы дарек керек болгон өнөктөштүн башка талабы бар: чыгуу. Веб-сайт эмнени көрөрү колдонмо маршрутуна жана бөлүнгөн туннель саясатына байланыштуу, клиент туташкан дарекке эмес. Бөлүнгөн туннель трафиги AWS'ке такыр тийбеши мүмкүн.
Туннель ичиндеги жеке DNS үчүнчү катмар. Клиенттерге берилген чечүүчү туташуудан кийин ички аттарга жооп берет; туннель пайда болмоюнча ал коомдук чекитти чече албайт. Чекитти чечүү ийгиликсиздиги менен ички колдонмону чечүү ийгиликсиздиги ар башка баскычтарда болот, аларды аралаштыруу сизди туура эмес журналга жиберет.
Дарек үй-бүлөсү ошол эле тизмеде. IPv4 жообу IPv6 же кош катмарлуу чекиттин уруксат берилген жолу жөнүндө эч нерсе айтпайт, ошондуктан бир үй-бүлөдө алынган сүрөт экинчисине далил эмес.
Эч нерсени бекитпей байланышты текшериңиз
Профилден экспорттолгон бойдон баштап, анын чындап эмнени талап кылганын окуңуз:
grep -nE '^remote|remote-random-hostname' profile.ovpn
dig +short cvpn-endpoint-ID.prod.clientvpn.REGION.amazonaws.com
ss -tnp | grep -E ':(443|1194)'Анан үч нерсени салыштырыңыз: профилдеги чекит аты, клиент жаңы аракет үчүн билдирген дарек жана ат азыр эмнеге чечилет. Чечилүүчү ат жазуунун жооп берерин гана далилдейт; транспорт жана аутентификация өзүнчө, жана чекит ping'ге жооп берүүгө милдеттүү эмес. Ортоңку пункттун жалгыз булагы — клиенттин өз журналы, ошондуктан аны аракет учурунда жазыңыз, кийин эмес.
| What you see | Usual cause | Next check |
|---|---|---|
| One machine fails, others connect | Pinned address or stale hosts entry on that machine | Diff its profile and hosts file against a working copy |
| Everyone fails at once, no config change | The endpoint address rotated | Confirm the current endpoint configuration with the account owner |
| Tunnel up, internal names fail | Client DNS policy, not endpoint resolution | Inspect the resolver pushed after connection |
Бүгүн жооп берген дарек бүгүн жөнүндө далил; ат — кызмат жарактуу кармаган нерсе. Байкоону жазыңыз, аны чекиттин ээсине жөнөтүңүз жана профилди атка багытталган бойдон калтырыңыз.
Эки адаттан баш тартыңыз: токтоп калган handshake'тен өтүү үчүн сертификат текшерүүсүн өчүрүү жана бири жабышат деп чекит атынын алдына белгилерди үйүү. Белги wildcard жазуусу аркылуу чечилет, болбосо көйгөй башка жерде. Туура конфигурацияланган профиль дагы эле ийгиликсиз болсо, узунураак хост атын эмес, так сурамды жана туташуу окуясын жөнөтүңүз.
Жапканга чейин: профиль дагы эле экспорттолгон чекит атын алып жүрөт, эч бир hosts файлы даректи бекитпейт, клиент журналындагы remote учурдагы чечимге дал келет, ал эми firewall эрежеси даректи эмес, чекитти атайт. Бул да кийинки адамга өткөрүп берүүчү абал.