跳转到主内容
新派编程网 - 新潮编程理念,全新技术课堂!

LINUX怎么永久修改DNS_LINUX永久修改DNS配置文件教程

修改resolv.conf可临时提升DNS解析速度,但需锁定文件防止覆盖;2. 使用Netplan配置适用于Ubuntu 17.10以上系统,通过YAML文件实现永久DNS设置;3. 编辑NetworkManager.conf可全局指定DNS服务器并重启服务生效;4. 在Debian系系统中通过interfaces文件为静态IP接口设置DNS。

如果您在使用Linux系统时遇到域名解析失败或网络访问缓慢的问题,可能是由于当前DNS配置不合理导致。通过修改DNS配置文件,可以指定更稳定、快速的DNS服务器来提升网络体验。

本文运行环境:

联想ThinkPad E14,Ubuntu 22.04

一、修改resolv.conf配置文件

resolv.conf是Linux系统中用于存储DNS解析器信息的核心配置文件,直接编辑该文件可立即生效,但需注意某些网络管理服务可能会覆盖其内容。

1、打开终端,使用文本编辑器以管理员权限编辑resolv.conf文件:sudo nano /etc/resolv.conf。

2、在文件中找到以"nameserver"开头的行,将其替换为所需的DNS地址,例如:nameserver 8.8.8.8 nameserver 8.8.4.4 3、保存并退出编辑器,按Ctrl+O写入,回车确认,再按Ctrl+X退出。

4、为防止文件被覆盖,可设置文件为不可更改属性:

sudo chattr +i /etc/resolv.conf。

5、若需后续修改,先取消锁定:

sudo chattr -i /etc/resolv.conf。

二、通过Netplan配置DNS(适用于Ubuntu 17.10及以上)

Netplan是现代Ubuntu系统默认的网络配置工具,通过YAML文件定义网络设置,修改后可实现永久性DNS配置。

1、进入Netplan配置目录:

cd /etc/netplan,查看是否存在.yaml结尾的配置文件。

2、使用编辑器打开配置文件,如:

sudo nano /etc/netplan/01-network-manager-all.yaml。

3、在对应网络接口下添加

dns-nameservers字段,示例配置如下:dhcp4: no addresses: [192.168.1.100/24]gate way4: 192.168.1.1 nameservers:addresses: [8.8.8.8, 1.1.1.1]

4、保存文件后应用配置:

sudo netplan apply。

CentOS Linux 7.9.2009 CentOS Linux 7.9.2009是传统CentOS Linux 7的最后主要版本,也是很多企业历史服务器中仍可能遇到的系统版本。它以稳定、兼容RHEL 7生态、文档丰富和软件支持广泛著称,曾长期用于Web服务、数据库、虚拟化节点和企业内部业务系统。不过CentOS Linux 7已于2024年6月30日停止维护,现在继续使用会面临安全补丁缺失风险。该版本更适合旧业务迁移、历史环境恢复或离线兼容性测试。

下载

5、检查DNS是否生效:

systemd-resolve --status | grep 'DNS Servers'。

三、修改NetworkManager配置文件

对于使用NetworkManager管理网络的发行版,可通过修改其主配置文件来全局设定DNS服务器。

1、编辑NetworkManager配置文件:

sudo nano /etc/NetworkManager/NetworkManager.conf。

2、在[main]部分添加或修改dns选项:

dns=8.8.8.8,1.1.1.1

3、保存后重启NetworkManager服务:

sudo systemctl restart NetworkManager。

4、验证服务状态:

sudo systemctl status NetworkManager,确保无报错。

四、编辑interfaces文件(适用于Debian系静态IP配置)

在使用传统ifupdown工具的系统中,可在interfaces文件中为特定接口指定DNS。

1、打开网络接口配置文件:

sudo nano /etc/network/interfaces。

2、在对应iface配置块中添加dns-nameservers行,例如:auto eth0 iface eth0 inet static address 192.168.1.10 netmask 255.255.255.0 gateway 192.168.1.1 dns-nameservers 8.8.8.8 8.8.4.4

3、保存后重启网络服务:

sudo systemctl restart networking。

4、测试连通性:

ping -c 4google.com,确认域名可解析。

相关文章