当前位置:首页 > 互联网 > 正文

服务器DNS设置在哪 | 服务器DNS配置指南详解

临时修改(重启后失效)

直接修改 /etc/resolv.conf 文件

sudo vi /etc/resolv.conf

添加或替换 nameserver 行(例如使用 Google DNS):

nameserver 8.8.8.8 nameserver 8.8.4.4

注意:某些系统(如使用 systemd-resolved 或 NetworkManager)重启后会自动覆盖此文件。


永久配置(不同系统方法不同)

Debian/Ubuntu(使用 netplan,适用于 Ubuntu 18.04+)

  • 编辑 Netplan 配置文件(通常位于 /etc/netplan/): sudo vi /etc/netplan/01-netcfg.yaml
  • 在网卡配置下添加 nameservers 字段: network: ethernets: eth0: dhcp4: no addresses: [192.168.1.10/24] gateway4: 192.168.1.1 nameservers: addresses: [8.8.8.8, 8.8.4.4] # 设置DNS version: 2
  • 应用配置: sudo netplan apply

CentOS/RHEL 7 及以下(使用 network-scripts)

  • 编辑网卡配置文件(如 ifcfg-eth0): sudo vi /etc/sysconfig/network-scripts/ifcfg-eth0
  • 添加以下行: DNS1=8.8.8.8 DNS2=8.8.4.4 PEERDNS=no # 阻止 DHCP 覆盖 DNS
  • 重启网络服务: sudo systemctl restart network

CentOS/RHEL 8+ 及 Fedora(使用 NetworkManager)

  • 使用 nmcli 修改连接配置: sudo nmcli con mod "eth0" ipv4.dns "8.8.8.8 8.8.4.4" sudo nmcli con mod "eth0" ipv4.ignore-auto-dns yes # 禁用 DHCP 的 DNS sudo nmcli con up "eth0"

通用方法:修改 /etc/resolv.conf 的底层配置

  • 编辑 /etc/resolvconf/resolv.conf.d/base(Debian/Ubuntu):

    添加:

    服务器DNS设置在哪 | 服务器DNS配置指南详解 第1张

    服务器DNS设置在哪 | 服务器DNS配置指南详解 第2张

    更新配置:

    服务器DNS设置在哪 | 服务器DNS配置指南详解 第3张

  • 或通过 /etc/systemd/resolved.conf(使用 systemd-resolved 的系统):

    sudo vi /etc/systemd/resolved.conf

    取消注释并修改:

    [Resolve] DNS=8.8.8.8 8.8.4.4

    重启服务:

    sudo systemctl restart systemd-resolved
  • 验证 DNS 设置

    1. 检查当前生效的 DNS: cat /etc/resolv.conf
    2. 测试域名解析: nslookup google.com # 或 dig google.com


    关键注意事项

    1. 权限要求:所有操作需 root 权限(使用 sudo)。
    2. 网络管理工具差异
      • Ubuntu 18.04+ 默认用 netplan。
      • CentOS 7 用 network-scripts,CentOS 8+ 用 NetworkManager。
    3. 防止覆盖:如果使用 DHCP,需设置 PEERDNS=no(CentOS)或 ignore-auto-dns(NetworkManager),避免 DNS 被重置。
    4. 多网卡场景:确保修改目标网卡的配置文件(如 eth0)。

    按以上步骤操作后,服务器的 DNS 即可正确配置。

0