在本教學中,我將在 CloudSigma 的 Docker 下設定 Open VPN 伺服器。隨著 CloudSigma 的雲端節點遍佈全球,您可以在其中任何一個地點建立伺服器並從該處存取內容。
建立機器
首先,我正在建立一台具有以下資源的機器:
20 GHz CPU
16 GB RAM
20 GB SSD
我正在掛載 CloudSigma 映像檔庫中提供的 Ubuntu 18.04 映像檔。
Ubuntu 18.04:預裝 64 位元,含 VirtIO 驅動程式、超級用戶、Python 2.7.15、Pip 18.0、OpenSSL 1.1.0i、Cloud-init 以及截至 2018-09-30 的最新更新。
更新機器上所有現有的套件庫和套件。
|
1 2 |
sudo apt update sudo apt upgrade |
現在我們的系統已經是最新狀態,我將開始安裝 Docker。有關 Docker 的更多資訊,請參考此處.
安裝 Docker
我可以執行以下命令來安裝 Docker:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
sudo apt-get install \ apt-transport-https \ ca-certificates \ curl \ software-properties-common curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - sudo add-apt-repository \ "deb [arch=amd64] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) \ stable" sudo apt-get update sudo apt-get install docker-ce |
OpenVPN
現在 Docker 已成功安裝,我可以開始讓 OpenVPN Access Server 在其上運作。以下是使用指定設定建立 OpenVPN Access Server 新 Docker 容器的命令。
|
1 2 3 4 5 6 7 8 |
docker create \ --name=openvpn-as \ -v <path to data>:/config \ -e PGID=<gid> -e PUID=<uid> \ -e TZ=<timezone> \ -e INTERFACE=<interface> \ --net=host --privileged \ linuxserver/openvpn-as |
以下命令已在 Docker 映像檔的頁面上說明。
openvpn-as 應該儲存設定檔的位置:
|
1 |
-v /config |
用於 GroupID:
|
1 |
-e PGID |
用於 UserID:
|
1 |
-e PUID |
用於時區設定:
|
1 |
-e TZ |
為 openvpn-as 設定介面,預設為 eth0:
|
1 |
-e INTERFACE |
重要:對於大多數使用者,需要在 host 模式下運作:
|
1 |
--net=host |
重要:除非在 privileged(特權)模式下,否則無法運作:
|
1 |
--privileged |
若要取得群組 ID 和使用者 ID,請執行以下命令:
|
1 |
id |
我將時區指定為 CET。
對於介面,請執行以下命令:
|
1 |
ip r |
介面通常是 ens3 或 eth0。在我的系統中,它是 ens3。
加入所有這些內容後,我執行以下命令:
|
1 2 3 4 5 6 7 8 |
sudo docker create --name=openvpn-as \ --restart=always \ -v /home/docker/openvpn-as/config:/config \ -e INTERFACE=ens3 \ -e PGID=1004 -e PUID=1000 \ -e TZ=Europe/Warsaw \ --net=host --privileged \ linuxserver/openvpn-as |
由於我們的系統中尚未有該映像檔,因此將從伺服器拉取該映像檔。輸出結果將是:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
無法 以 尋找 映像檔 'linuxserver/openvpn-as:latest' 在本地 latest: 正在拉取 從 linuxserver/openvpn-as 56d9dc91333b: 拉取 完成 1356b0cfc067: 拉取 完成 155f3c53d4a5: 拉取 完成 05088c205b6d: 拉取 完成 112068b0fa4e: 拉取 完成 2ff5dd4a0d9b: 拉取 完成 7dd87385ca73: 拉取 完成 d966d969c7cd: 拉取 完成 4439dbcda217: 拉取 完成 5f960f89c64e: 拉取 完成 摘要: sha256:d65f743bcec24b6b6ad0b19f9d7876cd70d5237690a940301b2366d6d5767a80 狀態: 已下載 較新的 映像檔 適用於 linuxserver/openvpn-as:latest f0a1eb5440b5a423f8f21081d8654aaba2c0bd9995d2dea88a979c97ea977e16 |
使用此命令啟動容器:
|
1 |
sudo docker start openvpn-as |
登入
現在我已經啟動它了,我將前往存取伺服器的管理面板。
前往網址:https://<<YourIpAddress>>:943/admin

它會要求輸入使用者名稱和密碼,預設為:
使用者名稱: admin
密碼: password

登入後,系統會詢問我是否接受 EULA(終端用戶授權合約)。點擊「同意」並進入管理儀表板。

出於安全考量,建議變更管理員帳戶的密碼。我正在使用以下命令進行變更:
|
1 |
docker exec -it openvpn-as passwd admin |
設定 DNS
現在我們的伺服器已啟動並運行,我們會想要在其中設定 DNS。如需更多關於網域名稱伺服器(DNS)的資訊,請點擊這裡.
最快的 DNS 伺服器之一是 Google’s。我將在我的 OpenVPN Access Server 中進行設定,以便我的用戶端能夠輕鬆瀏覽網站。
我將前往 VPN 設定,並在 DNS 設定下啟用「讓用戶端使用特定的 DNS 伺服器」。

接下來,我將在 DNS 伺服器欄位中輸入以下地址:
主要 DNS 伺服器: 8.8.8.8
次要 DNS 伺服器: 8.8.8.4

儲存設定並點擊「更新運行中的伺服器」。這將更新運行中的伺服器。
現在我’已成功設定伺服器,我可以開始透過我的系統連接到 VPN。
存取用戶端介面:https://<<YourIpAddress>>:943。
輸入管理員使用者名稱、管理員密碼,或從管理面板的「使用者管理」區段建立新使用者。
登入後,它會為我提供適用於不同作業系統的多種選項。我選擇 Windows 並下載用戶端軟體。

安裝完成後,我可以從「開始」功能表啟動它,或者它會自動啟動。從系統匣中,我可以使用先前設定的帳戶連接到 VPN。

接著我就連接到 VPN 了。瞧!這就是您在 Docker 下建立 VPN 伺服器的方法。
留言
目前尚無留言。成為第一個留言的人吧。