/etc/resolv.conf
文件,更改其中的 DNS 服务器地址。1、通过修改网络配置文件
适用场景:适用于需要永久修改DNS的情况,比如服务器或长期使用的工作站。
操作步骤
打开网络配置文件,对于使用NetworkManager管理网络的系统,编辑/etc/NetworkManager/systemconnections/<连接名称>
文件;对于使用传统网络脚本的系统,编辑/etc/sysconfig/networkscripts/ifcfg<网络接口名>
文件,例如/etc/sysconfig/networkscripts/ifcfgeth0
。
在文件中添加或修改以下行:
NAMESERVER=<DNS服务器地址1>
NAMESERVER=<DNS服务器地址2>
(可选,可设置多个DNS服务器)
保存文件并退出编辑器。
示例
假设要修改/etc/NetworkManager/systemconnections/myconnection
文件,将DNS修改为8.8.8.8和8.8.4.4,文件内容如下:
[connection] id=myconnection uuid=... type=ethernet [ipv4] method=auto dns=8.8.8.8;8.8.4.4
或者修改/etc/sysconfig/networkscripts/ifcfgeth0
文件,添加或修改为:
NAME=eth0 DEVICE=eth0 BOOTPROTO=dhcp ONBOOT=yes NAMESERVER=8.8.8.8 NAMESERVER=8.8.4.4
注意事项
修改配置文件后,需要重启网络服务或重新启动计算机才能使更改生效,可以使用sudo systemctl restart NetworkManager
命令重启NetworkManager服务,或者使用sudo systemctl restart network
命令重启网络服务。
2、通过修改resolv.conf文件
适用场景:适用于临时修改DNS或在某些特殊情况下需要快速更改DNS的场景。
操作步骤
编辑/etc/resolv.conf
文件,可以使用vi、nano等文本编辑器。
在该文件中添加或修改以下行:
nameserver <DNS服务器地址1>
nameserver <DNS服务器地址2>
(可选,可设置多个DNS服务器)
保存文件并退出编辑器。
示例
将DNS设置为8.8.8.8和8.8.4.4的/etc/resolv.conf
如下:
nameserver 8.8.8.8 nameserver 8.8.4.4
注意事项
这种方式修改的DNS在计算机重启后可能会丢失,因为一些Linux发行版在启动时会重新生成/etc/resolv.conf
文件,可以通过其他方式(如修改网络配置文件或使用系统自带的网络管理工具)来实现永久修改。
3、通过nmcli命令(适用于使用NetworkManager的系统)
适用场景:适用于在命令行环境下快速修改DNS,且不需要直接编辑配置文件的情况。
操作步骤
查看当前的网络连接名称:nmcli connection show
。
修改指定网络连接的DNS:nmcli connection modify <连接名称> ipv4.dns <DNS服务器地址1> <DNS服务器地址2> ...
,要将名为“myconnection”的网络连接的DNS修改为8.8.8.8和8.8.4.4,可以使用以下命令:nmcli connection modify myconnection ipv4.dns 8.8.8.8 8.8.4.4
。
应用更改:nmcli connection up <连接名称>
。
示例
查看当前网络连接:
$ nmcli connection show NAME UUID TYPE DEVICE myconnection ... ethernet eth0
修改DNS:
$ nmcli connection modify myconnection ipv4.dns 8.8.8.8 8.8.4.4
应用更改:
$ nmcli connection up myconnection
注意事项
这种方法修改的DNS也是临时的,重启计算机后可能会恢复原来的设置,如果需要永久修改,还需要结合修改网络配置文件或其他方法。
以下是相关问题与解答:
1、问题:修改DNS后无法立即生效怎么办?
解答:如果在修改DNS后发现无法立即生效,可以尝试以下方法:一是检查修改的配置文件是否正确,是否有拼写错误或格式问题;二是重启网络服务或重新启动计算机;三是清空DNS缓存,可以使用sudo systemctl stop systemdresolved
命令停止systemdresolved服务,然后使用sudo systemctl start systemdresolved
命令重新启动该服务来清空缓存。
2、问题:如何知道当前系统使用的DNS服务器地址?
解答:可以使用以下几种方法来查看当前系统使用的DNS服务器地址:一是查看/etc/resolv.conf
文件,其中nameserver
后面跟着的就是当前使用的DNS服务器地址;二是使用cat /etc/NetworkManager/systemconnections/<连接名称>
命令查看使用NetworkManager管理的连接的DNS设置;三是使用nmcli connection show <连接名称>
命令查看指定网络连接的详细信息,其中包括DNS服务器地址。
来源互联网整合,作者:小编,如若转载,请注明出处:https://www.aiboce.com/ask/187231.html