本地配置DNS服务器(MAC版)

转自
https://www.cnblogs.com/skylor/p/7483959.html

作为一个前端开发者,会遇到使用cookie的情况,常见的如:登录,权限控制,视频播放,图形验证码等,这时候本地开发者在PC上会使用修改hosts的方式添加指向本地的域名,来获取cookie的同域名。如:

127.0.0.1 local.smartstudy.com 

但是在移动端的时候,这一招就不好使了,苹果手机在没越狱的情况下是没法修改hosts的,难道为了这个让自己的爱机越个狱?答案应该是否定的。那么怎么处理这个问题呢?完美解决方案就是配置本地局域网的DNS服务。于是我就查询了一系列的文档文章,总结出这篇文章,踩过些许坑,希望后来人别在重复踩了,由于本人使用的是Mac,所以下面的一些命令亲和Mac党,其他系统也类似,只有写系统命令可能不同,废话不多说,君且详看:

安装

brew update; brew install dnsmasq;  

启动

sudo brew services start dnsmasq  

重启

sudo brew services restart dnsmasq  

停止

sudo brew services stop dnsmasq  

查看dnsmasq的运行

ps aux | grep dnsmasq  

找到运行参数

/usr/local/opt/dnsmasq/sbin/dnsmasq --keep-in-foreground -C /usr/local/etc/dnsmasq.conf

找到运行配置文件:

/usr/local/etc/dnsmasq.conf

编辑他,这里用vim:

sudo vim /usr/local/etc/dnsmasq.conf  

干下面这些事情,去掉以下注释,并修改,具体配置是干啥的,后面会有讲到:

no-resolv  
no-poll  
listen-address=127.0.0.1,172.17.7.115 addn-hosts=/etc/dnsmasq.hosts 

添加自定义hosts文件dnsmasq.hosts

sudo vim /etc/dnsmasq.hosts  

里面添加你需要填写的域名对应关系,如:

172.17.7.115 yongle.smartstudy.com 

重启下你的DNS服务器,启动代码在文章上面有说到,截至目前,你的Mac本地的DNS配置就OK了,但是让同局域网的其他设备使用的话,还需要一些操作。

修改路由器的DHCP

配置DNS

172.17.7.115  

备用DNS配置为一般常用DNS服务器就好了。

局域网内设备需重连WIFI,而后就可以使用你本地的DNS服务了,检测是否成功,可以使用dig命令,如你本机上可这么来:

dig yongle.smartstudy.com @127.0.0.1 

当你看到

yongle.smartstudy.com.    0   IN  A 172.17.7.115 

说明成功了,这时候应该就结束了,但若还有局域网内的设备连不上的话,可以查看下该设备的DNS是否含有172.17.7.115,若没有,重启wifi连接,就OK了。

 

 

MAC配置DNS服务器

1、brew install dnsmasq

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

3、新建/usr/local/etc/resolv.dnsmasq.conf 内容为DNS列表

4、修改dnsmasq.conf文件

//配置上行DNS,对应no-resolv

resolv-file=/usr/local/etc/resolv.dnsmasq.conf

//resolv.dnsmasq.conf内的DNS寻址严格按照从上到下顺序执行,直到成功为止
strict-order

//缓冲大小
cache-size=1024

//192.168.x.x表示本机的ip地址,只有127.0.0.1的时候表示只有本机可以访问
listen-address=127.0.0.1,192.168.x.x

//DNS解析hosts时对应的hosts文件,对应no-hosts
addn-hosts=/etc/hosts

//表示不使用本机的hosts文件
no-hosts

//需要被解析的域名/期望解析结果
address=/example.com/10.11.33.55

5、brew services restart dnsmasq 重启dnsmasq服务(start启动)

6、sudo killall -HUP mDNSResponder 刷新缓冲DNS

说明:把本机DNS配置成127.0.0.1即可让本机也走此DNS服务器。

第五步brew操作可以分解为:

1、开机自运行

sudo cp -fv /usr/local/opt/dnsmasq/*.plist /Library/LaunchDaemons
sudo launchctl load /Library/LaunchDaemons/homebrew.mxcl.dnsmasq.plist

2、命令重启

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

转载于:https://www.cnblogs.com/it-tsz/p/9515478.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/266264.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

mme设备内部错误_华为拟安装“俄版安卓”;百度回应内部贪腐;Android Studio 3.5 RC2 发布 | 极客头条...

快来收听极客头条音频版吧,智能播报由标贝科技提供技术支持。「CSDN 极客头条」,是从 CSDN 网站延伸至官方微信公众号的特别栏目,专注于一天业界事报道。风里雨里,我们将每天为朋友们,播报最新鲜有料的新闻资讯&#x…

[spring mvc]Hello World入门

1.新建项目 File->New->Other,选择Dynamic web project&#xff1a; 项目建好之后&#xff0c;目录结构如下&#xff1a; 2.WEB-INF/web.xml 中配置 dispatcherServlet <?xml version"1.0" encoding"UTF-8"?> <web-app xmlns:xsi"ht…

Mysql日期函数使用大全

为什么80%的码农都做不了架构师&#xff1f;>>> 1.1 获得当前日期时间&#xff08;date time&#xff09;函数&#xff1a;now() 除了 now() 函数能获得当前的日期时间外&#xff0c;MySQL 中还有下面的函数&#xff1a; current_timestamp() current_timestamp …

input点击事件不能用_用js简单写一个计算器

嗨&#xff0c;大家好&#xff0c;今天给大家带来的是一个计算器首先要知道我们常用的计算器都有哪些按键&#xff0c;有0~9&#xff0c; , - , *, /&#xff0c;还有 和.&#xff0c;基本是这些按键&#xff0c;然后我们去创建一些按键。之后我们去设置样式&#xff0c;设置完…

php判断信用卡,php校验信用卡卡号代码

[php]代码库// This function will take a credit card number and check to make sure it// contains the right amount of digits and uses the Luhn Algorithm to// weed out made up numbersfunction validateCreditcard_number($credit_card_number){// Get the first dig…

python list长度_python的入门阶段 编程思维100题 我跟罗志祥没关系

"""python的入门阶段 编程思维100题&#xff08;适合学习了1周--1个月的新人&#xff09; 第五题&#xff1a;我跟罗志祥没关系 朋友圈大家每天都看&#xff0c;那用python如何实现它那&#xff1f; 很简单&#xff0c;朋友的信息&#xff08;名字&#xff0c;头…

Android ----中文Api 百度地图

Android中文API最新中文版 [复制链接] kupekupe当前离线在线时间1 小时e望0 点最后登录2011-2-17注册时间2011-2-17积分12阅读权限10UID1341171 主题 0 好友 12 积分No.1 开发小菜鸟 No.1 开发小菜鸟, 积分 12, 距离下一级还需 88 积分升级 12% 当前用户组为 No.1 开发小菜鸟 …

android之多媒体篇(一)

2019独角兽企业重金招聘Python工程师标准>>> Android 4.0.3(Api Level 15&#xff09;支持的多媒体格式。 注意&#xff1a;有些设备可能支持其他的文件格式。 1.Audio AAC LC/LTP、HE-AACv1(AAC)、AMR-NB、AMR-WB、MP3、MIDI、Ogg Vorbis、PCM/WAVE、FLAC&#…

java定时器_拾遗Timer定时器

一 Timer 介绍在开发中我们经常会遇到一些简单定时任务的需求&#xff0c;而不需要量级较重的定时任务就可以采取java定时器&#xff1b;java.util.Timer工具类中的Timer 是定时器&#xff0c;但定时任务写在java.util.TimerTask 中&#xff0c;由 Timer 执行 TimerTask &#…

逻辑门电路的知识点归纳

1.半导体二极管与MOS管的开关特性 二极管&#xff1a;正向导通&#xff0c;反向截止&#xff0c;但是要注意的是从反向截止到正向导通的时间极其短&#xff0c;但是从正向导通到反向截止要经过反向恢复&#xff08;电荷存储效应&#xff09;的过程&#xff0c;这个过程实际上就…

善心

2019独角兽企业重金招聘Python工程师标准>>> 一个穷苦学生郝武德.凯礼&#xff0c;为了付学费&#xff0c;挨家挨户地推销货品。 到了晚上&#xff0c;发现自己的肚子很饿&#xff0c;而口袋里只剩下一个小钱。他在大街上犹豫徘徊了半天&#xff0c;终于鼓起勇气&a…

python 清屏_Python学前准备如果你知道要去哪,那么全世界都给你让路

一、Python 已来 AI 不远在当今&#xff0c;人工智能已经渗透到了智能手机、网络搜索&#xff0c;广告分发&#xff0c;人脸识别&#xff0c;语音识别&#xff0c;自动驾驶&#xff0c;智能医疗&#xff0c;无人银行等日常生活领域。人工智能的生活化是不可避免的&#xff0c;它…

js判断用户是否离开当前页面

简介 VisibilityChange 事件&#xff1b;用于判断用户是否离开当前页面 Code // 页面的 visibility 属性可能返回三种状态 // prerender&#xff0c;visible 和 hidden let pageVisibility document.visibilityState; // 监听 visibility change 事件 document.addEventLi…

记一次B站答题经历

第一题部分&#xff1a;社区规范卷 --------- ------------ 第二题&#xff1a;社区规范第二部分 -------------------- 第三部分自由选择题 ---------------------- -------------------------------- 最后答题成绩得分 -------------- ------------- 答完题后的感受&#xff…

linux 安装程序丢失链接动态库,Linux安装软件过程中提示缺少动态链接库.so的解决方法...

Linux在安装软件的时候有时会出现错误&#xff0c;提示缺少动态链接库.so&#xff0c;该问题是由什么原因导致的呢?情况分析&#xff1a;1.缺少动态连接库.so-cannot open shared object file:No such file or directory2.缺少动态连接库.so.0-cannot open shared object file…

yaf(5) smarty

2013年4月6日 13:41:37 参考: http://www.oschina.net/question/812776_71817 http://yaf.laruence.com/manual/yaf.class.dispatcher.setView.html 这两者都是在bootstrap.php中写_initSmarty()函数来重新实现yaf的视图接口 这中方案默认的是存放模版文件的上级文件夹名字必须…

Hibernate(三) - hibernate 表操作-多对多配置

Hibernate 的一对多关联映射 之前在学习 Hibernate 的时候&#xff0c;其实都是单表的操作。在实际的开发当中&#xff0c;比如做一个商城&#xff0c;就需要好多张数据库表&#xff0c;表与表之间是有关系的。之前些做一些关联查询或者是一些基本的查询操作的时候&#xff0c;…

vb treeview 展开子节点_详解最长公共子序列问题,秒杀三道动态规划题目

学算法认准 labuladong后台回复进群一起力扣?读完本文&#xff0c;可以去力扣解决如下题目&#xff1a;1143.最长公共子序列(Medium)583. 两个字符串的删除操作(Medium)712.两个字符串的最小ASCII删除和(Medium)好久没写动态规划算法相关的文章了&#xff0c;今天来搞一把。不…

linux查看数据积压,查看kafka消息队列的积压情况

创建topickafka-topics --create --zookeeper master:2181/kafka2 --replication-factor 2 --partitions 3 --topic mydemo5列出topickafka-topics --list --zookeeper master:2181/kafka2描述topickafka-topics --describe --zookeeper master:2181/kafka2 --topic mydemo5生产…

python 三引号_Python 基础(一):入门必备知识

目录1 标识符2 关键字3 引号4 编码5 输入输出6 缩进7 多行8 注释9 数据类型10 运算符10.1 常用运算符10.2 运算符优先级1 标识符标识符是编程时使用的名字&#xff0c;用于给变量、函数、语句块等命名&#xff0c;Python 中标识符由字母、数字、下划线组成&#xff0c;不能以数…