在本教程中,我将使用iaodun.com在Docker下设置Open VPN服务器。随着iaodun.com的云位置遍布全球,您可以在其中任何一个地点中创建服务器并从中访问内容。
创建机器
首先,我正在创建一台具有以下资源的计算机:
20 GHz CPU
16 GB RAM
20 GB SSD
安装磁盘,并在iaodun.com的库中提供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的接口 – 默认为eth0:
1
|
–e INTERFACE
|
重要的是,对于大多数用户,需要在主机模式下运行:
1
|
—net=host
|
重要信息,除非在特权模式下才会运行:
1
|
—privileged
|
要获取组ID和用户ID,请执行以下命令:
1
|
id
|
我提到时区是CET。
对于interface,执行以下命令:
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
|
Unable to find image ‘linuxserver/openvpn-as:latest’ locally
latest: Pulling from linuxserver/openvpn–as
56d9dc91333b: Pull complete
1356b0cfc067: Pull complete
155f3c53d4a5: Pull complete
05088c205b6d: Pull complete
112068b0fa4e: Pull complete
2ff5dd4a0d9b: Pull complete
7dd87385ca73: Pull complete
d966d969c7cd: Pull complete
4439dbcda217: Pull complete
5f960f89c64e: Pull complete
Digest: sha256:d65f743bcec24b6b6ad0b19f9d7876cd70d5237690a940301b2366d6d5767a80
Status: Downloaded newer image for linuxserver/openvpn–as:latest
f0a1eb5440b5a423f8f21081d8654aaba2c0bd9995d2dea88a979c97ea977e16
|
使用以下命令启动容器:
1
|
sudo docker start openvpn–as
|
登录
现在我已经启动了它,我将转到访问服务器的管理面板。
转到URL:https:// << YourIpAddress >>:943 / admin
它会询问用户名和密码,默认为:
用户名:admin
密码:password
现在我已经登录,它询问我是否接受EULA(最终用户许可协议)。单击“同意”并移至管理仪表板。
出于安全考虑,建议更改管理员帐户的密码。我正在使用以下命令更改它:
1
|
docker exec –it openvpn–as passwd admin
|
配置DNS
现在我们的服务器已启动并运行,我们希望在其中配置DNS。有关域名服务器(DNS)的更多信息,请单击此处。
最快的DNS服务器之一是谷歌。我将在我的OpenVPN访问服务器中配置它,以便我的客户能够轻松地在网站上漫游。
我将进入VPN设置,在DNS设置下,我将启用“让客户端使用特定的DNS服务器”。
接下来,我将在DNS服务器列中输入以下地址:
主DNS服务器:8.8.8.8
辅助DNS服务器:8.8.8.4
保存设置并单击“更新正在运行的服务器”。它将更新正在运行的服务器。
现在我已成功配置服务器,我可以通过我的系统连接到VPN。
访问客户端UI:https:// << YourIpAddress >>:943。
输入管理员用户名,管理员密码或从管理面板的“用户管理”部分创建新用户。
一旦我登录它,它将为我提供不同操作系统的各种选项。我选择Windows并下载客户端软件。
现在已经安装了,我可以从“开始”菜单启动它,它会自动启动。从系统托盘,我可以使用我之前设置的帐户连接到VPN。
我连接到VPN。Et Voila!这是在Docker下创建VPN服务器的方法。