Set up a linux PXE server
yum install dhcp
vi /etc/dhcp/dhcpd.conf
subnet 192.168.80.0 netmask 255.255.255.0 {
range 192.168.80.100 192.168.80.200;
option domain-name-servers 192.168.80.2;
option routers 192.168.80.2;
next-server 192.168.80.10;
filename "/pxelinux.0";
}
systemctl start dhcpd
yum install tftp-server
vim /etc/xinetd.d/tftp
service tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /var/lib/tftpboot
disable = no
per_source = 11
cps = 100 2
flags = IPv4
}
systemctl start tftp.service
yum install httpd
mount CentOS.iso /var/www/html/centOS
systemctl start httpd
yum install syslinux
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftproot
cp -a /var/www/html/centOS/isolinux/* /var/lib/tftproot/
mkdir -p /var/lib/tftproot/pxelinux.cfg
cp /var/www/html/centOS/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default
vim /var/lib/tftpboot/pxelinux.cfg/default
default ks
label ks
kernel vmlinuz
append initrd=initrd.img ks=http://10.152.187.1/ks-config/centOS.ks.cfg
cp /root/anaconda-ks.cfg /var/www/html/ks_config/centOS.ks.cfg
vi /var/www/html/ks_config/centOS.ks.cfg
install
url --url="http://10.152.187.1/centOS/"
#version=DEVEL
# System authorization information
auth --enableshadow --passalgo=sha512
# Use CDROM installation media
# cdrom
# Use graphical install
# graphical
# Run the Setup Agent on first boot
firstboot --enable
ignoredisk --only-use=sda
# Keyboard layouts
keyboard --vckeymap=us --xlayouts='us'
# System language
lang zh_CN.UTF-8
.
.
.
firewall-cmd --add-service=http --permanent
firewall-cmd --add-service=tftp --permanent
firewall-cmd --add-service=dhcp --permanent
firewall-cmd --reload