设为首页 收藏本站
查看: 775|回复: 0

[经验分享] DNS原理及正反向解析

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-4-27 08:30:56 | 显示全部楼层 |阅读模式
DNS原理
现有的网络通讯大部分是基于TCP/IP的,而TCP/IP是基于IP地址的,所以计算机在网络上进行通讯时只能识别如“202.96.134.133”之类的IP地址,而不能认识域名。我们很难记住10个以上IP地址的网站,所以我们访问网站时,更多的是在浏览器地址栏中输入域名,就能看到所需要的页面,这是因为有一个叫“DNS服务器”的计算机自动把我们的域名“翻译”成了相应的IP地址,然后调出IP地址所对应的网页。
DNS and BIND
什么是DNS?
DNS(Domain Name System)是“域名系统”的英文缩写,是一种组织成域层次结构的计算机和网络服务命名系统,它用于TCP/IP网络,DNS基于C/S(Client/Server,客户机/服务器)模式,因而分为Client和Server两种角色。使用53/udp(现在正在使用), DNS: 53/tcp ;Client扮演询问的角色,也就是向Server询问一个Domain Name,而Server必须要回答此Domain Name所对应的真正IP地址。
BIND:BekerleyInternat Name Domain ;ISC (www.isc.org
DNS
TCP: 面向连接的协议;
UDP: User Datagram Protocol,无连接协议
本地名称解析配置文件:hosts
        /etc/hosts
        %WINDOWS%/system32/drivers/etc/hosts
格式如下:
        1.1.1.1www.magedu.com
        1.2.2.2www.apple.com
DNS名称空间Internet 上的DNS域名称采用层次结构,如同一棵倒置的树。
根域为,一个名为 InterNIC 的机构既负责划分全世界的IP地址范围,又负责分配Internet 上的域名称结构。根域DNS服务器只负责处理一些顶级域名DNS服务器的解析请求。
顶级域,常见的三类顶级域:1, 组织域(com,edu, mil, gov, net, org, int)、2, 国家域(.cn, .iq, .hk, .tw)、3, 反向域
二级域; 是在顶级域下划分的(用于公司或个人申请使用)
子域;子域下面可以继续划分子域,或者接主机。
                              QQ截图20150427083032.png
DNS查询过程如访问www.123.com
QQ截图20150427083047.png
Dns查询类型        递归查询:一般客户机和服务器之间属递归查询,即当客户机向DNS服务器发出请求后,若DNS服务器本身不能解析,则会向另外的DNS服务器发出查询请求,得到结果后转交给客户机;(客户端只需要发出一次查询请求就能得到最终答案的插叙)

        迭代查询:一般DNS服务器之间属迭代查询,如:若DNS2不能响应DNS1的请求,则它会将DNS3的IP给DNS2,以便其再向DNS3发出请求; (服务器在发出一个查询请求时,有可能得到一个最终答案;也有可能得到一个参考答案,通常得到一个结果需要多次发起的查询)
名称服务器:域内负责解析本域内的名称的主机;
dns解析类型:正向解析: Name --> IP ;又主机名解析为IP地址
反向解析: IP --> Name : 又IP地址解析为主机名
注意:正反向解析是两个不同的名称空间,是两棵不同的解析树;
    DNS服务器的类型:
        主DNS服务器
        辅助DNS服务器
        缓存DNS服务器
        转发器

        主DNS服务器:维护所负责解析的域内解析库服务器,是该域的权威服务器;解析库由管理Y员维护;
        从DNS服务器:从主DNS服务器或其它的从DNS服务器那里“复制”(区域传递)一份解析库;

BIND的安装配置:
dns服务,程序包名bind,程序名named
1 . bind相关程序包:
bind: 提供域名服务的主程序和相关文件
bind-libs: 提供bind和bind-utils所需公共的共享库
bind-utils: 提供dns的测试工具 如:dig,host,nslookup   
bind-chroot: 使bind可以在一个chroot的模式下运行.也就是说,bind运行时的/(根)目录,并不是系统真正的/
例如 : bind-chroot:/var/named/chroot/
2 . bind相关配置文件:
服务脚本:/etc/rc.d/init.d/named
主配置文件:/etc/named.conf,/etc/named.rfc1912.zones, /etc/rndc.key
解析库文件:/var/named/ZONE_NAME.ZONE
注意:
(1)一台物理服务器可同时为多个区域提供解析;
(2) 必须要有根区域文件;named.ca
(3)应该有两个(如果包括ipv6的,应该更多)实现localhost和本地回环地址的解析库;
rndc: remote name domain controller,默认与bind安装在同一主机,且只能通过127.0.0.1来连接named进程;提供辅助性的管理功能;
默认使用 953/tcp ;/etc/rndc.key
用于连接主机的预共享密钥   
3 . 安装bind
[iyunv@dns1 ~]# yum installbind –y
4 . 查询bind软件包版本
[iyunv@dns1 ~]# rpm -q bind
bind-9.8.2-0.30.rc1.el6.x86_64
5. . 主配置文件/etc/named.conf
全局配置:options{ }
日志子系统配置:logging{ }
区域定义:本机能够为哪些zone进行解析,就要定义哪些zone;
示例 : zone "ZONE_NAME" IN { }
注意:任何服务程序如果期望其能够通过网络被其它主机访问,至少应该监听在一个能与外部主机通信的IP地址上;
默认启动named 只会监听在tcp和udp的127.0.0.1的53端口
6. 启动named
[iyunv@dns1 ~]#/etc/init.d/named start
7. 查看bind监听的套接字 (默认情况下named会监听在127.0.0.1 的tcpupd 53端口)
[iyunv@dns1 ~]# ss -ltunp|grep 53
udp    UNCONN    0      0              127.0.0.1:53                    *:*
users:(("named",3444,512))
udp    UNCONN    0      0                    ::1:53                   :::*
users:(("named",3444,513))
tcp    LISTEN    0      3                    ::1:53                   :::*
users:(("named",3444,21))
tcp    LISTEN    0      3              127.0.0.1:53                    *:*
users:(("named",3444,20))
tcp    LISTEN    0      128                  ::1:953                  :::*
users:(("named",3444,23))
tcp    LISTEN    0      128            127.0.0.1:953                   *:*
users:(("named",3444,22))




运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-60943-1-1.html 上篇帖子: CentOS6.6中htop、dstat和glances监控工具的基础用法 下篇帖子: crontab计划任务命令的使用 网络通讯 英文缩写 浏览器 网络服务 IP地址
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表