DNS Bind服务配置解析
DNS域名解析服务(Domain Name System)是用于解析域名与IP地址对应关系的服务,功能上可以实现正向解析与反向解析:
一、DNS服务器工作模式分类:
1、主服务器:在特定区域内具有唯一性、负责维护该区域内的域名与IP地址对应关系。
2、从服务器:从主服务器中获得域名与IP地址对应关系并维护,以防主服务器宕机等情况。
3、缓存服务器:通过向其他域名解析服务器查询获得域名与IP地址对应关系,提高重复查询时的效率.
二、DNS查询方式:
1、迭代查询:
2、递归查询:
三、解析方式分类
1、正向解析,既将FQDN解析为IP.
2、反向解析,将IP解析为FQDN.
四、Bind配置文件的结构:
主程序 | /usr/sbin/named |
主配置文件 | /etc/named.conf |
区域配置文件 | /etc/named.rfc1912.zones |
zone文件的默认路径 | /var/named |
/etc/named.conf : Bind的主配置文件,用于定义全局设置,DNS的zone等相关配置。
1.options部分: options { //options段用于定义全局设置
listen-on port 53 { 127.0.0.1; };
//定义bind的监听IP地址(IPv4)
listen-on-v6 port 53 { ::1; };
//定义bind的监听IP地址(IPv6)
directory "/var/named";
//zone文件的默认路径
dump-file "/var/named/data/cache_dump.db";
//cache的备份
statistics-file "/var/named/data/named_stats.txt";
//静态文件
memstatistics-file "/var/named/data/named_mem_stats.txt";
//内存静态文件
allow-query { localhost; };
//允许谁向此DNS进行查询
recursion yes|no;
//允许递归查询 #安全相关部分: dnssec-enable yes;
dnssec-validation yes;
dnssec-lookaside auto; /* Path to ISC DLV key */
bindkeys-file "/etc/named.iscdlv.key"; managed-keys-directory "/var/named/dynamic";
}; 2.日志系统部分:
logging { //定义日志
channel myfile {
//定义channel名称
file "data/named.run";
//以文件形式存储日志
severity dynamic;
//存储日志的级别,一共7个级别从高到低分别是:crit,error,warning,notice,info(前面5个属于syslog);debug[level],dynamic(后两个属于Bind8,9独有的级别)
}; category statistics { my_file; };
//定义bind系统中各子系统的日志 //将日志发给那个channel,可以发给多个channel,一个channel只能接受一个category。 }; 3.定义zone zone "." IN { //定义Dns的zone,"."代表根区域
type hint; //定义zone的类型,根区域的类型就为hint
file "named.ca"; //指定zone文件,默认已经生成 };
二、DNS中zone文件的放置/var/named/*.zone(与named.conf中的zone对应的文件)
zone文件的书写格式:
$TTL 1D //用宏定义一个TTL默认值为1天,下面数据直接引用此值.
@ [TTL] IN SOA 主DNS服务器FQDN 管理员邮箱 ( 0 ; 序列号
1D ; 更新间隔
1H ; 更新失败后重试间隔
1W ; 过期时长
3H ) ; 否定记录保存时长 资源类型:A(IPv4), AAAA(IPv6):定义FQDN的IP
NS : 定义DNS服务器的FQDN
SOA : 起始授权(每个zone首先要定义此值)
MX: 定义邮件记录,有优先级概念(0-99),值越小优先级越高。
CNAME: 定义别名
PTR: 反向记录
单台DNS主服务器应用实验之正向解析:
查看bind版本:
[root@localhost ~]# rpm -q bind
bind-9.8.2-0.62.rc1.el6_9.4.x86_64
如果没有则安装:
#yum install -y bind bind-utils
实验环境
系统:CentOS release 6.8
软件:bind-9.8.2-0.62.rc1.el6_9.4.x86_64
服务器: IP 192.168.153.130;netmask 255.255.255.0 ;DNS 192.168.153.130;GW 192.168.153.2
我在192.168.153.130上面装的dns服务,resolv.conf 中dns的地址配置第一行为本机ip地址,在后边配置文件中的192.168.153.129为我的nginx服务器地址,nginx服务器的dns指向为192.168.153.130,这个在nginx主机nslookup时就可已用130的dns做解析了.
1.配置DNS服务器name.conf
options {
listen-on port 53 { 127.0.0.1;
192.168.153.130; // 为局域网其它机器提供Named服务,必须监听向本机IP发出的请求.
};
listen-on-v6 port 53 { ::1; }; //如不使用IPv6地址,可以删除或注释掉
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; }; //更改为any或者删除或注释掉,表示可以接受查询的来源
recursion yes; dnssec-enable yes;
dnssec-validation yes; /* Path to ISC DLV key */
bindkeys-file "/etc/named.iscdlv.key"; managed-keys-directory "/var/named/dynamic"; }; logging {
channel default_debug {
file "data/named.run";
severity dynamic;
};
}; zone "." IN {
type hint;
file "named.ca";
}; zone "music.com" IN{ //定义一个zone,zone的名字“music.com”
type master; //类型为主服务器
file "music.com.zone"; //自定义的域名到IP的正向解析配置
}; include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";
2.开始建立正向解析文件:
创建并编辑正向解析文件music.com.zone(文件名要和name.conf文件中定义的zone file名一致)
#vim /var/named/music.com.zone $TTL 1D
@ IN SOA master.music.com. email.com. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
IN NS master
master IN A 192.168.153.130
www IN A 192.168.153.129
nginx IN A 192.168.153.129
bbs IN A 192.168.153.129
3.配置完成后,检查配置文件的正确性:
[root@localhost ~]# /usr/sbin/named-checkconf -z
zone music.com/IN: loaded serial 0
zone 153.168.192.in-addr.arpa/IN: loaded serial 2010110901
zone localhost.localdomain/IN: loaded serial 0
zone localhost/IN: loaded serial 0
zone 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa/IN: loaded serial 0
zone 1.0.0.127.in-addr.arpa/IN: loaded serial 0
zone 0.in-addr.arpa/IN: loaded serial 0
4.重启服务:
[root@localhost ~]# /sbin/service named restart
Stopping named: .[ OK ]
Starting named: [ OK ]
5.nslookup解析测试:
[root@localhost ~]# nslookup
> master.music.com
Server: 192.168.153.130 //dns地址
Address: 192.168.153.130#53 Name: master.music.com //域名服务器主机名
Address: 192.168.153.130
> www.music.com
Server: 192.168.153.130
Address: 192.168.153.130#53 Name: www.music.com
Address: 192.168.153.129 //www域名对应的A记录地址
> nginx.music.com
Server: 192.168.153.130
Address: 192.168.153.130#53 Name: nginx.music.com
Address: 192.168.153.129
> bbs.music.com
Server: 192.168.153.130
Address: 192.168.153.130#53 Name: bbs.music.com
Address: 192.168.153.129
>
单台DNS主服务器应用实验之反向解析:
1.配置主区域数据文件(/etc/named.conf),追加反向解析如下内容:
zone "153.168.192.in-addr.arpa" IN{
type master;
file "192.168.153.arpa.zone";
allow-update { none; };
};
2.配置解析数据文件.
[root@localhost ~]# cd /var/named/
[root@localhost named]# vim 192.168.153.arpa.zone $TTL 1D
@ IN SOA 153.168.192.in-addr.arpa. music.com. (
2010110901
28800
14400
3600000
86400
) @ IN NS master.music.com.
130 IN PTR master.music.com 192.168.153.130 -> master
129 IN PTR www.music.com. ; 192.168.153.129 -> www
129 IN PTR nginx.music.com. ; 192.168.153.129 -> nginx
129 IN PTR img.music.com. ; 192.168.153.129 -> img
3.语法检查:
[root@localhost ~]# /usr/sbin/named-checkconf -z
4.重启服务:
[root@localhost ~]# /etc/init.d/named restart
Stopping named: [ OK ]
Starting named: [ OK ]
5.反向解析验证:
[root@localhost ~]# nslookup
> 192.168.153.129
Server: 192.168.153.130
Address: 192.168.153.130#53 129.153.168.192.in-addr.arpa name = www.music.com.
129.153.168.192.in-addr.arpa name = nginx.music.com.
129.153.168.192.in-addr.arpa name = img.music.com.
>
> 192.168.153.130
Server: 192.168.153.130
Address: 192.168.153.130#53 130.153.168.192.in-addr.arpa name = master.music.com.153.168.192.in-addr.arpa.
>
DNS CNAME记录
CNAME记录,即别名记录,我们通过设置别名记录,可以将多个名称指向同一台主机,CNAME记录的前提是必须要有一条A记录,A记录是创建CNAME记录的前提.
这样可以在ip变动的情况下,我们不用一个一个的去更改主机名到主机的A记录映射,只需要改动别名到主机的一条A记录就可以全部搞定,达到事倍功半的效果.
未使用别名(CNAME)的正向解析区域配置文件:
[root@localhost named]# vim music.com.zone
$TTL 1D
@ IN SOA master.music.com. email.com. (
; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
IN NS master
master IN A 192.168.153.130
www IN A 192.168.153.129
nginx IN A 192.168.153.129
bbs IN A 192.168.153.129
img IN A 192.168.153.129
使用别名后的区域配置文件.
[root@localhost named]# vim music.com.zone
$TTL 1D
@ IN SOA master.music.com. email.com. (
; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
IN NS master
master IN A 192.168.153.130
proxy IN A 192.168.153.129
www IN CNAME proxy
nginx IN CNAME proxy
bbs IN CNAME proxy
img IN CNAME proxy
检查并重启服务,nslookup测试验证:
[root@localhost ~]# nslookup
> img.music.com
Server: 192.168.153.130
Address: 192.168.153.130#53 img.music.com canonical name = proxy.music.com. //别名
Name: proxy.music.com
Address: 192.168.153.129
> www.music.com
Server: 192.168.153.130
Address: 192.168.153.130#53 www.music.com canonical name = proxy.music.com.
Name: proxy.music.com
Address: 192.168.153.129
>
参考文档:
https://www.cnblogs.com/zydev/p/6293745.html
http://leitelyaya.iteye.com/blog/808266
DNS Bind服务配置解析的更多相关文章
- 使用Bind服务配置DNS服务器
bind是什么 bind是DNS服务器软件 ,他的服务名称是named 功能区分: 正向解析:根据主机名查找对应的IP地址 反向解析:根据IP地址查找对应的主机名(域名) 工作形式上区分: 主服务器: ...
- centos7 dns(bind)安装配置
yum install -y bind bind-chroot bind-utils chroot是通过相关文件封装在一个伪根目录内,已达到安全防护的目的,一旦程序被攻破,将只能访问伪根目录内的内容, ...
- DNS(bind)服务器安装和配置
一.前言 DNS 域名系统(英文:Domain Name System,缩写:DNS)是因特网的一项服务.它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网.DNS使用TCP ...
- 【Linux】DNS服务-BIND基础配置(二)
BIND简介 现在使用最为广泛的DNS服务器软件是BIND(Berkeley Internet Name Domain),最早有伯克利大学的一名学生编写,现在最新的版本是9,有ISC(Internet ...
- linux 学习第十八天学习(DNS分离解析、DHCP配置、邮件服务配置)
DNS分离解析技术 yum install bind-chroot systemctl restart named systemctl enable named vim /etc/named.conf ...
- 【Linux】DNS服务-BIND基础配置
1.BIND简介 现在使用最为广泛的DNS服务器软件是BIND(Berkeley Internet Name Domain),最早有伯克利大学的一名学生编写,现在最新的版本是9,有ISC(Intern ...
- redhat enterprixe 5.0 DNS 服务配置与管理
一.了解DNS相关概念 DNS是一个分布式数据库,在本地负责控制整个分布式数据库的部分段,每一段中的数据通过客户机/服务器模式在整个网络上存取.通过采用复制技术和缓存技术使得整个数据库稳定可靠的同时, ...
- 《搭建DNS内外网的解析服务》RHEL6
首先说下: 搭建的这个dns内外网的解析,是正向解析,反向解析自己根据正向解析把文件颠倒下就ok了 第一步我们先搭建一个DNS的正反向解析(参考上篇DNS正反向解析,这是上篇做过的) 第二部才是搭建内 ...
- DNS开源服务器BIND最小配置详解<转>
一,简介 相对于存储和大数据领域,CDN是一个相对小的领域,但行行出状元,BIND就是CDN领域的蝉联N届的状元郎.BIND是一款非常常用的DNS开源服务器,全球有90%的DNS用BIND实现.值得一 ...
随机推荐
- Ubuntu首次安装后root权限解锁
在ubuntu系统下,为了安全起见,在安装过程中,系统屏蔽了用户设置root用户.导致很多用户在使用过程中不知道root密码到底是什么. 可以使用如下方法解决: 先解除root锁定,为root用户设置 ...
- User-Defined-Literal自定义字面量
c++支持多种内置类型的字面量,比如: 123u // unsigned int 1.0 // double 1.6f // float 'a' // char 4ULL // unsigned lo ...
- 内核参数SEMMSL SEMMNS SEMOPM SEMMNI参数的设置
内核参数SEMMSL SEMMNS SEMOPM SEMMNI参数的设置 转自:http://www.dbafree.net/?p=92 这四个参数自己一直没搞清楚 今天问了下同事,大概整了一下 ...
- LeetCode: Construct Binary Tree from Inorder and Postorder Traversal 解题报告
Construct Binary Tree from Inorder and Postorder Traversal Given inorder and postorder traversal of ...
- Django admin 常用方法 model 增加只读权限
1.Django admin model 设置查看权限 Django model 默认只有增加.删除.修改权限.没有查看权限 #model class Ad_Campaing(models.Model ...
- OpenCV探索之路(十七):Mat和IplImage访问像素的方法总结
在opencv的编程中,遍历访问图像元素是经常遇到的操作,掌握其方法非常重要,无论是Mat类的像素访问,还是IplImage结构体的访问的方法,都必须扎实掌握,毕竟,图像处理本质上就是对像素的各种操作 ...
- nexus 手动更改 私服包
替换 linux 私服下的 nexus 目录
- decode和encode
作者:于洋链接:https://www.zhihu.com/question/23374078/answer/69732605来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出 ...
- DLL封装Interface(接口)(D2007+win764位)
相关资料: http://blog.csdn.net/liangpei2008/article/details/5394911 结果注意: 1.函数的传参方向必须一至. DLL实例代码: ZJQInt ...
- 【转】亲测plsql Developer配置免安装oralce客户端步骤
原文地址:http://blog.csdn.net/bushy0401/article/details/11869461 再次用到Oracle了,机器上面也没有oracle客户端,还得去网上下载,直接 ...