【运维笔记】openVPN+docker-compose部署实录

【运维笔记】openVPN+docker-compose部署实录

问题背景

需要访问另一个(堆)不能直接访问的网络服务。

思路

将两个不能互访的子网称为子网A和子网B,其中子网B的路由器有虚拟服务器的功能,可以将网内部分服务映射到外网。
现要使子网A内的主机登录VPN后能访问子网B的所有服务,因此,考虑在子网B的主机部署VPN服务端,通过虚拟服务器的功能映射VPN服务端口,完成VPN的搭建。

技术选择

基于快速部署考虑,本文选择docker+openVPN进行部署。

docker镜像

在dockerhub上找到了linuxserver发布的openvpn镜像,按照指引部署之后发现还需要做点国内的本地化适配。

dockerfile

首先在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

docker-compose file

基本都是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
overview

新增配置

在user management新增一个用户,记得编辑密码,然后就能登录了。user management

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值