基于OpenBSD的PXE远程安装服务器

在OpenBSD环境下搭建各种服务器的相关讨论。

版主: lionuxchenjun天地乾坤

回复
头像
leo
帖子: 2465
注册时间: 2010-01-21 3:27

基于OpenBSD的PXE远程安装服务器

帖子 leo » 2010-02-15 9:38

1.设置DHCP服务器上连接dhcp客户端的网卡
我这里使用的是re0,为了避免冲突,我的内网IP段设为192.168.2.X,re0的IP设置为192.168.2.1,所以编辑/ etc/hostname.re0 文件,将内容设置为:

代码: 全选

inet 192.168.2.1 255.255.255.0 NONE
2. 设置DHCP服务器
实际上这在前面有过描述,详参:http://www.gobsd.org/showthread.php?t=41
编辑 /etc/rc.conf.local文件,下面是我的文件:

代码: 全选

inetd=YES
pf=NO
pf_rules=/etc/pfnew.conf
dhcpd_flags="re0"
dhcpd=YES
上面红色的部分是添加的内容,目的是启用dhcp服务器,其中re0为连接dhcp客户端的网络接口。注意我在这里为了简化操作步骤,仅简单地关闭了pf,如果您在实际应用里不愿意这样,请在PF规则里放行内网和DHCP服务器之间的全部通讯,或者开启对内网的相应端口及协议以便放行DHCP及tftp的相应通讯,为了说明主要问题——pxe启动,我们就不在这里展开讨论了。

3. 启用tftp服务器
这里请注意:按照FAQ的说明,您不能禁用inetd,因为启用tftp需要它;编辑/etc/inetd.conf文件,将tftpd前面的注释符去掉:

代码: 全选

.......
tftp dgram udp wait root /usr/libexec/tftpd tftpd -$
tftp dgram udp6 wait root /usr/libexec/tftpd tftpd -$
#127.0.0.1:comsat dgram udp wait......
4. 创建 /tftpboot目录
这是pxe默认使用的目录:

代码: 全选

# mkdir /tftpboot
5. 将启动所需文件拷贝至 /tftpboot目录

代码: 全选

# cp /usr/mdec/pxeboot /tftpboot/pxeboot
# cp /bsd.rd /tftpboot/bsd.rd
因为启动时您可以指定内核文件,所以不用再单独拷贝boot.conf了,如果您想这样做也可以,将boot.conf的内容修改为:

代码: 全选

boot /bsd.rd
6. 修改系统默认的 /etc/dhcpd.conf文件
加入如下红色内容,下面是我的文件:

代码: 全选

# $OpenBSD: dhcpd.conf,v 1.2 2008/10/03 11:41:21 sthen Exp $
#
# DHCP server options.
# See dhcpd.conf(5) and dhcpd(8) for more information.
#
# Network: 192.168.1.0/255.255.255.0
# Domain name: my.domain
# Name servers: 192.168.1.3 and 192.168.1.5
# Default router: 192.168.1.1
# Addresses: 192.168.1.32 - 192.168.1.127
#
option domain-name "my.domain";
option domain-name-servers 192.168.1.3, 192.168.1.5;
subnet 192.168.1.0 netmask 255.255.255.0 {
option routers 192.168.1.1;
range 192.168.1.32 192.168.1.127;
host static-client {
hardware ethernet 22:33:44:55:66:77;
fixed-address 192.168.1.200;
}
host pxe-client {
hardware ethernet 02:03:04:05:06:07;
filename "pxeboot";
next-server 192.168.1.1;
}
}
subnet 192.168.2.0 netmask 255.255.255.0 {
option routers 192.168.2.1;
range 192.168.2.32 192.168.2.127;
filename "pxeboot"; <-------------------这行决不能有注释符
host static-client {
hardware ethernet 22:33:44:55:66:77;
fixed-address 192.168.2.200;
}
host pxe-client {
hardware ethernet 02:03:04:05:06:07;
next-server 192.168.2.1;
}
}
7. 重新启动DHCP服务器所在主机
你也可以重新加载dhcp服务器
8. 启动客户端计算机
客户端计算机必须具有PXE的能力,否则我前面说的就全是废话了。
出现boot提示符后键入bsd.rd就开始安装了:

代码: 全选

>> OpenBSD/i386 PXEBOOT 2.03
boot> bsd.rd
booting tftp:bsd.rd: 4375152+733120 [58+122112+105468]=0x516d04
entry point at 0x100120
Copyright (c) 1982, 1986, 1989, 1991, 1993
The Regents of the University of California. All rights reserved.
Copyright (c) 1995-2008 OpenBSD. All rights reserved. http://www.OpenBSD.org
OpenBSD 4.5 (RAMDISK_CD) #1112: Sat Feb 28 15:06:26 MST 2009
以下是截了几张图,用以说明在VMWARE中虚拟主机在采用PXE安装时的启动过程:


附件里是启动截图和压缩的dhcp.conf文件,要研究的朋友自行下载吧。
附件
dhcpd.zip
(569 Bytes) 下载 1059 次
pxe03.png
pxe02.png
pxe01.png

天地乾坤
钾 K
帖子: 17
注册时间: 2010-02-27 13:23

帖子 天地乾坤 » 2010-03-01 6:43

好贴,以后机子多了用得着。

wosl2001
钾 K
帖子: 13
注册时间: 2011-01-09 17:16

帖子 wosl2001 » 2011-01-09 17:49

win下用tftp也行 加载pxeboot就可以了
尘羽星翔!

回复

在线用户

正浏览此版面之用户: 没有注册用户 和 0 访客