跳到主内容

在 Linux 上使用 kubevpn 连接 K8s 集群网络后,无法访问互联网了?

原因

在 Linux 系统中找不到设置 DNS 的最佳方法,因为 Linux 发行版种类繁多。

期望

tun 设备单独设置 DNS

解决方法

安装工具 resolvectl
若系统中未预装 resolvectl,可通过相关软件包安装:

resolvectl 的软件包信息

操作系统软件包名称安装命令
AlmaLinuxsystemd-resolveddnf install systemd-resolved
Arch Linuxsystemdpacman -S systemd
Debiansystemdapt install systemd
Fedorasystemd-resolveddnf install systemd-resolved
Red Hat Enterprise Linuxsystemd-resolveddnf install systemd-resolved
Rocky Linuxsystemd-resolveddnf install systemd-resolved
Ubuntusystemdapt install systemd

验证安装

安装完成后,通过命令启用服务:

# 启用服务
systemctl enable systemd-resolved.service

# 启动服务
systemctl start systemd-resolved.service

执行命令验证:

resolvectl status

此命令将显示来自解析守护进程的名称解析信息(若未生效,请重启计算机后重试)。

完成验证后,使用 kubevpn connect 重新连接,所有功能应恢复正常。