Debian 10中,可通过编辑`/etc/resolv.
在Debian10系统中永久修改DNS的详细方法及相关内容:
直接编辑/etc/resolv.conf
文件(不推荐)
虽然可以直接编辑/etc/resolv.conf
文件来设置DNS,但这种方法在系统重启或网络服务重启后可能会被覆盖,无法实现永久生效,为了了解DNS配置的基本操作,可以先看看这个方法。
步骤 | 命令或操作 | 说明 |
---|---|---|
1 | sudo nano /etc/resolv.conf |
使用nano编辑器打开resolv.conf文件,需要root权限。 |
2 | 添加或修改nameserver行 | 例如添加nameserver 8.8.8.8 和nameserver 8.8.4.4 (Google公共DNS)。 |
3 | 保存并退出 | 按Ctrl + X ,然后选择Y 并回车确认保存。 |
通过/etc/network/interfaces
文件配置(适用于传统网络配置)
这种方法适用于使用传统网络接口配置文件的Debian10系统,可以实现DNS的永久设置。
步骤 | 命令或操作 | 说明 |
---|---|---|
1 | sudo nano /etc/network/interfaces |
使用nano编辑器打开网络接口配置文件。 |
2 | 找到对应网络接口配置块 | 对于有线网卡可能是auto eth0 开头的配置块。 |
3 | 添加dnsnameservers行 | 在配置块中添加dnsnameservers 8.8.8.8 8.8.4.4 (以空格分隔多个DNS服务器地址)。 |
4 | 保存并退出 | 按Ctrl + X ,然后选择Y 并回车确认保存。 |
5 | 重启网络服务 | 运行sudo systemctl restart networking 使配置生效。 |
使用Netplan配置(适用于Debian9及以上版本)
Netplan是Debian9及以上版本中用于配置网络的工具,通过编辑Netplan的配置文件可以永久设置DNS。
步骤 | 命令或操作 | 说明 |
---|---|---|
1 | sudo nano /etc/netplan/01netcfg.yaml |
使用nano编辑器打开Netplan配置文件。 |
2 | 找到或添加nameservers配置块 | 在对应的网络接口配置下,找到nameservers: 这一行,如果没有则添加。 |
3 | 设置DNS服务器地址 | 将addresses: 修改为想要设置的DNS服务器地址,例如addresses: [8.8.8.8, 8.8.4.4] 。 |
4 | 保存并退出 | 按Ctrl + X ,然后选择Y 并回车确认保存。 |
5 | 应用配置更改 | 运行sudo netplan apply 使配置生效。 |
使用systemdresolved配置(适用于Debian9及以上版本)
systemdresolved是系统d的一部分,用于管理DNS解析,通过配置其相关文件可以实现DNS的永久设置。
步骤 | 命令或操作 | 说明 |
---|---|---|
1 | sudo nano /etc/systemd/resolved.conf |
使用nano编辑器打开systemdresolved的配置文件。 |
2 | 取消注释并添加DNS配置 | 找到#DNS= 这一行,去掉注释(删除),并添加DNS服务器地址,例如DNS=8.8.8.8 8.8.4.4 。 |
3 | 保存并退出 | 按Ctrl + X ,然后选择Y 并回车确认保存。 |
4 | 重启systemdresolved服务 | 运行sudo systemctl restart systemdresolved 使配置生效。 |
通过DHCP客户端配置文件配置(适用于通过DHCP获取IP的网络)
如果系统通过DHCP获取IP地址,可以在DHCP客户端配置文件中设置DNS,实现相对永久的配置。
步骤 | 命令或操作 | 说明 |
---|---|---|
1 | sudo nano /etc/dhcp/dhclient.conf |
使用nano编辑器打开DHCP客户端配置文件。 |
2 | 添加supersede配置 | 在文件末尾添加supersede domainnameservers 8.8.8.8, 8.8.4.4; (以逗号分隔多个DNS服务器地址)。 |
3 | 保存并退出 | 按Ctrl + X ,然后选择Y 并回车确认保存。 |
4 | 重启网络服务 | 运行sudo systemctl restart networking.service 使配置生效。 |
相关问题与解答
问题1:修改DNS后如何验证是否生效?
解答:可以通过以下几种方法验证DNS设置是否生效:
- 查看
/etc/resolv.conf
,确认其中的nameserver行是否为设置的DNS服务器地址。 - 使用
systemdresolve status
命令(如果使用systemdresolved)查看当前的DNS服务器配置信息。 - 使用
ping
命令测试域名解析是否正常,例如ping example.com
,如果能正确解析出IP地址,说明DNS设置可能已生效。
问题2:为什么修改了DNS设置后没有生效?
解答:可能有以下原因:
- 配置文件语法错误,导致配置没有被正确加载,检查配置文件中的格式和语法是否正确。
- 网络服务没有重启,新的DNS设置没有应用到系统中,尝试重启相关的网络服务,如
sudo systemctl restart networking
或sudo systemctl restart systemdresolved
等。 - 存在缓存,之前的DNS解析结果可能还在缓存中,可以尝试清除缓存或者等待一段时间后再测试。
- 防火墙或网络设置阻止了DNS请求。
来源互联网整合,作者:小编,如若转载,请注明出处:https://www.aiboce.com/ask/226784.html