使用openvpn docker及frp docker工具构建虚拟专业网络(V
使用 及frp 工具构建虚拟专业网络(V-P-N)
借助和技术,您可以在短时间内设置并运行VPN服务器,并保证您的服务器安全。
运行环境
16.04 TLS
19.03.8, build
0.7.43
创建 容器 安装:如果您的系统上没有安装,请先按照适用于您的操作系统的指南安装。在上,可以使用以下命令安装:
sudo apt update
sudo apt install docker.io
获取 镜像:使用以下命令从 Hub上获取镜像:
sudo docker pull kylemanna/openvpn
创建配置目录:创建一个目录用于保存配置文件和证书:
OVPN_DATA="ovpn-data-test"
docker volume create --name $OVPN_DATA
执行上述命令后,会在默认数据及配置保存目录/var/lib//下创建的配置目录ovpn-data-test
初始化配置:使用以下命令初始化配置和证书。替换为您希望访问服务器的公共IP地址或域名。
sudo docker run -v $OVPN_DATA:/etc/openvpn --log-driver=none --rm kylemanna/openvpn ovpn_genconfig -u udp://YourPublicIP.com
如果你是本地创建VPN ,那么这里 应该填写你本地IP地址。
生成安全证书并运行 生成服务器证书:使用以下命令生成服务器的证书和密钥。
sudo docker run -v $OVPN_DATA:/etc/openvpn --rm -it kylemanna/openvpn ovpn_initpki
输入"yes",然后按Enter键,如下所示,以启动 PKI系统。
输入CA证书密码,或者输入Enter
为CA证书输入一个名称,或者输入Enter
输入在第2步设置的CA密码,以检查请求是否匹配签名。
再次输入密码生成ca私钥
2.使用以下命令启动服务器:
sudo docker run -v $OVPN_DATA:/etc/openvpn -d -p 1194:1194/udp --cap-add=NET_ADMIN kylemanna/openvpn
--cap-add=参数通过修改默认不授予的网络接口来应用额外的Linux能力。
生成 证书 生成客户端配置文件:使用以下命令生成客户端配置文件。将替换为您希望的客户端名称。
sudo docker run -v $OVPN_DATA:/etc/openvpn --rm -it kylemanna/openvpn easyrsa build-client-full CLIENTAPP nopass
sudo docker run -v $OVPN_DATA:/etc/openvpn --rm kylemanna/openvpn ovpn_getclient CLIENTAPP > CLIENTAPP.ovpn
将生成的.ovpn客户端证书拷贝到你的 。
现在,您已经成功安装了服务器,并生成了一个客户端配置文件。将.ovpn文件发送给您的客户端,并使用客户端连接到您的服务器即可。
VPN 内网穿透
如果 是在局域网内部署,则还需要使用frp工具进行穿透,关于frp内网穿透内容参考如下:
具体到本文中的 frp配置及命令如下:
服务端:frps
frps.init文件不需要修改,需要在启动命令中增加7002端口的映射
客户端: frpc
/opt/frpc.init增加vpn配置
运行命令增加1194映射
docker run --restart=always -d --network host -v /opt/frpc.ini:/etc/frp/frpc.ini -p 80:80/tcp -p 1194:1194/udp --name frpc snowdreamtech/frpc
.ovpn中 0.0.0.0 7002 udp 需要修改为 7002 udp
使用Web UI管理
为了方便 的管理,官方提供了Web UI管理页面
docker pull linuxserver/openvpn-as
docker create --name=openvpn-as --restart=always -v /home/docker/openvpn-as/config:/config -e INTERFACE=eth0 -e PGID=1001 -e PUID=1001 -e TZ=Africa/Nairobi --net=host --privileged linuxserver/openvpn-as
docker start openvpn-as
注意: 默认账号密码为admin和
登录 -as后效果如下:
配置DNS以获得更快和更安全的连接
目前,您的 已经正确工作。但为了提高VPN服务器的性能,您需要配置DNS。
要配置DNS,您需要访问服务器的Web界面,并使用或您喜欢的DNS地址更新DNS设置。提供了最快速的DNS服务器,您将在您的 中使用它们。
在 仪表板的选项卡下,点击左侧面板中的VPN设置。
滚动到DNS设置部分,启用“Have use DNS ”选项,如下所示。
接下来,更新主DNS服务器(8.8.8.8)和次DNS服务器(8.8.8.4)为 DNS地址,然后点击“Save ”保存更改。
保存更改后,点击“ ”重新启动服务器,以使更改生效。
现在,在您的Linux机器上导航到 (例如:943/admin)。将替换为您服务器的IP地址。如果配置正确,您将看到如下所示的相同页面。
使用默认凭据(用户名:admin,密码:)登录。
点击任何平台图标下载客户端应用程序,然后点击“ (user- )”下载客户端.ovpn文件。
最后,启动您下载的客户端,并像在“使用证书保护客户端”教程的最后一步中那样导入.ovpn文件。
结论
托管您的VPN服务器绝不应该是一个复杂的任务,更不用说保护服务器连接了。幸运的是, 就在眼前,拯救了一切。在本教程中,您已经学会了在上使用安装、设置和配置。您还了解了如何通过 CA和客户端证书保护容器中的访问。
除了通过命令行界面访问服务器外,您现在还可以通过 的Web界面进行可视化操作。通过为客户端应用程序生成客户端配置文件,您已经实现了快速部署VPN。
参考
( of in on )
(frp++实现内网穿透)
@/set-up-a-vpn--with--in-5--