背景
手机连接测试环境经常需要麻烦测试同事,有时候测试同事不在也非常麻烦,所以还是要自己配一个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,需要执行以下两步
brew services restart dnsmasq
手机断开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服务器了,开始工作吧!