Loading... ### 服务端搭建 * 设置一个配置数据持久化目录。`$OVPN_DATA` ``` OVPN_DATA="ovpn-data-example" ``` * 初始化服务端配置文件和证书。`$OVPN_DATA` ``` mkdir -p $OVPN_DATA # 这里的 VPN.SERVERNAME.COM 设置成你自己的服务端地址IP或域名都行,只要可达 docker run -v $OVPN_DATA:/etc/openvpn --rm kylemanna/openvpn ovpn_genconfig -u udp://VPN.SERVERNAME.COM # 对私钥使用密码保护,如果用这条命令,交互里会多一个设置密码的步骤 # docker run -v $OVPN_DATA:/etc/openvpn --rm -it kylemanna/openvpn ovpn_initpki # 不对私钥设置密码,这条命令不会让设置密码,根据应用场景来选择是加密还是不加密私钥 docker run -v $OVPN_DATA:/etc/openvpn --rm -it kylemanna/openvpn ovpn_initpki nopass ``` * 生成不带密码的客户端证书 ``` # CLIENTNAME自己取名字,可以理解为用户 docker run -v $OVPN_DATA:/etc/openvpn --rm -it kylemanna/openvpn easyrsa build-client-full CLIENTNAME nopass ``` * 导出客户端的配置文件,方便给客户端使用 ``` docker run -v $OVPN_DATA:/etc/openvpn --rm kylemanna/openvpn ovpn_getclient CLIENTNAME > CLIENTNAME.ovpn ``` * 启动OpenVPN服务端,服务端的配置完成 ``` docker run -v $OVPN_DATA:/etc/openvpn -d -p 1194:1194/udp --cap-add=NET_ADMIN kylemanna/openvpn ``` > 想要一个客户端证书配置可以在多个客户端同时连接使用,`duplicate-cn`参数加到服务端配置文件即可 ### 客户端安装使用,这里以centos7为例 * yum安装openvpn ``` yum install -y epel-release yum install -y openvpn ``` * 把服务端生成的`CLIENTNAME.ovpn`配置文件放到客户端配置目录`/etc/openvpn/client/` * 启动 ``` /usr/sbin/openvpn --daemon --cd /etc/openvpn/client/ --config CLIENTNAME.ovpn --log-append openvpn.log ``` * 检查ip是否已经有个`192.168.255.X`段的,有的话,结束 > 客户端连接成功后,可能出现各种各样的网络问题,基本都是由防火墙、路由、DNS配置等导致的,情况太复杂了,这里不详述,自行排查。 最后修改:2022 年 11 月 02 日 06 : 17 PM © 允许规范转载 赞赏 要多恰饭才能长胖 赞赏作者 支付宝微信