http://www.linuxidc.com/Linux/2015-09/123312.htm
参数上述文章加上自己实际操作后总结
总共需要4个服务来完成dhcp、tftp、vsftp 、syslinux个服务都采用yum 安装
yum install dhcp tftp-server vsftp syslinux -y
DHCP 1.分配ip 2.指定pxelinux的位置(既tftp服务的ip)
vim /etc/dhcp/dhcpd.conf
subnet 192.168.1.1 netmask 255.255.255.0 { #所属网段及掩码;
range 192.168.1.2 192.168.1.100; #IP地址池范围;
option routers 192.168.1.1; #路由器IP,可以写网关IP,交换机可以不填;
option broadcast-address 192.168.1.255; #可不填
next-server 192.168.1.100; #TFTP Server 的IP地址;
filename "pxelinux.0"; #pxelinux 启动文件位置;
default-lease-time 600;
max-lease-time 7200;
}
TFTP 2.用来放置initrd.img vmlinuz 此文件需要从需安装的iso镜像中拷贝 vesamenu.c32 boot.msg pxelinux.0
上诉几个文件中 initrd.img vmlinuz 为重要文件 不可缺少
vesamenu.c32 boot.msg 为非重要文件 不一定要从对应的iso中取得(多版本安装时不一定要对应的此文件)
pxelinux.0 从/usr/share/syslinux/取得
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
mkdir /var/lib/tftpboot/pxelinux.cfg #此文件夹放置iso中isolinux.cfg文件并改名default
cp isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default
vim /etc/xinetd.d/tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /var/lib/tftpboot #此行为目录
disable = no #把这行改成no即可;
per_source = 11
cps = 100 2
flags = IPv4
}
vsftp 1.用来放置iso文件 ks.cfg文件
默认安装的配置文件不需改动即可使用
下面附上一键安装脚本
#!/bin/bash
#by yzy
#2018-1-12
ping -c1 www.baidu.com > /dev/null 2>&1
[ $? != 0 ]&&echo “没有网络,无法安装所需服务”&&exit
#在你使用此脚本前请先确认已经插入光盘挂载到/mnt/iso
read -p "已将iso镜像挂载到/mnt/iso下y/n:" i
[ $i != 'yes' -a $i != 'y' ]&&echo "请先挂载镜像到/mnt/iso/下"&&exit
[ -d /mnt/iso ]||echo '未检测到/mnt/iso'&&exit
#关闭防火墙
setenfore 0
service iptables stop
#安装所需服务 dhcp vsftp tftp syslinux system-config-kickstart
yum install dhcp vsftp tftp-server syslinux system-config-kickstart-y
#配置dhcp服务
cat>/etc/dhcp/dhcpd.conf<
range 192.168.1.2 192.168.1.100; #IP地址池范围;
option routers 192.168.1.1; #路由器IP,可以写网关IP,交换机可以不填;
option broadcast-address 192.168.1.255; #可不填
next-server 192.168.1.100; #TFTPServer的IP地址;
filename "pxelinux.0"; #pxelinux启动文件位置;
default-lease-time 600;
max-lease-time 7200;
}
EOF
#配置tftp服务
cat>/etc/xinetd.d/tftp<
socket_type=dgram
protocol=udp
wait=yes
user=root
server = /usr/sbin/in.tftpd
server_args = -s/var/lib/tftpboot #此行为目录
disable = no #把这行改成no即可;
per_source = 11
cps = 1002
flags = IPv4
}
EOF
###拷贝所有所需到文件
#将iso文件拷贝到ftp目录中
[ -d /var/ftp/iso ]||mkdir -p /var/ftp/iso
cp -r /mnt/iso/* /var/ftp/iso/
#/var/lib/tftpboot/所需文件共6个 initrd.img,vmlinuz,vesamenu.32,boot.msg pxelinux.0
#initrd.img,vmlinuz,vesamenu.32,boot.msg 此处会有坑 initrd0.img vmlinuz0
#这里可以加检测 vmlinuz initrd.img 名字的步骤有的iso版本名字会有小出入
cp -rf /var/ftp/iso/iso/isolinux/{initrd.img,vmlinuz,vesamenu.32,boot.msg} /var/lib/tftpboot/
#pxelinux.0
cp -rf /use/share/syslinux/pxelinux.0 /var/lib/tftpboot/
#default
[ -d /var/lib/tftpboot/pxelinux.cfg ]||mkdir -p /var/lib/tftpboot/pxelinux.cfg
cp /var/ftp/iso/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default #dedault需修改地址