K8s 上的 OpenVPN-Client Pod - 本地网络无法访问

OpenVPN-Client Pod on K8s - Local network unreachable

我目前正在尝试在 K8s Pod 中获取 OpenVPN 客户端 运行。我试图实现的目标是我能够通过 VPN 连接访问互联网,同时还能够与我的命名空间中的其他容器进行通信。问题是一旦建立 VPN 连接,我就无法与 10.42.0.0、10.43.0.0 网络(对于 pods 和服务)进行交互:(

smb 能否提示我在连接 vpn 时如何与上述两个网络进行交互?

我的客户端配置(可能有很大问题)

client
dev tun
proto udp
remote some.vpnserver.com 443
resolv-retry infinite
nobind
persist-key
persist-tun
persist-remote-ip
redirect-gateway def1 bypass-dns
dhcp-option DOMAIN-SEARCH cluster.local
dhcp-option DOMAIN-SEARCH svc.cluster.local
dhcp-option DOMAIN-SEARCH default.svc.cluster.local
dhcp-option DNS 10.43.0.10
pull-filter ignore block-outside-dns
pull-filter ignore redirect-gateway
pull-filter ignore explicit-exit-notify
pull-filter ignore "dhcp-option DNS"

verify-x509-name some.vpnserver.com name
auth-user-pass
comp-lzo
keepalive 10 60
verb 3
auth SHA256
cipher AES-256-CBC
tls-cipher TLS-ECDHE-RSA-WITH-AES-256-GCM-SHA384:TLS-DHE-RSA-WITH-AES-256-CBC-SHA256:TLS-DHE-RSA-WITH-AES-256-CBC-SHA

<ca>
-----BEGIN CERTIFICATE-----
...
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
...
-----END CERTIFICATE-----
</ca>

我还在我的部署 yaml 中添加了以下内容:

  capabilities:
    add:
      - NET_ADMIN
      - SYS_MODULE
  dnsConfig:
    nameservers:
      - 10.43.0.10 # K8s CoreDNS
    options:
      - name: ndots
        value: "2"
      - name: edns0

还没有解决与本地网络或本地DNS/Pods等交互的问题?

我正在研究

提前致谢,感谢您的每一个提示,我从几天开始就在努力

正如@anemyte 所写删除 route 10.42.0.0 255.255.0.0route 10.43.0.0 255.255.0.0。那些意味着对子网使用 VPN,你想要相反。
默认情况下,本地网络流量不使用 redirect-gateway 路由。然后尝试恢复路由,但这次将 net_gateway 添加到每个路由的末尾。这使得路由使用默认网关而不是 VPN。这应该看起来像这样 route 10.42.0.0 255.255.0.0 net_gateway.

看看:openvpnclient-pod, openvpn-kubernetes.