我在 K3s Kubernetes 集群上设置了一个 OpenVPN 服务器。虽然我可以成功部署 OpenVPN 服务器 pod 并从客户端计算机进行连接,但客户端无法通过 VPN 访问互联网。
到目前为止我已经尝试过:
- 添加了以下 iptables 规则:
iptables -t nat -A POSTROUTING -s 10.1.0.0/24 -o eth0 -j MASQUERADE
iptables -A FORWARD -i tun+ -o eth0 -j ACCEPT
iptables -A FORWARD -i eth0 -o tun+ -j ACCEPT
- 启用 IP 转发:
sysctl -w net.ipv4.ip_forward=1
- 验证 Pod 已连接互联网
securityContext
在我的部署文件中 使用了以下内容:securityContext: privileged: true capabilities: add: - NET_ADMIN
- 启用主机网络:
hostNetwork: true
- 在我的容器配置中指定默认的 OpenVPN 端口:
ports: - name: vpn containerPort: 1194 hostPort: 1194 hostIP: 0.0.0.0 protocol: UDP
当我通过 Docker 手动部署 OpenVPN 服务器时,它能够正常工作。我假设某些 K3s/Kubernetes 网络规则正在干扰互联网连接。
任何帮助或建议都将不胜感激。