PVE 內使用 CT Template 安裝 OpenVPN Server

  • 採用 PVE 可下載的 CT Template - debian-10-turnkey-openvpn_16.1-1_amd64.tar.gz 來建立
  1. 建立 CT 時, 將 Unprivileged container 打勾取消
  2. 建立完成後, 查看 /var/log/syslog 會出現以下錯誤訊息

    [email protected]: Failed at step NAMESPACE spawning /usr/sbin/openvpn: Permission denied

  3. 只要在 Options → Features → Nesting 打勾並重新啟動 CT 即可解決
  • 如果 /var/log/syslog 出現以下的錯誤訊息

    ERROR: Cannot open TUN/TAP dev /dev/net/tun: No such file or directory (errno=2

    就表示建立 CT 時, 沒有將 Unprivileged container 打勾取消

  • 預設 UDP Listen Port : 1194 想改成 TCP Listen Port : 10443
  • 修改 Push Route 為 10.20.0.0/24
  • 修改 /etc/openvpn/server.conf

    port 10443
    proto tcp
    dev tun
    :
    :
    # push routes to clients to allow them to reach private subnets
    push "route 10.20.0.0 255.255.255.0"

  • 重新啟動 openvpn server

    service openvpn restart

  • 透過 Webmin 對主機防火牆要加入允許 TCP 10443 規則
  • 修改 /usr/local/bin/openvpn-addclient 產生設定檔的預設值

    :
    :
    #REMOTE_PORT='1194'
    REMOTE_PORT='10443'
    :
    :
    remote $SERVER_ADDR $REMOTE_PORT
    ;proto udp
    proto tcp
    remote-cert-tls server
    :

  • 透過 ssh 連入 VPN Server 執行以下的命令
    • 建立帳號 Exp. jerry [email protected]

      [email protected] ~# openvpn-addclient jerry [email protected]

    • 看詳細處理訊息
    • 建立帳號設定檔的下載連結(下載後獲一段時間連結就會失效), Exp. jerry

      /var/www/openvpn/bin/addprofile jerry

      會回傳類似以下的網址 URL: https://vpn.ichiayi.org/profiles/e092f97123456789067ff594c9f8dc0305d81b71/

    • 連上網址可以出現下載頁面
    • 強制取消設定檔的下載連結

      /etc/cron.hourly/openvpn-profiles-delexpired

      這樣上面產生的設定檔下載網址就立即失效

    • 刪除使用者帳號(廢除使用者憑證) Exp. jerry

      openvpn-revoke jerry

    • 看詳細處理訊息
  • 查看登入登出紀錄

    cat /var/log/syslog | grep 'VERIFY OK: depth=0, CN=\| received, client-instance restarting'

  • 目前可用帳號

    cat /etc/openvpn/easy-rsa/keys/index.txt | grep 'V'

  • 已廢止的帳號

    cat /etc/openvpn/easy-rsa/keys/index.txt | grep 'R'

  • tech/pve_openvpn.txt
  • 上一次變更: 2021/08/16 18:38
  • jonathan