ubuntu域名怎么修改DNS服务器
导读:Ubuntu 修改 DNS 服务器的常用方法 先确认你的系统与网络管理方式 查看是否存在 /etc/netplan/ 目录及 .yaml 文件(如 01-netcfg.yaml 或 50-cloud-init.yaml):若有,系统使用...
Ubuntu 修改 DNS 服务器的常用方法
先确认你的系统与网络管理方式
- 查看是否存在 /etc/netplan/ 目录及 .yaml 文件(如 01-netcfg.yaml 或 50-cloud-init.yaml):若有,系统使用 Netplan 管理网络。
- 查看是否存在 /etc/network/interfaces:若有且包含 iface eth0 inet static/dhcp,系统可能使用 ifupdown。
- 若以上都没有,且使用桌面版,通常由 NetworkManager 管理网络。
- 检查是否使用 systemd-resolved:执行 resolvectl status,若能看到 127.0.0.53,说明正在使用。
方法一 使用 systemd-resolved(适用于 Ubuntu 18.04 及以后,桌面/服务器通用)
- 编辑配置文件:sudo nano /etc/systemd/resolved.conf
- 在 [Resolve] 段设置 DNS(可同时设置多个,空格分隔):
- DNS=8.8.8.8 1.1.1.1
- FallbackDNS=8.8.4.4 1.0.0.1
- 使配置生效:
- sudo systemctl restart systemd-resolved
- sudo ln -sf /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf
- 验证:resolvectl status 或 dig example.com
- 说明:/etc/resolv.conf 通常被链接到 systemd-resolved 提供的存根文件;直接改 /etc/resolv.conf 会被覆盖,除非按上面方式重新链接。
方法二 使用 Netplan(Ubuntu 18.04 及以后,服务器常见)
- 编辑 Netplan 配置(文件名以实际为准):sudo nano /etc/netplan/01-netcfg.yaml
- 在相应网卡下添加 nameservers.addresses(示例为静态地址场景):
- network:
- version: 2
- renderer: networkd
- ethernets:
- enp0s3:
- dhcp4: no
- addresses: [192.168.1.100/24]
- gateway4: 192.168.1.1
- nameservers:
- addresses: [8.8.8.8, 1.1.1.1]
- enp0s3:
- network:
- 应用配置:sudo netplan apply
- 验证:resolvectl status 或 nslookup example.com
- 提示:如使用 renderer: NetworkManager,也可在桌面网络管理器中设置 DNS,或在 Netplan 中改为 renderer: networkd 后由 Netplan 下发 DNS。
方法三 使用 ifupdown 的 interfaces 文件(较老版本或服务器)
- 编辑:sudo nano /etc/network/interfaces
- 在对应接口下添加:dns-nameservers 114.114.114.114 8.8.8.8
- 使配置生效:
- 若使用 ifupdown:sudo systemctl restart networking
- 若使用 NetworkManager 接管该接口:sudo systemctl restart NetworkManager
- 验证:cat /etc/resolv.conf 或使用 dig/nslookup 测试。
方法四 临时修改 DNS(重启后失效,仅用于测试)
- 直接写入:sudo nano /etc/resolv.conf
- 添加:nameserver 8.8.8.8;如需多个,每行一个 nameserver
- 验证:dig example.com
- 注意:重启或网络重管理后会被覆盖;若系统使用 systemd-resolved,应优先使用方法一进行持久化。
验证与常见问题
- 验证命令:
- resolvectl status(查看当前 DNS 服务器与链路状态)
- dig example.com +short
- nslookup example.com
- 常见问题与处理:
- /etc/resolv.conf 被覆盖:改用 systemd-resolved 的存根文件链接(方法一)。
- 使用 hosts 文件做本地解析:编辑 /etc/hosts(如:1.2.3.4 www.example.test),仅影响本机,优先级高于 DNS 查询,适合测试。
- 云服务器或 cloud-init 覆盖 DNS:检查 /etc/cloud/cloud.cfg 中是否含 manage_resolv_conf: true,或在 /etc/netplan/ 中显式写入 nameservers 并重新应用。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: ubuntu域名怎么修改DNS服务器
本文地址: https://pptw.com/jishu/766448.html
