在 Linux 上使用 kubevpn 连接 K8s 集群网络后,无法访问互联网了?
原因
在 Linux 系统中找不到设置 DNS 的最佳方法,因为 Linux 发行版种类繁多。
期望
为 tun 设备单独设置 DNS
解决方法
安装工具 resolvectl
若系统中未预装 resolvectl,可通过如下步骤完成安装过程。
(1) 安装工具 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 |
(2) 验证安装
安装完成后,通过命令启用服务:
# 启用服务
systemctl enable systemd-resolved.service
# 启动服务
systemctl start systemd-resolved.service
执行命令验证:
resolvectl status
此命令将显示来自解析守护进程的名称解析信息。
(3) 重启电脑
请重启计算机,这一步非常重要,请务必重启。
重启后,使用 kubevpn connect 重新连接,所有功能应恢复正常。