萌新的linux之旅20

高速缓存DNS

server端设置:

yum install bind -y ##安装服务

systemctl start named ##启动服务
第一次开启会卡一下,晃动鼠标或敲击键盘就可以启动,因为文件/dev/random这里会自动存放的是键盘鼠标轨迹的加密信息
/etc/rndc.key 放的是dns的加密key

萌新的linux之旅20

firewall-config ##配置防火墙,使得允许使用DNS

萌新的linux之旅20

vim /etc/named.conf ##配置服务配置文件
listen-on port 53 { any; }; ##将所有人都可以访问53端口
allow-query { any; }; ##允许任何人询问
forwarders {172.25.254.250; }; ##因为不知道ip,所以先连上一个联网的ip

萌新的linux之旅20

systemctl restart named ##重启服务

随便dig一个网站,以百度为例
萌新的linux之旅20
萌新的linux之旅20

再次dig百度
萌新的linux之旅20

你会发现,第二次比第一次快的多,因为第一次DNS不知道百度的地址,还需要去询问别的服务器,第二次是直接读取第一次询问时得到并保存的ip。

zone区域

file “haha.com.zone”;
A记录文件

cd /var/named 这里面的文件权限不一样所以复制时要复制权限
cp -p name.localhost haha.com.zone

$TTL 1D客户端缓存最大访问限额 ,一天(类似记录时间,时间到了就重新问)
@ (相当于haha.com 自己设置的域名) IN SOA 名字 每串字符后面加.(点不加的话会自动补齐haha.com所以不能没有 . )
dns.haha.com. (dns解析) root.haha.com.(管理员邮箱)
NS dns.haha.com.(注意最后的点)
dns A 172.25.254.110 自己的DNS ip
www A 172.25.254.250 (dns不会检测这个地址通不通)
news A 172.25.254.10
haha A 172.25.254.9

萌新的linux之旅20

写好后dig 设置好的ip测试一下
萌新的linux之旅20

DNS反向解析

(从ip解析域名)
1、vim /etc/named.rfc1912.zones
zone “254.25.172.in-addr.arpa” IN { ##因为是反向解析,所以网段得反着写
type master;
file “haha.com.ptr”; ##文件名字可以根据自己的喜好设定
allow-update { none; };

2、cp -p /var/named/named.loopback /var/named/haha.com.ptr

、vim /var/named/we.com.ptr
$TTL 1D
@ IN SOA dns.haha.com. root.haha.com. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS dns.we.com.
music A 172.25.254.2
110 PTR bbs.westos.com.
109 PTR hi.haha.com.

###IP的反向解析和域名的正向解析是两种不同的系统,不必要一一对应。

萌新的linux之旅20

萌新的linux之旅20

萌新的linux之旅20

萌新的linux之旅20

轮叫机制(双向解析)

即不同的IP询问同一个域名,解析出不同的IP

1、vim /etc/named.conf

/* zone “.” IN { ##注释掉第52行到59行
type hint;
file “named.ca”;
};

include “/etc/named.rfc1912.zones”;
include “/etc/named.root.key”;
*/

view localnet {
match-clients { 172.25.254.110; }; #网段解析

zone “.” IN {
type hint;
file “named.ca”;
};

include “/etc/named.rfc1912.zones”; ##以上语段表示172.25.254.110网段上的用户在访问时访问named.rfc1912.zones这个文件所配置的内容

};

view any { ##公共网段解析
match-clients { any; };

zone “.” IN {
type hint;
file “named.ca”;
};

include “/etc/named.rfc1913.zones”; ##以上语段表示在其他用户访问时访问named.1913.zones所配置的内容

};

萌新的linux之旅20

萌新的linux之旅20

萌新的linux之旅20

2、cp -p /etc/named.rfc1912.zones /etc/named.rfc1913.zones

3、vim /etc/named.rfc1913.zones
zone “haha.com” IN {
type master;
file “haha.com.inter”; ##与1912中的不同,重新设置文件名称
allow-update { none; };
};

4、cp -p /var/named/haha.com.zone /var/named/haha.com.inter

5、vim /var/named/haha.com.inter
bbs CNAME news.haha.com.
dns A 1.1.1.110
www A 1.1.1.333
news A 1.1.1.222
news A 1.1.1.111

萌新的linux之旅20
将两个文件设成不同的IP,不同的用户询问域名时就会访问不同的文件,从而显示不同的IP。

DNS集群

1、现实应用中,一台DNS服务器往往不够用,这时需要另外有一台主机当辅助服务器,安装并开启named服务,配置好防火墙,DNS域名设置为主服务器ip。

2、vim /etc/named
11 listen-on port 53 { any; };
17 allow-query { any; };

3、vim /etc/named.rfc1912.zones
zone “we.com” IN {
type slave;
masters { 172.25.254.110; } ;
file “slaves/haha.com.zone”;
allow-update { none; };
};

萌新的linux之旅20

//文件中填写的名称随意,但是创建文件名要相同

注意:/var/named相当于dns服务的根目录,A记录存放的位置,所以设置file”slaves/…”
ls -l /var/named

4、systemctl restart named

5、dig www.haha.com

上述方法如果主DNS的内容改变,那么副DNS上不会同步,同步需要做以下操作。

1、vim /etc/named.rfc1913.zones
zone “we.com” IN {
type master;
file “we.com.any”;
allow-update { none; };
also-notify {172.25.254.210;};
};

萌新的linux之旅20

DNS ,dhcpd自动更新同步(花生壳)

dns key **更新

dnssec-****** -a HMAC-MD5 -b 128 -n HOST haha ##生成密匙

cat Khaha.+157+18569.key

萌新的linux之旅20

vim /etc/named.conf
include “/var/named/haha.key”; ##指定dns服务读取的key文件,这个文件可以放在任何地方,输入地址是绝对地址

vim /etc/named.rfc1913.zones
zone “haha.com” IN {
type master;
file “haha.com.inter”;
allow-update { key haha; }; ##指定haha域可以被hahakey 更新
};
萌新的linux之旅20

dhcpd 配置

vim /etc/dhcp/dhcpd.conf
ddns-update-style interim; ##开启dhcp更新dns功能

key westos { ##dhcp更新dns时用到的key
algorithm hmac-md5;
secret 4SJx4m33BpJnNpl8slHIWA==;
};

zone westos.com. { ##指定dhcp更新的域名
primary 127.0.0.1; ##指定dns所在的主机ip
key westos; ##指定更新这个域时用到的key名称
}

萌新的linux之旅20

测试

设定一台主机网络的工作方式为dhcp
设定这台主机的主机名www.westos.com,这个名称在原有的dns服务中是没有解析的
重启网络看ip 和主机名称的解析