Linux 自学笔记——bind高级应用

简介:

子域授权:

      正向解析区域授权子域的方法:

           ops.claude666.com.          INNSns1.ops.claude666.com.

           ops.claude666.com.          INNSns2.ops.claude666.com.

           ns1.ops.magedu.com.      IN      AIP.AD.DR.ESS

           ns2.ops.magedu.com.      IN      AIP.AD.DR.ESS

实现原理:

      在本域名服务器上正向解析库文件中定义子域对应的dns服务器的主机名和A记录即可;

定义转发:

      注意:被转发的服务器必须允许为当前服务做递归;

1)    区域转发:仅转发对某特定区域的解析要求;

zone“zone_name”   IN {

  type forward;

  forward {first|only};

  forwards { server_ip; };

};

first:首先转发;转发器不响应时,自行去迭代查询;

only:只转发;

2)    全局转发:针对凡本地没有通过zone定义的区域查询请求,通通转给某转发器;

options{

……

forward {first|only};

   forwards { server_ip; };

};

示例:子域授权;父域主机:192.168.19.128,子域主机:192.168.19.134

父域上:

1.     父域主配置文件配置;

c0f8b08b22b7a97b78db92dfddc77d9f.png-wh_

注意:主配置文件中dnssec-enable后面需要改为no;dnssec-validation 后面也需要改为no;

2.     定义zone;

0e557cd837bf761ee3cde54636f92063.png-wh_

3.     创建区域解析库;

fcd648341e8d51e327de5159b687e723.png-wh_

4.     属组及权限修改;

209bc68d6979d4cd4cbbd5334e7a96df.png-wh_

子域上:

1.     子域主配置文件;

70bac4157b691f09c1e01095e3120526.png-wh_

2.     添加子域zone和定义区域解析库文件;

6efd4b89ac58dd096100238beb5d5050.png-wh_

3.     属组及权限修改;

0e292cce78e83c0f5a41495a227f5dc1.png-wh_

测试:

父域上:解析子域www.ops.claude.com的地址;

直接解析,出错了,出现以下情况,没有解析出来;

850bf08eec9384b756109da8e9a42270.png-wh_

在命令之后加上+norecurse;则能成功解析;

dedac4a2220c913e1b5bb513e4bcd4ce.png-wh_

子域上:

解析父域 www.claude.com;出错了,解析的不是父域地址,因此192.168.19.134也是可联网的,此解析的是网络上的地址;

0e7113527f9c0f92a7ac61357a9d556e.png-wh_

 

定义转发服务器;

1.     配置子域的/etc/named.rfc1912.zones文件,添加一下信息;

c078453a39524608f7fc326d3d7752e9.png-wh_

2.     重启服务,子域解析父域,解析成功;

7b348ec44e849118ac1f9977fab1a646.png-wh_

3.     也可定义全局转发;

0147251920c8eb171f687106587a692f.png-wh_

 

DNS中基础的安全相关的配置:

acl:访问控制列表;把一个或多个地址归并一个命名的集合,随后通过此名称即可对此集全内的所有的主机实现统一调用;

格式:

            aclacl_name {

        ip;

        net/prelen

}

示例:

acl mynet {

        172.16.0.0/16;

        127.0.0.0/8

};

bind有四个内置的acl

            none:没有一个主机;

            any:任意主机;

            local:本机;

      localnet:本机所在的ip所属的网络;

访问控制指令:

            allow-query  {};允许查询的主机:白名单;

           allow-transfer {};允许向那些主机做区域传送;默认为向所有主机;应该配置仅允许从服务器;

           allow-recursion {};允许哪些主机向当前DNS服务器发起递归查询请求;

           allow-update{};DDNS,允许动态更新区域数据库文件中的内容;

bindview:视图,将请求者根据其来源进行分类,分类后实现使用不同的区域解析库来解析对某区域主机的请求,目前主要应用CDN技术领域;

配置格式:

      view VIEW_NAME {

  match-clients{};

  zone{};

zone{};

};

一个bind服务器可定义多个view,每个view中可定义一个或多个zone;

每个view用来匹配一组客户端;

每个view内可能需要对同一个区域进行解析,但使用不同的区域解析库文件;

 

Note:

1)    一旦启用了view,所有的zone都只能定义在view中;

2)    仅有必要在匹配到的允许递归请求的客户所在view中定义根区域;

3)    客户端请求到达时,时自上而下检查每个view所服务的客户端列表;

     

示例:

内网部署了一台web服务器,要求内网用户通过dns服务器解析,解析结果为web服务器的内网地址;外网用户解析,解析结果为web服务器发布到网关的ip地址。

1.     DNS服务器主配置文件如下:/etc/named.conf

6ed18ef26279fe265f1ff55a1028f27f.png-wh_

2.     主辅配置文件配置:/etc/named.rfc1912.zones;

1)内网解析视图;

c71d269bf6a203370838b35bdbf0dc47.png-wh_

2)外网解析视图;

d33be7254722511ee2deba3e01e2ff8f.png-wh_

3.     解析库文件配置:

1)    内网解析库文件

a191b04de65081dcd9acc5a30da4a5b3.png-wh_

2)    外网解析库文件;

cd151d84487a5094d8fd2424d6038e43.png-wh_

4.     验证:

在内网主机上解析;

0fe1ead93ebd7c9ef4c709a91cb41c1e.png-wh_

在外网主机上解析:

解析地址会变成2.2.2.1和2.2.2.3;

 

手动编译bind9;

1.     准备全新的虚拟机,安装编译必备组件“development tools” “server platformdevelopment”

2.     下载bind9压缩文件,并解压缩;

6b998bfae324875f2a11e9c21b1c8fa4.png-wh_

3.     创建系统组和系统用户;

bcabafb77c6f114cbb60792aa8e421fe.png-wh_

4.     编译安装;

5fce76956c7c75280db767bac4fd39fd.png-wh_

--prefix :安装包放在统一的路径下

--sysconfdir :配置文件路径

5.     Make && make install

099f0855c37ecd675e535bdd4b513a6a.png-wh_

Note:对于所有的编译安装来说,下面的都可能用到:

      修改PATH变量,导出二进制程序的搜索路径;

      导出库文件搜索路径;

      导出头文件搜索路径;

      导出帮助文件手册搜索路径;

6.     修改PATH变量,导出二进制程序搜索路径;

02537bd4ac5aad9e7ef5c92e0fc5a5c6.png-wh_

7.     导出库文件搜索路径;

672a4526c772191e9b182bf42f70c139.png-wh_

8.     导出头文件搜索路径;

5f632042ebdd5400bb503b2011e36b15.png-wh_

9.     导出帮助文件手册搜索路径

编辑文件/etc/man.config

e95dff7915d45464094dec51f8539392.png-wh_

保存之后可以man一下named测试;

10.准备配置文件;

1)    编辑/etc/named/named.conf

f52bbf9474f7874279f9cbf2832c408f.png-wh_

2)    编辑解析库库文件;

编辑/var/named/named.ca

b080a075b6a7bd9a5eded1ece4efd85a.png-wh_

      创建localhost.zone文件,和named.local文件;

      0c5b950aff371313ae90bc30562dc359.png-wh_

11.更改属主属组,并检查配置文件、区域文件语法错误;

1)    更改属主属组;

3e2b5e13a810267c10ebcf1818894e80.png-wh_

2)    检查配置文件语法错误;

da0dada36fb37b096f25e3fb6da8470f.png-wh_

12.启动;

a5a296f566db9170b4f8a4be9f8ab5da.png-wh_

查看服务是否开启;

88093e897b1ce903ca1163a60656705f.png-wh_

13.测试;

3217ac2287a35419c4549caa97b58515.png-wh_

14.Rndc的使用;

1)    配置文件的创建;

79988ecab25252da07e1b671e2328ecd.png-wh_

2)    复制/etc/named/rndc.conf中的文件至named.conf文件中;

85c47d9f96dd4ad00b1a40c7a7f0eef7.png-wh_

3)    删除/etc/named/named.conf文件中的以下行前面的#号;

eb2d7cacefdac8c74fd6299d42ff7b1d.png-wh_

修改后的结果:

d2ca8c7841e596e37b18da8124ec0292.png-wh_

4)    测试使用;

50ef867e0c95315681577f1b78c6b935.png-wh_



本文转自 claude_liu 51CTO博客,原文链接:http://blog.51cto.com/claude666/1975563,如需转载请自行联系原作者

相关文章
|
23天前
|
Linux
linux查看应用对应的端口
linux查看应用对应的端口
15 0
|
23天前
|
网络协议 安全 Linux
linux系统安全及应用——端口扫描
linux系统安全及应用——端口扫描
36 0
|
14天前
|
Linux API C语言
FFmpeg开发笔记(一)搭建Linux系统的开发环境
本文指导初学者如何在Linux上搭建FFmpeg开发环境。首先,由于FFmpeg依赖第三方库,可以免去编译源码的复杂过程,直接安装预编译的FFmpeg动态库。推荐网站<https://github.com/BtbN/FFmpeg-Builds/releases>提供适用于不同系统的FFmpeg包。但在安装前,需确保系统有不低于2.22版本的glibc库。详细步骤包括下载glibc-2.23源码,配置、编译和安装。接着,下载Linux版FFmpeg安装包,解压至/usr/local/ffmpeg,并设置环境变量。最后编写和编译简单的C或C++测试程序验证FFmpeg环境是否正确配置。
35 8
FFmpeg开发笔记(一)搭建Linux系统的开发环境
|
18天前
|
Linux 测试技术 C语言
【Linux】应用编程之C语言文件操作
【Linux】应用编程之C语言文件操作
|
21天前
|
网络协议 Linux 网络安全
Linux服务器DNS服务器配置实现bind的正向解释和反向解释
Linux服务器DNS服务器配置实现bind的正向解释和反向解释
17 0
|
24天前
|
存储 算法 Linux
Linux中的硬链接与软链接:原理、应用与最佳实践
Linux中的硬链接与软链接:原理、应用与最佳实践
50 0
|
24天前
|
监控 算法 Unix
【Linux 异步操作】深入理解 Linux 异步通知机制:原理、应用与实例解析
【Linux 异步操作】深入理解 Linux 异步通知机制:原理、应用与实例解析
56 0
|
24天前
|
Unix Linux C++
【C/C++ 造轮子】Linux异步计时器:深入探讨和应用 (Linux Asynchronous Timers: An In-depth Exploration and Application)
【C/C++ 造轮子】Linux异步计时器:深入探讨和应用 (Linux Asynchronous Timers: An In-depth Exploration and Application)
53 1
|
11天前
|
Web App开发 Linux 网络安全
工作中常用到的Linux命令
工作中常用到的Linux命令
|
11天前
|
Web App开发 Java Linux
Linux之Shell基本命令篇
Linux之Shell基本命令篇
Linux之Shell基本命令篇