新手向导:轻松掌握Docker搭建OpenVPN

打印 上一主题 下一主题

主题 669|帖子 669|积分 2007

一、概述



OpenVPN是一个开源的VPN软件包,可以创建基于SSL/TLS的安全的VPN隧道,支持多种操作系统和平台。OpenVPN包含:社区版(Community Edition),贸易版(Access Server)。


  • openvpn
社区版是完全免费的,但是必要用户有一定的Linux和下令行的知识,以及自己配置和管理VPN服务器和客户端。社区版提供了OpenVPN Connect客户端,可以在Windows, macOS, Linux, Android和iOS上利用。


  • openvpn-as
贸易版是一个付费的VPN解决方案,提供了一个易于利用的Web界面,可以方便地管理和配置VPN服务器和客户端。贸易版还提供了预配置的客户端软件,以及在多个云平台上部署的选项²。贸易版提供了两个免费的VPN毗连授权,可以用于试用³。


  • CloudConnexa
CloudConnexa是OpenVPN的一个云端VPN解决方案,可以让您轻松地创建和管理安全的捏造网络,无需自己安装和维护VPN服务器。CloudConnexa提供了多个全球地域的接入点,以及多种网络安全功能,如零信任访问、内容过滤、灵活的路由等。CloudConnexa还提供了三个免费的VPN毗连授权,可以用于试用。
二、安装

以下我们来讲讲openvpn社区版的安装:
openvpn的安装包含两部分,即openvpn server及openvpn client。
2.1、Docker搭建openvpn server

准备好一台主机,并安装好docker(docker官网下载最新的安装包),下载openvpn镜像docker pull kylemanna/openvpn:2.4。kylemanna/openvpn是目前利用率最高的openvpn镜像。
1、利用openvpn天生配置文件
  1. mkdir -p /data/openvpn
复制代码
  1. docker run -v /data/openvpn:/etc/openvpn --rm kylemanna/openvpn ovpn_genconfig -u udp://xx.xx.xx.xx
复制代码
实行完下令后可在目录/data/openvpn中看到相应的配置文件;我这里利用的是upd方式,当然你也可以改成tcp://
2、初始化密钥文件
  1. docker run -v /data/openvpn:/etc/openvpn --rm -it kylemanna/openvpn ovpn_initpki
复制代码
实行过程中必要先设置ca密码(如123456),Common Name可不设置直接按回车继续默认是server,接着必要输入ca密码更新密钥库以及天生crl文件;
3、天生客户端证书
  1. docker run -v /data/openvpn:/etc/openvpn --rm -it kylemanna/openvpn easyrsa build-client-full openvpn-client nopass
复制代码
其中openvpn-client为自界说名称,你也可修改成自己界说的名称,天生的过程必要输入ca密码;
4、导出客户端的配置文件openvpn-client.ovpn
  1. docker run -v /data/openvpn:/etc/openvpn --rm kylemanna/openvpn ovpn_getclient openvpn-client > /data/openvpn/openvpn-client.ovpn
复制代码
注意openvpn-client名称需与第三步天生时命名同等,此时天生的配置文件openvpn-client.ovpn即可用于客户端毗连;
5、启动openvpn
  1. docker run  -v /data/openvpn:/etc/openvpn \
  2. -d -p 1194:1194/udp --restart=always --name openvpn \
  3. --cap-add=NET_ADMIN --sysctl net.ipv6.conf.all.disable_ipv6=0 \
  4. --sysctl net.ipv6.conf.default.forwarding=1 --sysctl net.ipv6.conf.all.forwarding=1  \
  5. kylemanna/openvpn
复制代码
注意防火墙是否关闭,没关闭必要开放1194为udp端口。到这里openvpn服务端就安装完成了。
2.2、Windows安装openvpn client

1、下载相应的客户端并安装,openvpn客户端有linux、windows及移动端各种版本。



2、获取客户端配置文件
按上面的步骤操作后,会在/data/openvpn目录中找到openvpn-client.ovpn文件。下载到windows机器,然后双击就可以导入并毗连到openvpn server。


3、openvpn-client.ovpn
  1. client
  2. nobind
  3. dev tun
  4. remote-cert-tls server
  5. remote ip port udp
  6. remote ip port udp
  7. remote ip port udp
  8. remote ip port udp
复制代码
openvpn client可以配置多个openvpn server节点,每个remote就是一个openvpn server节点,一样平常可以设置为随机或顺序的方式。当某个节点不行时,客户端会按照相应的方式毗连别的节点。别的openvpn-client默认是全局代码的方式,我们也可以通过中openvpn-client.ovpn中配置route来实现局部代理。
2.3、Linux安装openvpn client

  1. apt install apt-transport-https curl
  2. mkdir -p /etc/apt/keyrings    ### This might not exist in all distributions
  3. curl -sSfL https://packages.openvpn.net/packages-repo.gpg >/etc/apt/keyrings/openvpn.asc
复制代码
下面的变量${DISTRIBUTION}必要替换成相应的值
echo "deb [signed-by=/etc/apt/keyrings/openvpn.asc] https://packages.openvpn.net/openvpn3/debian ${DISTRIBUTION} main" >>/etc/apt/sources.list.d/openvpn3.list


我当前系统是Ubuntu20以是换成focal
  1. echo "deb [signed-by=/etc/apt/keyrings/openvpn.asc] https://packages.openvpn.net/openvpn3/debian focal main" >>/etc/apt/sources.list.d/openvpn3.list
复制代码
  1. apt update
  2. apt install openvpn3
复制代码
安装完成后,${MY_CONFIGURATION_FILE}就是openvpn-client.ovpn文件
  1. openvpn3 session-start --config ${MY_CONFIGURATION_FILE}
复制代码


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

tsx81429

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表