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 可以看到,这次是可以了 说明:只要两边的区域文件是一样的,就是会认为是一样的。要想立即同步,修改序列号就可以了。可能有防火墙的限制。 |
linux之DNS服务的更多相关文章
- linux 软连接创建 压缩解压缩 linux的dns服务相关
linux软连接创建 注意用绝对路径,语法如下 ln -s 目标文件绝对路径 软连接名字绝对路径 ln -s /小护士.txt /tmp/hs.txt 修改linux的PS1变量,命令提示符变量 PS ...
- 【Linux】DNS服务-BIND从服务器、缓存服务器及转发服务器配置(三)
环境 操作系统:CentOS 6.5 DNS软件:bind(安装参照:[Linux]DNS服务-BIND基础配置(二)) BIND从服务器 从服务器就是在bind的主配置文件中添加从域example. ...
- Linux下DNS服务(Bind9)之Web管理利器-NamedManager部署说明
NamedManager 是一个基于Web的DNS管理系统,可用来添加.调整和删除DNS的zones/records数据.它使用Bind作为底层DNS服务,提供一个现代Ajax的Web界面,支持 IP ...
- 【Linux】DNS服务-BIND基础配置(二)
BIND简介 现在使用最为广泛的DNS服务器软件是BIND(Berkeley Internet Name Domain),最早有伯克利大学的一名学生编写,现在最新的版本是9,有ISC(Internet ...
- 【Linux】DNS服务-BIND基础配置
1.BIND简介 现在使用最为广泛的DNS服务器软件是BIND(Berkeley Internet Name Domain),最早有伯克利大学的一名学生编写,现在最新的版本是9,有ISC(Intern ...
- Linux学习-DNS服务相关
一.DNS服务简介 1.基本概念 (1) DNS( Domain Name System )域名系统,是一种组织成域层次结构的计算机和网络服务命名系统,是一个应用层协议,使用TCP与UDP的53端口, ...
- Linux:DNS主、从、缓存服务器配置、DNS同步加密TSIG配置、DNS分离解析配置
DNS主服务器配置(正向解析.反向解析) 正向解析:根据主机名查找对应的IP地址.当用户访问一个域名时(不考虑hosts文件等因素),正常情况会向指定的DNS主机发送递归查询请求反向解析:根据IP地址 ...
- DNS服务和BIND
今天我们来介绍一下DNS服务,在大家的印象中DNS可能只是将域名解析为IP地址,可能其他的暂时还不太了解,希望本篇内容能帮助大家. 1.什么是DNS? DNS( Domain Name System) ...
- Linux校园网DNS问题
问题 我发现在windows下连接校园网后能正常使用网络,可是到了Linux下,连接成功后还是不行 解决 在windows下找到ipv4的配置,然后查看一下那个DNS服务器的ip 在我们成都信息工程大 ...
随机推荐
- Android开发Settings源码分析之主界面加载(二)
现在都说互联网寒冬,其实只要自身技术能力够强,咱们就不怕!我这边专门针对Android开发工程师整理了一套[Android进阶学习视频].[全套Android面试秘籍].[Android知识点PDF] ...
- scp带密码拷贝文件
应用场景:将B服务器的文件传输到A服务器.核心命令: sshpass -p 123456 scp ubuntu@192.168.52.1:/home/ubuntu/"TEST"'' ...
- Java9系列第6篇-Stream流API的增强
我计划在后续的一段时间内,写一系列关于java 9的文章,虽然java 9 不像Java 8或者Java 11那样的核心java版本,但是还是有很多的特性值得关注.期待您能关注我,我将把java 9 ...
- js 如何获取浏览器的高度?
<SCRIPT LANGUAGE="JavaScript"><!--var s = ""; s += " 网页可见区域宽:" ...
- jqgrid与bootstrap样式结合问题
还有个问题,就是 <link rel="stylesheet" href="../boot/grid/ui.jqgrid.css" type=" ...
- 基于node.js的爬虫框架 node-crawler简单尝试
百度爬虫这个词语,一般出现的都是python相关的资料. py也有很多爬虫框架,比如scrapy,Portia,Crawley等. 之前我个人更喜欢用C#做爬虫. 随着对nodejs的熟悉.发现做这种 ...
- jenkins自动拉取git分支构建项目
一,创建jenkins项目 new item ->freestyle project, 自定义一个项目名称 二,配置项目 1,Source Code Management 选择 git,输入gi ...
- 进程相关的API函数
0x01. ID与句柄 如果我们成功创建一个进程之后,CreateProcess会返回四个数据,id和句柄 句柄的话就是 当前进程私有的句柄表索引(这是当前进程,给别进程也没用) 每个进程都有一张自己 ...
- STM32入门系列-GPIO概念介绍
GPIO(general purpose intput output)是通用输入输出端口的简称,可以通过软件来控制其输入和输出.STM32 芯片的 GPIO 引脚与外部设备连接起来,从而实现与外部通讯 ...
- 在充电桩联网部署方案中4G DTU的优势是什么
充电桩作为电动汽车充电生态链的一环,具有非常重要的作用,成都远向电子为电动车充电桩.充电站提供专业的无线通信组网产品与技术解决方案,协助充电桩厂家.充电桩运营商.商业充电服务商实现:充电桩设备工作状态 ...