域名管理系统DNS(Domain Name System)是域名解析服务器的意思,应用层协议,是互联网的一项服务。它在互联网的作用是:把域名转换成网络可以识别的ip地址,在通过IP地址访问主机。 种由文字组成的名称,显而易见要更容易记忆。
全世界只有13台根域名服务器,一个主根服务器在美国,12个辅根服务器,其中9个在美国,欧洲两个,位于英国和瑞典,亚洲一个位于日本
DNS的默认端口为53,DNS端口分为TCP和UDP。
TCP是用来做区域传送,多用于主从同步在一个区中主DNS服务器从自己本机的数据文件中读取该区的DNS数据信息,而辅助DNS服务器则从区的主DNS服务器中读取该区的DNS数据信息。
UDP是用来做DNS解析的域名:通常由一个完全合格域名(FQDN)标识。FQDN全称 Fully Qualified Domain Name,它能准确表示出其相对于DNS域树根的位置,也就是节点到DNS树根的完整表述方式,从节点到树根采用反向书写,并将每个节点用"."分隔,对于DNS域google来说,其完全正式域名(FQDN)为google.com.
FQDN命名有严格的限制,长度不能超过256字节,只允许使用字符a-z,0-9,A-Z和减号(-)。点号(.)只允许在域名标志之间(例如"google.com")或者FQDN的结尾使用。
域名不区分大小,由最顶层到下层,可以分成:根域、顶级域、二级域、子域即全域名:同时带有主机名和域名的名称
FQDN = Hostname + DomainName
如:www .baidu . com.
DNS作用:正向解析:根据域名查找对应的IP地址
反向解析:根据IP地址查找对应的域名
DNS系统的结构为分布式数据结构
1、根域:位于树状结构最顶层,用"."表示
2、顶级域:一般代表一种类型的组织机构或国家地区; 如.net(网络供应商,.cn(中国国家域名)
3、二级域:用来标明顶级域内的一个特定的组织,国家顶级域下面的二级域名由国家部门统一管理
4、子域:二级域下所创建的各级域统称为子域,各个组织或用户可以自由申请注册自己的域名
5、主机:主机位于域名空间最下层,就是一台具体的计算机
域名与IP地址之间是多对一的关系,一个IP地址不一定只对应一个域名,且一个域名只可以对应一个IP地址
常用DNS域名地址:
114.114.114.114是国内移动、电信和联通通用的DNS,手机和电脑端都可以使用。
8.8.8.8是GOoGLE公司提供的DNS,该地址全球通用,相对来说,更适合国外以及访问国外网站的用户使用
223.5.5.5和223.6.6.6:阿里云DNS
主机向本地域名服务器的查询一般都是采用递归查询。
所谓递归查询就是:如果主机所询问的本地域名服务器不知道被查询的域名的IP地址,那么本地域名服务器就以DNS客户的身份, 向其它根域名服务器继续发出查询请求报文(即替主机继续查询),而不是让主机自己进行下一步查询。 因此,递归查询返回的查询结果要么是所要查询的IP地址,或者是报错,表示无法查询到所需的IP地址。
本地域名服务器向根域名服务器的查询的方式叫迭代查询
迭代查询的特点:当根域名服务器收到本地域名服务器发出的迭代查询请求报文时,要么给出所要查询的IP地址,要么告诉本地服务器:“你下一步应当向哪一个域名服务器进行查询”。
然后让本地服务器进行后续的查询。根域名服务器通常是把自己知道的顶级域名服务器的IP地址告诉本地域名服务器,让本地域名服务器再向顶级域名服务器查询。
顶级域名服务器在收到本地域名服务器的查询请求后,要么给出所要查询的IP地址,要么告诉本地服务器下一步应当向哪一个权限域名服务器进行查询。
最后,知道了所要解析的IP地址或报错,然后把这个结果返回给发起查询的主机
1、主域名服务器:负责维护一个区域的所有域名信息,是特定的所有信息的权威信息源,数据可以修改。构建主域名服务器时,需要自行建立所负责区域的地址数据文件。
2、从域名服务器:当主域名服务器出现故障、关闭或负载过重时,从域名服务器作为备份服务提供域名解析服务。从域名服务器提供的解析结果不是由自己决定的,而是来自于主域名服务器。构建从域名服务器时,需要指定主域名服务器的位置,以便服务器能自动同步区域的地址数据库。
3、缓存域名服务器:只提供域名解析结果的缓存功能 目的在于提高查询速度和效率,但没有域名数据库。它从某个远程服务器取得每次域名服务器查询的结果,并将它放在高速缓存中,以后查询相同的信息时用它予以响应。缓存域名服务器不是权威性服务器,因为提供的所有信息都是间接信息。构建缓存域名服务器时,必须设置根域或指定其他DNS服务器作为解析来源。
4、转发域名服务器:负责所有非本地域名的本地查询。转发域名服务器接到查询请求后,在其缓存中查找,如找不到就将请求依次转发到指定的域名服务器,直到查找到结果为止,否则返回无法映射的结果。
1.检查并安装bind软件
[root@xiayan ~]# rpm -q bild
未安装软件包 bild
[root@xiayan ~]# yum install -y bild
2.查询bind软件配置文件
[root@xiayan ~]# rpm -qc bind #查询bind软件配置文件路径
/etc/named.conf #主程序配置文件
/etc/named.rfc1912.zones #区域配置文件
/named/named.localhost #区域数据配置文件
1.编辑主程序配置
[root@xiayan ~]# cp -p /etc/named.conf /etc/name.conf.bak #备份配置文件
[root@xiayan ~]# vim /etc/named.conf
options {
listen-on port 53 { 192.168.48.6; }; #监听端口为53,监听的IP地址为本地的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"; #内存统计文件位置
recursing-file "/var/named/data/named.recursing";
secroots-file "/var/named/data/named.secroots";
allow-query { 192.168.48.0/24; }; #允许使用本DNS解析的网段,any为所有网段
2.配置区域文件
[root@xiayan ~]# cp -p /etc/named.rfc1912.zones /etc/named.rfc1912.zones.bak #备份
[root@xiayan ~]# vim /etc/named.rfc1912.zones
zone "localhost.localdomain" IN { #正向解析"localhost.localdomain"域名
type master; #类型为主区域
file "named.localhost"; #指定区域数据文件为named.localhost
allow-update { none; };
};
[root@xiayan ~]# cd /var/named #数据区域文件所在目录
[root@xiayan named]# cp -p named.localhost xiayan.com.zone #保留源权限复制在当前目录下
[root@xiayan named]# vim xiayan.com.zone
$TTL 1D #缓存解析结果生命周期
@ IN SOA xiayan.com. admin.xiayan.com. ( #“@”符号表示当前的DNS区域名
0 ; serial #更新序列号,可以是10位以内的整数
1D ; refresh #刷新时间,重新下载地址数据的间隔
1H ; retry #重试延时,下载失败后的重试间隔
1W ; expire #失效时间,超过该时间仍无法下载则放弃
3H ) ; minimum #无效解析x记录的生存周期
NS xiayan.com. #记录当前区域的DNS服务器的名称
A 192.168.48.6 #记录主机IP地址
IN MX 10 mail.xiayan.com. #MX为邮件交换记录,数字越大优先级越低
www IN A 192.168.48.6 #记录正向解析www.xiayan.com对应的IP
mail IN A 192.168.48.20
ftp IN CNAME www #CNAME使用别名,ftp是www的别名
* IN A 192.168.48.100 #泛域名解析,“*"代表任意主机名
配置完后重启服务:systemctl start named
如果启动失败:tail -f /var/log/ message 可以查看日志文件来排查错误
ps:区域数据文件地址最后的==“.”==一定不要忘记
更改DNS
vim /etc/resolv.conf #修改完后立即生效
nameserver 192.168.48.6
或
vim /etc/ sysconfig/network- scripts/ ifcfg-ens33 #修改完后需要重启网卡
DNS1=192.168.48.6
systemctl restart network
4.测试DNS解析
nsloopup www.xiayan.com
nslookup ftp.xiayan.com
1.编辑主程序配置文件
此配置与正向解析配置相同
2.配置区域文件
[root@xiayan ~]# vim /etc/named.rfc1912.zones
zone "0.in-addr.arpa" IN { #IP地址反过来写,192.168.48.0反过来:48.168.192
type master;
file "named.empty"; #指定反向解析数据文件,和正向解析数据文件相同
allow-update { none; };
};
3.配置数据区域文件
[root@xiayan named]# cp -p named.localhost xiayan.com.zone.local
[root@xiayan named]# vim xiayan.com.zone.local
重启服务:systemctl restart named
4.测试DNS反向解析
nslookup 192.168.48.100
nslookup 192.168.48.200
当主域名服务器出现故障、关闭或负载过重时,从域名服务器作为备份服务提供域名解析服务。从域名服务器提供的解析结果不是由自己决定的,而是来自于主域名服务器。构建从域名服务器时,需要指定主域名服务器的位置,以便服务器能自动同步区域的地址数据库。
使用两台服务器,构建主域与从域服务器
2.区域文件配置
正向解析:
zone "xiayan.com" IN {
type master; #type类型为主域
file "xiayan.com.zone"; #指定区域文件地址
allow-transfer { 192.168.48.7; }; #指向从域IP地址
};
反向解析:
zone "48.168.192.in-addr.arpa" IN { #反向解析地址192.168.48.0网段,0可以不写
type master; #type类型为主域
file "xiayan.com.zone"; #指定区域文件地址
allow-transfer { 192.168.48.7; }; #指向从域IP地址
};
3.区域数据配置
[root@xiayan ~]# cd /var/named #数据区域文件所在目录
[root@xiayan named]# cp -p named.localhost xiayan.com.zone #保留源权限复制在当前目录下
[root@xiayan named]# vim xiayan.com.zone
重启服务:systemctl restart named
4.更改DNS
vim /etc/resolv.conf #修改完后立即生效
nameserver 192.168.48.6
或
vim /etc/ sysconfig/network- scripts/ ifcfg-ens33 #修改完后需要重启网卡
DNS1=192.168.48.6
systemctl restart network
2.区域文件配置
vim /etc/named.rfc1912.zones
正向解析:
zone "xiayan.com" IN {
type slave; #type类型为从域
file "slaves/xiayan.com.zone"; #指向从域区域数据位置
masters { 192.168.48.6; }; #指向主域IP
};
反向解析:
zone "48.168.192.in-addr.arpa" IN {
type slave; #type类型为从域
file "slaves/xiayan.com.zone"; #指向从域区域数据位置
masters { 192.168.48.6; }; #指向主域IP
};
重启服务:systemctl restart named
3.更改DNS
vim /etc/resolv.conf #修改完后立即生效
nameserver 192.168.48.7
或
vim /etc/ sysconfig/network- scripts/ ifcfg-ens33 #修改完后需要重启网卡
DNS1=192.168.48.7
systemctl restart network
1.主域服务器解析测试
2.从域服务器解析测试
停止主域服务器,使用从域服务器解析
分离解析的域名服务器实际也是主域名服务器,这里主要是指根据不同的客户端提供不同的域名解析记录。比如来自内网
和外网的不同网段地址区域的客户机请求解析同一域名时,为其提供不同的解析结果,得到不同的IP地址。
注:DNS分离解析即将内外网的相同域名解析为不同的IP地址。
配置网关服务器搭建DNS分离解析
在网关服务器搭建DNS分离解析,使局域网主机解析www.xiayan.com为192.168.48.10,外网主机解析www.xiayan.com
为10.0.0.10。
1.配置主程序文件
2.区域文件配置
内网编辑:
view "int" { #定义外网view,view代表容器分割
match-clients { 192.168.48.0/24; }; #匹配内网网段
zone "xiayan.com" IN { #要解析的区域
type master;
file"xiayan.com.zone.int"; #区域数据文件位置
zone "." IN { #此处为根域配置文件,是从主配置文件剪切过来
type hint; #hint是根区域类型
file "named.ca";
};
};
};
外网编辑:
view "out" {
match-clients { 10.0.0.0/24; };
zone "xiayan.com" IN {
type master;
file"xiayan.com.zone.out";
};
};
3.数据区域文件配置
内网数据区域配置
[root@xiayan named]# cp -p named.localhost xiayan.com.zone.int
[root@xiayan named]# vim xiayan.com.zone.int
$TTL 1D
@ IN SOA xiayan.com. admin.xiayan.com. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS xiayan.com.
A 192.168.48.6 #记录主机IP
www IN A 192.168.48.10 #记录正向解析www.xiayan.com对应的IP地址
外网数据区域设置
[root@xiayan named]# cp -p named.localhost xiayan.com.zone.out
[root@xiayan named]# vim xiayan.com.zone.out
$TTL 1D
@ IN SOA xiayan.com. amdin.xiayan.com. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS xiayan.com.
A 10.0.0.2 #记录主机IP
www IN A 10.0.0.10 #记录正向解析www.xiayan.com对应的IP地址
4.网卡配置
给内网服务器增加一个网卡
编辑刚添加的网卡信息:
ifconfig -a #查看刚添加的网卡信息
cp /etc/sysconfig/network-scripts/ifcfg-ens33 /etc/sysconfig/network-scripts/ifcfg-ens36 #复制原ens33配置,并改名为ens36
ifup ens36 #开启新网卡
vim /etc/sysconfig/network-scripts/ifcfg-ens36 #更改网卡信息
1.DNS解析方式有,正向解析和反向解析,正向解析是将域名解析为IP地址,反向则相反
2.DNS工作原理有递归和迭代两种;递归是主机向本地域名服务器查询的方式;迭代是本地域名服务器向根服务器查询的方式。
3.主从域服务器,当主域服务器宕机,从域服务器顶替;从服务器会复制主域服务器的相关配置
4.分离解析:内外网公用一个域名,但是对应的IP地址不同
5.bind配置文件主要分为:服务主配置文件,区域配置文件,区域数据文件