插件窝 干货文章 Linux云服务器如何手动配置DNS

Linux云服务器如何手动配置DNS

配置 DNS 服务器 方法 328    来源:    2025-05-11

Linux云服务器手动配置DNS指南

在Linux云服务器上手动配置DNS可以通过以下几种方法实现,我将详细介绍每种方法的步骤。

方法一:通过/etc/resolv.conf文件配置(临时)

  1. 使用文本编辑器打开resolv.conf文件:

    sudo nano /etc/resolv.conf
    
  2. 添加或修改nameserver行:

    nameserver 8.8.8.8       # Google公共DNS
    nameserver 8.8.4.4       # Google备用DNS
    # 或者使用Cloudflare DNS
    nameserver 1.1.1.1
    nameserver 1.0.0.1
    
  3. 保存并退出(在nano中按Ctrl+X,然后按Y确认保存)

注意:这种方法在重启网络服务或服务器后可能会被覆盖。

方法二:通过NetworkManager配置(适用于使用NetworkManager的系统)

  1. 查看当前网络连接:

    nmcli connection show
    
  2. 修改指定连接的DNS设置:

    sudo nmcli connection modify "连接名称" ipv4.dns "8.8.8.8 8.8.4.4"
    
  3. 应用更改:

    sudo nmcli connection up "连接名称"
    

方法三:通过netplan配置(Ubuntu 18.04+)

  1. 编辑netplan配置文件(文件名可能不同):

    sudo nano /etc/netplan/01-netcfg.yaml
    
  2. 在配置文件中添加DNS服务器:

    network:
     version: 2
     renderer: networkd
     ethernets:
       eth0:
         dhcp4: no
         addresses: [192.168.1.100/24]
         gateway4: 192.168.1.1
         nameservers:
           addresses: [8.8.8.8, 8.8.4.4]
    
  3. 应用配置:

    sudo netplan apply
    

方法四:通过systemd-resolved配置(现代Linux发行版)

  1. 编辑resolved.conf文件:

    sudo nano /etc/systemd/resolved.conf
    
  2. 取消注释并修改DNS行:

    [Resolve]
    DNS=8.8.8.8 1.1.1.1
    FallbackDNS=8.8.4.4 1.0.0.1
    
  3. 重启systemd-resolved服务:

    sudo systemctl restart systemd-resolved
    

验证DNS配置

配置完成后,使用以下命令验证:

  1. 检查当前使用的DNS服务器:

    cat /etc/resolv.conf
    
  2. 测试DNS解析:

    nslookup example.com
    或
    dig example.com
    
  3. 检查DNS响应时间:

    ping 8.8.8.8
    

常见问题解决

  1. DNS配置不生效

    • 确保没有其他服务覆盖了你的配置
    • 检查是否有DHCP客户端在自动更新DNS设置
  2. DNS解析慢

    • 尝试使用离你地理位置更近的DNS服务器
    • 使用dig命令测试不同DNS服务器的响应时间
  3. 配置被重置

    • 对于云服务器,检查云提供商是否有自己的网络配置工具
    • 考虑使用chattr命令防止resolv.conf被修改: bash sudo chattr +i /etc/resolv.conf

希望这些方法能帮助您成功配置Linux云服务器的DNS设置。根据您的具体发行版和网络管理工具选择最适合的方法。