本教程将指引你直接通过使用DNSMASQ作为PXE服务器(预启动执行环境),以网络方式安装Debian 7(Wheezy),此种情况是假定你的服务器不提供任何CD/DVD/USB介质驱动器,或者它只能通过相连的监视器、键盘和鼠标操作。
客户机上的Debian 7网络安装
DNSMASQ是一个轻量级网络基础架构服务器,它可以通过内建的DNS、DHCP和TFTP服务器提供如DNS、DHCP和网络启动等关键服务。
一旦PXE服务器启动并运行,你可以指示你所有的客户机直接从网络启动,前提是你的客户机必须拥有一张支持网络启动的网卡,网络启动可以从BIOS的网络启动或启动服务选项中启用。
前置阅读
步骤1: 安装及配置DNSMASQ服务器
1. 首先,在安装Debian服务器后,要确保你的系统使用的是静态IP地址。因为除了网络启动之外,也要为你的整个网段提供DHCP服务。设置好静态IP地址后,以root帐号或具有root权力的用户来运行以下命令,进行DNSMASQ服务器的安装。
- # apt-get install dnsmasq
安装Dnsmasq包
2. 安装好DNSMASQ包后,你可以开始编辑配置文件。首先创建一个主配置文件的备份,然后使用下面的命令对dnsmasq.conf文件进行编辑。
- # mv /etc/dnsmasq.conf /etc/dnsmasq.conf.backup
- # nano /etc/dnsmasq.conf
备份Dnsmasq配置
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
Dnsmasq配置
- interface – 服务器监听的网络接口。
- domain – 用你自己的域名替换。
- dhcp-range – 用你自己的网络掩码定义的网络IP地址范围。
- dhcp-boot – 保持默认,但使用你自己的服务器IP地址替换IP声明。
- pxe-prompt – 保持默认 – 要求在敲击F8键 进入菜单时等待60秒。
- pxe=service – 使用x86PC作为32位/64位架构,并进入引号字符串的菜单描述提示。其它值类型可能是:PC98,IA64EFI,Alpha,Arcx86,IntelLeanClient,IA32EFI, BCEFI,XscaleEFI和 X86-64EFI。
- enable-tftp – 启用内建TFTP服务器。
- tftp-root – 使用/srv/tftp作为Debian网络启动文件的存放位置。
步骤2: 下载Debian网络启动文件并打开防火墙连接
4. 现在,该下载Debian网络启动文件了。首先,修改你当前工作目录路径到TFTP根目录位置,此位置由最后的配置语句定义(/srv/tftp系统路径)。
转到Debian网络安装 – 网络启动部分的官方页面镜像,抓取以下文件,要抓取的文件取决于你想要安装到客户端的系统架构。
下载好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网络启动文件
使用以下变量用于Debian网络安装镜像和架构。
- # 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
启动Dnsmasq服务
6. 基于Debian的发行版通常附带了UFW防火墙包。使用以下命令来打开需要的DNSMASQ端口号:67(Bootps),69(TFTP),53(DNS)4011(代理DHCP)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
开启Dnsmasq端口
现在,位于你的客户机网络接口上的PXE加载器将使用按以下顺序从/srv/tftp/pxelinux.cfg目录加载pxelinux配置文件。