一、安装epel
# 下载阿里epel源
curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
# 删除缓存
yum clean all
# 更新缓存
yum makecache
# 查看镜像源列表
yum repolist
二、禁用SELinux

官网文档提示:

禁用SELinux(可选)
在开始学习补鞋匠之前,最好禁用SELinux或将其设置为“宽松”模式,尤其是在您不熟悉SELinux故障排除或修改SELinux策略的情况下。Cobbler不断发展以协助管理新的系统技术,并且操作系统附带的策略有时可能会落后于我们提供的功能集,从而导致AVC拒绝,从而破坏了Cobbler的功能。

#临时关闭,重启后失效,需重新关闭
setenforce 0
# 修改配置文件 禁用SELinux
sed -ri '/SELINUX=/c\SELINUX=disabled' /etc/selinux/config
二、安装cobbler
# 安装cobbler 
yum -y install cobbler
# 安装tftp httpd pyk等
yum -y install tftp-server pykickstart httpd xinetd fence-agents
# 安装Web界面
yum -y install cobbler-web
# 启动httpd cobblerd
systemctl start httpd cobblerd
# 开机自动启动httpd cobblerd
systemctl enable httpd cobblerd
三、配置
# 修改cobbler配置允许动态修改配置
sed -ri '/allow_dynamic_settings:/c\allow_dynamic_settings: 1' /etc/cobbler/settings
# 重启cobbler
systemctl restart cobblerd
# 修改服务器地址为本机
cobbler setting edit --name=server --value=192.168.3.132
cobbler setting edit --name=next_server --value=192.168.3.132
# 启动tftp配置
sed -ri '/disable/c\disable = no' /etc/xinetd.d/tftp
# 开机自动启动xinetd
systemctl enable xinetd
# 启动xinetd
systemctl restart xinetd
# 下载引导文件
cobbler get-loaders
# 启动rsyncd
systemctl start rsyncd
# 开机自动启动rsyncd
systemctl enable rsyncd
# 重启rsyncd
systemctl start rsyncd
# 生成密码密文 密码 admin
openssl passwd -1 -salt `openssl rand -hex 4` 'admin'
# 设置安装完系统初始密码为上面生成的密文
cobbler setting edit --name=default_password_crypted --value='$1$83d1f84f$66OYvUKmdoNf4RdOnzcL/1'
# 重启服务
systemctl restart cobblerd
# 检查配置
cobbler check
# 修改Web密码 Web用户名为cobbler 访问地址为:https://IP/cobbler_web
htdigest /etc/cobbler/users.digest "Cobbler" cobbler
四(1)、无DHCP环境配置DHCP
# 安装dhcp
yum install -y dhcp
# 启用cobbler的dhcp服务
cobbler setting edit --name=manage_dhcp --value=1
# 修改cobbler的dhcp配置
vi /etc/cobbler/dhcp.template

dhcp.template:

...
subnet 192.168.0.0 netmask 255.255.252.0 {    # 网络号 掩码
     option routers             192.168.1.254;  # 网关
     option domain-name-servers 192.168.1.254;  # DNS
     option subnet-mask         255.255.252.0;  # 分配的IP掩码
     range dynamic-bootp        192.168.3.50 192.168.3.80; #分配的IP的范围
...
四(2)、现有DHCP环境配置

使用pxe-pdhcp可以在不修改原有DHCP服务的情况下附加PXE启动
Github链接:https://github.com/frsyuki/pxe-pdhcp

百度云盘:https://pan.baidu.com/s/1-3ZVGoTQD4ukSgCPt2HXtQ 提取码: gbhy

# 安装git
yum install -y git
# 安装开发工具包  编译pxe-pdhcp用
yum group install "Development Tools" -y
# 进入目录
cd /home
# git同步
git clone https://github.com/frsyuki/pxe-pdhcp.git
# 进入目录
cd pxe-pdhcp
# 编译
make
# 启动pxe-pdhcp
./pxe-pdhcp -l 0.0.0.0 -b 255.255.255.255 -t 192.168.3.132 pxelinux.0
# 修改rc.local启动权限
chmod +x /etc/rc.d/rc.local
# 加入开机启动
vi /etc/rc.local

rc.local倒数第二行加入

sudo /home/pxe-pdhcp/pxe-pdhcp -l 0.0.0.0 -b 255.255.255.255 -t 192.168.3.132 pxelinux.0 &

pxe-pdhcp参数:

-i:网卡名称
-l:监听地址 本机的IP地址
-b:广播地址
-t:TFTP地址 PXE服务器地址
最后是启动文件:pxelinux.0是cobbler的启动文件

五、同步配置
# 同步配置
cobbler sync
六、防火墙配置
# 启动服务
systemctl start firewalld.service
# 放行udp 67 68 69端口 tcp 80 443端口
firewall-cmd --zone=public --add-port=67/udp --permanent
firewall-cmd --zone=public --add-port=68/udp --permanent
firewall-cmd --zone=public --add-port=69/udp --permanent
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --zone=public --add-port=443/tcp --permanent
# 重载配置
firewall-cmd --reload
# 查看配置
firewall-cmd --list-all
# 开启自动启动
systemctl enable firewalld.service
七、cobbler命令帮助和Web界面
  1. 命令帮助

命令

说明

cobbler check

核对当前设置是否有问题

cobbler list

列出所有的cobbler元素

cobbler report

列出元素的详细信息

cobbler sync

同步配置到数据目录 更改配置最好都执行一下

cobbler reposync

同步yum仓库

cobbler distro

查看导入的发行版系统信息

cobbler system

查看系统信息

cobbler profile

查看配置信息

  1. Web页面
    使用浏览器访问 https://服务器IP/cobbler_web
    用户名:cobbler 密码:第三章中配置的Web密码

centos7 安装privoxy centos7 pe安装_上传

八、配置Centos7安装(可选)
# 创建并进入下载目录
mkdir -p /home/sysiso && cd /home/sysiso
# 安装wget
yum install -y wget
# 下载Centos7
wget http://mirrors.aliyun.com/centos/7/isos/x86_64/CentOS-7-x86_64-Minimal-2003.iso
# 创建挂载目录
mkdir -p /mnt/centos.7.2003
# 挂载镜像
mount -t iso9660 -o loop /home/sysiso/CentOS-7-x86_64-Minimal-2003.iso /mnt/centos.7.2003
# 导入镜像
cobbler import --path=/mnt/centos.7.2003 --name=CentOS7-2003 --arch=x86_64
# 查看安装配置
cobbler profile report --name=CentOS7-2003-x86_64
# 进入ks文件目录
cd /var/lib/cobbler/kickstarts/
# 复制一份ks模板
cp sample_end.ks centos7.2003.ks
# 修改ks文件 根据需要修改ks无人值守文件 
vi centos7.2003.ks

Ks文件语法参考: https://access.redhat.com/documentation/zh-cn/red_hat_enterprise_linux/7/html/installation_guide/sect-kickstart-syntax

ks文件参考:

auth  --useshadow  --enablemd5
bootloader --location=mbr
clearpart --all --initlabel
text
firewall --enabled
firstboot --disable
keyboard us
lang en_US
url --url=$tree
$yum_repo_stanza
$SNIPPET('network_config')
reboot

rootpw --iscrypted $default_password_crypted
selinux --disabled
skipx
timezone  Asia/Shanghai
install
zerombr
autopart

%pre
$SNIPPET('log_ks_pre')
$SNIPPET('kickstart_start')
$SNIPPET('pre_install_network_config')
# Enable installation monitoring
$SNIPPET('pre_anamon')
%end

%packages
$SNIPPET('func_install_if_enabled')
%end

%post --nochroot
$SNIPPET('log_ks_post_nochroot')
%end

%post
$SNIPPET('log_ks_post')
$yum_config_stanza
$SNIPPET('post_install_kernel_options')
$SNIPPET('post_install_network_config')
$SNIPPET('func_register_if_enabled')
$SNIPPET('download_config_files')
$SNIPPET('koan_environment')
$SNIPPET('redhat_register')
$SNIPPET('cobbler_register')
$SNIPPET('post_anamon')
$SNIPPET('kickstart_done')
%end
# 使用ks文件
cobbler profile edit --name=CentOS7-2003-x86_64 --kickstart=/var/lib/cobbler/kickstarts/centos7.2003.ks
# 同步
cobbler sync

计算机从网卡启动后选择CentOS7-2003-x86_64后自动安装,安装完成后密码为第三章内设定的初始密码

九、配置安装自定义wim系统(首选)
  1. 配置smb服务
    参考:Centos7 配置samba服务(Windows共享) 配置共享目录 share 可匿名读取 管理员上传
  2. centos7 安装privoxy centos7 pe安装_centos7 安装privoxy_02

  3. 在服务器share共享目录内创建iso、tools、wim、install目录
mkdir -p /home/share/iso
mkdir -p /home/share/tools
mkdir -p /home/share/wim
mkdir -p /home/share/install

centos7 安装privoxy centos7 pe安装_服务器_03

  1. 下载EIX恢复工具
    IT天空:Easy Image X v2 3.1. 解压EasyImageX2_2.19.827.1718.zip后上传EasyImageX2.exe和EasyImageX2.ini文件至share/tools目录
  2. centos7 安装privoxy centos7 pe安装_centos7 安装privoxy_04

  3. 3.2. 修改EasyImageX2.ini文件末尾增加镜像搜索配置

;搜索映射的wim目录
ImageDir=z:\wim

centos7 安装privoxy centos7 pe安装_Windows_05

  1. 下载傲梅分区助手
    傲梅分区助手:https://www.disktool.cn/download.html
  2. centos7 安装privoxy centos7 pe安装_centos7 安装privoxy_06

  3. 下载傲梅分区助手PE版32位压缩包,解压后上传PA_WinPE目录至share/tools目录
  4. centos7 安装privoxy centos7 pe安装_上传_07

  5. 上传自己的wim文件至share/wim目录
  6. centos7 安装privoxy centos7 pe安装_服务器_08

  7. 设置权限允许客户执行tools目录内的程序
# 服务器端设置权限允许客户执行tools目录内的程序
chmod -R +x /home/share/tools
  1. 定制Windows预安装环境
    7.1. 安装Windows ADK 和 Windows ADK Windows PE
    微软下载连接:https://docs.microsoft.com/zh-cn/windows-hardware/get-started/adk-install#winADK
  2. centos7 安装privoxy centos7 pe安装_Windows_09

  3. 7.2. 启动部署和映像工具环境
  4. centos7 安装privoxy centos7 pe安装_Windows_10

  5. 7.3. 制作PE

7.3.1. 生成PE目录并挂载

REM 复制32位PE文件 至 d:\winpe_x86_wim 
copype x86 d:\winpe_x86_wim
REM 挂载映像
dism /Mount-Image /ImageFile:"d:\winpe_x86_wim\media\sources\boot.wim" /index:1 /MountDir:"d:\winpe_x86_wim\mount"

7.3.2. 如果客户机有特殊驱动(某些网卡)需要添加执行以下命令添加或通过dism++添加多个驱动

REM 特殊驱动添加  d:\driver\driver.inf为驱动inf文件
dism /Add-Driver /Image:"d:\winpe_x86_wim\mount" /Driver:"d:\driver\driver.inf"

7.3.3. 根据配置的smb服务修改PE启动脚本:D:\winpe_x86_wim\mount\Windows\System32\startnet.cmd

centos7 安装privoxy centos7 pe安装_服务器_11

wpeinit

REM ping服务器地址来做延时
ping -n 10 -l 69 192.168.3.132

REM 映射smb服务器共享为z盘
net use z: \\192.168.3.132\share

REM 进入z盘
z:

REM 进入tools目录
cd tools

REM 启动分区助手
start .\PA_WinPE\StartPartAssist.exe

REM 启动EIX2
EasyImageX2.exe

7.3.4. 删除D:\winpe_x86_wim\media\Boot\bootfix.bin文件(这个文件会导致加载iso镜像后需要5秒内按键才会启动)

centos7 安装privoxy centos7 pe安装_上传_12

7.3.5. 继续在部署和映像工具环境内输入命令

REM 添加中文语言包  PackagePath路径为自己的ADK安装路径
Dism /Add-Package /Image:"d:\winpe_x86_wim\mount" /PackagePath:"D:\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\x86\WinPE_OCs\zh-cn\lp.cab"
Dism /Add-Package /Image:"d:\winpe_x86_wim\mount" /PackagePath:"D:\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\x86\WinPE_OCs\WinPE-FontSupport-ZH-CN.cab"
REM 设置默认语言
Dism /Set-AllIntl:zh-CN /Image:"d:\winpe_x86_wim\mount"
REM 保存并卸载映像
Dism /Unmount-Image /MountDir:"d:\winpe_x86_wim\mount" /commit
REM 制作iso文件
MakeWinPEMedia /ISO d:\winpe_x86_wim d:\winpe_x86_wim\Windows_Install_PE_x86.iso
  1. 上传PE ISO镜像
    利用刚架设的smb服务直接上传至share/iso目录
  2. centos7 安装privoxy centos7 pe安装_服务器_13

  3. cobbler配置自定义wim安装
# 导入ISO
cobbler distro add --name=Windows_Install_PE --kernel=/var/lib/tftpboot/memdisk --initrd=/home/share/iso/Windows_Install_PE_x86.iso --kopts="raw iso"
# 创建空白无人值守文件
touch /var/lib/cobbler/kickstarts/winpe.xml
# 创建ks配置 使用空白文件
cobbler profile add --name=Windows_Install_PE --distro=Windows_Install_PE --kickstart=/var/lib/cobbler/kickstarts/winpe.xml
# 同步
cobbler sync
  1. 启动测试
十、配置Windows10原盘安装(可选)
  1. 配置smb服务(参考九.1 已经配置过的不用重复配置)
    参考:Centos7 配置samba服务(Windows共享) 配置共享目录 share 可匿名读取 管理员上传
  2. 在服务器share共享目录内创建iso、tools、wim、install目录(参考九.2 已经配置过的不用重复配置)
mkdir -p /home/share/iso
mkdir -p /home/share/tools
mkdir -p /home/share/wim
mkdir -p /home/share/install
  1. 在服务器share/install目录创建目录win10.1909.2020.01,双击挂载windows镜像文件并复制内容至服务器share/install/win10.1909.2020.01目录
    windows镜像自行去msdn我告诉你下载:MSDN我告诉你
  2. 设置权限允许客户执行安装
# 服务器端设置权限允许客户执行安装
chmod -R +x /home/share/install
  1. 定制Windows预安装环境
    5.1. 安装Windows ADK 和 Windows ADK Windows PE (参考九.7.1 已经配置过的不用重复配置)
    微软下载连接:https://docs.microsoft.com/zh-cn/windows-hardware/get-started/adk-install#winADK 5.2. 启动部署和映像工具环境(参考九.7.2 已经配置过的不用重复配置)

5.3. 制作PE

5.3.1. 生成PE目录

REM 复制64位PE文件 至 d:\winpe
copype amd64 d:\winpe
REM 挂载映像
dism /Mount-Image /ImageFile:"d:\winpe\media\sources\boot.wim" /index:1 /MountDir:"d:\winpe\mount"

5.3.2. 如果客户机有特殊驱动(某些网卡)需要添加执行以下命令添加或通过dism++添加多个驱动

REM 特殊驱动添加  d:\driver\driver.inf为驱动inf文件
dism /Add-Driver /Image:"d:\winpe\mount" /Driver:"d:\driver\driver.inf"

5.3.3. 根据配置的smb服务修改PE启动脚本:D:\winpe\mount\Windows\System32\startnet.cmd

wpeinit
REM ping服务器地址来做延时
ping -n 7 -l 69 192.168.3.132
REM 映射smb服务器共享为Z盘
net use z: \\192.168.3.132\share
REM 进入Z盘
Z:
REM 进入win10安装目录
cd install
cd win10.1909.2020.01
REM 启动安装
setup.exe

5.3.4. 删除D:\winpe_wim\media\Boot\bootfix.bin文件(这个文件会导致加载iso镜像后需要5秒内按键才会启动)
5.3.5. 继续在部署和映像工具环境内输入命令

REM 添加中文语言包  PackagePath路径为自己的ADK安装路径
Dism /Add-Package /Image:"d:\winpe\mount" /PackagePath:"D:\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\zh-cn\lp.cab"
Dism /Add-Package /Image:"d:\winpe\mount" /PackagePath:"D:\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\WinPE-FontSupport-ZH-CN.cab"
REM 设置默认语言
Dism /Set-AllIntl:zh-CN /Image:"d:\winpe\mount"
REM 保存并卸载映像
Dism /Unmount-Image /MountDir:"d:\winpe\mount" /commit
REM 制作iso文件
MakeWinPEMedia /ISO d:\winpe d:\winpe\Win10Install.iso
  1. 上传PE ISO镜像
    利用刚架设的smb服务直接上传至share/iso目录
  2. cobbler配置windows安装
# 导入ISO
cobbler distro add --name=Windows10.1909.2020.01.x64 --kernel=/var/lib/tftpboot/memdisk --initrd=/home/share/iso/Win10Install.iso --kopts="raw iso"
# 创建空白无人值守文件
touch /var/lib/cobbler/kickstarts/winpe.xml
# 创建ks配置 使用空白文件
cobbler profile add --name=Windows10.1909.2020.01.x64 --distro=Windows10.1909.2020.01.x64 --kickstart=/var/lib/cobbler/kickstarts/winpe.xml
# 同步
cobbler sync
十一、配置维护PE(可选)

优启通:https://www.itsk.com/thread-411222-1-1.html

  1. 使用优启通生成PE ISO镜像
  2. 上传PE ISO镜像至服务器share/iso目录
  3. 配置cobbler
# 导入ISO
cobbler distro add --name=EasyU --kernel=/var/lib/tftpboot/memdisk --initrd=/home/share/iso/EasyU_v3.6.iso --kopts="raw iso"
# 创建空白无人值守文件
touch /var/lib/cobbler/kickstarts/winpe.xml
# 创建ks配置 使用空白文件
cobbler profile add --name=EasyU --distro=EasyU --kickstart=/var/lib/cobbler/kickstarts/winpe.xml
# 同步
cobbler sync