DNS搭建

这篇文章主要介绍DNS搭建,文章内容主要包括关于DNS解析等,下面开始文章正文。

DNS全称为Domain Name Service 可以称为域名解析 默认端口:53 协议(C/S 53/udp 53/tcp) 应用层协议 名称解析的配置文件:host /etc/hosts

DNS域名: 根域: . 一个点 13个 顶级域: 组织域:.com(网络服务) .gov(政府) .edu(教育) .mil(军事) .net(网络服务) .org(非盈利组织) 国家域:.cn(中国) .tw(国家) .jp(国家) 二级域:

DNS查询类型: 递归查询 负责到底 最终给出结果

迭代查询 不负责到底 给最佳结果

解析类型: 正向解析 FQDN --> ip
FQDN 完全限定的域名 反向解析 ip --> FQDN

DNS名称解析的查询模式

1、递归查询:当收到客户端的递归查询请求后,当前DNS服务器只会向DNS客户端返回两种信息:要么是在该DNS服务器上查询到的结果,要么是查询失败,如果当前DNS服务器中无法解析名称,它并不会主动告知DNS客户端其它可能的DNS服务器,而是自行向其它DNS服务器查询并完成解析。如果其它DNS服务器解析失败,则DNS服务器将向DNS客户端返回查询失败的消息。递归即是有来有往。

2、迭代查询:迭代查询通常在一台DNS服务器向另一台服务器发出解析请求时使用。如果当前DNS收到其它DNS服务器发来的迭代查询请求并且未能在本地查询到所需要的数据,则当前DNS服务器将告诉发起查询的服务器另一台服务器的IP地址。然后,再由发起查询的DNS服务器自行向另一台DNS服务器发起查询;依次类推,直到查询到所需数据为止。如果到最后一台DNS服务器仍没有查到所需数据,则通知最初发起查询的DNS服务器解析失败。迭代的意思就是若在某地查不到,该地就会告知查询者其它地方的地址。让查询转到其它地方去查。

说白就是这样: 递归查询: 一般客户机和服务器之间属递归查询,即当客户机向服务器发出请求后,若服务器本身不能解析,则会向另外的服务器发出查询请求,得到结果后转交给客户机; 迭代查询(反复查询): 一般DNS服务器之间属迭代查询,如:若DNS2不能响应DNS1的请求,则它会将DNS3的IP给DNS2,以便其再向DNS3发出请求;

FQDN:全称域名

DNS服务器的类型: 主DNS服务:管理和维护负责解析的域内解析库的服务器

从DNS服务:从组服务器或从服务器复制(区域传输)解析库
缓存DNS服务(转发器)
    序列号:库的版本号
    刷新时间:从服务器从主服务器请求同步时间间隔
    过期时间:从服务器请求同步失败,会再次尝试时间同步
    过期时长:从服务器联系不到主服务器,多久后停止服务
“通知”机制:主服务器解析库发生变化时,会主动通知从服务器

区域传输: 完全传输:传输整个解析库 增量传输:传递解析库变化的内容 上海电信DNS 202.96.209.133

DNS解析 一次完整的查询请求经过的流程: Client(用户) -->hosts文件-->DNS Service Local Cache --> DNS Server (recursion) --> Server Cache --> iteration(迭代) --> 根--> 顶级域名DNS-->二级域名DNS…

资源记录: 记录类型: SOA:Start Of Authority,起始授权记录;一个区域解析库有且仅能有一个SOA记录,必须位于解析库的第一条记录 A:internet Address,作用,FQDN --> IP 正向解析 AAAA: FQDN --> IPv6 对应IPV6的地址 用的较少 PTR: PoinTeR,IP --> FQDN 反响解析 NS: Name Server,专用于标明当前区域的DNS服务器 CNAME:Canonical Name,别名记录 MX:Mail eXchanger,邮件交换器

SOA记录    name: 当前区域的名字,例如“chenedu.com.”    value: 有多部分组成
    (1) 当前区域的主DNS服务器的FQDN,也可以使用当前区域的名字;
    (2) 当前区域管理员的邮箱地址;但地址中不能使用@符号,一般用.替换,例如linuxedu.chenedu.com
    (3) 主从服务区域传输相关定义以及否定的答案的统一的TTL
    
    例如:
    chenedu.com. 86400 IN SOA ns.chenedu.com. nsadmin.chenedu.com. (    2015042201 ;序列号
    2H ;刷新时间
    10M;重试时间
    1W;过期时间
    1D;否定答案的TTL值
    )NS记录    name: 当前区域的名字    value: 当前区域的某DNS服务器的名字,例如ns.chenedu.com.;
    注意:一个区域可以有多个NS记录;
   
    例如:    chenedu.com.INNS ns1.chenedu.com.    chenedu.com.INNS ns2.chenedu.com.
    
    注意:
    (1) 相邻的两个资源记录的name相同时,后续的可省略
    (2) 对NS记录而言,任何一个ns记录后面的服务器名字,都应该在后续有一个A记录    
MX记录    name: 当前区域的名字    value: 当前区域的某邮件服务器(smtp服务器)的主机名
    一个区域内,MX记录可有多个;但每个记录的value之前应该有一个数字(0-99),表示此服务器的优先级;数字越小优先级越高
    
    例如:    chenedu.com.INMX 10 mx1.chenedu.com.    IN MX 20 mx2.chenedu.com.
    
    注意:
    (1) 对MX记录而言,任何一个MX记录后面的服务器名字,都应该在后续有一个A记录    
A记录    name: 某主机的FQDN,例如www.chenedu.com.    value: 主机名对应主机的IP地址;
    
    例如:    www.chenedu.com.IN A 1.1.1.1
    www.chenedu.com.IN A2.2.2.2
    mx1.chenedu.com. IN A3.3.3.3
    mx2.chenedu.com. IN A4.4.4.4
    
    注意:
    *.chenedu.com. IN A 5.5.5.5
    chenedu.com.IN A6.6.6.6
    避免用户写错名称时给错误答案,可通过泛域名解析进行解析至某特定地址    
AAAA:    name: FQDN
    value: IPv6
    PTR:    name: IP,有特定格式,把IP地址反过来写,1.2.3.4,要写作4.3.2.1;而有特定后缀:in-addr.arpa.,所以完整写法为:4.3.2.1.in-addra.arpa.    value: FQDN
    
    例如:
    4.3.2.1.in-addr.arpa. IN PTR www.magedu.com
    简写成:如1.2.3为网络地址,可省
    4 IN PTR www.chenedu.com.
    注意:网络地址及后缀可省略;主机地址依然需要反着写    
CNAME:别名记录    name: 别名的FQDN
    value: 真正名字的FQDN;
    
    例如:    www.chenedu.com. IN CNAME websrv.chenedu.com.

DNS安装服务: 塔建主DNS 正向解析 在搭建时参考/etc/namednamed.localhost 的文件 一、BIND安装: DNS服务程序包 bind unbound centos7 上两个包都有 都可以当DNS

yum -y install bind 

systemctl start named centos 7systemctl enable named 开机自动启动

service nmaed start centos 6chkconfig named on 开机自动启动

ss -tnl 查看 53端口是否打开

刚搭建的DNS外界是无法访问的 ,只能内部访问 默认的外部无法访问

二、配置文件修改 在修改文件之间先备份一个以防万一 cp /etc/named.conf /etc/named.conf.bak 修改/etc/named.conf的配置文件 将127.0.0.1的地址修改一下成 localhost 修改的原因是本主机的所有IP地址都可以访问

vim /etc/named.confoptions {
    listen-on port 53 { localhost; };     绑定在哪个ip的53端口
    listen-on-v6 port 53 { ::1; };
    directory       "/var/named";
    dump-file       "/var/named/data/cache_dump.db";
    statistics-file "/var/named/data/named_stats.txt";
    memstatistics-file "/var/named/data/named_mem_stats.txt";
    allow-query     { any; };
    allow-transfer { 192.168.148.122; };    指定从服务器地址
   
    
systemctl reload named 在重新读取一下

ss -tnl 查看端口
State      Recv-Q Send-Q                     Local Address:Po

LISTEN 0 10 172.20.10.13:53
LISTEN 0 5 192.168.122.1:53
LISTEN 0 10 127.0.0.1:53

/etc/named.rfc1912.zones   单独存放数据的配置文件

vim /etc/named.rfc1912.zones   添加数据
zone "chen.com" IN {
    type master;
    file "chen.com.zone";
};

vim /etc/named/chenedu.com.zone    
@   IN SOA ns1.chenedu.com.  admin.chenedu.com (                                    20170106001
                                    1D  刷新时间    1天                                    5M  重试时间    5分钟    
                                    1W  过期时间    1周                                    1H  否定时间    1个小时
                                    )       
        NS      ns1                                 NS记录
ns1     A       172.20.10.13   本机ip地址           本域
websrv  A       172.20.10.4     测试地址  centso6    
websrv  A       1.1.1.1         www   CNAME websrv                                  地址类型
@      MX   10  mx1.chenedu.com.        
mx1     A       172.20.10.13

搭建完成之后 systemctl reload named.service tail /var/log/messages 查看日志是否正常 也可以named-checkzone "chenedu.com" /var/named/chenedu.com.zone root@MiWiFi-R1CM-srv named]# tail /var/log/messages Jan 6 22:36:37 localhost named[1494]: automatic empty zone: A.E.F.IP6.ARPA Jan 6 22:36:37 localhost named[1494]: automatic empty zone: B.E.F.IP6.ARPA Jan 6 22:36:37 localhost named[1494]: automatic empty zone: 8.B.D.0.1.0.0.2.IP6.ARPA Jan 6 22:36:37 localhost named[1494]: reloading configuration succeeded Jan 6 22:36:37 localhost named[1494]: reloading zones succeeded Jan 6 22:36:37 localhost named[1494]: all zones loaded Jan 6 22:36:37 localhost named[1494]: running

在测试的主机先指定DNS ip地址: vim /etc/sysconfig/network-scripts/ifcfg-eth0 DNS1=192.168.31.164 service network reload [root@localhost ~]# digwww.chenedu.com 在另外一台主机 测试成功

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.37.rc1.el6 <<>> www.chenedu.com ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 23681 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 2

;; QUESTION SECTION: ;www.chenedu.com. IN A

;; ANSWER SECTION: www.chenedu.com. 86268 IN A 124.16.31.151

;; AUTHORITY SECTION: chenedu.com. 172667 IN NS ns2.dnbiz.com. chenedu.com. 172667 IN NS ns1.dnbiz.com.

;; ADDITIONAL SECTION: ns1.dnbiz.com. 172667 IN A 205.164.14.67 ns2.dnbiz.com. 172667 IN A 205.164.14.79

;; Query time: 2 msec ;; SERVER: 172.20.10.11#53(172.20.10.11) ;; WHEN: Fri Aug 29 12:08:27 2008 ;; MSG SIZE rcvd: 123

DNS 搭建反响解析:

一、先键/etc/named.rfc1912.zones vim /etc/named.rfc1912.zones zone "31.168.192.in-addr.arpa" IN { type master; file "192.169.31.zone"; };

二、在搭建时参考:/etc/named/named.loopback文件来搭建 vim /var/named/192.169.31.zone $TTL 1D @ IN SOA ns1.chenedu.com. admin.chenedu.com. ( 2017010601 1D 1H 1W 3H ) NS ns1.chenedu.com. 164 PTR ns1.chenedu.com. 120 PTR websrv.chenedu.com. 101 PTR popchenedu.com.

chgrp named 192.169.31.zone 修改一下权限 chmod 640 192.169.31.zone 建议修改权限防止普通用户删除修改 systemctl reload named.service

tail /var/log/messages 查看日志有什么错误 named-checkconf 测试 是否有问题 named-checkzone named-checkzone "31.168.192.iu-addr.arpa" /var/named/192.169.31.zone

切换主机测试: [root@localhost ~]# dig -x www.chenedu.com

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.37.rc1.el6 <<>> -x www.chenedu.com ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 38643 ;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0

;; QUESTION SECTION: ;com.chenedu.www.in-addr.arpa. IN PTR

;; AUTHORITY SECTION: in-addr.arpa. 3600 IN SOA b.in-addr-servers.arpa. nstld.iana.org. 2016110826 1800 900 604800 3600

;; Query time: 1236 msec ;; SERVER: 10.88.100.56#53(10.88.100.56) ;; WHEN: Sat Aug 30 04:04:49 2008 ;; MSG SIZE rcvd: 114

在centos6 上搭建一个从的DNS服务器 先把bind的包安装好 编辑 vim /etc/named.conf options { listen-on port 53 { localhost; }; listen-on-v6 port 53 { ::1; }; directory "/var/named"; dump-file "/var/named/data/cache_dump.db"; statistics-file "/var/named/data/named_stats.txt"; memstatistics-file "/var/named/data/named_mem_stats.txt"; allow-query { any; }; recursion yes; allow-transfer { none;}; 禁止普通用户抓包

在添加从的服务: vim /etc/named.rfc1912.zones zone "chenedu.com" { type slave; masters { 192.168.148.242;}; file "slaves/cheneduslaves.zone"; };

测试:[root@localhost ~]# dig www.chenedu.com; <<>> DiG 9.9.4-RedHat-9.9.4-29.el7 <<>> www.chenedu.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 5499;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 3;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096;; QUESTION SECTION:
;www.chenedu.com.               IN      A

;; ANSWER SECTION:
www.chenedu.com.        82578   IN      A       124.16.31.151;; AUTHORITY SECTION:
chenedu.com.            168977  IN      NS      ns2.dnbiz.com.
chenedu.com.            168977  IN      NS      ns1.dnbiz.com.

;; ADDITIONAL SECTION:
ns1.dnbiz.com.          68651   IN      A       205.164.14.67ns2.dnbiz.com.          68651   IN      A       205.164.14.79;; Query time: 11 msec
;; SERVER: 10.88.100.56#53(10.88.100.56);; WHEN: Sat Jan 07 18:54:37 CST 2017;; MSG SIZE  rcvd: 134

主从同步的原理 TCP53的端口来同步的

子域授权:每个域的名称服务器,都是通过其上级名称服务器在解析库进行授权

如何搭建子域: (在同一个主机创建子域) 一、在/etc/named.rfc1912.zones 下创建 vim /etc/named.rfc1912.zones zone "sports.chenedu.com" IN {sports.chenedu.com 一个名字可自己定义
type master; file "sports.chenedu.com.zone"; 创建子域的文件名 };

二、在/vat/named/sports.chenedu.com.zone  创建数据库
$TTL 1D
@       IN SOA sports.chenedu.com.      admin.chenedu.com. (                                                        2017010803
                                                        1D                                                        2M                                                        1W                                                        1H
                                                        )
        NS      ns1
        NS      ns2
ns1     A       192.168.148.121ns2     A       192.168.148.122websrv  A       192.169.148.121websrv  A       192.168.148.122www     CNAME   websrv
@       MX      10      mx1
mx1     A       192.169.148.121

systemctl reload named.service 重启服务

三、测试 dig sports.chenedu.com[root@localhost ~]# dig sports.chenedu.com    成功

; <<>> DiG 9.9.4-RedHat-9.9.4-29.el7 <<>> sports.chenedu.com;; global options: +cmd;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 25988
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 3

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;sports.chenedu.com.            IN      A;; ANSWER SECTION:sports.chenedu.com.     86390   IN      A       124.16.31.151;; AUTHORITY SECTION:chenedu.com.            86262   IN      NS      ns1.dnbiz.com.chenedu.com.            86262   IN      NS      ns2.dnbiz.com.

;; ADDITIONAL SECTION:ns1.dnbiz.com.          164644  IN      A       205.164.14.67ns2.dnbiz.com.          164644  IN      A       205.164.14.79;; Query time: 6 msec;; SERVER: 10.88.100.56#53(10.88.100.56)
;; WHEN: Sun Jan 08 17:53:09 CST 2017
;; MSG SIZE  rcvd: 137

如何在单独一台主机上搭建子域: 在centos6 上搭建 ip 192.168.148.122 子域 名称tc.chenedu.com

tc NS ns1.tc
ns1.tc  A   192.168.148.122一、目录
vim /var/named.rfc1912.zones 
zone "tc.chenedu.com" IN {   
        type master;
        file "tc.chenedu.com.zone";
};

二、创建数据库:
vim /var/named/tc.chenedu.com.zone
$TTL 86400      ; 1 day
@       IN SOA  ns1.tc.chenedu.com. admin.tc.chenedu.com. (                                2017010804 ; serial                                86400      ; refresh (1 day)                                300        ; retry (5 minutes)                                604800     ; expire (1 week)                                3600       ; minimum (1 hour)
                                )
        NS      ns1
ns1     A       192.168.148.122websrv  A       192.168.148.122
        A       192.168.148.121www     CNAME websrv

service namde reload 重读一下

下面直接测试即可;

有什么问题可以私信 QQ1325426691

本文出自 “linux” 博客,请务必保留此出处http://001230.blog.51cto.com/11559496/1890592

文章内容就介绍到这儿,文章由web开发乐园收集自网络,希望对您有参考价值。

您可以选择一种方式赞助本站

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: