Win10专业版系统搭建DNS解析服务

Win10专业版

纯新手,也没弄过Linux的。不喜勿喷,有问题请指出

第一天一头雾水整了几个小时没结果,第二天豁然开朗,10分钟明白了第一天的问题所在。

Win10

安卓:

iOS:

搭建DNS服务器的意义:

  1. 屏蔽某些永远不想访问的网站,甚至可以化敌为友,把对方的域名当成自己的本地域名来用(如访问qq.com,可以跳转到自己的网站)
  2. 同一网络下都能生效,比如Win10配置了DNS服务器,屏蔽了某些永远不想访问的网站,这时候连接同一WiFi的手机等任何设备都可以过滤它们
  3. ……

DNS服务器是hosts的升级。Win10可以修改hosts达到目的,但是手机修改这个必须root,root难度大不说,且用不了银行APP,等于说给每个设备修改hosts方法不可行。

自己的个人电脑,Win10是专业版,并非server版本,弄个Linux虚拟机真占内存和空间开了机还得开虚拟机麻烦的很;舍弃所有已安装的软件重装系统成server系统也不现实。

后来找到了个有趣的软件,bind,这个工具可以直接在Windows上使用,不限制版本。

bind官网地址: BIND 9 - ISC

先说一下自己遇到的坑:

  1. 要变成DNS服务器的电脑必须设置一个固定的IP
  2. 修改了C:\Program Files\ISC BIND 9\etc这个文件夹的文件,要想生效先关闭服务(net stop named)再启动服务(net start named)
  3. 上边俩命令需要以管理员身份运行cmd,
  4. 启动服务后,且其他设备的DNS改成Win10的IP后,配置的自己的域名可能不会立即生效,
  5. 其他小问题,网上关于在Windows上使用BIND的教程远比Linux少,抄Linux里的代码必须一行一行看,改成Windows才能用的,比如路径、……
  6. Bind服务会开机自启,但是这个自启有问题,不能正常使用dns服务。可能是目录权限问题。可以写个bat脚本,自启这个脚本。脚本命令如下,因为写的是绝对路径,bat文件放哪里都行:

cd /d %~dp0

"C:\Program Files\ISC BIND 9\bin\named.exe"  -f -g -d 1

pause

废话有点多,下面进入正题。

先来看一下必须的文件,如果只是搭建一个简单的可用的dns,只需这3:

如果想访问到自定义的域名,如qq.com,gg.com,需要添加如上边所示的gg.com.zone

关于这些文件的后缀:可以随便写,只要在named.conf里填对就行了,后缀只是能让自己好辨认。

以我为例,自己创建的文件(也是需要自己填写信息的):

详细操作:

  1. 下载BIND,我这里成功的是BIND9.17.12.x64。开始用的是BIND9.13.3.debug.x64,安装时无论如何都提示vcruntime140D.dll,百度没搜到,最后用vcruntime140.dll改名vcruntime140D.dll放到system32或wow64都不行。
  2. 安装完,程序目录C:\Program Files\ISC BIND 9的权限要给named(假设你没改默认的用户名)这个用户,或者全都开放。
  3. 进入bin目录, cmd,使用rndc-confgen -a生成key文件,名字是rndc.key,该文件会自动被放到etc文件夹(上面图)
  4. named.conf文件,至关重要的一个文件,DNS服务能不能启动成功全靠它。(写到这里突然断电了,写的还没保存,WC),进入bin,cmd使用named-checkconf查看named.conf配置文件有没有问题,有问题会提示具体的行数。如图啥提示都没有,这样才是成功,但凡有一个符号的提示都是有问题的。(有问题百度搜索named-checkconf,不要搜索出错的关键字,因为出错的关键词的结果很少)

  1. gg.com.zone文件,还是bin下cmd使用named-checkzone ns.gg.com ..\etc\gg.com.zone查看gg.com.zone文件是否有问题:(同样,有问题百度搜索named-checkzone,不要搜索出错的关键字,因为出错的关键词的结果很少)

      或者直接

没有提示出错,即万事大吉一帆风顺。
 

  1. 该填的都填了,开始启动服务,注意只能管理员身份启动,cmd,输入net  Start named,如果named.conf有问题会提示启动失败

停止:

这里有错误提示,可能还是权限问题,实际感觉不影响停止

  1. 各个文件的代码

;文件gg.com.zone 这里的注释最好只能用分号

$TTL 1H

@ IN SOA gg.com. root.gg.com. (

 2007091701  ; Serial

 30800  ; Refresh

 7200  ; Retry

 604800  ; Expire

 300 )  ; Minimum

       

        NS  gg.com.         ;每一个NS下最少要有一个A记录

        A   192.168.0.110   ;可直接访问gg.com。每个NS下添加一个A记 

ns     A   192.168.0.110   ;没加.则解析时加上域

mail    A   192.168.0.110

xx     A   192.168.0.110

## 文件localhost.zone

$TTL 1D

@       IN      SOA     localhost.      root.localhost. (

        2007091701          ; Serial

        30800               ; Refresh

        7200                ; Retry

        604800              ; Expire

        300 )               ; Minimum

        IN      NS      localhost.

localhost.        IN      A       127.0.0.1

//文件named.conf

options {

 // zone文件的位置

listen-on port 53 { any; };

 directory "C:\Program Files\ISC BIND 9\etc";

 // 无法解析的域名就去查询ISP提供的DNS

 // 在下面的IP地址位置上填写ISP的DNS地址

 allow-query { any; };

 forward first;    //first和only以及这一行不写。不写就是不转发

 forwarders {

 //这里是你本机IP或者127.0.0.1

    //127.0.0.1;

    218.202.152.130;

    218.202.152.131;

    223.5.5.5; //注意这里转发的是DNS地址,没有指定DNS转发域名。

    223.6.6.6;

    8.8.8.8;

    8.8.4.4;

 };

 // 仅允许本机与192.168.0.0网段内的机器查询

 //allow-query {

 //127.0.0.1;

 //192.168.0.0/24;  //这个要查询一下自己所在局域网的网段(其他设备配置DNS时填写24,或者255.255.255.0)

 //};

};

// gg.com是我们为自己的域的正向解析配置

zone "gg.com" IN {

 type master;

 file "gg.com.zone";

 #allow-update { none; };

};

zone "qq.com" IN {

 type master;

 file "qq.com.zone";

 #allow-update { none; };

};

// 根DNS

//zone "." {

 //type hint;

 //file "named.root";      //https://www.internic.net/zones/named.root。很慢!

//};

// localhost

zone "localhost" IN {

 type master;

 file "localhost.zone";

 allow-update { none; };

};

// localhost的反向解析

zone "0.0.127.in-addr.arpa" {

 type master;

 file "localhost.rev";

};

include "C:\Program Files\ISC BIND 9\etc\rndc.key";

感觉配置文件还是有点问题,也可能是地区的原因,最后访问CSDN:

;文件zoned.root

;直接到这里下载,https://www.internic.net/zones/

;但是解析速度是真慢

;文件qq.com.zone

;和文件gg.com.zone大同小异

//文件start.cmd

cd /d %~dp0

"C:\Program Files\ISC BIND 9\bin\named.exe"  -f -g -d 1

pause

对配置中的转发服务器、根服务器速度太慢的问题,直接在conf中删掉关于这两处的代码,随后修改ipv4如下,多整几个假的否则自己配置的(如qq.com)不生效:

至于定义了优先级为何还不从第一个的本地开始匹配,可能?

用上边的方法,能达到目的:

又能使用原来想要的:

关于中文域名解析:先在edge访问“小而美.qq.com”,再复制它到文本编辑器(如Word),会发现中文变成了非中文字符,把这一串非中文添加一个解析记录。然后重启named

参考:https://blog.csdn.net/m0_66349719/article/details/130245965

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

关于Python —— Python教程

开始 Python 是一个易于学习、使用和高效阅读的编程语言。它具有简洁的英文语法,编写更少的代码,让程序员专注于业务逻辑而不是语言本身。 本教程将从深度、专注细节上去理解 Python 这门语言。初学者可以参考此教程理解相应的内容,本教程将…

高精度磁导航传感器MGS系列RS232|RS485|CANBUS通讯连线方法

高精度磁导航传感器MGS系列,包含:CNS-MGS-080N、CNS-MGS-160N等,具有1mm的检测精度,特别适应于⾼精度磁条导航。利⽤检测磁场相对位置来进⾏AGV的辅助定位对接,获得更⾼的导航、定位、驻⻋精度。 MGS系列磁导航传感器⽀…

Mysql中设置只允许指定ip能连接访问(可视化工具的方式)

场景 Mysql中怎样设置指定ip远程访问连接: Mysql中怎样设置指定ip远程访问连接_navicat for mysql 设置只有某个ip可以远程链接-CSDN博客 前面设置root账户指定ip能连接访问是通过命令行的方式,如果通过可视化工具比如Navicat来实现。 注&#xff1a…

360度全景展示效果图怎么制作?

全景图如何做成360度可以观看的效果呢? ​前提是我们要做好单张的全景效果图!往往全景图整体有两种以下生成方式。 方法一:全景相机拍摄 这个需要有专业制作全景的相机设备,拍摄实地的全景图,这样的效果出色&#xff…

微信小程序之初步了解微信小程序

学习的最大理由是想摆脱平庸,早一天就多一份人生的精彩;迟一天就多一天平庸的困扰。各位小伙伴,如果您: 想系统/深入学习某技术知识点… 一个人摸索学习很难坚持,想组团高效学习… 想写博客但无从下手,急需…

鸿蒙开发(三)理解UIAbility

前文提到过,在使用DevEco创建鸿蒙项目的时候,会选择Empty Ability,那么这个Ability是什么呢?其实对比Android Studio创建Android羡慕时选择的Empty Activity,感觉Harmony的Ability更像是Android的Activity,…

高效微调大型预训练模型的Prompt Learning方法

目录 前言1 prompt learning简介2 prompt learning步骤2.1 选择模型2.2 选择模板(Template)2.3 Verbalizer的构建 3 Prompt Learning训练策略3.1 Prompting组织数据,优化参数3.2 增加Soft Prompts,冻结模型,优化Prompt…

参与直播领取龙年大礼盒!23年Coremail社区年终福利大放送

2023年终福利大放送 Coremail 管理员社区是由 Coremail 邮件安全团队、服务团队及多条产品线共同维护,集 7*24h 在线自助查询、技术问答交流、大咖互动分享、资料下载等功能于一体,专属于 Coremail 邮件管理员、安全员成长互动的知识库社区。 转眼间&am…

详解电源动态响应的测试方法及重要性 -纳米软件

电源动态响应测试的重要性 电源动态响应测试是为了检测电源系统在负载变化、输入电压变化情况下的性能表现,包括响应速度、稳定性以及恢复能力等,从而判断电源能否快速、准确地恢复到正常工作状态,为电源的优化设计提供依据。 动态响应能力影…

2024谷歌SEO自学基础入门

2024年可能会迎来大航海时代,国内各企业也加速了出海的步伐!! (看总额,今年中国跨境电商,前三季度进出口1.7万亿元人民币,创造了14.4%的增长。 看体量,过去五年,中国跨…

蓝桥杯每日一题----货物摆放

题目 分析 上来一看,三个for循环,从1到n,寻找满足lwhn的个数,但是这样根本跑不出来答案,n太大了,1e15的级别,O(n)的时间复杂度都不行,更何况是O(…

RC4(CTFshow re2)

基本原理 RC4属于对称密码算法中的流密码加密算法 什么是对称密码? 使用同一个密钥进行加密和解密 什么是流密码? 一个字节一个字节的进行加密/解密 RC4密钥长度是可以变的,面向字节操作 它以一个足够大的表s为基础 对表进行非线性变换&…

vue 使用mock模拟数据

vue 使用mock模拟数据 安装依赖 cnpm install axios --save cnpm install mockjs --save-dev cnpm install json5 --save-dev在根目录下,新建一个mock文件,且创建如下文件 utils.js index.js const Mock require(mockjs) const { param2Obj } …

SSH远程访问与控制

目录 ssh优点 作用 SSH的 软件 公钥首次连接原理 ssh远程登录 shh命令 远程连接 直接连接先输入ssh IP 连接指定用户 在 /etc/ssh/sshd_config下面修改端口号 修改服务端配置文件 ​编辑 白名单,只能登录本机的mcb用户 SSH服务的最佳实践 openSSH 服…

同城配送小程序开发 同城生意一键掌控

同城配送小程序开发大概要多少费用?一般影响同城配送小程序开发费用的因素有以下几种: 1、小程序功能性。 生鲜小程序的价钱也会受到它的功能产生的影响,一些基本功能,包含商品订单、产品管理、团团长管理方法、数据分析、配送管理…

软件测试|Python如何处理配置文件

配置文件在软件开发中起到了非常重要的作用,它允许开发者将应用程序的设置和参数存储在一个易于管理和修改的地方,而不是硬编码在代码中。Python有多种处理配置文件的方式,本文将介绍其中两种最常用的方法:使用configparser库和使…

SpringBoot教程(五) | SpringBoot中Controller详解

SpringBoot教程(五) | SpringBoot中Controller详解 SpringBoot整合SpringMvc其实千面一直讲的都是。只需要我们在pom文件中引入 web的starter就可以了,然后我们就可以正常使用springMvc中的功能了。所以本篇文章可能更多的是回顾,回顾一下springMVC中的…

01.15

#include "widget.h" #include <QApplication>int main(int argc, char *argv[]) {QApplication a(argc, argv);Widget w;w.show();VideoCapture mv;mv.open("D:\\opencv\\heads\\01.mp4");//定义一个存放视频里读取到的一帧图像Mat src;//定义一个存…

自定义typora样式,如引用块颜色

要进行自定义typora中的样式&#xff0c;你最好像我一样&#xff0c;自己新建一个主题 首先文件->偏好设置->打开主题文件夹 然后自己新建一个文件夹&#xff0c;可以命名为selfmake&#xff0c;并copy一下github.css一个副本&#xff0c;将其命名为selfmake.css&#…

NLP论文阅读记录 - 2021 | WOS 基于动态记忆网络的抽取式摘要

文章目录 前言0、论文摘要一、Introduction1.1目标问题1.2相关的尝试1.3本文贡献 二.前提三.本文方法四 实验效果4.1数据集4.2 对比模型4.3实施细节4.4评估指标4.5 实验结果4.6 细粒度分析 五 总结思考 前言 Extractive Summarization Based on Dynamic Memory Network&#xf…