5154

Good Luck To You!

ubuntu18配置dns地址

Ubuntu 18中配置DNS地址,可编辑/etc/resolv.conf文件添加nameserver条目,或通过Netplan管理网络配置实现

直接编辑 /etc/resolv.conf 文件

这是最基础且常用的手动配置方式,适合临时或简单需求场景。

操作步骤:

  1. 打开终端,使用管理员权限编辑文件:
    sudo nano /etc/resolv.conf
  2. 添加/修改 nameserver,指定目标DNS服务器IP(例如Google公共DNS):
    nameserver 8.8.8.8      # Google Public DNS
    nameserver 8.8.4.4      # 备用节点

    ⚠️ 注意:若网络由NetworkManager管理(如桌面版),此文件可能被自动覆盖,此时需通过图形界面固定设置。

  3. 保存并退出(按 Ctrl+O → 回车确认 → Ctrl+X)。
  4. 验证生效性:执行命令查看当前使用的DNS列表:
    cat /etc/resolv.conf

潜在问题与限制:

  • Systemdresolved服务会定期重置该文件内容,导致手动更改失效,可通过停止该服务解决:
    sudo systemctl stop systemdresolved && sudo systemctl disable systemdresolved
  • 此方法不持久化于重启后,建议结合下文其他方案使用。

通过Netplan实现持久化配置(推荐用于服务器环境)

Netplan是Ubuntu官方推荐的网络配置工具,尤其适用于云服务器和自动化部署场景。

ubuntu18配置dns地址

配置文件路径: /etc/netplan/*.yaml(通常为 01netcfg.yaml

示例模板:

network:
  version: 2
  renderer: networkd    # 使用传统network管理器而非NetworkManager
  ethernets:
    ens33:             # 根据实际网卡名称调整(ifconfig a查看)
      dhcp4: no        # 关闭DHCP自动获取IP
      addresses: [192.168.1.100/24] # 静态IP设置(可选)
      gateway4: 192.168.1.1       # 默认网关
      nameservers:
        addresses: [192.168.1.10, 223.5.5.5] # 主辅DNS服务器

应用更改:

sudo netplan apply          # 立即生效新配置
ip addr list                 # 检查IP是否分配正确

📌优势:完全脱离图形依赖,重启后仍保持设置;支持多网卡绑定与复杂拓扑结构。


图形界面工具 NetworkManager(桌面用户适用)

对于非服务器版本的Ubuntu(如Desktop版),可通过GUI快速完成配置:

  1. 打开系统设置 → “网络”选项卡 → 选择已连接的网络接口 → 点击齿轮图标进入详情页。
  2. 切换至IPv4标签页 → 将方法改为“手动”,然后在“DNS服务器”栏中输入所需地址(如 114.114.114)。
  3. 保存设置后会自动写入到 /run/systemd/resolve/resolv.conf,无需手动干预文件。

高级场景扩展——搭建本地BIND DNS服务

若需自定义域名解析规则(如内网服务发现),可部署权威DNS服务器:

ubuntu18配置dns地址

  1. 安装BIND软件包
    sudo apt install bind9
  2. 编辑主配置文件 /etc/bind/named.conf.local,定义正向解析区域:
    zone "internal.lan" {
        type master;
        file "/etc/bind/db.internal.lan"; # 数据存储路径
    };
  3. 创建数据库文件 /etc/bind/db.internal.lan,写入具体记录:
    ; BIND data for internal.lan
    $TTL    604800
    @       IN      SOA     ns1.internal.lan. root.internal.lan. (2025090101 ; Serial)
        IN      NS      ns1.internal.lan.
    ns1     IN      A       192.168.1.100      # DNS服务器自身IP
    web     IN      A       192.168.1.200      # Web应用主机名映射
  4. 重启服务使配置生效
    sudo systemctl restart bind9

    ✅ 此方案适用于企业级私有云环境,支持动态更新、负载均衡等高级功能。


常见问题排查手册

现象 可能原因 解决方案
DNS修改后未生效 Systemdresolved干扰 禁用服务:sudo systemctl stop systemdresolved
部分域名无法解析 缓存污染或过时条目 清除缓存:sudo systemdresolve flushcaches
Netplan应用失败 YAML语法错误 使用在线校验工具检查缩进与键值对格式
BIND启动报错 端口被防火墙阻止 开放UDP/TCP端口53:sudo ufw allow 53

相关问题与解答

Q1: 为什么手动修改 /etc/resolv.conf 后总是被还原?

A: Ubuntu默认启用了 systemdresolved 服务来动态管理DNS解析流程,该服务会定期覆盖用户对 /etc/resolv.conf 的直接编辑,有两种解决方法:①彻底禁用该服务(见第一节);②通过Netplan或NetworkManager进行标准化配置,确保变更持久化。

Q2: Netplan配置中的 renderer: networkd 有什么作用?

A: 它指定使用传统的 network daemon而非默认的NetworkManager守护进程,这一设置能避免图形界面工具对配置文件的潜在覆盖,特别适用于无头服务器环境,若省略此项,可能出现配置冲突导致网络不稳定。

ubuntu18配置dns地址


通过以上方法,您可以灵活应对不同场景下的DNS配置需求,对于生产环境,推荐优先使用Netplan实现声明式配置管理;而桌面

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

«    2025年9月    »
1234567
891011121314
15161718192021
22232425262728
2930
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
搜索
最新留言
    文章归档
    网站收藏
    友情链接

    Powered By Z-BlogPHP 1.7.3

    Copyright Your WebSite.Some Rights Reserved.