跳转到内容

在 Debian 和 Ubuntu 上安装 DNSMASQ

教程与指南  ·   ·   ·  更新于  ·  2 分钟 阅读时间

在 Debian 和 Ubuntu 上安装 DNSMASQ

什么是 DNS 服务器?
DNS 服务器负责将域名解析为 IP 地址。也就是说,当我在浏览器中输入 www.prepaid-host.com时,我的电脑会通过所设置的 DNS 服务器进行连接,也就是说,它会发送一个请求,询问该域名下应保存哪个 IP 地址。借助 DNSMASQ,你可以高效地托管和配置自己的 DNS 服务器。你可以借此操控特定域名并建立缓存,甚至屏蔽跟踪器(如 Google),让营销公司无法追踪你。使用自建 DNS 服务器,有很多方法可以让你的上网体验更安全

1. 停用 systemd-resolved 服务

sudo systemctl disable systemd-resolved
sudo systemctl stop systemd-resolved

sudo rm /etc/resolv.conf

echo 'nameserver 1.1.1.1' >> /etc/resolv.conf
echo 'nameserver 1.0.0.1' >> /etc/resolv.conf

通过这些命令,你可以停用当前的解析服务,以便让 DNSMASQ 空出 DNS 的 UDP 端口 53。因为通常 systemd-resolved 服务会占用该端口,导致 DNSMASQ 无法正常工作。因此我们需要停用 systemd-resolved 服务。

2. 安装 DNSMASQ

sudo apt-get install dnsmasq -y

通过这条命令,我们可以安装 DNSMASQ

现在我们可以配置 DNSMASQ DNS 服务器了。

sudo nano /etc/dnsmasq.conf

以下是可以在配置文件中使用的参数:

# 这里指定了当 DNSMASQ 在缓存中尚未找到时应使用的 DNS 服务器。
server=5.1.66.255
server=185.150.99.255
address=/domain.com/127.0.0.1
address=/analytics.google.com/127.0.0.1

通过参数 "address=",我们可以将某个域名重定向到另一个目标 IP 地址。例如,我们可以屏蔽 Google 跟踪器,让我们的电脑根本无法访问 Google Analytics

重启 DNSMASQ

sudo service dnsmasq restart

现在可以重新启动 DNS 服务器,之后终端设备就可以使用该 DNS 服务器了

常见问题

什么是 DNS 服务器?
DNS 服务器负责将域名解析为 IP 地址。例如当你在浏览器中输入 www.prepaid-host.com 时,你的电脑会通过所设置的 DNS 服务器发送请求,查询该域名对应的 IP 地址。
为什么要先停用 systemd-resolved?
因为 systemd-resolved 通常会占用 DNS 所需的 UDP 端口 53,如果不停用它,DNSMASQ 就无法正常工作。
DNSMASQ 的 address 参数有什么用?
通过 address= 参数,可以将某个域名重定向到另一个目标 IP 地址,例如屏蔽 Google 跟踪器,阻止设备访问 Google Analytics。
Prepaid-Host.com 本身即为服务器、虚拟主机与域名服务商,在此报道的正是自己所处的市场。我们如何处理这一点,见利益披露说明