赞
踩
需要访问另一个(堆)不能直接访问的网络服务。
将两个不能互访的子网称为子网A和子网B,其中子网B的路由器有虚拟服务器的功能,可以将网内部分服务映射到外网。
现要使子网A内的主机登录VPN后能访问子网B的所有服务,因此,考虑在子网B的主机部署VPN服务端,通过虚拟服务器的功能映射VPN服务端口,完成VPN的搭建。
基于快速部署考虑,本文选择docker+openVPN进行部署。
在dockerhub上找到了linuxserver发布的openvpn镜像,按照指引部署之后发现还需要做点国内的本地化适配。
首先在dockerfile里将apt源修改为国内镜像源,然后openvpn的软件源需要用上技术手段。
FROM linuxserver/openvpn-as:latest
# 技术手段,不然会安装不了openvpn
RUN echo 'Acquire::http::Proxy "http://192.168.2.148:10809/";\nAcquire::http::Proxy "http://192.168.2.148:10809/";'>/etc/apt/apt.conf.d/proxy.conf
# apt替换为国内镜像源
RUN echo 'deb http://mirrors.cernet.edu.cn/ubuntu/ jammy main restricted universe multiverse\ndeb http://mirrors.cernet.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse\ndeb http://mirrors.cernet.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse\ndeb http://mirrors.cernet.edu.cn/ubuntu/ jammy-security main restricted universe multiverse'> /etc/apt/sources.list
基本都是linuxserver的默认配置,就是镜像换了、时区换了。
version: "3" services: openvpn-as: build: context: . image: openvpn-as container_name: openvpn-as cap_add: - NET_ADMIN environment: - PUID=1000 - PGID=1000 - TZ=Asia/Shanghai - INTERFACE=eth1 #网卡名,可选 volumes: - <openvpn_data>:/config ports: - 943:943 - 9443:9443 - 1194:1194/udp restart: unless-stopped
一条命令即可成功部署
docker-compose up -d
部署成功后访问https://domain:943/admin即可进行网页管理,默认账号密码admin/password
在user management新增一个用户,记得编辑密码,然后就能登录了。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。