**********DNS文档********
1、基本信息
DNS服务可以为用户提供域名和IP地址之间的自动转换,通过DNS,用户只需要输入机器的域名即可访问相关的服务,而无须使用那些难以记忆的IP地址。
2、配置yum源
yum install bind -y *******下载软件包******
systemctl start named *****开启服务,第一次启动需在键盘上敲击任意字符,以创建加密字符,文件自动存在/etc/rndc.key
3、配置防火墙
firewall-cmd --list-all *****列出火墙详细信息*******
firewall-cmd --permanent --add-service=dns *****防火墙开启dns服务
firewall-cmd --reload *****更新火墙*****
3、端口
netstat -antp | grep named ******查看dns端口号,未配置时只有本地的53端口开启***** vim /etc/named.conf 11 listen-on port 53 {any;}; ####设定端口开放#####4、配置文件
1)、网卡配置文件:/etc/sysconfig/network-scripts/ifcfg-eth0
2)、本地的主机名称解析文件:/etc/hosts
***在Linux系统中的“/etc/hosts”文件中,可以保存需要经常访问的主机的主机名与IP地址的对应记录。通常在没有搭建DNS服务器的情况下,可以在该文件中添加DNS服务器地址记录。*****
该文件保存主机名与IP地址的对应记录格式为:
IP地址 域名 主机名*****文件中前两行信息是默认的,分别代表IPv4的地址和IPv6地址。最后一行,记录了192.168.1.1的主机和域名的对应关系。******
3)、 域名服务器配置文件:/etc/resolv.conf4)、 主机名称配置文件:/etc/sysconfig/network *****为了方便区分不同的主机,定义一个自己容易记住的名称,安装系统时也可以设置主机名称***
5)、vim /etc/named.conf
allow-query { any ; }; 如果设置其他情况,修改大括号“{}”中的localhost就可以了。any表示允许所有,如允许192.168.1.0网段,设置为“192.168.1.0/24”,具体的主机设为“主机的IP”。
forwarders { 172.25.254.250; }; ####forwarders用来列出要用来作为转发器的服务器的IP地址,使用转发器可绕过从根服务器开始按正常流程检索的正常过程。###### dnssec-validation no; ###第一次访问时会有延迟,第二次时会高速缓存缩短时间###正向解析:把域名变成ip
vim /etc/named.rfc1912.zones
zone "westoslinux.com"IN{
type master;
file"westoslinux.com.zone";
allow-update {none;};
};
cd /var/named/
cp -p named.localhost westoslinux.com.zone
vim /var/named/westoslinux.com.zone
###########################################
全局TTL配置项及SOA记录
在区域数据库配置文件中,通常包括TTL配置项、SOA(Start Of Authority,授权信息开始)记录和地址解析记录,以分号“;”开始的部分表示注释信息。下面对这些信息进行介绍。
$TTL 1D //设置有效地址解析记录的默认缓存时间 @ IN SOA @ rname.invalid. ( //设置SOA标记、域名、域管理邮箱 //更新序列号,用于标记地址数据库的变化,可以是10位以内的整数 0 ; serial //刷新时间,从域名服务器更新该地址数据库文件的间隔时间 1D ; refresh //重试延时,从域名服务器更新地址数据库失败以后,等待多长时间再次尝试 1H ; retry //失效时间,超过该时间仍无法更新地址数据库,则不再尝试 1W ; expire //设置无效地址解析记录(该数据库中不存在的地址)的默认缓存时间 3H ) ; minimum NS dns.westoslinux.com. //域名服务器记录,用于设置当前域的DNS服务器的域名地址 dns A 172.25.254.142 222 PTR www.westoslinux.com //设置域名服务器的A记录,地址为IPv4的地址127.0.0.1,可以设置成192.168.1 //设置域名服务器的A记录,地址为IPv6的地址 测试:dig -x 172.25.254.142
**************************DNS集群,辅助DNS*************************
主dns: /etc/named.rfc1912.zones // allow-query { example; }; // allow-query-cache { example; }; zone "example.com" IN { type master; file "example.com.zone"; allow-update { none; }; allow-transfer { 192.168.0.4; }; };
辅dns:
(/var/named/chroot/var/named/slaves目录下会有主机的dns文 件),此时该机的dns设为本机地址 options { // listen-on port 53 { 127.0.0.1; }; listen-on-v6 port 53 { ::1; }; 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";
// Those options should be used carefully because they disable port // randomization // query-source port 53; // query-source-v6 port 53;
// allow-query { localhost; }; // allow-query-cache { localhost; };
}; logging { channel default_debug { file "data/named.run"; severity dynamic;
}; };
不同的机器使用不同的dns: 主dns:named.conf view localhost_resolver { match-clients { localhost; }; match-destinations { localhost; }; recursion yes; include "/etc/named.rfc1912.zones"; zone "example.com" IN { type master; }; }; file "example.com.zone"; view internal_resolver { match-clients { 192.168.0.0/24; }; match-destinations { 192.168.0.0/24; }; recursion yes; include "/etc/named.rfc1912.zones"; zone "example.com" IN { type master; file "example.com.internal"; };
#####DNS自动同步###
主DNS下: vim /etc/rfc1912.zones
allow-transfer{172.25.254.242;};
also-notify {172.25.254.242;};
vim /var/named/westoslinux.com.zone
更改serial值。主DNS重启后,辅助DNS会自动同步
注意:serial的值此时不能为0,最多为10位,一般为yyyymmdd+次数
辅助dns会根据serial是否为0来判断是否更新A记录的文件
**********************key的制作和处理**********************
主dns: dnssec -keygen -a HMAC-MD5 -b 128 -n USER ddns Kddns.+157+59812.key Kddns.+157+59812.private
cat Kddns.+157+59812.private Private-key-format: v1.2 Algorithm: 157 (HMAC_MD5) Key: R4G16tKxFFBpsPkUyNDWAw==
cp -p /etc/rndc.key /etc/westos.key
vim /etc/westos.key
key “rndc-key” { algorithm hmac-md5; secret R4G16tKxFFBpsPkUyNDWAw==; };
vim /etc/named.conf
43 include "/etc/westos.key";
vim /etc/named.rfc1912.zones
zone "example.com" { type master; file "example.com.zone"; allow-update { key westos; }; }; zone "0.168.192.in-addr.arpa" { type master; file "example.com.local"; allow-update { key westos; }; };
把密码和钥匙发送给辅助DNS
scp Kwestos.xxxxx.key Kwestos.+157+44565.private root@172.25.254.242:/
测试:
辅DNS:nsupdate -k
主DNS: dig www.westos.com
chmod 770 /var/named/chroot/var/named ##DNS动态绑定##
服务器:
vim /etc/dhcpd/dhcp.conf
7 name "westos.com"
8 name-servers 172.25.254.142
14 ddns-update-style interim; key ddns { algorithm hmac-md5; secret R4G16tKxFFBpsPkUyNDWAw==; }; zone example.com. {primary 127.0.0.1; key westos; } zone 0.168.192.in-addr.arpa. { primary 127.0.0.1; key westos; }
客户端:
网卡配置文件
vim /etc/sysconfig/network-scripts/ifcfg-eth0
DNS1=172.25.254.142
BOOTPROTP=dhcp
vim /etc/resolv.conf
nameserver 172.25.254.142
测试:
服务器:
systemctl restart dhcpd
systemctl restart named
客户端:
systemctl restart network
ifconfig
dig client.westos.com
