转发DNS服务器:
场合:
比如说你不能直接访问外网的dns服务器,但是公司里有一个人他可以访问外网的dns,那么你只能通过他转发请求。
实验环境:两台dns服务器和一个客户端
1)192.168.10.10 真正的dns服务器,拥有全部的解析以baidu.com正向解析为例
2)192.168.10.14 转发dns服务器,没有主机的解析信息
192.168.30.14可以通的网段
3) 192.168.30.15 客户端
例子:
202.103.24.68 外网
202.103.24.12 192.168.10.14 可以连外网 也可以连内网
192.168.10.11 内网
允许24.12访问
start:
第一步:安装该安装的
yum
第二步:修改住配置文件
vim/etc/named.conf
只要是涉及到多台DNS就要做下面的操作
33 34等注释 留下recursion 和pid,也注释include
最后:options里面有recursion pid,外面有zone “.”就可以了
添加一个www.baidu.com的正向解析(过程略,之前有做过,然后换一个客户端测试一下)
第三步:做转发
修改住配置文件,在options里面添加allow-transfer{202.103.24.12允许它来转发};forwarders{202.103.24.68};指向转发的服务器
客户端:ifconfig ens33:0202.103.24.12
ping202.103.24.68
ping192.168.10.14
zhupeizhioptions留下ipv4并添加:
forwarders{202.103.24.68};
看看DNS服务器能不能ping通,能ping通就能设置 DNS服务器IP
重新巩固:
环境:
第1台:DNS服务器端的IP是192.168.56.57
第2台:转发服务器端的IP是192.168.56.63和192.168.1.63
第3台:客户端clone1的IP是192.168.1.61
第一步:第1台,安装bind和bind-utils并修改主配置文件
# vim /etc/named.conf
options {
listen-on port 53 { any; };
directory "/var/named";
allow-query { any; };
allow-transfer { 192.168.56.63; }; #允许谁转发,写的是转发服务器的IP地址
};
33 34等注释 留下recursion 和pid,也注释include
第二步:添加一个www.baidu.com的正向解析(过程略,之前有做过)
第三步:重启服务
第四步:第2台,安装bind和bind-utils并修改主配置文件
vim /etc/named.conf
options {
forwarders { 192.168.56.57; }; #真正的dns服务器的IP,把请求转发给谁
};
结论:发现forwarders是两台DNS互信,转发的服务器只写这些,其他全部注释掉
第五步:重启服务
第六步:第3台,指定DNS服务器为转发服务器
vim /etc/resolv.conf
nameserver 192.168.1.63(要ping的通才有用)
第七步:安装bind-utils用nslookupwww.baidu.com进行测试
如果修改了第1台的区配置文件的ip,就要在第2台上使用rndc flush 清理缓存
rndc flush刷新dns,dns刷新
$TTL 1D是设置缓存时间为1天,0是不缓存,H是小时,W是周
yum install -y nscd
rndc flush 清理缓存
转发DNS服务器结论:只能转发DNS域名解析,不能转发ping,到头来还是ping不通(因为做的是DNS转发,而不是路由转发),注意/etc/resolv.conf指定的DNS服务器ip必须要ping的通才行
DNS主从:
从机要新添加:
type slave;
masters { 192.168.56.63 };
怎么实现同步的?
通过serial序列号
start:
环境:
主机DNS : 192.168.56.63
从机DNS : 192.168.56.57
主机:
修改主配置文件(在zone里面加notify等)
# vim /etc/named.conf
zone "up.com" IN {
type master;
file "up.com.zone";
notifyyes;允许通知
also-notify { 192.168.56.57; }; 也通知从机
};
33 34等注释 留下recursion 和pid,也注释include
修改zone文件
# vim up.com.zone
$TTL 3H
@ IN SOA @ root.uplooking.com. (
2018010501; serial序列号年月日版本号,这个是做主从要改的东西
1D ; refresh
1H ; retry
1W ; expire超过这个时间就删掉
3H ) ; minimum
NS clone11.uplooking.com.
www.up.com. A 192.168.56.57
www.up.com. A 155.155.155.155
重启服务(注意also-notify那里需要有两个分号)
从机:
修改主配置文件(添加和主机一样的域,并在zone里面type slave;添加masters {主机IP;};)
# vim /etc/named.conf
zone "up.com" IN {
typeslave;
#file "up.com.zone"注释掉这行,说明了DNS的从机是没有zone文件的,如果从机slave也有zone文件会怎样呢?写了等于没有写
masters { 192.168.56.63;};主是谁
};
33 34等注释 留下recursion 和pid,也注释include
重启服务
nslookupwww.up.com访问不需加ip因为主机ip已经写到主配置文件了
结果:能把主机上的up.zone文件里面写的ip都显现出来
思考:在主机上测试会怎样?和从机上测试一样的
主机:
不修改区配置文件里的序列号为2018010502,把155全改为100再测试会怎样?(注意主机修改了配置文件要重启服务,从机如果重启服务的话序列号也就重置了)
答:结果155全变成了100,那是因为你指定了DNS服务器,不要指定啊
为什么要写序列号?为什么要改序列号?
答:不写或不修改序列号的话就不能修改同步到从机
测试nslookup的时候不要指定DNS服务器,不然看不到效果
子域:
父域子域
定义:除了根域和顶级域com以外的都称为子域
为什么要使用子域?方便管理、减轻负担
实验环境
1)父域 com 192.168.56.63
2)子域 up.com 192.168.56.57
mail.up.com
www.up.com
父域配置
1)修改主配置文件
# vim /etc/named.conf
options {
listen-on port 53 { any; };
directory "/var/named";
allow-query { any; };
forwarders{ 192.168.56.57; };相当于父机相信子机
};
zone "com" {为什么一定非要使用com?还能写com.cn呀因为你是分开写,子域写在子机里面
type master;
file "com.zone";
};
2)创建区配置文件(父机要声名父域IP,有两个NS)
# cd /var/named/
# cp -p named.empty com.zone
# vim com.zone
$TTL 3H
@ IN SOA @ root.clone12.uplooking.com. (
0; serial 父子中父还要设置序列号吗
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS 父机的主机名加点
父机的主机名加点 A 192.168.56.63#父域IP 宋子奇的A,.cn问题见下面
up NS 子机的主机名加点
up A 192.168.56.57 #子域IP
3)重启服务
子域配置
1)主配置文件
# vim /etc/named.conf
options {
directory "/var/named";
};
zone "up.com" {
type master;
file "up.com.zone";
};
2)区配置文件
# vim /var/named/up.com.zone
$TTL 3H
@ IN SOA @ root.uplooking.com. (
2016020702 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS clone11.uplooking.com.
www A 6.6.6.12
A 6.6.6.13
mail A 6.6.6.13
3)重启服务
验证
客户端将dns服务器指向父域
# cat /etc/resolv.conf
nameserver 6.6.6.12
# nslookup www.up.com(除了根域和顶级域com以外其他的都是子域,com就是父域)
Server: 6.6.6.12
Address: 6.6.6.12#53
Non-authoritative answer:
Name: www.up.com
Address: 6.6.6.12
Name: www.up.com
Address: 6.6.6.13
# nslookup mail.up.com
Server: 6.6.6.12
Address: 6.6.6.12#53
Non-authoritative answer:
Name: mail.up.com
Address: 6.6.6.13
start:(老师)
环境:
父域:com 10.15
子域:baidu.com 10.14
客户端:10.11
父机:
vim/etc/named.conf
options添加forwarders {192.168.10.14; };
zone “com”IN{
type master;
file “com.zone”;
};
区配置文件:
cp -p
NS 主机名clone5.up.com.
clone5.up.com.A 10.15
baidu NSclone4.up.com.
baidu A10.14
重启服务
子机:
vim/etc/named.conf
zone “baidu.com”IN {
type master;
file“baidu.com.zone”;
};
区配置文件:
cp -p
baidu.com.zone
NS clone4.up.com.
www.baidu.com.A 10.100
重启服务
客户机:
nslookupwww.baidu.com 10.15访问父机就能够获取子域里面的东西
父域下面可以有多个子域
重新巩固:
比如要做一个www.hao1234.com的网站
环境:
第1台虚拟机 父机 192.168.56.63 主机名是litao5663
第2台虚拟机 子机 192.168.56.57 主机名是litao5657
第一步:
父机:
vim/etc/named.conf修改主配置文件
该注释的注释掉,该改为any的改为any
然后在options里面添加forwarders { 192.168.56.57;};父亲相信儿子
在下面添加:
zone"com" IN {
type master;
file "son-com.zone";
};
切换到区配置文件目录:
cd/var/named
cp -pnamed.empty son-com.zone
vimson-com.zone
$TTL 3H
@ IN SOA @ rname.invalid. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS litao5663.
litao5663. A 192.168.56.63
hao1234NS litao5657.
hao1234A 192.168.56.57
systemctlrestart named重启服务
第2台虚拟机(子机):
yum install-y bind bind-utils
vim/etc/named.conf
zone"hao1234.com" IN {
type master;
file "son-hao1234.zone";
};
进入区配置文件目录:
cp -pnamed.empty son-hao1234.zone
vimson-hao1234.zone
$TTL 3H
@ IN SOA @ rname.invalid. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS litao5657.
www.hao1234.com. A 123.123.123.123
systemctlrestart named重启服务
第3台虚拟机(客户机):
yum install-y bind-utils
[root@litao5658~]# nslookup www.sina.com.cn 192.168.56.63
Server: 192.168.56.63
Address: 192.168.56.63#53
Non-authoritativeanswer:
Name: www.sina.com.cn
Address:192.168.56.100
总结NS和A:
NS comdsd.com.dasfdsf.dsafjdsjfoasj.dsafadsf.
hao1234NS dsaoigjsdgo.
1)NS 后面必须要以小数点结尾,至于小数点之前的内容随便瞎写都可以,反正不是以.com.结尾的就ok,若以.com.结尾就必须添加一条A:
例如: NS szq.com.
szq.com. A 本机ip
这样才行,所以说.com.是个例外
父机区配置文件里不需要写子域的A,只需写子域的NS就可以,NS后面瞎写都可以
周五测试:
1.使用同一个DNS服务器,访问同一个域名www.sina.com
192.168.56.57这个客户端访问得到的结果是vip,其他人访问得到的结果是others
请自行规划并写出配置过程
环境:
第1台虚拟机 DNS服务器 192.168.56.63 主机名是litao5663
第2台虚拟机 会员机 192.168.56.57 主机名是litao5657
第3台虚拟机 其他人1 192.168.56.58 主机名是litao5658
第4台虚拟机 其他人2 192.168.56.59 主机名是litao5659
第1台虚拟机(DNS服务器):
yum install-y bind bind-utils
vim/etc/named.conf
该注释的注释掉,该改为any的改为any
acl huiyuan{
192.168.56.57;
};
view"hy" {
match-clients { huiyuan; };
recursion yes;
zone "." IN {
type hint;
file "named.ca";
};
zone "sina.com" {
type master;
file "sina.zone";
};
};
view"qitaren" {
match-clients { any; };
recursion yes;
zone "." IN {
type hint;
file "named.ca";
};
zone "sina.com" {
type master;
file "qitaren.zone";
};
};
切换到区配置文件目录:
cd/var/named
cp -pnamed.empty sina.zone
cp -pnamed.empty qitaren.zone
vim sina.com
$TTL 3H
@ IN SOA @ rname.invalid. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS litao5663.
www.sina.com. A 192.168.56.63
vimqitaren.zone
$TTL 3H
@ IN SOA @ rname.invalid. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS litao5663.
www.sina.com. A 192.168.56.57
systemctlrestart named
yum install-y httpd安装httpd
echo"vip" > /var/www/html/index.html
systemctlstart httpd
第2台虚拟机(会员机):
yum install-y httpd安装httpd
echo "others"> /var/www/html/index.html
systemctlstart httpd
vim/etc/resolv.conf
nameserver192.168.56.63
[root@litao5657named]# curl www.sina.com
vip
第3台虚拟机(其他人1):
vim/etc/resolv.conf
nameserver192.168.56.63
[root@litao5658~]# curl www.sina.com
others
第4台虚拟机(其他人2):
vim/etc/resolv.conf
nameserver192.168.56.63
[root@litao5659~]# curl www.sina.com
others
2.多级子域授权解析www.sina.com.cn(好坑啊,只有cn的下面才能分com、edu)
写出配置过程
环境:
第1台虚拟机 父域:com.cn 192.168.56.63 主机名是litao5663
第2台虚拟机 子域:sina.com 192.168.56.57 主机名是litao5657
第3台虚拟机 客户端:192.168.56.58
第1台虚拟机(父机):
yum install-y bind bind-utils
vim/etc/named.conf
该注释的注释掉,该改为any的改为any
然后在options里面添加forwarders { 192.168.56.57;};
在下面添加:
zone "com.cn"IN{
type master;
file "com.cn.zone";
};
切换到区配置文件目录:
cd/var/named
cp -pnamed.empty com.cn.zone
vim com.cn.zone
$TTL 3H
@ IN SOA @ rname.invalid. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS litao5663.
com NSlitao5657.
sina NSlitao5657.
systemctlrestart named重启服务
第2台虚拟机(子机):
yum install-y bind bind-utils
vim/etc/named.conf
zone "sina.com.cn"IN {
type master;
file "sina.com.cn.zone";
};
进入区配置文件目录:
cp -pnamed.empty sina.com.cn.zone
vimsina.com.cn.zone
$TTL 3H
@ IN SOA @ rname.invalid. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS litao5657.
www A 192.168.56.100
systemctlrestart named重启服务
第3台虚拟机(客户机):
yum install-y bind-utils
[root@litao5658~]# nslookup www.sina.com.cn 192.168.56.63
Server: 192.168.56.63
Address: 192.168.56.63#53
Non-authoritativeanswer:
Name: www.sina.com.cn
Address:192.168.56.100