CentOS 7 使用 Bind9 自建DNS 自定义解析结果
本文最后更新于 407 天前,其中的信息可能已经有所发展或是发生改变。

祖传引子

想低产博客学高数来着,奈何一边的爷爷总是大声外放微信上一些来源不明的消息(比如香港反占中有30W越南非法移民参加,实际上根本没有来源的假新闻),一边听一边还要大骂“卖国贼”......我发现,他所阅读的不实消息均来自于一个叫做“战友集合”的微信小程序,怀着强烈的好奇心,我点开了这个小程序......

前方高能,监测到潜在的核聚变打击

Screenshot_20190816-212406 - 副本.jpg

这......我真的无话可说,UC小编您好好不在UC干活跑微信来干啥?!专门为老人放大的字体,这是典型的骗老人点击量和关注量的营销号,我曾经亲自看到爷爷郑重其事地点下了“在看”按钮......

HTTPCanary抓包,以及微信小程序详情页面的说明,我发现这个小程序主要使用的API的地址如下:

ydapi.heywoodsminiprogram.com
moonlight.heywoodsminiprogram.com 
pushserver.heywoodsminiprogram.com
abtest.heywoodsminiprogram.com
goclick.heywoodsminiprogram.com
adsystemapi.heywoodsminiprogram.com
api.heywoodsminiprogram.com

怎么屏蔽向这些域名的请求?路由器部署防火墙?我家理由器配置没这么高,也没有OpenWRT固件可刷。我想起了大半年鸽掉的Bind 自建DNS博文...是时候折腾了!

部署过程实录

  1. 先安装Bind及其附属的软件:yum install bind bind-utils
  2. 安装完成后,编辑配置文件:vim /etc/named.conf话说,这个软件很多配置文件都与named有关,而不是bind,这个好奇怪~
  3. named.conf配置如下:

option中加入或替换以下内容,其他保持不变:

listen-on port 53 { any; }; //监听53端口,允许任意设备联入
allow-query     { any; }; //允许任意设备联入
forwarders{ //递归查询
        8.8.8.8;
};
recursion yes;
  1. 基本配置文件配置好了,我们再来自定义解析:编辑vim /etc/named.rfc1912.zones,在最后加入:
zone "heywoodsminiprogram.com" IN { //根域名
        type master;
        file "heywoodsminiprogram.com.zone";//自定义解析的文件存放地址
};
  1. 编辑heywoodsminiprogram.com.zone配置文件:vim /var/named/heywoodsminiprogram.com.zone ,写入:
$TTL    604800
@       IN      SOA     ns1.heywoodsminiprogram.com. ns2.heywoodsminiprogram.com. (
                      3     ; Serial
                 604800     ; Refresh
                  86400     ; Retry
                2419200     ; Expire
                 604800 )   ; Negative Cache TTL

                IN      NS      ns1.heywoodsminiprogram.com.
                IN      NS      ns2.heywoodsminiprogram.com.

ns1.heywoodsminiprogram.com.          IN      A      127.0.0.1
ns2.heywoodsminiprogram.com.          IN      A      127.0.0.1

ydapi.heywoodsminiprogram.com.        IN    A    127.0.0.1
moonlight.heywoodsminiprogram.com.    IN    A    127.0.0.1
pushserver.heywoodsminiprogram.com.   IN    A    127.0.0.1
abtest.heywoodsminiprogram.com.       IN    A    127.0.0.1
goclick.heywoodsminiprogram.com.      IN    A    127.0.0.1
adsystemapi.heywoodsminiprogram.com.  IN    A    127.0.0.1
api.heywoodsminiprogram.com.          IN    A    127.0.0.1

全都给他解析到127.0.0.1,或者其他的保留地址,或被墙的地址,能访问就怪咯~

  1. 重启Bind:service named restart,在此之前可以先验证下配置文件正确性:named-checkconf
  2. 将Bind添加到开机启动:systemctl enable named

大功告成!

解析结果:完全OK

用我们的刚刚搭建的服务器解析,可以看到,已经解析到127.0.0.1,大成功!

无标题 - 副本.jpg

设置好手机DNS,回到微信小程序,只能看到白屏,其他基本没有影响。

毕竟服务器在国外,解析慢怎么办?可以将路由器的DNS设置为我们自建的DNS,手机的DNS设为路由器提供的缓存,这样加载速度就基本不会受到太大影响了,最多第一次加载相对缓慢,而后面是没有影响的。

本文永久链接:https://blog.xmgspace.me/archives/dns-bind9.html
本文文章标题:CentOS 7 使用 Bind9 自建DNS 自定义解析结果
如文章内无特殊说明,只要您标明转载/引用自Xiaomage's Blog,您就可以自由的转载/引用文章。
授权协议:署名-非商业性使用-相同方式共享 4.0 国际(CC BY 4.0)
暂无评论

发送评论 编辑评论


|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇