第四章:DNS服务全攻略(一基础)

2010年02月03日 Linux服务器, Linux视频 评论 1 条 阅读 12,249 views 次

内容简介
DNS的概述
DNS服务的安装
DNS常见名词
DNS配置文件详解
配置主要DNS服务
案例详解

DNS域名系统的简介
网络中为了区别各个主机,必须为每台主机分配一个惟一的地址,这个地址即称为"IP地址"。但这些数字难以记忆,所以就采用"域名"的方式来取代这些数字了。
当某台主机要与其他主机通信时,就可以利用主机名称向DNS服务器查询该主机的IP地址。整个DNS域名系统由以下4个部分组成。
1.DNS域名空间
2.资源记录
3.DNS服务器
4.DNS客户端
如图1

1.png

DNS查询的工作原理
DNS查询过程按两部分进行
名称查询从客户端计算机开始,并传送给本机的DNS客户服务程序进行解析;
如果不能在本机解析查询,可根据设定的查询DNS服务器来解析名称。

以上两种查询方式的具体工作过程如下。
1.本地解析(图2)

2.png

2.查询DNS服务器(图3)

3.png

递归查询流程(图4)

4.png

迭代查询流程 (图5)

5.png

hosts文件
hosts文件是Linux系统中一个负责IP地址与域名快速解析的文件,/etc/hosts
Hosts文件包含了IP地址和主机名之间的映射,还包括主机名的别名。
hosts文件的格式如下:
IP地址 主机名/域名

DNS服务bind及chroot的安装
rpm -q bind
rpm -ivh bind-libs-9.3.4-10.P1.el5.i386.rpm
rpm -ivh bind-utils-9.3.4-10.P1.el5.i386.rpm
rpm -ivh bind-9.3.4-10.P1.el5.i386.rpm
rpm -ivh bind-chroot-9.3.4-10.P1.el5.i386.rpm
rpm -ivh caching-nameserver-9.3.4-10.P1.el5.i386.rpm

安装chroot软件包
Linux服务都是以root权限启动和运行的,随着技术的发展,各种服务变得越来越复杂,导致BUG和漏洞越来越多。黑客利用服务的漏洞入侵系统,能获得root级别的权限,从而控制整个系统。为了减缓这种攻击所带来的负面影响,现在服务器软件通常设计为以root权限启动,然后服务器进程自行放弃root,再以某个低权限的系统账号来运行进程。这种方式的好处在于该服务被攻击者利用漏洞入侵时,由于进程权限很低,攻击者得到的访问权限又是基于这个较低权限的,因此对系统造成的危害比以前减轻了许多。

启动和停止DNS服务
1.启动DNS服务
/etc/init.d/named start
2.停止DNS服务
/etc/init.d/named stop
3.重新启动DNS服务
/etc/init.d/named restart
4.自动启动DNS服务
如果需要让DNS服务随系统启动而自动加载,可以执行"ntsysv"命令启动服务配置程序,找到"named"服务,其前面加上星号"*,然后选择"确定"即可 。

DNS常见名词
区(Zone): 区是DNS名称空间的一个连续部分,其包含了一组存储在DNS服务器上的资源记录。
资源记录:DNS服务器的信息数据,按照分类进行存储,能够解析客户端的DNS请求。
区文件:包含区资源记录的文件,选择DNS服务器为授权服务器,管理该区域。
DNS缓存:DNS服务器在解析客户机请求时,如果本地没有该DNS信息,则可以会询问其他DNS服务器,当其他域名服务器返回查询结果时,该DNS服务器会将结果记录在本地的缓存中,成为DNS缓存。
正向解析:域名到IP地址的解析过程。
反向解析:从IP地址到域名的解析过程。
全域名:(FQDN,Fully Qualified Domain Name)是指主机名加上全路径,全路径中列出了序列中所有域成员。

DNS配置文件详解(图6)

6.png

资源记录
SOA资源记录:起始授权记录(Start of Authority Record),简称SOA记录。SOA定义了域的全局参数,进行整个域的管理设置。一个区域文件只允许存在唯一的SOA记录。
区域名(当前) 记录类型 SOA 主域名服务器(FQDN) 管理员邮件地址 (序列号 刷新间隔 重试间隔 过期间隔 TTL)
NS资源记录:名称服务器(NS)资源记录表示该区的授权服务器,它们表示SOA资源记录中指定的该区的主和辅助服务器,也表示了任何授权区的服务器。每个区在区根处至少包含一个NS记录。
区域名 IN NS 完整主机名(FQDN)
A资源记录:地址(A)资源记录把FQDN映射到IP地址,因而解析器能查询FQDN对应的IP地址。
完整主机名(FQDN) IN A IP地址
PTR资源记录:相对于A资源记录,指针(PTR)记录把IP地址映射到FQDN。
IP地址 IN PTR 主机名(FQDN)
CNAME资源记录:规范名字(CNAME)资源记录创建特定FQDN的别名。
别名 IN CNAME 主机名
MX资源记录:邮件交换(MX)资源记录为DNS域名指定邮件交换服务器。
区域名 IN MX 优先级(数字) 邮件服务器名称(FQDN)

主配置文件named.conf
options {
direcrory "/var/named"; #指定工作目录
forwards { 192.168.31.2 ; } ; #指定查询的目标DNS服务器
allow-query { 192.168.32/24 ; } ; #只允许某个网段的用户来查询
allow-transfer { 192.168.32/24; } ; #只允许某个网段的DNS来同步
} ;
zone "." {
Type hint;
file "named.ca";
};
zone "example.com" {
type master;
file "example.com.zone;
};
zone "31.168.192.in-addr.arpa" {
type slave;
masters {192.168.31.3;};
file "salves/192.168.31.zone";
};

type字段指定区域的类型
master:表示定义的是主域名服务器 。拥有区域数据文件,并对此区域提供管理数据
slave:表示定义的是辅助域名服务器。拥有主DNS服务器的区域数据文件的副本,辅助DNS服务器会从主DNS服务器同步所有区域数据
hint:表示是互联网中根域名服务器。当服务器启动时,它使用根线索来查找根域名服务器,并找到最近的根域名服务器列表
forward:一个forward zone是每个域的配置转发的主要部分
stub:和slave类似,但其只复制主DNS服务器上的NS记录而不像辅助DNS服务器会复制所有区域数据
delegation-only:用于强制区域的delegation .ly状态

DNS服务器设置流程
1)建立主配置文件named.conf,该文件的最主要目的是设置DNS服务器能够管理哪些区域(Zone)以及这些区域所对应的区域文件名和存放路径。
2)建立区域文件,按照named.conf文件中指定的路径建立区域文件,该文件主要记录该区域内的资源记录。
3)重新加载配置文件或重新启动named服务使用配置生效。

配置主要名称服务器概述
主配置文件
设置根区域
设置主区域
设置反向解析区域
根服务器信息文件named.ca
区域文件
反向解析区域文件
实现负载均衡功能
主要名称服务器的测试

主配置文件
Bind的主配置文件是/etc/named.conf,该文件只包括Bind的基本配置,并不包含任何DNS区域数据。
options {
directory "/var/named";
forwarders {192.168.31.2 ; };
allow-query {192.168.31/24 ; };
allow-transfer {192.168.31/24 ; };
};

设置根区域
当DNS服务器处理递归查询时,如果本地区域文件不能进行查询的解析,就会转到根DNS服务器查询,所以在主配置文件named.conf文件中还要定义根区域。
zone "." {
type hint;
file "named.ca";
};

设置主区域
主区域用来保存DNS服务器某个区域(如:example.com)的数据信息。
zone "example.com" {
type master;
file "example.com.zone";
};

设置反向解析区域
在大部分的DNS查询中,DNS客户端一般执行正向查找,即根据计算机的DNS域名查询对应的IP地址。但在某些特殊的应用场合中(如判断IP地址所对应的域名是否合法),也会使用到通过IP地址查询对应DNS域名的情况(也称为反向查找)。
zone "16.168.192.in-addr.arpa" {
type master;
file "192.168.16.arpa";
};

根服务器信息文件named.ca
/var/named/named.ca是一个非常重要的文件,该文件包含了Internet的根服务器名字和地址,Bind接到客户端主机的查询请求时,如果在Cache中找不到相应的数据,就会通过根服务器进行逐级查询。
由于named.ca文件经常会随着根服务器的变化而发生变化,因此建议最好从国际互联网络信息中心(InterNIC)的FTP服务器下载最新的版本,下载地址为ftp://ftp.rs.internic.net/domain/named.root。下载完后,应将该文件改名为named.ca,并复制到"/var/named/chroot/var/named/"目录下。

正向区域文件
一个区域内的所有数据(包括主机名和对应IP地址、刷新间隔和过期时间等)必须存放在DNS服务器内,而用来存放这些数据的文件就称为区域文件(区域数据文件使用";"符号注释)。DNS服务器的区域数据文件一般存放在/var/named/目录下。

/var/named/chroot/var/named/example.com.zone文件的完整例子。

$TTL 38400
example.com. IN SOA dns.example.com. root.example.com. (
2009070700 ; serial
10800 ; refresh
3600 ; retry
604800 ; expiry
38400 ) ; minimum
example.com. IN NS dns.example.com.
dns IN A 192.168.16.177
www.example.com. IN A 192.168.16.9
mail1.example.com. IN A 192.168.16.178
mail2.example.com. IN A 192.168.16.179
mail3.example.com. IN A 192.168.16.180
rhel4 IN CNAME dns
bbs IN CNAME www
samba IN CNAME www
example.com. IN MX 10 mail1.example.com.
example.com. IN MX 11 mail2.example.com.
example.com. IN MX 12 mail3.example.com.

反向解析区域文件
反向解析区域文件的结构和格式与正向区域文件类似,只不过它的主要内容是建立IP地址映射到DNS域名的指针PTR资源记录。

在/var/named/chroot/var/named/192.168.16.arpa文件中定义反向解析区域。

$TTL 36000
16.168.192.in-addr.arpa. IN SOA dns.example.com. root.example.com. (
2009070703
10800
3600
604800
36000 )
16.168.192.in-addr.arpa. IN NS dns.example.com.
177.16.168.192.in-addr.arpa. IN PTR dns.example.com.
9 IN PTR www.example.com.
178 IN PTR mail1.example.com.
179 IN PTR mail2.example.com.
180 IN PTR mail3.example.com.

实现负载均衡功能
DNS负载均衡的优点是经济简单易行,它在DNS服务器中为同一个域名配置多个IP地址(即为一个主机名设置多条A资源记录),在应答DNS查询时,DNS服务器对每个查询将以DNS文件中主机记录的IP地址按顺序返回不同的解析结果,将客户端的访问引导到不同的计算机上去,使得不同的客户端访问不同的服务器,从而达到负载均衡的目的。
例如,在企业网中需要使用3台内容相同的FTP服务器共同承担客户对网站的访问,它们的IP地址分别对应192.168.16.11、192.168.16.12和192.168.16.13。现只要在DNS服务器的区域文件中加入以下3条A资源记录,就可以实现3台FTP服务器网络负载均衡功能。
ftp IN A 192.168.16.11
ftp IN A 192.168.16.12
ftp IN A 192.168.16.13

主要名称服务器的测试
1.测试前的准备
(1)启动DNS服务
/etc/rc.d/init.d/named start
(2)配置/etc/resolv.conf
2.使用nslookup程序测试
非交互式通常用于返回单块数据的情况,其命令格式为:
nslookup [-选项] 需查询的域名 [DNS服务器地址]
交互式通常用于返回多块数据的情况,其命令格式为:
nslookup [- DNS服务器地址]
3. host [-t type] hostname [server] [ip]
4. dig [-t type] hostname [server] [ip]

配置辅助名称服务器
辅助名称服务器也可以向客户机提供域名解析功能,但它与主要名称服务器不同的是,它的数据不是直接输入的,而是从其他服务器(主要名称服务器或其他的辅助名称服务器)中复制过来的,只是一份副本,所以辅助名称服务器中的数据无法被修改。
在一个区域中设置多台辅助名称服务器具有以下优点。
1、提供容错能力。当主要名称服务器发生故障时,由辅助名称服务器提供服务。
2、分担主要名称服务器的负担。在DNS客户端较多的情况下,通过架设辅助名称服务器完成对客户端的查询服务,可以有效地减轻主要名称服务器的负担。
3、加快查询的速度。例如,一个公司在远地有一个与总公司网络相连的分公司网络,这时可以在该处设置一台辅助名称服务器,让该分公司的DNS客户端直接向此辅助名称服务器进行查询,而不需要通过速度较慢的广域网向总公司的DNS服务器查询,减少用于DNS查询的外网通信量。
辅助名称服务器的主配置文件是/etc/named.conf,也需要设置服务器的选项和根区域,方法与配置主要名称服务器的方法相同
options {
directory "/var/named";
};
zone "." {
type hint;
file "named.ca";
};
zone "example.com" {
type slave;
file "slaves/example.com.zone";
masters {192.168.16.177;};
};
zone "16.168.192.in-addr.arpa" {
type slave;
file "slaves/192.168.16.arpa";
masters {192.168.16.177;};
};

配置缓存Cache-only服务器
Cache-only服务器是很特殊的DNS服务器,它本身并不管理任何区域,但是DNS客户端仍然可以向它请求查询。Cache-only服务器类似于代理服务器,它没有自己的域名数据库,而是将所有查询转发到其他DNS服务器处理。当Cache-only服务器收到查询结果后,除了返回给客户机外,还会将结果保存在缓存中。
当下一个DNS客户端再查询相同的域名数据时,就可以从高速缓存里查出答案,加快DNS客户端的查询速度。

Cache-only服务器/etc/named.conf文件,具体的代码如下。
options {
directory "/var/named";
forward only;
forwarders {
61.144.56.101;
202.96.128.68;
};
};

DNS客户端的配置
Linux中DNS客户端的配置
在Linux中配置DNS客户端的方法很简单,可直接编辑文件/etc/resolv.conf,然后使用nameserver选项来指定DNS服务器的IP地址 。

Windows 中DNS客户端的配置
① 在桌面上的"网上邻居"图标上单击鼠标右键,在弹出的快捷菜单中选择"属性"命令,系统会打开"网络连接"窗口。
② 在"本地连接"图标上单击鼠标右键,在弹出的快捷菜单中选择"属性"命令,系统会打开"本地连接 属性"对话框。
③ 选中"Internet协议(TCP/IP)"复选框,然后单击"属性"按钮,系统会打开"Internet协议(TCP/IP)属性"对话框,如图6-33所示。
④ 选中"使用下面的DNS服务器地址"单选按钮,在"首选DNS服务器"和"备用DNS服务器"中输入DNS服务器的IP地址,然后单击"确定"按钮即可完成Windows XP下的DNS客户端的配置。

★★★★★★★★★★★★★★★★★视频观看地址★★★★★★★★★★★★★★★★★★
http://www.boobooke.com/v/bbk3231
http://www.boobooke.com/v/bbk3232
http://www.boobooke.com/v/bbk3233
http://www.boobooke.com/v/bbk3234

1 条留言  访客:0 条  博主:0 条   引用: 1 条

来自外部的引用: 1 条

  • 国内屏蔽godaddy域名解析服务器,好多在godaddy上面申请域名网站访问不了的解决办法! | enetfun的CG世界

给我留言

Copyright © 羽飞博客 保留所有权利.   Ality主题 皖ICP备14013844号-1

用户登录