Ubuntu 22.04 开启dnsmasq

Ubuntu 22.04 NetworkManager 自带 dnsmasq 但默认没有启用,在 /etc/NetworkManager/NetworkManager.conf 中添加 dns=dnsmasq 即可:

[main]
plugins=ifupdown,keyfile
dns=dnsmasq

然后根据需要添加 dnsmasq 配置到 /etc/NetworkManager/dnsmasq.d/dnsmasq.conf,如:

server=/github.com/8.8.8.8
server=/cn/114.114.114.114
address=/google.com/0.0.0.0

Ubuntu 22.04 默认使用 systemd-resolved 管理 dns,因此需要先禁用它然后重启 NetworkManager

sudo systemctl stop systemd-resolved.service
sudo systemctl disable systemd-resolved.service
sudo systemctl restart NetworkManager.service

dnsmasq 默认绑定到 127.0.1.1:53,通过 netstat 指令可查看:

x@x:~$ sudo netstat -antp | grep dnsmasq
tcp        0      0 127.0.1.1:53            0.0.0.0:*               LISTEN      1289/dnsmasq

修改 /etc/resolv.conf 使用 dnsmasq 作为 dns 服务

sudo su
echo "nameserver 127.0.1.1" >/etc/resolv.conf

你可能感兴趣的:(Ubuntu 22.04 开启dnsmasq)