OpenVPN प्रदर्शन में सुधार


10

मैं अपने OpenVPN प्रदर्शन को बेहतर बनाने की कोशिश कर रहा हूं और यह मेरा वर्तमान सेटअप है:

 cat /etc/openvpn/server.conf
port 443 #- port
proto tcp #- protocol
dev tun
#tun-mtu 1500
tun-mtu-extra 32 
#mssfix 1450
tun-mtu 64800
mssfix 1440
reneg-sec 0
ca /etc/openvpn/easy-rsa/2.0/keys/ca.crt
cert /etc/openvpn/easy-rsa/2.0/keys/server.crt
key /etc/openvpn/easy-rsa/2.0/keys/server.key
dh /etc/openvpn/easy-rsa/2.0/keys/dh1024.pem
plugin /etc/openvpn/openvpn-auth-pam.so /etc/pam.d/login
#plugin /usr/share/openvpn/plugin/lib/openvpn-auth-pam.so /etc/pam.d/login #- Comment this line if you are using FreeRADIUS
#plugin /etc/openvpn/radiusplugin.so /etc/openvpn/radiusplugin.cnf #- Uncomment this line if you are using FreeRADIUS
client-to-client
client-cert-not-required
username-as-common-name
server 10.8.0.0 255.255.255.0
push "redirect-gateway def1"
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"
keepalive 5 30
comp-lzo
persist-key
persist-tun
status 1194.log
verb 3

ग्राहक:

client
dev tun
proto tcp
remote 18.4.26.8 443
resolv-retry infinite
nobind
tun-mtu 64800
tun-mtu-extra 32
mssfix 1440
persist-key
persist-tun
auth-user-pass
comp-lzo
verb 3

मैंने वेब पर जो कुछ भी पाया उससे मैंने MTU और MSSFIX में कुछ बदलाव किए।

क्या मेरे द्वारा किए जा सकने वाले कोई कर्नेल परिवर्तन हैं? यह एक CentOS 6.x बॉक्स है। मुझे बीएसडी आधारित कुछ सामान मिला लेकिन कुछ भी नहीं जो लिनक्स के लिए काम करता था।

मुझे पता है कि TCP धीमा है, फिर UDP लेकिन मुझे नेटवर्क पर फ़ायरवॉल प्राप्त करने के लिए SSL ट्रैफ़िक देखने में सक्षम होना चाहिए।

अन्य विचार?

नेटवर्क पर किसी अन्य क्लाइंट को पिंग करें जिसे मैं RDP में शामिल करता हूं।

Pinging 10.8.0.6 with 32 bytes of data:
Reply from 10.8.0.6: bytes=32 time=152ms TTL=128
Reply from 10.8.0.6: bytes=32 time=565ms TTL=128
Reply from 10.8.0.6: bytes=32 time=152ms TTL=128
Reply from 10.8.0.6: bytes=32 time=782ms TTL=128

Ping statistics for 10.8.0.6:
    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
    Minimum = 152ms, Maximum = 782ms, Average = 412ms

क्या प्रदर्शन में सुधार करने या पिंग को छोड़ने का कोई तरीका है?

संपादित करें: विखंडन सेटिंग स्थापित करने से कुछ मदद मिलेगी?


I know TCP is slower then UDP but I need to be able to look like SSL traffic to get thru a firewall on the network.अपने नेटवर्क व्यवस्थापक को काम पर Openvpn पोर्ट खोलने के लिए क्यों नहीं कहेंगे? एक संबंधित नोट पर, यह प्रश्न जैसा कि Licensing, legal advice, and *circumvention of security or policy*मैं स्पष्ट करता हूं अक्सर पूछे जाने वाले प्रश्न की शर्तों का उल्लंघन हो सकता है ।
prateek61

1
Theres इसके बारे में कुछ भी अवैध नहीं है। यह मेरे अपने सिस्टम को दूरस्थ रूप से एक्सेस करने का एकमात्र तरीका है। :)

2
आप जहां भी हैं, मैं फ़ायरवॉल नीति को दरकिनार करने के बारे में अधिक बात कर रहा था। आप पोर्ट खोलने के लिए नेटवर्क व्यवस्थापक से क्यों नहीं पूछ सकते? मैं वास्तव में वैधता के बारे में बात नहीं कर रहा था, सुरक्षा नीति को दरकिनार करने के बारे में अधिक।
prateek61

हो सकता है कि sshuttle टीसीपी-ओवर-टीसीपी वीपीएन के लिए आप के लिए बेहतर काम करेगा
ptman

जवाबों:


13

संक्षिप्त उत्तर: अक्षम comp-lzo

मुझे लगता है कि यह एक पुरानी पोस्ट है, लेकिन मैं भी OpenVPN के खराब प्रदर्शन से पीड़ित था। मैंने सब कुछ करने की कोशिश की थी, एमटीयू को समायोजित करना, एसएनडी और आरसीवी बफ़र्स को बदलना, एमएसएस क्लैम्पिंग, आप इसे नाम देते हैं। सीपीयू लोड नगण्य था।

comp-lzoफुसफुसाहट पर, मैंने संपीड़न ( क्लाइंट और सर्वर से हटा दिया) को अक्षम कर दिया और प्रदर्शन 2-4x बढ़ गया।

इसलिए, comp-lzoसक्षम होने के साथ मेरा अधिकतम प्रदर्शन 25-30 Mbit / s के आसपास था, और इसके बिना मैंने 120 Mbit / s (मेरे इंटरनेट कनेक्शन की गति) को मारा।

सर्वर एक Xeon E5-2650 है, ग्राहक कोर i5-3320M है। दोनों OpenVPN 2.3.10, AES-256-CBC, SHA512 चला रहे हैं। मेरे इंटेल क्रोमबुक ने मेरी इंटरनेट स्पीड भी बढ़ा दी है। मेरे Android ग्राहकों (14 Mbit / s -> 30 Mbit / s) पर प्रदर्शन दोगुना हो गया, जो IKEv2 सुरंग की गति से मेल खाता है।


6

टीसीपी -ओवर-टीसीपी समस्या के कारण, यूडीपी की तुलना में टीसीपी / बहुत अधिक / धीमा हो रहा है। मूल रूप से, टीसीपी कनेक्शन पैरामीटर की पहचान करने के लिए पैकेट ड्रॉप / भीड़ पर निर्भर करता है, और आपके टीसीपी-ओवर-ओपन वीपीएन कनेक्शन उन दोनों में से किसी का भी अनुभव नहीं करते हैं। लेकिन आपने कहा है कि यह एक विकल्प नहीं है।

आप mtu-discअपने कनेक्शन के लिए इष्टतम MTU सेटिंग्स को स्वचालित रूप से खोजने का विकल्प भी आज़मा सकते हैं । विभिन्न स्थानों में मामूली बेमेल हैं, जैसे कि ओपनवीपीएन की एमटीयू सेटिंग जिसमें ईथरनेट हेडर का आकार भी शामिल है। [ ]

आपकी tun-mtuसेटिंग बड़े पैमाने पर है, क्योंकि 65KB पैकेट में इंटरनेट के माध्यम से आने वाले विलंबता के बहुत सारे मुद्दे हैं (IPv4 जंबो पैकेट लगभग 9000 बाइट आकार में हैं, और ज्यादातर स्थानीय नेटवर्क पर काम करते हैं)। 1400 के बजाय कुछ की कोशिश करें, 1300 की तरह, यह देखने के लिए कि क्या एमटीयू आपका मुद्दा है।


2
धन्यवाद, कि OpenVPN पर काम करने के लिए एक postgresql- क्वेरी प्राप्त करने के साथ मेरी समस्या हल हो गई। एकल कॉलम पर क्वेरी करते समय यह काम करता है, लेकिन पूरे कॉलम के लिए नहीं। जाहिर है कि डिफ़ॉल्ट MTU-1500 के आकार की वजह से था। इसे 1300 पर सेट करने में मदद मिली!
क्रिश्चियन बेन्के

2

भले ही यह थोड़ी देर हो सकती है, आप कोशिश कर सकते हैं कि मैंने क्या किया:

सभी mss, mtu, आदि संबंधित विकल्पों को हटा दें

अपनी संस्था में एक पोर्ट स्कैन करें और एक यूडीपी पोर्ट चुने, आमतौर पर 53 जीआरई / 123 एनडीपी पोर्ट खुले होने चाहिए:

इन पंक्तियों को अपने सर्वर कॉन्फिगर में जोड़ें ( यहाँ देखें )

#possible bandwidth increase
sndbuf 393216
rcvbuf 393216
push "sndbuf 393216"
push "rcvbuf 393216"

मैं इन सेटिंग्स को पूरी तरह से नहीं समझता हूं, लेकिन उन्होंने निश्चित रूप से मदद की, कुछ का कहना है कि यह बहुत मदद करता है, मेरे अनुभव में, इसने मेरे प्रवाह को +/- 30% तक बढ़ा दिया

उन बंदरगाहों में से एक पर सर्वर शुरू करें और आपको जाने के लिए अच्छा होना चाहिए: पी

उम्मीद है की यह मदद करेगा!


9
-1 बहुत अधिक वूडू के लिए और समझ में नहीं आता कि वास्तव में क्या करते हैं। मैं ईमानदारी से कुछ की सिफारिश करने के लिए इसे गैर जिम्मेदाराना लगता हूं।
प्रीक्सो

0

sndbuf और rcvbuf, linux दिनों से linux / unix / openvpn में एक ANCIENT सेटिंग को सही करते हैं, धीमी सेटिंग्स के लिए ऑप्टिमाइज़ करने के लिए भले ही OS तेज़ वाले के लिए अनुकूलित हो।

sndbuf / rcvbuf 0 पर सेट बस OS की सेटिंग का उपयोग करेगा

पुश का उपयोग यह सुनिश्चित करने के लिए किया जाता है कि क्लाइंट ठीक से सेट है लेकिन आपको एक मूल्य की आवश्यकता है।

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