Linux—配置DNS服务和BIND

本章内容

  • 名字解析
  • DNS服务
  • 实现主从服务器
  • 实现子域
  • 实现view
  • 编译安装
  • 压力测试
  • DNS排错

DNS服务

  • DNS:Domain Name Service 应用层协议
  • C/S, 服务器端口:53/udp, 53/tcp
  • BIND: Bekerley Internat Name Domain
  • ISC ( www.isc.org)

本地名称解析配置文件: hosts

  • /etc/hosts 也可以做域名解析
  • %WINDIR%/system32/drivers/etc/hosts
  • 122.10.117.2 www.magedu.com
  • 93.46.8.89 www.google.com

/etc/nsswitch.conf 文件可以修改 /etc/hosts中域名解析的优先级

针对企业中小批量的服务器集群可以使用/etc/hosts来做域名解析

DNS解析

DNS查询类型:

  • 递归查询 负责到底
  • 迭代查询

名称服务器:域内负责解析本域内的名称的主机

  • 根服务器: 13组服务器

解析类型:

  • FQDN --> IP 正向域名解析
  • IP --> FQDN 方向域名解析

注意:正反向解析是两个不同的名称空间,是两棵不同的解析树

centos6
[root@localhost ~]# yum info bind
Available	 Packages
Name     	   : bind
Arch       	 : x86_64
Epoch    	   : 32
Version    	 : 9.8.2
centos7
[root@centos7-4 ~]# yum info bind
Available Packages
Name        : bind
Arch        : x86_64
Epoch       : 32
Version     : 9.9.4

资源记录

区域解析库:由众多RR组成:

  • 资源记录: Resource Record, RR
  • 记录类型: A, AAAA, PTR, SOA, NS, CNAME, MX

SOA: Start Of Authority,起始授权记录;一个区域解析库有且仅能有一个

SOA记录,必须位于解析库的第一条记录

  • A: internet Address,作用, FQDN --> IP
  • AAAA: FQDN --> IPv6
  • PTR: PoinTeR, IP --> FQDN
  • NS: Name Server,专用于标明当前区域的DNS服务器
  • CNAME: Canonical Name,别名记录

         www CNAME web-nginx.magedu.com

  • MX: Mail eXchanger,邮件交换器

资源记录定义的格式:

  • 语法: name [TTL] IN rr_type value

         域名 缓存时间 资源记录类型 值

        magedu.com.86400 IN SOA

  • 1、主DNS名称
  • 2、管理员邮箱:admin.magedu.com
  • {3、主服务器和从服务器同步时和版本库版本号比较
  • 4、主从同步时间间隔1hous 1day
  • 5、主从同步重试间隔 10m
  • 6、从数据库有效性的过期时长
  • 7、不存在记录的缓存时长 }

例子:ww.magedu.com ; wwww.magdu.com

centos7
[root@centos7-4 ~]#yum install bind
[root@centos7-4 ~]#rpm -ql bind
[root@centos7-4 ~]#cat	/etc/named.conf				DNS服务器主配置文件   

/var/named/named.ca                 存放13个根信息
/usr/sbin/named                           DNS主程序
/etc/named.rfc1912.zones          存放名字解析
/named.service                             服务程序
/var/named                                    DNS数据库    名字和IP的对应关系

【root@centos7】#systemctl start named		启动DNS服务	53端口
【root@centos7】# ss -ntul
udp  unconn 127.0.0.1:53	默认端口只有对本机开放
【root@centos7】#vim /etc/named.conf			修改DNS开发端口
options{listen-on port 53{192.168.161.130;192.168.161.131或者localhost本机所有IP}}
【root@centos7】#systemctl reload named		重启DNS服务

管理域

root@centos7】#vim /etc/named.conf
options{
zone "." IN{
type hint;
file "name.ca"
}
};

第一步:

【root@centos7】# vim /etc/named.rfc1918.zones	存放区域路径
zone "magedu.com" IN {
type master;	                               (管理magedu域中的第一个DNS服务器,所以是作为主域的类型必须是master)
file "magedu.com.zone";
}

第二步:建立以magedu.com管理域中数据库信息

【root@centos7~ /var/named】#cd /var/named

【root@centos7~ /var/nmaed】#ls

【root@centos7~ /car/named】#参考named.localhose 书写格式

【root@centos7】#cp -a named.localhost magedu.com.zone 注意:修改named的所有组权限

【root@centos7】#chgrp named magedu.com.zone


资源记录

记录类型:A,AAAA, PTR,SOA,NS,CNAME,MX

SOA:start of authority,起始授权记录;一个区域解析库有且只能有一个

SOA记录 必须位于解析库的第一条记录

A:把域名翻译成IPv4 地址。 FQDN----->IP

AAAA: 把域名翻译成IPv6地址。FQDN----->IP.

PTR: 反向解析 把IP地址解析成域名

NS:专门用于标明当前区域的DNS服务器;这个域中有几个dns服务器

CNAME:别名记录 ###给主机起个别名

例子:

www.magedu.com        A                                 101.200.188.230

www                           CNAME                          www.magedu.com

MX:邮件交换器

TXT:  对域名进行标识和说明的一种方式,一般做验证记录时会使用

如:     SPF (反垃圾邮件)记录,https验证等

例子:_dnsauth TXT 12312315256485214dsf6s521fd26s45s

资源记录定义的格式:

$TTL                       86400

magedu.com.       IN     SOA

值:

1、主DNS名称 dns1.magedu.com

2、管理员邮箱 admin.magedu.com

{

3、同步过程基于数据库的版本号

4、主从同步时间间隔 1d

5、主从同步重试间隔 10min

6、从数据库过期时长

7、不存在的缓存时长

}

注意:

(1)TTL可从全局继承

(2)@可用于引用当前区域的名字

(3)同一个名字可以通过多条记录定义多个不同的值;此时DNS服务器会以轮询方式响应

(4)同一个值也可能有多个不同的定义名字;通过多个不同的名字指向同一个值进行定义;仅表示通过多个不同的名字可以找到同一个主机

A 记录格式

www.magedu.com      IN          A       101.200.188.280

PTR记录格式

10.200.188.280.    IN  PTR     WWW.magedu.com

NS         记录格式    需要配合  A  记录使用

例子;

@

magedu.com.               IN    NS     dns1.magedu.com.

dns1.magedu.com     IN     A       192.168.32.7

——————————————————————————————————————————————

magedu.com. IN NS dns1.magedu.com.

magedu.com IN NS dns2.magedu.com

dns2.magedu.com IN A 192.168.32.7

dns1.magedu.com IN A 192.168.32.17


CNAME 记录格式

www IN CNAME web-nginx01.magedu.com

web-nginx01.magedu.com IN A 101.200.188.208

MX 记录格式

@ IN MX 10 mail.magedu.com.

mail IN A 3.3.3.3

TXT 记录格式

_dnsauth IN TXT 2011234551564ASDFDS12D112 https


【root@centos7~ /var/named】#vim  magedu.com.zone
$TTL 1D
@	IN 	SOA		dns1.magedu.com.  admin.magedu.com.(
201809	;	serial  版本号
1D	;	refresh
1H	;	retry
1W	;	expire
3H	;	minimum

)
dns1.magedu.com.	IN	A	192.168.32.7
@					NS	dns1.magedu.com.
websrv1			IN	A	192.168.32.128
www				IN	CNAME	websrv1

【root@centos7】# systemctl reload dns

或者【root@centos7】# rndc reload

【root@centos7】# named-checkconf 检查配置文件语法

【root@centos7】# named-checkzone 检查数据库语法

【root@centos7】#vim /etc/named.rfc1912.zones

dig host nslookup 测试dns服务工具

【root@centos7】# named-checkzoe	magedu.com	/var/named/magedu.com.zone
[root@centos6-10 ~ 08:22:16]#dig www.magedu.com @192.168.161.128	
;; ->>HEADER<<- opcode: QUERY, status: REFUSED, id: 42104
;; Query time: 2 msec
;; SERVER: 192.168.161.128#53(192.168.161.128)
;; WHEN: Wed Sep 26 08:38:02 2018
;; MSG SIZE  rcvd: 32
[root@centos6-10 ~ 08:41:17]#host www.magedu.com 192.168.161.128
Using domain server:
Name: 192.168.161.128
Address: 192.168.161.128#53
Aliases: 
Host www.magedu.com.magedu.com not found: 5(REFUSED)	
【root@centos7】# vim /etc/named.conf
allow-query	{localhost;};	###允许本机查询
allow-query	{any;};		###any表示所有人都能访问
【root@centos7】# rndc reload
[root@centos6-10 ~ 08:41:40]#host www.magedu.com 192.168.161.128
Using domain server:
Name: 192.168.161.128
Address: 192.168.161.128#53
Aliases: 
www.magedu.com is an alias for websrv1.magedu.com.
websrv1.magedu.com has address 192.168.161.100		###dns解析成功

猜你喜欢

转载自blog.csdn.net/weixin_42741132/article/details/82958424