在 Linux 上使用 kubevpn 连接 K8s 集群网络后,无法访问互联网了?
原因
在 Linux 系统中找不到设置 DNS 的最佳方法,因为 Linux 发行版种类繁多。
期望
为 tun
设备单独设置 DNS
解决方法
安装工具 resolvectl
若系统中未预装 resolvectl
,可通过相关软件包安装:
resolvectl 的软件包信息
操作系统 | 软件包名称 | 安装命令 |
---|---|---|
AlmaLinux | systemd-resolved | dnf install systemd-resolved |
Arch Linux | systemd | pacman -S systemd |
Debian | systemd | apt install systemd |
Fedora | systemd-resolved | dnf install systemd-resolved |
Red Hat Enterprise Linux | systemd-resolved | dnf install systemd-resolved |
Rocky Linux | systemd-resolved | dnf install systemd-resolved |
Ubuntu | systemd | apt install systemd |
验证安装
安装完成后,通过命令启用服务:
# 启用服务
systemctl enable systemd-resolved.service
# 启动服务
systemctl start systemd-resolved.service
执行命令验证:
resolvectl status
此命令将显示来自解析守护进程的名称解析信息(若未生效,请重启计算机后重试)。
完成验证后,使用 kubevpn connect
重新连接,所有功能应恢复正常。