Debian10修改IPV6主机的DNS64(可访问IPV4网站) + 彻底修改debian10系统DNS

在 Debian 系统中修改 DNS 服务器地址通常涉及编辑 /etc/resolv.conf 文件。然而,从 Debian 版本 Buster(10)开始以及后续版本,包括 Bullseye(11)和 Bookworm(假设为未来版本),该文件可能由网络管理服务(如 systemd-resolved)自动管理,并且直接编辑它可能不是持久化更改的推荐方式。
/etc/resolv.conf 是传统的DNS配置文件
/etc/systemd/resolved.conf是systemd-resolved服务的配置文件
优先级:较高,但会被网络管理器覆盖
控制内容:全局DNS服务器、搜索域等
生效方式:需要重启systemd-resolved服务

对于使用 systemd-resolved 的系统:
临时修改: 如果系统使用了 systemd-resolved,可以通过命令行工具 resolvectl 来临时设置DNS服务器:

sudo resolvectl dns eth0 8.8.8.8 8.8.4.4

其中eth0是网卡名称

永久修改: 若要永久性地更改配置,应编辑 /etc/systemd/resolved.conf 文件并添加或修改 DNS= 行下的DNS服务器列表:

sudo nano /etc/systemd/resolved.conf

在其中找到或添加如下内容:


nameserver 8.8.8.8
nameserver 8.8.4.4
echo -e "nameserver 8.8.8.8\nnameserver 8.8.4.4" > /etc/systemd/resolved.conf
或者
nameserver 1.1.1.1
nameserver 1.0.0.1
echo -e "nameserver 1.1.1.1\nnameserver 1.0.0.1" > /etc/systemd/resolved.conf

修改后,重启 systemd-resolved 服务以应用更改:

sudo systemctl restart systemd-resolved.service

如果没有使用systemd-resolved 的系统,则可以直接修改 /etc/resolv.con文件

 

纯IPV6主机修改DNS64(NAT64),可访问IPV4地址和网站

# 使用Google的DNS64服务器
echo "nameserver 2001:4860:4860::6464" | sudo tee /etc/resolv.conf
echo "nameserver 2001:4860:4860::64" | sudo tee -a /etc/resolv.conf
# 或者使用Cloudflare的DNS64
echo "nameserver 2606:4700:4700::64" | sudo tee /etc/resolv.conf
echo "nameserver 2606:4700:4700::6400" | sudo tee -a /etc/resolv.conf

永久配置(不同发行版):
Ubuntu/Debian:

sudo systemctl disable systemd-resolved
sudo rm /etc/resolv.conf
sudo echo "nameserver 2001:4860:4860::6464" > /etc/resolv.conf

CentOS/RHEL:

sudo echo "DNS1=2001:4860:4860::6464" >> /etc/sysconfig/network-scripts/ifcfg-eth0
sudo systemctl restart NetworkManager

发表评论