DNS(Domain Name System,域名系统),万维网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。通过域名,最终得到该域名对应的IP地址的过程叫做域名解析(或主机名解析)。DNS协议运行在UDP协议之上,使用端口号53。
环境:
重置desktop
设置yum源 设置eth0 ip
vim /etc/yum.repos.d/rhel_dvd.repo
http://172.25.254.250/rhel7.2
vim /etc/sysconfig/network-scripts/ifcfg-eth0
IPADDR=172.25.254.11
PREFIX=24
BOOTPROTO=none
ONBOOT=yes
TAPE=Ethernet
GATEWAY=172.25.254.250
systemctl restart network
测试
yum repolist
服务器Desktop :ip为172.25.254.111,客户端真机:ip为172.25.254.11
把外部的dns设置成本地的高速缓存。
高速缓存搭建过程:
1.服务端安装高速缓存服务软件
yum install bind -y
systemctl start named 开启高速缓存服务
注意:开启服务时,若因为加密字符不够,无法正常开启;需要敲击键盘或移动鼠标
systemctl enable named 开机自启
systemctl stop firewalld 关闭火墙
systemctl disable firewalld
正常开启后生成文件 /etc/rndc.key
2.高速缓存dns
当服务端只允许53接口回环使用时,客户端是无法访问的
当服务端53接口共享,但只允许本地用户访问时,客户端也是无法访问的
所以需要改为下面的内容;
vim /etc/named.conf
11 listen-on port 53 { any; };
17 allow-query { any; };
18 forwarders { 172.25.254.11 };
systemctl restart named 重启服务
3.测试:
在测试主机中,即客户端主机
修改本地解析文件
vim /etc/resolve.conf
nameserver 172.25.254.111 指向服务器主机
dig www.baidu.com
客户端访问得到结果
当访问域名时,DNS服务器若第一次访问网站,查询信息的时间相对较长
当再次访问时,DNS将查询信息已经缓存,此时迅速进行域名解析(即达到高速缓存)
1.修改dns服务主配置文件,改为本地解析 (不去访问其他服务器)
vim /etc/named.conf ##forwarders指向114.114.114.114,这项注释掉
2.修改配置文件,创建域名 /etc/named.rfc1912.zones
vim /etc/named.rfc1912.zone
24 zone "westos.com" IN {
25 type master;
26 file "westos.com.zone";
27 allow-update { none; };
28 };
3.新建文件 ##/var/named目录下
cd /var/name
cp -p named.localhost westos.com.zone
4.编写正向数据库文件
vim westos.com.zone
systemctl restart named 重启服务
5.测试:
在测试主机即真机中
vim /etc/resolve.conf
nameserver 172.25.254.111 ##指向dns服务器主机
浏览器:dig www.westos.com
什么是ip反向解析?
我们经常使用得到的DNS服务器里面有两个区域,即正向查找区域和反向查找区域,正向查找区域就是我们通常所说的域名解析,反向查找区域即是这里所说的ip反向解析,它的作用就是通过ip地址的ptr记录来得到ip地址指向的域名,当然,要成功得到域名就必须要有该ip地址的ptr记录,ptr记录是邮件交换记录的一种,邮件交换记录中有A记录和ptr记录,A记录解析名字到地址,而ptr记录解析地址到名字,地址是指一个客户端的ip地址,名字是指一个客户的完全合格域名。通过对ptr的记录查询,得到反查的目的。(ip反向解析主要应用到邮件服务器中来拦截垃圾邮件。)
1.创建反向区域域名
vim /etc/named.rfc1912.zone 添加westos.com.ptr域
2.新建文件 ##在/var/named目录下
cd /var/named
cp -p named.loopback westos.com.ptr -p
3. 修改文件
vim westos.com.ptr
添加ip项
systemctl restart named 重启服务
4.测试:
在测试主机中即真机中:
vim /etc/resolve.conf
nameserver 172.25.254.111
浏览器:dig -x 172.25.254.111
注意:本地(正向/反向)解析时,若named配置文件找不到该域名IP地址,会访问失败
1.修改配置文件 westos.com.zone ##在/var/named目录下
2.本地解析时,域名解析出现轮询式 dig hello.westos.com
首次访问域名时:
再次访问域名,出现轮询式:
环境:dns域名系统已安装,防火墙关闭状态,selinux是disable的。
dns服务器Desktop主机ip:172.25.254.111
外网主机真机ip:172.25.254.11
给内网还有外网不同的解析地址
注意:须还原主配置文件/etc/named.conf,将修改的内容注释掉!
1.修改主dns服务器主配置文件 (设置内网,外网)
vim /etc/named.conf
注释原来的zone
view localnet 新增本地(local)域名解析 内网
view any 其他主机(any)域名解析 外网
2.修改主dns服务上的子配置文件
vim /etc/named.rfc1912.zone 外网域名解析子配置文件
cp /etc/named.rfc1912.zone /etc/named.rfc1912.localnet -p
vim /etc/named.rfc1912.localnet 内网域名解析子配置文件
3.修改主dns服务器数据文件
cd /var/named/
cp westos.com.zone westos.com.localnet -p
vim westos.com.zone 外网访问dns解析数据库
vim westos.com.localnet 内网访问dns解析数据库
内网的解析数据库172.25.254全换成192.168.0
4.重启named服务
systemctl restart named
5.测试:
外网主机172.25.254.11
vim /etc/resolve.conf
nameserver 172.25.254.111 ##向主机dns服务器要域名解析
内网主机192.168.0.111
vim /etc/resolve.conf
nameserver 172.25.254.111 ##向自己询问域名解析
当许多台主机都需要域名解析时,此时主dns的压力会过大,所以这个时候就需要一个辅助dns来帮助它分解一些压力。
主dns Desktop IP:172.25.254.111 辅助dns Server IP:172.25.254.211
1.主dns的设定
1)修改外网域名解析配置文件
vim /etc/named.rfc1912.zones ##指定同步辅助dns
also-notify {172.25.254.211;} ##当文件变更时,通知211主机
systemctl restart named 重启服务
2)本地主机修改文件westos.com.zone
042601 ; serial ##最后一次修改时间
1D ; refresh ##自动更新时间1d
1H ; retry ##再次刷新时间1h
1W ; expire ##到期时间
H ) ; minimum ##最低限度
注意:每次更改A记录文件后必须更改serial的数值,这个数值最大10位,主从都重启服务后,辅助dns主机会同步信息。
2.辅助dns主机上
1)环境:配置好IP,yum源,防火墙关闭状态,selinux是disable的,安装完bind,打开named服务
图形方式配置IP
systemctl restart named 重启named服务后,会同步westos.com.zone文件
systemctl stop firewalld
2)辅助主机修改本地解析文件
vim /etc/resolve.conf
nameserver 172.25.254.211
vim /etc/named.conf
3)辅助dns服务器的子配置文件的修改
vim /etc/named.rfc1912.zones ##指定主dns服务器和指定dns解析的数据库文件
zone "westos.com" IN { ##域名
type slave; ##类型从盘接口
masters {172.25.254.111;}; ##主盘接口,从111主机同步信息
file "slaves/westos.com.zone"; ##同步后读取文件位置
allow-update { none; }; ##不允许远程主机更新
3)测试:真机
vim /etc/resolve.conf
nameserver 172.25.254.211
dig www.westos.com
vim /etc/resolve.conf
nameserver 172.25.254.111
dig www.westos.com
当主dns的域名解析文件有变化时,需要改变解析文件中的serial参数,辅助dns才会主动进行同步,参数不变的话,辅助dns是不会同步的,注意每次的数据要是不一样的。
注意:selinux状态不能为Enforcing!
dns主机为Desktop,测试主机为真机
1.dns主机修改配置文件
vim /etc/named.rfc1912.zone.zones
allow-update{172.25.254.11}
also-notify {172.25.254.211} 允许211主机远程更新
systemctl restart named 重启服务
2.dns主机本地文件备份
cp -p /var/named/westos.com.zone /mnt ##在测试后,本地文件内容会被改变,所以提前备份
3.此时目录/var/named/中组内用户没有w权限
-rw-r----- 1 root named 229 Jul 12 01:38 westos.com.zone
远程主机无法实现更新
4.dns主机修改/var/named/权限
chmod g+w /var/named/
5.测试 :
真机中进行:
远程主机即可以实现dns更新 nsupdate
> update delete hello.westos.com 删除
> update add hello.westos.com 86400 A 172.25.254.119 添加;86400为1天秒数,有效期
6.dns主机重启named服务
/var/named目录下 会生成westos.com.zone.jnl文件
且westos.com.zone被改变
7.恢复
做完试验后,删除所有,再把备份到mnt中的恢复回来,即可。
注意:selinux状态不能为Enforcing
1.还原配置文件
2.生成加密钥匙
dnssec -keygen -a HMAC-MD5 -b 128 -n HOST westos
-a ##加密方式 -b ##密码大小bits -n ##nametype,域名解析
3.编辑密钥文件
cp -p /etc/rndc.key /etc/westos.key ##修改内容(hmac-md5 对称加密内容的形式与rndc.key的一样。)
4.修改配置文件
/etc/named.rfc1912.zones
/etc/named.conf
include "/etc/westos.key"; ##新增密钥文件
6.把密钥文件传送给远程主机
scp Kwestos.+157+02231* [email protected]:/mnt
注意:重启服务 (远程主机即可更新dns)
7.测试
设置成功后不使用钥匙是不能发送邮件的。
nsupdate -k Kwestos.+157+24252.private
开启dhcp的dns更新功能
什么是DDNS?
DDNS是动态域名服务的缩写,是指域名系统中的一种自动更新名称服务器内容的技术,DDNS是将用户的动态ip地址映射到一个固定的域名解析服务上,用户每次连接网络的时候客户端程序就会通过信息传递把该主机的动态ip地址传送给位于服务商主机上的服务器程序,服务器程序负责提供DNS服务并实现动态域名解析。
服务端dhcp的配置 。
服务器Desketop 客户端server
1.服务端dhcp的配置
1)还原配置文件,本地主机(服务端)安装dhcp
删除上面生成的文件并将/mnt/下的westos.com.zone cp回来
yum install dhcpd -y
开启dhcp服务,使防火墙可以允许dhcp
2)修改dhcp主配置文件 /etc/dhcp/dhcpd.conf ##有覆盖提示,说明文件正确
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 wLb7wlj95YfZFUK8nZ1Oqw==; ##key的密码
zone westos.com. {
primary 127.0.0.1; ##主机内部回环接口
key westos; ##读取的加密文件为westos
3)服务端dns的配置
vim /etc/named.conf
vim /etc/rfc1912.zones
2.远程主机访问dns
客户端设置:
建议:reset虚拟机
注意:远程主机的网卡工作模式为dhcp,修改主机名为name.westos.com
1)配置IP
可以看到客户端已经匹配到IP也是在服务端设置的地址池之间的
本地主机重启dhcpd服务、named服务,远程主机可dig本机
编辑dhcp配置文件,加上钥匙
此时文件westos.com.zone内容如下
接下来我们需要在客户端操作:
重启网络,可以看到ip改变
查看从哪台主机获得的ip,可以看到正是我们的服务器
测试:
此时我们再查看客户端,的westos.com.zone文件,自动生成了一段数字
本地主机重启dhcpd服务、named服务,远程主机可dig本机