/etc/dhcpd.conf:
#
# DHCP Server Configuration file.
# see /usr/share/doc/dhcp*/dhcpd.conf.sample
#
ddns-update-style interim;
ignore client-updates;
subnet 192.168.103.0 netmask 255.255.255.0 {
class "dell" {
match if substring(hardware,1,3) = b4:99:ba; //mac地址匹配
}
option routers 192.168.103.1;
option subnet-mask 255.255.255.0;
option nis-domain "domain.org";
option domain-name "domain.org";
option domain-name-servers 192.168.103.1;
option time-offset -18000; # Eastern Standard Time
default-lease-time 21600;
max-lease-time 43200;
pool {
allow members of "dell";
range 192.168.103.30 192.168.103.40;
}
pool{
deny members of "dell";
range 192.168.103.10 192.168.103.29;
}
}
filename "ks.cfg"; //未使用
next-server 192.168.103.11; //指定tftp服务器地址
option space PXE;
class "PXE" {
match if substring(option vendor-class-identifier,0,9)="PXEClient";
option vendor-encapsulated-options 01:04:00:00:00:00:ff;
option boot-size 0x1;
filename "pxelinux.0";
option tftp-server-name "192.168.0.55"; //实际使用中好像没关系
option vendor-class-identifier "PXEClient";
vendor-option-space PXE;
}
/etc/xinetd.d/tftp:
service tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -u nobody -s /tftpboot
disable = no
per_source = 11
cps = 100 2
flags = IPv4
}
重启两个服务
把要远程安装系统目录下images的initrd.img及vmlinuz两个文件拷贝到/tftpboot目录下
编辑文件
/tftpboot/pxelinux.cfg/default:
default install
prompt 1
timeout 30
display boot.msg
label install
kernel vmlinuz
append initrd=initrd.img devfs=nomount ramdisk_size=16384
现在机器可以用网络方式启动了
需要注意的是:有的时候想对某些机器指定IP地址,可以在dhcpd.conf加上配置如
host q10 {
hardware ethernet 00:00:F0:6B:38:5B;
fixed-address 192.168.0.22;
}
就可以了,filename ""指定bootstrap的文件名;netx-server指定TFTP Server的地址
bootstrap文件在dhcpd.conf中被指定为pxelinux.0文件,放置在/tftpboot。Linux内核以及Linux根文件系统也放置在/tftpboot。pxelinux.0在执行过程中,要读配置文件,所有的配置文件都放在/tftpboot/pxelinux.cfg/目录下。由于PXElinux具有为不同的PXE Client提供不同的Linux内核以及根文件系统的功能,所以要通过不同的配置文件名来区分出不同的PXE Client的需求。比如一个PXE Client由DHCP Server分配的IP地址为192.168.0.22,那么相对应的配置文件名为/tftpboot/pxelinux.cfg/C0A80016(注:C0A80016为IP地址192.168.0.22的十六进制表示)。如果找不到,就按照顺序C0A80016->; C0A8001->; C0A800->; C0A80->; C0A8->; C0A->; C0->; C->;default查找配置文件。
阅读(1060) | 评论(0) | 转发(0) |