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.