PXE网络无人值守装机

  1. 项目目标:PXE实现局域网络中裸机自动安装Linux操作系统。

  2. 项目要求:

  1. 在局域网192.168.11.0/24 内部署一台 PXE 装机服务器(CentOS 6.5系统)

  2. 提供带图片背景的PXE选择菜单,支持为客户机裸机装配64位的CentOS 6.5、RHEL 5.9 操作系统:

  1. 倒计时30秒,若未选择则默认安装RHEL 5.9系统(kickstart自动应答)

  2. 添加进RHEL5的rescue救援模式的菜单项

  3. 从本地硬盘启动的菜单项

  1. 客户机装配过程实现全自动应答(kickstart 无人值守),并且为装好的客户机做如下调整:

  1. 自动配置好yum 仓库、主机名(stationX.tarena.com)、IP地址

  2. 添加一个名为myadm 的管理员用户(具有root权限),密码设为pwd123

  3. 配置可匿名上传、禁用本地用户的vsftpd 服务,设为开机自运行

  1. 所涉及的软件源均通过HTTP 方式提供给各客户机

环境设定:网络域为test.net;网络网段为192.168.11.0/24,服务器名为pxesvr.test.net服务器地址为192.168.11.254。

  1. 实现步骤:

  1. 配置服务器网络参数

[root@pxesvr ~]# vim /etc/sysconfig/network

NETWORKING=yes

HOSTNAME=pxesvr.test.net

[root@pxesvr ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0

HWADDR=00:0C:29:5F:F1:6A

TYPE=Ethernet

UUID=bac27caf-cc9c-4992-bc86-4d3ecdf5e4d9

ONBOOT=yes

NM_CONTROLLED=no

BOOTPROTO=static

IPADDR=192.168.11.254

NETMASK=255.255.255.0

[root@pxesvr ~]# service network restart

[root@pxesvr ~]# service iptables stop

[root@pxesvr ~]# chkconfig iptables off

[root@pxesvr ~]# vim /etc/selinux/config

SELINUX=disabled

SELINUXTYPE=targeted

[root@pxesvr ~]# setenforce 0

  1. 搭建YUM源

    1. 安装httpd服务:

[root@pxesvr ~]# yum -y install httpd

[root@pxesvr ~]# service httpd start

[root@pxesvr ~]# chkconfig httpd on

  1. 拷贝系统安装文件:

[root@pxesvr ~]# mkdir /var/www/html/{centos6,rhel5}

插入CentOS 6.5光盘

[root@pxesvr ~]# cp -rf /misc/cd/* /var/www/html/centos6/

切换RHEL 5.10光盘

[root@pxesvr ~]# cp -rf /misc/cd/* /var/www/html/rhel5/

  1. 编制centos.repo并复制一份放置至网站根目录以便其他客户机(CentOS6.5)获取

[root@pxesvr ~]# vim /etc/yum.repos.d/centos.repo

[centos]

name=CentOS 6

baseurl=http://pxesvr.test.net/centos6/

enabled=1

gpgcheck=0

  1. 编制centos.repo放置至网站根目录以便客户机(RHEL5.9)获取

[root@pxesvr ~]# vim /var/www/html/rhel.repo

[rhel]

name=RHEL

baseurl=http://pxesvr.test.net/rhel5/Server/

enabled=1

gpgcheck=0

  1. 安装配置DHCP服务

[root@pxesvr ~]# yum install -y dhcp

[root@pxesvr ~]# vim /etc/dhcp/dhcpd.conf

option domain-name "test.net";

option domain-name-servers pxesvr.test.net;

subnet 192.168.11.0     netmask 255.255.255.0 {

range   192.168.11.1    192.168.11.250;

option  routers 192.168.11.254;

}

[root@pxesvr ~]# service dhcpd start

[root@pxesvr ~]# chkconfig dhcpd on

  1. 安装配置DNS服务

[root@pxesvr ~]# yum install -y bind bind-chroot

[root@pxesvr ~]# vim /var/named/chroot/etc/named.conf

options {

directory "/var/named";

};

zone "test.net" IN {

type   master;

file   "test.net.zone";

};

zone "11.168.192.in-addr.arpa" IN {

type   master;

file   "192.168.11.arpa";

};

[root@pxesvr ~]# vim /var/named/chroot/var/named/test.net.zone

$TTL    84600

@       IN     SOA     test.net.       root.test.net. (

2014072201

8H

2H

4H

1D

)

@       IN     NS      pxesvr.test.net.

http    IN      A      192.168.11.254

ftp     IN      A      192.168.11.254

tftp    IN      A      192.168.11.254

pxesvr  IN      A      192.168.11.254

$GENERATE 1-200 station$ IN A 192.168.11.$

[root@pxesvr ~]# vim /var/named/chroot/var/named/192.168.11.arpa

$TTL    84600

@       SOA     test.net.       root.test.net. (

2014072201

8H

2H

4H

1D

)

@       IN     NS      test.net.

254     IN     PTR     pxesvr.test.net.

$GENERATE 1-200 $ IN PTR station$.test.net.

[root@pxesvr ~]# service named start

[root@pxesvr ~]# chkconfig named on

  1. 安装配置TFTP服务及PXE

    1. 安装启动TFTP

[root@pxesvr ~]# yum install -y tftp-server

[root@pxesvr ~]# chkconfig tftp on

[root@pxesvr ~]# service xinetd start

[root@pxesvr ~]# chkconfig xinetd on

  1. 准备客户机网络启动所需文件(vmlinuz, inittrd.img)

[root@pxesvr ~]# mkdir /var/lib/tftpboot/{centos,rhel}

[root@pxesvr ~]# cp /var/www/html/centos6/isolinux/{vmlinuz,initrd.img} /var/lib

/tftpboot/centos/

[root@pxesvr ~]# cp /var/www/html/rhel5/isolinux/{vmlinuz,initrd.img} /var/lib

/tftpboot/rhel/

  1. 准备PXE配置文件、网络启动文件及图形菜单相关文件

[root@pxesvr ~]#yum install -y syslinux

[root@pxesvr ~]# cp /usr/share/syslinux/{pxelinux.0,vesamenu.c32} /var/lib/tftpboot/

[root@pxesvr ~]# mkdir /var/lib/tftpboot/pxelinux.cfg

[root@pxesvr ~]# cp /var/www/html/centos6/isolinux/isolinux.cfg /var/lib

/tftpboot/pxelinux.cfg/default

[root@pxesvr ~]# vim /var/lib/tftpboot/pxelinux.cfg/default

UI vesamenu.c32

timeout 600

menu background a.jpg       //此图像自定义,放置在/var/lib/tftp/目录下

menu title Welcome to  Linux Installation!

label RedHat Enterprise Linux

menu label ^Install RHEL5

menu default

kernel rhel/vmlinuz

append ks=http://192.168.11.254/rhel5/ks.cfg  initrd=rhel/initrd.img

label RHEL5 Rescue

menu label RHEL5 Rescue ^Mode

kernel rhel/vmlinuz

append initrd=rhel/initrd.img rescue

label CentOS 6

menu label Install^CentOS 6

kernel centos/vmlinuz

append ks=http://192.168.11.254/centos6/ks.cfg  initrd=centos/initrd.img

label Boot from Local

local boot 1

  1. 编辑dhcp配置文件,添加tftp服务地址及网络启动文件信息

[root@pxesvr ~]# vim /etc/dhcp/dhcpd.conf

option domain-name "test.net";

option domain-name-servers pxesvr.test.net;

subnet 192.168.11.0     netmask 255.255.255.0 {

range   192.168.11.1    192.168.11.250;

option routers 192.168.11.254;

next-server    192.168.11.254;

filename       "pxelinux.0";

}

[root@pxesvr ~]# service dhcpd restart

  1. 制作Kickstart无人值守脚本

    1. 制作CentOS ks脚本

[root@pxesvr ~]# yum install -y system-config-kickstart

[root@pxesvr ~]# system-config-kickstart

制作完成的脚本保存至/var/www/html/centos6/ks.cfg如下:

firewall --disabled

install

url --url="http://192.168.11.254/centos6/"

rootpw --iscrypted $1$1R/sO31L$YjlWwUaUhBRpa.PhLik231

auth --useshadow  --passalgo=sha512

text

firstboot --disable

keyboard us

lang zh_CN

selinux --disabled

logging --level=info

timezone Asia/Shanghai

network --bootproto=dhcp --device=eth0 --onboot=on

bootloader --location=mbr

zerombr

clearpart --all --initlabel

part /boot --fstype="ext4" --size=200

part swap --fstype="swap" --size=2048

part / --fstype="ext4" --grow --size=1

%post --interpreter=/bin/bash

rm -rf /etc/yum.repos.d/*

wget http://pxesvr.test.net/centos.repo -O /etc/yum.repos.d/centos.repo

yum clean all

yum install -y vsftpd

wget http://pxesvr.test.net/vsftpd.conf -O /etc/vsftpd/vsftpd.conf

chmod 757 /var/ftp/pub/

service vsftpd restart

chkconfig vsftpd on

useradd -u 0 -o myadm

echo pwd123 | passwd --stdin myadm

%end

%packages

@basic-desktop

@chinese-support

@desktop-debugging

@desktop-platform

@fonts

@general-desktop

@graphical-admin-tools

@input-methods

@legacy-x

@remote-desktop-clients

@x11

%end

  1. 制作RHEL ks脚本

[root@rhel ~]# yum install -y system-config-kickstart

[root@rhel ~]# system-config-kickstart

制作完成的脚本保存至/var/www/html/centos6/ks.cfg如下:

auth --useshadow  --enablemd5

bootloader --location=mbr

zerombr

clearpart --all --initlabel

text

firewall --disabled

firstboot --disable

key 2515dd4e215225dd

keyboard us

lang zh_CN

logging --level=info

url --url=http://192.168.11.254/rhel5/

network --bootproto=dhcp --device=eth0 --onboot=on

reboot

rootpw --iscrypted $1$dwY1zvXs$SlYtPTfRSrhJBLL8wJJCl1

selinux --disabled

timezone Asia/Shanghai

install

xconfig --defaultdesktop=GNOME --depth=8 --resolution=640x480

part /boot --bytes-per-inode=4096 --fstype="ext3" --size=200

part swap --bytes-per-inode=4096 --fstype="swap" --size=2049

part / --bytes-per-inode=4096 --fstype="ext3" --grow --size=1

%post --interpreter=/bin/bash

rm -rf /etc/yum.repos.d/*

wget http://192.168.11.254/rhel.repo -O /etc/yum.repos.d/rhel.repo

yum clean all

yum install -y vsftpd

wget http://192.168.11.254/vsftpd.conf -O /etc/vsftpd/vsftpd.conf

chmod 757 /var/ftp/pub/

service vsftpd restart

chkconfig vsftpd on

useradd -u 0 -o myadm

echo pwd123 | passwd --stdin myadm

wget http://192.168.11.254/rhel5/inittab -O /etc/

init 6

%packages

@chinese-support

@gnome-desktop

@base-x

  1. 项目实施完毕。

转载于:https://blog.51cto.com/paundudo/1530264

PXE网络无人值守装机相关推荐

  1. Linux 自动化部署安装 《PXE网络无人值守安装 》

    网络无人值守安装 网络无人值守安装 网络无人值守安装的作用 网络无人值守安装的流程简介 DHCP的部署 dhcp简介 配置 DHCP 配置 TFTP 部署Kickstart 文件 测试: 网络无人值守 ...

  2. PXE网络批量装机+Kickstart无人值守安装

    1.什么是PXE? PXE( Preboot eXecution Environment,预启动执行环境 )是由Inter公司开发的网络引导技术,工作在Client/Server模式,允许客户机通过网 ...

  3. PXE网络引导装机原理介绍

    作为计算机专业的学生,上学期间总是被亲戚朋友叫来解决电脑问题,比如装系统,选购电脑,配置路由器,电脑蓝屏等等.特别是帮一些女同学装系统,练就了一身的装系统能力. 大学时候装系统都是利用U盘进行装机(光 ...

  4. PXE+Kickstart 无人值守装机

                                                                                    PXE一键装机   PXE(Preboo ...

  5. rhel6 PXE网络装机和Kickstart无人值守安

    ################################PXE################################## pxe-server ifconfig(192.168.2. ...

  6. YUM仓库服务与PXE网络装机无人值守

    YUM概述 1.YUM,Yellow dog Updater Modified 基于RPM包构建的软件更新机制 可以自动解决依赖关系 所有软件包由集中的YUM软件仓库提供 2.软件仓库的提供方式 FT ...

  7. Linux6.4通过PXE网络装机

    搭建PXE远程安装服务器 准备RHEL6安装源 [root@localhost ~]# mkdir/var/ftp/rhel6 [root@localhost ~]# cp -rf/media/* / ...

  8. linux 网络装机,如何搭建和配置PXE网络装机服务

    如何搭建和配置PXE网络装机服务 发布时间:2020-06-01 22:31:50 来源:亿速云 阅读:309 作者:鸽子 首先需要安装基于UDP协议的TFTP服务端,来进行后期的简单文件的网络传输, ...

  9. PXE配合Kickstart无人值守装机

    PXE配合Kickstart无人值守装机 一.PXE概述 二.PXE批量部署的优点 三.部署PXE远程安装服务 四.搭建PXE远程安装服务器 1.安装并启用TFTP 服务 2.安装并启用DHCP服务 ...

最新文章

  1. android 横竖屏限制如何配置
  2. R语言构建ElasticNet回归模型实战:基于mtcars数据集
  3. mac pdf去水印_今天才知道,Word、PDF文档去水印这么简单!一键水印说拜拜
  4. spark 源码分析之十三 -- SerializerManager剖析
  5. LeetCode:204. 计数质数
  6. C++:拷贝构造函数与深/浅拷贝
  7. guassdb200 single node deployment
  8. 专访余承东:华为引领行业进步 折叠屏手机即将上市
  9. python3.5安装教程及环境配置_Python安装和环境配置教程
  10. Oracle DBA课程系列笔记(4)
  11. SQL数据库收缩日志
  12. 使用PHP脚本远程部署git项目
  13. Mac系统Option键的妙用,能够极大提升你的效率
  14. tomcat利用setenv对内存的限制和docker中tomcat内存的优雅配置
  15. 2022大厂高频面试题之CSS篇
  16. Guice 依赖注入
  17. 大气压随温度变化表_【请求提供地球大气的气压和温度随高度变化的数据,最好提供曲线图.】作业帮...
  18. Oracle sql语句 待新增(新增字段)
  19. 计算机图片怎样存在桌面上,电脑桌面上怎么放照片
  20. 配色三部曲-你真懂颜色了吗?

热门文章

  1. 第八届全球游戏大会(GMGC北京2019)
  2. 让Windows Server 2008 + IIS 7+ ASP.NET 支持10万并发请求
  3. 《Git in Practice》作者访谈:关于Git的八个问题
  4. sparkContext之一:sparkContext的初始化分析
  5. TimerHandler的简单应用
  6. 如何有效地提升 JavaScript 水平?
  7. arcgis的server不可用
  8. 新版 apache_2.0.54 php-5.0.4 mysql-4.1.12a 组合安装向导(原创)
  9. 基于组件的.NET软件开发(3)
  10. LCUI.css 0.1.2 发布, 基于 LCUI 开发的 UI 组件库