K3s Kubernetes 集群上的 OpenVPN 服务器:无互联网访问

K3s Kubernetes 集群上的 OpenVPN 服务器:无互联网访问

我在 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 网络规则正在干扰互联网连接。

任何帮助或建议都将不胜感激。

相关内容