使用Ubuntu Edgy Eft设置多个Linux发行版的PXE安装服务器
版本1.0
作者:Falko Timme
本教程将介绍如何使用Ubuntu 6.10(Edgy Eft)安装PXE( p重新启动环境)的简单安装服务器。 PXE安装服务器允许您的客户端计算机通过网络引导和安装Linux发行版,而无需将Linux iso映像刻录到CD / DVD,启动软盘映像等。如果您的客户端计算机没有CD或软盘驱动器,或者如果要同时设置多台计算机(例如,在大型企业中),或者只是为了节省CD / DVD的钱。 在本文中,我将介绍如何配置PXE服务器,允许您启动多个发行版:Ubuntu Edgy / Dapper,Debian Etch / Sarge,Fedora Core 6,CentOS 4.4,OpenSuSE 10.2和Mandriva 2007。
我想先说说这不是建立这样一个系统的唯一途径。 实现这一目标有很多方法,但这是我所采取的方式。 我不会保证这将为您工作!
1初步说明
重要的是您有一个体面的互联网连接,因为您的客户端计算机将从互联网的存储库中获取所有需要的软件包(我在16MBit ADSL2 +连接上进行了测试,这似乎足够快。 可以将所有软件包存储在PXE服务器上,以便您不需要互联网连接(仅限于连接到PXE服务器的LAN连接),但是在PXE服务器上需要大量存储空间(请记住,它将提供多个发行版),所以我不介绍这里。
最重要的是您的客户端计算机支持通过网络启动。 您应该检查每台计算机的BIOS是否有此选项。
在我们作为PXE服务器的系统上,您应该已经设置了一个基本的Ubuntu 6.10服务器系统,例如本教程第1 - 3页所示: http : //www.youcl.com/perfect_setup_ubuntu_6.10
我更喜欢以root
用户身份
执行所有步骤。 所以如果你还没有创建根登录,你现在应该这样做:
sudo passwd root
然后,以root身份登录:
su
如果您希望以普通用户而不是root身份工作,请记住将sudo
放在本教程中显示的所有命令的前面。 所以当我跑
apt-get update
你应该跑
sudo apt-get update
而是等
2安装所有必需的软件包
首先我们通过运行更新我们的包数据库
apt-get update
我们需要安装软件包netkit-inetd
, tftpd-hpa
, dhcp3-server
和lftp
,所以我们运行
apt-get install netkit-inetd tftpd-hpa dhcp3-server lftp
之后跑
netstat -uap
并检查你是否看到这样的东西:
root@server1:~# netstat -uap
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
udp 0 0 *:tftp
如果没有看到tftp
行,请打开/etc/inetd.conf
,确保您在其中找到以下内容:
vi /etc/inetd.conf
[...] #:BOOT: Tftp service is provided primarily for booting. Most sites # run this only on machines acting as "boot servers." tftp dgram udp wait root /usr/sbin/in.tftpd /usr/sbin/in.tftpd -s /var/lib/tftpboot [...] |
然后重新启动inetd:
/etc/init.d/inetd restart
3配置DHCP服务器
我们在本地网络中需要一个DHCP服务器。 如果本地网络中没有DHCP服务器,只需配置并使用未来PXE服务器上的DHCP服务器即可。 只需编辑/etc/dhcp3/dhcpd.conf
:
cp /etc/dhcp3/dhcpd.conf /etc/dhcp3/dhcpd.conf_orig
cat /dev/null > /etc/dhcp3/dhcpd.conf
vi /etc/dhcp3/dhcpd.conf
option domain-name-servers 145.253.2.75, 193.174.32.18; default-lease-time 86400; max-lease-time 604800; authoritative; subnet 192.168.0.0 netmask 255.255.255.0 { range 192.168.0.10 192.168.0.49; filename "pxelinux.0"; option subnet-mask 255.255.255.0; option broadcast-address 192.168.0.255; option routers 192.168.0.1; } |
这将从您的客户端计算机动态分配192.168.0.10
到192.168.0.49的
IP地址; 网关是192.168.0.1
。 当然,您必须将此配置调整到您自己的环境!
重要的是你有线
filename "pxelinux.0";
在你的配置!
然后重新启动DHCP服务器:
/etc/init.d/dhcp3-server restart
如果您的网络中已经有DHCP服务器,则必须修改其配置。 我们假设你有这样的东西
subnet 192.168.0.0 netmask 255.255.255.0 { range 192.168.0.10 192.168.0.49; option subnet-mask 255.255.255.0; option broadcast-address 192.168.0.255; option routers 192.168.0.1; } |
在配置中。 你必须添加
filename "pxelinux.0";
next-server 192.168.0.100;
到它(其中192.168.0.100
是我们的Ubuntu PXE服务器的IP地址),使其看起来像这样:
subnet 192.168.0.0 netmask 255.255.255.0 { range 192.168.0.10 192.168.0.49; option subnet-mask 255.255.255.0; option broadcast-address 192.168.0.255; option routers 192.168.0.1; filename "pxelinux.0"; next-server 192.168.0.100; } |
然后重新启动DHCP服务器。