DNS(Domain Name System,域名系统),因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。通过主机名,最终得到该主机名对应的IP地址的过程叫做域名解析(或主机名解析)。DNS协议运行在UDP协议之上,使用端口号53。
首先在准备做DNS的主机上安装软件:
yum install bind -y
主配置文件 /etc/named.conf
子配置文件 /etc/named.rfc1912.zones
数据目录 /var/named
systemctl start named -----开启bind
systemctl enable named
因为第一次开启named时候软件会自动采集加密字符,这个时候敲击键盘,晃动鼠标都会产生加密字符,并且存放在了/dev/random下
为了实验方便,我们现在systemctl stop frirewalld.service ----关闭防火墙。
高速缓存文件配置
vim /etc/named.conf ----修改主配置文件
11 listen-on port 53 {any;}; ----开放所以网卡端口
17 allow-query {any;}; ------允许任何人查询
18 forwarders {172.25.254.50}; -----通过连接Internet的主机询问
systemctl restart named -----重启服务
客户端:
vim /etc/resolve.conf
nameserver :172.25.254.220 -----添加DNS服务器的IP地址
第一次解析www.baidu.com(因为第一次解析,所以比较慢);
第二次解析,仅仅用了1mesc,因为这个解析结果缓存到了DNS中,而不用从172.25.254.50中取了。
权威DNS的正向解析 ------- dig 主机名
vim /etc/named/named.rfc1912.zones (这个文件属于named.conf的一个子文件,将zone块写到这个文件中不至于使得主文件搞的很乱)
在这个文件中添加zone块。
cp -p /var/named/localhost /var/named/westos.com.zone -----使用cp -p 命令可以将文件的创建时间和权限都复制过来;
vim /var/named/westos
systemctl restart named -----重启服务
dig www.westos.com
dig dns.westos.com
DNS反向解析 ------dig ip
vim /etc/named.rfc1912.zone
反向解析比较特殊: 我们现在来解析172.25.254.0 这个网段的主机,所以zone块写为 “254.25.172.in-addr.arpa”
cp -p /etc/named/loopback /etc/named/westos.com.ptr ------复制反向解析文件。
vim /etc/named/westos.com.ptr -------编辑
100 PTR www.westos.com. -------- PTR为反向解析的类型
dig -x 172.25.254.111 ------反向解析172.25.254.111 这台主机
双向解析: 有些时候一些比较特殊的主机,对于某个网站解析是一种结果,但是其它的主机对于这个网站解析又是另外一种结果,这时候就需要这顶双向解析。
vim /etc/named.conf
view localhost {
match-clients {172.25.254.120;}; ------指定特殊主机为172.25.254.120
zone "." {
type hint;
file "named.ca";
};
include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";
};
cp -p /etc/named/westos.com.zone /etc/named/westos.com.inter --------复制一份在做正向解析的文件改名为westos.com.inter
vim /etc/named/westos.com.inter
cp -p /etc/named.rfc1912.zones /etc/named.rfc1912.zones.inter -------添加特殊主机的zone块。并且指定文件为上述文件“westos.com.inter”
用两台主机分别去dig www.westos.com
右边主机为普通主机 左边主机为指定的172.25.254.220主机。
普通主机还是通过在主配置文件/etc/anmed.conf 中设置的view any {...},对应文件 /etc/named.rfc1912.zones,在这个文件中前边在做正向解析时候也设定了对应文件 /etc/named.westos.com.zone,所以说通过右边的普通机解析主机名就会得到上述文件对应的结果。
辅助DNS的设定:
在真是的环境中,往往都是一台主DNS解析主机+多台辅助DNS主机,这样可以缓解主DNS的压力,而对应的解析数据库都会放在主DNS中,主DNS只需要让辅助DNS做到跟它同步即可。
在辅助DNS主机上 yum install bind -y
vim /etc/naemd.conf
跟主DNS一样改好对应开放对应端口等一系列信息。
vim /etc/named.rfc1912.zones
zone "westos.com" IN {
type slave; -------类型: 辅助DNS
master {172.25.254.220;}; --------主DNS { 172.25。254.220; };
file "slave/westos.com.inter"; --------主DNS的数据库文件
allow-update {none;};
};
在主DNS中: vim /etc/naemd.rfc1912.zones.inter
zone "westos.com" IN {
type master; - ------------主 DNS
file "westos.com.zone" ---------解析资源数据库文件名
also-update { none; };
also-notify { 172.25.254120 }; -------允许辅助DNS主机172.25.254.120 同步
};
vim /etc/named/westos.com.zones
左边为辅助DNS 右边为主DNS
分别dig www.westos.com
在主DNS中更新信息时候必须将serial对应的数字变大,这样才能生效。
生效了!
DNS的远程更新(基于IP):
每次要更新DNS数据库文件时候如果都要在主DNS中更改,那么对于主DNS也是一种压力,此时我们可以通过辅助DNS去远程更改。
关闭主DNS的selinux !!!!
给主DNS的/etc/named/目录加上可更改权限。
在辅助DNS上进行nsupdate
update add haha.westos.com 86400 A 3.3.3.3 -------添加 haha.westos.com 对应ip为 3.3.3.3
并且 dig haha.westos.com 时候可以查到。
update delete haha.westos.com ---------删除haha.westos.com
基于key加密的远程更新!(安全性高很多)
dnssec-******-a HMAC-MD5 -b 128 -n HOST xxx ----------制作钥匙用HMAC-MD5-b的加密方式
cp -p /etc/rndc.key /etc/westos.key 复制钥匙
把加密字符添加到/etc/westos.key中,
辅助DNS修改:
vim /etc/named.rfc1912.zones
通过scp 命令把两个.key 个.private 文件都传给辅助DNS,此时传递到随便位置都信,我传到了/mnt/中
辅助DNS通过key登陆!
nsupdate -k Kwestos.+157+06167.private
成功添加并且dig 成功!
动态域名解析(DDNS)
安装DHCP服务,并且按照下图提示修改配置文件。
vim /etc/dhcpd/dhcp.conf
option domain-name "westos.com" -----------域名
option domain-name-server 172.25.254.220 -----------提供服务的主机
添加ip网段(30-33)
添加好key westos{}; -----加密
zone westos.com -------对应钥匙
辅助机设置网络为dhcp模式,所以随机获得了30的ip,并且dig www.westos.com 成功。
本文转自技术小白JDY51CTO博客,原文链接:http://blog.51cto.com/13355576/2045393 ,如需转载请自行联系原作者