Systemd 16.04 कंटेनर प्रबंधित lxd में Openvpn शुरू करने में विफल रहता है


27

openvpnयूनिट फ़ाइल ExecStart=से सटीक कॉल का उपयोग करके कमांड लाइन से ठीक शुरू होता है systemd:

/usr/sbin/openvpn --daemon ovpn-server --status /run/openvpn/server.status 10 --cd /etc/openvpn --script-security 2 --config /etc/openvpn/server.conf /run/openvpn/server.pid

ps ax पुष्टि करता है कि प्रक्रिया वहां है:

1634 ?        Ss     0:00 /usr/sbin/openvpn --daemon ovpn-server --status /run/openvpn/server.status 10 --cd /etc/openvpn --script-security 2 --config /etc/openvpn/server.conf --writepid /run/openvpn/

लेकिन systemctl start openvpn@serverसफल नहीं है:

● openvpn@server.service - OpenVPN connection to server
   Loaded: loaded (/lib/systemd/system/openvpn@.service; disabled; vendor preset: enabled)
   Active: failed (Result: exit-code) since Thu 2016-03-17 09:54:52 UTC; 4s ago
     Docs: man:openvpn(8)
           https://community.openvpn.net/openvpn/wiki/Openvpn23ManPage
           https://community.openvpn.net/openvpn/wiki/HOWTO
  Process: 1679 ExecStart=/usr/sbin/openvpn --daemon ovpn-server --status /run/openvpn/server.status 10 --cd /etc/openvpn --script-security 2 --config /etc/openvpn/server.conf --writepid /run/openvpn/s
 Main PID: 819 (code=exited, status=1/FAILURE)

Mar 17 09:54:52 vpn ovpn-server[1679]:   push_ifconfig_ipv6_remote = ::
Mar 17 09:54:52 vpn ovpn-server[1679]:   enable_c2c = DISABLED
Mar 17 09:54:52 vpn ovpn-server[1679]:   duplicate_cn = DISABLED
Mar 17 09:54:52 vpn ovpn-server[1679]:   cf_max = 0
Mar 17 09:54:52 vpn ovpn-server[1679]:   cf_per = 0
Mar 17 09:54:52 vpn ovpn-server[1679]:   max_clients = 1024
Mar 17 09:54:52 vpn systemd[1]: openvpn@server.service: Control process exited, code=exited status=1
Mar 17 09:54:52 vpn systemd[1]: Failed to start OpenVPN connection to server.
Mar 17 09:54:52 vpn systemd[1]: openvpn@server.service: Unit entered failed state.
Mar 17 09:54:52 vpn systemd[1]: openvpn@server.service: Failed with result 'exit-code'.

मैं व्याख्या journalctl | grep ovpn-server | tail -n 100करता हूं कि यह कांटा करने में विफल रहा:

Mar 17 09:57:44 vpn ovpn-server[1693]: OpenVPN 2.3.10 x86_64-pc-linux-gnu [SSL (OpenSSL)] [LZO] [EPOLL] [PKCS11] [MH] [IPv6] built on Feb  2 2016
Mar 17 09:57:44 vpn ovpn-server[1693]: library versions: OpenSSL 1.0.2g  1 Mar 2016, LZO 2.08
Mar 17 09:57:44 vpn ovpn-server[1693]: daemon() failed or unsupported: Resource temporarily unavailable (errno=11)
Mar 17 09:57:44 vpn ovpn-server[1693]: Exiting due to fatal error

यह समस्या मेरे लिए OpenVZ पर Ububtu 16.4 के साथ हुई - LimitNPROCउत्तर में टिप्पणी करने से , सेवा ठीक शुरू हुई।
पियोत्र कुला

जवाबों:


46

मैं इसके लिए भी एक तय करने के लिए देख रहा हूँ। मैंने जो काम करने के लिए पाया है वह LimitNPROCलाइन में टिप्पणी करना है /lib/systemd/system/openvpn@.service

systemctl daemon-reloadउसके बाद दौड़ना न भूलें ।


3
धन्यवाद! आपने समस्या का निदान कैसे किया? जवाब जानने के बावजूद, मेरे लिए गुग्लिंग LimitNPROC lxdएक हिट नहीं लौटा सकता जो मेरे लिए तुरंत मददगार हो।
क्रिश्चियन डेविड

5
मैंने 15.10 lxd इंस्टेंस खींचा और सिस्टमड कॉन्फिग की तुलना करना शुरू कर दिया। LimitNPROC पहले संदिग्ध नहीं था, लेकिन यह पुराने विन्यास में मौजूद नहीं था इसलिए मैंने इसे हटाने की कोशिश की और इसे हल कर दिया। मैं उस बिंदु से एक दिन के लिए अपने बालों को फाड़ रहा था।
इयान

8
धन्यवाद, इससे मेरी समस्या भी ठीक हो गई! systemctl daemon-reloadइसके प्रभावी होने से पहले मुझे दौड़ना था ।
क्वेंटिन स्कूसन

1
क्या इसकी सूचना दी गई है?
user1338062

2
किसी ने इसे github.com/lxc/lxd/issues/3336 के
Happyyskeptic

14

सिस्टम पैकेज से उत्पन्न होने वाली सिस्टमफाइंग इकाइयों से बचने के लिए बेहतर है। सिस्टेम ओवरराइड ड्रॉप-इन का उपयोग करें:

systemctl edit openvpn@

Openvpn सर्वर के लिए यूनिट का नाम अलग हो सकता है, जैसे। पैकेज संस्करण के लिए 2.4.5-xenial0यह होगा

systemctl edit openvpn-server@

फिर संपादक में डालें:

[Service]
LimitNPROC=infinity

इसे /etc/systemd/system/openvpn@.service.d/override.confफ़ाइल (या संबंधित इकाई नाम के समान) बनाना चाहिए । इसे सक्रिय करने के लिए आप सिस्टमड को पुनः लोड करना चाह सकते हैं

systemctl daemon-reload

यदि यूनिट शुरू करना सफल है, LimitNPROC=infinityतो वापस जाएं और सीमा को डिफ़ॉल्ट के मुकाबले उच्च मूल्य में बदल दें 10। सेवा को सभी उपलब्ध ग्रिडों के सेवन से रोकने के लिए महत्वपूर्ण है जो सेवा से वंचित कर सकते हैं।

क्रेडिट:
ओवरराइड: /unix//a/398541/218321
"असीमित सीमा": /unix//a/345596/218321


3
यह कंटेनरों के openvpnअंदर भी ठीक करता हैopenvz
स्टुअर्ट कार्डल

यह स्वीकार किए गए से बेहतर समाधान है। मैंने अभी-अभी अपने कंटेनर को अपग्रेड किया है और ओपनवपन ने काम करना बंद कर दिया है। ऐसा इसलिए था क्योंकि मैंने ओवरराइड के बजाय स्टॉक सिस्टमड फाइल को अपडेट किया था।
WoJ

1

मुझे उन बंधुओं को उनके संबंधित भाई से भी जोड़ना था

DeviceAllow=/dev/net/tap rw
DeviceAllow=/dev/net/tap1 rw

इसे L2 स्तर पर चलाने के लिए।


उबंटू पूछने के लिए आपका स्वागत है! मैं यह करने के लिए कि यह कैसे करें के बारे में विशिष्ट विवरणों के साथ विस्तार करने के लिए इस उत्तर को संपादित करने की सलाह देता हूं । (यह भी देखें कि मैं एक अच्छा उत्तर कैसे लिख सकता हूँ? सामान्य सलाह के लिए किस तरह के उत्तर उबंटू पूछें पर सबसे अधिक मूल्यवान माना जाता है।)
डेविड फ़ॉस्टर
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.