• 沒有找到結果。

Name: www.abc.com Address: 192.168.0.15

[root@rh9 root]# nslookup game.abc.com

Note: nslookup is deprecated and may be removed from future releases.

Consider using the `dig' or `host' programs instead. Run nslookup with the `-sil[ent]' option to prevent this message from appearing.

Server: 192.168.0.1 Address: 192.168.0.1#53

game.abc.com canonical name = host3.abc.com.

Name: host3.abc.com Address: 192.168.0.17

[root@rh9 root]# nslookup 192.168.0.17

Note: nslookup is deprecated and may be removed from future releases.

Consider using the `dig' or `host' programs instead. Run nslookup with the `-sil[ent]' option to prevent this message from appearing.

Server: 192.168.0.1 Address: 192.168.0.1#53

17.0.168.192.in-addr.arpa name = host3.abc.com.

8.6 DHCP 服务器

动态主机配置协议(Dynamic Host Configuration Protocol,DHCP)的产生,很好地解决了 这个问题。它是利用 DHCP 服务器所包含的 IP 地址数据库,以租用的方式来为客户端动态指

派 IP 地址及其他相关配置,如默认网关(路由)和域名服务器等,以便客户机能与其他网段

Red Hat Linux 9 自带有 DHCP 的安装软件包,相关文件共有三个,分别是:dhcp-3.0p11 -23.i386.rpm,DHCP 服务器软件包,位于第 2 张光盘;dhclient-3.op11-23.i386.rpm,DHCP 客 户端软件包,位于第 1 张光盘;dhcp-devel-3.0pl1-23.i386.rpm,DHCP 开发包,位于第 2 张光 盘,提供库和头文件,一般不需要安装。

[root@rh9 dhcp]# rpm -q dhcp //检查 dhcp 的相关软件是否已经安装。

dhcp-3.0p11-23

在安装 DHCP 服务器之前,应先使用上面的方法检查当前系统是否已经安装,如果输出 如上所示的软件名称,则说明已经安装,否则可以使用下面的命令进行安装。

[root@rh9 dhcp]# mount /mnt/cdrom [root@rh9 dhcp]# cd /mnt/cdrom/Red Hat

[root@rh9 dhcp]# rpm -ivh dhcp-3.0p11-23.i386.rpm

warning: dhcp-3.0pl1-23.i386.rpm: V3 DSA signature: NOKEY, key ID db42a60e Preparing... ########################################### [100%]

1:dhcp ########################################### [100%]

[root@rh9 dhcp]# rpm -pql dhcp-3.0pl1-23.i386.rpm //查询安装文件列表。

warning: dhcp-3.0pl1-23.i386.rpm: V3 DSA signature: NOKEY, key ID db42a60e /etc/rc.d/init.d/dhcpd //DHCP 服务器启动脚本。

/usr/share/man/man5/dhcp-eval.5.gz

DHCP 中继服务(dhcrelay)可以在没有 DHCP 服务器的网段上接收 DHCP 和 BOOTP

(Internet Bootstrap Protocol)网络地址请求,并将其转发到另一个有 DHCP 服务器的网段。

8.6.3 DHCP 服务器的配置文件

有关 DHCP 服务器的配置几乎都集中在/etc/dhcp.conf 中,但由于系统安装后并不会自动生 成该文件,所以建议先将该配置文件的模板/usr/share/doc/dhcp-3.0p11/dhcp.conf. sample,复制到 /etc 目录下并改名为 dhcp.conf 然后再根据需要进行修改,下面显示了该文件的默认内容。

[root@rh9 dhcp]# more /usr/share/doc/dhcp-3.0p11/dhcp.conf. sample ddns-update-style interim;

ignore client-updates;

subnet 192.168.0.0 netmask 255.255.255.0 {

# --- default gateway

option routers 192.168.0.1;

option subnet-mask 255.255.255.0;

option nis-domain "domain.org";

option domain-name "domain.org";

option domain-name-servers 192.168.1.1;

option time-offset -18000; # Eastern Standard Time

# option ntp-servers 192.168.1.1;

# option netbios-name-servers 192.168.1.1;

# --- Selects point-to-point node (default is hybrid). Don't change this unless

# -- you understand Netbios very well

# option netbios-node-type 2;

range dynamic-bootp 192.168.0.128 192.168.0.255;

default-lease-time 21600;

max-lease-time 43200;

# we want the nameserver to appear at a fixed address host ns {

next-server marvin.redhat.com;

hardware ethernet 12:34:56:78:AB:CD;

fixed-address 207.175.42.254;

}

range [dynamic-bootp] low-address [high-address];

[其他可选的设置]

}

subnet 子网 2 netmask 子网掩码 {

option routers 默认网关地址;

range [dynamic-bootp] low-address [high-address];

[其他可选的设置] ignore client-updates //不允许动态更新 DNS,如要允许则设置为 allow client-updates。

default-lease-time 259200 //默认的 IP 地址租约期限,单位为秒。

max-lease-time 777600 //IP 租约的最长期限,单位为秒。

server-identifer 192.168.0.1 //指定 DHCP 服务器的 IP 地址。

… …

dhcpd 里有一个语法分析器,能对 dhcpd.conf 文件进行语法分析,获得必要的配置参数。

这些参数可以通过 dhcpd.conf 中的 option 语句来定义,常见 option 选项如表 8.6 所示。语句以

domain-name-servers 指定 DNS 地址

time-offset 东部标准时间

range [dynamic-bootp] 指定可分配的 IP 地址范围,dynamic-bootp 可以不写 netbios-name-servers 指定 WINS 服务器的地址

netbios-node-type 指明客户端的 NetBIOS 节点类型

broadcast-address 指定所在网段的广播地址

time-servers 指定时间服务器

DHCP 服务器的配置比较简单,下面给出一个具体的实例,来说明 DHCP 服务器的配置 方法和过程。假设要在某局域网中配置一台 DHCP 服务器,为两个网段 192.168.168.0/24 和 192.168.167.0/24 的用户提供 IP 地址动态分配服务。两个网段默认的主、次域名服务器都是 61.128.128.68 和 61.128.128.69。

192.168.168.0/24 网段动态分配的 IP 地址范围是 192.168.168.60~192.168.168.240,该网段 的其余地址保留或用于静态分配,其中物理地址为 00:0C:29:04:FB:E2 的网卡固定分配 192.168.168.8,物理地址为 00:0C:29:04:ED:35 的网卡固定分配 192.168.168.9。该网段的默认 网关是 192.168.168.1。

用于给 192.168.167.0/24 网段动态分配的 IP 地址范围是 192.168.167.20~192.168.167.100 和 192.168.167.140~192.168.167.240。其中,物理地址为 00:0C:29:1E:2F:4A 的网卡,固定分配 IP 地址 192.168.167.100。该网段的默认网关是 192.168.167.1。

根据需求分析可知,要提供动态 IP 地址分配的网段有两个,因此在 DHCP 服务器中,需 要定义两个 DHCP 作用域。两个作用域都有相同的域名服务器和子网掩码,可将这两项指定 为全局配置,在各作用域中就不用再单独设置了。下面是使用文本编辑程序,按照需求修改后 的配置文件。

[root@rh9 dhcp]# vi /etc/dhcpd.conf //以下是全局设置。

ddns-update-style interim ; ignore client-update s ; default-lease-time 28800 ; max-lease-time 43200 ; option subnet-mask 255.255.255.0 ;

option domain-name-servers 61.128.128.68 , 61.128.128.69 ; //以下分别是两个作用域的单独设置。

subnet 192.168.168.0 netmask 255.255.255.0 { range 192.168.168.60 192.168.168.240 ; option broadcast-address 192.168.168.255 ; option routers 192.168.168.1 ;

}

subnet 192.168.167.0 netmask 255.255.255.0 { range 192.168.167.20 192.168.167.100 ; range 192.168.167.140 192.168.167.240 ; option broadcast-address 192.168.167.255 ; option routers 192.168.167.1 ;

}

hardware ethernet 00:0C:29:04:FB:E2 ; fixed-address 192.168.168.8 ;

}

host host2 {

hardware ethernet 00:0C:29:04:ED:35 ; fixed-address 192.168.168.9 ;

}

host host3 {

hardware ethernet 00:0C:29:1E:2F:4A ; fixed-address 192.168.167.100 ;

option routers 192.168.167.1 ; //可以为该主机单独指定默认网关。

[root@rh9 root]# service dhcpd start

启动 dhcpd: [ 确定 ] [root@rh9 root]# service dhcpd status

dhcpd (pid 5147) 正在运行...

[root@rh9 root]# service dhcpd stop

关闭 dhcpd: [ 确定 ] [root@rh9 root]# service dhcpd restart

关闭 dhcpd: [ 失败 ] [root@rh9 root]# chkconfig --list dhcpd

dhcpd 0:关闭 1:关闭 2:关闭 3:启用 4:关闭 5:启用 6:关闭 8.6.5 DHCP 的客户端设置

DHCP 的客户端有多种类型,可以是 Windows 操作系统,也可以是 Linux/UNIX。Linux 下的 DHCP 客户端需要安装 dhclient-3.op11-23.i386.rpm 软件包,它位于第 1 张 Linux 系统光 盘上,默认情况下已经安装。下面分别介绍 DHCP 服务器的 Linux 客户端以及 Windows XP 客

“BOOTPROTO = none”行,将其修改为“BOOTPROTO = dhcp”即可。

设置完成后,先关闭客户端网卡然后再启动,然后使用 ifconfig 命令查看从 DHCP 服务器 获得 IP 地址的情况,判断 DHCP 服务器以及客户端是否已经能够正常工作。

DHCP 服务器会把出租出去的 IP 地址信息存放在/var/lib/dhcp/dhcpd.leases 文本文件中,

通过查看该文件的内容,也可在一定程度上判断其是否已经正常工作。

2.Windows 客户端的设置

在 Windows XP 的控制面板中双击网络连接图标 ,单击要设置的网卡,在弹出的“TCP/IP 属性”窗口的“常规”选项卡中,选择“自动获得 IP 地址”,如图 8-52 所示。如果 DHCP 还 提供 DNS、WINS 等设置,也可以把它们设置为自动获得。

图 8-51 Linux 下配置 DHCP 客户端 图 8-52 Windows 下配置 DHCP 客户端 设置完成后,先关闭客户端网卡然后再启用,然后执行“ipconfig /all”命令查看从 DHCP 服务器自动获得配置的情况,判断 DHCP 服务器以及客户端是否已经能够正常工作。另外,

可以执行“ipconfig /renew”命令更新 IP 地址,执行“ipconfig /release”命令释放从 DHCP 服务器获得的 IP。

8.6.6 DHCP 中继代理

如果网络跨越了多个子网,子网之间是以具有多个网络接口的同一台主机相连,在此种 情形下 DHCP 服务器可能无法为远在其他子网的客户机提供服务,因为 DHCP 客户端是靠广 播形式请求 DHCP 服务器的,但是一般情形下,网络接口之间并不会自动转发广播的数据包。

要解决以上的问题,就必须使用 DHCP 中继代理(Relay Agent)的功能。

通过 DHCP 中继代理,可以使用同一台 DHCP 服务器为多个子网提供 IP 地址,而不需要 在每个子网中配置 DHCP 服务器。默认情况下,在安装 DHCP 服务器程序时,已经安装了 DHCP 中继代理程序(/usr/sbin/dhcrelay)。

一般情况下,dhcrelay 启动后将监听所有网络接口上的 DHCP 请求并提供中继代理服务,

当然也可以让其只监听部分网络接口。完成这一工作,要使用命令 dhcrelay,并且拥有 root 的权限,其语法格式为:“dhcrelay [-p 连接端口] -i 网络接口 DHCP 服务器 IP”。

其中,选项-p 用来指定中继代理服务使用的连接端口号,如果没有指定,系统默认使用 UDP 67 号端口;选项-i 最为重要,用来指定为哪些直接与 DHCP 服务器网卡相连的子网提供 DHCP 中继服务。

比如,命令“dhcrelay -i eth1 -i eth2 192.168.168.33”,表示 DHCP 服务器的 IP 地

址是 192.168.168.33,位于与网卡 eth0 直接相连的子网 A 中,通过 DHCP 中继代理服务,使 DHCP 服务器也能够向与网卡 eth1、eth2 相连的子网 A 与子网 B 提供服务。

多个子网相连,更多的情况下采用硬件路由器,而并非具有多个网络接口的主机。在这 种情况下,要选用具有 DHCP 中继功能的路由器来支持,来实现跨网段的 IP 地址自动分配。

相關文件