标签:style http 使用 os io 文件 for 2014
Centos 6.5 DNS详解
为什么会出现DNS?为了让你上网浏览网页时不必直接输入IP地址而是输入更易记忆和理解的主机名字
主机间通信依靠IP地址。计算机诞生之初是没有DNS概念的,当时的主机数量寥寥无几,主机通信依靠的是写在host文件中的主机名到IP地址的对应关系来查询IP地址,然后使用IP进行通信。但是随着时间的推移,主机数量急剧增长,host文件的弊端显露无疑。此时急需一种高效方便的解决方案。DNS应时而生。是的DNS就是用于主机名到IP的解析的。
下面结合下图分析dns解析过程:
当你打浏览器输入网址例如:www.google.cn然后就打开了谷歌的页面。可能你没有意识到计算机在你看不见的地方做了一系列的工作。
浏览器会发起DNS库文件调用,用于查询google的IP地址。首先查询本地的DNS缓存,如果找到就直接返回IP地址,没有就继续查找host文件如果还没找到就会去到/etc/resolv.conf 文件中你设置的DNS服务器去请求查询的IP。服务器收到请求后首先查询自己的缓存记录,如果查到就返回IP地址,否则服务器将去查询.(根)DNS服务器,根服务器说你要查询的域不是我负责的区域(也会首先查关于.cn的缓存,以后不再赘述),但是我知道.cn负责你去找它去查询。于是返回.cn的IP地址。服务器收到.cn的地址,然后到.cn去查询。.cn 看到请求说我这里没有但是我知道google.cn知道你去找它,于是返回google.cn的IP地址,服务器收到返回的IP地址后又去找google.cn,googl.cn一看此主机正是自己所负责解析的,于是返回www.google.cn的IP地址给服务器,服务器收到后将IP交给浏览器,于是就可以通过网络访问www.google.cn的主机。整个过程大致是这样的。
DNS服务器的分类:
主DNS服务器 :负责区域的解析。
辅助DNS服务器:容错设计当主DNS服务器无法解析时在一定时间内代替主DNS。
缓存DNS服务器:用于缓存DNS查询的记录。
转发DNS服务器:自身不响应DNS查询请求,只是将请求转发至其他DNS服务器。
下面将以源代码编译安装的方式介绍四种服务器的配置。下列过程完全手动进行。最后介绍DNS的视图功能实现智能DNS的应用。
下载bind源代码包: wget http://www.isc.org/downloads/file/bind-9-9-6b1/?version=tar.gz 确保编译环境; yum groupinstall “Server Platform Development” -y yum groupinstall “Server Platform” -y Yum install gcc -y 编译安装: 增加系统用户:useradd -r -u 53 named tar xf bind-9.9.6b1.tar.gz cd bind-9.9.6b1.tar.gz ./configure --prefix=/usr/local/bind9 --sysconfdir=/etc/named/ --disable-ipv6 --disable-chroot --enable-threads 配置完成后编译安装 Make && make install
手动创建缓存服务器 vim /etc/named.conf acl mynetwork { 172.16.101.34; 127.0.0.1 172.16.34.1 }; options { direcotry “/var/named”; allow-recursion { mynetwork; }; Allow-query { mynetwork; }: }; Zone “.” IN { Type hint; File “named.ca”; }; Zone “localhost” IN { Type master; File “localhost.zone”; }; Zone “0.0.127.in-addr.arpa” { Tppe master; File “0.0.127.zone” }; 编写解析库文件: 生成named.ca Dig -t NS . @a.root-servers.net > /var/named/named.ca Vim /var/named/localhost.zone $TTL 86400 $ORIGIN localhost. @ IN SOA @ root.local.com ( 2014080501 1W 10M 2W 1D ) IN NS @ IN A 127.0.0.1 Vim /var/named/0.0.127.zone $TTL 86400 $ORIGIN 0.0.127.in-addr.arpa. @ IN SOA @ admin.localhost. ( 2014080501 30M 10M 7D 1D ) IN NS @ IN A 127.0.0.1 1 IN PTR localhost.
调整文件权限: chown -R root:named /etc/named /var/named Chmod 750 /etc/named /var/named Chmod 640 /etc/named/named.conf /var/named/* 导出二进制文件 Vim /etc/profile.d/named.sh Export PATH=/usr/local/bind9/sbin/:$PATH 导出man文档 Vim /etc/man.config MANPATH /usr/local/bind9/share/man 创建启动脚本可以用 service servicename start 方式启动 脚本将以附件形式给出::::::::::
Cp named /etc/init.d/named Chown root:named /etc/init.d/named Chmod +x /etc/init.d/named Chkconfig --add named 查看结果: chkconfig --list | grep named named 0:off 1:off 2:off 3:off 4:off 5:off 6:off 至此纯缓存服务器创建成功: 启动named Service named start 创建主DNS服务器:只需在主配置文件中增加一个域的解析 这里假设为google.cn域
编辑主配置文件增加如下内容 Zone “google.cn” { Type master; File “google.cn.zone”; Allow-update { none; } }; 创建解析库文件 Vim /var/named/google.cn.zone $TTL 3600 $ORIGIN google.cn. @ IN SOA ns.google.cn. Root.google.cn. ( 2014080501 30M 10M 7D 1D ) IN NS ns.goggle.cn. IN MX 10 mail.google.cn Ns IN A 172.16.101.34 Mail IN A 172.16.101.33 www IN A 172.16.101.34 ftp IN A 172.16.101.32 重启DNS服务 :service named restart 用客户端测试:
创建主从DNS
拓扑图如下:
为了方便这里采用yum方式安装bind在从DNS服务器
在主DNS配置文件中添加一条控制信息allow-transfer { 172.168.101.100; } 不加的话任何主机都可以得到主dns的所有区域文件解析库。在需要传送的域解析库中 添加一条NS记录指向从DNS。
允许从服务器查询:
允许从服务器区域传送
主服务器配置完毕
下面设置从服务器
只需修改配置文件增加一个类型为从的区域vim /etc/named.rfc1912.zones
重启从服务器的named就会传送区域文件
从服务器的特性
可以帮助主服务器解析域名 这是在主服务器还存活的情况下 否则当到达设定的过期时间后从服务器拒绝提供任何解析服务。
#!/bin/bash # QTYPE="A" QDOMAIN="www.google.cn" CDNS="172.16.101.100" read -p "please input expire time UNIT is S: " EXTIME ssh root@172.16.101.34 ‘service named stop ‘ rndc flush for i in $(seq 1 2 );do dig -t $QTYPE $QDOMAIN @$CDNS sleep $EXTIME rndc flush Done
子域授权原理图如下:将其子域授权其他服务器解析
实验拓扑图:
配置主DNS服务器:
内容如下:
配置子域服务器增加tech.google.cn域的解析
增加子域的解析库
使用客户端测试
子域part.google.cn同理
用tech.google.cn服务器去解析其父域google.cn在局域网中无法实现,因此要用到转发服务器。
在tech.google.cn 创建转发DNS使其直接能够解析其父域主机地址
客户端测试
DNS智能服务器(视图功能)可以根据不同客户端IP地址解析不同的主机IP地址(现实中的应用电信联通双线机房)
实验拓扑环境:
配置主DNS视图功能
正确解析
不同网段解析同一域名得到不同结果
Centos 6.5 DNS详解,布布扣,bubuko.com
标签:style http 使用 os io 文件 for 2014
原文地址:http://centod.blog.51cto.com/9108378/1536524