第 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服务器
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服务器