OpenVPN 服務端安裝腳本

CentOS 7 OpenVPN 服務端一鍵安裝腳本

適用於 OpenVPN 所在伺服器內網位址為 192.168.30.110、閘道為 192.168.30.1 的 CentOS 7 場景。腳本會向用戶端下發 192.168.30.0/24 路由,並在服務端內網介面做 SNAT,讓用戶端不必改動每台內網設備的靜態路由,也能存取整段 192.168.30.0/24 網路。

一鍵命令

curl -fsSL helper.sh/install_openvpn_server_centos.sh | sudo bash
curl -fsSL helper.sh/install_openvpn_server_centos.sh | sudo bash -s -- 10.6.6.0 10.7.7.53 reshub.cn

執行要求

  • CentOS 7
  • 需要 root 權限或 sudo
  • 伺服器可透過 192.168.30.1 存取所在內網
  • yum 與 EPEL 可正常連網安裝軟體

適用場景

  • 給 CentOS 7 提供一鍵式 OpenVPN 服務端安裝方案
  • 讓 VPN 用戶端能存取 192.168.30.0/24,而不用逐台修改內網設備路由
  • 把使用者驗證、固定 IP 與安裝後自檢固化成統一流程

腳本亮點

  • 統一使用單一 server.conf,避免 systemd 與手動啟動設定不一致
  • 自動向用戶端下發 192.168.30.0/24 路由
  • 自動寫入 firewalld direct 規則與 SNAT,讓內網設備透過 192.168.30.110 回包
  • 安裝 ovpn-user 與 ovpn-check,方便後續使用者管理與巡檢
  • DNS 下發可選,預設不改用戶端 DNS

推薦流程

  1. 在 CentOS 7 的 OpenVPN 伺服器上以 root 執行一鍵命令。
  2. 等待腳本安裝 OpenVPN、easy-rsa、firewalld、憑證材料與驗證腳本。
  3. 腳本會向用戶端下發 192.168.30.0/24 路由,並對通往 192.168.30.1 的內網介面啟用 SNAT。
  4. 用 ovpn-user add USER PASS [VPN_IP] 建立使用者,再分發對應用戶端設定。
  5. 後續可隨時執行 ovpn-check,檢查服務、監聽、路由與在線用戶端。

安全提示

  • 這個腳本是按 OpenVPN 後面接 192.168.30.0/24 內網來寫的。
  • 這裡使用 SNAT,因此內網設備不需要再額外加回程靜態路由。
  • 如果伺服器內網 IP 不是 192.168.30.110,上正式環境前先檢查腳本內的常數。
  • 用戶端設定檔需要另外準備,這個安裝腳本只負責服務端。