通过 pxe(网络安装)完成centos 系统的网络安装

简介: 首先交代环境。本地2台主机,一台windows主机,一台等待安装centos的主机。2台主机在同一个局域网。通过路由器自动获取ip上网。网上大多数pxe安装方式都采用自己搭建dns服务器的方式来进行,but,我们的dns服务器就是一个小破路由器,自然是做不来这个事情。

首先交代环境。本地2台主机,一台windows主机,一台等待安装centos的主机。2台主机在同一个局域网。通过路由器自动获取ip上网。
网上大多数pxe安装方式都采用自己搭建dns服务器的方式来进行,but,我们的dns服务器就是一个小破路由器,自然是做不来这个事情。
所以经过一番google,决定使用dnsmasq来搞定我们的dns服务器。临时凑合用用(主要是,突然发现家里没有一个大一点的U盘,也是醉了),网络环境:路由器网关 192.168.2.1,win ip:192.168.2.2,pxe server ip:192.168.2.3

1.win主机上,hyper-v虚拟一个centos,暂称为 pxe server

hyper-v 安装centos

2.安装配置dnsmasq。

#安装dnsmasq
yum install dnsmasq
#配置dnsmasq
mv /etc/dnsmasq.conf  /etc/dnsmasq.conf.backup
vi /etc/dnsmasq.conf
#编辑如下类容
#网卡名字,通过ip addr获取
 interface=eno16777736,lo
 domain=centos7.lan
 # DHCP range-leases
 dhcp-range= eno16777736,192.168.1.100,192.168.1.253,255.255.255.0,1h
 # PXE
 dhcp-boot=pxelinux.0,pxeserver,192.168.1.20
 # Gateway
 dhcp-option=3,192.168.1.1
 # DNS
 dhcp-option=6,92.168.1.1, 8.8.8.8
 server=8.8.4.4
 # Broadcast Address
 dhcp-option=28,10.0.0.255
 # NTP Server
 dhcp-option=42,0.0.0.0
 pxe-prompt="Press F8 for menu.", 60
 pxe-service=x86PC, "Install CentOS 7 from network server 192.168.1.20", pxelinux
 enable-tftp
 tftp-root=/var/lib/tftpboot

参数解释:
interface – 服务器需要监听并提供服务的网络接口。
bind-interfaces – 取消注释来绑定到该网络接口
domain – 替换为你的域名。
dhcp-range – 替换为你的网络掩码定义的网段。
dhcp-boot – 替换该IP地址为你的网络接口IP地址。
dhcp-option=3,192.168.1.1 – 替换该IP地址为你的网段的网关。
dhcp-option=6,92.168.1.1 – 替换该IP地址为你的DNS服务器IP——可以定义多个IP地址。
server=8.8.4.4 – 这里放置DNS转发服务器IP地址。
dhcp-option=28,10.0.0.255 – 替换该IP地址为网络广播地址——可选项。
dhcp-option=42,0.0.0.0 – 这里放置网络时钟服务器——可选项(0.0.0.0地址表示参考自身)。
pxe-prompt – 保持默认——按F8进入菜单,60秒等待时间。
pxe=service – 使用x86PC作为32为/64位架构,并在字符串引述中输入菜单描述提示。其它类型值可以是:PC98,IAEFI,Alpha,Arcx86,IntelLeanClient,IA32EFI,BCEFI,XscaleEFI和X86-64EFI。
enable-tftp – 启用内建TFTP服务器。
tftp-root – 使用/var/lib/tftpboot——所有网络启动文件所在位置。

3.安装syslinux和tftp-server并完成配置

yum install syslinux
yum install tftp-server
#copy 安装引导文件
cp -r /usr/share/syslinux/* /var/lib/tftpboot
mkdir /var/lib/tftpboot/pxelinux.cfg
#创建安装引导配置文件并编辑为下面的内容
touch /var/lib/tftpboot/pxelinux.cfg/default
#我们使用syslinux引导安装,通过ftp传输安装包,所以,label 2,3,4可以删除。
default menu.c32
prompt 0
timeout 300
ONTIMEOUT local
menu title ########## PXE Boot Menu ##########
label 1
menu label ^1) Install CentOS 7 x64 with Local Repo
kernel centos7/vmlinuz
#我们自己搭建的ftp地址:ftp://192.168.1.20/pub
append initrd=centos7/initrd.img method=ftp://192.168.1.20/pub devfs=nomount

label 2
menu label ^2) Install CentOS 7 x64 with <http://mirror.centos.org> Repo
kernel centos7/vmlinuz
append initrd=centos7/initrd.img method=http://mirror.centos.org/centos/7/os/x86\_64/ devfs=nomount ip=dhcp

label 3
menu label ^3) Install CentOS 7 x64 with Local Repo using VNC
kernel centos7/vmlinuz
append  initrd=centos7/initrd.img method=ftp://192.168.1.20/pub devfs=nomount inst.vnc inst.vncpassword=password  

label 4
menu label ^4) Boot from local drive

4.准备centos安装包

#首先使用sftp之类的工具把我们的centos安装镜像上传到我们的pxe server
#接着,挂在这个镜像
5.mount -o loop /path/to/centos-dvd.iso  /mnt
#创建tftp安装文件下载目录,并copy镜像内的文件到目录
mkdir /var/lib/tftpboot/centos7
cp /mnt/images/pxeboot/vmlinuz  /var/lib/tftpboot/centos7
cp /mnt/images/pxeboot/initrd.img  /var/lib/tftpboot/centos7  
#安装ftp。copy镜像文件到ftp目录。此处目录要和syslinux配置的引导配置文件中的地址要一致
yum install vsftpd
cp -r /mnt/*  /var/ftp/pub/ 
#修改文件权限
chmod -R 755 /var/ftp/pub

5.准备工作已完成,接下来就是配置需要安装centos的主机了。

检查主板是否开启并支持了pxe安装方式。大约就是进blos配置一下
无耻的盗一下图:
img_125843df4377ca22a19d61e34fe8c4b4.png
img_8e47ba95a778cdbb6c9caefe73f709d1.png
并且设置pxe为启动顺序第一位,然后保存配置重启主机。
这个时候,不出意外的话,主机上就会显示我们在pxe server里配置syslinux引导菜单了。
选择 label 1 开始安装。
附上pxe server的日志
img_5c58ed0576e5699e81757cf9634472f2.png

目录
相关文章
|
23小时前
|
NoSQL Linux Redis
Centos7 安装和配置 Redis 5 教程
在Centos上安装Redis 5,如果是 Centos8,那么 yum 仓库中默认的 redis 版本就是 5,直接 yum install 即可。
12 0
|
2天前
|
机器学习/深度学习 人工智能 安全
构建未来:AI驱动的自适应网络安全防御系统云端守卫:云计算环境下的网络安全与信息保护策略
【5月更文挑战第27天】 在数字化时代,网络安全威胁持续进化,传统的安全措施逐渐显得力不从心。本文探讨了人工智能(AI)技术如何革新现代网络安全防御系统,提出一个基于AI的自适应网络安全模型。该模型结合实时数据分析、模式识别和自我学习机制,能够动态调整防御策略以应对未知攻击。文章不仅分析了此模型的核心组件,还讨论了实施过程中的挑战与潜在效益。通过引入AI,我们展望一个更加智能且具有弹性的网络安全环境,旨在为未来的网络防护提供一种创新思路。
|
2天前
|
机器学习/深度学习 存储 安全
网络安全与信息安全:防护、检测与教育移动应用开发的未来:跨平台框架与原生系统的融合
【5月更文挑战第27天】在数字化时代,数据成为了新的货币。因此,确保信息的安全性和网络的完整性变得至关重要。本文将探讨网络安全漏洞的概念、加密技术的重要性以及提升安全意识的必要性。通过分析不同类型的安全威胁,我们讨论了如何利用现代加密技术和多层防御策略来保护信息系统。此外,文中还强调了教育和培训在构建坚固的安全防线中的作用。
|
5天前
|
存储 Linux 虚拟化
Hyper-V 安装 CentOS 8.5
本文档介绍了在 Windows 10 上使用 Hyper-V 安装 CentOS 8.5.2111 的详细步骤
27 3
|
5天前
|
Linux 开发工具
蓝易云 - 在CentOS7/RHEL7上安装OpenSSL1.1.x教程
以上就是在CentOS7/RHEL7上安装OpenSSL 1.1.x的步骤。希望对你有所帮助。
30 0
|
6天前
|
JavaScript 小程序 Java
基于微信小程序的网络安全科普系统的设计与实现(源码+lw+部署文档+讲解等)
基于微信小程序的网络安全科普系统的设计与实现(源码+lw+部署文档+讲解等)
|
6天前
|
网络协议 Linux
centos7部分桥接网络ping不通解决方案
centos7部分桥接网络ping不通解决方案
|
7天前
|
JavaScript Java 关系型数据库
网络在线考试|基于SSM+vue的网络在线考试系统的设计与实现(源码+数据库+文档)
网络在线考试|基于SSM+vue的网络在线考试系统的设计与实现(源码+数据库+文档)
24 0
|
7天前
|
网络协议 Java Linux
CentOS上安装运行XWiKi
CentOS上安装运行XWiKi
10 0
|
7天前
|
Java Linux
CentOS上安装openjdk
CentOS上安装openjdk
11 0

热门文章

最新文章