目前我有一个docker镜像已经安装了openvpn,目前想基于该镜像运行一个openvpn 服务,并梳理出该过程中的关键配置
1. 首先基于helm 运行一个openvpn server
github.com/bobz965/cha… 参考该项目,执行如下命令,可以顺利启动一个 openvpn server pod
# 基于 kube-ovn 环境
helm lint openvpn
helm package openvpn
mv /root/charts/curated/openvpn-2.5.8.tgz /tmp
helm install /tmp/openvpn-2.5.8.tgz --generate-name -f my-values.yaml
该 openvpn chart 实现的效果就是让用户通过openvpn client可以直接连接到kube-ovn vpc 子网中的所有pod,以及包括基于域名进行访问。就像是用户在集群内部一样。
访问pod网段以及svc网段的路由基于以下配置添加
openvpn.OVPN_K8S_POD_NETWORK` and `openvpn.OVPN_K8S_POD_SUBNET`
openvpn.OVPN_K8S_SVC_NETWORK and openvpn.OVPN_K8S_SVC_SUBNET
路由应该是表现在客户端的,这个后续再实际测试下,因为服务端即使加了svc cidr,也只是表现在服务端的配置中,服务端并没有多余的svc的路由。
而且服务端的kube-ovn pod内并不需要这条路由,svc的解析是在网关触发dnat的。
2. 梳理chart 中 openvpn server 的启动步骤相关文件
2.1 后续支持的功能点
crl-verify /etc/openvpn/certs/crl.pem
具体作用: openvpn.net/community-r…
tls-auth /etc/openvpn/certs/pki/ta.key 0 尚未启用 具体作用: openvpn.net/community-r… 这个可以增强安全性,需要启用
ipv6 indent 6