配置DNS服务

DNS:Domain Name System:域名系统

DNS:Domain Name System:域名系统

域名和IP地址相互映射的一个分布式数据库,使用户使用域名更方便的访问互联网,不用去记更利于机器读取的IP地址,域名解析由DNS服务器提供。

DNS服务器的类型:

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

  • 从DNS服务器:从主服务器或从服务器“复制”(区域传输)解析库副本

  • 缓存DNS服务器(转发器)

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

搭建域名解析服务器:
1.安装bind

相关软件包:bind、bind-chroot
]# yum install bind bind-chroot

  • BIND的服务名是 named,DNS默认协议是TCP与UDP协议,启动后会占用53/udp/tcp,953/tcp这两个端口号

    953是rndc的端口,rndc是控制Bind启动、关闭等行为的工具
     rndc status|reload

  • 若安装了bind-chroot,此时BIND的主配置文件会被封装到一个伪根目录内(安全目的),此时配置文件(链接)位置为:
    /var/named/chroot/etc/named.conf   BIND服务主配置文件
    /var/named/chroot/var/named/*.zone    域的zone配置文件

  • 默认配置文件:
    主配置文件:/etc/named.conf
    区域配置文件:/var/named/*.zone


2.配置DNS服务器:

主配置文件:/etc/named.conf

1.options {
2.    listen-on port 53 { 1localhost; };    监听的端口及地址;localhost表监听本机所有地址
3.    directory   "/var/named";        域文件的存放位置
4.    dump-file   "/var/named/data/cache_dump.db";
5.    statistics-file "/var/named/data/named_stats.txt";
6.    memstatistics-file "/var/named/data/named_mem_stats.txt";
7.    allow-query     { any; };    特定主机可发起查询,any表所有可查
8.    allow-transfer { none; };    设置允许指定主机抓取所有记录
9.    recursion yes;
10.
11.//  dnssec-enable yes;         安全相关可注释
12.//  dnssec-validation yes;       安全相关可注释
13.
14./* Path to ISC DLV key */
15.    bindkeys-file "/etc/named.iscdlv.key";
16.    managed-keys-directory "/var/named/dynamic";
17.};
18.
19.// 根服务器定义
20.zone "." IN {
21.    type hint;
22.    file "named.ca";
23.};
24.// 包含配置文件
25.include "/etc/named.rfc1912.zones";    可在该文件中定义域
26.include "/etc/named.root.key";

配置一个域名的解析:

  1. 在配置文件中添加域定义  /etc/named.conf 或 /etc/named.rfc1912.zones中

  2. 添加该域的zone文件至/var/named/xx.zone

主配置文件添加域定义:
]# vi /etc/named.rfc1912.zones添加:

1.//正向解析域定义
2.zone "rick.com" IN {
3.    type master;     类型 master|slave|hint|forward
4.    file "rick.zone";    必须与/var/named/ 目录下区域解析文件名相同
5.};
6.   //反向解析域定义,反写的网段地址.in-addr.arpa
7.zone "1.10.in-addr.arpa" IN {
8.    type master;    
9.    file "10.1.zone";
10.};

创建正向区域配置文件:

区域数据库文件各指令解释:

$TTL:允许客户端缓存来自查询的数据的默认时间,单位秒
 $ORIGIN:自动补全

资源记录类型:

A,AAAA,PTR,SOA,NS,CNAME,MX  
 SOA:Start Of Authority,起始授权记录;一个区域有且只能有一个SOA记录,须为第一条
 NS:Name Service,域名服务器记录;一个区域解析库可以有多个NS记录,其中一个为主
 A:Address,地址记录,FQDN > IPv4
 AAAA:FQDN > IPv6
 CNAME:Canonical Name,别名记录
 PTR:Pointer,IP > FQDN 反向解析
 MX:Mail eXchanger,邮件交换器;邮件记录必须有优先级:0-99,小优先级高

]# vi /var/named/rick.zone

1.$TTL 86400
2.$ORIGIN rick.com.
3.    IN     SOA    ns1.zz.com    root.zz.com. (
4.        16102204;序列号,可自定义;主服务器解析库变化时序列递增
5.        2H;与主服务器同步时间间隔
6.        20M;同步失败重试时长
7.        1W;无法联系主服务器时,多久后停止服务
8.        1D )否定答案TTL
9.            IN  NS    ns1.zz.com.  
10.ns1.zz.com. IN  A     10.1.235.6
11.www         IN  A     10.1.235.54

1.TTL可以从全局继承
 2.@可表示当前区域的名称
 3.相邻两条记录name相同时,后面可省略
 4.同一个名字可以有多条记录定义多个不同的值;DNS服务器会以轮询方式响应
 5.区域文件属性应修改为
         -rw-r—– 1  root named 149 Sep 22 16:02 NAME.zone

反向解析:
]# vi /var/named/10.1.zone   主要为PTR记录

1.$TTL 86400
2.$ORIGIN 1.10.in-addr.arpa.
3.@    IN    SOA   ns1.zz.com.   root.zz.com.  ( 16101602 2H 10M 1W 1D )
4.         IN      NS     ns1.zz.com.
5.6.235    IN      PTR    ns1.zz.com.
6.54.235   IN      PTR    www.rick.com.

主配置文件语法检查:
]# named-checkconf
解析库文件语法检查:
]# named-checkzone rick.com  /var/named/rick.com
]# named-checkzone 1.10.in-addr.arpa  /var/named/10.1.zone
启动服务:
service named start


对DNS配置完成后就可以测试了,linux下有下列几个测试工具:

  • dig

  • host

  • nslook

# dig [+trace] [-t A|AAAA..] name [@server]
   @server:指定主机解析
   +trace:跟踪解析过程
   -t:指定类型
   -x:反向解析 不一定存在

]# dig -t axfr .1.10.in-addr.arpa @10.1.252.54
]# dig -t ptr 33.252.1.10.in-addr.arpa @10.1.252.54

# host [-t RR_type] name [server_IP]

]# host -t NS zjj.com @127.0.0.0

# nslookup [-options] [name] [server]   lnx/win
       交互模式:
           nslookup
               >server IP  指明使用哪个DNS server进行查询
               >set q=RR_type  指明查询的资源记录类型
               >NAME  要查询的名称

管理:
# rndc named服务控制命令:start|stop|reload|status    状态|flush    清空缓存

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

(0)
JasperJasper
上一篇 2016-10-24 09:08
下一篇 2016-10-24 09:08

相关推荐

  • Linux终端类型

    Linux终端类型 关键字:linux终端,串行终端ttySn;伪终端pty;控制终端tty;控制台终端console 要想与Linux打交道,就必须学会使用Linux终端。所谓Linux终端,其实也就是一种控制台,一种字符设备,通常用tty标识,它是用户和Linux内核交互的平台,用户能在平台上通过各种指令操作Linux。终端的特殊设备文件一般分为以下几种…

    Linux干货 2016-10-19
  • 用户和组相关的配置文件总结

    前言: 在用户管理,组管理过程中,最基本的四个文件就是/etc下面的passwd,shadow,group,gshadow。他们记录了与用户和组相关的信息。是学习和深入了解用户,组的基本。 除了这些基本的配置文件 还有与初始化相关的配置文件。定义用户添加时初始状态的配置文件/etc/default/useradd。 以及用户家目录的内容文件参考目录/etc/…

    Linux干货 2016-10-24
  • 马哥教育网络班21期-第一周课程练习

    第一周课程练习 1、描述计算机的组成及其功能?         1.1 现代主流的计算机(冯·诺依曼体系)主要由五部分组成,分别是控制器、运算器、存储器、输入和输出设备。控制器和运算器对应我们现实计算机看到的CPU,存储器对应内存和硬盘等存储设备,输入设备对应鼠标键盘等其它外设,输出设备对应显示器、音响、打印机等其它外…

    Linux干货 2016-06-26
  • 四.Linux博客-2016年7月26日ls、通配符、touch、cp、mv、rm、mkdir

    格式说明: 操作 概念 命令 说明及举例 四.ls、通配符、touch、cp、mv、rm、mkdir du -sh /sys 查看文件、文件夹大小 /sys/class/scsi_host/host2/scan 在线扫盘(新加硬盘执行这个命令后才能发现) stat /etc/issue 更详细的看数…

    Linux干货 2016-08-23
  • Nginx反向代理、负载均衡的实现

    概述:     上篇介绍了Nginx作为web服务器的一些常用配置的说明,但是在实际生产环境中,Nginx更多是作为前端的负载均衡器,反代前端用户请求到后端真实的web服务器上,完成LNAMP的组合的方式存在。本篇就介绍一些Nginx作为http的反向代理和前端负载均衡调度器的一些常用配置,具体包括:  &n…

    Linux干货 2016-11-01
  • N26-第四周博客

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。 [root@localhost skel]# cp -r /etc/skel /home/tuser1[root@localhost skel]# chmod -R go=— /home/tuser1 2、编辑/etc/…

    系统运维 2017-02-08