一、准备工作
1.DNS学前准备
学习目标:
1.了解原理:dns实现原理及实际dns应用
2.动手搭建:掌握Bind服务的搭建过程及DNS测试方法
3.深入学习:dns负载均衡实现
4.掌握应用:只智能dns的使用
5.了解:了解企业dns架构及安全防范策略
二、相关知识点介绍
1.BIND介绍
Bind是一个开源、稳定、应用广泛的dns服务
其组成:域名解析服务、权威域名解析服务、提供dns工具
2.DNS中的域名
先查找根域名、然后一级域名,然后二级域名。
3.域名解析及权威域名解析
上图详解:
1、域名服务器存在域名记录,当查询时候就则直接返回IP(递归查询),否则进行迭代查询(如上图)
2、图中名字服务器都可以用到bind服务,红框中的bind具有权威解析,因为他返回域名对应的权威解析IP地址
4.域名解析记录分类
1)A记录:由域名服务器返回IP地址(最基本、所有域名里最多的记录)
2)CNAME:方便多个域名解析同一个IP地址(如图创建一个CNAME记录指向有A记录的域名)
3)NS记录:bind服务器不能进行权威解析时,会回一个NS记录给用户,这时用户再发起另一台bind服务器的权威解析请求。
4)MX记录:全称是邮件交换记录,在使用邮件服务器的时候,MX记录是无可或缺的,比如A用户向B用户发送一封邮件,那么他需要向DNS查询B的MX记录,DNS在定位到了B的MX记录后反馈给A用户,然后A用户把邮件投递到B用户的MX记录服务器里。
三、Bind安装和配置
1.Bind服务安装
redhat(centos):yum install bind bind-chroot
ubuntu: sudo apt-get install bind9
2.Bind服务默认配置
centos7 /8启动服务命令是:systemctl start/stop/restart/enable/disable service
Bind服务的主配置文件:/etc/named.conf
Bind文件中的配置文件选项:
详解:
11: Bind的监听端口,监听tcp和udp的53端口,监听地址127.0.0.1,默认监听所有
12:监听ipv6地址的53端口
13:控制的Bind的数据库文件、配置的zone的文件以及主的目录
14:dns解析过的缓存存放的位置目录
15:静态解析文件
16:内存的控制信息
17:权限的控制
25及以下:dns的加密和key的设置
详解:
31:控制日志的输出,默认是debug的输出
32:输出的文件位置
33:控制日志输出的详细的级别
详解:DNS域解析,解析记录位置
将默认配置文件备份(方便后面的学习):
cp /etc/named.conf /etc/named.conf_defult
四、Bind服务实战场景
1.Bind服务实战场景一配置
第一步:编辑named.conf :
vim /etc/named.conf
添加内容如下:
options {
directory "/var/named";
};
zone "imooc.com"{
type master;
file "imooc.com.zone";
};
以上name.conf内容详解:
配置全局的配置文件:options{ };
主目录:directory,配置到目录 /var/named下
配置域:zone
二级域:imooc.com
类型:type ,设置成master,表示是主
具体解析记录配置:file,配置到 imooc.com.zone里面
第二步:file里的配置文件要写入到directory里的目录文件里面
cd /var/named //进入目录
vim imooc.com.zone //新建文件
添加内容如下:
$TTL 7200
imooc.com. IN SOA imooc.com. 123.qq.com. (222 1H 15M 1W 1D)
imooc.com. In NS dns1.imooc.com.
dns1.imooc.com. IN A 192.168.242.128
www.imooc.com. IN A 2.2.2.2
以上imooc.com.zone内容详解
$TTL 7200 :dns的失效时间
imooc.com. (目前需要解析的二级域名,写全的域名)IN SOA(解析到) imooc.com. 123.qq.com.(我的邮箱,123.qq.com,@用.表示)(222 1H 15M 1W 1D)(222是区别号,后面是配置时间,刷新时间,过期时间等,后面详解)
imooc.com. IN NS dns1.imooc.com. (把二级域名给了dns1.imooc.com)
dns1.imooc.com. IN A( 对这个域名进行A记录)192.168.242.128(解析到本机IP)
www.imooc.com. IN A 2.2.2.2 (真正的imooc的域名地址解析到A地址2.2.2.2.)
第三步:重启named
systemctl restart named
如果报错可以查看日志:
tail -f /var/log/messages
第四步:使用 dig 命令挖掘域名解析信息
dig @192.168.242.128 www.imooc.com
通过上图,后两个圈注就找到了权威dns的地址,再去查找192.168.242.128的时候,就返回了一个权威的解析,www.imooc.com对应的就是2.2.2.2。
注意,一下内容也可以简写如图所示(请只看简写部分哈,后面的邮箱号和本机ip与之前不同):
重点总结:
2.Bind服务实战场景二配置
第一步:获取imooc地址的真实server
ping www.imooc.com
第二步:将真实的imooc的地址写入
vim imooc.com.zone
第三步:把自己的域名解析到imooc的地址上
需要named.conf 新建一个权威出来解析对应的域。
vim /etc/named.conf
添加内容如下图所示:
第四步,创建iaskjob.com.zone文件
内容如下:
$TTL 7200
iaskjob.com. IN SOA iaskjob.com 123.imooc.com. (4012100 1H 15M 1W 1D)
iaskjob.com. IN NS dns1.iaskjob.com.
dns1.iaskjob.com. IN A 192.168.242.128
imooc.iaskjob.com. IN CNAME www.imooc.com.然后重启:
systemctl restart named
第五步:测试一下
dig @127.0.0.1 imooc.iaskjob.com
3.Bind服务实战场景二测试
打开本机客户端终端(注意:上述中的ip需要填写自己本机的才可以哈):
方法1.nslookup imooc.iaskjob.com
方法2:ping imooc.iaskjob.com
方法三:打开浏览器,输入网址
http://imooc.iaskjob.com 即可