OpenVPN क्लाइंट पर 'TLS त्रुटि: TLS हैंडशेक विफल' को ठीक करें


16

मैं सार्वजनिक इंटरनेट पर एसएमबी ट्रैफ़िक को एन्क्रिप्ट करने के लिए अपने आर्क लिनक्स सर्वर पर ओपनवीपीएन 2.3.6-1 को कॉन्फ़िगर कर रहा हूं। जब मैं अपने लिनक्स वर्चुअल मशीन क्लाइंट में से किसी एक पर सेटअप का परीक्षण करता हूं, तो मुझे त्रुटि मिलती है TLS Error: TLS handshake failed:।

मैंने जल्दी से पढ़ा ( ओपनवीजेड टीएलएस त्रुटि पर ओपनवीएनएल: टीएलएस हैंडशेक विफल (Google ने समाधानों की मदद नहीं करने का सुझाव दिया) ) और डिफ़ॉल्ट यूडीपी से टीसीपी में स्विच करने की कोशिश की, लेकिन इससे केवल क्लाइंट को बार-बार रिपोर्ट करने के लिए कि कनेक्शन का समय समाप्त हो गया। मैंने सिफर और टीएलएस प्रमाणीकरण को अक्षम करने का भी प्रयास किया, लेकिन इससे सर्वर विफल हो गया Assertion failed at crypto_openssl.c:523। दोनों उदाहरणों में, क्लाइंट और सर्वर कॉन्फ़िगरेशन दोनों के लिए आवश्यक परिवर्तन किए गए थे।

मैं कम से (निर्देशों का पालन किया गया है https://wiki.archlinux.org/index.php/OpenVPN (पर OpenVPN सेट करने के लिए) और निर्देश https://wiki.archlinux.org/index.php/Create_a_Public_Key_Infrastructure_Using_the_easy-rsa_Scripts ) चाबियाँ और प्रमाण पत्र बनाने के लिए। इन निर्देशों से मेरे द्वारा किए गए एकमात्र विचलन मेरे अपने कंप्यूटर के नाम और उनके संबंधित कुंजी / प्रमाणपत्र फ़ाइल नाम निर्दिष्ट कर रहे हैं।

इंटरनेट पर एसएमबी ट्रैफ़िक हासिल करने के बारे में मेरा मूल प्रश्न भी देखें: ( सांबा शेयरों के लिए सरल एन्क्रिप्शन )

क्या कोई समझा सकता है कि मैं इस मुद्दे को कैसे हल कर सकता हूं?

विवरण:

सर्वर: आर्क लिनक्स (आज तक) ईथरनेट केबल के माध्यम से सीधे प्रवेश द्वार से जुड़ा हुआ है। कोई iptables।

क्लाइंट: आर्कब लिनक्स (आज तक) वर्चुअलबॉक्स पर वर्चुअल मशीन 4.3.28r100309 विंडोज 8.1 होस्ट, नेटवर्क एडॉप्टर। कोई iptables। Windows फ़ायरवॉल अक्षम किया गया।

गेटवे: पोर्ट 1194 के लिए पोर्ट अग्रेषण सक्षम, कोई फ़ायरवॉल प्रतिबंध नहीं।

यहाँ क्रमशः सर्वर और क्लाइंट पर कॉन्फ़िगरेशन फ़ाइलें हैं। मैंने इन्हें आर्क विकी के निर्देशों के अनुसार बनाया है।

/etc/openvpn/server.conf (केवल गैर-टिप्पणी लाइनें):

port 1194
proto udp
dev tun
ca /etc/openvpn/ca.crt
cert /etc/openvpn/server-name.crt
key /etc/openvpn/server-name.key
dh /etc/openvpn/dh2048.pem
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
keepalive 10 120
tls-auth /etc/openvpn/ta.key 0
comp-lzo
user nobody
group nobody
persist-key
persist-tun
status openvpn-status.log
verb 3

/etc/openvpn/client.conf (केवल गैर-टिप्पणी लाइनें):

client
dev tun
proto udp
remote [my public IP here] 1194
resolv-retry infinite
nobind
user nobody
group nobody
persist-key
persist-tun
ca /etc/openvpn/ca.crt
cert /etc/openvpn/client-name.crt
key /etc/openvpn/client-name.key
remote-cert-tls server
tls-auth /etc/openvpn/ta.key 1
comp-lzo
verb 3

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

openvpn /etc/openvpn/server.confसर्वर पर आउटपुट :

Thu Jul 30 17:02:53 2015 OpenVPN 2.3.6 x86_64-unknown-linux-gnu [SSL (OpenSSL)] [LZO] [EPOLL] [MH] [IPv6] built on Dec  2 2014
Thu Jul 30 17:02:53 2015 library versions: OpenSSL 1.0.2d 9 Jul 2015, LZO 2.09
Thu Jul 30 17:02:53 2015 NOTE: your local LAN uses the extremely common subnet address 192.168.0.x or 192.168.1.x.  Be aware that this might create routing conflicts if you connect to the VPN server from public locations such as internet cafes that use the same subnet.
Thu Jul 30 17:02:53 2015 Diffie-Hellman initialized with 2048 bit key
Thu Jul 30 17:02:53 2015 Control Channel Authentication: using '/etc/openvpn/ta.key' as a OpenVPN static key file
Thu Jul 30 17:02:53 2015 Outgoing Control Channel Authentication: Using 160 bit message hash 'SHA1' for HMAC authentication
Thu Jul 30 17:02:53 2015 Incoming Control Channel Authentication: Using 160 bit message hash 'SHA1' for HMAC authentication
Thu Jul 30 17:02:53 2015 Socket Buffers: R=[212992->131072] S=[212992->131072]
Thu Jul 30 17:02:53 2015 ROUTE_GATEWAY 192.168.0.1/255.255.255.0 IFACE=enp5s0 HWADDR=##:##:##:##:##:##
Thu Jul 30 17:02:53 2015 TUN/TAP device tun0 opened
Thu Jul 30 17:02:53 2015 TUN/TAP TX queue length set to 100
Thu Jul 30 17:02:53 2015 do_ifconfig, tt->ipv6=0, tt->did_ifconfig_ipv6_setup=0
Thu Jul 30 17:02:53 2015 /usr/bin/ip link set dev tun0 up mtu 1500
Thu Jul 30 17:02:53 2015 /usr/bin/ip addr add dev tun0 local 10.8.0.1 peer 10.8.0.2
Thu Jul 30 17:02:53 2015 /usr/bin/ip route add 10.8.0.0/24 via 10.8.0.2
Thu Jul 30 17:02:53 2015 GID set to nobody
Thu Jul 30 17:02:53 2015 UID set to nobody
Thu Jul 30 17:02:53 2015 UDPv4 link local (bound): [undef]
Thu Jul 30 17:02:53 2015 UDPv4 link remote: [undef]
Thu Jul 30 17:02:53 2015 MULTI: multi_init called, r=256 v=256
Thu Jul 30 17:02:53 2015 IFCONFIG POOL: base=10.8.0.4 size=62, ipv6=0
Thu Jul 30 17:02:53 2015 IFCONFIG POOL LIST
Thu Jul 30 17:02:53 2015 Initialization Sequence Completed

openvpn /etc/openvpn/client.confक्लाइंट पर आउटपुट :

Thu Jul 30 21:03:02 2015 OpenVPN 2.3.6 x86_64-unknown-linux-gnu [SSL (OpenSSL)] [LZO] [EPOLL] [MH] [IPv6] built on Dec  2 2014
Thu Jul 30 21:03:02 2015 library versions: OpenSSL 1.0.2d 9 Jul 2015, LZO 2.09
Thu Jul 30 21:03:02 2015 WARNING: file '/etc/openvpn/client-name.key' is group or others accessible
Thu Jul 30 21:03:02 2015 WARNING: file '/etc/openvpn/ta.key' is group or others accessible
Thu Jul 30 21:03:02 2015 Control Channel Authentication: using '/etc/openvpn/ta.key' as a OpenVPN static key file
Thu Jul 30 21:03:02 2015 Outgoing Control Channel Authentication: Using 160 bit message hash 'SHA1' for HMAC authentication
Thu Jul 30 21:03:02 2015 Incoming Control Channel Authentication: Using 160 bit message hash 'SHA1' for HMAC authentication
Thu Jul 30 21:03:02 2015 Socket Buffers: R=[212992->131072] S=[212992->131072]
Thu Jul 30 21:03:02 2015 NOTE: UID/GID downgrade will be delayed because of --client, --pull, or --up-delay
Thu Jul 30 21:03:02 2015 UDPv4 link local: [undef]
Thu Jul 30 21:03:02 2015 UDPv4 link remote: [AF_INET][my public IP here]:1194
Thu Jul 30 21:04:02 2015 TLS Error: TLS key negotiation failed to occur within 60 seconds (check your network connectivity)
Thu Jul 30 21:04:02 2015 TLS Error: TLS handshake failed
Thu Jul 30 21:04:02 2015 SIGUSR1[soft,tls-error] received, process restarting
Thu Jul 30 21:04:02 2015 Restart pause, 2 second(s)

1
आपके क्लाइंट को कभी भी सर्वर से प्रतिक्रिया नहीं मिलती है। या तो आपके पास एक फ़ायरवॉल है जिसके बारे में आप भूल गए हैं, या आपका पोर्ट फ़ॉरवर्डिंग काम नहीं कर रहा है।
माइकल हैम्पटन

2
एक पैकेट सूँघें, जैसे: tcpdump -ni eth0 udp and port 1194 सर्वर पर और सुनिश्चित करें कि पैकेट आ रहे हैं। यदि वे हैं, तो फ़ायरवॉल ड्रॉपिंग पैकेट के साथ समस्या हो सकती है, यदि नहीं, तो शायद सबसे अधिक राउटर पर पोर्ट अग्रेषण के साथ कुछ समस्या है। आप इसे राउटर पर भी कर सकते हैं। एक शॉट दें और कुछ उच्च बंदरगाह का उपयोग करने की कोशिश करें, यह आम नहीं है, लेकिन हो सकता है कि आपके आईएसपी ने कुछ गड़बड़ कर दी हो, जैसे बंदरगाह 11194 / यूडीपी या 53 / यूडीपी।
मिशाल सोकोलोव्स्की

हाँ, यह अग्रेषण था। मैं आमतौर पर यूडीपी के साथ काम नहीं करता, इसलिए नियम बनाते समय मैं प्रोटोकॉल बदलना भूल गया। मैं जवाब के रूप में पोस्ट करूँगा।
काइल

3
यदि पैकेट सर्वर पर tcpdump में दिखाई देते हैं, तो क्या यह सुनिश्चित करने का एक तरीका है कि वे ओपनवपन पर ठीक से पहुंचें?
Joost

जवाबों:


9

मुझे भी यह समस्या थी।

मेरे सर्वर के लिए डिजिटल प्रदाता का उपयोग कर रहा हूँ और समस्या अस्थायी आईपी सुविधा के साथ थी।

इसे ठीक करने के लिए, आपको ओपनवीपीएन कॉन्फिग सेटिंग को अपडेट करना होगा:

local <ip anchor>

आईपी ​​एंकर ip addrकमांड से इकट्ठा किया गया एक आईपी एड्रेस होना चाहिए , उदाहरण देखें: यहाँ छवि विवरण दर्ज करें

इस पोस्ट का श्रेय


मैं इस मुद्दे के साथ ही एक pfsense डिवाइस था। local <ip address of VPN server>सर्वर कॉन्फ़िगरेशन में प्रविष्टि जोड़ना इसे ठीक करता है। ध्यान दें कि टीसीपी के लिए इस प्रविष्टि की आवश्यकता नहीं थी, यह त्रुटि देने के लिए केवल यूडीपी था।
विन्केन्ज़ो पीआई

5

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


0

यदि यह OS कोर को अपडेट करने के बाद दिखाई देता है। या आने वाले पैकेट सर्वर पर tcpdump में दिखाई देते हैं, लेकिन फिर भी काम नहीं करते हैं। एक सरल फ़ायरवॉल अक्षम / सक्षम करने का प्रयास करें। शायद कोई मदद करेगा।

sudo ufw disable
sudo ufw enable

0

मेरा वर्तमान कॉन्फ़िगरेशन कुछ देशों में काम करेगा लेकिन अन्य नहीं। मुझे संदेह है कि मेरा वर्तमान प्रदाता टीएलएस हैंडशेक पैकेट को अवरुद्ध कर रहा है। समाधान? मेरे मामले में - - जब से मैं केवल एक का उपयोग कर कि वीपीएन मैं स्थिर कुंजी प्रमाणीकरण जो में बदला गया है हूँ सुपर तेज साबित हुई https://openvpn.net/index.php/open-source/documentation/miscellaneous/78-static -कुंजी-मिनी howto.html


0

सर्वर साइड पर एक गलत डिफ़ॉल्ट गेटवे के कारण मुझे यह समस्या हो रही थी। OpenVPN सर्वर को क्लाइंट से कनेक्शन का प्रयास मिल रहा था, लेकिन प्रतिक्रिया तब खो रही थी क्योंकि यह कभी सही राउटर तक नहीं पहुंची थी।


क्या आपको याद है कि आपको इसे कहां बदलना था? क्या यह था etc/openvpn/server.conf?
आर्थर एटआउट

मुझे लगता है कि सर्वर साइड में रूटिंग टेबल के साथ कुछ गलत था। के साथ जाँच करें ip route
lanoxx

0

मुझे बस यह समस्या थी। मेरी .ovpn फ़ाइल की जाँच करने पर मैंने देखा कि .ddns.net को IP पते में बदल दिया गया था, यही कारण है कि यह कनेक्ट नहीं हुआ। मैंने IP को .ddns.net पते पर वापस बदल दिया और यह कनेक्ट हो गया।

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