热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

LinuxDNS

libnss_files.solibnss_dnslibnss_ldap展现的就是一个配置文件etcnsswitch.conf?查看这个文件这个files就是通过libnss_fi

技术分享图片

libnss_files.so

libnss_dns

libnss_ldap

技术分享图片


展现的就是一个配置文件

/etc/nsswitch.conf

 

查看这个文件

技术分享图片

这个files就是通过libnss_files来找/etc/hosts

dns:指的就是DNS服务


stub resolver名称解析器

ping www.magedu.com

 

先通个这个解析器找files对应的/etc/hosts看看有没有这个名称对应的IP地址,没有就再给DNS

技术分享图片

技术分享图片

技术分享图片

技术分享图片

技术分享图片


DNS主从结构

片长挂了 副片长上

技术分享图片

版本号

检查时间(是否有改变)

重试时间(万一检查失败)

过期时间(万一重试也失败了)

否定答案的ttl

 

还有缓存服务器

转发器,没有缓存,只进行转发

技术分享图片

技术分享图片

@ 代表ZONE NAME


技术分享图片

Domain:逻辑

区域ZONE:物理

技术分享图片

一、

至少有三个区域:

    根、  自己解析不了的 找根

    Locahost 正向区域

127.0.0.1 反向区域  其实这两个都是别人要解析自己时的地址,一个正的,一个反的

 

区域数据文件:/var/named

named.ca    named.localhost   named.loopback    对应上面的根  本机正向,本机反向

 

directory : 固定工作路径 (相对路径)

type  { hint | master | slave | forward }       

                     转发

 

二、

查看主配置文件 /etc/named.conf

备份下原配置文件

 

自己弄一个手动的配置文件   简单

技术分享图片

这里建了正向区域,还得去/var/named/下建立对应的数据文件

技术分享图片

技术分享图片

检查语法


技术分享图片

技术分享图片

改属主属组和权限        跟原来文件权限一样


技术分享图片

区域数据文件属性也要改


技术分享图片

技术分享图片

查看tail  /var/log/messages 日志信息

 

然后 重读配置文件

killall  -1  named    不要重起服务,能够重读配置文件


技术分享图片

DNS指定自己IP

dig 测一下 如下图:

技术分享图片

其实因为已经修改了DNS指定,这里就不用@IP地址也行


技术分享图片

技术分享图片

host命令也行

技术分享图片


windows上面测试:

技术分享图片


然后还要添加反向区域

技术分享图片


添加反向数据文件

技术分享图片

这样快捷一些

然后修改:

技术分享图片

技术分享图片

技术分享图片

windows上检测下,没问题。


技术分享图片

泛域名解析

技术分享图片

有时,用户输错也能定向到指定位置

技术分享图片



题外话:

原本named.conf文件

技术分享图片

只监听在127.0.0.1  53端口上的  也就是只监听在本地回还接口上  不能和外界通信的

外面主机想通过它解析就不行,要把监听端口改掉,就能变成缓存服务器

 

recurion yes 是否允许递归  不定义的话 默认开启的  不过这样不好

 

自定义给谁进行递归

allow -recursion  { 192.168.21.0/24; };  只给来自这个网段的地址递归

 

allow-query 只允许谁来查询,一般用的不多

 

也可以写成any

例子:

技术分享图片

此主机DNS为有效 192.168.21.2   IP192.168.21.129

然后修改配置文件,将端口只监听为本机53端口

 

而此时,另一台主机将DNS指定为本机IP192.168.21.129

技术分享图片

解析不成功

 

一旦将配置文件中那行注释掉

再尝试有效

技术分享图片


技术分享图片

默认就是递归的,加了recurse一样的


技术分享图片

+norecurse 就不进行递归了

找根,根告诉你直接找com.

 

从上面找一个com.地址 自己再找

技术分享图片

找到sohu.com. 还没找到www.sohu.com

 

+trace 显示查找信息

 

所以,如果我们把配置文件设置为不允许递归,那么除了我们负责的区域,其他解析就都没用了

技术分享图片

表示不跟任何人递归


技术分享图片

这样要找baidu就没用了 因为我们首先不负责这个域,得找根,再找com.

但因为不递归了,所以没有

 

panqi.com不同,这个域本就是我们所负责的,所以解析有效。

技术分享图片

技术分享图片

技术分享图片

改为允许这个网段的递归,这样就行了。因为现在的DNS地址就在这个网段里。


技术分享图片

127.0.0.1来试,虽然也是本机地址,但不在这个网段里,所以不递归。


技术分享图片

把这个地址加上

技术分享图片

有效。


技术分享图片

完全区域传送

得到对方区域内的所有数据


如果我在区域数据文件再加一条A记录

同时,版本号加1

技术分享图片

这样就会显示新增一条记录

 

这是从2018010101之后,变化的

技术分享图片

区域传送:

有主、从结构

 

不是谁都能来的,只能允许自己的从服务器来

 

allow-transfer 允许谁来传送的

写在全局里,对下面的每个区域都生效

可以写在下面各个区域里,只对各区域生效

 

 

比如允许给这台主机传送两个区域,根,本机正向,反向都不允许

下图:

技术分享图片

技术分享图片

根里面不要加none,不允许。


技术分享图片

不让传了

 

把这台DNS指向(上图的IP地址配的DNS

技术分享图片

技术分享图片

定义中的这台192.168.21.129IP就可以传

如何配置DNS的从服务器

就以这台129IP的主机为例

 

只要建立主配置文件,数据文件传送过来就行

已经装好bind bind-utils

 

 

/var/named目录 属组权限无写

技术分享图片

那么我们区域传送时,是以named进行的,其没有对这个目录的写权限,所以,同步也不行。

 

于是,很贴心的帮我们建好了一个目录,把同步过来的文件放这里就行了。

技术分享图片

slaves 属主属组均为named


技术分享图片

技术分享图片

技术分享图片

技术分享图片

主服务器上看日志:显示129过来同步数据了

技术分享图片

从上面看,也有了


传送过来的写得更标准:

技术分享图片

技术分享图片


下面来看看增量区域传送会不会发生

主服务器里加一条A记录试试:

技术分享图片

技术分享图片

技术分享图片

日志显显重载成功

 

但传送没有发生

原因:当主服务器发生增量,应该会通知从服务器的,但我们没有定义从,它找不到

我们只是在从里面定义了主

修改数据文件:

技术分享图片

技术分享图片

技术分享图片

技术分享图片

两边都有日志记录

 

rndc命令

子命令:

reload 通知某个服务器,让它重读配置文件和区域数据文件

reload zone 只重读区域数据文件,而且可以指定哪个

notify zone 手动让某个区域向外发通知

reconfig 只重读配置文件及新建的区域数据文件

flush 清空缓存


技术分享图片

技术分享图片

当前行到倒数第二行追加重定向到named.conf

 

修改下格式

技术分享图片

技术分享图片

技术分享图片

技术分享图片

-c可以不用指

默认读这个配置文件

如果要控制远程主机

技术分享图片

修改监听的端口和允许的主机IP


技术分享图片

技术分享图片

必须将本机的这个key给另一台主机

技术分享图片

技术分享图片


技术分享图片

这边关掉,另一台named服务就没了

技术分享图片


技术分享图片

正向区域里

要有:

子域区域名称SUB_ZONE_NAME       IN     NS    NSSERVER_SUB_ZONE_NAME

还要有相应的A记录

NSSERVER_SUB_ZONE_NAME          IN     A   子域里作DNS服务器的那台IP

 

panqi.com.

192.168.21.131

192.168.21.129

 

1vv.panqi.com.

vv.panqi.com.          IN             NS                   ns1.vv.panqi.com.

vv.panqi.com.          IN             NS                   ns2.vv.panqi.com.

ns1.vv.panqi.com.          IN             A               192.168.21.117

ns2.vv.panqi.com.          IN             A               192.168.21.118

 

2mm.panqi.com.

mm.panqi.com.             IN             NS                   ns.mm.panqi.com.

ns.mm.panqi.com.           IN             A               192.168.21.141

技术分享图片

技术分享图片

增量区域传送


技术分享图片

从服务器上就有了

技术分享图片

修改vv上的配置文件


技术分享图片

技术分享图片

技术分享图片

配置文件和区域数据文件权限别忘了


技术分享图片

这个因为用的DNS192.168.21.2 解析的是外网上的信息

技术分享图片

这个是以本机DNS解析  就能看到我们配置的作息


技术分享图片

技术分享图片

在从服务器上配置文件修改下

技术分享图片


技术分享图片


技术分享图片

主的日志上显示从的过来同步数据了


技术分享图片

从服务器上数据文件有了


技术分享图片

技术分享图片

效果一样的 一主一从两个DNS


技术分享图片

配置mm这台机的named服务


技术分享图片

技术分享图片

技术分享图片

这个是解析外网的


技术分享图片

这个就是解析的自己配置的

 

但子域是找不到父域的

怎么才能让子域不能联外网还能找到父域,并且可以让父域出去找

 

定义转发  父域要能给子域进行递归

forward

only 只给父域  不给找就算了

first 先给父域   找不到,再自己找根去了

 

先看first

技术分享图片

技术分享图片

虽然本机不负责panqi.com这个区 但因为有first,所以先找父域,而父域就是负责这个域的

其实如果自己能上网,将不是父域负责的区域转发父域也没啥意义(因为自己找或是父域找,都是非权威答案)

所以,我们最好将父域自己负责的区域转给它,其他不用转,比较合适。

技术分享图片

这样写,先建个区域,将请求这个区域的,转发给父域,也就是它自己负责的区域

其他区域的就不再转发了

 

但测试结果,看的不明显。也看不出怎么转发的。

技术分享图片

我在主机里定义了一个访问.com的这个区域都转发给.comns13个)而不是根来解析

 

试验结果:

技术分享图片

跟以前不一样了,变大写了,我也不知道成不成功。??????


aa:权威答案


也可以定义acl列表:

技术分享图片

技术分享图片

技术分享图片

技术分享图片

dig -t axfr panqi.com @192.168.21.131

技术分享图片

一般来说 查询 安全相关的不开启日志

更新相关开启

 

queryperf 使用





推荐阅读
  • 利用Selenium与ChromeDriver实现豆瓣网页全屏截图
    本文介绍了一种使用Selenium和ChromeDriver结合Python代码,轻松实现对豆瓣网站进行完整页面截图的方法。该方法不仅简单易行,而且解决了新版Selenium不再支持PhantomJS的问题。 ... [详细]
  • 嵌入式开发环境搭建与文件传输指南
    本文详细介绍了如何为嵌入式应用开发搭建必要的软硬件环境,并提供了通过串口和网线两种方式将文件传输到开发板的具体步骤。适合Linux开发初学者参考。 ... [详细]
  • 解决TensorFlow CPU版本安装中的依赖问题
    本文记录了在安装CPU版本的TensorFlow过程中遇到的依赖问题及解决方案,特别是numpy版本不匹配和动态链接库(DLL)错误。通过详细的步骤说明和专业建议,帮助读者顺利安装并使用TensorFlow。 ... [详细]
  • 深入理解ExtJS:从入门到精通
    本文详细介绍了ExtJS的功能及其在大型企业前端开发中的应用。通过实例和详细的文件结构解析,帮助初学者快速掌握ExtJS的核心概念,并提供实用技巧和最佳实践。 ... [详细]
  • 通常情况下,修改my.cnf配置文件后需要重启MySQL服务才能使新参数生效。然而,通过特定命令可以在不重启服务的情况下实现配置的即时更新。本文将详细介绍如何在线调整MySQL配置,并验证其有效性。 ... [详细]
  • Python自动化测试入门:Selenium环境搭建
    本文详细介绍如何在Python环境中安装和配置Selenium,包括开发工具PyCharm的安装、Python环境的设置以及Selenium包的安装方法。此外,还提供了编写和运行第一个自动化测试脚本的步骤。 ... [详细]
  • 本文探讨了C++编程中理解代码执行期间复杂度的挑战,特别是编译器在程序运行时生成额外指令以确保对象构造、内存管理、类型转换及临时对象创建的安全性。 ... [详细]
  • C#设计模式学习笔记:观察者模式解析
    本文将探讨观察者模式的基本概念、应用场景及其在C#中的实现方法。通过借鉴《Head First Design Patterns》和维基百科等资源,详细介绍该模式的工作原理,并提供具体代码示例。 ... [详细]
  • 本文介绍了如何通过Java代码计算一个整数的位数,并展示了多个基础编程示例,包括求和、平均分计算、条件判断等。 ... [详细]
  • 本题要求在一组数中反复取出两个数相加,并将结果放回数组中,最终求出最小的总加法代价。这是一个经典的哈夫曼编码问题,利用贪心算法可以有效地解决。 ... [详细]
  • 本篇文章介绍如何将两个分别表示整数的链表进行相加,并生成一个新的链表。每个链表节点包含0到9的数值,如9-3-7和6-3相加得到1-0-0-0。通过反向处理链表、逐位相加并处理进位,最终再将结果链表反向,即可完成计算。 ... [详细]
  • CentOS 系统管理基础
    本文介绍了如何在 CentOS 中查询系统版本、内核版本、位数以及磁盘分区的相关知识。通过这些命令,用户可以快速了解系统的配置和磁盘结构。 ... [详细]
  • 本文详细探讨了 PHP 中 method_exists() 和 is_callable() 函数的区别,帮助开发者更好地理解和使用这两个函数。文章不仅解释了它们的功能差异,还提供了代码示例和应用场景的分析。 ... [详细]
  • 本文详细介绍了如何解决 Microsoft SQL Server 中用户 'sa' 登录失败的问题。错误代码为 18470,提示该帐户已被禁用。我们将通过 Windows 身份验证方式登录,并启用 'sa' 帐户以恢复其访问权限。 ... [详细]
  • ListView简单使用
    先上效果:主要实现了Listview的绑定和点击事件。项目资源结构如下:先创建一个动物类,用来装载数据:Animal类如下:packagecom.example.simplelis ... [详细]
author-avatar
赵晓伟
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有