3、dns服务搭建
3.1、dns服务简介:
1、DNS(Domain Name System)域名系统。
目前提供网络服务的应用使用唯一的32位的IP地址来标识,但是由于数字比较复杂、难以记忆,因此产生了域名系统(DNS),
通过域名系统,可以使用易于理解和形象的字符串名称来标识网络应用(如www.baidu.com、www.taobao.com)。访问互联
网应用可以使用域名,也可以通过IP地址直接访问该应用,在使用域名访问网络应用时,DNS负责将域名解析为IP地址。
2.、主机名和域名的区别:
主机名是内网的名字;域名是外网的名字。
主机名和域名其实是两个完全可以不同的名字,但是有很多软件(如邮件系统postfix)会默认认为它们一致。
全世界共有有13台DNS根域服务器。
3、顶级域名:
.com .org .edu .gov .net .mil .info
商业 组织 教育 政府 通讯 军事 信息
4、DNS服务器特点:
分布式的数据库;
解决了数据不一致,避免了名字冲突;
有缓存机制,提高了性能和可靠性;
5、域名解析过程:
为了将一个名字解析成一个IP地址,用户应用程序调用一个称为解析器的库程序,将名字作为参数传递给它,形成DNS用户;
然后DNS用户发送查询请求给本地域名服务器,服务器首先在其管辖区域内查找名字,名字找到后,把对应的IP地址返回给DNS客户。
完整的名字解析过程如下图所示:
6、dns域名命名规范:
(1)26个英文字母;
(2)“0,1,2,3,4,5,6,7,8,9”十个数字;
(3)“-”(英文中的连词号);
(4)最多63字节长度;
7、dns软件bind介绍:
BIND全称是(Berkeley Internet Name Domain),是美国加利福尼亚大学伯克利分校开发的一个域名服务软件包,
Linux使用这个软件包来提供域名服务,该软件实现了DNS协议。BIND的服务端软件是被称作named的守护进程。
8、DNS进行域名解析的过程:
首先,客户端发出DNS请求翻译IP地址或主机名。DNS服务器在收到客户机的请求后:
(1)检查DNS服务器的缓存,若查到请求的地址或名字,即向客户机发出应答信息;
(2)若没有查到,则在自身配置中查找,若查到请求的地址或名字,即向客户机发出应答信息;
(3)若没有查到,则将请求发给根域DNS服务器,并依序从根域查找顶级域,由顶级查找二级域,二级域查找三级,直至找到要解析的地址或
名字,即向客户机所在网络的DNS服务器发出应答信息,DNS服务器收到应答后现在缓存中存储,然后,将解析结果发给客户机;
(4)若没有找到,则返回错误信息;
9、DNS的分类:
(1)主DNS服务器:就是一台存储着原始资料的DNS服务器;
(2)从DNS服务器:使用自动更新方式从主DNS服务器同步数据的DNS服务器。也成辅助DNS服务器;
(3)缓存服务器:不负责本地解析,采用递归方式转发客户机查询请求,并返回结果给客户机的DNS服务器。同时缓存查询回来的结果,也叫递归服务器;
(4)转发器(常用):这台DNS发现非本机负责的查询请求时,不再向根域发起请求,而是直接转发给指定的一台或者多台服务器。自身并不缓存查询结果;
10、dns中记录的类型:
(1)SOA(记录开始):
可以理解为一段为自己dns做备注说明的文本,一般与ns一致;
SOA记录设置一些数据版本和更新以及过期时间的信息;
(2)NS:
域的授权名称服务器;
NS记录表示域名服务器记录搜索,用来指定该域名由哪个DNS服务器来进行解析;
(3)MX:
域的邮件交换器,要跟着一个优先级值,越小越高;
(4)A:
IPV4主机地址;
(5)AAAA:
IPV6主机地址;
(6)PTR:
解析IP的指针,反向记录;
(7)CNAME:
权威(正式)名称,定义别名记录;
11、dns解析常用的命令:
DIG、NSLOOKUP、HOST;
12、dns环境准备:
(1)dns级别和ip地址配置:
服务器的主机名 |
dns级别 |
ip地址 |
master-node1 |
主dns |
172.16.1.90 |
slave-node1 |
从dns |
172.16.1.91 |
(2)硬件设备:
Cpu:12c以上配置
内存:16G
网络:千兆
(3)系统设置:
1)关闭防火墙:
systemctl stop firewalld.service
systemctl disable firewalld.service
systemctl status firewalld.service
2)关闭selinux:
sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config
grep "SELINUX=disabled" /etc/selinux/config
setenforce 0
getenforce
3)调整ulimit限制:
echo -e '* soft nproc 65536\n* hard nproc 65536\n* soft nofile 65536\n* hard nofile 65536\n' >>/etc/security/limits.conf
3.2、主dns搭建:
1、安装dns相关的软件:
yum install bind-utils bind bind-devel bind-chroot
rpm -qa bind*
bind-utils-9.9.4-73.el7_6.x86_64
bind-license-9.9.4-73.el7_6.noarch
bind-9.9.4-73.el7_6.x86_64
bind-devel-9.9.4-73.el7_6.x86_64
bind-libs-lite-9.9.4-73.el7_6.x86_64
bind-libs-9.9.4-73.el7_6.x86_64
bind-chroot-9.9.4-73.el7_6.x86_64
2、配置dns主配置文件:
cp -a /etc/named.conf{,.bak}
vim /etc/named.conf
options {
version "1.1.1";
#版本;
masterfile-format text;
#zone文件的格式;
listen-on port 53 { any; };
#监听的ip地址和端口号;
directory "/var/named/chroot/etc/";
#dns的安全控制根;
#pid-file "/var/named/chroot/var/run/named/named.pid";
pid-file "/run/named/named.pid";
allow-query { any; };
#可以访问dns的ip地址;
Dump-file "/var/named/chroot/var/log/binddump.db";
Statistics-file "/var/named/chroot/var/log/named_stats";
#记录dns统计的文件;
zone-statistics yes;
#打开dns统计记录的功能;
memstatistics-file "log/mem_stats";
empty-zones-enable no;
#不允许配置的dns域为空;
forwarders { 114.114.114.114;8.8.8.8; };
#dns向上查找的dns地址;
};
key "rndc-key" {
algorithm hmac-md5;
secret "Eqw4hClGExUWeDkKBX/pBg==";
};
controls {
inet 127.0.0.1 port 953
allow { 127.0.0.1; } keys { "rndc-key"; };
};
logging {
channel warning {
file "/var/named/chroot/var/log/dns_warning" versions 10 size 10m;
severity warning;
print-category yes;
print-severity yes;
print-time yes;
};
channel general_dns {
file "/var/named/chroot/var/log/dns_log" versions 10 size 100m;
severity info;
print-category yes;
print-severity yes;
print-time yes;
};
category default {
warning;
};
category queries {
general_dns;
};
};
include "/var/named/chroot/etc/view.conf";
3、配置rndc:
rndc可以在不停止DNS服务器工作的情况进行数据的更新,使修改后的配置文件生效;
(1)添加/etc/rndc.key文件:
vim /etc/rndc.key
key "rndc-key" {
algorithm hmac-md5;
secret "Eqw4hClGExUWeDkKBX/pBg==";
};
(2)添加/etc/rndc.conf文件:
vim /etc/rndc.conf
key "rndc-key" {
algorithm hmac-md5;
secret "Eqw4hClGExUWeDkKBX/pBg==";
};
options {
default-key "rndc-key";
default-server 127.0.0.1;
default-port 953;
};
4、配置dns主配置文件中include包含的文件:
主要定义dns正向|反向域名解析的域文件;
vim /var/named/chroot/etc/view.conf
view "View" {
zone "lc-dns.com" {
type master;
file "lc-dns.com.zone";
allow-transfer {
172.16.1.91;
};
notify yes;
also-notify {
172.16.1.91;
};
};
zone "16.172.in-addr.arpa" {
type master;
file "16.172.zone";
allow-transfer {
172.16.1.91;
};
notify yes;
also-notify {
172.16.1.91;
};
};
};
5、配置dns正向域名解析的域文件:
(1)配置文件:
vim /var/named/chroot/etc/lc-dns.com.zone
$ORIGIN .
$TTL 3600 ; 1 hour
lc-dns.com IN SOA dns.lc-dns.com. dns1.lc-dns.com. (
2000 ; serial
900 ; refresh (15 minutes)
600 ; retry (10 minutes)
86400 ; expire (1 day)
3600 ; minimum (1 hour)
)
NS dns.lc-dns.com.
$ORIGIN lc-dns.com.
dns A 172.16.1.90
lc1 A 172.16.1.92
lc2 CNAME lc1
mx MX 5 172.16.1.93
(2)参数说明:
0)$TTL 3600 ; 1 hour:
表示一条域名解析记录在DNS服务器上缓存时间;
1)Serial:
只是一个序号,但这个序号可被用来作为 slave 与 master 更新的依据。 举例来说, master 序号为 100 但 slave 序号
为 90 时,当在master端执行 rndc reload 命令时 master端的 zone file 中的数据就会被传送到 slave 来更新了。由于这个序
号代表新旧资料,通常我们建议利用日期来设定,举例来说,2006/10/20 第一次更新,所以用 2006102001 作为序号代表;
2)Refresh:除了根据 Serial 来判断新旧之外,我们可以利用这个 refresh(更新) 命令 slave 多久进行一次主动更新;
3)Retry:如果到了 Refresh 的时间,但是 slave 却无法连接到 master 时, 那么在多久之后,slave 会再次的主动尝试与主机连线;
4)Expire:如果 slave 一直无法与 master 连接上,那么经过多久的时间之后 slave 不要再连接 master 了,也就是说,此时
我们假设 master DNS 可能遇到重大问题而无法上线,则等待系统管理员处理完毕后, 需要重新到 slave DNS 重新启动 bind,恢复slave的主动更新;
5)Minimun:这个就有点象是 TTL;
(3)注意:做cnam时A记录必须要存在;
6、配置dns反向域名解析的域文件:
vim /var/named/chroot/etc/16.172.zone
$ORIGIN .
$TTL 3600 ; 1 hour
16.172.in-addr.arpa IN SOA dns.lc-dns.com. dns1.lc-dns.com. (
2000 ; serial
900 ; refresh (15 minutes)
600 ; retry (10 minutes)
86400 ; expire (1 day)
3600 ; minimum (1 hour)
)
NS dns.lc-dns.com.
$ORIGIN 16.172.in-addr.arpa.
90.1 PTR dns.lc-dns.com.
92.1 PTR lc1.lc-dns.com.
92.1 PTR lc2.lc-dns.com.
93.1 PTR mx.lc-dns.com.
7、修改目录权限:
chown -R named.named /var/named/
8、检查配置文件:
(1)检查dns的主配置文件:
named-checkconf /etc/named.conf
(2)检查dns的zone文件:
1)检查正向解析文件:
named-checkzone lc-dns.com /var/named/chroot/etc/lc-dns.com.zone
/var/named/chroot/etc/lc-dns.com.zone:15: warning: '172.16.1.93': MX is an address
zone lc-dns.com/IN: mx.lc-dns.com/MX '172.16.1.93.lc-dns.com' has no address records (A or AAAA)
zone lc-dns.com/IN: loaded serial 2022
OK
2)检查反向解析文件:
named-checkzone 16.172.in-addr.arpa /var/named/chroot/etc/16.172.zone
zone 16.172.in-addr.arpa/IN: loaded serial 2000
OK
9、启动dns并加入到开机自启动中:
systemctl start named.service
systemctl enable named.service
3.3、从dns搭建:
1、安装dns相关的软件:
yum install bind-utils bind bind-devel bind-chroot
rpm -qa bind*
bind-utils-9.9.4-73.el7_6.x86_64
bind-license-9.9.4-73.el7_6.noarch
bind-9.9.4-73.el7_6.x86_64
bind-devel-9.9.4-73.el7_6.x86_64
bind-libs-lite-9.9.4-73.el7_6.x86_64
bind-libs-9.9.4-73.el7_6.x86_64
bind-chroot-9.9.4-73.el7_6.x86_64
2、配置主配置文件:
cp -a /etc/named.conf{,.bak}
vim /etc/named.conf
options {
version "1.1.1";
#版本;
masterfile-format text;
#zone文件的格式;
listen-on port 53 { any; };
#监听的ip地址和端口号;
directory "/var/named/chroot/etc/";
#dns的安全控制根;
#pid-file "/var/named/chroot/var/run/named/named.pid";
pid-file "/run/named/named.pid";
allow-query { any; };
#可以访问dns的ip地址;
Dump-file "/var/named/chroot/var/log/binddump.db";
Statistics-file "/var/named/chroot/var/log/named_stats";
#记录dns统计的文件;
zone-statistics yes;
#打开dns统计记录的功能;
memstatistics-file "log/mem_stats";
empty-zones-enable no;
#不允许配置的dns域为空;
forwarders { 114.114.114.114;8.8.8.8; };
#dns向上查找的dns地址;
};
key "rndc-key" {
algorithm hmac-md5;
secret "Eqw4hClGExUWeDkKBX/pBg==";
};
controls {
inet 127.0.0.1 port 953
allow { 127.0.0.1; } keys { "rndc-key"; };
};
logging {
channel warning {
file "/var/named/chroot/var/log/dns_warning" versions 10 size 10m;
severity warning;
print-category yes;
print-severity yes;
print-time yes;
};
channel general_dns {
file "/var/named/chroot/var/log/dns_log" versions 10 size 100m;
severity info;
print-category yes;
print-severity yes;
print-time yes;
};
category default {
warning;
};
category queries {
general_dns;
};
};
include "/var/named/chroot/etc/view.conf";
3、配置rndc:
(1)添加/etc/rndc.key文件:
vim /etc/rndc.key
key "rndc-key" {
algorithm hmac-md5;
secret "Eqw4hClGExUWeDkKBX/pBg==";
};
(2)添加/etc/rndc.conf文件:
vim /etc/rndc.conf
key "rndc-key" {
algorithm hmac-md5;
secret "Eqw4hClGExUWeDkKBX/pBg==";
};
options {
default-key "rndc-key";
default-server 127.0.0.1;
default-port 953;
};
4、配置dns主配置文件中include包含的文件:
主要定义dns正向|反向域名解析的域文件;
vim /var/named/chroot/etc/view.conf
view "SlaveView" {
zone "lc-dns.com" {
type slave;
masters { 172.16.1.90; };
file "slave.lc-dns.com.zone";
};
zone "16.172.in-addr.arpa" {
type slave;
masters { 172.16.1.90; };
file "slave.16.172.zone";
};
};
5、修改目录权限:
chown -R named.named /var/named/
6、检查配置文件:
(1)检查dns的主配置文件:
named-checkconf /etc/named.conf
7、启动dns并加入到开机自启动中:
systemctl start named.service
systemctl enable named.service
8、查看从的zone文件:
(1)从 dns 启动后会自动从主 dns 服务器拷贝数据,生成正向slave.16.172.zone域名解
析和反向slave.lc-dns.com.zone域名解析文件;
(2)ls /var/named/chroot/etc/slave.*
/var/named/chroot/etc/slave.16.172.zone /var/named/chroot/etc/slave.lc-dns.com.zone
3.4、dns测试:
1、正向域名解析测试:
(1)nslookup和host解析:
nslookup|host lc1.lc-dns.com 172.16.1.90|91
Server: 172.16.1.90|91
Address: 172.16.1.90|91#53
Name: lc1.lc-dns.com
Address: 172.16.1.92
(2)dig解析(dig命令智能用于正向域名解析):
dig @172.16.1.90 lc1.lc-dns.com
; <<>> DiG 9.9.4-RedHat-9.9.4-73.el7_6 <<>> @172.16.1.90|91 lc1.lc-dns.com
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 49975
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;lc1.lc-dns.com. IN A
;; ANSWER SECTION:
lc1.lc-dns.com. 3600 IN A 172.16.1.92
;; AUTHORITY SECTION:
lc-dns.com. 3600 IN NS dns.lc-dns.com.
;; ADDITIONAL SECTION:
dns.lc-dns.com. 3600 IN A 172.16.1.90
;; Query time: 1 msec
;; SERVER: 172.16.1.90|91#53(172.16.1.90|91)
;; WHEN: 日 4月 21 21:50:42 CST 2019
;; MSG SIZE rcvd: 93
2、反向域名解析测试:
(1)nslookup和host解析:
nslookup|host 172.16.1.92 172.16.1.90|91
Server: 172.16.1.90|91
Address: 172.16.1.90|91#53
92.1.16.172.in-addr.arpa name = lc1.lc-dns.com.
92.1.16.172.in-addr.arpa name = lc2.lc-dns.com.
3、别名解析:
(1)正向解析:
nslookup|host lc2.lc-dns.com 172.16.1.90|91
dig @172.16.1.90|91 lc2.lc-dns.com
(2)反向解析:
nslookup|host 172.16.1.92 172.16.1.90|91
4、邮件服务解析测试:
mx服务只能使用host命令进行解析;
(1)正向域名解析测试:
host mx.lc-dns.com 172.16.1.90|91
Using domain server:
Name: 172.16.1.90|91
Address: 172.16.1.90|91#53
Aliases:
mx.lc-dns.com mail is handled by 5 172.16.1.93.lc-dns.com.
(2)反向域名解析测试:
host 172.16.1.93 172.16.1.90|91
Using domain server:
Name: 172.16.1.90|91
Address: 172.16.1.90|91#53
Aliases:
93.1.16.172.in-addr.arpa domain name pointer mx.lc-dns.com.
3.5、dns补充:
1、dns压力测试:
(1)安装dns压力测试软件:
mkdir /tools
cd /tools/
wget https://ftp.isc.org/isc/bind/9.7.3/bind-9.7.3.tar.gz
tar -xzf bind-9.7.3.tar.gz
cd bind-9.7.3/contrib/queryperf/
./configure
make
(2)进行压力测试:
1)编写查询测试文件:
vim /tmp/querytest.txt
dns.lc-dns.com A
lc1.lc-dns.com A
lc2.lc-dns.com CNAME
mx.lc-dns.com MX
2)测试:
/tools/bind-9.7.3/contrib/queryperf/queryperf -d /tmp/querytest.txt -s 172.16.1.90
DNS Query Performance Testing Tool
Version: $Id: queryperf.c,v 1.12 2007-09-05 07:36:04 marka Exp $
[Status] Processing input data
[Status] Sending queries (beginning with 172.16.1.90)
[Status] Testing complete
Statistics:
Parse input file: once
Ended due to: reaching end of file
Queries sent: 4 queries
Queries completed: 4 queries
Queries lost: 0 queries
Queries delayed(?): 0 queries
RTT max: 0.008393 sec
RTT min: 0.008365 sec
RTT average: 0.008378 sec
RTT std deviation: 0.000028 sec
RTT out of range: 0 queries
Percentage completed: 100.00%
Percentage lost: 0.00%
Started at: Mon Apr 22 00:39:06 2019
Finished at: Mon Apr 22 00:39:06 2019
Ran for: 0.008442 seconds
Queries per second: 473.821369 qps #每秒查询的次数,即每秒dns解析量;
(3)补充:
1)dns查询总量统计;
rndc stats
WARNING: key file (/etc/rndc.key) exists, but using default configuration file (/etc/rndc.conf)
cat /var/named/chroot/var/log/named_stats
+++ Statistics Dump +++ (1555857949)
++ Incoming Requests ++
57 QUERY #总共接收请求的次数,重启服务后清零;
++ Incoming Queries ++
13 A
38 SOA
3 PTR
1 MX
1 AAAA
1 IXFR
......
2、用dns做简单的负载均衡:
单个域名对应多个ip,可以做主从、正反向解析;
缺点没有健康检查,有点是部署简单;
(1)正向域名解析文件配置如下:
cat /var/named/chroot/etc/lc-dns.com.zone
$ORIGIN .
$TTL 3600 ; 1 hour
lc-dns.com IN SOA dns.lc-dns.com. dns1.lc-dns.com. (
2022 ; serial
900 ; refresh (15 minutes)
600 ; retry (10 minutes)
86400 ; expire (1 day)
3600 ; minimum (1 hour)
)
NS dns.lc-dns.com.
$ORIGIN lc-dns.com.
dns A 172.16.1.90
lc1 A 172.16.1.92
lc2 CNAME lc1
mx MX 5 172.16.1.93
db A 172.16.1.1
db A 172.16.1.2
db A 172.16.1.3
(2)反向域名解析文件配置如下:
cat /var/named/chroot/etc/16.172.zone
$ORIGIN .
$TTL 3600 ; 1 hour
16.172.in-addr.arpa IN SOA dns.lc-dns.com. dns1.lc-dns.com. (
2022 ; serial
900 ; refresh (15 minutes)
600 ; retry (10 minutes)
86400 ; expire (1 day)
3600 ; minimum (1 hour)
)
NS dns.lc-dns.com.
$ORIGIN 16.172.in-addr.arpa.
90.1 PTR dns.lc-dns.com.
92.1 PTR lc1.lc-dns.com.
92.1 PTR lc2.lc-dns.com.
93.1 PTR mx.lc-dns.com.
1.1 PTR db.lc-dns.com.
2.1 PTR db.lc-dns.com.
3.1 PTR db.lc-dns.com.
(3)正向域名解析测试:
for((i=1;i<=3;i++));do nslookup db.lc-dns.com 172.16.1.90|91;done
Server: 172.16.1.90|91
Address: 172.16.1.90|91#53
Name: db.lc-dns.com
Address: 172.16.1.2
Name: db.lc-dns.com
Address: 172.16.1.1
Name: db.lc-dns.com
Address: 172.16.1.3
Server: 172.16.1.90|91
Address: 172.16.1.90|91#53
Name: db.lc-dns.com
Address: 172.16.1.1
Name: db.lc-dns.com
Address: 172.16.1.2
Name: db.lc-dns.com
Address: 172.16.1.3
Server: 172.16.1.90|91
Address: 172.16.1.90|91#53
Name: db.lc-dns.com
Address: 172.16.1.3
Name: db.lc-dns.com
Address: 172.16.1.1
Name: db.lc-dns.com
Address: 172.16.1.2
#由上面的结果可知,解析域名时,IP地址轮换,以实现dns负载均衡的目的;
(4)反向域名解析测试:
nslookup 172.16.1.1|2|3 172.16.1.90|91
Server: 172.16.1.90|91
Address: 172.16.1.90#53
3|2|1.1.16.172.in-addr.arpa name = db.lc-dns.com.
#每次反向解析的域名都一样;
3、智能dns:
单个域名对应多个ip,不能配置主从(导致数据不一致),可以做正反向解析;
(1)智能dns介绍:
智能DNS解析是针对电信和网通互联互通不畅的问题推出的一种DNS解决方案;
具体实现是把同样的域名记录分别设置指向网通和电信IP,当网通的客户访问时,智能DNS会自动判断访问
者来路,并返回网通服务器的IP地址,电信的客户访问时会自动返回电信的IP地址;这样就可以避免网通的客户
去访问电信的网络,以及电信的客户去访问网通的网络,很好的解决了客户跨网访问不畅的问题,当然亦可加入
多IP,由智能DNS自动“选路”;相同的线路的IP地址可以做负载均衡、宕机检测等功能;
(2)配置 master dns 节点:
前提条件,已经配置好了 /etc/named.conf 和 rndc.conf、rndc.key 配置文件;
1)编辑 vim /etc/named.conf,在include上面添加如下内容:
acl group1 {
172.16.1.90;
};
acl group2 {
172.16.1.91;
};
#配置客户端ip组;
2)编辑 vim /var/named/chroot/etc/view.conf为:
view "Group1" {
match-clients { group1; };
zone "lc-dns.com" {
type master;
file "group1.lc-dns.com.zone";
};
};
view "Group2" {
match-clients { group2; };
zone "lc-dns.com" {
type master;
file "group2.lc-dns.com.zone";
};
};
3)vim /var/named/chroot/etc/group1.lc-dns.com.zone,group1域文件:
$ORIGIN .
$TTL 3600 ; 1 hour
lc-dns.com IN SOA dns.lc-dns.com. dns1.lc-dns.com. (
2000 ; serial
900 ; refresh (15 minutes)
600 ; retry (10 minutes)
86400 ; expire (1 day)
3600 ; minimum (1 hour)
)
NS dns.lc-dns.com.
$ORIGIN lc-dns.com.
dns A 172.16.1.90
test A 172.16.1.200
4)vim /var/named/chroot/etc/group2.lc-dns.com.zone,group2域文件:
$ORIGIN .
$TTL 3600 ; 1 hour
lc-dns.com IN SOA dns.lc-dns.com. dns1.lc-dns.com. (
2000 ; serial
900 ; refresh (15 minutes)
600 ; retry (10 minutes)
86400 ; expire (1 day)
3600 ; minimum (1 hour)
)
NS dns.lc-dns.com.
$ORIGIN lc-dns.com.
dns A 172.16.1.90
test A 172.16.1.201
5)修改权限:
chown -R named.named /var/named/
6)检查配置:
A、检查主配置文件:
named-checkconf /etc/named.conf
B、检查正向解析文件:
named-checkzone lc-dns.com /var/named/chroot/etc/group1.lc-dns.com.zone
named-checkzone lc-dns.com /var/named/chroot/etc/group2.lc-dns.com.zone
zone lc-dns.com/IN: loaded serial 2000
OK
7)启动dns:
systemctl start named
(3)测试智能dns:
1)在172.16.1.90主机上进行测试:
nslookup test.lc-dns.com 172.16.1.90
Server: 172.16.1.90
Address: 172.16.1.90#53
Name: test.lc-dns.com
Address: 172.16.1.200
2)在172.16.1.91主机上进行测试:
nslookup test.lc-dns.com 172.16.1.90
Server: 172.16.1.90
Address: 172.16.1.90#53
Name: test.lc-dns.com
Address: 172.16.1.201
3.6、总结:
1、通常域名和ip的对应关系为一对一或者是多对一;
2、也可以使用一对多,通常用于dns负载(可以主从和正反向解析)和智能dns(不能主从,导致数据不一致;可以正反向解析);
3、手动主从同步的方法:
(1)不管在主或从 dns 上执行 rndc reload 命令,只要从 dns zone 文件的 serial 值小于主 dns serial 的值
就可以复制主 dns zone 文件上的数据;
(2)/var/named/chroot/etc/view.conf中的配置,一个 view{} 就是代表一个域名,中间包括正向和反向解析的域文件,主从 dns 就是根据
正向解析域名(lc-dns.com)和反向解析域名(16.172.in-addr.arpa)来判断的;要尽量保持不同的view的名称的正反解析文件的不同,不然后导致解析错乱;
(3)在主dns修改zone文件后需要将serial+1,或者在从dns将zone文件的serial-1也可;
(4)优雅的重启dns,此命令必须在服务dns服务启动的情况下才能够使用;
rndc reload
WARNING: key file (/etc/rndc.key) exists, but using default configuration file (/etc/rndc.conf)
server reload successful
4、远程cop命令:
(1)保留原始权限:
rsync -av /etc/named.conf root@172.16.1.91:/etc/
(2)权限更改为
scp -P22 /etc/named.conf root@172.16.1.91:/etc/
5、同步方法:
(1)同步类型:
实时,定时;
同步(两者一致)和异步(两者不一致);
增量、差异;
(2)这里使用的同步类型:
定时——异步——差异
6、dns架构设计:
7、dns的面试题:
(1)DNS中递归查询与迭代查询的区别:
1)递归查询:
一般客户机和服务器之间属递归查询,即当客户机向DNS服务器发出请求后,若DNS服务器本身不能解析,则会向
另外的DNS服务器发出查询请求,得到结果后转交给客户机;
2)迭代查询(反复查询):
一般DNS服务器之间属迭代查询,如:若DNS2不能响应DNS1的请求,则它会将DNS3的IP给DNS2,以便其再向DNS3发出请求;
3)举例说明:
A、用户发起域名请求到dnsA,这时dnsA有这个记录,将结果返回给用户,这个过程是递归查询;
B、用户发起域名请求到dnsA,这时dnsA没有这个记录,他去向dnsB问有没有这个记录,以此类推,直到把结果返回给用户,这个过程是递归查询;
C、用户发起域名请求到dnsA,这时dnsA没有这个记录,他告诉用户,我没有这个记录,你去问dnsB吧,这个过程是迭代查询;
3、dns服务搭建的更多相关文章
- centos DNS服务搭建 DNS原理 使用bind搭建DNS服务器 配置DNS转发 配置主从 安装dig工具 DHCP dhclient 各种域名解析记录 mydns DNS动态更新 第三十节课
centos DNS服务搭建 DNS原理 使用bind搭建DNS服务器 配置DNS转发 配置主从 安装dig工具 DHCP dhclient 各种域名解析记录 mydns DNS动态更 ...
- DNS服务——搭建企业内网DNS服务器的作用
前言 DNS服务——服务端 和 客户端 配置 介绍了如何在DNS安装DNS服务,更改一下配置文件就可以依据根提示解析全球域名.既然使用互联网上的DNS服务器就可以解析全球域名,为何还要自掏腰包搭建DN ...
- DNS服务搭建(正反向解析)
版权声明:本文为博主原创文章,支持原创,转载请附上原文出处链接和本声明. 本文地址链接:https://www.cnblogs.com/wannengachao/p/11954625.html 1.安 ...
- dns服务搭建
DNS 是域名系统 (Domain Name System) 的缩写,它是由解析器和域名服务器组成的. 域名服务器是指保存有该网络中所有主机的域名和对应IP地址,并具有将域名转换为IP地址功能的服务器 ...
- DNS服务——域名解析委派
域名解析委派 域名解析委派和DNS域名解析递归查询很像,举个例子解释域名解析委派 ①假设在.net域名下有台计算机想要访问www.cac.com. ②.net这台DNS服务器不知道www.cac.co ...
- DNS服务——正向查找区 和 逆向查找区
前言 正向查找区,就是我们最熟知的DNS.即根据域名解析成IP 逆向查找区,即根据IP解析成域名. 他们之间的关系很像ARP和RARP 正向查找区 /etc/named.rfc1912.zones用于 ...
- 如何搭建DNS服务
继NTP时间服务器后,继续搭建DNS服务,鉴于昨晚撰写时间超过预期,这次改变策略,先把自己需要用到的部分写出来(主要是基于RAC的搭建,只涉及正向和反向DNS解析),后面再添加必要的说明和阐述. 试验 ...
- 如何搭建DNS服务(转)
继NTP时间服务器后,继续搭建DNS服务,鉴于昨晚撰写时间超过预期,这次改变策略,先把自己需要用到的部分写出来(主要是基于RAC的搭建,只涉及正向和反向DNS解析),后面再添加必要的说明和阐述. 试验 ...
- 在k8s中搭建可解析hostname的DNS服务
2016-01-25更新 上篇文章总结k8s中搭建hbase时,遇到Pod中hostname的DNS解析问题,本篇将通过修改kube2sky源码来解决这个问题. 1 前言 kube2sky在Githu ...
随机推荐
- 所有的 Unix Like 系统都会内建 vi 文书编辑器。vim 是vi的升级版本,它不仅兼容vi的所有指令 ,而且还有一些新的特性在里面。
所有的 Unix Like 系统都会内建 vi 文书编辑器.vim 是vi的升级版本,它不仅兼容vi的所有指令 ,而且还有一些新的特性在里面. https://blog.csdn.net/carolz ...
- mysql链接jmeter
1.需要下载mysql-connector-java.zip工具包,然后将解压后的jar包放到%jmeter_home%\lib下 2.在测试计划上导入jar包 3.创建jdbc连接池并完成 4.创建 ...
- linux进阶之Tomcat服务篇
一.Tomcat简介 Tomcat服务器是一个免费的开放源代码的Web应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选. Tomca ...
- TcaplusDB君 · 行业新闻汇编(5月25日)
TcaplusDB君一直密切关注着游戏行业和数据库行业的动态.以下是TcaplusDB君收集的近期的游戏行业和数据库行业的新闻,汇编整理,献给大家观看. (本篇文章部分内容来自网络) 第十一届中国数据 ...
- ffmpeg安装之mac安装
转发自白狼栈:查看原文 关于ffmpeg的安装,有的人可能要折腾很久,甚至折腾一个礼拜,究其原因,基本都是编译安装惹的祸. 我们提供4种安装方式,最复杂的莫过于centos7上的编译安装. ffmpe ...
- golang快速入门(四)
提示:本系列文章适合有其他语音基础并对Go有持续冲动的读者 一.golang获取HTTP请求 1.在golang标准库中提供了net包来处理网络连接,通过http.Get创建http请求并返回服务器响 ...
- HTML中option的单页调用
我们在用到下拉列表框select时,需要对选中的<option>选项触发事件,其实<option>本身没有触发事件方法,我们只有在select里的 onchange方法里触发. ...
- 201871030132-熊文婷 实验三 结对项目—《D{0-1}KP 实例数据集算法实验平台》项目报告
项目 内容 课程班级博客链接 https://edu.cnblogs.com/campus/xbsf/2018CST 这个作业要求链接 https://www.cnblogs.com/nwnu-dai ...
- pytorch空间变换网络
pytorch空间变换网络 本文将学习如何使用称为空间变换器网络的视觉注意机制来扩充网络.可以在DeepMind paper 阅读更多有关空间变换器网络的内容. 空间变换器网络是对任何空间变换的差异化 ...
- NVIDIA深度学习Tensor Core性能解析(上)
NVIDIA深度学习Tensor Core性能解析(上) 本篇将通过多项测试来考验Volta架构,利用各种深度学习框架来了解Tensor Core的性能. 很多时候,深度学习这样的新领域会让人难以理解 ...