温馨提示×

CentOS FetchLinux如何设置DNS

小樊
46
2025-11-22 05:00:22
栏目: 智能运维

CentOS FetchLinux 设置 DNS 的实用方法

一 方法总览与适用场景

  • 下表给出在 CentOS/FetchLinux 环境中常用且可靠的 DNS 配置方式,按你的网络管理方式选择其一即可:
方式 适用场景 关键配置 使配置持久
网卡配置文件 ifcfg-<接口> 使用传统 network-scripts 管理网络 在接口配置中写入 DNS1/2,必要时设 PEERDNS=no 重启网络服务
nmcli 命令行 使用 NetworkManager 管理网络 执行 nmcli 修改连接的 ipv4.dnsipv4.ignore-auto-dns 重新激活连接
直接编辑 resolv.conf 临时测试或非 NM 环境 写入 nameserver 可能被 NM 覆盖,需配合 dns=none 或改用上两种方式

以上路径与做法适用于 CentOS 7/8 等常见版本;FetchLinux 的网络配置思路与 CentOS 一致。

二 方法一 通过网卡配置文件设置 DNS(推荐)

  • 查看网卡名称:
    • 执行:ip addrnmcli con show,确认要配置的接口名(如 eth0、ens33、enp0s3)。
  • 编辑接口配置文件:
    • 路径:/etc/sysconfig/network-scripts/ifcfg-<接口名>
    • 在文件末尾添加或修改:
      DNS1=114.114.114.114
      DNS2=8.8.8.8
      
    • 若从 DHCP 改为静态 DNS,建议同时设置:PEERDNS=no(防止被 DHCP 下发的 DNS 覆盖)。
  • 使配置生效:
    • 执行:systemctl restart network(或 service network restart)。
  • 验证:
    • 查看:cat /etc/resolv.conf 应包含你设置的 nameserver
    • 测试:ping -c 4 www.google.comnslookup example.com
  • 说明:
    • 该方式写入的 DNS1/2 通常会自动同步到 /etc/resolv.conf;若未同步,请检查是否由 NetworkManager 接管网络。

三 方法二 使用 nmcli 设置 DNS(NetworkManager 场景)

  • 查看连接名:
    • 执行:nmcli con show,复制要修改的连接名称或 UUID
  • 设置 DNS 并避免被 DHCP 覆盖:
    • 执行(将“YourConnectionName”替换为实际连接名):
      nmcli con mod "YourConnectionName" ipv4.dns "114.114.114.114 8.8.8.8"
      nmcli con mod "YourConnectionName" ipv4.ignore-auto-dns yes
      
  • 重新激活连接:
    • 执行:nmcli con up "YourConnectionName"(或 nmcli con reload 后重连)。
  • 验证:
    • 执行:nmcli dev show | grep DNS 查看生效的 DNS;
    • 执行:cat /etc/resolv.confnslookup example.com 验证解析。
  • 说明:
    • 若系统使用 ifcfg 文件并由 NetworkManager 管理,nmcli 写入会同步到 ifcfg 并持久化。

四 方法三 直接编辑 resolv.conf(临时或特殊场景)

  • 临时写入 DNS:
    • 执行:vi /etc/resolv.conf
    • 写入:
      nameserver 114.114.114.114
      nameserver 8.8.8.8
      
    • 立即生效,但 可能被 NetworkManager 覆盖
  • 若需持久(不建议长期使用):
    • 禁用 NetworkManager 对 DNS 的管理:
      echo -e "[main]\ndns=none" | sudo tee /etc/NetworkManager/NetworkManager.conf
      systemctl restart NetworkManager
      
    • 然后再写入 /etc/resolv.conf
  • 风险提示:
    • DHCP 环境下直接改 resolv.conf 常会被覆盖;更推荐用 ifcfgnmcli 持久化配置。

五 常见问题与验证

  • 验证命令:
    • 查看解析:nslookup example.comdig example.comhost example.com
    • 查看接口与 DNS:nmcli dev show | grep DNScat /etc/resolv.conf
  • 常见问题处理:
    • 配置后域名不通:检查默认网关与路由、是否被防火墙拦截 DNS(UDP/TCP 53 端口)。
    • 使用本地 BIND 作为 DNS 服务器时,需放行防火墙:firewall-cmd --permanent --add-service=dns && firewall-cmd --reload,客户端将 nameserver 指向服务器 IP 测试。
    • 修改后未生效:确认网络管理方式(NetworkManager 或 network-scripts),必要时重启网络服务或重连连接。

0