DNS and BIND 初步

DNS and bind 初步

前言

TCP/IP协议通信是针对于ip地址的,你说我要是去淘宝买东西,怎么可能记住ip地址,我要是去百度买东西,也记不住啊,所以针对于此,就出现了这样一个翻译器,起一个名字,跟ip地址对应。是多对一还是一对多呢,都可以,我几个ip指向一个网址也没问题,几个网址指向一个ip也可以。

对于反向域名解析功能等以后用到再做总结,反向域名解析功能用到电子邮件上,用来处理那些查找不到域名的垃圾邮件,直接拒绝接受,一般公司应用不到,固在先不做总结。

知识点

1、空间结构

我怎么根据一个ip地址在万军从中找到找到那个名字?设置一台DNS服务器可以嘛?我现在全球有40亿个请求等着解析百度的网站名,一台肯定不行,那多台可以嘛,可以嘛?也不可以?用户基数大,不但有读请求,还有写请求,每台服务器管多少是够?服务器也是会崩溃的

所以,DNS采用分布式数据库系统,就像原来的文件系统一样,倒装树一样。全球有13个根DNS服务器,根服务器只管顶级域,如cn,com。顶级域下面有二级域,像com下面的baidu,二级域下面的有三级域等等,以baidu.com.结尾的都属于这个二级域的,可以说是百度的吧。子域是二级域下面的,如www等。

主机名是最下面最下面的要找的主机名。大致图形自己脑补,就是倒状树。

2、DNS解析类型

正向:ip--->主机名
反向:主机名--->ip

3、DNS服务器类型

主服务器:

辅服务器:复制主服务器的数据,止可读,不可改,可以跟主的分担查询解析

缓存服务器:这个服务器是不负责域解析的

4、请求流程

client--->hosts文件--->DNS Local Cache----->DNS 服务器

--->自己负责解析的域---->直接就可以找到(自家的孩子就不用麻烦别人找了)

--->不是自己负责解析的--->先找服务器缓存找不到去找根求助,根通过迭代的方式帮你找

DNS服务器安装和配置

1、安装容易

yum 安装bind 和 bind-libs包,后面用到的可以再装

2、配置文件

主配置文件/etc/named.conf

该文件包含两部分,一个是来设置DNS服务器整体生效的内容,我们常说是全局配置,包括options,logging

还有一个是用来设置区域名、区域类型和区域文件名的,叫局部配置,从zone往后都是。


全局配置

全局配置要改几个东西:

DNS  and  BIND   初步

listen-on port 53 { 127.0.0.1; };

设置监听的DNS服务器IPv4端口和IP地址,这里要将127.0.0.1改成DNS服务器的IPv4地址

它是什么意思呢,我想的就是客户端发送请求,服务端接受请求,这叫什么啊?这叫c/s架构,c/s架构通常靠什么通信,靠套接字sockets通信,套接字是什么啊,是ip地址加端口,端口有了,53,那要ip地址。要谁的ip地址,要客户端的c的ip地址,客户端是谁啊,是我啊,我他妈天天要访问百度,我用的是什么东西,用的是虚拟机,所以ip地址是虚拟机的ip,那么端口是干什么的,端口是进程访问用的,我有你电脑的ip地址有毛用啊,我发你qq信息是发到哪里,是发到你邮箱还是qq上,这时候就要有一个端口了,就是进程地址。这么想对嘛,不对啊,我在配置DNS,我的电脑是服务器。那么少了什么东西,别人要访问我,我要干什么嘛,我要等着别人访问,这叫什么,这叫监听(linsten),所以把我的地址放在53号上面,等着别人访问,至于为什么是53号,我想大致是因为,这个53号端口是特定为这个DNS请求访问准备的吧。

然后来配置吧,把127.0.0.1(默认地址)改成我的ip地址。遇到了问题。直接改嘛?改完了为什么不行啊,找不到,上网查了一下。如上述所示,为什么啊,暂且这样记住吧。

directory

顾名思义,我的DNS服务器配置好了,数据放到哪里,就放在这里面。

allow-query

就是我设置的DNS服务器为哪些主机服务,local 就相当于只为当前主机提供了DNS解析服务,别人的DNS填我这个服务地址是没法用的。

recursion 是否设置启用递归是DNS服务器,dnssec都设置成no。

forwarders

设置DNS转发器
为什么要设置,说白了就是可以越过根,直接找另外一个厉害的DNS服务器请求。会比直接去根上找快一点
还有,假如我在公司内部设置一个DNS服务解析器,设置员工只能浏览指定的网页,这个时候就可以让其他域名在本地找不到,这个时候就可以转到一个错误的解析器上,指定错误的ip,就不能上其他的网站了。


局部配置

zone:设置区域的相关信息

区域是什么啊?magedu.com.算是一个二级域了,就是我这个DNS解析器管哪个域,为哪个域解析名字。

type:设置区域类型

区域类型是什么啊?
我如何去定义一个主DNS服务器,和一个辅DNS服务器,就要靠区域类型来决定了。

ss -tnl查看是否监听在53号端口上。


把自己的地址设置成为DNS解析器的地址

vim /etc/resdv.conf

配置完成后的测试

配置完成后,为了检验自己配的对不对,启动服务来测试一下。
启动服务:systemctl start named.service
测试:dig -t A www.baidu.com   (+trace追踪解析过程)

配置DNS区域文件(正向解析:以magedu为例)

我要想用dns管理一个域所必备的条件
有一个联网的主机
有一在互联网上注册的域可以供你来解析
有一个ip地址可以供你的域用

定义区域

1、定义区域
vim /etc/named.rfc1912.zones加一个区域
就直接如下编辑:
cat >>/etc/named.rfc1912.zones<<EOF
    区域名即为域名

DNS  and  BIND   初步

2、建立区域数据文件
怎么建立:cd /var/named/
        cat named.localhost(仿照这个文件)

DNS  and  BIND   初步

进行配置:(在/var/named目录下)
    vim magedu.com.zone

DNS  and  BIND   初步

magedu.com. IN NS ns1.magedu.com.
(表示magedu.com.这个区域的域名服务器是ns1.magedu.com.)

magedu.com.  IN  MX  10  mx1.magedu.com.
magedu.com.  IN  MX  20  mx2.magedu.com.
(表示magedu.com.当前的邮件交换主机名是mx1.magedu.com.,10表示优先级,MX记录可以有多个)

A记录,真正的解析数据库。(A表示ipv4地址)
 www.magedu.com.  IN  A   1.1.1.1
 www.magedu.com.  IN  A   1.1.1.2
 mx1.magedu.com.  IN  A   3.3.3.3
 mx2.magedu.com.  IN  A   3.3.3.3

PTR记录,用在反向解析:
有特定格式,把IP地址反过来写  如:1.2.3.4,要写作4.3.2.1;
有特定后缀:in-addr.arpa.
如:完整写法为:4.3.2.1.in-addra.arpa.

CNAME:(别名)
web.magedu.com. IN  CNAME  www.magedu.com.
 (表示www的这个主机的别名为web)

上截图是复制的,为了验证效果,再写一次:

$TTL 3600

@   IN  SOA     ns1.magedu.com.   dnsadmin.magedu.com. (
            2016120601
            1H
            10M
            3D
            1D)
    IN  NS      ns1
    IN  MX  10  mx1
    IN  MX  20  mx2
ns1 IN  A       192.168.1.109
mx1 IN  A       192.168.1.105
mx2 IN  A       192.168.1.104   
www IN  A       192.168.1.109
web IN  CNAME   www
bbs IN  A       192.168.1.107
bbs IN  A       192.168.1.105

DNS  and  BIND   初步

rndc status

DNS  and  BIND   初步

rndc reload

DNS  and  BIND   初步

之后再改权限:其它不可读:
chmod o= magedu.com.zone
测试:
dig -t A www.magedu.com.

DNS  and  BIND   初步

原创文章,作者:N24_yezi,如若转载,请注明出处:http://www.178linux.com/62830

(0)
N24_yeziN24_yezi
上一篇 2016-12-06
下一篇 2016-12-06

相关推荐

  • 20160802课堂作业

    作业: 在/data/testdir里创建的新文件自动属于g1组,组g2的成员如:alice能对这些新文件有读写权限,组g3的成员如:tom只能对新文件有读权限,其它用户(不属于g1,g2,g3)不能访问这个文件夹。 #groupadd g1 #groupadd g2 #groupadd g3 #useradd -G g2 alice #useradd -G…

    Linux干货 2016-08-04
  • 35个强大的UI设计教程

    下面是35个非常不错的UI设计的的教程及效果图,非常不错哦。不但教你如何做一些特效,同样教你如何做UI布局和界面设计。当然,他们风格迥异,也基本上都是Web页面上的。都非常不错。希望你喜欢。(点击下面的图片可以打开相关的教程) Old Paper Layout Professional Modern Web Layout Photography portfo…

    Linux干货 2015-04-01
  • rpm 程序包管理器的基本使用

    目录 安装程序包 卸载 升级 查询 校验 来源合法性和完整性验证 数据库重建 1     安装程序包 rpm -ivh /path/to/package_file -v     显示执行过程的参数。 -h   &nbsp…

    Linux干货 2016-06-22
  • 文件系统权限管理

    文件系统权限管理 文件及目录权限 文件系统上的权限是针对访问者的 访问者:     owner:属主,u     group:属组,g     other:其他,o 针对每个访问者有三种权限 r:readable w:writeable x…

    Linux干货 2016-11-05
  • 用户 组

    用户 组    在linux系统中,用户管理是基于用户名和密码的方式进行资源的分配,linux上用户Username/UID分为以下类别:    管理员: root,0    普通用户: 1-65535 普通用户分为:系统用户和登录用户两种 系统用户:1-499(cen…

    系统运维 2016-08-04
  • zabbix如何监控nginx的status

    nginx   status配置 server {                 listen      80;                 server…

    Linux干货 2016-02-19

评论列表(1条)

  • 马哥教育
    马哥教育 2016-12-14 14:13

    总结的非常好,举例也很生动,加油!