Linux上怎么设置DNS?

HCRM技术_小炮 DNS 2025-10-26 4 0

在Linux上设置DNS有多种方法,具体取决于你使用的网络管理方式,以下是几种常见的方法:

1. 临时修改(重启后失效)

修改 /etc/resolv.conf

sudo nano /etc/resolv.conf
示例:

nameserver 8.8.8.8
nameserver 8.8.4.4
nameserver 114.114.114.114
search localdomain

2. 永久修改方法

方法一:使用 systemd-resolved(推荐用于现代系统)

编辑配置文件
sudo nano /etc/systemd/resolved.conf
添加或修改以下内容
[Resolve]
DNS=8.8.8.8 8.8.4.4 114.114.114.114
FallbackDNS=1.1.1.1
Domains=~.
重启服务
sudo systemctl restart systemd-resolved
sudo systemctl enable systemd-resolved

方法二:使用 NetworkManager(图形界面/命令行)

命令行方式:

查看连接名称
nmcli connection show
设置DNS
nmcli connection modify "连接名称" ipv4.dns "8.8.8.8,8.8.4.4"
nmcli connection modify "连接名称" ipv4.ignore-auto-dns yes
重启连接
nmcli connection down "连接名称"
nmcli connection up "连接名称"

图形界面:

- 进入网络设置 → 选择连接 → IPv4/IPv6设置

- 将DNS设置为手动,输入DNS服务器地址

方法三:修改 netplan 配置(Ubuntu 18.04+)

sudo nano /etc/netplan/01-netcfg.yaml

示例配置:

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, 114.114.114.114]

应用配置:

sudo netplan apply

方法四:修改 interfaces 文件(Debian/Ubuntu旧版本)

sudo nano /etc/network/interfaces

添加:

dns-nameservers 8.8.8.8 8.8.4.4
dns-search localdomain

3. 常用公共DNS服务器

Google DNS: 8.8.8.8, 8.8.4.4

Cloudflare: 1.1.1.1, 1.0.0.1

OpenDNS: 208.67.222.222, 208.67.220.220

阿里DNS: 223.5.5.5, 223.6.6.6

114DNS: 114.114.114.114, 114.114.115.115

4. 验证DNS设置

查看当前DNS配置
systemd-resolve --status
或
cat /etc/resolv.conf
测试DNS解析
nslookup google.com
dig google.com
查看DNS缓存(如果使用systemd-resolved)
systemd-resolve --statistics

注意事项:

1、权限问题:修改系统文件需要root权限

2、备份原配置:修改前建议备份原始文件

3、网络重启:某些修改需要重启网络服务才能生效

4、系统兼容性:不同Linux发行版可能使用不同的网络管理工具

选择哪种方法取决于你的Linux发行版和网络管理方式,对于现代Linux系统,推荐使用systemd-resolved或NetworkManager。

文章摘自:https://idc.huochengrm.cn/dns/18950.html

评论