एउटा VPN क्लाइन्ट पूललाई आफ्नै सार्वजनिक ठेगाना दिनुपर्ने NAT नियम शून्य प्याकेटमा छ, जबकि त्यही पूल गलत स्रोतसँग बाहिर जान्छ। नियम सामान्यतया ठेगानामा गल्ती गर्दैन; इन्टरफेसमा गल्ती गर्छ। -o eth0:0 अवस्थित नभएको यन्त्रलाई संकेत गर्छ, किनभने eth0:0 ठेगानामा जोडिएको लेबल हो, र त्यो ठेगानाको यन्त्र eth0 हो। काउन्टर हेर्नु यो पुष्टि गर्ने सबैभन्दा छिटो उपाय हो, र सुधार जाँचले संकेत गरेभन्दा सानो छ।

कर्नेलले यन्त्रलाई के भन्छ भनी जाँच्नुहोस्

केही बदल्नु अघि दुई दृष्य अलग-अलग पढ्नुहोस्:

ip link show
ip address show dev eth0
ip route get 203.0.113.20

लिङ्क सूचीले इन्टरफेस देखाउँछ। ठेगाना सूचीले लेबल बोकेको दोस्रो IPv4 ठेगाना देखाउन सक्छ eth0:0, र त्यो ठेगानाको यन्त्र अझै eth0 हो। iproute2 को ठेगाना पुस्तिकाले लेबललाई ठेगानाको नाम मान्छ, दोस्रो लिङ्क होइन, र सम्पूर्ण समस्या यही भिन्नतामा टिकेको छ।

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

नियम वास्तवमा केसँग मिल्यो भनी जाँच्नुहोस्

काउन्टर सम्झनाबाट होइन, नियम सूचीसँगै पढ्नुहोस्:

iptables -t nat -L POSTROUTING -v -n --line-numbers

मिल्ने ट्राफिक बगिरहेको बेला प्याकेट काउन्टर शून्यमै रहने नियम मूल्याङ्कन हुँदैन, र तलको नाम लिने आउटपुट-इन्टरफेस सर्त eth0:0 सामान्य कारण हो। राउटले छानेको आउटपुट यन्त्र eth0, त्यसैले अर्को नाम खोज्ने सर्त कर्नेलले जुनसुकै स्रोत ठेगाना छाने पनि कहिल्यै सत्य हुँदैन।

सर्तलाई साँचो यन्त्रमा बदल्नुहोस् र लेबल त्यसबाट बाहिर राख्नुहोस्। त्यो यन्त्र साझा गर्ने दुई क्लाइन्ट पूल छुट्याउनु पर्ने भए स्रोत उपसर्गले छुट्याउनुहोस्, अस्तित्वमा हुनै नसक्ने इन्टरफेस नामले होइन। नओभरल्याप हुने -s मिलान भएका दुई नियम पढ्न र परीक्षण गर्न सकिने हुन्छन्; काल्पनिक यन्त्र भएको एउटा नियम दुवै होइन। हरेक नियममा पूलको नाम लिने टिप्पणी राख्नुहोस्, किनभने छ महिनापछि उपसर्ग मात्रले त्यो किन त्यहाँ छ भनी कसैलाई भन्दैन।

यन्त्र छान्ने राउट जाँच्नुहोस्

Postrouting NAT राउटले पहिले नै आउटपुट इन्टरफेस छानिसकेपछि चल्छ, त्यसैले नियमको इन्टरफेस राउटले छानेकै हुनुपर्छ। कर्नेललाई सिधै सोध्नुहोस् ip route get प्रयोग गरी प्रतिनिधि क्लाइन्ट ठेगानाका लागि, र यसले जनाउने यन्त्र र स्रोत दुवै पढ्नुहोस्।

जवाफले eth0 को नाम लिन्छ भने नियमको इन्टरफेस भाग टुङ्गिएको छ। यसले टनेल यन्त्रको नाम लिन्छ भने प्याकेट तपाईं सम्पादन गरिरहेको नियमसम्म कहिल्यै पुग्दैन, र खोज राउटिङ तालिका र त्यसका प्राथमिकतातिर सर्छ। प्याकेट अन्तैबाट गएकाले कहिल्यै नमिल्ने नियम काउन्टर आउटपुटमा गलत लेखिएको यन्त्र भएको नियमजस्तै देखिन्छ। केही सम्पादन गर्नु अघि दुईमध्ये कुन अवस्था छ भनी पुष्टि गर्नुहोस्, किनभने दोस्रोलाई पाठ नभई राउटिङ बदल्नु पर्छ।

अनुवादित स्रोत जानाजान छान्नुहोस्

यन्त्र ठीक भएपछि स्रोत ठेगाना छुट्टै निर्णय हो। यो केवल उदाहरणीय IPv4 पूल र नमुना ठेगाना हो:

iptables -t nat -A POSTROUTING -s 10.8.1.0/24 -o eth0 \
  -j SNAT --to-source 203.0.113.20

ठेगाना --to-source भित्र लेख्दैमा कसैले त्यसलाई तपाईंतिर फर्काएर राउट गर्दैन। माथिल्लो प्रदायक वा ठेगानाको मालिकले त्यो ठेगानाका उत्तरहरू यही होस्टसम्म पुर्याउनुपर्छ, र ठेगाना तपाईंलाई प्रयोग गर्न अधिकार भएको हुनुपर्छ। नभए नियम मिल्छ र अनुवाद गर्छ, र उत्तरहरू अझै अन्तै जान्छन्।

स्रोत ठेगाना बदल्नु अपलिङ्क बदल्नुसँग बराबर होइन। साँचो आवश्यकता अर्को भौतिक मार्ग भए राउटिङ नीतिले पहिले त्यो मार्ग छान्नुपर्छ; त्यसपछि SNAT ले नीतिले छानेको यन्त्रमा स्रोत फेरि लेख्छ। थप लेबल eth0 थप्दा न मार्ग मिल्छ न अधिकार।

भर्खरै खोलेको जडानले प्रमाणित गर्नुहोस्

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

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

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