DNS服务器bind的架设笔记

bind在Linux下为主流的DNS服务器架设软件,本篇讲的是通过yum在RHEL7上安装与配置DNS服务器

  1. 通过yum在线安装bind软件,下载的版本为9.9.4
#yum -y install bind

主要文件存放路径:

/etc/named.conf    主配置文件

/var/named            区域文件存放路径

/etc/rndc.conf    /etc/rndc.key    rndc配置文件和KEY存放路径

正向区域:将FQDN地址转换为IP记录

反向区域:将IP地址反解为为FQDN

记录类型:A记录:address  域名对应的IP地址

NS记录:name server 域名服务记录,指定域名中对应的域名解析服务器所对应的服务器

一般为域名的DNS服务器,这里需配合使用A记录,成对出现

CNAME:别名记录,将不同的域名

MX记录:邮件交换记录(mail exchange),这里指定邮件交换的域名,这里有一个优先

级,数字越小,优先级越高,比如有多台邮件服务器,优先级高的服务器会先收

SOA:Start of Authority,一般书写格式为:

google.com.    IN    SOA    ns1.google.com.    adminmail.google.com

其中google.com.可以用@来代替,第四项为NS记录,最后一项为管理员邮箱,@有特殊意义,用.代替

serial    更新序列,如果序列号有变更,从服务器到了刷新时间后就会从主服务器进行同步

Refresh    刷新时长,从服务器从主服务器同步的时间间隔

Retry        重试时长,当从服务器与主服务器同步失败后,多久后会再次尝试

expire        失效时长,当从服务器与主服务器通讯失败,一直没有响应,到expire时长后,从服

器将失效,并删除区域文件

na ttl            无法解析的地址的缓存时间

默认单位为秒,可以使用M(分钟),H(小时),D(天),W(周)

TTL值:DNS缓存的时间,默认单位是秒

区域类型:

hint:根区域,一般用.表示

master:主区域

slave:从区域,声名从区域类型时,必须要指名主区域的地址masters { Master_IP; };

forward:转发区域,不负责域名解析,只将域名解析的交给指定的DNS服务器

下面以google.com为例, 本地网段为10.1.0.0/16,ns1.google.com(10.1.17.221)为NS服务器,www.googole.com(10.1.17.221),mail.google.com(10.1.17.222),www2为www的别名,首先vim /etc/named.conf

listen-on port 53 { 10.1.17.221; };  #监控的端口,可以指定某一个IP,默认为127.0.0.1
directory       "/var/named";        #定义区域文件的目录,后面的文件为相对路径
allow-query     { 10.1.0.0/16; };    #允许查询的网段,这里开放内网,如果对外可使用any
zone "google.com" IN    {
        type master;
        file "google.zone";
};
#定义正向区域,区域文件为/var/named/google.zone
zone "17.1.10.in-addr.arpa"  IN {
        type master;
        file "zone.google";
};
#定义反向区域文件,.in-addr.arpa为固定格式,前面的17.1.10为10.1.17的反写

进入到/var/named下新建google.zone文件

$TTL    7200
google.com.     IN      SOA     ns1.google.com. adminmail.google.com. (
                                2015100301
                                2H
                                5M
                                1W
                                4H )
                IN      NS      ns1
                IN      MX 10   mail
ns1             IN      A       10.1.17.221
www             IN      A       10.1.17.221
mail            IN      A       10.1.17.222
www2            IN      CNAME   WWW

编辑google.zone文件属性

#chmod 640 google.zone
#chown root:named google.zone

将google.zone复制一份为zone.google并进行编辑

#cp -p google.zone zone.google
#vim zone.google
$TTL    7200
@    IN      SOA     ns1.google.com. adminmail.google.com. (
                                2015100301
                                2H
                                5M
                                1W
                                4H )
@               IN      NS      ns1.google.com.
221             IN      PTR     ns1.google.com.
221             IN      PTR     www.google.com.
222             IN      PTR     mail.google.com.

现在检查配置文件,开放防火墙,开机启动

#named-checkconf 
#systemctl enable named
ln -s ‘/usr/lib/systemd/system/named.service‘ ‘/etc/systemd/system/multi-user.target.wants/named.service‘
#named-checkzone google.com /var/named/google.zone 
zone google.com/IN: loaded serial 2015100301
OK
#named-checkzone 17.1.10.in-addr.arpa /var/named/zone.google 
zone 17.1.10.in-addr.arpa/IN: loaded serial 2015100301
OK
# systemctl start named

使用dig解析

dig -t A www.google.com @10.1.17.221
; <<>> DiG 9.9.4-RedHat-9.9.4-14.el7 <<>> -t A www.google.com @10.1.17.221
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 53996
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;www.google.com.   IN A
;; ANSWER SECTION:
www.google.com.  7200 IN A 10.1.17.221
;; AUTHORITY SECTION:
google.com.  7200 IN NS ns1.google.com.
;; ADDITIONAL SECTION:
ns1.google.com.  7200 IN A 10.1.17.221
;; Query time: 0 msec
;; SERVER: 10.1.17.221#53(10.1.17.221)
;; WHEN: Sat Oct 03 18:16:06 CST 2015
;; MSG SIZE  rcvd: 93
dig -t NS google.com @10.1.17.221
; <<>> DiG 9.9.4-RedHat-9.9.4-14.el7 <<>> -t NS google.com @10.1.17.221
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 35541
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 2
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;google.com.   IN NS
;; ANSWER SECTION:
google.com.  7200 IN NS ns1.google.com.
;; ADDITIONAL SECTION:
ns1.google.com.  7200 IN A 10.1.17.221
;; Query time: 0 msec
;; SERVER: 10.1.17.221#53(10.1.17.221)
;; WHEN: Sat Oct 03 18:16:49 CST 2015
;; MSG SIZE  rcvd: 73

反解10.1.17.222

dig -x 10.1.17.222 @10.1.17.221
; <<>> DiG 9.9.4-RedHat-9.9.4-14.el7 <<>> -x 10.1.17.222 @10.1.17.221
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 46954
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;222.17.1.10.in-addr.arpa. IN PTR
;; ANSWER SECTION:
222.17.1.10.in-addr.arpa. 7200 IN PTR mail.google.com.
;; AUTHORITY SECTION:
17.1.10.in-addr.arpa. 7200 IN NS ns1.google.com.
;; ADDITIONAL SECTION:
ns1.google.com.  7200 IN A 10.1.17.221
;; Query time: 0 msec
;; SERVER: 10.1.17.221#53(10.1.17.221)
;; WHEN: Sat Oct 03 18:17:37 CST 2015
;; MSG SIZE  rcvd: 116
时间: 2024-10-25 13:04:30

DNS服务器bind的架设笔记的相关文章

CentOS7-1810 系统DNS服务器BIND软件配置说明

DNS的出现的历史 网络出现的早期是使用IP地址通讯的,那时就几台主机通讯.但是随着接入网络主机的增多,这种数字标识的地址非常不便于记忆,UNIX上就出现了建立一个叫做hosts的文件(Linux和Windows也继承保留了这个文件).这个文件中记录着主机名称和IP地址的对应表.这样只要输入主机名称,系统就会去加载hosts文件并查找对应关系,找到对应的IP,就可以访问这个IP的主机了.但是后来主机太多了,无法保证所有人都能拿到统一的最新的hosts文件,就出现了在文件服务器上集中存放hosts

DNS服务器原理

19.1 什么是DNS 主机名自动解析为 IP 就很重要!那就是 DNS. 19.1.1 用网络主机名取得IP的历史渊源 单一档案处理上网的年代: /etc/hosts 利用某些特定的档案将主机名与 IP 作一个对应, 如此一来,我们就可以透过主机名来取得该主机的 IP. 就是/etc/hosts 这个档案的用途了   缺憾: ip数量太多时,该档案会大到不像 主机名与IP的对应无法自动于所有计算机内更新   导致,客户端计算机每次都得要重新下载一次档案才能顺利联网:   分布式,阶层式主机名管

Linux -- 配置DNS服务器

在Linux中,DNS服务器(Domain Name Server)就是域名服务器.是由柏克莱网际域名BIND(Berkeley Internet Name Domain)软件实现的.BIND是一个客户/服务系统,其客户方面称为转换程序(resolver),用于产生域名信息的查询,将这类信息发送给服务器,DNS软件回答转换程序的查询.BIND的服务方面是一个称为named的守护进程.DNS的作用是把IP地址转化为代表主机.网络和邮件别名的助记名.它把整个IP地址和命名空间分解为不同的逻辑组来做这

centos6.7搭建主从DNS服务器

linux下构建DNS服务器BIND DNS:域名解析. 域名分类 v 顶级域由两三个字母组成的名称用于指示国家地区或使用名称的单位的类型.如 v 组织域.net, .com, .org,.mil, .edu, .gov, .cc, .mobi v 国家域.jp, .tw, .hk, .iq,.ir, .cn, .uk, .us 全球有13台根服务器 v A INTERNIC.NET美国弗吉尼亚州 198.41.0.4 v B 美国信息科学研究所美国加利弗尼亚州 128.9.0.107 v C

Linux与云计算——第二阶段 第四章:DNS服务器架设1-安装BIND

Linux与云计算--第二阶段Linux服务器架设 第四章:DNS服务器架设1-DNS基础原理和软件包安装 一般来讲域名比IP地址更加的有含义.也更容易记住,所以通常用户更习惯输入域名来访问网络中的资源,但是计算机主机在互联网中只能通过IP识别对方主机,那么就需要DNS域名解析服务了. DNS域名解析服务(Domain Name System)是用于解析域名与IP地址对应关系的服务,功能上可以实现正向解析与反向解析: 正向解析:根据主机名(域名)查找对应的IP地址. 反向解析:根据IP地址查找对

服务器架设笔记——使用Apache插件解析简单请求

一般来说,对于一个请求,服务器都会对其进行解析,以确定请求的合法性以及行进的路径.于是本节将讲解如何获取请求的数据.(转载请指明出于breaksoftware的csdn博客) 我们使用<服务器架设笔记--编译Apache及其插件>一文中的方法创建一个Handler工程--get_request.该工程中,我们可以操作的入口函数是 static int get_request_handler(request_rec *r) { r->content_type = "text/ht

架设DNS服务器 实战指南(主、从、子、定向转发多图)

一.DNS基础知识(先科普一下): 1.DNS出现的环境: TCP/IP协议通信是基于IP地址的,但是网络管理员无法记住那一串串单调的数字.因此大家基本上是通过访问计算机域名,然后通过 DNS服务器将计算机域名解析为IP地址来实现的.     2.什么是DNS: DNS:域名系统(Domain  Name  System)用于命名组织到域层次结构中的计算机和网络服务.DNS命名用于TCP/IP网络中,通过用户友好的名称查找计算机.当用户在应用程序中输入DNS名称时,DNS服务可以将此名称解析为与

【DNS服务器架设】Centos下转发DNS服务器的架设与测试

架设前的准备: 要架设DNS服务器,则必须安装可以提供DNS服务的软件程序,即bind软件,使用下面的命令即可安装: yum install -y bind-chroot bind-utis 1.修改主配置文件/etc/named.conf 此服务器的架设相对简单,即实际上是把自己这台[所谓的DNS服务器]作为一个代理,向上执行查询DNS信息,这种环境下,只需要修改/etc/named.conf这个主配置文件即可,修改如下: 上面的配置完成后使用下面的命令来启动DNS服务: /etc/init.

Linux运维实战之DNS(bind)服务器的安装与配置

上次博文我们讨论了DNS的基础,本次博文我们重点来看看如何配置一台DNS服务器. [本次博文的主要内容] bind服务器简介(包括客户端工具dig的介绍) 配置正向解析DNS服务器 配置反向解析DNS服务器 配置辅助DNS服务器并在主辅之间实现区域传送 一.BIND服务器简介: Bind是Berkeley Internet Name Domain Service的简写,它是一款实现DNS服务器的开放源码软件.Bind原本是美国DARPA资助伯克利大学(Berkeley)开设的一个研究生课题,后来