तपाईंको होम 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 लाई अनुमति दिनुहोस्, क्लाइन्टको टनेल ठेगानामा फर्कने मार्गसहित। परीक्षण सजिलो बनाउन WAN बाट पोर्ट 53 फर्वार्ड नगर्नुहोस्: घरको जडानमा खुला रिकर्सिभ 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 नीति हटाउनुहोस्, अब नभएको टनेलबाट मात्र पुग्न सकिने ठेगानातर्फ सङ्केत गर्ने ल्यापटप छोड्नुको सट्टा।