DHCP服务与TFTP服务
DHCP服务
DHCP协议: 动态IP地址配置协议
客户端:dhclient 68端口
执行dhclient -d 可获取动态IP地址
服务器:dhcp 67端口
dhcp服务基于本地,同网段
dhcp服务器配置:
yum install dhcp -y
vim /etc/dhcp/dhcpd.conf 修改dhcp服务器配置文件
nmcli device show eth0 查看IP地址详细信息
服务器文件格式: /etc/dhcp/dhcpd.conf
option domain-name-servers 180.76.76.76,223.5.5.5; DNS服务器
default-lease-time 86400; 默认租赁时间
max-lease-time 172800; 最大租赁时间
subnet 10.0.0.0 netmask 255.255.255.0 {
range 10.0.0.10 10.0.0.100; 可分配网段
range 10.0.0.110 10.0.0.200;
option routers 10.0.0.2; 网关
next-server 10.0.0.138; tftp服务器地址,即下载bootloader的IP地址
filename "pxelinux.0"; bootloader启动文件名
}
systemctl enable --now dhcp
TFTP服务
tftp协议: 轻量级文件传输协议 69端口
服务器端 tftp-server
yum install tftp-server -y
systemctl enable --now tftp
tftp 共享目录: /var/lib/tftpboot/
tftp检测
服务器:cp /etc/fstab /var/lib/tftpboot/f1
客户端:tftp 10.0.0.138
tftp> get f1
tftp> quit
cat f1
pxe技术: 支持通过网络引导或安装操作系统,网卡引导操作系统
在centos8上利用pxe通过网卡自动安装操作系统
pxe客户端:
从dhcp服务器获取ip地址和tftp服务器地址
从tftp服务器获取bootloader文件(kernel,initrd.img)
从http服务器获取ks应答文件和rpm包源
1,添加光盘 centos6,centos7
2,关闭selinux,防火墙,关闭虚拟机dhcp
yum -y install dhcp-server tftp-server httpd syslinux-nolinux
#http服务配置
3,systemctl enable --now httpd tftp dhcpd
4,mkdir /var/www/html/centos{6,7}
5, mount /dev/sr0 /var/www/html/centos6
mount /dev/sr1 /var/www/html/centos7
6, mkdir /var/www/html/ksdir
7, 准备应答文件存入/var/www/html/ksdir
#dhcp服务配置
8, vim /etc/dhcp/dhcpd.conf
option domain-name-servers 180.76.76.76,223.5.5.5;
default-lease-time 86400;
max-lease-time 172800;
subnet 10.0.0.0 netmask 255.255.255.0 {
range 10.0.0.10 10.0.0.100;
range 10.0.0.110 10.0.0.200;
option routers 10.0.0.2;
next-server 10.0.0.138;
filename "pxelinux.0";
}
9, systemctl start dhcpd
#tftp服务配置
10, mkdir /var/lib/tftpboot/centos{6,7}
11, cp /var/www/html/centos6/isolinux/{vmlinuz,initrd.img} /var/lib/tftpboot/centos6
cp /var/www/html/centos7/isolinux/{vmlinuz,initrd.img} /var/lib/tftpboot/centos7
12, cp /usr/share/syslinux/{pxelinux.0,menu.c32} /var/lib/tftpboot/
13,centos8需执行
cp /mnt/isolinux/{ldlinux.c32,libcom32.c32,libutil.c32} /var/lib/tftpboot/
#菜单文件配置
14, mkdir /vat/lib/tftpboot/pxelinux.cfg
15, cp /var/www/html/centos7/isolinux/isolinux.cfg
/var/lib/tftpboot/pxelinux.cfg/default
16, vim /var/lib/tftpboot/poelinux.cfg/default
timeout 600
default menu.c32
menu title CentOS Linux
label linux 6
menu label Install CentOS Linux 6
kernel centos6/vmlinuz
append initrd=centos6/initrd.img ks=http://10.0.0.138/ksdir/centos6.cfg
label linux 7
menu label install Centos linux 7
kernel centos7/vmlinuz
append initrd=centos7/initrd.img ks=http://10.0.0.138/ksdir/centos7.cfg
label local
menu default
menu label Boot from ^local drive
localboot 0xffff
17, tree /var/lib/tftpboot/
/var/lib/tftpboot/
├── centos6
│ ├── initrd.img
│ └── vmlinuz
├── centos7
│ ├── initrd.img
│ └── vmlinuz
├── ldlinux.c32
├── libcom32.c32
├── libutil.c32
├── menu.c32
├── pxelinux.0
└── pxelinux.cfg
└── default
18, 开机按esc键,选择网卡引导即可