Write by lyc at 2022-5-3
DockerHub kylemanna/openvpn

群晖Nas docker安装 openvpn

1.宿主机创建持久化目录

以 root 用户登录 nas 命令行。创建容器持久化卷目录,用于保存配置文件和证书。

1
mkdir -p /volume1/docker/ovpn-data-lyc7456

2.初始化 openvpn 服务器配置文件

-u udp://vpn.lyc7456.com 设置一个自己的 vpn域名,并CNAME 到 ddns域名。

1
$ docker run -v /volume1/docker/ovpn-data-lyc7456:/etc/openvpn --rm kylemanna/openvpn ovpn_genconfig -u udp://vpn.lyc7456.com

修改 openvpn 配置文件

1
2
3
4
5
$ cat /volume1/docker/ovpn-data-lyc7456/openvpn.conf
# ....省略
push "dhcp-option DNS 114.114.114.114" # dns改到国内
push "dhcp-option DNS 223.5.5.5"
# ....省略

3.自签 CA证书与服务器证书

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
$ docker run -v /volume1/docker/ovpn-data-lyc7456:/etc/openvpn --rm -it kylemanna/openvpn ovpn_initpki
# ....省略
Enter New CA Key Passphrase: # 设置一个 CA证书的密码
Re-Enter New CA Key Passphrase: # 设置一个 CA证书的密码
# ....省略
-----
Common Name (eg: your user, host, or server name) [Easy-RSA CA]:vpn.lyc7456.com # 设置服务器名称

# ....省略
-----
Using configuration from /etc/openvpn/pki/easy-rsa-72.NlPHlK/tmp.ePmaoF
Enter pass phrase for /etc/openvpn/pki/private/ca.key: # 请输入 CA证书的密码

# ....省略
Enter pass phrase for /etc/openvpn/pki/private/ca.key: # 请输入 CA证书的密码

4.启动 OpenVPN 服务器

1
docker run -v /volume1/docker/ovpn-data-lyc7456:/etc/openvpn -d -p 1194:1194/udp --cap-add=NET_ADMIN kylemanna/openvpn

5.创建客户端证书

1
2
3
4
5
6
7
cd /volume1/docker/ovpn-data-lyc7456

# 客户端证书
docker run -v /volume1/docker/ovpn-data-lyc7456:/etc/openvpn --rm -it kylemanna/openvpn easyrsa build-client-full lyc7456 nopass

# 客户端配置文件
docker run -v /volume1/docker/ovpn-data-lyc7456:/etc/openvpn --rm kylemanna/openvpn ovpn_getclient lyc7456 > lyc7456.ovpn

最后得到 lyc7456.ovpn 客户端配置文件,并在路由器上映射 Nas udp 1194 端口到公网。

6.OpenVPN Windows 客户端

OepnVPN 官网下载

下载社区版 win10 客户端,安装过程全部保持默认。

拷贝 lyc7456.ovpn 客户端配置文件到安装目录下 C:\Program Files\OpenVPN\config\lyc7456.ovpn

双击桌面图标启动客户端。