利用pxe实现操作系统自动安装(dhcp,tftp)

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键,选择网卡引导即可
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值