使用 DNSMASQ 网络启动服务器在客户端计算机上网络安装“Debian 7 (Wheezy)”
本教程将指导您如何使用 DNSMASQ 作为 PXE 服务器直接从网络位置安装 Debian 7 (Wheezy) (预启动执行环境),以防您的服务器不提供任何从 CD/DVD/USB 介质驱动器启动的方法,或者它只能使用连接的显示器、键盘和老鼠。
DNSMASQ是一个轻量级网络基础设施服务器,它可以使用内置的DNS、DHCP和TFTP服务器提供关键的网络服务,例如DNS、DHCP和网络启动。
一旦 PXE 服务器启动并运行,您可以指示所有客户端计算机直接从网络启动,具体要求是您的客户端必须拥有支持网络启动的网卡,可以在 BIOS 的“网络启动”或“启动服务”选项下启用该网卡。
要求
- Debian 7 (Wheezy) 安装指南
第 1 步:安装和配置 DNSMASQ 服务器
1. 首先,在安装 Debian Server 后,请确保您的系统使用静态 IP 地址,因为除了网络启动之外,还将为您的整个网络提供 DHCP 服务部分。配置静态 IP 地址后,从 root 帐户或使用具有 root 权限的用户运行以下命令来安装 DNSMASQ 服务器。
apt-get install dnsmasq
2. 一旦安装了 DNSMASQ 软件包,您就可以开始编辑其配置文件。首先创建主配置的备份,然后通过发出以下命令开始编辑 dnsmasq.conf 文件。
mv /etc/dnsmasq.conf /etc/dnsmasq.conf.backup
nano /etc/dnsmasq.conf
3.上述备份过程包括重命名主配置文件,因此新文件应该是一个空文件。使用 DNSMASQ 配置文件的以下摘录,如下所述。
interface=eth0
domain=debian.lan
dhcp-range=192.168.1.3,192.168.1.253,255.255.255.0,1h
dhcp-boot=pxelinux.0,pxeserver,192.168.1.100
pxe-prompt="Press F8 for menu.", 60
#pxe-service types: x86PC, PC98, IA64_EFI, Alpha, Arc_x86, Intel_Lean_Client, IA32_EFI, BC_EFI, Xscale_EFI and X86-64_EFI
pxe-service=x86PC, "Install Debian 7 Linux from network server 192.168.1.100", pxelinux
enable-tftp
tftp-root=/srv/tftp
- interface – 服务器应侦听的网络接口。
- domain – 将其替换为您的域名。
- dhcp-range – 将其替换为您的网络掩码定义的网络 IP 范围。
- dhcp-boot – 将其保留为默认值,但将 IP 语句替换为您的服务器 IP 地址。
- pxe-prompt – 保留默认值 – 需要 F8 按键 进入菜单 60,等待时间为秒。
- pxe=service – 对于 32 位/64 位架构使用 x86PC,并在字符串引号下输入菜单描述提示。其他值类型可以是:PC98、IA64_EFI、Alpha、Arc_x86、Intel_Lean_Client、IA32_EFI、BC_EFI、Xscale_EFI 和 X86-64_EFI。
- enable-tftp – 启用内置 TFTP 服务器。
- tftp-root – 使用 /srv/tftp 是 Debian 网络启动文件的位置。
步骤 2:下载 Debian Netboot 文件并打开防火墙连接
4. 现在是时候下载 Debian 网络启动文件了。首先,将当前工作目录路径更改为最后一个配置语句定义的 TFTP Root 位置(/srv/tftp 系统路径)。
转至 Debian Netinstall – 网络启动部分的官方页面镜像,并根据您想要在客户端上安装的系统架构获取以下文件。
一旦,您下载netboot.tar.gz文件,同时解压存档(此过程仅针对64位进行描述,但相同的过程适用于其他系统架构)。
cd /srv/tftp/
wget http://ftp.nl.debian.org/debian/dists/wheezy/main/installer-amd64/current/images/netboot/netboot.tar.gz
tar xfz netboot.tar.gz
wget http://ftp.nl.debian.org/debian/dists/wheezy/main/installer-amd64/current/images/SHA256SUMS
wget http://ftp.nl.debian.org/debian/dists/wheezy/Release
wget http://ftp.nl.debian.org/debian/dists/wheezy/Release.gpg
此外,可能需要使 TFTP 服务器可读 TFTP 目录中的所有文件。
chmod -R 755 /srv/tftp/
对 Debian Netinstall 镜像和架构使用以下变量。
wget http://"$YOURMIRROR"/debian/dists/wheezy/main/installer-"$ARCH"/current/images/netboot/netboot.tar.gz
wget http://"$YOURMIRROR"/debian/dists/wheezy/main/installer-"$ARCH"/current/images/SHA256SUMS
wget http://"$YOURMIRROR"/debian/dists/wheezy/Release
wget http://"$YOURMIRROR"/debian/dists/wheezy/Release.gpg
5. 下一步启动或重新启动 DNSMASQ 守护程序并运行 netstat 命令以获取服务器正在侦听的端口列表。
service dnsmasq restart
netstat -tulpn | grep dnsmasq
6. 基于 Debian 的发行版通常附带 UFW Firewall 软件包。使用以下命令打开所需的 DNSMASQ 端口号:67 (Bootps)、69 (TFTP) 53 (DNS)、4011 (proxyDHCP) udp 和 53 tcp (DNS)。
ufw allow 69/udp
ufw allow 4011/udp ## Only if you have a ProxyDHCP on the network
ufw allow 67/udp
ufw allow 53/tcp
ufw allow 53/udp
现在,位于客户端网络接口上的 PXE 加载程序将使用此顺序从 /srv/tftp/pxelinux.cfg 目录加载 pxelinux 配置文件。
- GUID文件
- MAC文件
- 默认文件
步骤 3:将客户端配置为从网络启动
7. 要为客户端计算机启用网络启动,请输入您的系统 BIOS 配置(请参阅硬件主板供应商文档以了解如何输入 BIOS 设置)。
进入启动菜单并选择网络启动作为主启动设备(在某些系统上,您可以选择启动设备而无需进入BIOS配置,只需通过在 BIOS POST 期间按下某个键)。
8.编辑启动顺序后,通常按F10保存BIOS设置。重新启动后,您的客户端计算机应直接从网络启动,并且应出现第一个 PXE 提示,要求您按 F8 键进入菜单。
接下来,按F8键继续前进,并会出现一个新提示。再次按 Enter 键,屏幕上应出现主要的 Debian Installer 提示,如下面的屏幕截图所示。
从这里开始,您可以使用 Debian 7 Wheezy 程序(上面给出的安装链接)开始在您的计算机上安装 Debian,但您还需要确保您的计算机具有有效的 Internet 连接,以便能够完成安装过程。
步骤 4:调试 DNSMASQ 服务器并在系统范围内启用它
9. 要诊断服务器最终发生的问题或向客户端提供的其他信息,请运行以下命令打开日志文件。
tailf /var/log/daemon.log
10. 如果服务器测试期间一切就绪,您现在可以借助 sysv-rc-conf 启用 DNSMASQ 守护进程在系统重新引导后自动启动b> 包。
apt-get install sysv-rc-conf
sysv-rc-conf dnsmaq on
就这样!现在,您的 PXE 服务器已准备好分配 IP 地址 (DHCP) 并为所有网段客户端提供所需的引导信息,这些客户端将配置为引导和安装 Debian Wheezy来自网络。
使用 PXE 网络引导安装在服务器主机数量增加的网络上具有一些优势,因为您可以在短时间内或同时设置整个网络基础设施,方便发行版升级过程,并且还可以自动化整个网络使用kickstart 文件的安装过程。