Mac dnsmasq 安装 配置(一)

install

brew install dnsmasq

安装之后提示信息

To configure dnsmasq, copy the example configuration to /usr/local/etc/dnsmasq.conf and edit to taste.
cp /usr/local/opt/dnsmasq/dnsmasq.conf.example /usr/local/etc/dnsmasq.conf

To have launchd start dnsmasq at startup:
sudo cp -fv /usr/local/opt/dnsmasq/*.plist /Library/LaunchDaemons

Then to load dnsmasq now:
sudo launchctl load /Library/LaunchDaemons/homebrew.mxcl.dnsmasq.plist

提示信息里面的命令会开启守护进程,dnsmasq会一直运行。


config

resolv-file=/etc/resolv.dnsmasq.conf
strict-order
no-hosts
addn-hosts=/usr/local/etc/hosts
  • /etc/resolv.conf : mac系统进行域名解析的时候会访问该文件中设置的dns服务器,如果本机也需要dnsmasq的dns服务,需要修改该文件,但是该文件是自动生成的,修改的内容会被冲掉,因此在系统偏好设置->网络偏好设置->高级 里面设置dns就可以了。

image

  • resolve-file : 配置dnsmasq的上级dns服务器,就是当本地dns缓存不存在的时候去查询的上级dns服务器ip。以下是/etc/resolv.dnsmasq.conf配置
    nameserver 199.91.73.222
    nameserver 8.8.8.8
    nameserver 8.8.4.4
  • strict-order : 保证了会严格按照文件中的顺序访问dns服务器
  • no-hosts : 不使用本地hosts文件,也可以注释此行。注释表示别的客户端向dnsmasq请求的时候,dnsmasq会首先去本地hosts中查询,存在的话直接返回。推荐打开,然后使用最后一个参数配置dnsmasq查询的文件
  • addn-hosts : 设置dnsmasq查询的文件。文件内容格式类似于本地hosts文件

run

  • 如果按照brew安装之后的提示信息进行了配置,则dnsmasq已经开启了
  • 直接手动运行
    sudo /usr/local/Cellar/dnsmasq/2.66/sbin/dnsmasq
  • 更新dns缓存可以使用
    sudo kill -1 pid
Comments
Write a Comment