Үй VPN'иңизге nas.home.arpa үчүн өзүнүн DNS жазууларын бериңиз
dnsmasq'тан бир ат жарыялаңыз, resolver'ди WireGuard аркылуу багыттаңыз, анан бардык клиентке DNS жиберүү менен home.arpa үчүн гана split-DNS'тин ортосунда тандоо жасаңыз.
Туннель көтөрүлгөндөн кийин, акыркы кадам адатта бетбелгиге койгон даректин ордуна иштеген ат болот. dnsmasq хост жазуусу жана клиент жете алган resolver дареги муну эки файл менен жана multicast жок жасайт. Чындап ойлонууну талап кылган чечим тарыраак: клиент бардык DNS'ти үй resolver'и аркылуу жибереби, же home.arpa астындагы аттарды ганабы? Төмөнкүнүн баары Linux клиенти жана үй администратору мурунтан эле башкарып жаткан лабораториялык resolver'и бар бекитилген WireGuard конфигурациясын болжолдойт.
Клиентке resolver берүүнүн үч жолу
| Approach | Scope | Cost |
|---|---|---|
DNS = in the wg-quick interface | the client's general DNS while the tunnel is up | every name in the house now depends on the tunnel |
Platform split-DNS for home.arpa | only that suffix | more configuration per client platform |
Manual dig @resolver | one query at a time | fine for testing, useless for applications |
Туннелге кээде кошулган ноутбук үчүн split-DNS жакшыраак демейки: ал кадимки интернет аттарын машина мурунтан ишенген resolver'де калтырат. Үй кызматтарына жетүү үчүн бар машина үчүн resolver'ди түртүү жөнөкөй жана камтуу баасы маанилүү эмес.
Жазууну зонага ээ болгон resolver'де жарыялаңыз
Конфигурация жазардан мурун ролдорду бөлүк тутуңуз: VPN клиентинин дареги, resolver жана кызмат үч түрдүү иши бар үч түрдүү хост. Бул лабораторияда алар клиент үчүн 10.77.0.2, dnsmasq үчүн 192.168.50.53 жана NAS үчүн 192.168.50.20, ал эми туннель үй LAN'ын маршруттайт.
listen-address=127.0.0.1,192.168.50.53
bind-interfaces
local=/home.arpa/
host-record=nas.home.arpa,192.168.50.20
host-record сабы даректи берет, ал эми local= сабы белгисиз home.arpa суроолорун жогору жиберүүнүн ордуна ушул resolver'дин ичинде кармайт. Адегенде учурдагы конфигурацияңызды окуп, серверди, интерфейсти же ошол эле жергиликтүү доменди мурунтан аныктаган нерселердин баарын шайкештештириңиз; кайчы келгендин үстүнө үзүндү коюу кубаныч менен жүктөлүп, туура эмес жооп берген resolver жаратат. dnsmasq колдонмосу эки директиваны тең жана угууну башкарууну аныктайт.
Анан файлды эмес, иштеп жаткан кызматты текшериңиз. Конфигурация сынагы жана кайра иштетүү эң азы, ал эми накталай жооп — суроо кайтарган нерсе.
Resolver'ди маршруттаңыз, веб баракты гана эмес
WireGuard'дын AllowedIPs кайсы багыттар туннелге кирерин аныктайт. Эгер resolver дареги анын сыртында калса, суроо кадимки маршрут менен чыгып, dnsmasq'ка эч качан жетпейт, NAS өзү жетүүгө боло турган болсо да. Resolver дарегин же аны камтыган LAN префиксин кошуңуз жана наркы тараптагы шлюздун жиберүү саясатын текшериңиз.
Ыйгарылган туннель диапазонунан 53 портунда UDP жана TCP'ге уруксат бериңиз, клиенттин туннель дарегине кайтуу жолу менен. Сыноону жеңилдетүү үчүн 53 портун WAN'дан жибербеңиз: үй байланышындагы ачык рекурсивдүү resolver сааттар ичинде табылат. Интерфейске байлоо өзү эле кирүү саясаты эмес.
Колдонмодон мурун жоопту текшериңиз
Адегенде resolver'ден түз сураңыз, анан системадан, анан колдонмодон. Ар бир кадам чынжырдын бир звеносун обочолойт, ал эми алардын ортосундагы айырма — диагностика.
dig @192.168.50.53 nas.home.arpa. A
dig +tcp @192.168.50.53 nas.home.arpa. A
getent ahostsv4 nas.home.arpa
curl -sS --max-time 5 http://nas.home.arpa/ -o /dev/null -w '%{http_code}\n'
TCP суроосун иштетүүнүн мааниси бар, анткени кесилген UDP жообу кайра аракетке мажбурлайт, ал эми TCP 53'тү таштаган саясат үзүлүштүү көрүнгөн бузулууларды жаратат. getent кадамы машинанын resolver конфигурациясы чындыгында эмне кыларын көрсөтөт, бул дайыма сиз жиберген нерсе эмес.
Туннель өчүк турганда эмне болорун чечиңиз
Эгер клиенттин жалпы DNS'и 192.168.50.53'кө шилтесе, туннель көтөрүлбөгөндө ар кандай ат чечүү токтойт. Бул туннель менен гана пайдалуу машинада кабыл алынат, ал эми кафенин Wi-Fi'ин да колдонгон ноутбукта кабыл алынбайт. Split-DNS бул суроону толугу менен четтетет, анткени home.arpa издөөлөрү гана үй resolver'ине көз каранды.
Аттын эмне экенин унутпаңыз: home.arpa турак жай тармактары үчүн корголгон жана дүйнөлүк деңгээлде уникалдуу эмес, ошондуктан башка тармак ошол эле атты мыйзамдуу түрдө колдоно алат. Бул жергиликтүү ыңгайлуулук, ишенимдүү идентификатор эмес. Кызмат көчкөндө жазууну актуалдуу кармаңыз, ал эми лаборатория пайдалануудан чыгарылганда resolver саясатын алып салыңыз, эми жок туннель аркылуу гана жете турган дарекке шилтеп ноутбук калтыруунун ордуна.