डेटासेंटर मेजबानों को जोड़ने के लिए उच्च थ्रूपुट जाली वीपीएन


16

हम एक सार्वजनिक डेटासेंटर में कई मेजबानों को किराए पर ले रहे हैं। डेटासेंटर निजी वीएलएएन प्रदान नहीं करता है; सभी मेजबान एक (या अधिक) सार्वजनिक IPv4 / IPv6 पते प्राप्त करते हैं। मेजबान बहुत आधुनिक सीपीयू (हैसवेल क्वाड-कोर, 3.4GHz) के साथ आते हैं और इसमें Gbit uplinks हैं। डेटासेंटर के अलग-अलग क्षेत्र (कमरे? फर्श? इमारतें) आपस में जुड़े हुए हैं - जो मैं बता सकता हूं - Gbit या 500Mbit लिंक। हमारे मेजबान डेबियन मट्ठा चला रहे हैं। वर्तमान में हम निकट भविष्य में विकास की उम्मीद के साथ, केवल 10 मेजबानों से ऊपर चल रहे हैं।

मैं सभी मेजबानों को एक-दूसरे के साथ संवाद करने के लिए सुरक्षित और गोपनीय तरीके से संवाद करने का एक तरीका ढूंढ रहा हूं। परत 3 ठीक है, परत 2 ठीक है (लेकिन आवश्यक नहीं)। चूंकि मेरे पास वीएलएएन तक पहुंच नहीं है, इसलिए इसे किसी प्रकार का वीपीएन होना चाहिए।

मेरे लिए क्या महत्वपूर्ण है:

  1. उच्च थ्रूपुट, आदर्श रूप से वायरस्पीड के करीब
  2. विकेन्द्रीकृत, जालीदार वास्तुकला - यह सुनिश्चित करना है कि केंद्रीय तत्व (जैसे वीपीएन संकेंद्रक) द्वारा थ्रूपुट को धीमा नहीं किया जाता है
  3. सीपीयू पदचिह्न अत्यधिक नहीं है (एईएसएनआई और जीसीएम-सिफर सूट दिए गए हैं, मुझे उम्मीद है कि यह एक हास्यास्पद आवश्यकता नहीं है)
  4. परिचालन में आसानी; सेटअप करने के लिए बहुत जटिल नहीं; स्थापित कनेक्शनों को खोए बिना नेटवर्क बढ़ सकता है

हम वर्तमान में tinc का उपयोग कर रहे हैं । यह [2] और [4] पर टिक करता है, लेकिन मैं केवल 960Mbit / s के वायरस्पीड के लगभग 600Mbit / s (सिंप्लेक्स) तक पहुंचता हूं, और मैं एक कोर को पूरी तरह से ढीला कर देता हूं। इसके अलावा, tinc 1.1 - वर्तमान में विकास में - अभी तक बहुआयामी नहीं है, इसलिए मैं सिंगलकोर प्रदर्शन के साथ फंस गया हूं।

पारंपरिक IPSec प्रश्न से बाहर है, क्योंकि इसके लिए केंद्रीय तत्व की आवश्यकता होती है, या एक श * टनल को कॉन्फ़िगर किया जाना है ([2] प्राप्त करने के लिए)। अवसरवादी एन्क्रिप्शन के साथ IPsec एक समाधान होगा, लेकिन मुझे यकीन नहीं है कि इसे कभी भी स्थिर उत्पादन कोड में बनाया गया है।

मैं आज tcpcrypt भर में ठोकर खाई है। अनुपलब्ध प्रमाणीकरण को छोड़कर, ऐसा लगता है कि मुझे क्या चाहिए। यूजर्स के कार्यान्वयन में धीमी गति से बदबू आ रही है, लेकिन साथ ही साथ अन्य सभी वीपीएन भी हैं। और वे एक कर्नेल कार्यान्वयन की बात करते हैं। मैंने अभी तक इसकी कोशिश नहीं की है, और मुझे दिलचस्पी है कि यह कैसे फिर से व्यवहार करता है [1] और [3]।

इसमें और अन्य क्या विकल्प हैं? जो लोग AWS पर नहीं हैं, वे क्या कर रहे हैं ?

अतिरिक्त जानकारी

मुझे GCM में दिलचस्पी है, उम्मीद है कि यह CPU पदचिह्न को कम करेगा। विषय पर इंटेल का पेपर देखें । जब एक tinc डेवलपर्स से बात की गई, तो उन्होंने बताया कि एन्क्रिप्शन के लिए AESNI का उपयोग करते हुए, HMAC (जैसे SHA-1) अभी भी Gbit गति पर बहुत महंगा है।

अंतिम अद्यतन

परिवहन मोड में IPsec पूरी तरह से काम करता है और ठीक वही करता है जो मैं चाहता हूं। बहुत मूल्यांकन के बाद मैंने ओप्सवान को ipsec-tools पर चुना है, केवल इसलिए कि यह एईएस-जीसीएम का समर्थन करता है। Haswell CPUs पर मैं लगभग 8-9% CPU लोड के साथ 910-920Mbit / sec सिंप्लेक्स थ्रूपुट के बारे में मापता हूं kworkerd


तो, कम अंत समानता? गीगाबिट स्तर एन्क्रिप्शन करने के बाद आप किस प्रदर्शन को बनाए रखने की उम्मीद करते हैं? कोई रास्ता नहीं - मेरा सुझाव है कि आप एक अधिक पेशेवर होस्ट की तलाश करें या एन्क्रिप्शन भाग को मार दें।
टॉमटॉम

2
@ इंटेल के क्रिप्टोपरफॉर्मेंस पेपर के अनुसार @tomtom एईएस -128-सीबीसी के लिए एन्क्रिप्शन प्रदर्शन 4.52 चक्र प्रति बाइट पर है, जिसका अर्थ है कि 100 एमबी / एस एक कोर का ~ 450 मेगाहर्ट्ज खा जाएगा। डिक्रिप्शन काफी कम खर्चीला है। इसलिए जब तक कि कार्यान्वयन-विशिष्ट मुद्दे प्रदर्शन को नीचे नहीं खींच रहे हैं, तब तक इसे लोड के लिए काम करना चाहिए, जिसमें एक ही समय में अधिकतम सीपीयू प्रदर्शन और अधिकतम नेटवर्क प्रदर्शन की आवश्यकता नहीं है ।
वबबिट

आप GCM क्यों चाहते हैं? आईपीएसईसी टीएलएस के हमलों के लिए अतिसंवेदनशील नहीं है, इसलिए सीबीसी-मोड में टीएलएस की कमजोरियों के आसपास काम करने के लिए जीसीएम का उपयोग करने पर विचार करना एक लूट बिंदु है।
वबबिट

जवाबों:


15

आप जो नहीं चाहते हैं वह एक वीपीएन है। आप जो चाहते हैं वह वास्तव में IPsec है, लेकिन सुरंग मोड में नहीं। बल्कि, आप परिवहन मोड में IPsec चाहते हैं ।

इस कॉन्फ़िगरेशन में, प्रत्येक होस्ट अपने सहकर्मी से सीधे संवाद करता है, और केवल पैकेट पेलोड को एन्क्रिप्ट किया जाता है, जिससे आईपी हेडर को जगह मिलती है। इस तरह, आपको चीजों को काम करने के लिए किसी भी नियमित जिमनास्टिक करने की आवश्यकता नहीं है।

हां, आपको प्रत्येक होस्ट के लिए एक IPsec कनेक्शन श्लोक की आवश्यकता होगी (जब तक कि आपके मेजबानों को एक सबनेट में समूहीकृत नहीं किया जाता है, उस स्थिति में आप CIDR ब्लॉक के माध्यम से ऐसा कर सकते हैं), लेकिन वे आसानी से आपके कॉन्फ़िगरेशन प्रबंधन प्रणाली द्वारा प्रोग्रामेटिक रूप से उत्पन्न हो सकते हैं।

आपने कॉन्फ़िगरेशन विवरण के बारे में नहीं पूछा था, लेकिन यदि आपको कुछ पॉइंटर्स की आवश्यकता है (ट्रांसपोर्ट मोड पर वहाँ सभी ठोस जानकारी नहीं है), तो आप इस ब्लॉग पोस्ट का उल्लेख कर सकते हैं जिसे मैंने हाल ही में लिखा था।


मैं इसके लिए IPSEC ट्रांसपोर्ट मोड का उपयोग करने का विचार करता हूं। OpenSWAN के साथ PSK का उपयोग करना हालांकि सभी सेटअपों में सबसे अच्छा नहीं हो सकता है। लिनक्स पहले से ही एक देशी IPSEC कार्यान्वयन और एक कुंजीयन डेमॉन (दौड़ून) के साथ आता है, मैं तब तक उससे चिपके रहूंगा जब तक कि KAME / racoon द्वारा कवर नहीं की जाने वाली कोई विशिष्ट आवश्यकता न हो।
वबबिट

1
बहुत बहुत धन्यवाद! आपकी सलाह को ध्यान में रखते हुए, मैंने देशी IPsec कार्यान्वयन का उपयोग किया है। मैंने पहले छोटी सिंगल-कोर मशीनों पर परीक्षण किया, और पहले से ही थ्रूपुट में 50% की वृद्धि हुई और विलंबता लगभग 60% तक गिर गई। मैं अगले हफ्ते हसवेल नोड्स पर इसकी पुष्टि करूंगा और फिर जवाब स्वीकार करूंगा। मुझे यह पता लगाने की आवश्यकता है कि यदि एईएस-जीसीएम कर्नेल में समर्थित है, और इसे आईपीसेक को कैसे संकेत दिया जाए।
हांक

@ पर्यायवाची- dj - सिर्फ जिज्ञासु ... क्यों नहीं खुलता? यह अभी भी IPsec के लिए कर्नेल के IP xfrm बिट्स का उपयोग करता है, लेकिन प्लूटो का उपयोग इसके उपयोगकर्ता-अंतरिक्ष IKE डेमन के रूप में करता है। मैं इस बात की वकालत नहीं कर रहा हूँ कि सलामी बल्लेबाज वहाँ सबसे अच्छा है - यह सिर्फ मैंने इस्तेमाल किया है और अगर बेहतर विकल्प हैं, तो मैं उस दिशा में आगे बढ़ना चाहता हूँ।
EEAA

1
यह शायद व्यक्तिगत पसंद को उबालता है, लेकिन मुझे हमेशा Free- / OpenSWAN कॉन्फिग फाइलों और पूरी तरह से बदसूरत रूटिंग कार्यान्वयन की अशुद्धि के साथ मेरी परेशानी थी। मुझे बहुत पसंद है कि डायनेमिक पार्ट racoonctlबहुत ज्यादा मिलता-जुलता है, जो कमर्शियल राउटर्स अपने IPSEC कंट्रोल के लिए अनुमति देते हैं। KAME को अधिक अच्छी तरह से इंजीनियर लगता है जबकि OpenSWAN बल्कि एक साथ पैच लगता है।
वाबेट

@ पर्यायवाची- dj, क्या आप इस पर विस्तार से ध्यान देंगे? क्या आपका मतलब है कि आप कई एसए कॉन्फ़िगरेशन की आवश्यकता के बिना एक IPSec लिंक के माध्यम से कई नेटवर्क को रूट कर सकते हैं, जैसा कि अब ओपेंसवान के साथ खड़ा है?
rsuarez
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.