ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

Linux的bind服务

2022-02-07 19:34:50  阅读:191  来源: 互联网

标签:IP 服务 bind Linux named 域名 区域 IP地址 服务器


以下的讲解是bind服务结合chroot之后

1、配置主配置文件

首先我们需要配置主配置文件,主配置文件可以将/etc/named.conf 这个文件复制到/var/named/chroot/etc目录下,这个文件我们需要修改的地方就是修改下面两个红线的地方。

第一个红线代表服务器上哪些地址在监听53号端口,第二个红线代表允许哪些地址可以进行地址查询。

2、然后配置进行区域的添加

区域的添加可以直接在主配置文件上进行,也可以使用include,然后在另一个文件上面进行,在主配置文件的底部就有一个include的文件专门给我们去添加区域。如下图红线上方的文件。

3、添加区域的语法

(1)正向主区域的添加:

zone "区域名" {

type master;

file "区域文件名";

allow-transfer { [网段|单个IP|域名|any]|none; }; //指定哪些主机可以接受来自该server的区域信息的传送

allow-update { [网段|单个IP|域名|any|none]; };  //指定了允许哪些主机提交该区域的动态DNS更新。默认是拒绝来自所有主机的更新。

};

(2)逆向主区域的添加

zone "区域名.in-addr.arpa" {

type master;

file "区域文件名";

allow-transfer { [网段|单个IP|域名|any|none]; }; //指定哪些主机可以接受来自该server的区域信息的传送

allow-update { [网段|单个IP|域名|any|none]; };  //指定了允许哪些主机提交该区域的动态DNS更新。默认是拒绝来自所有主机的更新。

};

(2)辅助区域的添加:

zone "区域名" {

type slave;

file  "slaves\区域文件名" 

masters { IP地址1;IP地址2;....IP地址n; }; //主服务器的IP地址

allow-transfer { [网段|单个IP|域名|any|none]; }; //指定哪些主机可以接受来自该server的区域信息的传送
allow-update-forwarding { [网段|单个IP|域名|any|none]; }; //指定哪些主机可以通过该从DNS服务器去进行主DNS服务器的DNS记录资源的更新

};

(3)转发区域的添加:

部分转发

zone "区域名" {

type forward;

forwarders { IP地址1;IP地址2;....IP地址n; };

forward 【first|only】;

};

其中first代表先转发给其他DNS服务器,不行的话再自己来,only代表只转发给其他服务器,自己不做任何操作。

(4)全部转发:

也可以直接在主配置文件上输入:forwarders { IP地址1;IP地址2; };这样就代表不管是什么查询都直接转发给别的DNS服务器。

下面的图片是正反主区域的两个例子:

下面两个是对应着上图的正反辅助区域的例子

 

 

4、区域文件的语法

区域文件的存储位置在/var/named/chroot/var/named,相关配置在主配置文件中定义。

首先区域文件的名字一定和主配置文件中定义的区域文件名相同,比如file xxx ,那么在var/named中创建的区域文件名也要叫xxx。

我们可以直接将/var/named/chroot/var/named目录中的其他区域文件模板复制过来然后直接使用即可,比如named.localhost文件。

下面是一个正向区域的区域文件

第一行的TTL代表的是该记录在客户机上存活的时间,也就是在缓存中存在的时间,改图的存活时间是一天,D是天,H是小时,W是星期。

第二行要改的地方只有SOA的后面,后面要跟上两个域名,第一个是本区域的域名,第二个是管理的邮箱号,但是邮箱号的@被切换为了“.” ,

第三行是序列号,用于主从服务器进行数据的更新的,从服务器会从主服务器上下载区域文件,然后当设定的时间到后会去比对它们的序列号值,当主服务器上的序列号比较大的时候,就要从主服务器上进行相关数据的下载。

第四行代表多久进行一次比对和数据的刷新

第五行代表如果比对或者数据的刷新失败的话,过多久再试一次

第六行代表如果从服务器和主服务器彻底失去联系后,它的数据还能有效多久

第七行代表的是无效解析的缓存时间

PS!!!:注意区域文件里面出现的域名的尾部都要以"."结尾。

其中的IN我们可以将它看作是一个固定格式,其实这个东西不写也可以,但是就是好看

IN  NS my.fuck.com. :这一行是无论正向区域文件还是反向区域文件都要添加的一行,这一行书写了改区域内的域名服务器的域名,而NS代表着这个my.fuck.com这个主机是一个域名服务器。

 my.fuck.com.  IN  A  192.168.1.11 :这一行的最左边是域名,IN是固定格式,A代表着该资源的类型,标识这条记录是记录着一个IPv4的主机正向域名,最右边是它对应的IP地址。如果想要添加正向记录按这个格式添加就可以了。

别名记录的添加:AA.fuck.com IN  CNAME  BB.fuck.com ,最左边的是域名,IN是固定格式,CNAME是资源类型,标识该记录是别名记录,BB.fuck.com是AA.fuck.com的真实域名记录,而AA.fuck.com只是一个别名。

5、主从区域传送

1、在主服务器主配置文件的区域信息中添加allow-transfer { 允许的主机的IP  };

2、在从服务器上安装BIND服务,然后将基础环境部署完成

3、在从服务器上的主配置文件中加入辅助区域(语法如下:)

zone "区域名" {

type slave;

file  "slaves\区域文件名" 

masters { IP地址1;IP地址2;....IP地址n; }; //主服务器的IP地址

allow-transfer { [网段|单个IP|域名|any]; }; //指定哪些主机可以接受来自该server的区域信息的传送
allow-update-forwarding { [网段|单个IP|域名|any]; }; //指定哪些主机可以通过该从DNS服务器去进行主DNS服务器的DNS记录资源的更新

};

4、当1,2,3步骤都做了之后,我们还要注意/var/named/chroot/var/named/slaves目录对于named用户来说是否有写的权限,因为named用户需要将主服务器上获取到的区域文件放在slaves目录中,如果没有服务虽然会起来,但是slaves目录中是没有任何东西。如果权限都有之后,且主服务器的相关配置以及生效,我们只要重启从服务器上的bind服务,就可以看到对应的区域文件了。

6、根据IP地址区分DNS解析

这里使用view语法和zone语法结合,先来看一个例子:

我们在外面使用view "view名" {  } 将所有的zone包括在里面,注意外面我把根域的zone也包括在里面了,这是view的语法规定,所有的zone都要在view里面。然后看例子中的

match-clients { 【网段|单个IP|any|none】 };这条语句的作用是当查询者的IP是花括号里面的IP的时候,就使用该view中的区域文件,如果不满足,那么要么使用其他view的区域文件,要么就不使用任何的区域文件。如果该语句没有加,那么默认是允许所有人都使用该view中的区域文件。

match-destinations { address_match_list } ;

match-recursive-only { yes_or_no } ;

上面是其他两个限制语句match-destinations 代表我根据查询者要查询的目标来区分和限制,match-recursive-only表示我要根据用户是否要求进行递归查询来区分和限制。

 我们可以根据不同的区域的客户IP,然后准备两份DNS区域文件,通过我们精心设计区域文件中的内容,可以让客户根据域名解析到离自己更近的服务器,这样可以加强客户的使用体验。

标签:IP,服务,bind,Linux,named,域名,区域,IP地址,服务器
来源: https://blog.csdn.net/qq_47529104/article/details/122812399

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有