F或者,出於某種奇怪的原因,我無法在 Ubuntu Linux 16.04 LTS 服務器上使用 systemd 在啟動時啟動 OpenVPN 服務器。我已經嘗試了一些設置,但到目前為止它失敗了。
所以我吐了出來:
親愛的系統,
至少告訴我怎麼了! !! !!#linux #系統管理員 #systemd #ubuntu #美分 #debian #openvpn
— NixCraft (@nixcraft) 2016 年 8 月 5 日
這是我的 /lib/systemd/system/openvpn.service 文件:# cat /lib/systemd/system/openvpn.service
# This service is actually a systemd target, # but we are using a service since targets cannot be reloaded. [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
我想在網絡啟動後運行該服務,以便 OpenVPN 可以綁定到特定的 IP 和端口。 After = network.target 告訴您等待網絡“啟動”。
我的修復
我最終放棄並創建了一個每次重新啟動系統時都會啟動的 cron 作業。@reboot sleep 100;/etc/init.d/openvpn restart;/etc/init.d/ssh restart;/etc/init.d/squid reload
@reboot 強製作業在啟動時運行一次。這種情況下,重啟openvpn服務器,將sshd/squid綁定到openvpn端口。$ ss -tulpn
還$ netstat -tulpn
樣本輸出:
tcp 0 0 10.8.0.1:80 0.0.0.0:* LISTEN 1549/lighttpd tcp 0 0 0.0.0.0:53 0.0.0.0:* LISTEN 1524/dnsmasq tcp 0 0 10.8.0.1:22 0.0.0.0:* LISTEN 1756/sshd tcp 0 0 10.8.0.1:3128 0.0.0.0:* LISTEN 1675/(squid-1) tcp 0 0 0.0.0.0:443 0.0.0.0:* LISTEN 1732/openvpn
網絡啟動並運行後,我們需要一種方式來運行服務(OpenVPN)。但我想不通。 如果有人知道如何在不使用 cron 的情況下解決此問題,請在下面的評論部分告訴我。