DNS ने भरलेला nftables संच WireGuard पर्यंत: हातांतरण कसे चालते
DNS उत्तर nftables संच भरू शकते, पण संच स्वतः काहीही मार्गस्थ करत नाही. स्टीयरिंग चालेल की नाही हे ठरवणारे चार हातांतरण आणि तीन आयुष्ये पाळा.
नावे पत्त्यांमध्ये सोडवली जातात, आणि ते पत्ते नंतर मार्गस्थतेवर परिणाम करणाऱ्या फायरवॉल संचात जाऊ शकतात, ज्यामुळे प्रॉक्सीशिवाय नाव-आधारित स्टीयरिंग शक्य होते. अडचण अशी आहे की चार घटकांनी योग्यरीत्या हातांतरण करावे लागते: रिझोल्व्हर, संच, नवीन प्रवाह चिन्हांकित करणारा वर्गीकरणकर्ता आणि तो वाहून नेणारा पीअर. प्रत्येक हातांतरण वेगळ्या पद्धतीने अयशस्वी होते आणि प्रत्येकजण आपला वेळ ठेवतो.
रचनेकडे संरचना नव्हे तर साखळी म्हणून पाहा. प्रत्येक टप्प्यावरचा प्रश्न असा आहे की कोणता घटक निर्णयाचा मालक आहे आणि त्याचे इनपुट नसल्यास काय होते.
DNS उत्तर काय करू शकते आणि काय करू शकत नाही
dnsmasq उत्तरांमधून पत्ते nftables संचात कॉपी करू शकते, हे भरणे आहे, मार्गस्थता निर्णय नाही. तो पर्याय, dnsmasq मॅन्युअलमध्ये नोंदवलेला आहे, तो कुटुंब, तक्ता आणि संच नावे देतो, आणि त्याचा सुरुवातीचा 4# फक्त A रेकॉर्ड निवडतो, म्हणून v6 गंतव्यांना स्वतःची व्यवस्था लागते. संच आधीच असणे आवश्यक आहे, कारण रिझोल्व्हर फायरवॉल मालकाने तयार केलेल्या गोष्टीत घटक जोडतो. त्या टप्प्यात काहीही इंटरफेस, तक्ता किंवा पीअर निवडत नाही.
क्लायंटलाही नावासाठी तोच रिझोल्व्हर वापरावा लागतो. स्वतःचे एन्क्रिप्टेड DNS असलेले अॅप, किंवा धोरणापूर्वीचे कॅश केलेले उत्तर, संचात एकही नोंद न करता जोडले जाते.
संच इनपुट आहे, मार्ग नाही
संचातील घटक ही जुळणीची अट आहे. कोणीतरी त्याकडे पाहून, हे पॅकेट नवीन प्रवाह सुरू करते असे ठरवून, प्रवाह टनेलमधून पाठवणारे धोरण लागू केले पाहिजे. Linux वर याचा सामान्यतः अर्थ असा की खूण ठेवू शकणारा मार्गस्थता-सक्षम आउटपुट मार्ग, खुणा केलेली पॅकेट समर्पित तक्त्याकडे पाठवणारा नियम, आणि त्या तक्त्यात WireGuard उपकरणाकडे निर्देश करणारा मार्ग. फक्त सदस्यत्व यापैकी काहीही प्रस्थापित करत नाही.
nft add set inet vpn_select office_v4 { type ipv4_addr\; }
ip rule add fwmark 0x40 table 200
ip route add default dev wg0 table 200
wg show wg0 allowed-ips
पीअर दुसरी व्याप्ती तपासणी लागू करतो जी लोक विसरतात. WireGuard पॅकेट फक्त त्या पीअरसाठी एन्क्रिप्ट करतो ज्याच्या परवानगीच्या पत्त्यांमध्ये गंतव्य समाविष्ट आहे, म्हणून पीअरची यादी तो उपसर्ग वगळत असेल तर इंटरफेसातील धोरण-मार्ग पुरेसा नाही. यादी व्यवस्थापक जो मार्ग तयार करेल त्यावर अवलंबून न राहता मार्गस्थता मालकाच्या नियंत्रणात ठेवा.
खुणा, तक्ते आणि पीअर व्याप्ती
खुणा सामायिक नामस्थान आहेत, म्हणून मूल्य आणि मास्क दोन्ही त्यांचा वापर करणाऱ्या इतर सर्वांशी ठरवावे लागतात. खुणा केलेली वाहतूक समर्पित तक्त्याकडे पाठवणाऱ्या नियमाला त्या तक्त्यात जुळणारा मार्ग नसल्यास निश्चित परिणाम हवा, कारण उत्तर न मिळालेला शोध पुढील नियमाकडे जाऊन पॅकेट भौतिक इंटरफेसबाहेर पाठवू शकतो. समर्पित तक्त्यातील blackhole डीफॉल्ट मार्ग त्या शांत पलायनाचे दृश्यमान टाकाऊपणात रूपांतर करतो. रचना अजूनही जे करू शकत नाही ते म्हणजे संचात कधीही न आलेल्या गंतव्यासाठी अपयशी स्थितीत बंद होणे.
टनेलच्या स्वतःच्या बाहेरील पॅकेटांनी वर्गीकरणकर्त्यातून सुटका करून घ्यावी. WireGuard साधने नेमके त्याच हेतूने सॉकेट खूण देतात, आणि तिचा वापर एन्कॅप्स्युलेशनला ते जे इंटरफेस बनवत आहे त्यात परत मार्गस्थ होण्यापासून रोखतो.
प्रत्येक आयुष्य स्वतंत्रपणे तपासा
तीन भांडारे तीन वेळापत्रकांनी जुनी होतात: रिझोल्व्हर कॅश, संचातील घटक आणि मागोवा घेतलेले जोडणी. ती याच क्रमाने तपासा आणि प्रत्येकजण हवा तेव्हा हलतो का पाहा. खालील आदेश काहीही न बदलता रिझोल्व्हर, संच, जोडणी तक्ता आणि धोरण नियम वाचतात.
dig +short office.example
nft list set inet vpn_select office_v4
conntrack -L -d 10.60.8.15
ip rule show
घटक जोडणारा ताजा शोध भरणे चालते हे सिद्ध करतो, तर आपल्या उत्तरापेक्षा जास्त जगणारा जुना घटक आयुष्याची विसंगती आहे जी नोंदवण्यासारखी आहे. जोडणी तक्त्यात अपेक्षित खुणेसह नवीन जोडणी दिसणे वर्गीकरणकर्ता चालला हे दाखवते, आणि जुनी जोडणी आपली मूळ खूण ठेवणे हे दोष नव्हे तर योग्य वर्तन आहे. नियमांची यादी धोरण-शोध अस्तित्वात आहे का याचे उत्तर देते, जे तो जुळला का यापेक्षा वेगळा प्रश्न आहे. चारही आउटपुट याच क्रमाने वाचा आणि अयशस्वी हातांतरण स्वतःला पकडून देईल.
ठराविक नावाने नेहमी एकच मार्ग वापरावा अशी गरज असल्यास, DNS ने भरलेला संच ते सिद्ध करू शकत नाही, कारण सामायिक पत्ते इतर नावेही वाहतात. प्रॉक्सी किंवा अनुप्रयोग-स्तरीय यंत्रणा हे त्या हमीचे साधन आहे.