Буйрук VPN аталыш мейкиндигинин ичинде 10.8.0.5 дарегине эч кандай нааразылыксыз жетет, ал эми ошол эле буйрук хост атын колдонгон учурда ишке ашпайт. Аталыш мейкиндигинин өз интерфейстери, маршруттары жана сокеттери бар; анын өзүнүн чечүүчү файлы жок. Эгер бир нерсе ошол жерге бирин койбосо, ичиндеги процесс хосттун /etc/resolv.conf файлын окуп, ошол тармактык стектен жеткиликсиз болушу мүмкүн болгон серверден сурайт.

Бул маршруттоо маселеси эмес, файл тандоо маселеси, жана сандык багыт дагы эле иштешинин себеби так ушунда.

Процесс чындыгында алган чечүүчү көрүнүшүн текшериңиз

Колдонгон кабыгыңызды оңдоп жаткан процесс менен бирдей деп эсептебеңиз. Графикалык колдонмо, systemd бирдиги жана контейнер ар бири башка туташтыруу же тармактык контекстке кире алат. Издөөнү ошол эле иштетүү жолу менен аткарыңыз жана чечүүчү файлды ичинен басып чыгарыңыз.

ip netns add менен түзүлгөн аталыш мейкиндиги үчүн өкүм гана окуу текшерүүсү кыска:

ip netns exec vpn cat /etc/resolv.conf

Натыйжа жеткиликтүү даректи, loopback тирегин же жеткиликтүүлүгү башка жерге шилтеме кылган символдук шилтемени атайбы, ошого көңүл буруңуз.

exec жардамчысы чындыгында эмнени туташтырат

ip-netns куралы ар бир аталыш мейкиндигинин конфигурациясын /etc/netns/NAME/ астында документтештирет. Процессти иштеткенде, жардамчы туташтыруу аталыш мейкиндигин түзүп, ошол файлдарды адаттагы жолдорунун үстүнө туташтырат, ошондуктан процесс аталыш мейкиндигине таандык көчүрмөнү көрөт. Бул ушул конкреттүү иштеткичтин ыңгайлуулугу. Тармактык аталыш мейкиндигине башка жол менен, мисалы unshare же контейнер runtime аркылуу кирүү муну автоматтык түрдө кайталабайт.

Бул жердеги тузак — loopback чечүүчүсү: 127.0.0.53 аталыш мейкиндигинин өз loopbackин билдирет, хосттун тирегин эмес. Хосттун аталыш мейкиндигинде гана угуучу тирек жаңысында кызматка айланбайт.

Аталыш мейкиндиги жете алган чечүүчүнү тандаңыз

Файл кайсы серверди атаса да, ага дагы эле ошол аталыш мейкиндигинен маршрут керек. Коомдук чечүүчү коомдук аттарга жооп берип, ички зона үчүн дагы эле ишке ашпашы мүмкүн, анткени жеке кызматка туннел аркылуу гана жетүүгө болот. Маршрутту дарек менен бир убакта текшериңиз, издөө ишке ашпагандан кийин эмес.

Өз чечүүчүсү бар колдонмолор, мисалы DNS over HTTPS колдонгону, файлды толугу менен этибарга албашы мүмкүн. Эгер куралдын өз DNS жөндөөсү болсо, resolv.conf өзгөртүү ага таасир этпейт, ал эми аталыш мейкиндиги эч качан маселе болгон эмес.

Файлды туура жерге жазыңыз

/etc/netns/NAME/resolv.conf астында аталыш мейкиндигине таандык файл түзүңүз жана иштеткич аны сунуштасын. Аны минималдуу кармаңыз: бир же эки жеткиликтүү сервер жана тапшырмага керектүү издөө домендери. Бир топ процесске арналган көрүнүштү оңдоо үчүн хосттун түзүлгөн чечүүчү файлын оңдобоңуз, анткени бул машинадагы ар бир колдонмону өзгөртөт. Эгер хост чечүүчү менеджерин колдонсо, аталыш мейкиндигинин жолун ага каршы күрөшүүнүн ордуна ошол менеджер аркылуу конфигурациялаңыз.

Файлдын мазмунун runbook ичинде жазып коюңуз. Болбосо кийинки адам хосттун чечүүчүсүн текшерет, иштеген жоопту көрөт жана аталыш мейкиндиги тартибинде деп жыйынтык чыгарат.

Бүт жолду кайра текшериңиз

Аталыш мейкиндигинин ичинде сандык дарек, ички ат жана коомдук ат менен текшериңиз. Бул ырааттуулук жеткиликтүүлүктү чечүүдөн ажыратат жана ички зоналарды коомдук зоналардан ажыратат. Андан кийин аталыш мейкиндигин кайра түзүп, кайталаңыз, анткени тек иштеп турган үлгүдө гана бар файл аны менен бирге жоголот.

Файлды кабык эмес, процесс аларын ырастаңыз. Интерактивдүү кабыктан иштеп, кызматтан ишке ашпаган издөө — туташтыруу контексти жөнүндө табылга, жана аны кийинки окуяга чейин нөлдөн кайра ачуунун ордуна жазып коюу керек.

Тектеш макалалар