前言
以下为手动修改DNS的两种方法;
也可以使用博主的一键脚本进行设置:
设置虚拟内存及修改系统DNS一键脚本:https://suntl.com/1239.html
开始
查看当前DNS配置信息:
cat /etc/resolv.conf
修改DNS(临时修改,重启失效)
# 编辑文件
vi /etc/resolv.conf
# 加入需要的DNS:
nameserver 1.1.1.1
nameserver 8.8.8.8
如果多个DNS,就一行一个,修改之后保存退出即可
此方法修改后即刻生效,但重启后失效;
查看是否已经生效:
cat /etc/resolv.conf
如果已经变成了你设置的DNS,那就设置成功了。
Ubuntu
在Ubuntu 20.04+
系统中DNS设置是由systemd-resolved
进行接管
修改resolv.conf
文件会提示你:This file is managed by man:systemd-resolved(8). Do not edit.
这时直接修改resolv.conf
文件会被动态覆盖,因而使修改失效;
这种情况应该修改或者禁用systemd-resolved
服务
查看系统是否使用systemd-resolved
systemctl status systemd-resolved
如果服务正在运行,说明 DNS 配置受其管理。
如果未运行,则 DNS 可能由其他方式(例如/etc/network/interfaces
或Netplan
)管理。
方式一:修改systemd-resolved
服务
修改systemd-resolved
的DNS
配置
## 修改 systemd-resolved
vi /etc/systemd/resolved.conf
## 找到以下部分并根据需要设置:
DNS=1.1.1.1 8.8.8.8 # 设置主 DNS 和备用 DNS
FallbackDNS=1.0.0.1 # 设置备用 DNS
重新启动systemd-resolved
systemctl restart systemd-resolved
更新/etc/resolv.conf
的符号链接
确保/etc/resolv.conf
指向systemd-resolved
的正确位置;
ln -sf /run/systemd/resolve/resolv.conf /etc/resolv.conf
查看是否已经生效;
cat /etc/resolv.conf
此方法修改后重启服务器会持续生效;
方式二:禁用systemd-resolved
服务
停止并禁用 systemd-resolved:
systemctl stop systemd-resolved
systemctl disable systemd-resolved
删除/etc/resolv.conf
rm -rf /etc/resolv.conf
创建新的/etc/resolv.conf
文件并设置DNS
vi /etc/resolv.conf
## 添加以下内容:
nameserver 1.1.1.1
nameserver 8.8.8.8
nslookup
nslookup是一种网络管理命令行工具,可用于查询DNS域名和IP地址
安装nslookup
#Ubuntu
apt-get install dnsutils
#Debian
apt-get update
apt-get install dnsutils
#Centos
yum install bind-utils
使用方法:
nslookup www.baidu.com
说明
nslookup 你需要解析的域名
示例:
root@ubuntu:~# nslookup www.baidu.com
Server: 8.8.8.8
Address: 8.8.8.8#53
Non-authoritative answer:
www.baidu.com canonical name = www.a.shifen.com.
www.a.shifen.com canonical name = www.wshifen.com.
Name: www.wshifen.com
Address: 104.193.88.77
Name: www.wshifen.com
Address: 104.193.88.123
版权声明:本文为原创文章,版权归 suntl.com 所有,转载请注明出处!
本文链接:https://suntl.com/508.html
友情提示:如果博客出现404或链接失效,请留言或者联系博主修复!
我使用第二个方法,为什么我执行到"使 DNS 生效"报错没有这个目录或文件呢