Туннельдегі клиенттер шлюзге жете алады, ал шлюз ішкі шешкішке жете алады, сондықтан DNS жұмыс істеуі керек. Бірақ ол жұмыс істемейді, өйткені бұлар екі түрлі рұқсат, ал жұмыс істейтін DNS қызметі үшінші нәрсе. Тыңдаушы клиенттер жете алатын мекенжайде болуы керек, брандмауэр сол мекенжайға сұрауларға рұқсат беруі керек, ал клиентке оны пайдалану керектігі айтылуы керек. Туннельді екі бағытта ашу алғашқы екеуін кездейсоқ шешіп, үшіншісін аяқталмаған күйде қалдырады.

Тыңдаушы екі бағыты бар жергілікті қызмет

Кіретін бағытта клиент шлюздің туннель мекенжайына 53 портында сұрау жібереді. Шығатын бағытта демон бұл сұрауды өзінің конфигурацияланған жоғарғы ағынына жібереді. Екі жарты да жұмыс істеуі керек, және олар әртүрлі жолдармен істен шығады.

Клиент хабарлаған күту уақыты мен шлюзде көрінетін күту уақыты бір ақау емес.

Туннель мекенжайын байланыстырыңыз, барлық мекенжайды емес

Бұл жұмыс үшін арналған dnsmasq данасына анық тыңдау мекенжайы, іске қосылғаннан кейін туннельдің пайда болуына төзетін байланыстыру режимі және бір анық жоғарғы ағын қажет. Бұл мен пайдаланатын ең кіші нұсқа:

listen-address=127.0.0.1,10.90.0.1
bind-dynamic
no-resolv
no-hosts
server=192.168.50.53

bind-dynamic жекелеген мекенжайларды байланыстырады және tun0 кейінірек пайда болғанда онымен айналысады, бұл VPN қызметі қайта іске қосылатын хостта маңызды. loopback-ты тізімдеу жалпыға ортақ тыңдаушыны қоспай-ақ жергілікті құралдарды жұмыс күйінде ұстайды. no-resolv демонның хосттың шешкіш конфигурациясынан жоғарғы ағындарды мұралауына жол бермейді, ал no-hosts бұл дананың шлюздің hosts файлын жариялауына жол бермейді. Бұл опциялардың ешқайсысы біреуге қызметке сұрау жасауға рұқсат бермейді.

Екінші демонды іске қоспас бұрын 53 портында бар тыңдаушы бар-жоғын тексеріңіз және қате қалтадағы адасқан файлдың орнына дистрибутивтің конфигурация иесін пайдаланыңыз.

DNS кірісіне рұқсат беріңіз, туннель транзитіне емес

Мұны іске қосатын брандмауэр ережелері туннель интерфейсімен, клиенттер пулымен, шлюз мекенжайымен және 53 портымен шектелген жергілікті кіру ережелері. Әр протоколға бір-бірден екі ереже жеткілікті:

sudo ufw allow in on tun0 proto udp from 10.90.0.0/24 to 10.90.0.1 port 53
sudo ufw allow in on tun0 proto tcp from 10.90.0.0/24 to 10.90.0.1 port 53

DNS UDP сияқты TCP арқылы да жұмыс істейді, сондықтан тек UDP ережесі үлкен жауаптарды үзік-үзік көрінетін түрде істен шығарады. Бұл ufw route рұқсаттары емес және tun0 бойынша кең рұқсатқа айналмауы керек. Тәртіп мазмұн сияқты маңызды: tun0 мекенжайынан барлық кірісті тастайтын бұрынғы ереже әлі де жеңеді, ал түпкілікті тастаудың астына рұқсат қосу ештеңе жасамайды.

Егер шлюздің DNS-і енді дизайнның бөлігі болса, сол бұрынғы саясатты әдейі қайта қарап, себебін жазыңыз.

Жоғарғы ағын жартысы бөлек жол

Сұраулар шлюзден өз мекенжайымен жоғарғы ағын шешкішіне қарай шығады, сондықтан шлюздің маршруты мен сол шешкішке қатысты шығыс саясаты айырбасты рұқсат етуі керек. Бұл клиенттерді тыңдаушыға жіберетін ережеден өзгеше ереже және ол басқа симптоммен істен шығады.

Жауаптар жұмыс істеуі үшін шектеусіз туннель шығысын қоспаңыз; қадағаланатын жауаптарға бұл қажет емес.

Опцияны итеріңіз, содан кейін тапсыруды тексеріңіз

Сервер шешкішті клиенттерге итерілген опциямен жариялай алады. Бұл опция, операциялық жүйе орындауға міндетті нұсқау емес:

push "dhcp-option DNS 10.90.0.1"

Linux пәрмен жолы клиентіне өзінің қосылым менеджерінің шешкіш интеграциясы қажет болуы мүмкін, ал басқарылатын құрылғыға жаңартылған басқару профилі қажет болуы мүмкін. Қосылғаннан кейін клиенттегі белсенді шешкішті растаңыз, итеру қолданылды деп болжаудың орнына. Екі механизм бір уақытта DNS орнатуға тырысқанда, жыпылықтайтын шешім ретінде көрінетін жарыс пайда болады.

Мақсат — клиенттің шешкіш конфигурациясының бір иесі, және итеру әдетте сол ие болады тек клиент платформасы келіскенде.

Шынымен салғаныңызды тексеріңіз

Бір жеке толық білікті атауды және бір рұқсат етілген сыртқы атауды тікелей туннель мекенжайына, UDP және TCP арқылы сұраңыз. Содан кейін қосымшаның әдеттегі іздеу жолымен қайталаңыз.

Егер тікелей сұраулар жұмыс істеп, қосымша әлі істен шықса, ақау серверде емес, тапсыруда:

  • Клиент итерілген опцияны ешқашан қолданбады.
  • Кейінірек басқа шешкіш орнатылып, жарыста жеңді.
  • Қосымша өзінің шешкіш кітапханасын немесе кэштегі жауапты пайдаланады.

Бекітілген VPN жолынан тыс көз тыңдаушыны мүлдем пайдалана алмайтынын растаумен аяқтаңыз. Сәтті шешім қайтарған мекенжайға құқық бермейді, сондықтан осы екі сұрақты бөлек ұстаңыз.

Қатысты мақалалар