我按照以下指南在 Ubuntu 伺服器 16.04 上安裝了 oepnvpn 如何在 ubuntu 上設定 openvpn 伺服器
當我使用以下命令啟動 openVPN 伺服器時:service openvpn start
看起來它已啟動,但即使我啟動了日誌選項,也沒有寫入任何日誌檔案。
status /var/log/openvpn-status.log
log /var/log/openvpn.log
有什麼提示我可以嘗試嗎?
- 如何檢查進程/服務是否真正在運作?
- 我怎麼知道服務是否每次都崩潰?
- 知道為什麼日誌檔案沒有被寫入嗎?
啟動服務時的輸出
root@Diabolo:/etc/openvpn# service openvpn stop
root@Diabolo:/etc/openvpn# service openvpn start
root@Diabolo:/etc/openvpn# service openvpn status
openvpn.service - OpenVPN service
Loaded: loaded (/lib/systemd/system/openvpn.service; enabled; vendor preset: enabled)
Active: active (exited) since Sat 2016-06-25 19:04:12 CEST; 3s ago
Process: 3956 ExecStart=/bin/true (code=exited, status=0/SUCCESS)
Main PID: 3956 (code=exited, status=0/SUCCESS)
Jun 25 19:04:12 Diabolo systemd[1]: Starting OpenVPN service...
Jun 25 19:04:12 Diabolo systemd[1]: Started OpenVPN service.
系統日誌上的輸出
Jun 25 19:04:12 Diabolo systemd[1]: Starting OpenVPN service...
Jun 25 19:04:12 Diabolo systemd[1]: Started OpenVPN service.
設定檔server.conf
port 1194
proto udp
dev tun
ca /etc/openvpn/ca.crt
cert /etc/openvpn/server.crt
key /etc/openvpn/server.key
dh /etc/openvpn/dh2048.pem
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 208.67.222.222"
push "dhcp-option DNS 208.67.220.220"
keepalive 10 120
comp-lzo
max-clients 100
user nobody
group nogroup
persist-key
persist-tun
status /var/log/openvpn-status.log
log /var/log/openvpn.log
verb 3
答案1
問題是服務配置/lib/systemd/system/openvpn.service
只是呼叫/bin/true
(我不知道為什麼它不被刪除)。可用的配置可以在 中找到,但仍需要進行一些修改。/lib/systemd/system/[email protected]
對我有用的解決方案:
1. 創建對網路服務的依賴
為了防止它被覆蓋,請在子目錄中的單獨檔案中建立它:
mkdir -p /lib/systemd/system/openvpn\@.service.d
在此目錄中建立一個檔案。其名稱必須以 結尾.conf
,例如:
vi /lib/systemd/system/openvpn\@.service.d/local-after-ifup.conf
將以下內容放入此文件中:
[Unit]
Requires=networking.service
After=networking.service
2.嘗試啟動伺服器
systemctl start openvpn@<CONF_NAME>.service
.conf
其中 CONF_NAME 是目錄中檔案的名稱/etc/openvpn
。在你的情況下:
systemctl start [email protected]
3. 如果一切正常,啟用服務自動啟動
systemctl enable [email protected]
答案2
經過一番搜索後,我發現了這個連結:
https://a20.net/bert/2016/09/27/openvpn-client-connection-not-started-on-ubuntu-16-04/
edit /etc/default/openvpn, uncomment AUTOSTART=”all”
sudo systemctl daemon-reload
sudo service openvpn restart
我將其進一步簡化為:
echo 'echo "AUTOSTART="\"all"\"" >> /etc/default/openvpn' | sudo -s
sudo systemctl daemon-reload
sudo service openvpn restart
答案3
伺服器conf檔案是myserver.conf
systemctl enable openvpn@myserver
service openvpn@myserver start
伺服器conf檔案是yourserver.conf
systemctl enable openvpn@yourserver
service openvpn@yourserver start
答案4
作為替代方案菲利普·莫克斯利的回答,您可以編輯該/etc/default/openvpn
文件並將該AUTOSTART
行更改為
AUTOSTART="server"