bind域名dns解析及主从服务的配置
bind域名dns解析及主从服务的配置
1、dns解析介绍
人们习惯记忆域名,但机器间互相只认IP地址,域名与IP地址之间是多对一的关系,一个ip地址不一定只对应一个域名,且一个域名只可以对应一个ip地址,它们之间的转换工作称为域名解析,域名解析需要由专门的域名解析服务器来完成,整个过程是自动进行的。
2、dns解析流程
首先,客户端发出DNS请求翻译IP地址或主机名。DNS服务器在收到客户机的请求后:
(1)检查DNS服务器的缓存,若查到请求的地址或名字,即向客户机发出应答信息;
(2)若没有查到,则在自身配置中查找,若查到请求的地址或名字,即向客户机发出应答信息;
(3)若没有查到,则将请求发给根域DNS服务器,并依序从根域查找顶级域,由顶级查找二级域,二级域查找三级,直至找到要解析的地址或名字,即向客户机所在网络的DNS服务器发出应答信息,DNS服务器收到应答后现在缓存中存储,然后,将解析结果发给客户机。
(4)若没有找到,则返回错误信息。
示意图来源:https://www.cnblogs.com/geaozhang/p/7010353.html
Windows下查看dns缓存的方法:
cmd——>ipconfig /displaydns
Chrome浏览器查看dns缓存的方法:
地址栏——>chrome://net-internals/#dns
3、域名分类
. 根域名
com. 顶级域名
qq.com. 一级域名
www.qq.com 二级域名
.com后缀:国际通用顶级域名,也是目前使用最为广泛的域名,Commercial organizations它后缀的含义是代表商业组织机构
.net后缀:国际通用域名,也是目前国际广泛流行的域名,Network operations and service centers后缀代表网络服务机构
.cn后缀:中国国家级顶级域名,也是在国内广泛使用的域名 ,后缀表示含义为中国企业互联网标识
.org域名:国际顶级域名,是目前国际广泛使用的域名,Other organizations后缀含义代表是非盈利性组织
.top域名:国际顶级域名,作为目前最流行的最热闹的新型后缀域名,.top寓意为顶级排名、高端、突破,可以用于任何组织和个人
.gov:Governmental entities,政府部门
.edu:Educational institutions,教研机构
4、dns服务的角色
dns授权服务器
dns缓存服务器
dns客户端
dns根域名服务器:全世界只有13台(这13台根域名服务器名字分别为"A"至"M"),1个为主根服务器在美国。其余12个均为辅根服务器,其中9个在美国,欧洲2个,位于英国和瑞典,亚洲1个位于日本)
5、使用bind提供域名解析服务
bind是一款开放源码的DNS服务器软件,Bind由美国加州大学Berkeley分校开发和维护的,全名为Berkeley Internet Name Domain它是目前世界上使用最为广泛的DNS
本文以域名www.baidu.com解析到10.0.0.61为例
5.1 安装
yum install bind –y
5.2 配置
主配置文件vim /etc/named.conf
[root@m01 ~]# vim /etc/named.conf
options {
listen-on port 53 { any; }; #服务器上的所有IP地址均可提供DNS域名解析服务
directory "/var/named";
allow-query { any; }; #允许所有人对本服务器发送DNS查询请求
};
zone "baidu.com" IN {
type master;
file "baidu.com";
};
数据配置文件
cd /var/named/ #进入到named目录下
cp named.localhost baidu.com #拷贝已有的named文件并重命名为baidu.com
chown root.named baidu.com #修改文件的属主跟属组
vim baidu.com
[root@m01 ~]# cd /var/named/
[root@m01 named]# ls
data dynamic named.ca named.empty named.localhost named.loopback slaves
[root@m01 named]# cp named.localhost baidu.com
[root@m01 named]# chown root.named baidu.com
[root@m01 named]# ll baidu.com
-rw-r----- 1 root named 152 May 3 15:57 baidu.com
[root@m01 named]#
[root@m01 named]# vim baidu.com
[root@m01 named]# cat baidu.com
$TTL 1D
@ IN SOA ns1.baidu.com. ns2.baidu.com. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS ns1.baidu.com.
ns1 A 10.0.0.61
ns2 A 10.0.0.61
www A 10.0.0.7
使用检查命令进行检查
named-checkconf
named-checkzone "baidu.com"var/named/baidu.com
5.3 启动bind服务
/etc/init.d/named start
[root@m01 named]# /etc/init.d/named start
Generating /etc/rndc.key: [ OK ]
Starting named: [ OK ]
5.4 验证
修改客户端dns配置文件并检验
[root@backup ~]# vim /etc/resolv.conf
[root@backup ~]# cat /etc/resolv.conf
; generated by /sbin/dhclient-script
nameserver 10.0.0.61
[root@backup ~]# ping www.baidu.com -c3
PING www.baidu.com (10.0.0.7) 56(84) bytes of data.
64 bytes from web01 (10.0.0.7): icmp_seq=1 ttl=64 time=0.169 ms
64 bytes from web01 (10.0.0.7): icmp_seq=2 ttl=64 time=0.466 ms
64 bytes from web01 (10.0.0.7): icmp_seq=3 ttl=64 time=0.297 ms
--- www.baidu.com ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2000ms
rtt min/avg/max/mdev = 0.169/0.310/0.466/0.123 ms
6、 配置bind dns为缓存dns
此时配置的dns只能解析对域名www.baidu.com进行解析,无法解析其他未配置的众多域名,需要做的是指定上游dns
指定上游dns:当无法使用本地的dns解析时,利用上游dns服务器进行解析
添加内容forwarders {223.5.5.5;223.6.6.6; };
重启服务
[root@m01 named]# vim /etc/named.conf
[root@m01 named]# cat /etc/named.conf
options {
listen-on port 53 { any; };
directory "/var/named";
allow-query { any; };
forwarders {223.5.5.5;223.6.6.6; };
};
zone "baidu.com" IN {
type master;
file "baidu.com";
};
[root@m01 named]# /etc/init.d/named restart
Stopping named: [ OK ]
Starting named: [ OK ]
7、配置bind dns主从服务器并同步
新增一台dns服务器为从服务器,编辑其主配置文件
[root@m02 ~]# vim /etc/named.conf
options {
listen-on port 53 { any; }; #服务器上的所有IP地址均可提供DNS域名解析服务
directory "/var/named";
allow-query { any; }; #允许所有人对本服务器发送DNS查询请求
};
zone "baidu.com" IN {
type slave;
file "baidu.com";
masters { 10.0.0.61; };
};
修改/var/named权限或修改属主和属组
chown -R named.named /var/named
修改主dns服务器的主配置文件
options {
directory "/var/named";
};
zone "baidu.com" IN {
type master;
file "baidu.com";
allow-transfer { 10.0.0.62; };
notify yes;
also-notify { 10.0.0.62; };
};
修改主dns服务器的数据配置文件
[root@m01 named]# vim baidu.com
[root@m01 named]# cat baidu.com
$TTL 1D
@ IN SOA ns1.baidu.com. ns2.baidu.com. ( #添加指定ns2从dns
1 ; serial #修改版本号
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS ns1.baidu.com.
NS ns2.baidu.com. #添加指定dns2从dns
ns1 A 10.0.0.61
ns2 A 10.0.0.62 #添加指定dns2从dns的A记录
www A 10.0.0.7
bbs A 10.0.0.7 #增加域名
重启主dns服务
/etc/init.d/named restart
测试
host www.baidu.com 10.0.0.61
host www.baidu.com 10.0.0.62
8、dns记录类型
参数说明如下(参照阿里云dns解析)
参数 |
说明 |
记录类型 |
支持的记录类型包括:
|
主机记录 |
域名前缀,与域名共同组成解析对象。假设域名为 aliyun.com,则常见用法如下:
|
解析线路 |
使用的解析线路。 |
记录值 |
根据记录类型设置解析结果。 |
TTL值 |
解析结果在递归DNS中的保存时长。 |
9、测试命令
9.1 dig命令
常用的域名查询工具,可以用来测试域名系统工作是否正常
yum install bind –y
使用默认dns查询
dig www.baidu.com
[root@backup ~]# dig www.baidu.com
; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.62.rc1.el6_9.5 <<>> www.baidu.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 57082
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 2
;; QUESTION SECTION:
;www.baidu.com. IN A
;; ANSWER SECTION:
www.baidu.com. 86400 IN A 10.0.0.7
;; AUTHORITY SECTION:
baidu.com. 86400 IN NS ns2.baidu.com.
baidu.com. 86400 IN NS ns1.baidu.com.
;; ADDITIONAL SECTION:
ns1.baidu.com. 86400 IN A 10.0.0.61
ns2.baidu.com. 86400 IN A 10.0.0.62
;; Query time: 0 msec
;; SERVER: 10.0.0.61#53(10.0.0.61)
;; WHEN: Thu May 3 16:14:46 2018
;; MSG SIZE rcvd: 115
dig @223.5.5.5 www.baidu.com +trace
不通过dns缓存,直接从根域名服务器查询
[root@Web01 ~]# dig @223.5.5.5 www.baidu.com +trace
; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.62.rc1.el6 <<>> @223.5.5.5 www.baidu.com +trace
; (1 server found)
;; global options: +cmd
. 291003 IN NS k.root-servers.net.
. 291003 IN NS j.root-servers.net.
. 291003 IN NS f.root-servers.net.
. 291003 IN NS a.root-servers.net.
. 291003 IN NS c.root-servers.net.
. 291003 IN NS e.root-servers.net.
. 291003 IN NS m.root-servers.net.
. 291003 IN NS d.root-servers.net.
. 291003 IN NS i.root-servers.net.
. 291003 IN NS g.root-servers.net.
. 291003 IN NS b.root-servers.net.
. 291003 IN NS l.root-servers.net.
. 291003 IN NS h.root-servers.net.
;; Received 228 bytes from 223.5.5.5#53(223.5.5.5) in 21078 ms
com. 172800 IN NS a.gtld-servers.net.
com. 172800 IN NS b.gtld-servers.net.
com. 172800 IN NS c.gtld-servers.net.
com. 172800 IN NS d.gtld-servers.net.
com. 172800 IN NS e.gtld-servers.net.
com. 172800 IN NS f.gtld-servers.net.
com. 172800 IN NS g.gtld-servers.net.
com. 172800 IN NS h.gtld-servers.net.
com. 172800 IN NS i.gtld-servers.net.
com. 172800 IN NS j.gtld-servers.net.
com. 172800 IN NS k.gtld-servers.net.
com. 172800 IN NS l.gtld-servers.net.
com. 172800 IN NS m.gtld-servers.net.
;; Received 491 bytes from 198.97.190.53#53(198.97.190.53) in 36211 ms
baidu.com. 172800 IN NS dns.baidu.com.
baidu.com. 172800 IN NS ns2.baidu.com.
baidu.com. 172800 IN NS ns3.baidu.com.
baidu.com. 172800 IN NS ns4.baidu.com.
baidu.com. 172800 IN NS ns7.baidu.com.
;; Received 201 bytes from 192.41.162.30#53(192.41.162.30) in 5846 ms
www.baidu.com. 1200 IN CNAME www.a.shifen.com.
a.shifen.com. 1200 IN NS ns3.a.shifen.com.
a.shifen.com. 1200 IN NS ns2.a.shifen.com.
a.shifen.com. 1200 IN NS ns1.a.shifen.com.
a.shifen.com. 1200 IN NS ns4.a.shifen.com.
a.shifen.com. 1200 IN NS ns5.a.shifen.com.
;; Received 228 bytes from 220.181.38.10#53(220.181.38.10) in 93 ms
9.2 host命令
常用的域名查询工具,可以用来测试域名系统工作是否正常
[root@backup ~]# host www.baidu.com
www.baidu.com has address 10.0.0.7
9.3 nslookup命令
常用域名查询工具,就是查DNS信息用的命令
9.4 curl命令
测试打开网站的时间
time curl www.baidu.com
-I 显示http相应头部内容
参考博文:https://www.cnblogs.com/liuyansheng/p/5992486.html
博主原创文章,转载请务必注明出处
bind域名dns解析及主从服务的配置的更多相关文章
- 域名DNS解析说明
一直都对域名DNS 解析很懵逼,今天看到一个博客上面详细的介绍了域名解析. 特意记录下: 记录类型: A记录: 将域名指向一个IPv4地址(例如:8.8.8.8)CNAME:将域名指向另一个域名(例如 ...
- WordPress搭建教程---购买域名+购买VPS主机+域名DNS解析+网站环境+上传网站程序
WordPress搭建教程 购买域名---NameSilo 购买VPS主机---Vultr 域名DNS解析 网站环境 上传网站程序 参考文章: 1. WordPress搭建教程 https://zhu ...
- 解决域名DNS解析的故障
在实际应用过程中可能会遇到DNS解析错误的问题,就是说当我们访问一个域名时无法完成将其解析到IP地址的工作,而直接输入网站IP却可以正常访问,这就是因为DNS解析出现故障造成的.这个现象发生的机率比较 ...
- 域名DNS解析工具ping/nslookup/dig/host
常见 DNS 记录的类型 类型 目的 A 地址记录,用来指定域名的 IPv4 地址,如果需要将域名指向一个 IP 地址,就需要添加 A 记录. AAAA 用来指定主机名(或域名)对应的 IPv6 地址 ...
- nginx无网络启动失败——proxy_pass域名DNS解析出错
问题: nginx启动或者reload的时候,会对proxy_pass后面的域名进行DNS解析,如果解析失败,启动就会失败或者reload失败. 我们是to B的产品,客户的环境可能是不通公网的,因此 ...
- Bind的DNS解析设置forward - 阿权的书房
bind有一项功能是forward,也就是只是做dns缓存. 适用以下情况: 1 做临时测试,不想向上级申请修改ns记录2 不想向上级申请修改ns记录但希望交给另外的服务器处理3 只有有限的公网IP, ...
- 申请免费域名并配置DNS解析及CDN加速
标题: 申请免费域名并配置DNS解析及CDN加速 作者: 梦幻之心星 sky-seeker@qq.com 标签: [#申请,#免费,#域名,#DNS解析,#CDN加速,#子域名] 目录: [网站] 日 ...
- 分析DNS解析时间
提高网页的打开速度,一般地我们会选择使用CDN,利用“就近原则”让用户在最短的时间内获取到服务器资源,实际应用当中采用CDN的方式提高网站访问速度的效果也是最明显的.这也就是为什么国外的空间打开速度远 ...
- linux服务基础之DNS正反向解析、主从同步、子域授权及视图
关键词: 正向解析 反向解析 主从复制 自域授权 视图 一.DNS基本原理 1.1 什么是DNS?BIND又是什么? DNS:Domain Name Service,它是一个基于应用层的协议,是C/S ...
随机推荐
- BZOJ2743 [HEOI2012]采花 【离线 + 树状数组】
题目 萧芸斓是Z国的公主,平时的一大爱好是采花. 今天天气晴朗,阳光明媚,公主清晨便去了皇宫中新建的花园采花.花园足够大,容纳了n朵花,花有c种颜色(用整数1-c表示),且花是排成一排的,以便于公主采 ...
- 转:mysql group by
group by 用法解析 group by语法可以根据给定数据列的每个成员对查询结果进行分组统计,最终得到一个分组汇总表. SELECT子句中的列名必须为分组列或列函数.列函数对于GROUP BY子 ...
- 编写Shell脚本的最佳实践,规范二
需要养成的习惯如下: 代码有注释 #!/bin/bash # Written by steven # Name: mysqldump.sh # Version: v1.0 # Parameters : ...
- vue v-model 与 vuex state数据绑定问题
最近开发的项目 需要用input 的v-model 直接绑定到vuex的store数据 因为v-model 能与data的数据绑定 尝试了半天 代码如下 <template> <di ...
- YYH的积木(NOIP模拟赛Round 6)
题目描述 YYH手上有n盒积木,每个积木有个重量.现在他想从每盒积木中拿一块积木,放在一起,这一堆积木的重量为每块积木的重量和.现在他想知道重量最少的k种取法的重量分别是多少. 输入输出格式 输入格式 ...
- 小Z爱划水(NOIP信(sang)心(bin)赛)From FallDream
题目: 小Z在机房.他和其它机房同学都面临一个艰难的抉择,那就是 要不要划水? 每个人都有自己的一个意见,有的人想做题,有的人想划水. 当然,每个人只能选择一个事情做.如果一个人做的事情和他想做的不同 ...
- [MySQL] 锁/死锁问题一例
MySQL锁/死锁问题 在MySQL中, 不同事务隔离级别下, 锁的情况表现是不同的, 另外表的设计上有无索引也是一个因素. 做一个小的实验测试InnoDB锁表现 -:) 说明 事务隔离级别 READ ...
- 将打开的网页以html格式下载到本地
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- js面试总结
<div id="app"> <button onClick="app()">点击1</button> <button ...
- ZOJ 3937 More Health Points (2016 浙江省赛 B题,可持久维护凸壳)
题目链接 2016 ZJCPC Problem B 题意 CF 660F的树上版本. 其他做的方法都差不多,关键是把凸壳放到树上. 每次确定扔掉几个元素的时候直接$O(1)$修改(先不清楚这个位置 ...