बहुत कम TCP OpenVPN थ्रूपुट (100Mbit पोर्ट, कम CPU उपयोग)


27

मैं दो सर्वरों के बीच बेहद धीमी ओपनवीपीएन ट्रांसफर दरों का अनुभव कर रहा हूं। इस प्रश्न के लिए, मैं सर्वरों को सर्वर A और सर्वर B कहूँगा।

सर्वर A और सर्वर B दोनों CentOS 6.6 चल रहे हैं। दोनों 100Vbit लाइन के साथ डेटासेंटर में स्थित हैं और OpenVPN के बाहर दो सर्वरों के बीच डेटा ट्रांसफर ~ 88Mbps के करीब चलता है।

हालाँकि, जब मैं सर्वर ए और सर्वर बी के बीच स्थापित ओपनवीपीएन कनेक्शन पर किसी भी फाइल को स्थानांतरित करने का प्रयास करता हूं, तो मुझे 6.55 एमबीपीएस के आसपास थ्रूपुट मिलता है।

IPerf से परीक्षा परिणाम:

[  4] local 10.0.0.1 port 5001 connected with 10.0.0.2 port 49184
[  4]  0.0-10.0 sec  7.38 MBytes  6.19 Mbits/sec
[  4]  0.0-10.5 sec  7.75 MBytes  6.21 Mbits/sec
[  5] local 10.0.0.1 port 5001 connected with 10.0.0.2 port 49185
[  5]  0.0-10.0 sec  7.40 MBytes  6.21 Mbits/sec
[  5]  0.0-10.4 sec  7.75 MBytes  6.26 Mbits/sec

इन OpenVPN iperf परीक्षणों के अलावा, दोनों सर्वर लगभग पूरी तरह से शून्य लोड के साथ निष्क्रिय हैं।

सर्वर A को IP 10.0.0.1 सौंपा गया है और यह OpenVPN सर्वर है। सर्वर B को IP 10.0.0.2 सौंपा गया है और यह OpenVPN क्लाइंट है।

सर्वर A के लिए OpenVPN कॉन्फ़िगरेशन निम्नानुसार है:

port 1194
proto tcp-server
dev tun0
ifconfig 10.0.0.1 10.0.0.2
secret static.key
comp-lzo
verb 3

सर्वर B के लिए OpenVPN कॉन्फ़िगरेशन निम्नानुसार है:

port 1194
proto tcp-client
dev tun0
remote 204.11.60.69
ifconfig 10.0.0.2 10.0.0.1
secret static.key
comp-lzo
verb 3

मैंने क्या देखा है:

1. मेरा पहला विचार यह था कि मैं सर्वर पर सीपीयू को टोंटी मार रहा था। OpenVPN सिंगल-थ्रेडेड है और ये दोनों सर्वर Intel Xeon L5520 प्रोसेसर चलाते हैं जो सबसे तेज़ नहीं हैं। हालाँकि, मैंने topiperf परीक्षणों में से एक के दौरान एक कमांड चलाया और 1कोर द्वारा CPU उपयोग को देखने के लिए दबाया और पाया कि प्रत्येक कोर पर CPU लोड बहुत कम था:

top - 14:32:51 up 13:56,  2 users,  load average: 0.22, 0.08, 0.06
Tasks: 257 total,   1 running, 256 sleeping,   0 stopped,   0 zombie
Cpu0  :  2.4%us,  1.4%sy,  0.0%ni, 94.8%id,  0.3%wa,  0.0%hi,  1.0%si,  0.0%st
Cpu1  :  0.0%us,  0.0%sy,  0.0%ni,100.0%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Cpu2  :  0.0%us,  0.0%sy,  0.0%ni, 99.7%id,  0.0%wa,  0.0%hi,  0.0%si,  0.3%st
Cpu3  :  0.3%us,  0.0%sy,  0.0%ni, 99.7%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Cpu4  :  0.0%us,  0.0%sy,  0.0%ni,100.0%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Cpu5  :  0.0%us,  0.0%sy,  0.0%ni,100.0%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Cpu6  :  0.0%us,  0.0%sy,  0.0%ni,100.0%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Cpu7  :  0.0%us,  0.0%sy,  0.0%ni,100.0%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Cpu8  :  0.0%us,  0.0%sy,  0.0%ni,100.0%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Cpu9  :  0.0%us,  0.0%sy,  0.0%ni,100.0%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Cpu10 :  0.0%us,  0.0%sy,  0.0%ni,100.0%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Cpu11 :  0.0%us,  0.0%sy,  0.0%ni,100.0%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Cpu12 :  0.0%us,  0.0%sy,  0.0%ni,100.0%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Cpu13 :  0.0%us,  0.0%sy,  0.0%ni,100.0%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Cpu14 :  0.0%us,  0.0%sy,  0.0%ni,100.0%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Cpu15 :  0.0%us,  0.0%sy,  0.0%ni,100.0%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:    946768k total,   633640k used,   313128k free,    68168k buffers
Swap:  4192188k total,        0k used,  4192188k free,   361572k cached

2. आईपीवीएफ चलने के दौरान ओपनवीपीएन सुरंग पर पिंग समय में काफी वृद्धि होती है। जब iperf नहीं चल रहा है, तो सुरंग के ऊपर पिंग बार लगातार 60ms (सामान्य) होता है। लेकिन जब iperf चल रहा है और भारी ट्रैफ़िक को आगे बढ़ा रहा है, तो पिंग बार अनिश्चित हो जाता है। आप नीचे देख सकते हैं कि जब मैं iperf परीक्षण शुरू कर चुका हूं तो पिंग समय 4 वें पिंग तक स्थिर रहता है:

PING 10.0.0.2 (10.0.0.2) 56(84) bytes of data.
64 bytes from 10.0.0.2: icmp_seq=1 ttl=64 time=60.1 ms
64 bytes from 10.0.0.2: icmp_seq=2 ttl=64 time=60.1 ms
64 bytes from 10.0.0.2: icmp_seq=3 ttl=64 time=60.2 ms
** iperf test begins **
64 bytes from 10.0.0.2: icmp_seq=4 ttl=64 time=146 ms
64 bytes from 10.0.0.2: icmp_seq=5 ttl=64 time=114 ms
64 bytes from 10.0.0.2: icmp_seq=6 ttl=64 time=85.6 ms
64 bytes from 10.0.0.2: icmp_seq=7 ttl=64 time=176 ms
64 bytes from 10.0.0.2: icmp_seq=8 ttl=64 time=204 ms
64 bytes from 10.0.0.2: icmp_seq=9 ttl=64 time=231 ms
64 bytes from 10.0.0.2: icmp_seq=10 ttl=64 time=197 ms
64 bytes from 10.0.0.2: icmp_seq=11 ttl=64 time=233 ms
64 bytes from 10.0.0.2: icmp_seq=12 ttl=64 time=152 ms
64 bytes from 10.0.0.2: icmp_seq=13 ttl=64 time=216 ms

3. जैसा कि ऊपर उल्लेख किया गया है, मैंने ओपनवीपीएन सुरंग के बाहर आईपीरफ़ चलाया और थ्रूपुट सामान्य था - ~ 88 एमबीपीएस लगातार।

मैंने क्या कोशिश की है:

1. मुझे लगा कि कंप्‍यूटर चीजों को दूभर कर सकता है, इसलिए मैंने comp-lzoदोनों कॉन्फिगों को हटाकर ओपनवीपीएन को फिर से शुरू करके कम्‍प्रेशन को बंद कर दिया । कोई सुधार नहीं।

2. भले ही मैंने पहले पाया था कि सीपीयू का उपयोग कम था, मैंने सोचा कि सिस्टम के साथ रखने के लिए डिफ़ॉल्ट सिफर थोड़ा बहुत गहन हो सकता है। तो मैं cipher RC2-40-CBCदोनों विन्यास (एक बहुत हल्के सिफर) में जोड़ा गया और OpenVPN को पुनः आरंभ किया। कोई सुधार नहीं।

3. मैं विभिन्न फोरम पर पढ़ता हूं कि कैसे टुकड़े टुकड़े करना, mssfix और mtu-tun प्रदर्शन के साथ मदद कर सकता है। मैंने इस लेख में वर्णित कुछ बदलावों के साथ खेला , लेकिन फिर से, कोई सुधार नहीं हुआ।

इस तरह के खराब OpenVPN प्रदर्शन के कारण क्या हो सकता है पर कोई विचार?


कोई लिंक, यहाँ से टिप्पणी मदद? forum.openvpn.net/topic10593.html
मैट

अधिकांश सुझावों में ऐसी चीजें हैं जो मैंने पहले ही कोशिश की हैं: 1. सीपीयू अड़चन की जांच करें, 2. वीपीएन के बिना हस्तांतरण की गति को सत्यापित करें, 3. संपीड़न को टॉगल करें, 4. एक तेज सिफर चुनें, आदि उनमें से किसी के साथ कोई भाग्य नहीं है। अभी तक: - / यह विचित्र है। धीमी गति और उच्च / अस्थिर पिंग समय के अलावा, मुझे कोई और संकेत नहीं दिख रहा है कि अड़चन कहां हो सकती है।
इलियट बी।

क्या दोनों मशीनें एक ही डेटासेंटर में हैं? एक ही डेटा सेंटर के भीतर 60ms बहुत अधिक है। मुझे कोशिश करने का लालच दिया जा सकता है, cipher noneहालांकि मुझे संदेह है कि इससे मदद मिलेगी।
ज़ोराडेक

@Zoredache क्षमा करें - मैं सर्वर के स्थानों के बारे में स्पष्ट नहीं था - सर्वर A डलास में है और सर्वर B सिएटल में है।
इलियट बी।

क्या आपने एमटीयू की जाँच की है? Esp: ट्यून mtu, टुकड़ा और mssfix मापदंडों? दस्तावेज़ीकरण
लेन्नी

जवाबों:


26

Googling और कॉन्फ़िगरेशन फ़ाइल के बहुत सारे मोड़ के बाद, मुझे इसका समाधान मिला। मैं अब 60Mbps की निरंतर गति प्राप्त कर रहा हूं और 80Mbps तक फट गया हूं। यह वीपीएन के बाहर मुझे प्राप्त होने वाली स्थानांतरण दरों की तुलना में थोड़ा धीमा है, लेकिन मुझे लगता है कि यह उतना ही अच्छा है जितना कि यह मिलेगा।

पहले कदम के सेट के लिए गया था sndbuf 0और rcvbuf 0दोनों सर्वर और ग्राहक के लिए OpenVPN विन्यास में।

मैंने एक सार्वजनिक मंच पोस्ट (जो एक रूसी मूल पोस्ट का अंग्रेजी अनुवाद है ) पर ऐसा करने के सुझाव को देखने के बाद यह बदलाव किया, जिसे मैं उद्धृत करूंगा:

यह जुलाई, 2004 है। विकसित देशों में सामान्य घरेलू इंटरनेट की गति 256-1024 Kbit / s है, कम विकसित देशों में 56 Kbit / s है। लिनक्स 2.6.7 बहुत पहले नहीं जारी किया गया था और 2.6.8 जहां टीसीपी विंडोज आकार स्केलिंग को डिफ़ॉल्ट रूप से सक्षम किया जाएगा केवल एक महीने में जारी किया जाता है। ओपनवीपीएन 3 साल पहले से ही सक्रिय विकास में है, 2.0 संस्करण लगभग जारी हो गया है। डेवलपर्स में से एक सॉकेट बफर के लिए कुछ कोड जोड़ने का फैसला करता है, मुझे लगता है कि ओएस के बीच बफर आकार को एकजुट करना है। विंडोज में, एडेप्टर 'MTU के साथ कुछ गलत हो जाता है यदि कस्टम बफ़र आकार सेट होते हैं, तो अंत में यह निम्न कोड में बदल जाता है:

#ifndef WIN32
o->rcvbuf = 65536;
o->sndbuf = 65536;
#endif

यदि आपने ओपनवीपीएन का उपयोग किया है, तो आपको पता होना चाहिए कि यह टीसीपी और यूडीपी पर काम कर सकता है। यदि आप कस्टम TCP सॉकेट बफ़र मान को 64 KB से कम पर सेट करते हैं, तो TCP विंडो आकार स्केलिंग एल्गोरिथ्म विंडो का आकार 64 KB से अधिक समायोजित नहीं कर सकता है। इसका क्या मतलब है? इसका मतलब है कि अगर आप लंबी वीपीटी लिंक पर दूसरी वीपीएन साइट से जुड़ रहे हैं, यानी यूएसए से रूस के बीच लगभग 100 एमएस है, तो आपको डिफ़ॉल्ट ओपन वीपीएन बफर सेटिंग्स के साथ 5.12 एमबीटी / एस से अधिक गति नहीं मिल सकती है। आपको उस लिंक पर 50 Mbit / s प्राप्त करने के लिए कम से कम 640 KB बफर की आवश्यकता है। यूडीपी तेजी से काम करेगा क्योंकि इसमें खिड़की का आकार नहीं है, लेकिन यह बहुत तेजी से काम नहीं करेगा।

जैसा कि आप पहले से ही अनुमान लगा सकते हैं, नवीनतम OpenVPN रिलीज़ अभी भी 64 KB सॉकेट बफर आकार का उपयोग करता है। हमें इस मुद्दे को कैसे ठीक करना चाहिए? सबसे अच्छा तरीका है ओपन बफर को कस्टम बफर आकार सेट करने के लिए अस्वीकृत करना। आपको सर्वर और क्लाइंट कॉन्फिगर फाइल दोनों में निम्न कोड जोड़ना चाहिए:

sndbuf 0
rcvbuf 0

यदि आप क्लाइंट के नियंत्रण में नहीं हैं, तो लेखक यह बताता है कि बफर साइज समायोजन को क्लाइंट पर कैसे धकेलें।

जब मैंने उन बदलावों को किया, तो मेरी थ्रूपुट दर 20Mbps तक बढ़ गई। मैंने तब देखा कि सीपीयू का उपयोग एकल कोर पर थोड़ा अधिक था इसलिए मैंने comp-lzoक्लाइंट और सर्वर दोनों पर कॉन्फ़िगरेशन से (संपीड़न) हटा दिया । यूरेका! स्थानांतरण गति 60Mbps तक बनी रही और 80Mbps फट गई।

मुझे उम्मीद है कि यह किसी और को OpenVPN सुस्ती के साथ अपने स्वयं के मुद्दों को हल करने में मदद करता है!


4

कुछ कोशिशों के बाद, मैं एक अच्छे समाधान पर पहुँच गया हूँ। मेरे मामले में, @ इलियट के जवाब से कोई मदद नहीं मिली। Googling अधिक, मुझे सर्वर के कॉन्फ़िगरेशन में जोड़ने के लिए इस स्निपेट का पता चला जिसने काम किया

sndbuf 393216
rcvbuf 393216
push "sndbuf 393216"
push "rcvbuf 393216"

मेरे पास रास्पबेरी PI3 पर थोड़ा OpenVPN सर्वर चल रहा है और अब मुझे 71 एमबीपीएस डाउनलिंक और 16 एमबीपीएस अपलिंक मिलता है । सीपीयू की शक्ति के बाद से डाउनलोड सीमित है। अभी, मेरा विन्यास निम्नलिखित है:

client-to-client
duplicate-cn
keepalive 10 120
cipher AES-128-CBC
#cipher AES-256-CBC <<<---- lowers the speed to around 50Mbps, still not bad
comp-lzo
user nobody
group nogroup
persist-key
persist-tun
tun-mtu 9000

OpenVPN 2.4.0 बांह-अज्ञात-linux-gnueabihf OpenSSL 1.0.2l के साथ

यह बहुत अजीब लगता है कि बफर के डिफ़ॉल्ट कॉन्फ़िगरेशन के बारे में ऐसी समस्या अभी भी मौजूद है।

[संपादित करें] मेरा मुवक्किल .ovpn फ़ाइल इस तरह संरचित है:

client
dev tun
proto tcp
remote SERVER.IP.ADDRESS.HERE
resolv-retry infinite
nobind
persist-key
persist-tun
mute-replay-warnings
ns-cert-type server
tun-mtu 9000
key-direction 1
cipher AES-128-CBC
comp-lzo
verb 1
mute 20
<ca>
-----BEGIN CERTIFICATE-----
[...]
-----END CERTIFICATE-----
</ca>
<cert>
-----BEGIN CERTIFICATE-----
[...]
-----END CERTIFICATE-----
</cert>
<key>
-----BEGIN RSA PRIVATE KEY-----
[...]
-----END RSA PRIVATE KEY-----
</key>
<tls-auth>
-----BEGIN OpenVPN Static key V1-----
[...]
-----END OpenVPN Static key V1-----
</tls-auth>

बफर साइज सेट करने से मुझे मदद मिली।
रॉल्फ

आपने क्लाइंट .ovpn फ़ाइल में क्या रखा है?
पाटोशी 34 ト

@Patoshi P パ comment मैंने sndbuf और recbuf के बारे में टिप्पणी की है, सिफर और संपीड़न के अनुसार डाल दिया और डिफ़ॉल्ट मापदंडों को छोड़ दिया।
कर्नेल

@ कर्नेल क्या आप मुझे दिखा सकते हैं कि आपके ग्राहक में क्या है? मैं हांगकांग से NYC के लिए एक OpenVPN कनेक्शन कर रहा हूँ और इसके बेतरतीब ढंग से धीमा और कभी-कभी डिस्कनेक्ट करता है। मुझे यकीन नहीं है कि क्यों।
पडोशी パ パ

@Patoshi P パ edited मैंने अपना उत्तर संपादित कर लिया है, इसे फिर से जांचें। फिर भी, मैं आपको इसके बजाय UDP का उपयोग करने का प्रयास करने का सुझाव दूंगा, क्योंकि यह आपके सर्वर के साथ अस्थिर लिंक की समस्या को हल करने में आपकी मदद कर सकता है। वास्तव में, यह सिर्फ एक धारणा है, मैंने इस स्थिति में इस समाधान को बेंचमार्क करने की कोशिश नहीं की है।
कर्नेल

1

विन्यास के अनुसार आप सुरंग के लिए परिवहन के रूप में टीसीपी का उपयोग कर रहे हैं। पैकेट नुकसान की स्थिति में समस्या पैदा करने के लिए खड़ी टीसीपी कनेक्शन तम्बू के बाद से टीसीपी के बजाय यूडीपी का उपयोग करने पर विचार करें।

संदर्भ के रूप में देखें कि टीसीपी ओवर टीसीपी एक बुरा विचार क्यों है


दुर्भाग्य से UDP हमारे लिए कोई विकल्प नहीं है। हमें यह सुनिश्चित करने की आवश्यकता है कि हम जिन डेटा पैकेटों को संचारित करते हैं वे अपेक्षित रूप से पहुंचें। फिर भी हमने पहले यूडीपी के साथ प्रयोग किया और खराब हस्तांतरण दर अभी भी एक समस्या थी।
इलियट बी।

6
We need to ensure that the data packets we transmit arrive as expected.और क्या यह प्रोटोकॉल द्वारा नियंत्रित नहीं है जिसे सुरंग बनाया जा रहा है? आपको क्यों लगता है कि आपकी सुरंग को लागू करने वाली चीज़ होने की आवश्यकता है?
Zoredache

शायद यह मामला है, लेकिन हम एक लंबी दूरी की अतुल्यकालिक DRBD कार्यान्वयन (यानी, फ़ाइल-सिस्टम प्रतिकृति) के लिए OpenVPN का उपयोग कर रहे हैं। डेटा अखंडता वास्तव में महत्वपूर्ण है, इसलिए भले ही DRBD में अंतरण अखंडता को सत्यापित करने के लिए आंतरिक तंत्र है, मैं इसे टीसीपी पर रखना चाहूंगा। किसी भी तरह से, जब यह यूडीपी पर था तब भी हमारे पास कम थ्रूपुट था।
इलियट बी।

3
@ElliotB। चूंकि DRBD प्रतिकृति के लिए टीसीपी का उपयोग करता है, यह ओपनवीपीएन यूडीपी पैकेट खो जाने की स्थिति में पुन: प्रदर्शित करेगा। वास्तव में इस मामले में टीसीपी का उपयोग करते हुए आप एक के बजाय दो रिट्रांस्फर करेंगे ... जिनमें से एक को फेंक दिया जाएगा। और आप बिना DRBD ट्रैफिक के एक बहुत लंबी विंडो बना सकते हैं (यहां तक ​​कि इसकी वजह से टूटी हुई प्रतिकृति भी मिल सकती है)। एक बार जब आपको मार्ग पर कुछ पैकेट मिलते हैं, तो आप देखेंगे कि यह कितना बुरा सोच है।
फॉक्स

@ फॉक्स स्पष्टीकरण प्रदान करने के लिए धन्यवाद! दरअसल DRBD TCP (drbd.linbit.com/users-guide/s-prepare-network.html) का उपयोग करता है। LDPdragon ने UDP पर स्विच करने का पहले सुझाव दिया था, उस समय प्रासंगिक नहीं था क्योंकि UDP भी बहुत कम हस्तांतरण दरों का अनुभव कर रहा था, लेकिन मैंने जो समाधान ऊपर पोस्ट किया था, उसे लागू करने के बाद हमने UDP में स्विच किया और कुछ एमबीपीएस के दूसरे प्रदर्शन लाभ का अनुभव किया।
इलियट बी।

1

हमारे पास दो अंतरमहाद्वीपीय सर्वर हैं जो एक दूसरे से लिंक करते हैं, उनके बीच की गति लगभग 220 Mbit / s मँडराती है।

(UDP) ओपनवीपीएन सुरंग के अंदर, गति 21 Mbit / s - लगभग 10x धीमी होगी।

(सर्वर के बीच एक महत्वपूर्ण विलंबता है: लगभग 130 एमएस, और स्थानांतरण टीसीपी मोड में Iperf3 का उपयोग करके मापा गया था।)

इस लेखन के रूप में यहाँ पर सभी सुझावों की कोशिश की, और कुछ भी मदद नहीं की।

एक चीज जो आखिरकार मदद करती है वह यह थी:

--txqueuelen 4000

OpenVPN संदर्भ मैनुअल के अनुसार:

–txqueuelen n 
(Linux only) Set the TX queue length on the TUN/TAP interface. Currently defaults to 100.

सर्वर और क्लाइंट पर इस पैरामीटर को सेट करने के बाद, मैं OpenVPN सुरंग के नीचे भी उसी 'डायरेक्ट-लिंक' स्पीड (~ 250Mbit / s) तक पहुंचने में सक्षम था।

मैं पहले से ही उपयोग कर रहा था rcvbuf 0और sndbuf 0है, लेकिन कम से कम अकेला , वे सब पर मदद नहीं की।

मुझे ये अनुशंसाएँ दोनों में मिली हैं: OpenVPN मंचों में यह पृष्ठ और UDPspeeder विकि में इस पृष्ठ में भी ।

एक और नोट पर: मैं iperf में यूडीपी ट्रांसफर का उपयोग करके उच्च गति तक पहुंचने में सक्षम था, लेकिन ऐसा करने से काफी उच्च पैकेट-नुकसान भी होगा।

अगर किसी तरह से आपको वीपीएन का उपयोग करने के लिए दो स्थानों को नुकसानदेह लिंक के साथ सुरंग बनाने की आवश्यकता है, तो मैं आपको वीपीएन के तहत कुछ प्रकार के फॉरवर्ड-एरर-करेक्शन (एफईसी) सुरंग का उपयोग करने पर विचार करने की सलाह दूंगा। मैंने जिन दो को खोजने और काम करने में कामयाबी हासिल की है, वे हैं:

  • उपर्युक्त UDPspeeder , जो UDP कनेक्शन को सुरंग करता है;
  • kcptun , जो टीसीपी कनेक्शन को सुरंग करती है;

पैकेटेटोस (पहले स्थान पर अधिक बैंडविड्थ खर्च करके) के साथ दोनों बहुत मदद कर सकते हैं, और अंत में उच्च डेटा थ्रूपुट के लिए भी अग्रणी है, यहां तक ​​कि अतिरिक्त उपरि के साथ, जो वास्तव में साफ है अगर आप मुझसे पूछें।

(ऐसा इसलिए है क्योंकि पैकेट-लॉस वास्तव में एक नेटवर्क को गड़बड़ कर सकता है , विशेष रूप से टीसीपी पेज 6 देखें )

मैंने सभी सामान्य कारणों से, UDP पर OpenVPN का उपयोग करना पसंद किया होगा, लेकिन UDPspeeder से निपटना तब मुश्किल हो गया है जब आपके पास 100ms से अधिक विलंबता और> 10 Mbit / s की गति है।

kcptun हालांकि, बहुत कम ट्विकिंग के साथ महान काम करती है, और वास्तव में वास्तव में हमारे सर्वर एक दूसरे के साथ थ्रूपुट बढ़ाते हैं। =)

एक विस्तारित नोट पर, यहां आप OpenVPN प्रदर्शन के कुछ हिस्सों को ट्विक करने के बारे में कुछ और विस्तृत विवरण पा सकते हैं।


0

मेरे लिए जापान में ओपेन वीपीएन सर्वर सेटअप वाला वीपीएस सर्वर था और मेरा ग्राहक कनेक्शन एनवाईसी में ओपनवीपीएन क्लाइंट मोड में डीडब्ल्यूआरटी का उपयोग कर रहा था। मुझे 100 मीबिट कनेक्शन पर केवल 1-2mbps मिल रहा था। सबसे अच्छा मैं इसे 5mbps के लिए ऑप्टिमाइज़ करने में सक्षम था जो कि मेरी ज़रूरत के लिए पर्याप्त था जो कि उतना ही अनुकूलित है जितना मैं इसे बना सकता हूं मुझे विश्वास है।

मेरी OpenVPN सर्वर सेटिंग्स:

tun-mtu 9000
sndbuf 393216
rcvbuf 393216
push "sndbuf 393216"
push "rcvbuf 393216"
comp-lzo
txqueuelen 4000
######
port 10111
proto udp
dev tun
user nobody
group nobody
persist-key
persist-tun
keepalive 10 120
topology subnet
server x.x.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push "dhcp-option DNS 1.0.0.1"
push "dhcp-option DNS 1.1.1.1"
push "redirect-gateway def1 bypass-dhcp"
dh none
ecdh-curve prime256v1
#tls-crypt tls-crypt.key 0
crl-verify crl.pem
ca ca.crt
cert server_IzA1QdFzHLRFfEoQ.crt
key server_IzA1QdFzHLRFfEoQ.key
auth SHA256
#cipher AES-128-GCM
#cipher AES-128-CBC
#ncp-ciphers AES-128-GCM
#ncp-ciphers AES-128-CBC
#tls-server
#tls-version-min 1.2
#tls-cipher TLS-ECDHE-ECDSA-WITH-AES-128-GCM-SHA256
#tls-cipher TLS-DHE-RSA-WITH-AES-128-CBC-SHA
status /var/log/openvpn/status.log
verb 3

मेरी DDWRT OpenVPN क्लाइंट सेटिंग्स को मेरे स्क्रीनशॉट में भी देखा गया है:

tun-mtu 9000
comp-lzo
##########
resolv-retry infinite
nobind
persist-key
persist-tun
remote-cert-tls server
verify-x509-name server_IzA1QdFzHLRFfEoQ name
auth SHA256
auth-nocache
setenv opt block-outside-dns # Prevent Windows 10 DNS leak
verb 3

यहाँ छवि विवरण दर्ज करें

यहाँ छवि विवरण दर्ज करें

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