使用 Docker-Compose 部署 openConnect Vpn Server
文章目录
环境说明
-
docker-compose
:1.18.0 -
操作系统:
openwrt (x86)
-
docker version:
19.03.12
-
docker image
yangzun/docker-openconnect-ldap:latest
此镜像基于
morganonbass/ocserv-ldap
之上做了修饰修改,原因为此容器存在 bug,无法正常启动。
部署前的准备工作
安装 docker-compose
|
|
创建 docker-compose 部署文件
创建目录
|
|
创建部署文件
|
|
上述
environment
指定的变量这里不做过多的介绍说明,在对应的 readme 页面中已有详细介绍。有关于openldap
的部署配置部分请参考较早期 文档说明。
创建配置文件后的启动
|
|
测试验证
这里使用的测试连接的软件为
anyConnect
内网本地测试
可以看到我们这里使用
内网地址
进行连接是可以正常连接上的,获取到的客户端地址也是我们配置文件中写的的地址段中的 ip 即192.168.248.0/25
配置公网进行测试
因为运营商这边不愿意提供
公网ip
,所有我这里将展示使用内网穿透工具 (nps)
进行测试。
nps 配置端口映射
这里映射的端口是 tcp 协议,tcp 相较与
udp
的优势是更加稳定,且不易被运营商进行拦截,打个比方比如运营商服务器目前正在被网络流量攻击时,会优先关闭udp
协议 (不安全协议)。不过 udp 也有自己的优势,那就是速度相对与 tcp 更加的快速。
PC 测试连接
同样的正常连接上了
断开连接后,也有对应的日志输出
手机端测试
这里测试使用的依然是
anyConnect 手机端
问题记录
启动时,iptables 规则提示报错
排查原因为 iptables 版本不兼容导致,更改使用为
/usr/sbin/iptables-legacy
即可
|
|
并在 Dockerfile 对应指定的 docker-entrypoint.sh
脚本中加入,代码提交自动触发 image build
。
总结
openConnect 相较于 openVpn 的优势是,服务之间的路由可以通过在
服务端进行控制 (route 配置项)
。而 openVpn 要通过更改客户端这边的 config ,相较于不太安全,也不符合管理员进行掌控全局的设定。速度方向个人使用
感觉差异不大,加密原理多是使用的 tls证书 进行验证,性能差异应该不会太大。更加高级配置请参考如下文档。