Mac 配置dns服务器,实现拦截
来源:互联网 发布:python遗传算法库 编辑:程序博客网 时间:2024/05/16 10:45
解决手机连接Mac mini 共享的WiFi,mac的hosts不生效的问题
公司工作中遇到的一个问题。Mac端可以修改hosts文件实现访问域名的切换,而对于未越狱的iPhone来说,这是无法实现的。安卓可以通过Root的方式开启修改hosts文件的权限。
起初,我想到的是,利用Mac mini共享WiFi, Mac mini修改了hosts。然后,用iPhone连接Mac mini共享的wifi。iPhone上装了ping工具,当我ping指定域名的时候,发现hosts并没有生效。后来咨询同事,他说是因为DNS的问题。
解决问题的思路是,将Mac mini作为DNS解析服务器,iPhone连接Mac mini共享的Wifi时,设置DNS为我的Mac mini的IP地址。方法如下:
- 将Mac mini作为DNS解析服务器
- 安装Brew。
- 安装dnsmasq
- 安装完成后,在/usr/local/文件下新建一个etc文件夹。
- 把/usr/local/opt/dnsmasq/dnsmasq.conf.example文件拷贝至并重命名为/usr/local/etc/dnsmasq.conf。
- 编辑dnsmasq.conf,内容如下:
resolv-file=/etc/resolv.conf
strict-order
addn-hosts=/etc/hosts
cache-size=32768
listen-address=127.0.0.1,192.168.xx.154
其中,listen-address后面的可以是多个IP用英文逗号隔开。这里以我自己的IP地址为例,192.168.xx.154是我的Mac mini的内网IP,这样就可以实现同一个局域网内的设备,通过设置DNS为这个IP,来实现都通过我的Mac mini上的dnsmasq来查询dns,即局域网范围内的DNS泛解析。
- 重启dnsmasq应用
sudo launchctl stop homebrew.mxcl.dnsmasq
sudo launchctl start homebrew.mxcl.dnsmasq
sudo killall -HUP mDNSResponder
- 可通过以下代码设置开机自动运行dnsmasq:
sudo cp -fv /usr/local/opt/dnsmasq/*.plist /Library/LaunchDaemons
sudo launchctl load /Library/LaunchDaemons/homebrew.mxcl.dnsmasq.plist
2. 最后,使用iPhone连接Mac mini共享的wifi,同时设置dns为我的Mac mini的内网IP地址,即192.168.xx.154。这样再ping以下,你就能看到效果啦。
参考:http://blog.netsh.org/posts/mac-os-x-dnsmasq_1762.netsh.html
- Mac 配置dns服务器,实现拦截
- Mac上用dnsmasq配置DNS服务器
- Mac上用dnsmasq配置DNS服务器
- 提高网速-MAC配置DNS服务器
- mac命令行配置dns
- DNS服务器的配置
- dns 服务器配置笔记
- 怎么配置DNS服务器
- DNS服务器配置
- DNS服务器配置
- Linux DNS服务器配置
- Linux DNS服务器配置
- DNS服务器的配置
- Ubuntu DNS服务器配置
- linux dns服务器配置
- centos配置dns服务器
- Linux服务器DNS配置
- Ubuntu配置DNS服务器
- Hbase 配置流程
- 【百日JavaScript系列】2017.10.27_认识Html中java的调用
- nodejs koa2的基础使用
- OpenStack公共组件oslo之二——oslo.utils
- 变量可见性和volatile, this逃逸, 不可变对象, 以及安全公开
- Mac 配置dns服务器,实现拦截
- 移动MAS短信接口工具类
- 深入理解java中enum枚举
- VisualVM监控远程服务器JVM
- Qt opencv 程序异常结束,crashed
- 异常解决java.io.IOException: invalid constant type: 15
- Android扫码二维码、美女瀑布流、知乎网易音乐、动画源码等
- Kolla部署OpenStack失败问题(5)
- 用css对webkit内核的浏览器自定义滚动条