Linux网络系列--PXE网络装机服务

部署PXE远程安装程序:
PXE是由Inter公司开发的网络引导技术,工作在Client/Server模式,允许在客户机通过网络从远程服务器下载引导镜像,并加载安装文件或者整个操作系统,若要搭建PXE网络体系,必须满足以下几个条件:

  • 客户机的网卡支持PXE协议(继承BOOTROM芯片),且主板支持网络引导。
  • 网络中有一台DHCP服务器以便于为客户机自动分配地址,指定引导文件位置。
  • 服务器通过TFTP(Trivial File Transfer Protocol,简单文件传输协议)提供引导镜像文件的下载
    其中,第一个条件实际上是硬件要求,目前绝大多数服务器和大多数PC都能够提供此支持,只需要在BIOS设置中允许从Network或LAN启动即可,下面将介绍PXE远程安装服务的基本部署过程。

实验环境:一台虚拟机

虚拟机PXE远程安装服务器
操作系统CentOS 7.3
IP地址192.168.1.35
网卡模式VMnet8(NAT模式)

配置主机网卡信息,打开属性并更改网络适配器
网络
更改虚拟网卡网络适配器

虚拟机编辑虚拟网络编辑器
虚拟网络编辑器
更改设置
更改
更改NAT设置

PXE远程安装服务器
更改网卡模式并配置网卡信息,重启并查看
虚拟机网卡模式配置

[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33
BOOTPROTO=none
ONBOOT=yes   //修改
IPADDR=192.168.1.35
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=114.114.114.114   //添加
[root@localhost ~]# systemctl restart network
[root@localhost ~]# ifconfig 
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.1.35  netmask 255.255.255.0  broadcast 192.168.1.255
ping百度域名
测试内网与外网是否连通
[root@localhost ~]# ping baidu.com
PING baidu.com (39.156.69.79) 56(84) bytes of data.
64 bytes from 39.156.69.79 (39.156.69.79): icmp_seq=1 ttl=128 time=47.6 ms
64 bytes from 39.156.69.79 (39.156.69.79): icmp_seq=2 ttl=128 time=55.6 ms
1、挂载镜像并rpm下载安装vsftpd
[root@localhost ~]# mount /dev/sr0 /media/
mount: /dev/sr0 is write-protected, mounting read-only
[root@localhost ~]# cd /media/Packages/
[root@localhost Packages]# rpm -ivh /media/Packages/vsftpd-3.0.2-21.el7.x86_64.rpm
2、创建目录并复制镜像文件到创建的目录下
[root@localhost Packages]# cd
[root@localhost ~]# cd /var/ftp/
[root@localhost ftp]# mkdir centos7
[root@localhost ftp]# cp -r /media/* /var/ftp/centos7/&
3、配置本地YUM
[root@localhost ftp]# cd
[root@localhost ~]# mkdir /yum.repo.bak
[root@localhost ~]# mv /etc/yum.repos.d/* /yum.repo.bak/
[root@localhost ~]# vim /etc/yum.repos.d/yum.repo
[development]
name=yum
baseurl=ftp://192.168.1.35/centos7
enabled=1
gpgcheck=0

本地YUM

4、关闭防火墙,禁止开机自启并降级沙盒
[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# setenforce 0
[root@localhost ~]# systemctl disable firewalld
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
Removed symlink /etc/systemd/system/basic.target.wants/firewalld.service.
5、开启vsftpd服务并添加到系统服务
[root@localhost ~]# systemctl start vsftpd
[root@localhost ~]# systemctl enable vsftpd
Created symlink from /etc/systemd/system/multi-user.target.wants/vsftpd.service to /usr/lib/systemd/system/vsftpd.service.
6、yum下载安装xinetd、tftp-server、dhcp服务
[root@localhost ~]# yum -y install xinetd tftp-server dhcp
7、编辑修改xinetd.d/tftp配置文件并启动xinetd.service服务
[root@localhost ~]# vim /etc/xinetd.d/tftp
        disable                 = no    //14行修改

xinetd配置文件

[root@localhost ~]# systemctl restart xinetd
8、配置DHCP服务并启动DHCP服务,添加到系统服务
[root@localhost ~]# cp /usr/share/doc/dhcp*/dhcpd.conf.example /etc/dhcp/dhcpd.conf
cp: overwrite ‘/etc/dhcp/dhcpd.conf’? y
[root@localhost ~]# vim /etc/dhcp/dhcpd.conf
subnet 192.168.1.0 netmask 255.255.255.0 {
  range 192.168.1.100 192.168.1.200;
  option domain-name-servers ns1.internal.example.org;
  option domain-name "internal.example.org";
  option routers 192.168.1.1;
  option broadcast-address 192.168.1.255;
  default-lease-time 600;
  max-lease-time 7200;
  next-server 192.168.1.35;
  filename "pxelinux.0";   //添加
}   //47行下边修改、添加

dhcp配置文件

[root@localhost ~]# systemctl restart dhcpd
[root@localhost ~]# systemctl enable dhcpd
Created symlink from /etc/systemd/system/multi-user.target.wants/dhcpd.service to /usr/lib/systemd/system/dhcpd.service.
9、切换路径并查看
[root@localhost ~]# cd /var/ftp/centos7/
[root@localhost centos7]# ls
[root@localhost centos7]# cd isolinux/
[root@localhost isolinux]# ls

查看

10、复制配置文件并创建目录
[root@localhost isolinux]# cp vmlinuz initrd.img splash.png vesamenu.c32 /var/lib/tftpboot/
[root@localhost isolinux]# mkdir /var/lib/tftpboot/pxelinux.cfg
11、yum下载安装syslinux软件包
[root@localhost isolinux]# yum -y install syslinux
12、查找pxelinux.0文件的路径,进行复制并修改配置文件
[root@localhost isolinux]# find /usr -name pxelinux.0
/usr/share/syslinux/pxelinux.0
[root@localhost isolinux]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
[root@localhost isolinux]# cp isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default
[root@localhost isolinux]# vim /var/lib/tftpboot/pxelinux.cfg/default
  append initrd=initrd.img inst.repo=ftp://192.168.1.35/centos7 inst.ks=ftp://192.168.1.35/ks.cfg   //64行修改

  append initrd=initrd.img inst.repo=ftp://192.168.1.35/centos7 inst.ks=ftp://192.168.1.35/ks.cfg   //70行修改

tftp配置文件

13、yum下载安装自动配置文件包并修改配置信息
[root@localhost isolinux]# cd
[root@localhost ~]# yum -y install system-config-kickstart.noarch

修改Kickstart
更改Basic Configuration配置
更改Installation Method配置
更改Boot Loader Options配置
更改Partition Information配置
swap交换分区boot系统
/
更改Network Configuration配置
更改Firewall Configuration配置
更改Package Selection配置
保存配置到root
保存

14、查看,移动自动安装文件到ftp目录并开启tftp服务
[root@localhost ~]# ls

ks.cfg

[root@localhost ~]# mv ks.cfg /var/ftp/
[root@localhost ~]# systemctl start tftp
15、查看沙盒状态并修改配置文件
[root@localhost ~]# getenforce
Permissive   //许可
[root@localhost ~]# vim /etc/selinux/config
SELINUX=disabled   //7行修改 SELINUX改为禁止
16、重启虚拟机使其生效并查看
[root@localhost ~]# reboot
[root@localhost ~]# getenforce
Disabled

注意:这里安装的是图形化界面

验证安装
新创一台虚拟机进行验证PXE网络安装创建虚拟机
创建虚拟机
创建虚拟机
创建虚拟机
创建虚拟机
创建虚拟机
创建虚拟机
创建虚拟机
创建虚拟机
开启虚拟机
否
安装CentOS Linux 7
确认后将自动通过网络下载安装文件,并进入图形安装程序界面
等待加载完成
等待加载完成

到此就算自动装完
到这说明PXE网络安装基本成功,接着手动安装

同意协议协议/条款
协议/条款
开启网卡网卡
开启

用户自定用户
完成配置完成
完成
PXE远程网络装机完成。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
引用内容提供了在Linux系统上安装syslinux和配置tftp服务器的步骤,引用内容提供了创建pxelinux.cfg目录的步骤,引用内容提供了保存自动应答软件和编辑引导菜单的步骤。 PXE(Preboot Execution Environment)是一种网络引导协议,可以通过网络服务器上安装和配置操作系统。使用PXE进行Linux装机可以实现批量装机和自动化装机的需求。 在进行Linux PXE装机之前,需要进行以下步骤: 1. 安装syslinux和tftp服务器:使用命令`yum install -y syslinux`安装syslinux,并使用命令`yum install -y tftp-server`安装tftp服务器。 2. 复制pxelinux.0文件到tftp服务器目录:使用命令`cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/`将pxelinux.0文件复制到tftp服务器的目录下。 3. 创建pxelinux.cfg目录:使用命令`mkdir /var/lib/tftpboot/pxelinux.cfg`创建pxelinux.cfg目录,该目录用于存放引导菜单的配置文件。 4. 准备自动应答文件:将自动应答文件(比如ks.cfg)保存到服务器上,可以使用命令`cp /root/anaconda-ks.cfg /var/ftp/ks.cfg`将anaconda-ks.cfg文件复制到/var/ftp/目录下。 5. 编辑引导菜单的配置文件:使用命令`vim /var/lib/tftpboot/pxelinux.cfg/default`编辑引导菜单的配置文件,添加以下内容: ``` default auto prompt 0 label auto kernel vmlinuz append initrd=initrd.img method=ftp://192.168.100.10/centos7 ks=ftp://192.168.100.10/ks.cfg ``` 通过以上步骤,可以实现Linux PXE装机。在客户端上启动时,系统将从tftp服务器上下载引导文件pxelinux.0,然后根据引导菜单的配置文件default进行自动安装,同时使用指定的自动应答文件ks.cfg进行操作系统的配置。 请根据实际需求和网络环境进行相应的配置和调整。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [Linux——轻松学会PXE高效网络装机](https://blog.csdn.net/m0_61744194/article/details/124291052)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [如何使用PXE实现Linux网络装机](https://blog.csdn.net/YsDou/article/details/120143627)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值