OpenVPN server 簡易安裝使用 (Ubuntu)

文章目錄

需求

建立一個 OpenVPN, 讓遠端機器可以連到內網的機器, 而且只能連到某一台特定機器.

方法 (Server 端)

  1. 這裡下載 OpenVPN server, 並依照他的指示執行 apt-get 等指令. (以下為參考, 請看 server 上的說明)

    1apt update && apt -y install ca-certificates wget net-tools gnupg
    2wget -qO - https://as-repository.openvpn.net/as-repo-public.gpg | apt-key add -
    3echo "deb http://as-repository.openvpn.net/as/debian focal main">/etc/apt/sources.list.d/openvpn-as-repo.list
    4apt update && apt -y install openvpn-as
    
  2. 最後一個指令的最後面請注意, 他會產生一個 admin 的密碼

     1To reconfigure manually, use the /usr/local/openvpn_as/bin/ovpn-init tool.
     2
     3+++++++++++++++++++++++++++++++++++++++++++++++
     4Access Server 2.10.3 has been successfully installed in /usr/local/openvpn_as
     5Configuration log file has been written to /usr/local/openvpn_as/init.log
     6
     7
     8Access Server Web UIs are available here:
     9Admin  UI: https://192.168.1.2:943/admin
    10Client UI: https://192.168.1.2:943/
    11Login as "openvpn" with "fRxnu6bf3fC1" to continue
    12(password can be changed on Admin UI)
    13+++++++++++++++++++++++++++++++++++++++++++++++
    
  3. 裝好後, 就可以直接連到 https://localhost:943/admin 用上面的帳號密碼進去

  4. 因為這台 OpenVPN 是裝在內網, 必須在 Network setting 設定他 NAT 的外部 IP, 否則產生出來的 .opvn 檔案會連到 192.168.1.2 (當然這樣會永遠連不到)

  5. 預設他會開放讓 client 連到整個 private network, 因為我們要卡只能連到某一台, 因此要關掉這個

  6. 再來就是建立一個新帳號, 如下, 然後要在 access control 的地方卡住他只能連到哪個網段或IP

  7. 以上就完成 OpenVPN server 的安裝了

OpenVPN client for Windows

  1. 先連到 http://example.com/ (注意, 這裡 url 沒有 admin), 然後選 Yourself (user-locked profile), 他會下載一個 profile***.ovpn
  2. 安裝 OpenVPN client for Windows, 目前有兩個版本, 兩個用起來差不多.
    1. OpenVPN Connect for Windows, 可在 這裡 下載
    2. OpenVPN GUI, 可在[這裡] (https://openvpn.net/community-downloads/) 下載
  3. 執行下載的檔案, 將 OpenVPN client 安裝起來
  4. Double click 步驟一產生的 .ovpn, 把這個檔案匯入
  5. 就可以試著連線了
  6. 如果需要自動連線, 可以在設定裡面修改

如何管理 OpenVPN server

  1. 可從Status overview看到整個server狀況, 目前連線人數還有log等等
  2. 有人有提供 Prometheus exporter, 但這是非官方的, 而且最後一次更新是 2019/9/7, 不過只少在 2022 年用起來還是可以. (可參考後面相關文章)

注意

  1. 有一點要注意的是, OpenVPN 雖然 Open Source, 但他的 免費版本只能有兩個連線 (參考這裡)

相關文章

  1. 用果有興趣使用 Prometheus 來監控 OpenVPN server, 可參考 用 Prometheus 來監控 OpenVPN server
  2. 如果你使用的是 Asuswrt-Merlin, 他有內建 OpenVPN server, 可參考 在 Asuswrt-Merlin 使用 OpenVPN server
  3. 這是一篇 Open Source VPN 方案的簡單比較和測速: Open Source VPN 之不嚴謹比較