कई दाहिने सबनेट से जुड़ने वाला ओपेन्सवान काम नहीं कर रहा है


14

मैं अपने स्थानीय नेटवर्क से दूरस्थ साइट पर IPsec VPN कनेक्ट करने के लिए Openswan (संस्करण 2.6.37) का उपयोग करने का प्रयास कर रहा हूं। सब कुछ ठीक काम करता है जब मैं बस रिमोट साइट पर एक सिंगल सबनेट से कनेक्ट करना चाहता हूं। हालाँकि, दूरस्थ साइट में एक अतिरिक्त सबनेट भी है जिसे मैं एक्सेस करना चाहता हूं।

यह मेरा विन्यास है:

conn myConn
        type=tunnel
        left=192.168.139.14
        leftsubnet=192.168.139.0/24
        leftxauthclient=yes
        right=X.X.X.X
        rightsubnet=172.16.1.0/24
        keyexchange=ike
        auth=esp
        authby=secret
        phase2alg=3des-sha1
        pfs=yes

जब मैं बदलने के rightsubnetसाथ rightsubnetsहै, तो जैसे:

rightsubnets={172.16.1.0/24 192.168.3.0/24}

... फिर कनेक्शन सफलतापूर्वक बनाया गया है लेकिन सूची में केवल अंतिम सबनेट उपलब्ध है। 172.16.1.0सबनेट पर कुछ भी करने का कोई भी प्रयास विफल हो जाता है। अगर मैं सबनेट के ऑर्डर को चारों ओर स्वैप करता हूं तो मैं पिंग कर सकता हूं 172.16.1.Xलेकिन अन्य सबनेट पर कुछ भी नहीं कर सकता। यह ऐसा है जैसे कि ओपन्सवान केवल कनेक्शन बनाने के लिए सूची में अंतिम सबनेट का उपयोग कर रहा है।

क्या मुझसे यहां कुछ गलत हो रहा है?

थोड़ी सी अतिरिक्त जानकारी जिसे मैंने उल्लेख करने के लिए उपेक्षित किया (हालांकि मुझे यकीन नहीं है कि यह प्रासंगिक है): मेरा ओपेंसवान क्लाइंट एनएटी का उपयोग करते हुए एक राउटर के पीछे है और nat_traversal=yesमेरी ipsec.confफाइल में है।


क्या आप वीएलएएन का उपयोग करते हैं? मैं लगभग एक ही समस्या थी और मुद्दा एक VLAN त्रुटि थी

क्या आपने दो सुरक्षा संघ बनाने की कोशिश की है, प्रत्येक सबनेट के लिए एक?
जिम्मुडोक्स

@ टीक, नहीं, मैं वीएलएएन का उपयोग नहीं कर रहा हूं। मेरा OpenSwan क्लाइंट NAT का उपयोग करते हुए एक राउटर के पीछे है - हालांकि मैंने उस प्रश्न को प्रतिबिंबित करने के लिए अपडेट किया है।
फिक्समेकर

@ गिम्समुडो: मैंने एक नए कनेक्शन ( connection myConn2) के लिए ऊपर दिए गए मेरे कॉन्फ़िगरेशन को डुप्लिकेट करने की कोशिश की , इसके अलावा सब कुछ समान है rightsubnet। जब मैं उपयोग करता ipsec auto --up myConnहूं तो मैं 172.168.1.X पिंग कर सकता हूं। जब मैं दूसरा कनेक्शन लाने की कोशिश करता हूं ( ipsec auto --up myConn2), मैं 192.168.3.X पिंग कर सकता हूं लेकिन पहला कनेक्शन पूरी तरह से मर जाता है।
फिक्समेकर

कई IPSec रूटर्स (जैसे सिस्को) पर एक ग्राहक के रूप में संकलित करने के लिए, आप उपयोग करने के लिए सरल करेंगे vpnc!
एफ। हाउरी

जवाबों:


3

ऐसा लगता है कि कई सबनेट के लिए सामान्य विभाजक एक अल्पविराम है , लेकिन कम से कम खुलने वाला ओपन-2.6.32 रिक्त स्थान के साथ भी काम करता है।

दिलचस्प जानकारी लॉग की जानी चाहिए /var/log/secureजिसमें सुराग हो सकता है कि यह क्यों काम नहीं कर रहा है। इसके अलावा के उत्पादन में पोस्ट ip x s shऔर ip x p sh


यदि आप यहां एकल होस्ट से कई होस्ट में स्विच करने का प्रयास कर रहे हैं, तो ध्यान दें कि कई सबनेट की कुंजी rightsubnet*s*एकवचन के बजाय बहुवचन ( ) में है।
मर्गिसैसिया

1

connसुरंग के सभी अंतिम छोरों पर प्रत्येक सबनेट के लिए खंड विन्यास बनाएं । उनमें से केवल एक (पहले शुरू हुआ) एसए वार्ता शुरू करेगा, दूसरा (या अधिक) केवल आगे के सबनेट का एक नया एसपीडी बनाएगा।


दुर्भाग्य से मैं ऐसा नहीं कर सकता क्योंकि दूरस्थ समापन बिंदु एक तृतीय-पक्ष FortiGate राउटर है (OpenSwan नहीं चल रहा है)। मुझे आश्चर्य है कि अगर समस्या राउटर से संबंधित हो सकती है तो एक ही समापन बिंदु के बीच कई सुरंगों का सामना करने में सक्षम नहीं हो सकता है।
FixMaker

1

ऐसा लगता है कि OpenSwan में एक बग है जहां सबनेट सूची को सही ढंग से काम करने के लिए अंत में एक अतिरिक्त अल्पविराम की आवश्यकता होती है। प्रयत्न:

rightsubnets={172.16.1.0/24,192.168.3.0/24,}

अंत में अतिरिक्त अल्पविराम पर ध्यान दें।


यह मामला नहीं है, परीक्षण मामलों या उदाहरणों में से कोई भी अतिरिक्त अल्पविराम नहीं है।
एमसीआर

1

यदि आप उपयोग करते rightsubnetsहैं तो आपको उपयोग करना होगा leftsubnets, नहीं leftsubnet। भले ही उस तरफ केवल एक सबनेट हो। ipsec.confआदमी पेज इस समझाने का एक अच्छा काम करते हैं नहीं है, लेकिन यह नहीं है।

मुझे महीनों तक इसी तरह की समस्याएँ थीं और मुझे खुलने में जवाब मिला कि कई सबनेट रूटिंग मुद्दे हैं


1
मामला नहीं। leftsubnets = {singletone}, leftsubnet = के समान होना चाहिए। (मैंने कोड लिखा था)
एमसीआर

यह वह उपाय था जो मेरे लिए लिबासवन 3.15 का उपयोग करके काम करता था। मेरे बाएं हिस्से में एक ही सबनेट था और दाएं में कई थे। अगर मैंने लेफ्ट्सबनेट = और राइट का उपयोग करके राइट को कॉन्फ़िगर किया है राइटबनेट = {} का उपयोग करके तो केवल अंतिम राइटबनेट वास्तव में जुड़ा हुआ है। एक बार जब मैंने leftsubnets = {} को एक सबनेट के साथ उपयोग करने के लिए बाईं ओर कॉन्फ़िगर किया, तो यह सभी से जुड़ा हुआ है।
एडम प्लम्ब

-3

ऐसा होना चाहिए

rightsubnets={172.16.1.0/24,192.168.3.0/24}

कॉमा ( ,) का उपयोग करें और प्रविष्टियों को अलग करने के लिए स्थान नहीं।


1
ऐसा लगता है कि दो साल पहले का जवाब क्या कह रहा है।
जी-मैन का कहना है कि 'मोनिका'
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.