ESP भनेको IP प्रोटोकल 50 हो, TCP पोर्ट 50 होइन: के अनुमति दिने
प्रोटोकल नम्बर र पोर्ट नम्बर फरक नामस्थान हुन्। TCP पोर्ट 50 का लागि नियमले केही पनि अनुमति दिँदैन, र NAT ट्राभर्सलले ESP लाई UDP 4500 मा सार्छ।
फायरवाल फारमहरूले TCP पोर्ट माग्छन्, र स्पष्ट प्रविष्टि 50 हो। त्यो प्रविष्टिले केही पनि अनुमति दिँदैन, किनकि ESP IP प्रोटोकल नम्बर 50 हो र प्रोटोकल नम्बरहरू पोर्ट होइनन्। दुवै नामस्थानले केवल साना पूर्णाङ्कहरू साझा गर्छन् र अरू केही होइन, र IKE सकिएसम्म र सुरक्षित ट्राफिक कहिल्यै नआउँदासम्म त्रुटि अदृश्य रहन्छ।
साना सङ्ख्या साझा गर्ने दुई नामस्थान
IP हेडरमा अर्को के आउँछ भनी नाम दिने प्रोटोकल फिल्ड हुन्छ: TCP का लागि 6, UDP का लागि 17, ICMP का लागि 1, ESP का लागि 50, AH का लागि 51. TCP वा UDP हेडरमा पोर्ट नम्बरहरू हुन्छन्, जसले गन्तव्य होस्टमा प्रक्रिया छान्छन्। प्रोटोकल 50 र TCP पोर्ट 50 असम्बन्धित मान हुन्, तर संवाद बाकसले तिनलाई अदलबदलयोग्य देखाउन सक्छ।
त्यसैले पोर्ट फर्वार्डिङ नियमले मूल ESP व्यक्त गर्न सक्दैन। फर्वार्ड गर्न ESP गन्तव्य पोर्ट छैन, र केवल पोर्ट नियम बुझ्ने उपकरणसँग त्यो प्याकेटका लागि कुनै शब्दावली नै छैन। सही नियमले यसको सट्टा IP प्रोटोकलको नाम दिन्छ। कुनै पनि पोर्ट संवाद त्यो प्याकेटका लागि गलत उपकरण हो।
भ्रमको दोस्रो आधा पनि छ। प्याकेट इन्क्रिप्ट भएको बेला यसभित्रको सबै अपारदर्शी हुन्छ, मूल जडानको TCP हेडर पनि। त्यो प्याकेटमा पोर्ट जाँच्ने फायरवाल बाहिरी हेडर हेर्दै हुन्छ, जसमा मूल अवस्थामा जाँच्न पोर्टहरू नै हुँदैनन्।
मूल ESP, त्यसपछि इन्क्याप्सुलेटेड विकल्प
मूल ESP सिधै IP प्रोटोकलको रूपमा बोकिन्छ, जो समान रूपमा कुशल र असुविधाजनक छ। कुशल किनकि अतिरिक्त हेडर छैन, र असुविधाजनक किनकि ठेगाना र पोर्ट अनुवाद गर्ने कुनै पनि उपकरणले यसलाई ट्र्याक गर्न सक्दैन। NAT ट्राभर्सल यही समाधान गर्न छ: ESP प्याकेटलाई UDP भित्र बेरेर, अनुवादकसँग पुनः लेख्न पोर्टहरू दिन्छ।
| Form on the wire | How it is identified | What the firewall must permit |
|---|---|---|
| IKE negotiation | UDP with a destination port | UDP 500, and 4500 once traversal is detected |
| Native ESP | IP protocol 50 in the outer header | The protocol itself, with no port to name |
| ESP inside UDP | UDP 4500 carrying an ESP payload | The UDP port pair, which translation devices can track |
दुवै रूप एउटै डेटा च्यानलका वैकल्पिक तैनाथी हुन्, एउटाका तहहरू होइनन्। मूल ESP अनुमति दिँदा इन्क्याप्सुलेटेड रूप अनुमति पाउँदैन, र UDP 4500 अनुमति दिँदा मूल ट्राफिक अनुमति पाउँदैन, त्यसैले नियम समूह तैनाथीसँग मिल्नुपर्छ, संयोगले दुवै ढाक्नु हुँदैन।
यहाँ पहिचान पनि महत्त्वपूर्ण छ। अन्त्य बिन्दुहरू वार्ताका क्रममा रूपहरूबीच निर्णय गर्छन्, र परिवर्तन सामान्यतया तिनीहरूबीच NAT पहिचान हुँदा हुन्छ। त्यसैले सुरुङ स्थापना भएपछि परिवर्तन हुने मार्गले ट्राफिकलाई तपाईंका नियमहरूले कहिल्यै नढाकेको नामस्थानमा सार्न सक्छ।
जडानले वास्तवमा कुन रूप प्रयोग गर्छ पढ्नुहोस्
फायरवालबाट अनुमान गर्नुको सट्टा अन्त्य बिन्दुलाई सोध्नुहोस्। Linux मा स्थिति प्रविष्टिले संघटनले UDP इन्क्याप्सुलेसन प्रयोग गर्छ कि गर्दैन र कुन पोर्ट संलग्न छन् भनी जानकारी दिन्छ। प्याकेट क्याप्चरले तारबाट त्यही प्रश्नको उत्तर दिन्छ, र दुवै नियम समूह पढेर आशा गर्नुभन्दा छिटो छन्।
ip xfrm state | grep -A3 encap
tcpdump -ni any 'ip proto 50 or udp port 4500'
पहिलो आदेशले NAT ट्राभर्सल प्रयोगमा हुँदा इन्क्याप्सुलेसन प्रकार देखाउँछ र नहुँदा केही देखाउँदैन। दोस्रोले दुई रूपमध्ये कुनले वास्तवमा इन्टरफेस पार गर्छ देखाउँछ, र यसले कागजमा सही देखिने कन्फिगरेसनबारेका बहस अन्त्य गर्छ।
विपरीत प्रमाण पनि त्यही चरणको हिस्सा हो। शून्य मिलान रिपोर्ट गर्ने नियमले प्याकेट कहिल्यै त्यहाँ पुगेन भनी बताउँछ, र त्यो फायरवालको होइन, राउटिङ वा चयनकर्ताको प्रश्न हो।
त्यसपछि नियन्त्रण च्यानल छुट्टै पुष्टि गर्नुहोस्। IKE सँग आफ्नै पोर्ट र आफ्नै लग छन्, र डेटा बिना पूरा भएको वार्ता यही लेखको विषय भएको विभाजन हो।
नियम सही नामस्थानमा लेख्नुहोस्
प्रोटोकल नियम र पोर्ट नियम फरक निर्देशन हुन्, त्यसैले उपकरणले तपाईंले भन्न खोजेको कुरा व्यक्त गर्नुपर्छ। nftables मा प्रोटोकल मिलान स्पष्ट छ, र इन्क्याप्सुलेटेड विकल्पले आफ्नै UDP नियम पाउँछ। दुवै नियमलाई छेउछाउ राख्नुहोस् ताकि समीक्षामा जोडी देखियोस्।
nft add rule inet filter input ip protocol esp accept
nft add rule inet filter input udp dport { 500, 4500 } accept
गलत निदानको क्षतिपूर्ति गर्न कुनै पनि नियम फराकिलो बनाउने प्रलोभनलाई प्रतिरोध गर्नुहोस्। प्रत्येक इन्टरफेसमा ESP प्रोटोकलका लागि सबै अनुमति दिनु, वा जहाँबाट पनि जहाँ पनि UDP अनुमति दिनु, लक्षण सुधार्छ र तपाईंले सेट गर्न खोजेको नियन्त्रण हटाउँछ। रूप थाहा भएपछि साँघुरो समर्थित प्रवाह लगभग सधैं पर्याप्त हुन्छ।
अन्तमा, सुरुङ चल्छ तर अनुप्रयोग चल्दैन भने तहहरू सीधा राख्नुहोस्. गेटवेमा पुग्ने प्याकेटलाई अझै फर्वार्डिङ, फर्किने मार्ग र तिनलाई स्वीकार गर्ने नीति चाहिन्छ, र तीमध्ये कुनै पनि ESP नियमले व्यक्त गर्दैन। हराएको पोर्टले विशिष्ट असफलता बुझाउँछ, हरेक IPsec असफलता होइन। नियम सुधार र राउटिङ जाँचलाई दुई अलग निष्कर्षका रूपमा राख्नुहोस्।
तपाईंले अवलोकन गरेको रूप, थपेको प्रोटोकल नियम र पछि देखेको काउन्टर लेख्नुहोस्। तीन लाइन, र अर्को व्यक्तिले दिउँसोको सट्टा एक मिनेटमा नामस्थानको गल्तीलाई राउटिङको गल्तीबाट छुट्याउन सक्नेछ।