杂记 | CentOS7使用docker部署OpenVPN
01 前置说明
本文的案例基于CentOS7,实测CentOS8是无法成功的,可能需要做一些额外的设置才可以实现,所以建议使用CentOS7作为服务器的操作系统。
02 服务器配置与优化
2.1 设置服务器时区
# 设置服务器时区为上海 timedatectl set-timezone Asia/Shanghai # 查看系统当前时间 date
2.2 设置BBR加速
以下部分是安装BBR加速
# 1.下载加速脚本 wget -N --no-check-certificate "https://raw.githubusercontent.com/chiakge/Linux-NetSpeed/master/tcp.sh" && chmod +x tcp.sh # 2.进入脚本界面 ./tcp.sh # 输入数字2升级内核 # 3.查看内核版本 uname -srm # Linux 4.14.129-bbrplus x86_64 # 4.进入脚本界面 ./tcp.sh # 输入数字7开启加速 # 5.进入脚本界面 ./tcp.sh # 输入数字10优化系统设置
03 安装docker
3.1 安装docker(方式一)
本方式要求服务器能访问外网
# 安装 wget -qO- get.docker.com | bash # 查看docker版本 验证是否安装成功 docker -v
3.2 安装docker(方式二)
推荐使用方式一
# 1.指定阿里云镜像安装 curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun # 2.查看docker版本 验证是否安装成功 docker -v # 3.新建配置文件 vim /etc/docker/daemon.json # 4.在配置文件中设置镜像 { "registry-mirrors": [ "https://dockerhub.azk8s.cn", "https://hub-mirror.c.163.com" ] }
3.3 启动docker
# 启动docker服务 systemctl start docker # 设置为开机自启 systemctl enable docker
04 安装OpenVPN
服务器安装OpenVPN,使用镜像方式,以下操作在~目录进行
# 1.创建配置文件目录 mkdir -p ~/ovpn-data # 2.拉取docker镜像 默认为latest docker pull kylemanna/openvpn # 3.生成配置文件 xxx.xxx.xxx.xxx那里填写服务器的公网ip docker run -v ~/ovpn-data:/etc/openvpn --rm kylemanna/openvpn ovpn_genconfig -u udp://xxx.xxx.xxx.xxx # 4.生成EasyRSA证书 按提示设置CA密码 服务名 docker run -v ~/ovpn-data:/etc/openvpn --rm -it kylemanna/openvpn ovpn_initpki # 5.生成客户端证书 CLIENTNAME那里填写证书名称 docker run -v ~/ovpn-data:/etc/openvpn --rm -it kylemanna/openvpn easyrsa build-client-full CLIENTNAME nopass # 6.导出客户端证书 CLIENTNAME填写证书名 导出后得到一个.opvn证书文件 下载到本地 docker run -v ~/ovpn-data:/etc/openvpn --rm kylemanna/openvpn ovpn_getclient CLIENTNAME > CLIENTNAME.ovpn # 7.启动OpenVPN服务 NET_ADMIN是固定写法 docker run -v ~/ovpn-data:/etc/openvpn -d -p 1194:1194/udp --cap-add=NET_ADMIN kylemanna/openvpn # 8.查看服务是否启动成功 docker ps -a # 9.查看容器日志 docker logs [ID]
05 防火墙配置
防火墙设置,腾讯云的防火墙默认是关闭的,不需要打开,端口在控制台设置。
# 查看防火墙状态 systemctl status firewalld # 开启防火墙 systemctl start firewalld # 放开防火墙1194(udp)端口 firewall-cmd --add-port=1194/udp --zone=public --permanent firewall-cmd --reload
06 客户端
安卓请前往Googl Play下载OpenVPN客户端 Windows前往官网下载 导入证书文件(.ovpn)即可使用,如果提示compress相关的报错,需要在配置文件中加入一行内容: allow-compression yes 如果能成功使用但一段时间后连接失败(仅提示超时),考虑更改默认的1194端口(证书文件也要改)。
上一篇:
通过多线程提高代码的执行效率例子
下一篇:
【学习笔记】线段树二分