第 13章
DNS与 DHCP
本章内容
DNS服务基础知识
配置 DNS服务器
配置 DNS客户机
DNS测试与排错
配置与管理 DHCP服务
13.1 DNS服务基础知识
DNS服务概述
域名空间
域名服务器
资源记录
域名解析的一般过程
13.1.1 DNS服务概述
DNS服务器的前身是 /etc/hosts文件
DNS使用客户机 /服务器工作模型
DNS服务由一个分布式的数据库系统构成
在 Linux中的 DNS实现使用的是 BIND( Berkeley
Internet Name Domain)软件,它的守护进程名称是 named
DNS服务使用 TCP,UDP端口 53
13.1.2 域名空间
13.1.3 域名服务器
域名服务器
区域
域名服务器执行的查询可以分为两种,
递归查询
迭代查询
13.1.4 资源记录
域名服务器之所以能够返回权威的查询结果,是因为本地数据库中包含要解析的名称的相关条目,这些条目称为
DNS资源记录
资源记录的内容通常包括 5项,基本格式如下:
Domain TTL Class Record Type Record data
常用 DNS资源记录类型记录类型 说明
A 主机记录,建立域名与 IP地址之间的映射
CNAME 别名记录,为其它资源记录指定名称的替补
SOA 初始授权记录
NS 名称服务器记录,指定授权的名称服务器
PTR 指针记录,用来实现反向查询
MX 邮件交换记录,指定用来交换或者转发邮件信息的服务器
HINFO 主机信息记录,指明 CPU与 OS
13.1.5 域名解析的一般过程
域名解析的过程如下:
DNS客户机提出域名解析请求,并将该请求发送给本地的域名服务器 。
本地的域名服务器收到请求后,先查询本地的缓存
如果本地缓存中没有该记录,则本地域名服务器首先查看自己的 DNS
数据库文件,如果没有答案会向根域名服务器发起一个递归查询 。
根域名服务器会返回给本地域名服务器一个关于,com”域的权威域名服务器;
本地域名服务器继续查询对,com”域权威的这个域名服务器,获得对,redhat.com”域权威的域名服务器的地址;
本地域名服务器查询对,redhat.com”域权威的这个域名服务器,获得对应的 IP地址,然后本地域名服务器将该答案返回给客户机,并且将答案缓存在本地的高速缓存中 。
13.2 配置 DNS服务器
配置高速缓存 DNS服务器
配置主 DNS服务器
配置辅助 DNS服务器
配置反向查询
13.2 配置 DNS服务器
建立 DNS系统过程中可能会用到的配置文件如表:
这些配置文件在 caching-nameserver软件包中提供配置文件 说明
/etc/named.conf BIND的主配置文件 。
/var/named/named.ca 指向根域名服务器的指示文件 。
/var/named/named.local
/var/named/localhost.zon
e
用于本地回环地址的解析 。
/var/named/domainname.zo
ne 用户自己建立的 DNS区域的数据库文件注意,Red Hat Enterprise Linux 4的 DNS服务使用 chroot将域名服务的区域文件定向到 /var/named/chroot/var/named中
13.2.1 配置高速缓存 DNS服务器
所谓高速缓存 DNS服务器,也称为只缓存服务器
( caching-only-server),服务器上运行域名服务软件,
但是没有域名数据库文件。
由于高速缓存 DNS服务器提供的信息都是间接的,所以它不是任何区域的权威服务器。
只要已经安装了 caching-nameserver软件包,就可以立即启动 DNS服务了。启动 named的方法有:
# service named start
或者
/etc/rc.d/init.d/named start
高速缓存 DNS服务器配置文件
options { directory "/var/named";
};
zone "." IN {
type hint;
file "named.ca";
};
zone "localhost" IN {
type master;
file "localhost.zone";
allow-update { none; };
};
zone "0.0.127.in-addr.arpa" IN {
type master;
file "named.local";
allow-update { none; };
};
13.2.2 配置主 DNS服务器
在原有 named.conf文件的基础上,增加如下内容:
zone "example.com,{
type master;
file "example.com.zone";
};
建立 example.com.zone文件,并输入相关资源记录
DNS区域文件实例
@ IN SOA ns.example.com,root.example.com (
2 ; serial
28800 ; refresh
7200 ; retry
604800 ; expire
86400 ; ttl
)
IN NS localhost.
www IN A 192.168.1.2
mail IN A 192.168.1.2
ftp IN CNAME www
@ IN MX 10 mail
使用 GUI配置工具
,系统设置,->“服务器设置,->“域名服务,
13.2.3 配置辅助 DNS服务器
辅助 DNS服务器通过网络从它的主 DNS服务器上复制数据
这个传送的过程称为区域传输( zone transfer)
辅助 DNS服务器配置文件实例:
zone "example.com" {
type slave;
file "example.com.zone";
masters {192.168.1.2;};
};
13.3 配置 DNS客户机
修改 /etc/resolv.conf文件
或使用 GUI工具,system-config-network
13.4 DNS测试与排错
使用 nslookup工具
使用 Bind配置检查工具
13.4.1 使用 nslookup工具
nslookup是一个查询 DNS数据库的命令行工具,可以使用交互模式以及命令模式进行域名查询
命令模式:
nslookup domain-name
交互模式:
nslookup
>
13.4.2 使用 BIND配置检查工具
BIND提供了两个配置文件检查工具:
named-checkconf:检查 named.conf文件
named-checkzone:检查数据库文件
13.5 配置和管理 DHCP服务
DHCP工作过程
配置 DHCP服务器
使用 DHCP客户机
13.5.1 DHCP工作过程
生成新的 IP地址租约的工作过程分为 4个步骤:
IP地址租用申请 。 DHCP客户机以广播的形式发送地址租用申请,
广播包使用 UDP端口 67和 68发送 。
IP地址租约提供 。 DHCP服务器将提供的 IP地址,子网掩码,其他 TCP/IP配置选项和租约长度等信息,按照客户机的 MAC地址发送给客户机 。
IP地址租约选择 。 由于可能有多个 DHCP服务器为单个客户机提供地址租约,客户机将选择其中一个而拒绝其他的 IP地址租约 。
IP地址租约确认 。 DHCP服务器收到来自客户机的租约选择请求后,如果没有例外发生,将向客户机发送确认信息 。
13.5.2 配置 DHCP服务器
DHCP服务器配置文件
启动 DHCP服务
考察服务器端租约文件
DHCP服务器配置文件
DHCP服务器通过读取配置文件 /etc/dhcpd.conf中的信息提供服务
配置 DHCP服务器主要就是配置 dhcpd.conf文件
默认情况下,DHCP软件包不提供 dhcpd.conf配置文件,
需要从模板文件复制而来
dhcpd.conf实例
ddns-update-style interim;
ignore client-updates;
subnet 192.168.159.0 netmask 255.255.255.0 {
option routers 192.168.159.1;
option subnet-mask 255.255.255.0;
option domain-name "yang.com";
option domain-name-servers 192.168.159.2;
range dynamic-bootp 192.168.159.128 192.168.159.254;
default-lease-time 21600;
max-lease-time 43200;
host ns {
hardware ethernet 12:34:56:78:AB:CD;
fixed-address 192.168.159.3;
}
}
启动 DHCP服务
完成对 /etc/dhcpd.conf文件的修改之后,运行以下命令启动 DHCP服务器:
service dhcpd start
对 于 已 经 启 动 的 DHCP服 务 器,如 果 修 改 了
dhcpd.conf文件,可以使用下面的命令让服务器读取新的配置:
service dhcpd reload
13.5.3 考察服务器端租约文件
当 DHCP服务器为某个客户机提供地址租约以后,
会在 /var/lib/dhcp/dhcp.leases文件中保存该租约的信息
租约文件会记录客户机的 MAC地址、租用的 IP地址、租约时间等信息
13.5.4 使用 DHCP客户机
对于 Linux客户机,可以直接修改网络接口的配置文件,如:
vi /etc/sysconfig/network-scripts/ifcfg-eth0
本章小结
理解 DNS服务的基本概念
熟悉 DNS服务工作过程
熟悉 DNS配置文件
熟练配置各种 DNS服务器
理解 DHCP服务器工作过程
熟练配置 DHCP服务器