ソースからopenvpnをコンパイルしてopenvpn --version
戻りを実行しました。
OpenVPN 2.4.4 x86_64-unknown-linux-gnu [SSL (OpenSSL)] [LZO] [LZ4] [EPOLL] [MH/PKTINFO] [AEAD] built on Nov 19 2017
library versions: OpenSSL 1.0.2g 1 Mar 2016, LZO 2.08
/etc/openvpn/server.conf
いくつかのデフォルト設定でファイルを作成しました。ただし、起動しようとするとsudo systemctl start openvpn@server
再び発生します。
Failed to start [email protected]: Unit [email protected] not found.
そして、sudo systemctl status openvpn
次を返します。
● openvpn.service
Loaded: masked (/dev/null; bad)
Active: inactive (dead) since Sun 2017-11-19 14:21:06 HKT; 4 days ago
Main PID: 1502 (code=exited, status=0/SUCCESS)
これにより、openvpnサービスが登録されていないようです。
確認してみるとファイルが/lib/systemd/system/
ありませんがあります。私が理解したところによると、これは私が代わりにコンパイルしているからですか?openvpn.service
/etc/systemd/system/
apt-get install openvpn
自己コンパイルされたopenvpnをサービスとして追加する方法を提案できる人はいますか?
ソースから初めてコンパイルするので、アドバイスやヒントをいただきありがとうございます!
編集1:
openvpnサーバーを起動し、クライアントをここに接続できます(サービスだけが機能していないようです)。
sudo openvpn /etc/openvpn/server.conf
ベストアンサー1
2つのファイルを手動で作成して機能させるようにしました/lib/systemd/system
。
最初のものは次のとおりですopenvpn.service
。
[Unit]
Description=OpenVPN service
After=network.target
[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/bin/true
ExecReload=/bin/true
WorkingDirectory=/etc/openvpn
[Install]
WantedBy=multi-user.target
2番目は次のとおりです[email protected]
。
[Unit]
Description=OpenVPN connection to %i
PartOf=openvpn.service
ReloadPropagatedFrom=openvpn.service
Before=systemd-user-sessions.service
Documentation=man:openvpn(8)
Documentation=https://community.openvpn.net/openvpn/wiki/Openvpn23ManPage
Documentation=https://community.openvpn.net/openvpn/wiki/HOWTO
[Service]
PrivateTmp=true
KillMode=mixed
Type=forking
ExecStart=/usr/local/sbin/openvpn --daemon ovpn-%i --status /run/openvpn/%i.status 10 --cd /etc/openvpn --script-security 2 --config /etc/openvpn/%i.conf --writepid /run/openvpn/%i.pid
PIDFile=/run/openvpn/%i.pid
ExecReload=/bin/kill -HUP $MAINPID
WorkingDirectory=/etc/openvpn
ProtectSystem=yes
CapabilityBoundingSet=CAP_IPC_LOCK CAP_NET_ADMIN CAP_NET_BIND_SERVICE CAP_NET_RAW CAP_SETGID CAP_SETUID CAP_SYS_CHROOT CAP_DAC_READ_SEARCH CAP_AUDIT_WRITE
LimitNPROC=10
DeviceAllow=/dev/null rw
DeviceAllow=/dev/net/tun rw
[Install]
WantedBy=multi-user.target
作成したら、sudo systemctl daemon-reload
新しい変更を適用して再読み込みしてください。
通常、これらのファイルは公式リポジトリからopenvpnをインストールしたのと同じです。唯一の違いは、コンパイルされたローカルopenVPNを指すことですExecStart=/usr/sbin/openvpn
。ExecStart=/usr/local/sbin/openvpn
編集:openvpn 2.4+を使用している場合は、2番目のファイルから削除しても起動時にサーバーが起動PIDFile=/run/openvpn/%i.pid
し--writepid /run/openvpn/%i.pid
ません。それを発見ここ