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,如需转载请自行联系原作者

相关文章
|
10月前
|
安全 应用服务中间件 网络安全
在Linux环境部署Flask应用并启用SSL/TLS安全协议
至此,你的Flask应用应该能够通过安全的HTTPS协议提供服务了。记得定期更新SSL证书,Certbot可以帮你自动更新证书。可以设定cronjob以实现这一点。
707 10
|
10月前
|
Java Linux 网络安全
Linux云端服务器上部署Spring Boot应用的教程。
此流程涉及Linux命令行操作、系统服务管理及网络安全知识,需要管理员权限以进行配置和服务管理。务必在一个测试环境中验证所有步骤,确保一切配置正确无误后,再将应用部署到生产环境中。也可以使用如Ansible、Chef等配置管理工具来自动化部署过程,提升效率和可靠性。
928 13
|
9月前
|
存储 数据采集 监控
ubuntu(linux)系统主要应用于哪些工业场景中?研维三防ubuntu系统的手持工业三防平板电脑在哪些行业中有实际应用
Ubuntu 系统凭借其独特的优势,在众多工业场景中得到了广泛应用,为工业数字化、智能化发展提供了有力支持。而研维三防基于 Ubuntu 定制系统的手持工业三防平板电脑,更是将 Ubuntu 系统的优势与工业级的性能、坚固耐用性完美结合,在电力、物流、制造等多个行业中展现出强大的应用价值,助力企业提高生产效率、优化管理流程、提升产品质量,成为推动工业现代化发展的重要力量。随着技术的不断进步与创新,相信 Ubuntu 系统以及研维三防这类工业级设备将在更多的工业领域中发挥更大的作用,为工业发展带来更多的机遇与变革。
|
12月前
|
运维 监控 中间件
Linux运维笔记 - 如何使用WGCLOUD监控交换机的流量
WGCLOUD是一款开源免费的通用主机监控工具,安装使用都非常简单,它可以监控主机、服务器的cpu、内存、磁盘、流量等数据,也可以监控数据库、中间件、网络设备
|
机器学习/深度学习 安全 Linux
Linux 主要应用领域的归纳
服务器领域 Linux在服务器领域的应用是其最为广泛和成熟的领域之一。由于其开源、稳定、高效和安全的特性,Linux成为许多企业服务器的首选操作系统。 Web服务器:Linux是Web服务器的理想选择,因为它支持Apache、Nginx等流行的Web服务器软件,这些软件在Linux上运行稳定且性能卓越。Linux服务器可以高效地处理大量并发请求,提供快速、可靠的Web服务。 数据库服务器:Linux也广泛用于数据库服务器,如MySQL、PostgreSQL和Oracle等数据库管理系统在Linux上运行良好。Linux的稳定性和安全性使得它成为存储和管理敏感数据的理想平台。 邮件服务器:Lin
780 5
|
缓存 Linux 开发者
Linux内核中的并发控制机制:深入理解与应用####
【10月更文挑战第21天】 本文旨在为读者提供一个全面的指南,探讨Linux操作系统中用于实现多线程和进程间同步的关键技术——并发控制机制。通过剖析互斥锁、自旋锁、读写锁等核心概念及其在实际场景中的应用,本文将帮助开发者更好地理解和运用这些工具来构建高效且稳定的应用程序。 ####
342 5
|
存储 安全 关系型数据库
Linux系统在服务器领域的应用与优势###
本文深入探讨了Linux操作系统在服务器领域的广泛应用及其显著优势。通过分析其开源性、安全性、稳定性和高效性,揭示了为何Linux成为众多企业和开发者的首选服务器操作系统。文章还列举了Linux在服务器管理、性能优化和社区支持等方面的具体优势,为读者提供了全面而深入的理解。 ###
|
Linux API 开发工具
FFmpeg开发笔记(五十九)Linux编译ijkplayer的Android平台so库
ijkplayer是由B站研发的移动端播放器,基于FFmpeg 3.4,支持Android和iOS。其源码托管于GitHub,截至2024年9月15日,获得了3.24万星标和0.81万分支,尽管已停止更新6年。本文档介绍了如何在Linux环境下编译ijkplayer的so库,以便在较新的开发环境中使用。首先需安装编译工具并调整/tmp分区大小,接着下载并安装Android SDK和NDK,最后下载ijkplayer源码并编译。详细步骤包括环境准备、工具安装及库编译等。更多FFmpeg开发知识可参考相关书籍。
833 0
FFmpeg开发笔记(五十九)Linux编译ijkplayer的Android平台so库
|
8月前
|
Linux 应用服务中间件 Shell
二、Linux文本处理与文件操作核心命令
熟悉了Linux的基本“行走”后,就该拿起真正的“工具”干活了。用grep这个“放大镜”在文件里搜索内容,用find这个“探测器”在系统中寻找文件,再用tar把东西打包带走。最关键的是要学会使用管道符|,它像一条流水线,能把这些命令串联起来,让简单工具组合出强大的功能,比如 ps -ef | grep 'nginx' 就能快速找出nginx进程。
894 1
二、Linux文本处理与文件操作核心命令
|
8月前
|
Linux
linux命令—stat
`stat` 是 Linux 系统中用于查看文件或文件系统详细状态信息的命令。相比 `ls -l`,它提供更全面的信息,包括文件大小、权限、所有者、时间戳(最后访问、修改、状态变更时间)、inode 号、设备信息等。其常用选项包括 `-f` 查看文件系统状态、`-t` 以简洁格式输出、`-L` 跟踪符号链接,以及 `-c` 或 `--format` 自定义输出格式。通过这些选项,用户可以灵活获取所需信息,适用于系统调试、权限检查、磁盘管理等场景。
510 137