在Ubuntu系统中修改DNS有多种方法,以下是不同场景下的详细操作步骤:
直接修改 /etc/resolv.conf
文件(适用于临时测试):
sudo nano /etc/resolv.conf
将内容替换为:
nameserver 8.8.8.8 # Google DNS
nameserver 1.1.1.1 # Cloudflare DNS
保存后立即生效,但重启或网络服务重启后会被覆盖。
bash
sudo nano /etc/netplan/01-netcfg.yaml # 或其他.yaml文件
nameservers
字段,例如:
yaml
network:
version: 2
ethernets:
ens33: # 网卡名(通过`ip a`查看)
dhcp4: no # 关闭DHCP(若静态IP)
addresses: [192.168.1.100/24]
gateway4: 192.168.1.1
nameservers:
addresses: [8.8.8.8, 1.1.1.1]
bash
sudo netplan apply
图形界面:
Settings
→ 选择对应连接 → 齿轮图标 → IPv4/IPv6 → 手动填写DNS。命令行:
nmcli con mod "连接名" ipv4.dns "8.8.8.8 1.1.1.1"
nmcli con up "连接名" # 应用更改
编辑 /etc/network/interfaces
:
iface ens33 inet static
address 192.168.1.100
netmask 255.255.255.0
gateway 192.168.1.1
dns-nameservers 8.8.8.8 1.1.1.1
重启网络服务:
sudo systemctl restart networking
如果系统使用systemd-resolved
,可能需要禁用:
1. 停止服务:
bash
sudo systemctl stop systemd-resolved
sudo systemctl disable systemd-resolved
2. 删除原resolv.conf
链接并新建:
bash
sudo rm /etc/resolv.conf
sudo nano /etc/resolv.conf # 手动写入DNS
nslookup example.com
# 或
dig example.com
检查输出中的DNS服务器是否为修改后的地址。
/etc/netplan/*.yaml
)。根据你的Ubuntu版本和网络管理工具选择对应方法即可。