You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Debian 11下Network Manager VPN连接时DNS配置替换需求求助

Debian 11下Network Manager VPN连接时DNS配置替换需求求助

很理解你每次手动修改resolv.conf的麻烦,针对Debian 11搭配Network Manager的场景,有几种实用方法可以实现VPN连接时替换而非追加系统DNS配置:

方法一:通过KDE图形界面修改VPN设置

这是最直观的方式,适合习惯图形操作的用户:

  • 打开KDE的「网络设置」(可以从系统托盘的网络图标右键进入)
  • 找到你的VPN连接,点击「编辑」按钮进入配置界面
  • 切换到IPv4标签页,在「DNS服务器」输入框中填写公司内部DNS:192.168.50.9
  • 关键设置:找到「DNS处理方式」(部分版本显示为「DNS优先级」),选择**「仅使用此连接的DNS服务器」**(类似表述如「忽略系统自动DNS」「替换全局DNS」)
  • 保存配置后,断开并重新连接VPN,此时/etc/resolv.conf里就只会出现公司的DNS服务器了

方法二:用nmcli命令行配置(适合终端用户)

如果习惯用终端操作,步骤也很简单:

  1. 先列出所有网络连接,找到你的VPN连接名称:
nmcli con show
  1. 假设你的VPN连接名为MyCompanyVPN,执行以下命令修改DNS规则:
# 设置VPN的DNS服务器
nmcli con mod MyCompanyVPN ipv4.dns "192.168.50.9"
# 提升VPN DNS的优先级(数值越小优先级越高)
nmcli con mod MyCompanyVPN ipv4.dns-priority -100
# 让Network Manager忽略系统自动获取的DNS
nmcli con mod MyCompanyVPN ipv4.ignore-auto-dns yes
  1. 重启VPN连接使设置生效:
nmcli con up MyCompanyVPN

方法三:调整系统DNS管理(针对特殊情况)

如果上述方法不生效,可能是systemd-resolved在接管resolv.conf的管理,可以尝试以下步骤:

  1. 先检查/etc/resolv.conf的状态:
ls -l /etc/resolv.conf

如果输出显示它是指向/run/systemd/resolve/stub-resolv.conf的软链接,说明是systemd-resolved在控制。
2. 关闭systemd-resolved的自动管理:

sudo systemctl stop systemd-resolved
sudo systemctl disable systemd-resolved
sudo rm /etc/resolv.conf
sudo touch /etc/resolv.conf
  1. 回到Network Manager的VPN配置界面,开启「替换系统DNS」的选项,此时Network Manager会直接修改/etc/resolv.conf,不再受systemd-resolved干扰。

注意:第三种方法会改变系统默认的DNS管理逻辑,后续如果不再使用VPN,记得手动调整Network Manager的全局DNS设置,避免出现解析问题。

备注:内容来源于stack exchange,提问作者j4nd3r53n

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.23 10:55:30