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

news2024/11/16 13:27:44

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.coloradmin.cn/o/1386875.html

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

相关文章

【Axure高保真原型】移入放大对应区域的饼图

今天和大家分享移入放大对应扇形区域的饼图的原型模板,鼠标移入时,对应扇形区域的会放大,并且的项目和数据弹窗,弹窗可以跟随鼠标移动。这个原型是用Axure原生元件制作的,所以不需要联网或者调用外部图表……具体效果可…

2024年烟花爆竹储存证考试题库及烟花爆竹储存试题解析

题库来源:安全生产模拟考试一点通公众号小程序 2024年烟花爆竹储存证考试题库及烟花爆竹储存试题解析是安全生产模拟考试一点通结合(安监局)特种作业人员操作证考试大纲和(质检局)特种设备作业人员上岗证考试大纲随机…

多示例学习 (multi-instance learning, MIL) 学习路线 (归类、重点文章列举、持续更新)

文章目录 0 要点 0 要点 说明:本文在于能够让大家能够更加快速地了解MIL这个领域,因此将从以下几个方面重点介绍MIL: MIL背景介绍;理论MIL概述: 注意力网络;对比学习;介入学习;强化…

sylar高性能服务器-日志(P15-P20)内容记录

以下内容是sylar高性能服务器视频的简单记录,如果你在调试代码时遇到了困难那么下面内容会有帮助。 文章目录 p15:配置变更事件一、函数二、结果展示 p16:日志系统的整合1一、函数二、小结 p17-18:日志系统的整合2、3一、函数二、…

网络命令行工具nc的使用复习

之前写过nc的博文;下面复习一下; 可以把nc放到C:\Windows\System32下; nc -l -p 9007,-l 是监听模式,-p指定端口,作为服务端监听9007端口; nc 127.0.0.1 9007,作为客户端去连接指定…

基于算术电路的全同态加密方案介绍

基于算术电路的全同态加密方案介绍 摘 要: 云计算技术目前已经发展得相对成熟,应用也逐步得到普及,它所具有的强大的数据处理能力,能够帮助个体用户计算复杂的数据。但它带来便利的同时,也催生了一系列用户隐私数据保…

Vue2.组件通信

样式冲突 写在组件中的样式默认会全局生效。容易造成多个组件之间的样式冲突问题。 可以给组件加上scoped属性,让样式只作用于当前组件。 原理: 给当前组件模板的所有元素,加上一个自定义属性data-v-hash值,用以区分不同的组件。…

七大排序(含快排+归并的递归版和非递归版)

文章目录 前言一、冒泡排序二、选择排序三、插入排序四、希尔排序五、堆排序六、快速排序快排的递归方式快排的非递归方式 七、归并排序自上而下的递归自下而上的迭代 总结 前言 排序: 所谓排序,就是使一串记录,按照其中的某个或某些关键字的…

二分图带权最大匹配-KM算法详解

文章目录 零、前言一、红娘再牵线二、二分图带权最大完备匹配2.1二分图带权最大匹配2.2概念2.3KM算法2.3.1交错树2.3.2顶标2.3.3相等子图2.3.4算法原理2.3.5算法实现 三、OJ练习3.1奔小康赚大钱3.2Ants 零、前言 关于二分图:二分图及染色法判定-CSDN博客 关于二分…

Vue + JS + tauri 开发一个简单的PC端桌面应用程序

Vue JS tauri 开发一个简单的PC端桌面应用程序 文章目录 Vue JS tauri 开发一个简单的PC端桌面应用程序1. 环境准备1.1 安装 Microsoft Visual Studio C 生成工具[^2]1.2 安装 Rust[^3] 2. 使用 vite 打包工具创建一个 vue 应用2.1 使用Vite创建前端Vue项目2.2 更改Vite打包…

vue中使用高德地图渲染多个不同类型的点,根据勾选数据 类型不同打点显示隐藏

一、在index.html文件中引入高德地图JavaScript API的2.0版本SDK <script src"https://webapi.amap.com/maps?v2.0&key你的高德地图Key"></script>二、创建一个Vue组件&#xff0c;用于渲染地图和点位 html <template><div class"m…

Axure全面指南:正确打开并高效使用的步骤!

AxureRP是目前流行的设计精美的用户界面和交互软件。AxureRP根据其应用领域提供了一组丰富的UI控制。作为Axure的国内替代品&#xff0c;即时设计可以在线协作&#xff0c;浏览器可以在无需下载客户端的情况下打开和使用。如果以前使用Axure&#xff0c;很容易切换到即时设计。…

记录el-select+el-tree复选框,支持模糊查询,懒加载,树父子节点不关联,不全选

需求&#xff1a;一个机构下拉菜单&#xff0c;一个人员下拉菜单&#xff0c;默认带入当前登录用户的机构和人员。机构下拉菜单为两个接口&#xff0c;模糊查询为一个接口不包含懒加载&#xff0c;默认非模糊查询情况下为一个接口&#xff0c;点击节点懒加载。机构下拉菜单数据…

探索FTP:原理、实践与安全优化

引言 在正式开始讲解之前&#xff0c;首先来了解一下文件存储的类型有哪些。 DAS、SAN和NAS是三种不同的存储架构&#xff0c;分别用于解决不同场景下的数据存储需求。 DAS (Direct Attached Storage 直接附加存储)&#xff1a;DAS 是指将存储设备&#xff08;如硬盘&#x…

线程之间如何传递上下文信息

文章目录 源码解读1. 扩展ThreadPoolExecutor2. 扩展Runnable3. 整体流程 源于工作中一个业务场景的需求。 源码 话不多说&#xff0c;先贴完整的源码&#xff1a; public class ContextPassingBetweenThread {private static ThreadLocal<String> CONTEXT new Thread…

倍福嵌入式PLC开发团队建设

倍福嵌入式PLC开发工程师确实比较难找&#xff0c;这是因为这个领域需要具备丰富的专业知识和技能&#xff0c;而且经验越丰富的工程师越难找到。以下是一些可能导致倍福嵌入式PLC开发工程师难找的原因&#xff1a; 具备相关技能的工程师数量相对较少&#xff1a;嵌入式PLC开发…

Linux平台建立GB28181设备模拟器

目录 下载模拟器解决动态库缺少问题运行模拟器抓包参考资料 在没有GB28181摄像机的情况下,在Linux虚拟机中模拟出一台GB28181摄像机用于调试和学习. 下载模拟器 到网站下载Linux 平台版本: https://www.happytimesoft.com/download.html tar -zxvf happytime-gb28181-device…

Python简介-Python入门到精通

Python的创始人为荷兰人吉多范罗苏姆&#xff08;Guido van Rossum&#xff09;。1989年圣诞节期间&#xff0c;在阿姆斯特丹&#xff0c;Guido为了打发圣诞节的无趣&#xff0c;决心开发一个新的脚本解释程序&#xff0c;作为ABC语言的一种继承。之所以选中Python&#xff08;…

Python中元组解构的技巧

更多资料获取 &#x1f4da; 个人网站&#xff1a;ipengtao.com 在Python中&#xff0c;元组&#xff08;tuple&#xff09;是一种常用的数据结构&#xff0c;它可以将多个值组合在一起。元组的解构是一项强大的特性&#xff0c;快速、方便地将元组中的值分配给多个变量。本文…

【电脑技巧】Win11关闭自动更新

要想彻底关闭Windows电脑的自动更新&#xff0c;仅仅从系统设置里面选择暂停更新是完全不够用的&#xff0c;只有将windows自动更新的服务关闭掉&#xff0c;才能有效阻止其更新。 关闭win11电脑自动更新的办法&#xff0c;具体操作如下&#xff1a; 1.在winr运行框中输入servi…