Linux学习笔记<二十六>——DNS服务器

DNS(Domain Name System 域名系统):提供Internet上域名到IP地址的映射

域名:又叫主机名,FQDN(Full Qualified Domain Name完全限定域名)

基本信息:

Linux中通常使用bind服务来提供DNS服务器

应用层协议

基于UDP53端口号:用于查询

基于TCP53端口号:用于主从服务器同步数据

基于TCP953端口号:rndc用于远程控制DNS服务器

解析方式:

正向:FQDN <--> IP

反向:IP <-->FQDN

解析顺序:

本地DNS缓存-->/etc/hosts文件-->DNS服务器

查询方式:

递归查询:本地DNS服务器只发出一次请求

迭代查询:本地DNS服务器发出多次请求

解析过程通常是两端式的,从本地主机到本地DNS服务器采用递归查询,本地DNS服务器向外查      询采用迭代查询

DNS服务器的类型:

主DNS服务器:负责维护指定区域的域名信息

辅助DNS服务器:实时向主DNS服务器同步数据,备用服务器

缓存DNS服务器:没有域名数据库,只负责缓存查询结果下次可直接使用

转发DNS服务器:接到查询请求时先在缓存中查找,如查不到就把请求转发给指定的DNS服务器

主从同步数据时,区域传送的类型

完全区域传送:axfr

增量区域传送:ixfr

bind97组成:

/etc/named.conf

named进程的工作属性

区域的定义

/etc/rndc.key

rndc:Remote Name Domain Controller

密钥文件

配置信息:/etc/rndc.conf

/var/named/

区域数据文件

/etc/rc.d/init.d/named

{start|stop|restart|status|reload}

/usr/sbin/named:二进制文件

常用命令:

named-checkconf:检测配置/etc/named.conf是否存在语法错误

named-checkzone "ZONE_NAME" /path/to/zone_data_file

[[email protected] ~]# named-checkzone "cqy.com" /var/named/cqy.com.zone 
zone cqy.com/IN: fin.cqy.com/NS ‘ns1.fin.cqy.com‘ (out of zone) has no addresses records (A or AAAA)
zone cqy.com/IN: market.cqy.com/NS ‘ns1.marknet.cqy.com‘ has no address records (A or AAAA)
zone cqy.com/IN: loaded serial 2015081901
OK

dig:Domain Information Gropher

+[no]recurse:是否使用递归查询

+[no]trace:跟踪显示整个查询过程

dig -t ZONE_TYPE NAME @IP:向指定IP查NAME对应的ZONE_TYPE记录,@IP可省,省略是向设置                        的DNS服务器查

-t axfr:完全区域传送,显示所有的数据条目

-t IXFR=serial number:serial number之后发生改变的条目

[[email protected] ~]# dig -t NS  cqy.com

; <<>> DiG 9.7.0-P2-RedHat-9.7.0-6.P2.el5_7.4 <<>> -t NS cqy.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 21531
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; QUESTION SECTION:
;cqy.com.			IN	NS

;; ANSWER SECTION:
cqy.com.		43200	IN	NS	ns1.cqy.com.

;; ADDITIONAL SECTION:
ns1.cqy.com.		43200	IN	A	192.168.0.150

;; Query time: 2 msec
;; SERVER: 192.168.0.150#53(192.168.0.150)
;; WHEN: Thu Aug 20 02:16:37 2015
;; MSG SIZE  rcvd: 59
[[email protected] ~]# dig -t A www.baidu.com @192.168.0.1

; <<>> DiG 9.7.0-P2-RedHat-9.7.0-6.P2.el5_7.4 <<>> -t A www.baidu.com @192.168.0.1
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 17896
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;www.baidu.com.			IN	A

;; ANSWER SECTION:
www.baidu.com.		648	IN	CNAME	www.a.shifen.com.
www.a.shifen.com.	600	IN	A	180.97.33.108
www.a.shifen.com.	600	IN	A	180.97.33.107

;; Query time: 33 msec
;; SERVER: 192.168.0.1#53(192.168.0.1)
;; WHEN: Thu Aug 20 02:17:53 2015
;; MSG SIZE  rcvd: 90

dig -x IP:反向查询,根据IP查FQDN

host -t RT NAME:查询某个对应名称的解析结果

[[email protected] ~]# host -t NS cqy.com
cqy.com name server ns1.cqy.com.
[[email protected] ~]# host -t A www.cqy.com
www.cqy.com has address 192.168.0.151

nslookup:交互式

nslookup>

server IP

set q=RT

NAME

[[email protected] ~]# nslookup
> exit

[[email protected] ~]# nslookup
> server 192.168.0.150
Default server: 192.168.0.150
Address: 192.168.0.150#53
> set q=A
> www.cqy.com
Server:		192.168.0.150
Address:	192.168.0.150#53

Name:	www.cqy.com
Address: 192.168.0.151

DNS相关的配置文件

①/etc/resolv.conf:配置DNS服务器,声明主机域名

格式:

domain DOMAIN_NAME:定义主机域名

serach DOMAIN1 MOMAIN2 ...:定义域名的搜索列表

nameserver IPADDR:定义DNS服务器的IP地址

[[email protected] ~]# cat /etc/resolv.conf 
search localdomain
nameserver 192.168.0.1

②/etc/hosts:定义本地DNS解析列表

格式:

IPADDRFQDNAliases

192.168.0.150www.cqy.comwww

[[email protected] ~]# cat /etc/hosts
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1		localhost.localdomain localhost
::1		localhost6.localdomain6 localhost6

③/etc/named.conf:定义named进程的工作属性,定义区域

option格式:

option {

OPTIONS1;

OPTIONS2;

...

};

常见的option选项

directory "path/to/directory";:定义工作目录

recursion {yes|no};:定义是否递归查询

allow-query { 网段|IP地址|主机名;... };:定义可以进行查询的列表

allow-transefer { 网段|IP地址|主机名;... }; 定义可以进行区域传送的列表

none;:表示禁止所有

any;:表示允许所有

notify yes;:更改后通知从服务器更新

forward {only|first}; 选择转发机制,only只转发,first先转发,没结果再转发给根

querylog yes;: 开启日志记录查询结果,日志保存在/var/log/message

zone格式:

zone "ZONE NAME" IN {

type {master|slave|hint|forward};

file "path/to/zone_data_file";:工作目录下区域数据文件的路径

OPTIONS1;

...

};

区域类型:

主区域:master

从区域:slave

提示区域:hint,定义根在什么地方

转发区域:forward

logging格式:

logging {

channel CHANNEL_NAME {

OPTIONS1;

OPTIONS2;

...

};

category queries { CHANNEL_NAME; };

channel...

...

};

acl格式:acl用于定义多个网段或IP地址或主机

acl ACL_NAME {

网段1;

网段2;

IP地址3;

...

};

view格式:使用view时必须把所有zone包含在view内

view VIEW_NAME {

match-clients { acl|网段|IP地址|主机; };

zone...

...

};

④/var/named/下的区域数据文件

区域数据文件中资源记录RR的格式

可全局定义$TTL 600;

NAME[TTL]INRRT(资源记录类型)VALUE

RRT资源记录类型:

SOA(Start Of Authority):必须是RR中的第一条,标明如何完成数据同步

ZONE NAMETTLINSOAFQDNADMINISTRATOR_MAILBOX(

serial number

refresh

retry

expire

na ttl )

时间单位:M(分钟)、H(小时)、D(天)、W(周),默认单位是秒

邮箱格式:admin.cqy.com

cqy.com.600INSOAns1.cqy.comadmin.cqy.com. 20150819 1H 5M 1W 1D

cqy.com.600INSOAns1.cqy.comadmin.cqy.com.(

20150819

1H

5M

1W

1D )

NS(Name Server):ZONE_NAME-->FQDN

cqy.com.600INNSns1.cqy.com.

ns1.cqy.com.600INA1.1.1.2

cqy.com.600INNSns2.cqy.com.

ns2.cqy.com.600INA1.1.1.5

MX(Mail eXchanger):ZONE_NAME-->FQDN

ZONE NAMETTLINMX  priVALUE

cqy.com.600INMX  10mail.cqy.com.

mail.cqy.com.600INA1.1.1.3

优先级:0-99,数字越小优先级别越高

A(address):FQDN-->IPv4 只能定义在正向区域数据文件

ns1.cqy.com.600INA1.1.1.2

ns2.cqy.com.600INA1.1.1.5

PTR(pointer):IP-->FQDN只能定义在反向区域数据文件

150.0.168.192.in-addr.arpa.    IN    PTR    ns1.cqy.com

CNAME(canonical NAME正式名称):FQDN-->FQDN

www2.cqy.com. INCNAME    www.cqy.com

其他类型:

AAAA:FQDN-->IPv6

TXT

CHAOS

SRV

时间: 2024-10-06 00:45:08

Linux学习笔记<二十六>——DNS服务器的相关文章

马哥学习笔记二十六——MySQL主从复制

配置MySQL复制基本步骤: 一.master 1.启用二进制日志 log-bin = master-bin log-bin-index = master-bin.index 2.选择一个惟一server-id server-id = {0-2^32} 3.创建具有复制权限的用户 REPLICATION SLAVE REPLICATION CLIENT 二.slave 1.启用中继日志 relay-log = relay-log relay-log-index = 2.选择一个惟一的server

【Unity 3D】学习笔记二十六:unity游戏脚本(六)

在3D游戏世界中,任何一个游戏对象在创建的时候都会附带Transform(变换)组件,并且该组件是无法删除的,也不应该删除.在unity中,Transform面板一共有3个属性: Position  (位置) Rotation(旋转) Scale(缩放) 这三个值都是用来调整游戏对象在游戏界面中的位置,状态等相关参数. Position  (位置) 任何一个游戏对象的三维坐标都保存在Vector3容器中,该容器记录对象在X轴,Y轴,Z轴的坐标.一旦Vector33容器中的坐标发生变化,那么Sce

angular学习笔记(二十六)-$http(4)-设置请求超时

本篇主要讲解$http(config)的config中的timeout项: $http({ timeout: number }) 数值,从发出请求开始计算,等待的毫秒数,超过这个数还没有响应,则返回错误 demo: html: <!DOCTYPE html> <html ng-app = 'HttpGet'> <head> <title>18.4 $http(2)</title> <meta charset="utf-8"

linux学习笔记-第二十六课-Samba与squid

一.Samba Samba是SMB的一种实现方法,主要用来实现Linux系统的文件和打印服务.Linux用户通过配置使用Samba服务器可以实现与Windows 用户的资源共享.守护进程smbd和nmbd是Samba的核心,在全部时间内运行.nmbd程序使得通过企图计算机可以浏览Linux服务器. 1.Samba的安装 我们只通过yum安装 [[email protected] ~]# yum install -y samba 2.Samba配置 [[email protected] ~]# v

Java基础学习笔记二十六 JDBC

什么是JDBC JDBC(Java DataBase Connectivity)就是Java数据库连接,说白了就是用Java语言来操作数据库.原来我们操作数据库是在控制台使用SQL语句来操作数据库,JDBC是用Java语言向数据库发送SQL语句. JDBC原理 早期SUN公司的天才们想编写一套可以连接天下所有数据库的API,但是当他们刚刚开始时就发现这是不可完成的任务,因为各个厂商的数据库服务器差异太大了.后来SUN开始与数据库厂商们讨论,最终得出的结论是,由SUN提供一套访问数据库的规范(就是

Linux学习笔记(十六)lvm、磁盘故障小案例

一.LVM介绍LVM是 Logical Volume Manager(逻辑卷管理)的简写,它是Linux环境下对磁盘分区进行管理的一种机制LVM - 优点:LVM通常用于装备大量磁盘的系统,但它同样适于仅有一.两块硬盘的小系统. 小系统使用LVM的益处: 传统的文件系统是基于分区的,一个文件系统对应一个分区.这种方式比较直观,但不易改变: 1.不同的分区相对独立,无相互联系,各分区空间很易利用不平衡,空间不能充分利用: 2.当一个文件系统/分区已满时,无法对其扩充,只能采用重新分区/建立文件系统

Linux学习笔记&lt;二十五&gt;——openssh服务

ssh:Secure SHell ssh特点: 基于TCP22号端口: 密文认证: 密文传输数据 openssh是ssh的开源实现,支持ssh v1和ssh v2 但ssh v1无法解决中间层攻击,建议不要使用 客户端: Linux:ssh Windows:putty,SecureCRT,SSHSecureShellClient,Xmanager 服务器端: Linux:sshd openssh相关命令 1.ssh -X:enable X11 forwarding -Y:enable trust

linux学习笔记-第十六课-日常管理(三)

一.任务计划 1 )任务计划分为两类: 一类是一次性任务计划,由at控制的 另一类是例行周期性计划,由cron控制的 2 )at 一次性任务计划 选项与参数:    -m  :当 at 的工作完成后,即使没有输出信息,亦以 email 通知使用者该工作已完成.    -l  :at -l 相当於 atq,列出目前系统上面的所有该使用者的 at 排程:    -d  :at -d 相当於 atrm ,可以取消一个在 at 排程中的工作:    -v  :可以使用较明显的时间格式列出 at 排程中的

Linux学习笔记&lt;二十九&gt;——http服务

基础概念: HTTP:Hyper Text Transfer Protocol 超文本传输协议 versions: HTTP/0.9:只接收GET一种请求方法,只支持纯文本 HTTP/1.0:支持PUT.POST.DELETE和HEAD,支持MINE HTTP/1.1:在HTTP/1.0的基础上,增加了缓存功能,支持长连接,支持管道方式同时                  发送多个请求 HTTP请求方法:获取资源的方法 HTTP/0.9:GET HTTP/1.0:PUT(修改服务器上的内容),