DNS配置

DNS工作原理



DNS 查询的过程

DNS( Domain Name System)是“域名系统”的英文缩写,是一种组织成域层次结构的计算机和网络服务命名系统,它用于TCP/IP网络,它所提供的服务是用来将主机名和域名转换为IP地址的工作。

1、在浏览器中输入www.qq.com域名,操作系统会先检查自己本地的hosts文件是否有这个网址映射关系,如果有,就先调用这个IP地址映射,完成域名解析。

2、如果hosts里没有这个域名的映射,则查找本地DNS解析器缓存,是否有这个网址映射关系,如果有,直接返回,完成域名解析。

3、如果hosts与本地DNS解析器缓存都没有相应的网址映射关系,首先会找TCP/ip参数中设置的首选DNS服务器,在此我们叫它本地DNS服务器,此服务器收到查询时,如果要查询的域名,包含在本地配置区域资源中,则返回解析结果给客户机,完成域名解析,此解析具有权威性。

4、如果要查询的域名,不由本地DNS服务器区域解析,但该服务器已缓存了此网址映射关系,则调用这个IP地址映射,完成域名解析,此解析不具有权威性。

5、如果本地DNS服务器本地区域文件与缓存解析都失效,则根据本地DNS服务器的设置(是否设置转发器)进行查询,如果未用转发模式,本地DNS就把请求发至13台根DNS,根DNS服务器收到请求后会判断这个域名(.com)是谁来授权管理,并会返回一个负责该顶级域名服务器的一个IP。本地DNS服务器收到IP信息后,将会联系负责.com域的这台服务器。这台负责.com域的服务器收到请求后,如果自己无法解析,它就会找一个管理.com域的下一级DNS服务器地址(qq.com)给本地DNS服务器。当本地DNS服务器收到这个地址后,就会找qq.com域服务器,重复上面的动作,进行查询,直至找到www.qq.com主机。

6、如果用的是转发模式,此DNS服务器就会把请求转发至上一级DNS服务器,由上一级服务器进行解析,上一级服务器如果不能解析,或找根DNS或把转请求转至上上级,以此循环。不管是本地DNS服务器用是是转发,还是根提示,最后都是把结果返回给本地DNS服务器,由此DNS服务器再返回给客户机。

DNS数据库的记录:ZONE、正解、反解

ZONE:DNS服务器内记录信息的文件我们成为数据库,而在数据库里针对每个要解析的域就称为一个区域zone。不管是正解还是反解,每个域的记录就是一个zone.

正解:从主机名查询到IP的流程

正解文件的ZONE主要记录了主机名查询到的IP,通常有以下几个标志

SOA:开始验证Start of Authority 的缩写

NS: 名称服务器 name server的缩写,后面记录的数据是DNS服务器

A: 地址address的缩写,后面记录的是IP的对应

反解:从IP反向解析到主机名的流程

反解的zone主要记录ip对应的主机名。标志有 SOA NS 和PTR

PTR:指向PoniTeR的缩写,记录的数据就是反解到主机名

Master/Slave

Master:里面的所有主机名相关信息都要手动去修改和配置

Slave:同步master的数据,master和slave必须互相搭配

软件安装

准备两台centOS6.5的linux机器

Ip 10.10.10.58 和 10.10.10.59

10.10.10.58为主服务器

10.10.10.59为从服务器

分别安装 bind 和 bind-chroot

命令:yum install bind bind-chroot –y 安装bind-chroot的原因是早期的BIND默认将程序启动在var/named当中,但是该程序可以在根目录下的其他目录到处转移,因此若BIND的程序有问题时,则该程序会造成整个系统的危害,为了避免这个问题,我们将某个目录制定为BIND 程序的根目录,由于已经是根目录,所以BIND便不离开该目录,若该程序被攻击了,影响的是该特定目录。CentOS6.x默认将BIND锁定在/var/named/chroot目录中。 由于安装了bind-chroot,将/etc/下 named相关文件都拷贝到 /var/named/chroot/etc cp –a /etc/name/var/named/chroot/etc 由于安装了bind-chroo,还要把/var/named下的部分文件拷贝到/var/named/chroot/var/named 下 cd /var/named 然后 cp –a data/ dynamic/ slaves/ named.* chroot/var/named/

配置文件

注意事项

排查故障时,可以通过日志来定位问题,日志位置 /var/log/messages

编辑/var/named/chroot/etc路径下的 named.conf这个文件,这个是dns的主配置文件

Options dns全局选项,会影响整个dns的配置。每行后面用分号来结束

正向解析

需求:实现正向解析

在主服务器 10.10.10.58上named.conf添加如下配置:

listen-on port 53 { any; };

allow-query    { any; };

ZONE “ rhce.cc” IN {

Type master;

File “rhce.cc.zone”;

};

然后再 /var/named/chroot/var/named下创建rhce.cc.zone这个文件

$TTL  1D

@  IN  SOA  server.rhce.cc. root@rhce.cc(

201111 //Serial供Slave DNS判断是否从Master DNS获取新数据

1D  //(每隔1天就要发送一次请求和主dns来同步)

1H  //(当从服务器向主服务器发送请求,如果主服务器不回复,每隔1小时重新连接一次)

1W  //  (多次连接,一周后还是不成功,就不会再去连接了)

3H  //(缓存时间)

)

@  IN  NS  server.rhce.cc.

Server.rhce.cc.  IN A  10.10.10.58

www.rhce.cc.  IN  A  10.10.10.30

ftp.rhce.cc.  IN  A    10.10.10.31

保存配置后退出 注意rhce.cc.zone这个文件的所有组要改成 named,否则启动不成功.到这里,服务器就已经配置完成了。

开启防火墙53端口 Iptables -I INPUT 1 –p tcp –dport 53 –j ACCEPT Iptables -I INPUT 1 –p udp –dport 53 –j ACCEPT Service iptables save

然后再把dns 设置为自己 文件 /etc/resolv.conf ,添加语句 namesever 127.0.0.1.

重启dns服务 service named restart

验证 host –l rhce.cc 。查看到域里的服务器对应的ip.

在 windows 里的cmd 进行验证 输入 nslookup 。然后 server 192.168.40.128 在输入 www.rhce.cc看看是否会输出我们再rhce.cc.zone里填写的ip 192.168.40.51.即是否和host -l得出的结果一致,一致则dns正向解析服务成功。

反向解析

需求:实现反向解析

/var/named/chroot/etc下配置 named.conf

Zone  “10.10.10.in-addr.arpa”  IN {

type master;

file “rhce.cc.arpa”

};

然后再 /var/named/chroot/var/named下创建rhce.cc.arpa这个文件 其中这个文件不用完成手动创建,可以通过拷贝模板来修改,如 该路径下 cp -p named.localhost rhce.cc.arpa.(刚才那个rhce.cc.zone这个文件也是一样可以拷贝修改) 当然,也可以直接用写好的正向解析文件 rhce.cc.zone 作为模板来修改更直接 cp -p rhce.cc.zone rhce.cc.arpa

@    IN  SOA  server.rhce.cc.  root(

201111

1D

1H

1W

3H

)

@  IN  NS  server.rhce.cc.

58          IN      PTR  server.rhce.cc.

30          IN      PTR  www.rhce.cc.

31          IN      PTR  ftp.rhce.cc.

重启dns服务 service named restart

验证:host 10.10.10.30查看是否有输出结果对应www.rhce.cc

同时也可用 tcpdump –i eth0 dst 53来抓dns相关包验证

反向解析完成。

Master/Slave 架构

需求:实现从服务器拷贝主服务器的zone file文件

辅助10.10.10.59服务器上Named.conf配置

Zone “rhce.cc” IN {

Type slave;

File “slaves/aa.zone”;

Masters { 10.10.10.58; };

};

重启服务器后生效

为了防止任何一台服务器都可以从主服务器获得配置,在主服务器的配置文件上添加 All-transfer { 10.10.10.59; }; //允许拷贝信息的机器ip 重启服务器后生效

机密安全性

为了防止有其他机器冒充辅助服务器的ip来获取配置,在主从服务器上通过添加秘钥来保证安全性 Dnssec-keygen -a HMAC-MD5 –b 128 –n HOST xx 生成一个key.

在主服务器10.10.10.58上添加如下的配置 Allow-transfer { key xx; };//(这里的xx可以随意命名,只要接下来配置一样即可)

Server 10.10.10.59 {

Keys { tt; };

};

Key xx {

Algorithm hmac-md5;

Secret “//生成的加密信息”;

};

在辅助服务器10.10.10.59上添加如下的信息:

Server 10.10.10.58 {

Keys { tt; };

};

Key xx {

Algorithm hmac-md5;

Secret “//生成的加密信息”;

};

Zone “rhce.cc” IN {

Type slave;

File “slaves/xx.zone”;

Masters { 10.10.10.58; };

};

Zone “10.10.10.in-addr.arpa” IN {

Type slave;

File “slaves/xx.zone.arpa”;

Masters { 10.10.10.58; };

};

重启服务器即可生效. 注意,当服务器的时间不同步的时候,会导致复制不成功,需要同步服务器时间,命令:ntpdate time.nist.gov.

验证:在辅助的服务器上,/var/named/chroot/var/named/slaves文件夹下如果有生成xx.zone和xx.zone.arpa两个配置文件,则配置成功。

视图功能

不同的机器查询同一台dns服务器的时候,获得不同的解析ip,如内网访问解析出私有地址,外网访问,解析出公有地址。

修改10.10.10.58的named.conf上配置,通过acl定义主机,并通过view来match相关的视图。 配置如下:

Acl aa { 10.10.10.59; };

Acl bb { 10.10.10.2; };

View “xx”{

Match-clients  { aa; };

Zone “.” IN {

Type hint;

File “name.ca”;

};

Zone “rhce.cc” IN {

Type master;

File “rhce.cc.zone”;

};

};

View “xx”{

Match-clients  { bb; };

Zone “.” IN {

Type hint;

File “name.ca”;

};

Zone “rhce.cc” IN {

Type master;

File “rhce.cc.zone1”;

};

};

重启服务器生效。 测试:rhce.cc.zone和 rhce.cc.zone1上的www.rhce.cc对应的ip不同在 10.10.10.59 和 10.10.10.2上通过host www.rhce.cc.查看是否解析出zone和zone1上不同的ip。

子域授权

在10.10.10.58服务器上的rhce.cc.zone文件上 添加子域的关系

aa.rhce.c  IN  NS test.aa.rhce.cc

test.aa.rhce.cc IN A  10.10.10.59

在10.10.10.59子域服务器上的配置文件named.conf上添加

Farwards { 10.10.10.58; };\\ (主服务器上的机器)

重启服务器后可生效。

验证:在子域服务器上解析主服务器的文件的配置的主机。

如 host www.rhce.cc。如果可以得到主服务器的文件的配置上的ip即可。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,547评论 6 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,399评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,428评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,599评论 1 274
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,612评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,577评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,941评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,603评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,852评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,605评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,693评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,375评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,955评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,936评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,172评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,970评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,414评论 2 342

推荐阅读更多精彩内容

  • 1. 概述 在网络环境中一般用户只需要在浏览器中输入url如www.sunny.com就可以到对应服务器获取相应的...
    ghbsunny阅读 2,864评论 0 7
  • 注意: 本实例服务器客户端都在192.168.61中 在服务器上 修改主配置文件/etc/named.conf 注...
    停下浮躁的心阅读 1,243评论 0 0
  • DNS简介DNS解析关键概念BIND 一、DNS简介: (一)DNS服务 DNS:Domain Name Serv...
    哈喽别样阅读 1,781评论 0 2
  • 练习在CentOS6上配置DHCP, TFTP, DNS服务 1. 首先按下图所示搭建网络拓扑图 Server1 ...
    zhuenbiao阅读 1,675评论 0 1
  • 1、第八章 Samba服务器2、第八章 NFS服务器3、第十章 Linux下DNS服务器配站点,域名解析概念命令:...
    哈熝少主阅读 3,702评论 0 10