Гэрийн 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-ийн бодлогыг устга, одоо байхгүй туннелээр дамжиж л хүрч болох хаяг руу заасан зөөврийн компьютер үлдээхийн оронд.