Sistemd, lxd tarafından yönetilen 16.04 kapsayıcısında openvpn başlatılamadı


27

openvpnünite dosyasından yapılan tam ExecStart=çağrıyı kullanarak komut satırından ince başlar 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 sürecin orada olduğunu onaylar:

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/

Ancak systemctl start openvpn@serverbaşarılı değil:

● 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Çatalı başarısız olduğunu yorumluyorum :

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

Bu sorun benim için OpenVZ'de Ububtu 16.4 ile oldu - Cevaptaki LimitNPROCgibi bir yorum yaparak , servis iyi başladı.
Piotr Kula

Yanıtlar:


46

Bunun için de bir düzeltme arıyorum. Çalışırken bulduğum şey LimitNPROCçizgiyi yorumlamak /lib/systemd/system/openvpn@.service.

Ondan systemctl daemon-reloadsonra kaçmayı unutma .


3
Teşekkür ederim! Sorunu nasıl teşhis ettiniz? Cevabı bilsem bile, googling LimitNPROC lxdbana hemen yardımcı olabilecek bir hit iade olmazdı.
Christian David

5
15.10 lxd örneği çektim ve systemd config'i karşılaştırmaya başladım. LimitNPROC ilk başta şüpheli değildi, ancak eski yapılandırmada yoktu, bu yüzden kaldırmayı denedim ve çözdü. O günden beri saçlarımı bir günlüğüne kopartıyordum.
Iain

8
Teşekkürler, bu benim sorunumu da çözdü! systemctl daemon-reloadEtkili olmadan önce kaçmak zorunda kaldım .
Quentin Skousen

1
Bu bildirildi mi?
user1338062 4


14

Sistem paketlerinden kaynaklanan sistem birimlerini denetlemekten kaçınmak daha iyidir. Yalnızca systemd geçersiz kılmayı bırakma açma özelliğini kullanın:

systemctl edit openvpn@

Openvpn sunucusu için ünite adı farklı olabilir, örn. paket sürümü 2.4.5-xenial0için olacak

systemctl edit openvpn-server@

Sonra editöre koyun:

[Service]
LimitNPROC=infinity

/etc/systemd/system/openvpn@.service.d/override.confDosya oluşturmalıdır (veya ilgili birim adına benzer). Etkinleştirmek için systemd ile yeniden yüklemek isteyebilirsiniz.

systemctl daemon-reload

Ünitenin çalıştırılması başarılı olursa, LimitNPROC=infinitygeri dönün ve sınırı varsayılanınkinden daha yüksek bir değere değiştirin 10. Sınırlama, hizmetin hizmet reddine neden olabilecek tüm mevcut ilaçları tüketmesini önlemek için önemlidir.

Kredi:
geçersiz kılma: https://unix.stackexchange.com/a/398541/218321
"sınırsız limit": https://unix.stackexchange.com/a/345596/218321


3
bu aynı zamanda kapların openvpniçini de düzeltiropenvz
Stuart Cardall

Bu, kabul edilenden daha iyi bir çözümdür. Kabımı yeni yükselttim ve openvpn çalışmayı bıraktı. Bunun nedeni, geçersiz kılma yerine stok systemd dosyasını güncellememdi.
WoJ

1

Bunları kendi ağabeyleri arasına eklemek zorunda kaldım.

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

L2 seviyesinde çalıştırmak için.


Ubuntu'ya Sormaya Hoş Geldiniz! Bunun nasıl yapılacağı hakkında ayrıntılı bilgi vermek için bu cevabı düzenlemenizi öneririm . (Ayrıca bkz ? Ben iyi bir cevap yazmak nasıl cevap sıralar yaptığınız hakkında genel tavsiyeler için Ubuntu Ask en değerli kabul edilir.)
David Foerster
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.