目录
作为一名WEB开发者,有些时候我们在进行本地开发测试的时候,我们需要在PC上会使用修改hosts
的方式添加指向本地的域名,来访问网站。如:
127.0.0.1 albertyy.com
但是在移动端的时候,这一招就不好使了,苹果手机必须越狱的情况才能修改hosts
的,安卓手机必须在root的情况下才能修改hosts
,这非常的不方便。我们可以通过配置本地DNS服务器解决这一问题。
1.安装Homebrew
Homebrew是一款Mac OS平台下的软件包管理工具,拥有安装、卸载、更新、查看、搜索等很多实用的功能。简单的一条指令,就可以实现包管理,而不用你关心各种依赖和文件路径的情况,十分方便快捷。
1.1官网
1.2安装命令
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
1.3可能出现的错误
curl: (7) Failed to connect to raw.githubusercontent.com port 443: Connection refused
1.3.1解决方法1
443 端口连接被拒一般是因为墙的原因,如果你可以科学上网(Virtual Private Network)的话,在命令行键入以下命令执行后,重新进行安装:
# 8003 和 1081 需要换成你自己的端口 export https_proxy=http://127.0.0.1:8003 http_proxy=http://127.0.0.1:8003 all_proxy=socks5://127.0.0.1:1081
1.3.2解决方法2
在https://www.ipaddress.com/查询raw.githubusercontent.com的真实IP。
通过修改hosts
解决此问题
199.232.68.133 raw.githubusercontent.com
1.4常用命令
brew help 查看帮助 brew install <package name> 安装软件包 brew uninstall <package name> 卸载软件包 brew list [--versions] 列出已安装的软件包(包括版本) brew search <package name> 查找软件包 brew info <package name> 查看软件包信息 brew update 更新brew brew outdated 列出过时的软件包(已安装但不是最新版本) brew upgrade [<package name>] 更新过时的软件包(不指定软件包表示更新全部) brew doctor 检查brew运行状态
2.安装
Dnsmasq
Dnsmasq 提供 DNS 缓存和 DHCP 服务功能。作为域名解析服务器(DNS),dnsmasq可以通过缓存 DNS 请求来提高对访问过的网址的连接速度。
2.1安装
brew update; brew install dnsmasq;
2.2启动
sudo brew services start dnsmasq;
2.3重启
sudo brew services restart dnsmasq;
2.4停止
sudo brew services stop dnsmasq;
3.配置dnsmasq
3.1修改配置文件:
sudo vim /usr/local/etc/dnsmasq.conf
去掉以下配置字符的注释,并修改:
resolv-file=/etc/resolv.dnsmasq.conf // dnsmasq 会从这个文件中寻找上游dns服务器 strict-order // 去掉前面的# addn-hosts=/etc/dnsmasq.hosts // 在这个文件里面添加DNS记录 listen-address=127.0.0.1,192.168.68.202 // 监听地址
3.2 创建resolv.dnsmasq.conf文件并添加上游dns服务器的地址
创建resolv.dnsmasq.conf文件
sudo vim /etc/resolv.dnsmasq.conf
添加上游dns服务器的地址
# 添加上游的DNS服务器,也就是公网DNS,这里添加阿里云和114DNS服务器 nameserver 223.5.5.5 nameserver 223.6.6.6 nameserver 114.114.114.114 nameserver 114.114.115.115
3.3添加自定义hosts文件dnsmasq.hosts
sudo vim /etc/dnsmasq.hosts
在文件中添加对应的域名关系,例如:
192.168.68.202 albertyy.com
重启下你的Dnsmasq,重启命令上边文章中已经给出。
3.4修改设备的DNS服务器
配置设备的DNS服务器为:192.168.68.202
(这里可以配置路由器的DNS服务器,也可以直接配置手机或者电脑的DNS服务器)
检测是否成功,可以使用dig命令:
dig albertyy.com
当你可以看到下面这条记录:
albertyy.com. 0 IN A 192.168.68.202
说明本地DNS服务器配置成功了。
3.5 DNS加速
打开/etc/dnsmasq.conf文件,server=后面可以添加指定的DNS,例如国内外不同的网站使用不同的DNS。
国内指定DNS server=/cn/114.114.114.114 server=/taobao.com/114.114.114.114 server=/taobaocdn.com/114.114.114.114 国外指定DNS server=/google.com/223.5.5.5
说明:
server=/cn/表示所有的cn域名都使用114这个公共DNS,
server=/taobao.com/表示所有的taobao.com域名都用114,223.5.5.5 是阿里云的公共DNS,你可以换成其它的。
屏蔽网页广告。将广告的URL指定127这个IP,就可以将网页上讨厌的广告给去掉了。
address=/ad.youku.com/127.0.0.1 address=/ad.iqiyi.com/127.0.0.1
指定域名解析到特定的IP上。这个功能可以让你控制一些网站的访问,非法的DNS就经常把一些正规的网站解析到不正确IP上。
address=/baidu.com.com/123.123.123.123
原文链接:https://blog.51cto.com/u_14862440/4974351
原创文章,作者:优速盾-小U,如若转载,请注明出处:https://www.cdnb.net/bbs/archives/21847