Mac配置本地DNS服务器

本文介绍如何使用Homebrew安装Dnsmasq,并配置本地DNS服务器,以解决移动端开发时修改hosts文件的问题。通过设置DNS缓存和DHCP服务,提高网站访问速度。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

1.安装Homebrew

1.1官网

1.2安装命令

1.3可能出现的错误

1.3.1解决方法1

1.3.2解决方法2

1.4常用命令

2.安装Dnsmasq

2.1安装

2.2启动

2.3重启

2.4停止

3.配置dnsmasq

3.1修改配置文件:

3.2添加自定义hosts文件dnsmasq.hosts

3.3修改设备的DNS服务器


作为一名WEB开发者,有些时候我们在进行本地开发测试的时候,我们需要在PC上会使用修改hosts的方式添加指向本地的域名,来访问网站。如:

127.0.0.1 albertyy.com  

但是在移动端的时候,这一招就不好使了,苹果手机必须越狱的情况才能修改hosts的,安卓手机必须在root的情况下才能修改hosts,这非常的不方便。我们可以通过配置本地DNS服务器解决这一问题。

1.安装Homebrew

Homebrew是一款Mac OS平台下的软件包管理工具,拥有安装、卸载、更新、查看、搜索等很多实用的功能。简单的一条指令,就可以实现包管理,而不用你关心各种依赖和文件路径的情况,十分方便快捷。

1.1官网

https://brew.sh/

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
评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Albert Yang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值