美文网首页
记录MacOS配置dnsmasq作为DNS服务器的问题

记录MacOS配置dnsmasq作为DNS服务器的问题

作者: wilsonhan | 来源:发表于2019-10-10 20:05 被阅读0次

    背景

    手机连接测试环境经常需要麻烦测试同事,有时候测试同事不在也非常麻烦,所以还是要自己配一个dns服务器方便一些。

    参考

    配置dns服务器参考这个文章即可在macOS下用dnsmasq搭建DNS服务器

    遇到的问题

    1. 没有sbin目录

    执行brew link dnsmasq时,提示没有权限在sbin文件,以为是sudo的问题,最后发现,是没有sbin这个目录,手动创建了一个sbin目录就OK了

    2. 复制配置文件提示没有dnsmasq.conf.example文件

    原文中提到需要执行这个命令将example中的内容复制到dnsmasq.conf中,实际安装的2.8版本,dnsmasq.conf中已经有了相关配置文件。

    cp /usr/local/opt/dnsmasq/dnsmasq.conf.example /usr/local/etc/dnsmasq.conf

    3. 缓存未清除

    安装后刷新下MacOS的DNS缓存,不确定是否真的需要,执行下也无所谓。

    sudo killall -HUP mDNSResponder

    4. 更改了host没有生效问题

    这个比较困扰,修改了host,(比如在switchhosts中关闭了hosts,发现手机还是可以连接测试环境),必须要重启dnsmasq+手机关闭wifi重新打开才可以。

    在网上找到了作者的回复,表示如果需要重新加载配置文件,必须关闭重新打开一个新的进程才可以,我们这里是修改了hosts,但是使用这个方法也可以解决上述问题。

    http://lists.thekelleys.org.uk/pipermail/dnsmasq-discuss/2004q4/000002.html

    也就是说修改了hosts,需要执行以下两步

    1. brew services restart dnsmasq

    2. 手机断开wifi重新连接

    一些相关命令

    清除MacOS的缓存:sudo killall -HUP mDNSResponder

    使用brew启动和重启dnsmasq:brew services start dnsmasq brew services restart dnsmasq

    使用系统命令launchctl启动dnsmasq

    sudo launchctl stop homebrew.mxcl.dnsmasq
    sudo launchctl start homebrew.mxcl.dnsmasq
    

    brew services实际上是简化了launchctl操作

    结语

    按照上面的,应该就可以正常使用手机访问自己的DNS服务器了,开始工作吧!

    相关文章

      网友评论

          本文标题:记录MacOS配置dnsmasq作为DNS服务器的问题

          本文链接:https://www.haomeiwen.com/subject/xvnapctx.html