Linux CentOS7

DNS(Domain Name System)域名系统
DNS的部署

1:dns协议
作用:正/反向解析主机名或IP地址 主机名或域名解析成ip地址为正向解析
2:区域 (搭建dns服务器要指定区域。这天nds服务器将会负责这个区域的解析服务)
1:正向区域:xxx.xxx(域名) 声明,负责解析哪个区域中的主机名对应的ip地址
2:反向区域:x.x.x.in-addr.arpa 声明,负责解析哪个网段的ip地址对应的主机名(in-addr.arpa为固定的)
如上 x.x.x. 为倒写的ip网段 列:192.168.199.0:80/24 就写成 80:199.168.192.in-addr.arpa
//如果不需要做反向解析那么反向区域可有可无
//域名
如www.baidu.com 中baidu.com为域名 www. 为这个域中的一个主机名
如2 book.baidu.com 中baidu.com为域名 book为这个域里的主机名
1:网址详解
如 www.baidu.com. 正常来说网址后面都会有个 .
. 表示根域
com 表示顶级域名
baidu表示二级域名
www 表示主机名
3:记录
A记录
主机记录 格式 www.XXX.com. A 192.168.1.1 (表示标识www.XXX.com. 对应的ip为 192.168.1.1)
NX记录
标识DNS服务器自身的名 格式 NS dns1.xxx.com. (就是给自己的dns服务器起个名随便起)
dns1.xxx.com. A 192.168.x.x (起完名之后给对应一个ip地址)
MX记录
标识邮件服务器的名称 格式 MX 10 www.xxxx.com.(MX表示邮件记录类型 10表示优先级越小越优先 后面为邮件服务器名,即网址。随便起,可有多个邮件记录)
www.xxxx.com A 192.168.x.x
CNAME记录
别名记录 格式 a.a.com CNAME ai.ai.com(a.a.com为ai.ai.com的别名)
PTR记录
反向指针记录 格式 192.168.1.1 PTR www.XXX.com.(作用于A记录相反)
4:DNS解析方式
递归
客户端只需要向DNS服务器发送一次请求
迭(die)代
客户端需要向DNS服务器发送多次请求
当一个客户端想要访问一个网址时,首先访问缓存文件,如果没有在访问自己/etc/hosts中有没有
这个网址的解析如果没有,再找resolv.conf文件如果没有,那么将访问DNS服务器来解析这个网址,
并且DNS服务器将解析出来的ip返还给客户端,客户端将这个返还的信息缓存在本地(默认返还一天)
当下一次访问这个网站是,直接在缓存中查找,如果缓存中没有,那么在重复上面操作,这种方式叫做 递归
但是当DNS服务器解析不出这个网址时如www.baidu.com,他会把这个请求发给 "."(根),但是根服务
器不会帮你解析而是返回DNS信息说交给他的下属的服务器2如com,cn等这被称为顶级域,然后DNS
收到信息后去找服务器2如baidu(这被称为二级域),服务器2也没帮你解析并且返回信息说交给他下面
的服务器3如www(三级域),然后DNS收到信息后去找服务器3,服务器3发现自己有这个
网址的 A记录 并把解析出来的信息返还给DNS服务器 DNS服务器再把信息返还给客户端 这个操作过程
叫做 迭代
以上是递归加迭代 如客户端访问NDS只访问了一次这块叫递归 DNS访问跟服务器及根下属
服务器23的重复访问 这块叫迭代
5:部署DNS服务器
软件
bind软件(必用) 安装后生产一个dns配置文件在/etc/named.conf
baind-chroot软件(辅助) 安装后把dns所有文件生成一个伪根目录 /var/named/chroot 会把/etc/named.conf
转移到伪根下 /var/named/chroot/etc/named.conf
DNS配置文件
主配置文件 /var/named/chroot/etc/named.conf
记录文件 /var/named/chroot/var/named/记录文件 这个记录文件看你定义区域时给这个区域指定的记录文件名叫什么
如果给这个区域对应的记录文件名叫a 将来
就要给这个区域在这里建一个叫a文件来存这个区域的记录文件
一个记录文件对应一个区域
搭建好DNS服务后启动两个软件
named
named-chroot
端口:
53/udp 用来接收客户端的DNS请求
53/tcp 负责主从服务器的数据同步
6:DNS主服务器搭建演示
假如 公司有三个服务器
uplooking.com.zone 192.168.1.1 网站服务器
ftp.uplooking.com 192.168.1.2 FTP服务器
mail.uplooking.com 192.168.1.3 邮件服务器
准备工作
关闭 SELinux setenforce 0 永久关闭 vim /etc/sysconfig/selinux 把SELINUX=enforcing
改为SELINUX=disabled
关闭 防火墙 systemctl stop firewalld.service 开机自动关闭关闭 systemctl disable firewalld.service
配置 yum源
备份及搭建yum的配置文件
mkdir /etc/yum.repos.d/default
mv /etc/yum.repos.d/CentOS-* /etc/yum.reps.d/default
自己写一个yum的配置文件
vim /etc/yum.repos.d/centos.repo
内容为 [centos]
name=centos
baseurl=ftp://192.168.xxx.xxx/挂在路径
enabled=1
gpgcheck=0
保存退出
yum makecache
下载DNS软件
yum install -y bind bind-chroot
创建DNS配置文件
cd /var/named/chroot/etc/
如果没有name.conf 则 vim named.conf
内容为 options {
directory "/var/named";
};
#以上内容用来指定将来所有区域记录文件的存放位置。以上位
#置是在伪根目录下,即/var/named/chroot/var/named

zone“uplooking.com”{
type master;
file "uplooking.com.zone";
};
#以上内容为 定义了一个区域 区域名叫uplooking.com
#type master 标识区域的类型为master 区域类型有三种
# 1:hint 根域
# 2:master 主区域 主区域里的东西可以修改
# 3:slave 从区域 从区域里的东西不可修改 只能靠向主区域复制而来
#file“uplooking.com.zone”表示给这个区域指定一个记录文件名,这里指定记录文件叫什么名。将来存放记录文
#件的存放位置就得叫什么名字
#以上四行如果有多个区域可以写多个以上内容
保存退出
准备区域的记录文件
cd /var/named/chroot/var/named/
cp /usr/share/doc/bind-9.11.4/sample/var/named/named.localhost /var/named/chroot/var/named/uplooking.com.zone
#拷贝记录文件模板到/var/named/chroot/var/named/ 起名叫uplooking.com.zone
vim /var/named/chroot/var/named/uplooking.com.zone
内容为改为 $TTL 1D
#缓存 1D=1天
@ IN SOA aa.com.(区域名) xxx.xxx.qq.com.写个邮箱可改可不改 (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H) ; minimum
NS 起个主机名.aa.com. (!!!!注意这里的主机名后面的必须和上面的区域名一致)
主机名. A 192.168.本机ip
起个web名 A 192.168.1.1
起个ftp名 A 192.168.1.2
MX 10 起个邮件名.aa.com.
邮件吗.com A 192.168.1.3
保存退出
启动named服务
systemctl start named-chroot
systemctl start named
设置named服务开机自启动
systemctl enable named-chroot
sysemctl enable named
检测DNS服务器是否搭建成功
nslookup
>server
.............................
>server dns服务器的ip
>ftp.uplooking.com
结果为: Server: 192.168.106.21
Address: 192.168.106.21#53

Name: ftp.uplooking.com
Address: 192.168.1.2
>exit 退出nslookup
#192.168.1.2是你在dns上指定的 ftp。uplooking.com的ip
如何让客户机使用这台DNS服务器
客户机 vim /etc/sysconfig/network-scripts/ifcfg-ens33
添加一行DNS1=搭建的DNS服务器ip

你可能感兴趣的:(Linux CentOS7)