linux之DNS服务
1.DNS (Domain Name Service 域名解析)
DNS是因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网而不需要记忆能够直接被机器识别的IP。
BIND: Berkeley Internet Name Domain -->实现 监听端口: UDP:53 TCP:53 DNS默认是工作在UDP下,因为UDP快。一旦网络出现问题,才用TCP。 TCP传输:建立连接需要三次握手,四次断开。需要一定的网络代价。传文件用 UDP: 直接的传输,会丢包。快,即时通信qq用。 搭建步骤如下: 1.安装软件。2.修改配置文件(至少能够解析3个域+自己定义的域) 3.编写区域数据文件。4.启动服务测试。 |
MAC ==》IP ==》主机名
名称解析 名称解析的过程:就是某个应用程序基于某个搜索键在指定数据库中,查询,查询到对应的键,与键对应值被找出来的过程. /etc/passwd login: password: 输入用户名和密码之后,怎么知道passwd文件和shadow文件?查看文件more 解析机制 # cat 在这个文件中可以看到hosts后面的定义 主机名-->IP IP-->主机名 反向解析 hosts: 2、域名解析发展历程 1)本地hosts 每台机器都需要维护一份,不知道新的主机,随着机器越来越多,维护成本高,通信之间不方便(不同机器直接通信访问本地的host文件) 2)地址分配机构(ftp) 每台机器到ICANNN进行注册,每台机器定期的从最全的服务器上去下载/刷新hosts文件;随着机器的数量的增多,服务器的带宽是有限的,很慢的 3)集中解析机制 机器本身不存hosts文件,直接去服务器请求,只发送请求的带宽 4)分布式数据库 主服务器建立了很多的子服务器,子服务分模块存储各个域名。 主服务器,下面有很多小服务器(1,2,3…),假如A访问B,通过主服务器反馈:我不知道B是谁,但是1号机器知道,你去问他吧,A再访问1号机器,1号机器解析反馈B的IP给A,A拿到B的IP后,再访问B |
3.域介绍
说明:www.baidu.com严格的说应该是www.baidu.com.后面得加根域
• 一级域/顶级域 • 早期有ICANN(The – 一级域分三类 – 1.组织域:.com,.org,.net,.mil,.gov,.edu – 2.国家域:.cn,.hk,.tw,.jp,.us,.uk(中国,香港,台湾,日本,美国,英国) – 3.反向域:.in-addr.arpa(IP-->主机名) • 二级域(在互联网上,通常二级域就由公司等去申请的,因此通常被称为组织域) 说明点: 1)分属两个不同域的相同主机名是不会存在问题的. 2)而主机名的书写习惯是自下向上的,自底向上进行追溯 3)在书写上可以省略.(根域),但是在配置DNS时,绝对不能省略,否则可能会补上其他域名 |
4.DNS解析过程
DNS服务器的类型(能双向问,能解析本地域加上缓存名称服务器)
- - 缓存名称服务器:只能单向问,不能解析本地域 参考答案:告诉你去找com 权威答案:直接告诉你IP地址 迭代:先问根,根说是com,再去问com 递归-->逐层向下,逐层向上,只发一次请求就能得到权威答案的称为递归 根为谁提供递归?根不为任何人提供递归 外来机器可否指定本DNS?看本地是否愿意了,比如谷歌提供的 8.8.8.8 肯定应答: 给你响应了,就是肯定应答 否定应答: ping 一个不存在的主机,得不到答复 肯定应答(有这个ip,并给你这个ip,本地DNS要缓存) 否定应答(没有这个ip,本地DNS要缓存) 关于应答的缓存: 为了加快访问速度,会对肯定答案进行缓存,那否定答案呢? 也需要缓存的,防止在一段时间内重复此访问 肯定应答和否定应答有缓存时间,是需要设定的 FQDN(俗称网址) FQDN:Full 完全限定域名 www.baidu.com FQDN-->IP正向解析 域:Domain 逻辑空间 区域:zone DNS服务器的类型(能双向问,能解析本地域加上缓存名称服务器) - - 缓存名称服务器(只能单向问,不能解析本地域,至少能的解析 根域 、localhost 、127.0.0.1反向域进行解析) |
5.区域文件与资源记录
区域数据文件,里面的一行行的对应关系是资源记录(比如/etc/hosts文件)
资源记录(Resource Record,简称RR) 资源记录有类型,用于表示资源的功能 1)SOA:Start Of 2)NS:Name Server,域名服务器 3)MX:Mail 4)A:Address,(FQDN-->IP)正向解析 5)PTR: PoinTeR,(IP-->FQDN)反向解析 6)AAAA:Address,FQDN-->IPv6 7)CNAME:Canonical 早期DNS只支持FQDN-->IP的解析 后来利用指针实现反向解析,两种实现机制不同,所以 正向反向工作起来不相同,解析技术相差甚远 所以正反向解析使用的不是同一种技术,所以不能在同一个数据库中进行 域:Domain 逻辑空间 区域:zone DNS服务器的类型:1、主DNS服务器 |
6.安装软件bind:
yum install bind
DNS相关文件说明: 主配置文件:/etc/named.conf 启停脚本:/etc/rc.d/init.d/named 区域数据文件:/var/named/ |
7.删除并重写配置文件(/etc/named.conf)
删除主配置文件:rm /etc/named.conf 重新写配置文件: vim /etc/named.conf #至少对三个域的解析,叫缓存名称服务,加上对本地域的解析,就叫DNS 内容如下:语法是:1 花括号后面有; #定义全局选项 options{ directory }; # zone zone type file }; zone type master file }; zone type master file }; # “lbg.com”双引号里面定义的名字叫区域名称 zone type file }; 上面最后的lbg.com就是本地域,其中本地域的文件/var/named/lbg.com.zone要自己建,自己编辑. |
8.新建区域数据文件并编辑.(/var/named/lbg.com.zone)
/var/named/bsr.com.zone就是区域数据文件,里面内容就是资源记录.@就是区域名称.
SOA记录,起始授权记录 ,有且只有一个,必须在第一个 #习惯性写一个@ 符号,@ 符号表示区域名称,$全局定义肯定应答缓存时间,默认是秒 ttl : time to 区域数据文件里第一条必须是SOA(起始授权记录),里面的域名必须是绝对写法. NS记录标识当前域的DNS服务器是谁的.故后面必须有对应的解析ip.有几个DNS服务器就写几条.NS记录必须写. MX记录可写可不写. 资源记录的格式: name /var/named/bsr.com.zone里面内容例子: 例子: @ 600 20170716 4H 1D 7D 7D @ IN NS dns @ IN MX 10 dns IN Lbg IN 书写格式 name name是指区域名称,通常可以简写为“@” value DNS服务器的FQDN(可以使用相对名称) NS:name:区域名称,通常可以简写为@.value:DNS服务器的FQDN(可以使用相对名称) 例子: @ 600 IN NS ns A指A记录,只能出现在正向区域数据文件中,但凡以FQDN作为其值得记录,都应该给这个值创建至少一条A记录,以方便这个FQDN也有其IP地址 MX:可以有多个 name:区域名称,用于标识smtp服务器 value:包含优先级和FQDN 优先级:0-99,数字越小,级别越高, 例子: @ @ CNAME(用于创建别名) name :FQDN(可以使用相对名称) value :FQDN(可以使用相对名称) 例子:ftp 检查named的配置文件的语法错误: named-checkconf |
9.测试DNS(/etc/resolv.conf)
在测试主机上:vim /etc/resolv.conf 进去修改 添加一行: nameserver 192.168.88.4 服务器端启动:service named start 里面可以写多条nameserver ip 作为次选NDS服务. 当服务器主机本身也要用这个DNS时,若不在其 /etc/resolv.conf 重启服务:service named restart 客户端ping试下. |
2.
NDS反向解析(ip--->FQDN)
1.修改配置文件(/etc/named.conf)
将ip的网络位反着写.
在/etc/named.conf下添加一行:
zone “88.168.192.in-addr.arpa” IN { type master; file “192.168.88.zone” } |
2.创建编辑反向区域文件
在/var/named里创建反向解析文件192.168.88.zone,并编写反向区域解析文件.
第一行SOA不变,后面行的所有域都必须写绝对路径. 反向解析主要的类型是PTR(pointer 指针) |
3.测试(host/dig -t)
host命令和dig命都是是用来测试DNS服务器.
dig 命令 dig host host[-t 测试时在服务器端的虚拟机:--rndc-confgen -r /dev/urandom Host -t选项可正向解析与反向解析. Dig命令里-t测试正向解析,-x测试反向解析.结果分:提问段/应答段/认证段/附加段. 正向解析:(dig -t A www.lbg.com 反向解析:(dig -x 注意: host -t SOA dig MX 也是这么查 host -t dig @指定DNS服务IP 优先级别高于 /etc/resolv.conf 里面的配置 指定DNS进行测试,主从服务器都是可以的 host -t A dig -t A |
3.设置辅助DNS服务
1.安装软件: yum install
bind
2.修改主配置文件和子配置文件:
主配置文件:/etc/named.conf.
子配置文件:vim
/etc/named.rfc1912.zones
3.启动服务:
service named start
再查看/var/named/slaves目录,里面就同步了区域文件.
4.测试。区域传送文件: /var/named/slaves
dig -t axfr lbg.com
完全区域传送
5.验证区域数据文件的同步性:
第一步:编辑主服务器上的数据文件vim lbg.com.zone,增加如下的信息: @ dns1 第二步:主服务器上重启服务并登陆客户端切换到/var/named/slaves后 查看文件 more 第三步:修改主服务上的数据文件vim lbg.com.zone,修改序列号,稍微的变动即可 第四步:主服务上的服务重启,并切换到从服务器的相关目录下,查看文件more 可以看到,这次是可以了 说明:只要两边的区域文件是一样的,就是会认为是一样的。要想立即同步,修改序列号就可以了。可能有防火墙的限制。 |
最新文章
- 周末惊魂:因struts2 016 017 019漏洞被入侵,修复。
- 通过akRegionCode找到对应的程序
- 自动attach到iis
- Harris角点检测
- Lua中的捕获
- zw版【转发·台湾nvp系列Delphi例程】HALCON DispCross
- 使用JMeter创建FTP测试计划
- TreeMap 排序
- mongodb 查询时没有索引报错(too much data for sort() with no index)
- jQuery基础学习(三)—jQuery中的DOM操作
- UVA - 12333 字典树+大数
- virtualbox主机与虚拟机之间互相通信教程
- CF F. Shovels Shop(前缀和预处理+贪心+dp)
- django从零开始-视图
- MySql优化分析
- 2018-2019 20165219 网络对抗 Exp5 MSF基础
- 洛谷 P2530 [SHOI2001]化工厂装箱员 解题报告
- P5028 Annihilate
- 在WebClient类中保持Session
- C#和Java交互相关研究
热门文章
- 4-20mA模拟量采集
- 方格取数(简单版)+小烈送菜(不知道哪来的题)-----------奇怪的dp增加了!
- linux(centos8):用uniq去除文本中重复的行(去重)
- dubbo-config-spring自定义xml标签扩展
- centos7安装ifconfig
- 【设计模式】第一篇:概述、耦合、UML、七大原则,详细分析总结(基于Java)
- 2020-2021-1 20209306 《linux内核原理与分析》第二周作业
- RocketMQ消息丢失解决方案:同步刷盘+手动提交
- JUC---02JUC辅助类
- AWK实现把一个文件根据内容进行分组输出多个文件