DNS服务器及DNS服务搭建
一.引子
DNS:中文名称为域名系统,英文全称为dimain name service.是用来做域名/主机名与IP之间的转换的服务。至于为什么有这种服务,是因为IP地址太难记了,我们正常情况下记不了几个IP地址,就像正常人不会去记小数点后十几位一样。所以有需求就有服务,记域名无疑比记IP更方便,所以DNS服务就诞生了。
二.DNS的一些基本原理
- DNS作用:
正向解析 域名 > IP
反向解析 IP < 域名 - 访问百度站点(访问一次网络服务需要经过哪些路径)
1).B(浏览器端) 封装数据报文 ….
2).C (客户机端)向 DNS 发起 域名解析查询
3).B (浏览器端)得到目标的服务器的地址,发送请求
4).S (服务器端)接受到数据报文,返回数据 - 查询方式:
1).递归查询(准确结果:直接得到答案):客户端向DNS服务器的查询为递归查询。DNS服务器一定要返回地址,如果不知道可以查询其他DNS服务器。
2).迭代查询:不直接给出结果,而是从根域开始,一步步向底下的多级域不断迭代,直达找到结果.以www.taobao.com为例
查询流程:
根域:.
一级域名: .com
二级域名: .taoibao
三级域名; .www - 国家没有根域解决方式
1).伪根 镜像 美国根 DNS 服务器
2).构建超大型的局域网
3).大力推进ipv6网络
三.DNS的服务器的搭建(基本DNS,主从DNS,缓存DNS,分离解析DNS)
1.实验1:简单DNS服务搭建实验:(实验中11,12,13开头代表的是服务器1,2,3)
(1) 安装软件包:yum -y install bind
(2) vim /etc/named.conf
① 设置监听地址(监听所有地址):listen-on port 53 {any;};(与SSH监听所有地址不同0.0.0.0)
② 设置所有用户都可以使用本机dns服务:allow-query {any;};
③ 是否支持递归查询:recursion yes
(3) vim /etc/named.rfc1912.zones(记录了所需声明的域名和网站)
① 将解析留下两类:正向解析,反向解析
② 解析以下内容:实验
- 解析
a. www.hongfu.com :192.168.26.11
b. ftp.hongfu.com :192.168.26.12
c. mail.hongfu.com :192.168.26.13
③ 修改配置文件 - vim //etc/named.rfc1912.zones
- 正向解析:zone”hongfu.com.”
- file”hongfu.com.zheng”
- 反向解析:zone”26.168.192”(反写网络位)
- file”hongfu.com.fang”
(4) 编写数据文件(cd /var/named)
① 随便找个文件复制下:cp -a name.localhost honghu.com.heng
② 打开文件:vim honghu.com.zheng
③ 修改正向解析配置文件
- IN SOA hongfu.com.
- NS dns.hongfu.com.
- www A 192.168.26.11
- ftp A 192.168.26.12
- mail A 192.168.26.13
- dns A 192.168.26.11
A:正向指针
④ 修改反向解析配置文件
- 拷贝文件:cp -a hongfu.com.zheng hongfu.com.fan
- vim hongfu.com.fan
a. 11 PTR www.hongfu.com
b. 12 PTR ftp.hongfu.com
c. 13 PTR mail.hongfu.com
d. 11 PTR dns.hongfu.com
(5)开启dns服务器
- service named start
- chkconfig named on
- 打开网卡配置文件:vim /etc/sysconfig/network-scripts/ifcfg-eth0
- 12DNS1=192.168.26.11
- 12service network restart
- 12另一台设备交互命令地址解析:nslookup
a. www.hongfu.com
b. 192.168.26.11
#实验出现问题:关闭试验机和虚拟机的第二张网卡的nat模式,对实验有影响。
2.实验2:11主从DNS服务搭建(dns在多台dns服务器中可以相互传递)
构建主从dns服务器的目的:相当于备份,当主服务器节点死亡,从服务器节点开始工作,保证服务的高可用,避免手动重复构建多个dns服务器。
11.主服务器:yum -y install bind
12.yum -y install bind:从dns服务器
主服务器配置
(5)主服务器同步注意;每一行后面不能有空格(主服务器的其他配置文件已经在上一个实验中配置完成)
:vim /etc/named.conf
从服务器配置
12. 打开主配置文件:vim /etc/named.conf
12 vim /etc/named.rfc1912.zones(域名和网站声明文件配置)
- service named restart(同步数据)
13进行测试:修改dns地址设置为192.168.26.12(从选择从dns服务器)
实验3:缓存DNS服务器的搭建(20%的服务承担80%的访问量)
目的:减小主服务器的压力,将访问量大的服务点转移到缓存服务器上,主服务器的压力大大减小。
12还原实验二的从服务器设置
12yum -y install dnsmasq
12vim /etc/dnsmasq.conf
结尾添加
12service dnsmasq start
13dig www.hongfu.com
11service named stop
13dig www.hongfu.com
实验四.:分离解析DNS服务器的搭建(使两个不同的广播域内的机器通过同一台dns服务器能够返回各自不同的结果)
1.分离解析DNS作用:
根据不同的客户端提供不同的域名解析记录。来自不同地址的客户机请求解析同一域名时,为其提供不同的解析结果。也就是内外网客户请求访问相同的域名时,能解析出不同的IP地址,实现负载均衡。
11:测试机192.168.26.11(vidifmnet1)
12:分离解析服务器:(vmnet1和vmnet2)使用两张网卡,配置两个局域网网卡
13:测试机:20.20.20.12(vmnet2)
在虚拟机设置中将第二张网卡IP改为20网段
12dns服务器
12vim /etc/named.conf
寻找主配置文件中的区域声明文件
声明:
12cd /etc
12cp -a named.rfc1912.zones named.lan(同时将named.rfc1912.zones文件删除,防止对后续操作产生影响)
12vim named.lan
cp -a named.lan named.wan
12 生成四个配置文件
cd /var/named/
cp -a named.localhost hongfu.com.zheng.wan
vim hongfu.com.zheng.wan
cp -a hongfu.com.zheng.wan hongfu.com.fan.wan
vim hongfu.com.fan.wan
cp -a hongfu.com.zheng.wan hongfu.com.zheng.lan
vim hongfu.com.zheng.lan
cp -a hongfu.com.zheng.wan hongfu.com.fan.lan
12:service named restart
11:配置DNS:DNS1=192.168.26.11 重启网卡
11测试:nslookup
13配置DNS:DNS1=20.20.20.1 重启网卡
13测试:12.service http start &echo”123” >> /var/html/index.html
13curl www.hongfu.com
12.查看日志:cat /var/log/httpd/access_log