दुई VPN क्लाइन्ट दुई फरक सार्वजनिक IPv4 ठेगानाबाट बाहिर जान सक्छन्, र यो गर्ने नियम अधिकांशले अपेक्षा गरेभन्दा छोटो छ। यसलाई काम गराउने कुरा iptables को वाक्यरचना होइन, तर प्याकेट इग्रेस चेनमा पुग्दा त्यसको अवस्था हो: त्यहाँको स्रोत ठेगानाले अझै क्लाइन्टहरू छुट्याउनुपर्छ। यदि अघिल्लो masquerade ले दुवैलाई एउटै ठेगानामा मिलाइसकेको छ भने, कुनै पनि प्रति-क्लाइन्ट नियमले त्यो भिन्नता फर्काउन सक्दैन। पहिले यो प्रश्न टुंग्याउनुहोस्, त्यसपछि अनुवाद लेख्नुहोस्।

कुन पहिचान गेटवेसम्म बाँच्छ

नियम प्याकेटको स्रोत ठेगानासँग मिल्छ, VPN प्रयोगकर्तानामसँग होइन र क्लाइन्ट एपले देखाउने नामसँग पनि होइन। बाटोमा पहिले प्याकेटको जे जे रूपान्तरण गर्छ, त्यसले तपाईंको नियमले अझै के देख्न सक्छ भन्ने निर्धारण गर्छ। nat तालिका क्रममा चलाउनुहोस् र स्रोत अझै प्रत्येक क्लाइन्टका लागि छुट्टै भएको बिन्दु खोज्नुहोस्।

iptables -t nat -S POSTROUTING

त्यो सूची माथिबाट पढ्नुहोस्। माथिको नजिकको masquerade नियमले प्रत्येक मिल्ने प्रवाहको स्रोत पुनःलेख्छ, र त्यसपछि राखिएका प्रति-क्लाइन्ट प्रविष्टिहरू अब नभएको ठेगानासँग मिल्छन्। जब दुई LAN उपकरणले एउटै सुरुङ साझा गर्छन् र एउटै आन्तरिक ठेगानाका रूपमा आउँछन्, तब फायरवलभन्दा पहिले डिजाइन बदल्नुपर्छ: तिनका स्रोत दायराहरू छुट्टै राख्नुहोस् वा प्रत्येकलाई आफ्नै आन्तरिक ठेगाना दिनुहोस्।

आन्तरिक ठेगानाको बाँडफाँटलाई प्रमाणित क्लाइन्टसँग जोड्नुहोस्। त्यो ठेगाना अर्को उपकरणलाई दिनु भनेको इग्रेस नीति पनि सुम्पनु हो, र स्रोत रूपान्तरण आफैंमा पहिचानको प्रमाण होइन।

रूपान्तरणले ठेगाना बनाउन सक्दैन

हरेक सार्वजनिक ठेगाना यो इग्रेस बिन्दुलाई तोकिनु वा यहाँतिर रुट गरिनुपर्छ, र जवाफहरूले यहाँ फर्कने बाटो भेट्टाउनुपर्छ। जुन ठेगानाबाट कोही पनि फर्काएर रुट गर्दैन, त्यसबाट ट्राफिक पठाउने नियम टाढाको छेउमा खारेज हुन्छ वा कहिल्यै नमागेको होस्टलाई जवाफ दिइन्छ। क्लाउड प्रदायकको इन्स्टेन्सको सार्वजनिक ठेगाना सामान्यतया प्याकेट बाहिर निस्कनुअघि नै निजी इन्टरफेस ठेगानामा रूपान्तरण भइसक्छ, त्यसैले SNAT स्रोत प्रदायकले स्वीकार गर्ने ठेगाना हुनुपर्छ, कन्सोलले देखाउने मान होइन। प्रदायकको ठेगाना मोडेल पढ्नुहोस् र हरेक प्याकेटमा सार्वजनिक मान प्रतिलिपि गर्नुको सट्टा त्यसैको पालना गर्नुहोस्।

व्यवहारमा यसको अर्थ फायरवल छुनुअघि प्रदायकको कन्सोलमा रुट गरिएको प्रिफिक्स जाँच्नु, र म्यापिङ एक-एक भएको बेला निजी इन्टरफेस ठेगानालाई रूपान्तरण स्रोतका रूपमा प्रयोग गर्नु हो। तलका उदाहरणमा प्रयोग गरिएका ठेगानाहरू कागजात दायराहरूबाट आएका हुन्, त्यसैले पहिले बदल्नुपर्ने कुरा ठेगानाको पाठ नै हो।

सामान्य masquerade अघि घुसाउनुहोस्

केही पनि थप्नुअघि इग्रेस इन्टरफेस र हालको चेन पुष्टि गर्नुहोस्। पहिलोले नियमले कुन प्याकेटसँग मिल्न सक्छ भन्ने निर्धारण गर्छ, र दोस्रोले यसको अगाडि पहिले नै के उभिएको छ भन्ने देखाउँछ।

ip -4 route show default
iptables -t nat -L POSTROUTING -n -v --line-numbers

पहिलो आदेशले इन्टरनेटतिर जाने प्याकेट वास्तवमा कुन इन्टरफेसबाट बाहिर निस्कन्छ भन्ने नाम दिन्छ। दोस्रोले लाइन नम्बरसहित चेन छाप्छ। सामान्य masquerade प्रविष्टि त्यो लाइन हो जसको माथि रहनुपर्छ।

iptables -t nat -I POSTROUTING 1 -s 10.88.4.20/32 -o ens3 -j SNAT --to-source 198.51.100.77
iptables -t nat -I POSTROUTING 1 -s 10.88.4.21/32 -o ens3 -j SNAT --to-source 198.51.100.78

माथिका दुई नियमहरू प्रत्येक एक आन्तरिक ठेगानासँग मिल्छ, मिलानलाई इग्रेस इन्टरफेसमा सीमित गर्छ र स्रोत स्पष्ट रूपमा सेट गर्छ। थप्नुको सट्टा घुसाउनुहोस्: स्थान 1 मा ती masquerade लाइनभन्दा अघि मूल्याङ्कन हुन्छन्। दुईबीचको क्रम महत्त्वपूर्ण छैन किनकि तिनका स्रोत फरक छन्। रुट आदेशले जानकारी दिएको कुराले ens3 बदल्नुहोस्, र अन्य फायरवल व्यवस्थापकहरूलाई ती हुकहरूबाट टाढा राख्नुहोस्, किनकि दुई उपकरणले एउटै तालिका लेख्नु सही नियमको प्रभाव नहुनुको सामान्य कारण हो।

नयाँ प्रवाहले स्रोत प्रमाणित गर्नुहोस्

स्टेटफुल NAT प्रवाह सुरु हुँदा रूपान्तरण बाँध्छ र पछिका प्याकेटका लागि त्यसै पुनः प्रयोग गर्छ, त्यसैले परिवर्तनअघि खोलेको सत्र परिवर्तनपछि पनि आफ्नो पुरानो स्रोत कायम राख्छ। नयाँ सुरु गरिएको जडानले मात्र नियम प्रमाणित गर्छ।

conntrack -L -s 10.88.4.20 -p tcp --dport 443

त्यो प्रविष्टिको उत्तर दिशा पढ्नुहोस्: त्यसको गन्तव्य त्यो ठेगाना हो जसलाई टाढाको छेउले स्रोतका रूपमा देख्छ। तपाईंले लक्ष्य गरेको सार्वजनिक ठेगानासँग यसको तुलना गर्नुहोस्, र पुरानो ठेगाना बोकेको प्रविष्टिलाई टुटेको नियम नभई धेरै चाँडो सुरु भएको प्रवाहको प्रमाण मान्नुहोस्। क्लाइन्टलाई नयाँ जडान खोल्न भन्नुहोस्, त्यसपछि क्वेरी दोहोर्याउनुहोस्। परीक्षण जबरजस्ती गर्न सम्पूर्ण ट्र्याकिङ तालिका फ्लस गर्दा गेटवेका हरेक अन्य सत्रमा बाधा पुग्छ।

रूपान्तरणले अझै मार्ग छान्दैन, फिल्टरबाट प्रवाह पार गराउँदैन र इनबाउन्ड सेवा प्रकाशित गर्दैन। गलत मार्ग र हराएको अनुमति नियम पूर्ण SNAT नियमपछि पनि असफल हुँदै रहन्छन्। IPv6 र कुनै पनि द्वितीयक इग्रेस मार्ग पनि जाँच्नुहोस्, त्यसपछि अर्को परिवर्तन नियमको पाठबाट नभई म्यापिङबाट सुरु होस् भनेर आन्तरिक-देखि-सार्वजनिक जोडीहरू फायरवलको कागजातमा टिप्नुहोस्।

सम्बन्धित लेखहरू