/ocserv-docker

用于初始化 ocserv 的 Dockfile 脚本

Primary LanguageApacheConf

用途

因为安装一个 Open Connect 的步骤实在太麻烦了, 特别对于新手, 所以特意参考了 jpetazzo 的 dockvpn 弄了一个 ocserv 的. 此项目的原因和一点点介绍可见 使用 ocserv-docker 享受自由网络

有啥问题可以直接 @wyatt_pan

简单部署

安装好 Docker 1.0+ 并且正常启动 Docker 后:

  • cd ~;git clone https://github.com/wppurking/ocserv-docker.git : 将当前 repo 下载, 拥有可调整的 ocserv.conf 配置文件以及 ocpasswd 用户密码文件
  • docker run -d --privileged -v ~/ocserv-docker/ocserv:/etc/ocserv -p 443:443/udp -p 443:443/tcp wppurking/ocserv : Box 自动下载. ocserv 的一些功能需要 Docker 在 privileged 权限下处理
  • docker ps -aq | xargs docker logs : 查看运行日志, 检查是否正常运行(可重复执行).
listening (TCP) on 0.0.0.0:443...
listening (TCP) on [::]:443...
listening (UDP) on 0.0.0.0:443...
listening (UDP) on [::]:443...

使用

  • 初始化好的两个账户: wyatt:616 holly:525
  • 如果主服务器上开启了 iptables, 一定要记得将 443 端口的 tcp 与 udp 都开放
  • 已经做了其能够处理的下发路由数量 (ocserv.conf 中, 感谢: kevinzhow 的 route.ship_cook.rb )
  • 接下来 就是 AnyConnect 的客户端了. Win, Mac, Linux Link1 (Cisco 官方需要注册...), iOS, Android
  • 因为我们自己生成的 CA 证书是没有权威组织认证的, 所以 AnyConnect 需要接受这些 "不信任的 VPN" :P

自定义证书, 密钥

因为是构建一个独立的 box 进行分发, 方便快速部署一个 ocserv, 所以将证书, 密钥, 用户都集成在里面了, 此刻方便使用. 如果对于有担心的, 可以 docker run -t -i wppurking/ocserv bash 进入到 box 中使用 certtool 重新进行处理, 具体操作步骤参考 [原创]linode vps debian7.5安装配置ocserv(OpenConnect server)

证书是在 Docker Build 的过程中自动生成的, 其生成的目的地为 /opt/certs

用户名

为了使新手能够最快的使用上 AnyConnect (也方便我自己同一设备能方便的链接多个不同地域的 VPS) 我预先设置了两个初始化的账号密码, 但同时将用于提供账号密码的 ocserv/ocpasswd 文件放在 Box 外面, 运行 Container 时使用 Volume 挂在进去, 这样方便熟悉 Docker 的用户能够方便的 使用 ocpasswd 命令修改或者重新生成自己的用户密码.

信息

  • Box Size: 384.6 MB (拿空间换时间, 国外网络快)
  • 基础 Box: ubuntu:latest (192.7 MB)
  • 测试过的环境:
    • [Linode 1G Ubuntu 14.04 LTS]
    • [Vultr 768MB Ubuntu 14.04 LTS]
    • [DigitalOcean 512MB Docker 1.2.0 on Ubuntu 14.04]

Refs

问题

  1. 在某一个**的 VPS 上 Docker 无法正常运行, 报告: /lib/x86_64-linux-gnu/libc.so.6 invalid EFL header 我暂时不知道如何解决 - -||
  2. 在某台 Linux Kernal 为 Linux xxxx 3.13.0-24-generic #46-Ubuntu SMP Thu Apr 10 19:11:08 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux 的服务器上, 无论 Docker run 哪一个 Box 都无法正常运行. Docker 的问题我现在还无能无力啊... 错误信息