对于跨多个站点部署的应用服务,会在各个站点都有服务器,并且对应不同的IP地址。我们希望每个客户端访问就近的资源。这个时候可以启用Windows DNS服务器中的子网掩码排序(子网优先)netmask ordering功能。其实Windows服务器默认是启用这个功能的,但是默认是按照C类地址划分的。只要DNS记录和客户端不在同一个C类地址内就会以轮询round robin的方式返回DNS查询记录。

由于一个站点中会有多个网段,通常服务器和客户端不会放在同一个C类网段里,这个时候就需要修改默认按C类IP返回最近的IP地址了。我的环境中,按A类划分了地址段。命令是dnscmd /config /localnetprioritynetmask 0x00ffffff。可以用dnscmd /info /localnetprioritynetmask来查询设置的值,Windows默认的是0x000000ff。

参数0x00ffffff的意思是,0对应的是网路号,1对应的是主机号。只要网络号相同就判断为和客户端的IP段是一致的,返回同网段的DNS记录对应的IP解析回到客户端。如果想改成按B类地址划分,那么参数就相应的变为0x0000ffff。如果网段划分不是标准的类别,可以手动计算。比如掩码是255.255.128.0对应的参数就是0x007fffff;掩码如果是255.255.240.0那么对应的参数就是0x00000fff。

对应的注册表键值HKLM\SYSTEM\CurrentControlSet\Services\DNS\Parameters\LocalNetPriorityNetMask

经过设置之后,发现客户端查询都生效了。但是服务自己查询却仍然是按照轮询的结果来的。似乎设置对自己并不生效。经过启用DNS调式日志,重启服务器都没有找到原因。最后发现,服务器的网卡DNS里配置的是127.0.0.1。这个是提升域控制器的时候默认自己写进去的,后来我也没把它改成服务器自己的IP。因为127.0.0.0这个段里并没有对应的DNS记录,所以就按轮询来返回查询结果了。如果你有2台域控制器,首选DNS要填对方的IP,然后备选填自己的IP,不要使用127.0.0.1这个默认设置。为了验证我的想法,在DNS里手动添加了127段的记录,并用nslookup查询。https://www.cnblogs.com/qishine/p/12768749.html



结果就能优先返回127段的地址了。如果同一个段中有多个地址,那么对于这些地址也将按轮询的方式返回。

Windows DNS服务器的子网掩码排序的更多相关文章

  1. Windows DNS服务器策略

    Windows 2016开始微软在Windows服务器中引入了针对DNS服务器的策略.可以方便灵活的控制DNS服务器响应客户端的请求.这里举个例子,阻止某个网段的DNS查询.思路是这样的,定义一个网段 ...

  2. IP地址,子网掩码,默认网关,DNS服务器知识详解(转)

    转自:http://www.cnblogs.com/JuneWang/p/3917697.html 为了更深入的学习TCP/IP协议,最近看了不少有关资料,收集整理记录如下,以备后面的使用和方便各位学 ...

  3. IP地址,子网掩码、默认网关,DNS服务器是什么意思?

    (一)  问题解析001.   问:  IP地址,子网掩码,默认网关,DNS服务器,有什么区别呀?我知道没有IP地址就不能上网,我也知道没设DNS就不能上外网,可它们都有什么功能,有什么区别呢?还有真 ...

  4. IP地址,子网掩码,默认网关,DNS服务器详解

    为了更深入的学习TCP/IP协议,最近看了不少有关资料,收集整理记录如下,以备后面的使用和方便各位学习: IP地址,子网掩码,默认网关,DNS服务器是什么意思? (一)  问题解析 001.   问: ...

  5. 计算机网络: IP地址,子网掩码,默认网关,DNS服务器详解

    楔子: 以Windows系统中IP地址设置界面为参考(如图1), IP地址, 子网掩码, 默认网关 和 DNS服务器, 这些都是什么意思呢? 学习IP地址的相关知识时还会遇到网络地址,广播地址,子网等 ...

  6. 计算机网络九:IP地址、子网掩码、默认网关、DHCP服务器、DNS服务器、WINS服务器

    一.IP地址与子网掩码 1.IP地址 ipv4下,ip地址=网络号+主机号. 2.子网掩码         子网掩码(subnet mask)又叫网络掩码.地址掩码.子网络遮罩,它是一种用来指明一个I ...

  7. 计算机网络: IP地址,子网掩码,网段表示法,默认网关,DNS服务器详解

    楔子: 以Windows系统中IP地址设置界面为参考(如图1), IP地址, 子网掩码, 默认网关 和 DNS服务器, 这些都是什么意思呢? 学习IP地址的相关知识时还会遇到网络地址,广播地址,子网等 ...

  8. 【网络】IP地址,子网掩码,网段表示法,默认网关,DNS服务器详解

    楔子: 以Windows系统中IP地址设置界面为参考(如图1), IP地址, 子网掩码, 默认网关 和 DNS服务器, 这些都是什么意思呢? 学习IP地址的相关知识时还会遇到网络地址,广播地址,子网等 ...

  9. IP地址,子网掩码,网段表示法,默认网关,DNS服务器详解,DNS域名设计

    本文参考:<计算机网络: IP地址,子网掩码,网段表示法,默认网关,DNS服务器详解> IP地址 概述 计算机要实现网络通信,就必须要有一个用于快速定位的网络地址.IP地址就是计算机在网络 ...

随机推荐

  1. Optional 类

    @Test public void test2(){ Girl girl = new Girl(); // girl = null; //ofNullable(T t):t可以为null Option ...

  2. 关于 用fscanf读文件,把文件中用##分割的内容分开

    今天呀,被学弟问了一个问题 文件里存的是"123##456##0##1644444.....##" 为什么用fscanf(fp, "%s##%s......", ...

  3. 【docker专栏6】详解docker容器状态转换管理命令

    docker容器有三种状态运行.停止.暂停,镜像可以创建.运行容器,镜像和容器也可以转换成tar压缩包进行存储.本文为大家介绍容器的状态转换命令及镜像创建运行容器.tar包导入导出相关的命令及使用场景 ...

  4. SpringBoot:Redis中的zset

    zset被描述为有序集合,但RedisTemplate的OpsForZSet().range方法的返回值是set,那么: 这样直接查询zset返回set的操作会使得元素失去顺序吗? 先明确:Set是什 ...

  5. Java多线程交替打印

    1. synchronized实现双线程交替打印 class Print implements Runnable{ static int i=0; static final int n=100; @O ...

  6. SpringBoot接口 - 如何生成接口文档之非侵入方式(通过注释生成)Smart-Doc?

    通过Swagger系列可以快速生成API文档,但是这种API文档生成是需要在接口上添加注解等,这表明这是一种侵入式方式: 那么有没有非侵入式方式呢, 比如通过注释生成文档? 本文主要介绍非侵入式的方式 ...

  7. day03 Java_运算符_分支结构

    列表: 运算符的练习:算术.关系.逻辑.赋值.字符串连接.条件 分支结构的练习:if结构 分支结构的练习:if...else结构 参考 运算符的练习:算术 输出几个整数取模,验证结果 声明两个整型变量 ...

  8. hive常用函数 wordCount--Hive窗口函数1.1.1 聚合开窗函数聚合开窗函数实战

    第三天笔记 第三天笔记 SQL练习Hive 常用函数关系运算数值计算条件函数日期函数重点!!!字符串函数Hive 中的wordCount1.1 Hive窗口函数1.1.1 聚合开窗函数聚合开窗函数实战 ...

  9. 掌握CSS中的z-index

    前言 z-index是一个用于控制文档中图层顺序的属性.具有较高z-index值的元素将会出现在具有较低值的元素之上.就像页面上的x轴和y轴决定一个元素在水平和垂直方向上的位置一样,z-index控制 ...

  10. 用kubeadm简单部署k8s

    一.环境准备 1.三台CentOS6.7虚拟机 master:192.168.0.54 注意:主节点最好是2颗cpu,否则在k8s控制平面初始化的时候会报错: node1:192.168.0.68 n ...