3. 设置 DHCP 和 TFTP 服务器

需要 DHCP 服务器在客户端启动 Grub (BOOTP) 以及稍后启动 Linux 时为其提供 IP 地址。 需要 TFTP 服务器使启动镜像在网络上可用,以便 Linux 启动。 TFTP 服务器对于保存和恢复磁盘镜像也是必要的。

3.1. 设置 DHCP

关于 DHCP 的详细信息超出了本文的范围。 “Linux 网络 HOWTO” 中有一章关于 DHCP 的内容。

设置 DHCP 非常容易,但是如果您处于由其他人管理的网络环境中,则建议使用预先存在的 DHCP 服务器。 如果您“拥有”网络,则可以按照此步骤操作。

如果尚未安装 DHCP,请从 rpm 软件包安装,通常在 Linux 发行版中可以找到

# rpm -ihv dhcp-*.rpm
			

编辑/etc/dhcpd.conf文件以配置 DHCP 服务。 在我们的设置中,服务器的 IP 地址为 10.0.0.1,并为最多 253 个客户端提供 IP 地址。 配置/etc/dhcpd.conf根据您的环境

#/etc/dhcpd.conf
server-identifier dhcp.clonedomain.com;
default-lease-time	172800;
max-lease-time		604800;
option domain-name	"clonedomain.com";
subnet 10.0.0.0 netmask 255.255.255.0 {
	range dynamic-bootp 10.0.0.2 10.0.0.254;
}
			

启动 dhcpd 服务器

/etc/rc.d/init.d/dhcpd start.

3.2. 设置 TFTP

设置 TFTP 几乎与 DHCP 一样容易。

首先从 rpm 软件包安装

# rpm -ihv tftp-server-*.rpm
			

为文件创建一个目录

# mkdir /tftpboot
# chown nobody:nobody /tftpboot
			

目录/tftpboot由用户拥有nobody,因为这是 tftpd 设置的默认用户 ID 以访问文件。

编辑文件/etc/xinetd.d/tftp看起来像下面这样

service tftp
{
	socket_type	= dgram
	protocol	= udp
	wait		= yes
	user		= root
	server		= /usr/sbin/in.tftpd
	server_args	= -c -s /tftpboot
	disable		= no
	per_source	= 11
	cps		= 100 2
}
			

与默认文件的更改是参数disable = no(启用服务)和服务器参数-c。 此参数允许创建文件,如果您想保存启动或磁盘镜像,这是必要的。 您可能希望在正常操作中将 TFTP 设置为只读。

然后重新加载 xinetd

/etc/rc.d/init.d/xinetd reload

您可以使用 tftp 命令(可从 tftp (客户端) rpm 软件包中获得)来测试服务器。 在 tftp 提示符下,您可以发出 putget 命令。

3.3. 使用不同的服务器

可以为 DHCP 和 TFTP 使用不同的服务器。 如果使用预先存在的 DHCP 服务器,这可能是必要的。 您可以配置next-serverDHCP 中的参数以指向 TFTP 服务器,或者您可以在 Grub 中使用 tftpserver 命令。