概述

最近因为要做一些实验,所以修改了一些 hosts 文件,修改得多了发现有点烦,所有尝试找一些比较有方便的实践,探索了一番之后发现可能搭建一个本地的 DNS Server 会比较方便一些,同时,如果能在 Host 管理方面做得更简单一些就更好了,最后我选择了 dnsmasq 作为本地 DNS Server 的软件,但是,由于比较懒,所以没有去找一下是否有很好的管理工具,所以就先记录一下配置的过程吧。

安装 Dnsmasq

其实 dnsmasq 通过 brew 可以很简单的安装管理,下面就开始一下安装步骤:

  1. 第一步肯定是安装 homebrew 啦,如果你还没安装,那么不妨先安装一波。
  2. 使用 brew 安装 dnsmasq,命令如下:

    1. $ brew install dnsmasq
  3. 配置 dnsmasq,这个配置规则似乎很多样,但是我使用了一个比较简单常用的项目。

    1. 配置文件在 :/usr/local/etc/dnsmasq.conf
    2. 配置指定的 domain 指向指定的 ip(其实就是类似于 hosts)

      1. # Add domains which you want to force to an IP address here.
      2. # The example below send any host in double-click.net to a local
      3. # web-server.
      4. # address=/double-click.net/127.0.0.1
  4. 查看 dnsmasq 的状态

    1. $ brew services list
    2. Name Status User Plist
    3. dnsmasq started liqiang.io /Users/luke/Library/LaunchAgents/homebrew.mxcl.dnsmasq.plist
    4. privoxy stopped

    这里的 dnsmasq 已经起来了,如果没起来的话,可以直接使用以下命令运行:

    1. $ brew services start dnsmasq

配置本地 DNS

这个在 Mac 的官方论坛里面有指导:macOS Sierra: Use a DNS server,具体步骤其实就 3 步:

  1. 打开 Apple 菜单 > “系统偏好设置”, 然后点击 “网络”.
  2. 在弹出来的网络列表中选择你连接网络的方式,然后选择 “高级…” 选项
  3. 选择 “DNS” 选项卡,在 “DNS 服务器” 中 “+” 上你的 DNS 服务器 IP

后续

在 2021 年我发现了一个更好的方式,那就是使用 AdGuard,它允许你自建或者使用现成的 DNS 服务器,而且还能过滤广告,所以我换成了它。

官方 DNS 配置指南:https://adguard-dns.io/zh_cn/public-dns.html