高速缓存服务器的设置,在用户对DNS服务器进行访问时,会将答案缓存,如果有其他用户对DNS服务器进行访问时,询问了同样的网址,那么高速缓存服务器会直接将缓存的数据发送给客户端,以此达到降低DNS服务器负载的效果。
将desktop reset,desktop可以ping通www.baidu.com
1)真机可以上网 ping www.baidu.com
3)firewall-cmd --add-masquerade ---使真机成为路由器
4)vim /etc/reslov.conf
nameserver 172.25.254.162 ---作为客户端测试虚拟机服务端的配置是否正确
5)vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=none
ONBOOT=yes
IPADDR=172.25.254.162
PREFIX=24
GATEWAY=172.25.254.62
DNS1=114.114.114.114
6)vim /etc/reslov.conf
nameserver 114.114.114.114
7)systemctl restart network
此时desktop可以ping通www.baidu.com
1)指定yum仓库
2)yum install bind.x86_64 -y
3)systemctl start named ---开启不了的话,进入虚拟机敲键盘或者动鼠标增加加密字符
cat /dev/random ----这个文件内容就是通过鼠标晃动与键盘敲击形成的加密文件
4)systemctl stop firewalld ---关闭火墙,其他主机可以访问
真机dig www.baidu.com ---真机unreachable
#查看端口号
netstat -antlpue | grep named ---查看提供named服务的端口号
1)vim /etc/named.conf
11行,listen-on port 53 { any; }; ---接口53可以到达所有接口
systemctl restart named ---此时真机dig www.baidu.com 被resfused
2)vim /etc/named.conf
17行,allow-query { any; }; ---允许任何用户接入
systemctl restart named ---此时真机dig www.baidu.com ,被告知服务器不知道答案
3)vim /etc/named.conf
18行 forwarders { 114.114.114.114; }; ---指定被询问时,自动去查找的网址,所以此时服务器外面不需要设置DNS为114.114.114.114
systemctl restart named ---此时真机dig www.baidu.com ,被告知服务器不知道答案
4)vim /etc/named.conf
32行 dnssec-validation no; ---不经过检测,合法的dns服务器需要备案,只是做实验,设置为不经过检测
systemctl restart named ---此时真机dig www.baidu.com 可以查询到答案,第一次查询时间较久,此后为0ms
5)vim /etc/reslov.conf
nameserver 172.25.254.162 ---将虚拟机dns服务器地址设置为172.25.254.162(刚做好的高速缓存服务器地址)
6)dig www.baidu.com
此时可以得到答案,且时间为0ms
正向解析时从域名-->ip地址的解析,当dns服务器被访问时,可以将域名解析为ip地址
1.高速缓存服务器已经完成
2.vim /etc/named.conf
将18行的网址一整行删除(此时不需要上网,配置私人DNS服务器)
vim /etc/named.rfc1912.zones
cd /var/named
ls
cp -p named.localhost dai.com.zone ---以named.localhost为模板,新建私人DNS服务器,文件中保存着解析信息
vim dai.com.zone
dig www.dai.com ---dig命令用于测试解析结果
解析出的是保存在私人dns中的ip域名对
能够上网的真机在ping www.baidu.com时候,先将域名转换为其他的域名,然后再转换为ip地址
前面的正向解析能够正常工作
vim /var/named/dai.com.zone ---这是私人DNS服务器的所有答案,在dig这个域名时候的时候(dig www.dai.com),会在这个文件中找到答案
$TTL 1D
@ IN SOA dns.dai.com olddai.dai.com. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS dns.dai.com.
dns A 172.25.254.162
www CNAME music.a ---www表示访问的域名,CNAME表示域名转换,music.a表示转换后的域名(配置域名转换,此时dig查看www.dai.com时候,会转换为域名为music.a)
music.a A 172.25.254.8 ---转换后的域名正向解析(A表示正向解析)
music.a A 172.25.254.9
真机dig www.dai.com
此时查看到的域名为music.a.dai.com
是什么,百度
vim /var/named/dai.com.zone ---编辑私人DNS服务器的域名ip仓库
$TTL 1D
@ IN SOA dns.dai.com. olddai.dai.com. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS dns.dai.com.
dns A 172.25.254.162
www CNAME music.a
music.a A 172.25.254.8
music.a A 172.25.254.9
dai.com. MX 10 172.25.254.111. ---dai.com.表示邮箱地址([email protected])中的公司(dai.com),10是优先级,MX是表示邮件解析,172.25.254.111.表示[email protected]的ip地址
mail [email protected] ---表示给域名为dai.com的lee用户发送邮件
subject 主题(随便输入)
正文(随便输入)
.(编辑结束,回车发送)
mailq ---查看邮件队列,如果查看到ip地址,就是正确的
dig -t mx dai.com ---不用发送邮件,也能检测,查看到dai.com的ip地址表示邮件解析设置成功
反向解析用于解析dns服务器中ip地址对应的域名
1)vim /etc/named.rfc1912.zones ---这个文件中保存着dns解析信息指定的文件,即客户在访问dns时,寻求反向解析答案,会前往172.25.254.ptr这个文件去寻找答案
50 zone "254.25.172.in-addr.arpa" IN {
51 type master;
52 file "172.25.254.ptr";
53 allow-update { none; };
54 };
2)cd /var/named/ ---172.25.254.ptr默认在/var/named目录下会生效
ls
3)cp -p named.loopback 172.25.254.ptr ---此时还没有这个反向解析文件,所以要以named.loopback为模板新建反向解析记录文件
4)vim 172.25.254.ptr ---编辑反向解析记录文件
$TTL 1D
@ IN SOA dns.dai.com. root.dai.com. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS dns.dai.com.
dns A 172.25.254.162
111 PTR hello.dai.com. ---172.25.254.111的域名为hello.dai.com, PTR为反向解析
222 PTR bbs.dai.com. ---172.25.254.222的域名为bbs.dai.com
5)systemctl restart named ---重启named服务
dig -x 172.25.254.111 --- -x表示反向解析,此时dig查询172.25.254.111的域名是什么,会得到hello.dai.com的答案
dig -x 172.25.254.121 ---因为反向解析文件中没有ip地址为172.25.254.121的域名信息,所以无法查询到答案
不同身份的用户,在查询dns服务器时候,查看到的地址不同
desktop的eth0添加一个ip1.1.1.62
vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=none
ONBOOT=yes
IPADDR0=172.25.254.62
PREFIX0=24
PREFIX1=24
IPADDR1=1.1.1.62
systemctl restart network
ip addr show eth0
打开server,配置ip为1.1.1.162
vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=none
ONBOOT=yes
IPADDR=1.1.1.162
PREFIX=24
systemctl restart network
ifconfig
vim /etc/resolv.conf
nameserver 1.1.1.62
此时server: dig www.dai.com
查看到的ip是172.25.254网段的
如何让内网的客户查看到的是与它们在一个网段的地址
内网客户查看的文件与其他用户查看的文件不同,所以需要再新建一个解析信息文件,用于保存内网客户的解析信息
cd /var/named/
ls
cp -p dai.com.zone dai.com.inter ---以dai.com.zone为模板新建dai.com.inter(内网客户访问时查看的解析信息文件)
ls
vim dai.com.inter ---编辑文件,这保存了内网用户在进行地址解析时所查到的ip地址
$TTL 1D
@ IN SOA dns.dai.com. olddai.dai.com. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS dns.dai.com.
dns A 1.1.1.162
www CNAME music.a
music.a A 1.1.1.8
music.a A 1.1.1.9
dai.com. MX 10 1.1.1.111.
:%s/172.25.254/1.1.1/ ---将所有172.25.254替换为1.1.1
cp -p /etc/named.rfc1912.zones /etc/named.rfc1912.inter
vim /etc/named.rfc1912.inter
49行,将反向解析部分删除
24行,将dai.com.zone改为dai.com.inter
vim /etc/named.conf
将49行到56行注释,从zone "." IN { 一行开始,只留下include "/etc/named.root.key"
49 /*
50 zone "." IN {
51 type hint;
52 file "named.ca";
53 };
54
55 include "/etc/named.rfc1912.zones";
56 */
58 view localnet {
59 match-clients { 1.1.1.0/24; };
60 zone "." IN {
61 type hint;
62 file "named.ca";
63 };
64 include "/etc/named.rfc1912.inter";
65 };
66
67 view internet {
68 match-clients { any; };
69 zone "." IN {
70 type hint;
71 file "named.ca";
72 };
73 include "/etc/named.rfc1912.zones";
74 };
报错的话就> /var/log/messages
systemctl restart named
cat /var/log/messages
根据日志报错信息中查看的报错行号进入配置文件/etc/named.conf修改
server的 ip 1.1.1.162
dig www.dai.com
得到的ip地址是1.1.1的网段的
真机ip 172.25.254.62
dig www.dai.com
得到的ip地址是172.25.254的网段的
做好的dns,在有很多用户进行登陆解析时,系统可能会过载崩溃,此时可以给DNS配置一个辅助的服务器,两台进行简单轮循工作
但是当主DNS服务器中的解析信息(/var/named/dai.com.zone文件)更改时,辅助的DNS服务器虽然可以将/var/named/slaves/dai.com.zone给删除,然后重启named服务,达到同步主服务器中信息更改的效果,但是当辅助服务器数量很多的时候,这种方法明显不妥。
可以设置DNS的集群,在主DNS服务器的信息更改时,通知到辅助服务器,让其自动更改。
desktop:主DNS服务器
将之前的多向解析内容删除,简化实验环境
vim /etc/named.conf ---将多向解析实验部分删除
hostnamectl set-hostname dns1.dai.com ---更改主机名,方便实验区分
server:辅助DNS服务器
配置ip为172.25.254.200
配置yum源,7.0的镜像需要准备好
hostnamectl set-hostname dns-slave.dai.com
systemctl stop firewalld ---关闭防火墙,这样主服务器可以将信息同步到本机
vim /etc/resolv.conf
nameserver=172.25.254.200 ---指向自己,方便实验测试,在dig时候查询的是本机
1.首先需要能够进行正向解析
1)yum install bind -y
2)vim /etc/named.conf
两个any,一个no
3)cd /var/named
4)ls
5)vim /etc/named.rfc1912.zones
复制6行,编辑为:
zone "dai.com" IN {
type slave;
masters { 172.25.254.141; };
file "slaves/dai.com.zone";
allow-update { none; };
};
6)systemctl restart named(第一次开启服务需要手动输入,帮助加密完成)
检测1:dig www.dai.com
可以进行正向解析
2.主DNS服务器的设置
1)vim /etc/named.rfc1912.zones ---添加两行内容
zone "dai.com" IN {
type master;
file "dai.com.zone";
allow-update { none; };
allow-transfer { 172.25.254.200; }; ---允许让172.25.254.200同步自己
also-notify { 172.25.254.200; }; ---当主DNS更改时,告诉200需要更改了
};
主服务器:cd /var/named
vim dai.com.zone
将www的ip进行更改,其它不变
systemctl restart named
查看辅助服务器:
dig www.dai.com
此时的结果是没有更改的ip,没有同步成功,原因是主服务器中的/var/named/dai.com.zone文件中的serial值没有更改,系统默认没有变化(就是之前在/etc/named.rfc1912.zones中配置的,当产生变化时,告诉辅助服务器,但是此时系统默认不告诉它,因为没有变化)
主服务器中进行ip的更改(vim /var/named/dai.com.zone),并且更改serial值从0为1
此时辅助服务器dig www.dai.com时
结果是更改的ip
辅助服务其用stat dai.com.zone 查看这个文件最后一次更改时间是什么
主服务器中进行ip的更改,并且更改serial值从1为2,辅助服务其用stat dai.com.zone 查看这个文件最后一次更改时间是什么,结果是时间是变化的
DNS主服务器
1)getenforce
Disabled 状态,如果是Enforcing状态
getsebool -a | grep named ---可以看到named_write_master_zones时off状态
setsebool -P named_write_master_zones on
2)cp -p /var/named/dai.com.zone /mnt/
3)chomd 770 /var/named/ ---当更新的时候,辅助服务器会在/var/named/下写一个数据,需要经过允许
4)vim /etc/named.rfc1912.zones
zone "dai.com" IN {
type master;
file "dai.com.zone";
allow-update { 172.25.254.200; }; ---允许172.25.254.200主机对它进行远程更新
allow-transfer { 172.25.254.200; };
also-notify { 172.25.254.200; };
};
辅助服务器:
远程更新
[root@dns slaves]# nsupdate
> server 172.25.254.162
> update add test.dai.com 86400 A 172.25.254.111
> send
> quit
[root@dns slaves]#
DNS主服务器中,dig test.dai.com 如果能够查到ip地址,远程更新成功
主服务器 ls /var/named/ 可以查看到一个jnl结尾的数据,但是此时dai.com.zone文件内容没有改变,不包含test的地址解析信息
systemctl restart named 此时vim /var/named/dai.com.zone 可以查看到文件被那个数据改变
cd /var/named/
rm -fr dai.com.zone dai.com.zone.jnl
cp -p /mnt/dai.com.zone . ---将原来备份的数据拷贝回来
systemctl restart named ---重启named服务,此时实验还原到更新之前
必须把前一个实验环境还原到没有远程更新的状态,否则哪个数据胡产生冲突,影响检测。
此前所进行的远程更新配置,任何人修改自己为主服务器允许的ip地址,就可以对主服务器进行远程更新,这是很不安全的,所以需要提高安全性。
对主服务器用公钥进行加密,只允许私钥的用户可以进行远程更新
主服务器:
1)cat /etc/rndc.key ---查看系统dns加密模板的格式
key "rndc-key" {
algorithm hmac-md5;
secret "zard3R7sivOPTnGWe7wuvg==";
};
cd /mnt/
2)dnssec-keygen -a HMAC-MD5 -b 128 -n HOST westoskey ---创建钥匙 ---敲键盘输入随机创建密码
Kwestoskey.+157+30532
3)cat Kwestoskey.+157+13493.key ---查看公钥内容
cat Kwestoskey.+157+13493.private
4) cp -p /etc/rndc.key /etc/westos.key
5)vim /etc/westos.key
key "westoskey" {
algorithm hmac-md5;
secret "5qbLfKN..."; ---钥匙的内容
};
6)vim /etc/named.conf
40 session-keyfile "/run/named/session.key";
41 };
42 include "/etc/westos.key"; ---named服务读取的文件添加钥匙配置文件
43 logging {
44 channel default_debug {
7)vim /etc/named.rfc1912.zones
zone "dai.com" IN {
type master;
file "dai.com.zone";
allow-update { key westoskey; }; ---只允许拥有钥匙的客户端远程更新
allow-transfer { 172.25.254.200; };
also-notify { 172.25.254.200; };
};
8)systemctl restart named
9)scp Kwestoskey.+157+30532.* [email protected]:/mnt/ ---将加密的钥匙文件拷贝辅助服务器上
检测-辅助服务器:
1)ls /mnt/
Kwestoskey.+157+30532.key Kwestoskey.+157+30532.private
2)cd /mnt/
3)nsupdate ---不用私钥进行远程更新,最后更新失败
4)nsupdate -k Kwestoskey.+157+30532.private ---使用私钥进行远程更新(用哪个钥匙都一样,因为密码都一样)
> server
could not read server name
> server 172.25.254.162
> update add test.dai.com 86400 A 172.25.254.111
> send
dns+dhcp == ddns ===动态域名解析 ===花生壳
分发的ip范围是172.25.254.193到172.25.254.230
查看server的动态ip为172.25.254.193
进行远程更新,在主服务器中解析到test.dai.com
vim /etc/named/dai.com.zone ---在dns服务器中写入game.dai.com的解析信息
server动态ip改变为172.25.254.194
此时的dns解析信息中game.dai.com的ip依然是172.25.2543.193,没有同步解析信息中动态ip的改变
4.vim /etc/named/dai.com.zone ---将game.dai.com域名的解析信息删除
5.配置dhcpd.conf ---利用dhcpd服务来对动态域名进行解析
1)14行 ddns-update-style interim;
2)文件最后添加可更新dns的key
key dns的key名称 {
algorithm hmac-md5;
secret dns的key加密字符;
}
3)文件最后添加要更新的dns的域信息
zone 要更新的域名. {
primary 127.0.0.1; ---回环接口ip地址
key dns的key名称;
}
回环接口ip地址
1.设置一台主机的网络为dhcp
3.重启网络看解析,解析到动态服务器game.dai.com的ip地址为172.25.254.194
server重启网络服务,得到的动态ip是172.25.254.194
此时在desktop中测试,dig game.dai.com的结果是动态域名的解析信息