DNS的介绍:
DNS (Domain Name System,域名系统)
相较于由数字构成的 IP 地址,域名更容易被理解和记忆,所以我们通常更习惯通过域名的方式来访问网络中的资源。但是,网络中的计算机之间只能基于 IP 地址来相互识别对方的身份,而且要想在互联网中传输数据,也必须基于外网的 IP 地址来完成。
为了降低用户访问网络资源的门槛,DNS(Domain Name System,域名系统)技术应运而生。这是一项用于管理和解析域名与 IP 地址对应关系的技术,简单来说,就是能够接受用户输入的域名或 IP 地址,然后自动查找与之匹配(或者说具有映射关系)的 IP 地址或域名,即将域名解析为 IP 地址(正向解析),或将 IP 地址解析为域名(反向解析)。
这样一来,我们只需要在浏览器中输入域名就能打开想要访问的网站了。DNS 域名解析技术的正向解析也是我们最常使用的一种工作模式。
DNS 服务器主要分为以下三种:
主服务器(权威服务器):在特定区域内具有唯一性,负责维护该区域内的域名与 IP 地址之间的对应关系。
从服务器:从主服务器中获得域名与 IP 地址的对应关系并进行维护,以防主服务器宕机等情况。
缓存服务器:通过向其他域名解析服务器查询获得域名与 IP 地址的对应关系,并将经常查询的域名信息保存到服务器本地,以此来提高重复查询时的效率。
1.首先我们要安装bind服务:
开启服务:
2.配置DNS高速缓存服务器:
配置文件为:
在客户端:需要设置获取DNS 的服务器:
dig www.baidu.com
这是由于:DNS 服务器从其他域名解析服务器查询获得域名保存在本地,下一次有客户端进行访问时,将会快速查询
3.DNS的配置及部署:
配置文件为:
对那个区域进行维护,在这个文件中配置:
下面我们要配置域名解析的文件:
在/var/named 下,可通过执行 cp -p named.localhost server.com.znoe 通过模版文件生成
@”符表示在子配置文件中所设定的那个域名(westos.com),该文件中所有的域名如dns.westos.com的结尾都需要添加一个“.”,否则会被该@符读取
第一行的TTL是一种设定,后面的1D表示该记录文件里面的各项记录的预设TTL值为86400秒,即刚好一天
IN定义出目前的记录类型是属于internet class的
SOA表示目前区域的授权记录开始,其后面的值为区域授权主机和管理信箱
serial表示修改的时间及次数,当自己在修改记录文件时需要更改serial的值,否则修改无法被slave识别;
refresh表示数据多久进行一次更新
retry表示如果slave的对数据更新失败后,多久后进行重试
expire记录逾期时间,即超过该时间slave未与master进行联系,系统会放弃retry并标记该数据标识为过期
minimum最小预设TTL的值,如果在文件开头没有设置TTL的值,将以该处的值为准
这里172.25.254.105表示从105获得解析;172.25.254.111表示把要维护的域www,westos.com解析为172.25.254.111;NS表示域名的名称服务器;A表示名称至ipv4地址。
编辑/etc/named.rfc1912.zones 载文件里最后几行,还是复制模版并改成网段和配置文件
cd /etc下 cp
cd /var/named/下 cp -p westos.com.zone westos.com.inter
编辑westos.com.inter将里面的172改为192
cp -p named.rfc1912.zones name .rfc1912.zones.inter
编辑name .rfc1912.zones.inter 复制上面的模版将里面改为westos.com且指定的file 改为“westos.com.inter”
cd /var/named/下
cp -p westos.com.zone westos.com.inter
编辑westos.com.inter将里面的172改为192配置好内网和外网
配置文件为:
编辑主配置文件 /etc/named.conf,将系统自带的注释掉,编写如下图所示模式:
添加下面的文件:
localnet表示本地,我这里匹配用户只有自己(用ip表示172.25.254.105),指定文件include是上面创建好的内网文件
internet表示外网 匹配用户其他所有,指定文件include是上面创建好的外网文件
分别在105本身和客户端测试
105解析出来是172表示内网
DNS远程更新
复制一份inter到/mnt/下,备份
1、在105中编辑主配置文件/etc/named.conf将自己写的注释
加权限 chmod g+w /var/named
并打开其他用户可以读写的权限 setsebool -P named_write_master_zones on
然后:vim /etc/named.rfc1912.zones将allow-update一行none改为172.25.254.205
在205直接测试nsupdate添加hello.westos.com完成后在105重启服务并查看westos.com.inter查看hello.westos.com是否加入成功 ,如下图
在客户端:
DHCP对DNS进行动态更新
首先要确保安装了dhcp服务
然后:
cp模版配置文件命令:cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
1)第7行修改为"westos.com"; 第8行修改为主机ip:172.25.254.105
第14行打开注释并改为interim
2)删除27、28行
3)删除35行以后的
4)修改30行以后的并修改为上图内容
完成后重启dhcpd服务
在客户端205修改主机名字为hello.westos.com
将其网络模式设置为dhcp并重启网络服务
dig hello.westos.com查看
rm -fr westos.com.zone*
cp -p /mnt/westos.com.zone . ##恢复域名解析文件
cd /mnt
dnssec-keygen -a HMAC-MD5 -b 128 -n HOST westos ##//生成对称加密文件,-a指定加密算法,-n,nametype,-b,加密字符数
cp -p /etc/rndc.key /etc/westos.key
vim /etc/westos.key 编辑key文件
key "westos" {
algorithm hmac-md5;
secret "aclcI8b+xmJOpOhrpDsE7Q=="; #这里为密码
};
。
vim /etc/named.conf
添加include "/etc/westos.key";
编辑: vim /etc/named.rfc1912.zones
添加文件:
zone "westos.com" IN {
type master;
file "westos.com.zone";
allow-update { key westos; };
also-notify { 172.25.254.205; };
};
systemctl restart named
scp Kwestos.+157+14628.* [email protected]:/mnt/
下面重启服务: systemctl restart named
在客户端实验:
nsupdate Kwestos.+157+20421.private
> server 172.25.254.105
> update add music.westos.com 86400 A 172.25.254.222
> send
> quit
DNS的动态域名解析----花生壳
首先要确定安装的dhcp安装包
yum install dhcp -y
cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcp.conf
vim /etc/dhcp/dhcp.conf
首先更改dhcp的配置文件
![在这里插入图片描述](https://img-blog.csdnimg.cn/2018112216363826.png
35行后面全删掉,27.28行删除。
subnet 172.25.254.0 netmask 255.255.255.0 { 子网、子网掩码
range 172.25.254.50 172.25.254.60; IP地区间
option routers 172.25.254.250; 网关
key westos{
algorithm hmac-md5; key的加密方式
secret ygluU0AuhkB2QTxbqY0rA==; ##key的密码
zone westos.com. {
primary 127.0.0.1; ##主机内部回环接口
key westos; ##读取的加密文件为westos
systemctl restart dhcp.service重启dhcp服务
systemctl restart named
systemctl restart dhcpd
systemctl stop firewalld.service ##关闭防火墙
在客户端:
服务端dns的配置
vim /etc/named.conf
vim /etc/rfc1912.zones
重启网络,查看自己的ip
在客户端测试:
将客户端ip设置为dhcp自动获取,重启网络,查看ip是否正确
我们查看到ip地址已经改变了
测试结果:
查看到了我们的解析内容,这样就成功了