Linux:DNS服务
DNS服务 C/S
DNS:Domain Name Service 应用层协议
服务器端口:C/S,53/udp, 53/tcp
BIND:Bekerley Internat Name Domain
ISC (www.isc.org)bind官网
本地名称解析配置文件:
/etc/hosts
hosts文件和dns优先顺序:
/etc/nsswitch.conf
windows:
/system32/drivers/etc/hosts
分散式:配置每个主机的hosts文件
集中式:NIS服务名词解析,集中存放在一个服务器上
分布式:DNS解决方案
www.dushan.com 全称域名(主机名|别名+域名)
www 主机名或别名
dushan.com 域名
DNS域名
根域
一级域名:Top Level Domain: tld
com, edu, mil, gov, net, org, int,arpa
三类:组织域、国家域(.cn, .ca, .hk, .tw)、反向域
二级域名
三级域名 www.sina.com.cn
最多127级域名
ICANN(The Internet Corporation for Assigned Names and Numbers)互联网名称与数字地址分配机构,负责在全球范围内对互联网通用*域名(gTLD)以及国家和地区*域名(ccTLD)系统的管理、以及根服务器系统的管理
上级域知道下级域IP
下级域不知道上级域IP
大概流程:
用户通过小区DNS服务器想访问www.dushan.com这个网站,
小区DNS不知道www.dushan.com是哪的地址,需要找到权威的DNS服务器去问,
可是又不知道谁是,小区DNS就会去问根域。根一看是com的就会告诉他去找.com的问。
com也不知道,但是会告诉他去找dushan的问。直到找到权威的服务器。找到之后缓存到
自己的机器上然后告诉用户主机解析这个网站。
基于名字访问所以用到DNS解析服务。
QQ不依赖于DNS,因为内置IP地址。所以有时候QQ能上,网站打不开。
DNS查询类型:
递归查询:自己去一级级问,最终交给用户
迭代查询:推荐去哪级查,让用户自己去查
名称服务器:域内负责解析本域内的名称的主机
根服务器:13组服务器
IPV4一共13个根域服务(10个在美国,1个在荷兰,1个在瑞典,1个在日本)
IPV6一共25个根域服务(中国有1个主3个从,主在北京,从在上海,成都,广东)
解析类型:
FQDN --> IP 正向解析
IP --> FQDN 反向解析 arpa域:反向解析域
注意:正反向解析是两个不同的名称空间,是两棵不同的解析树
www.baidu.com回车后发生了什么
DNS方面:
hosts文件
DNS Service Local Cache 缓存 win:缓存 ipconfig/displaydns 清缓存 ipconfig/flushddns
interation(迭代)-->根-->*域名DNS-->二级域名DNS...找到
bind服务器
服务脚本和名称:/etc/rc.d/init.d/named /usr/lib/systemd/system/named.service
主配置文件:/etc/named.conf, /etc/named.rfc1912.zones, /etc/rndc.key
解析库文件:/var/named/ZONE_NAME.ZONE
根服务器路径名:/var/named/named.ca
[[email protected] ~]#grep -v '^;' /var/named/named.ca (-V排除;注释)
. 518400 IN NS a.root-servers.net.
. 518400 IN NS b.root-servers.net.
. 518400 IN NS c.root-servers.net.
. 518400 IN NS d.root-servers.net.
. 518400 IN NS e.root-servers.net.
. 518400 IN NS f.root-servers.net.
. 518400 IN NS g.root-servers.net.
. 518400 IN NS h.root-servers.net.
. 518400 IN NS i.root-servers.net.
. 518400 IN NS j.root-servers.net.
. 518400 IN NS k.root-servers.net.
. 518400 IN NS l.root-servers.net.
. 518400 IN NS m.root-servers.net.
a.root-servers.net. 3600000 IN A 198.41.0.4 IPV4正向解析A记录
a.root-servers.net. 3600000 IN AAAA 2001:503:ba3e::2:30 IPV6正向AAAA记录
b.root-servers.net. 3600000 IN A 192.228.79.201
b.root-servers.net. 3600000 IN AAAA 2001:500:84::b
c.root-servers.net. 3600000 IN A 192.33.4.12
c.root-servers.net. 3600000 IN AAAA 2001:500:2::c
d.root-servers.net. 3600000 IN A 199.7.91.13
d.root-servers.net. 3600000 IN AAAA 2001:500:2d::d
e.root-servers.net. 3600000 IN A 192.203.230.10
e.root-servers.net. 3600000 IN AAAA 2001:500:a8::e
f.root-servers.net. 3600000 IN A 192.5.5.241
f.root-servers.net. 3600000 IN AAAA 2001:500:2f::f
g.root-servers.net. 3600000 IN A 192.112.36.4
g.root-servers.net. 3600000 IN AAAA 2001:500:12::d0d
h.root-servers.net. 3600000 IN A 198.97.190.53
h.root-servers.net. 3600000 IN AAAA 2001:500:1::53
i.root-servers.net. 3600000 IN A 192.36.148.17
i.root-servers.net. 3600000 IN AAAA 2001:7fe::53
j.root-servers.net. 3600000 IN A 192.58.128.30
j.root-servers.net. 3600000 IN AAAA 2001:503:c27::2:30
k.root-servers.net. 3600000 IN A 193.0.14.129
k.root-servers.net. 3600000 IN AAAA 2001:7fd::1
l.root-servers.net. 3600000 IN A 199.7.83.42
l.root-servers.net. 3600000 IN AAAA 2001:500:9f::42
m.root-servers.net. 3600000 IN A 202.12.27.33
m.root-servers.net. 3600000 IN AAAA 2001:dc3::35
资源记录
区域解析库:由众多资源记录RR(Resource Record)组成
记录类型:
SOA :Start Of Authority,起始授权记录;
一个区域解析库有且仅能有一个SOA记录,必须位于解析库的第一条记录
A :internet Address,作用:FQDN --> IP 名字转换成IP地址
AAAA :FQDN --> IPv6
PTR :PoinTeR,IP --> FQDN
NS :Name Server,专用于标明当前区域的DNS服务器
CNAME:Canonical Name,别名记录
MX :Mail eXchanger,邮件交换器
TXT :对域名进行标识和说明的一种方式,一般做验证记录时会使用此项,
SPF(反垃圾邮件)记录,https验证等
例:_dnsauth IN TXT 2012011200000051qgs69bwoh4h6nht4n1h0lr038x
语法:name [TTL] IN rr_type value
名称+生命期+IN+类型+值
注意:
(1) TTL可从全局继承 (放在最前段,不用每行都写)
(2) @可用于引用当前区域的名字
(3) 同一个名字可以通过多条记录定义多个不同的值;此时DNS服务器会以轮询方式响应
(4) 同一个值也可能有多个不同的定义名字;
通过多个不同的名字指向同一个值进行定义;
此仅表示通过多个不同的名字可以找到同一个主机
SOA记录
name: 当前区域的名字,例如dushan.com.(注意一定要带.不写系统则自动补为dushan.com.dushan.com.)
value: 有多部分组成
1、主DNS名称 dns1.dushan.com
2、管理员邮箱 admin.dushan.com (注意@换成.)
3、数据库版本号 10 (每次记得递增)
4、主从同步间隔 1h
5、主从同步重试间隔 10m (注意间隔小于同步间隔)
6、从数据库过期有效时长
7、不存在记录的缓存时长
A记录
name: 某主机的FQDN,例如www.dushan.com.
value: 主机名对应主机的IP地址 例如8.8.8.8
例:
www.dushan.com. IN A 8.8.8.8
NS记录
name:本域的域名dushan.com. 或者@(@表示本域)
value:当前区域的某DNS服务器的名字
例:需配合A记录解析成IP
@ IN NS dns1.dushan.com. 或 @ IN NS dns1
@ IN NS dns2.dushan.com.
dns1.dushan.com. IN A 192.168.32.7
dns2.dushan.com. IN A 192.168.32.17
CNANME记录
name: 别名的FQDN
value: 真正名字的FQDN
例:需配合A记录解析成IP
www IN CNAME web-nginx01.dushan.com. (www后面写点自己补后缀)
web-nginx01.dushan.com. IN A 101.200.199.230
MX记录
name: 当前区域的名字
value: 当前区域的某邮件服务器(smtp服务器)的主机名
一个区域内,MX记录可有多个;但每个记录的value之前应该有一个数字(0-99),表示此服务器的优先级;数字越小优先级越高
例:任何一个MX记录后面的服务器名字,都应该在后续有一个A记录
@ IN MX 10 mail.dushan.com.
@ IN MX 20 mail2.dushan.com.
mail IN A 10 3.3.3.3 (mail等同mail.dushan.com.)
mail IN A 20 6.6.6.6
开放53端口,修改配置文件,默认为127.0.0.1
vim /etc/named.conf
...
options {
listen-on port 53 { localhost; };
...
[[email protected] ~]#systemctl reload named
[[email protected] ~]#ss -ntlu
Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port
...
udp UNCONN 0 0 172.20.121.114:53 *:*
udp UNCONN 0 0 192.168.32.7:53 *:*
..
tcp LISTEN 0 10 172.20.121.114:53 *:*
tcp LISTEN 0 10 192.168.32.7:53 *:*
...
填写dushan.com.zone区域解析库
[[email protected] ~]#vim /etc/named.rfc1912.zones
zone "dushan.com" { 域
type master; 设置类型
file "dushan.com.zone "; 设置文件名,需手工创建此文件
[[email protected] ~]#cd /var/named
[[email protected] named]#ls
data dynamic named.ca named.empty named.localhost named.loopback slaves
[[email protected] named]#cp named.localhost dushan.com.zone -a 复制模板 注意权限
[[email protected] named]#ll
total 20
drwxrwx--- 2 named named 23 Sep 27 03:09 data
-rw-r----- 1 root named 152 Jun 21 2007 dushan.com.zone
drwxrwx--- 2 named named 60 Sep 27 03:09 dynamic
-rw-r----- 1 root named 2281 May 22 2017 named.ca
-rw-r----- 1 root named 152 Dec 15 2009 named.empty
-rw-r----- 1 root named 152 Jun 21 2007 named.localhost
-rw-r----- 1 root named 168 Dec 15 2009 named.loopback
drwxrwx--- 2 named named 6 Apr 13 02:48 slaves
编辑dushan.com.zone文件
[[email protected] named]vim dushan.com.zone
rndc reload 同步命令
named-checkconf 检查配置文件
named-checkzone dushan.com /var/named/dushan.com.zone 名字+存在位置
/etc/resolv.conf
win清除dns
C:\Users\Dadda>ipconfig/flushdns
win检查dns nslookup
[[email protected] ~]#host www.dushan.com 192.168.32.7
[[email protected] ~]#dig www.dushan.com @192.168.32.7
检查dns
设置192.168.32.6 通过192.168.32.7的DNS解析,访问www.dushan.com网页
192.168.32.6 网卡配置文件,配置DNS为192.168.32.7
[[email protected] network-scripts]vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
IPADDR=192.168.32.6
PREFIX=24
ONBOOT=yes
DNS1=192.168.32.7
[[email protected] ~]#service network restart
[[email protected] network-scripts]#cat /etc/resolv.conf
# Generated by NetworkManager
nameserver 192.168.32.7
2、