**********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的主机和域名的对应关系。******
4)、 主机名称配置文件:/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,授权信息开始)记录和地址解析记录,以分号“;”开始的部分表示注释信息。下面对这些信息进行介绍。
测试:dig -x 172.25.254.142
- $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的地址
**************************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