DNS
1.1.安装部署dns
yum install bind ##安装
systemctl start named ##开启
systemctl enable named ##开机自启
systemctl stop firewalld
systemctl disable firewalld
主配置文件 /etc/named.conf
子配置文件 /etc/name.rfc1912.zones
数据目录 /var/named
2.高速缓存dns
vim /etc/named.conf
11 listen-on port 53 { any; }; ##所有网关开放53接口
17 allow-query { any; }; ##允许所有人登录
18 forwarders {172.25.254.225;}; ###服务端去225主机提供
systemctl restart named ##重启服务
测试:在服务端dig www.baidu.com,可以看到延迟为4021毫秒
在客户端编辑DNS指向文件,vim /etc/resolv.conf
nameserver 172.25.254.225
然后在客户端再进行测试,dig www.baidu.com ,便可以看到延迟降为0毫秒
3.权威dns的正向解析 就是将域名解析为IP地址
vim /etc/named.rfc1912.zones ##子配置文件
zone "westos.com" IN {
type master;
file "westos.com.zone"; ##解析的文件
allow-update { none; };
cd /var/named/
cp -p named.localhost westos.com.zone ##复制模版时复制权限
vim westos.com.zone ##解析文件编写
$TTL 1D ##记录可以保存一天
@ IN SOA dns.westos.com. root.westos.com. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS dns.westos.com. #域名的名称服务器
dns A 127.25.254.225
www A 172.25.254.111
systemctl restart named ###重启
测试:
dig www.westos.com ##dig www.westos.com 之后就可以看到解析到的地址是刚才配置文件里面设置的地址
4.反向解析 就是将ip地址解析为网址
vim /etc/named.rfc1912.zones
zone "254.25.172.in-addr.arpa" IN {
type master;
file "westos.com.ptr";
allow-update { none; };
};
cd /var/named/
cp -p named.loopback westos.com.ptr
vim westos.com.ptr
$TTL 1D
@ IN SOA dns.westos.com. root.westos.com. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS dns.westos.com.
dns A 172.25.254.225
111 PTR www.westos.com.
测试:dig -x 172.25.254.111 就可以看到172.25.254.111对应的域名为www.westos.com
5.双向解析
建立对外的数据文件
cd /var/named/
cp -p westos.com.zone westos.com.inter ###建立一个对外部的数据文件
$TTL 1D
@ IN SOA dns.westos.com. root.westos.com. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS dns.westos.com.
dns A 1.1.1.100
www A 1.1.1.111
建立对外的子配置文件
cd /etc/
cp -p /etc/named.rfc1912.zones /etc/named.rfc1912.zones.inter ##建立一个对外部的子配置文件
vim /etc/named.rfc1912.zones.inter
zone "westos.com" IN {
type master;
file "westos.com.inter";
allow-update { none; };
编辑主配置文件
vim /etc/named.conf ##主配置文件
view localnet { ##内部允许
match-clients { 172.25.254.22;};
zone "." IN {
type hint;
file "named.ca";
};
include "/etc/named.rfc1912.zones"; ##内部的数据文件
include "/etc/named.root.key";
};
view any { ##外部允许
match-clients {any;};
zone "." IN {
type hint;
file "named.ca";
};
include "/etc/named.rfc1912.zones.inter"; ##外部的数据文件
include "/etc/named.root.key";
};
systemctl restart named 重启服务
测试:不同主机dig www.westos.com 可以看到,
在服务端主配置文件中内部允许172.25.254.125这台主机访问内部文件,所以125这台主机dig www.westos.com解析到的地址是172.25.254.111
服务端配置文件中没有允许172.25.254.25这台主机,所以直接访问到外部文件,所以解析到的地址是在westos.com.zone.inter中配置的1.1.1.111
6.辅助dns
主:
vim /etc/named.rfc1912.zones.inter
zone "westos.com" IN {
type master;
file "westos.com.inter";
allow-update { none; };
also-notify{172.25.254.125;};
};
systemctl restart named
注意:每次更改A记录文件后必须更改serial的数值,这个数值最大值10位
vim /var/named/westos.com.inter
辅助:
yum install bind
systemctl start named
systemctl stop firewalld
vim /etc/named.conf
vim /etc/named.rfc1912.zones
25 zone "westos.com" IN {
26 type slave;
27 masters {172.25.254.122;};
28 file "slaves/westos.com.inter";
29 allow-update { none; };
30 };
systemctl restart named
7.dns的远程更新
###基于ip
vim /etc/named.rfc1912.zones
zone "westos.com" IN {
type master;
file "westos.com.zone";
allow-update { 172.25.254.125; }; ##允许谁更新
also-notify{172.25.254.125;};
};
chmod g+w /var/named/ ##加权限
在125这台主机上
[root@dns-slave ~]# nsupdate
> server 172.25.254.225
> update add bbs.westos.com 86400 A 1.1.1.3 ##添加一个解析
> send
>
[root@localhost named]# rm -fr westos.com.zone.jnl
###基于钥匙
cp -p /etc/rndc.key /etc/westos.key ###复制一个钥匙文件模版
dnssec-keygen -a HMAC-MD5 -b 128 -n HOST westos ##生成一个钥匙
cat Kwestos.+157+54740.key ###查看钥匙
vim /etc/westos.key ##编辑钥匙文件,
key "westos" { ##更改钥匙名字
algorithm hmac-md5;
secret "M0g+VtRMj7KWFpHMj11DWQ=="; ##把钥匙正确的哈希字符改过来
};
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.125;};
};
systemctl restart named 重启服务
测试:
scp Kwestos.+157+38729* root@172.25.254.125:/mnt/ ##把公钥密钥发给测试机
root@dns-slave mnt]# nsupdate -k Kwestos.+157+54740.private ##测试机命令
> server 172.25.254.122
> update add bbs.westos.com 86400 A 1.1.1.3
> send
>
DDNS
1.在服务端搭建DHCP服务器
安装dhcp服务
yum install dhcp -y
2.配置dhcp文件
vim /etc/dhcp/dhcpd.conf
客户端将网络模式改为dhcp,重启网络服务就可以重新获取到地址
将服务端的westos.com.zone文件里 www那行删除掉
服务端重启named服务
systemctl restart named
在客户端dig www.westos.com 解析到的地址是自己的IP
服务端改变地址池的范围,客户端重新获取地址
重新dig www.westos.com,看到解析的地址是IP地址