当前位置:首页 > 问答 > 正文

网络设置 系统管理 ubuntu配置dns,Ubuntu DNS配置指南

Ubuntu DNS配置指南:轻松搞定网络设置

场景引入
刚装好Ubuntu系统,兴冲冲打开浏览器却发现网页死活打不开?或者公司内网服务突然连不上?别急,八成是DNS在搞鬼,DNS就像互联网的“电话簿”,配置不对,系统连网站门牌号都找不到,今天咱们就手把手教你用最接地气的方式搞定Ubuntu的DNS配置,无论是临时改一下还是永久生效,统统安排明白!


快速检查当前DNS

先确认问题是不是真的出在DNS上,打开终端(Ctrl+Alt+T),输入:

nslookup example.com

如果返回服务器不可达或长时间无响应,大概率是DNS问题,再运行:

网络设置 系统管理 ubuntu配置dns,Ubuntu DNS配置指南

systemd-resolve --status | grep "DNS Servers"

这会显示当前使用的DNS服务器地址,如果列出的IP明显不对(比如127.0.0.53以外的奇怪地址),就需要调整了。


临时修改DNS(重启失效)

适合临时测试或应急,比如连咖啡厅WiFi发现DNS抽风:

  1. 直接编辑resolv.conf
    sudo nano /etc/resolv.conf
  2. 把里面的nameserver行改成公共DNS,
    nameserver 8.8.8.8       # Google DNS
    nameserver 223.5.5.5     # 阿里DNS
  3. 按Ctrl+X保存退出,立刻生效。

⚠️ 注意:这个方法重启后会被系统覆盖,适合临时用。


永久修改DNS(推荐)

方法1:通过Netplan(Ubuntu 18.04+主流方式)

  1. 找到Netplan配置文件,通常在/etc/netplan/下,
    sudo nano /etc/netplan/01-netcfg.yaml
  2. 在对应网卡配置下添加nameservers字段(注意缩进!):
    network:
      ethernets:
        enp3s0:                   # 网卡名,用ip a查自己的
          dhcp4: no
          addresses: [192.168.1.100/24]
          gateway4: 192.168.1.1
          nameservers:
            addresses: [8.8.8.8, 223.5.5.5]
      version: 2
  3. 应用配置:
    sudo netplan apply

方法2:通过systemd-resolved(兼容性更好)

  1. 编辑配置文件:
    sudo nano /etc/systemd/resolved.conf
  2. 取消注释并修改以下行:
    [Resolve]
    DNS=8.8.8.8 223.5.5.5
    FallbackDNS=1.1.1.1
  3. 重启服务:
    sudo systemctl restart systemd-resolved

验证DNS是否生效

  1. 清除DNS缓存(Ubuntu 22.04+):
    sudo resolvectl flush-caches
  2. 再次测试解析:
    nslookup baidu.com

    如果返回正确的IP地址,说明配置成功!

    网络设置 系统管理 ubuntu配置dns,Ubuntu DNS配置指南


常见问题排雷

  • Q:改完DNS还是连不上?

    • 检查网卡名是否写错(用ip a确认)。
    • 企业内网可能需要额外配置搜索域(在Netplan中添加search: [yourdomain.com])。
  • Q:想用DoH(DNS-over-HTTPS)怎么办?
    Ubuntu默认不支持,但可通过dnscrypt-proxy等工具实现,需额外安装配置。



DNS配置在Ubuntu上其实就分“临时改”和“永久改”两种姿势,推荐用Netplan或systemd-resolved一劳永逸,遇到问题先nslookup诊断,再对症下药,你的Ubuntu应该能愉快上网了!

发表评论