相关知识
域名解析:
将主机名自动转换为ip地址。
1./etc/hosts (早期单一文件式处理)
利用/etc/hosts文件将主机名与ip一一对应,来达到根据主机名获取ip的功能。
缺点:容量小,同步性差,信息要求高(需要同时知道主机名和ip)。
2.bind (阶层式管理系统)
BIND(berkeley internet name domain)伯克利大学开发,目前世界上使用最广泛的域名系统(DNS)。通过dns 在只知道主机名的情况下,可以连上该主机。
3.两种方式的选择
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsIyM3MzMxYDMwIjMwkDM2EDMy8CX0Vmbu4GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.jpg)
注:在linux系统里面可以看到一般是以原始的单一文件类型的/etc/hosts为第一询问点。然后才是查询我们的DNS。
(这个可以通过修改files 与 dns的的位置修改访问顺序)
域名系统:
Domain Name System (DNS)
DNS利用类似树形的目录架构,将主机名的管理分配到不同层级的DNS服务器中,并进行分层管理。每一层上的DNS服务器所记录的信息,其实只有其下一层的主机名而已。因此每台服务器要处理的信息量并不会特别的大。若ip变动也能很容易的进行修改。
缺点:当DNS宕机,几乎相当于没有internet。
相关的概念:
主机名(hostname):网段下面的主机ip(可标识字段)
域名(domainname):网络所在区段(区域的字段)
完整主机名(FQDN):由域名与主机名组成
注:主机名与域名不是绝对的,看各例子:
www.dannneel.edu.tk
从上往下分析:开始的时候.tk为域名,其余为主机名;往下一层,.edu.tk是域名,其余为主机名;以此类推,到最后,域名越来越长,域名范围越来越小,主机名越来越小,到最后确定到一台机子上。
利用DNS查询主机ip的流程:
- a)读取查询目的; 当输入查询,系统查询/etc/resolv.conf文件读DNS服务的地址,连接咨询。
- b)被连接的DNS服务器进行查询是否有相关记录,有则返回信息。没有则向.(root)超级DNS服务器询问。
- c)由于域名系统的每一层服务只记录下一层的服务,所以递归向下,直到最后一层。
- 得到需要查询的ip后,指定的那个DNS服务器,首先刷新自己本地的缓存,方便下次查询;然后将得到的结果给用户返回。
常用命令:
dig
dig 完整主机名 ##正向查询主机ip
dig -x ip ##反向查询,查询主机名
非权威(无授权)DNS服务器
(授权的DNS服务器会有其他的网络用户进行咨询访问,非授权的只能在小局部进行服务提供)
注:以下操作进行的均为非授权的DNS服务器搭建。
准备工作:
1.首先进行DNS服务软件的安装:
yum install bind -y
重启刷新,确定DNS服务处于开启的状态;
2.修改dns服务配置文件:
A)相关文件里面的关键字段:
1)
/etc/named.conf ##DNS服务配置文件
/etc/named.rfc1912.zones ##DNS服务配置文件辅助文件,在指定关于域文件或者叫DNS数据库有重要的配置指定作用
listen-on 控制 named 侦听的 IPv4 地址
listen-on-v6 控制 named 侦听的 IPv6 地址
allow-query 控制哪些客户端可以向 DNS 服务器询问信息
forwarders 包含 DNS 查询将转发至的名称服务器的列表
( 而不是直接联系外部名称服务器 ; 在设有防火 墙的情况中
很有用 )
2)
/var/named/named.localhost
– A : 名称至 IPv4 地址
– AAAA : 名称至 IPv6 地址
– CNAME : 名称至 ”规范名称 “ ( 包含 A/AAAA 记录的另
一个名称 )
– PTR : IPv4/IPv6 地址至名称
– MX : 用于名称的邮件交换器 ( 向何处发送其电子邮件 )
– NS : 域名的名称服务器
– SOA :” 授权起始 “ , DNS 区域的信息 ( 管理信息 )
B)修改配置:
1)设置本地域名解析访问的dns服务器地址:
/etc/resolv.conf
这个文件指定了域名解析咨询的DNS服务器地址,可以多写几个当前面的几个DNS服务器宕机的时候按文件的额顺序,会访问咨询豁后面的DNS服务器,保证了上网域名解析的正常运行。
1.Cach-only 唯高速缓存DNS服务器:
没有自己的公开的zone域文件或者叫DNS数据库。通过缓存搜索的结果,提供服务。
修改域名服务相关配置:
/etc/named.conf
11 12 行设置端口接受所有网络的访问
17行设置任何客户端可以进行访问
32行设置dns不进行验证(非权威的)
35 行添加这一行,设定当本地的dns服务器没有相关答案的时候对上一级dns服务器的询问。
重新启动服务。在这里我们不进行域文件或者叫DNS数据库进行添加修改,这就是一个Cach-only 唯高速缓存DNS服务器。
2.正向解析功能DNS服务器:
在添加正向解析库以及设定前,测试一下:
dig aaa.danny.com
并没有正确的找到相关的信息。
修改添加域指向文件内容:
/etc/named.rfc1912.zones
复制文件内容模板,进行复制填入内容。
其中type为DNS数据库类型,一般有;hint,master/slave
File:指向域文件或者叫DNS数据库.
添加域文件(DNS数据库):
注意一定要加上参数 -p 拷贝文件不忽略文件的权限,否者系统无法识别。
制作自己的域文件修改相关的记录信息:
重新启动域名服务器,查询:
可以看到现在查到的信息是我们修改的DNS数据库文件里的信息。成功。
拓展功能:
CNAME更名:
在添加DNS数据库的时候加行CNAME字段可以将查询的主机名转到另一个主机名查找对应的ip(类似于快捷方式)。
修改DNS数据库信息:
刷新重启服务,查询结果:
邮件交换(Mail eXchanger):
预先将要送到某个区域的邮件送到指定的邮件服务器。
修改DNS数据库信息:
刷新重启服务,查询结果:
可以看到设置成功。
3.反向解析功能:
开始前进行fff.danny.com对应的172.25.106.188 进行反解析:
复制域文件指向文件的指向模板,进行添加;
/etc/named.rfc1912.zones
添加指向反向域文件。
添加反向域文件:
修改文件内容:
重新启动,查询:
4.设置本地双边(双向)DNS解析:
使得当DNS接到咨询请求时,根据请求者的ip网段,走到不同的DNS数据库指定文件,再根据不同的指定文件找到相关的DNS数据库,返回不同的结果。
效果:
内网段的机器只能查到相同内网段的主机,不能查到外网的网段的主机。可用于限制上网范围。
A)修改
/etc/named.conf
文件:
根据ip网段不同,指定不同的DNS数据库指向文件:
(在修改之前每次都是根据注释掉的指示,查询/etc/named.rfc1912zones,现在这个文件没有被指定,失效了)
B)创建不同的DNS数据库指向文件:
修改内容使得不一样:
(原本以zone结尾的DNS数据库没有条目指向,相当于废弃了)
local结尾文件:
inter结尾文件:
C)创建不同的DNS数据仓库:
local结尾文件:
inter结尾文件:
现在基本配置好了,
测试1:
用另一台在6网段的机子设置
/etc/resolv.conf
查询的DNS服务后进行测试:(DNS服务器有6网段和254网段)
结果:
测试2:
将这台测试机子的网段设为254的,
/etc/resolv.conf
将查询指向DNS服务器也修改,(其实访问的还是同一台物理机)
结果:
5.主辅dns服务器:
指定master DNS为主服务数据库与slave DNS为辅助数据库 ,slave DNS本身没有数据库slave DNS会自动更新master DNS的数据库。
Master DNS 配置:
resolv.conf
/etc/named.conf
/etc/named.rfc1912.zones
##指定域文件
主master DNS的配置完成,下面进行slave DNS 端的配置:
resolv.conf
文件指定服务器的IP,指向自己.
/etc/named.conf
/etc/named.rfc1912.zones
##在配置文件里面指明主master DNS。
指向masters 的IP
同步masters 的文件到slave下。
重启DNS服务,查看slave底下的文件,,可以得知效果:
可以看到同步到slave DNS 成功。但是如果当master DNS的域文件内容改变,那么默认slave不会得知并且同步更新。
自动更新主辅dns服务器:
下面设置master DNS服务器,当master DNS服务器更新,主动向slave DNS 提出更新信息。
修改master DNS服务器:
/etc/named.rfc1912.zones
##指明传送的slave DNS服务器的ip
westos.com.zone文件被修改后,注意要修改serial号,只有当serial不一样,系统认为文件更新了,才会给slave DNS发送更新信息。
重启master与slaver两边的DNS服务,配置完成。
all