LINUX从零开始——SERVICES(系统&服务管理进阶)——Day5 [批量装机环境、配置PXE引导、kickstart自动应答、Cobbler装机平台]

一、环境准备
1.还原快照,开启虚拟机A,以root用户登录,今天只需一台机器

二 、所有机器进行环境设置
1.防火墙设置:
[root@A ~]# firewall-cmd --set-default-zone=trusted
[root@A ~]# firewall-cmd --get-default-zone

2.设置SELinux运行模式为宽松
[root@A ~]# getenforce
Enforcing
[root@A ~]# setenforce 0 #设置当前系统SELinux为宽松
[root@A ~]# getenforce #查看当前系统SELinux运行模式
Permissive
[root@A ~]# vim /etc/selinux/config
SELINUX=permissive

三、综合项目
在这里插入图片描述

要求:
1.在Web1机器上构建Web服务,实现基于域名的虚拟Web主机,提供www.163.com与www.qq.com两个网站
2.在Web2机器上构建Web服务,实现基于域名的虚拟Web主机,提供www.163.com与www.qq.com两个网站
3.客户端192.168.4.207访问www.163.com与www.qq.com两个网站,有Web1服务器提供
4.客户端192.168.4.208访问www.163.com与www.qq.com两个网站,有Web2服务器提供
5.在192.168.4.7上实现DNS分离解析

虚拟机C:构建Web服务器
1.安装软件包
[root@C ~]# yum -y install httpd

2.建立调用配置文件
[root@C ~]# vim /etc/httpd/conf.d/nsd01.conf
<VirtualHost *:80>
ServerName www.qq.com
DocumentRoot /var/www/qq

<VirtualHost *:80>
ServerName www.163.com
DocumentRoot /var/www/163

3.建立网页文件
[root@C ~]# mkdir /var/www/qq /var/www/163
[root@C ~]# echo ‘Web1 QQ’ > /var/www/qq/index.html
[root@C ~]# echo ‘Web1 163’ > /var/www/163/index.html
[root@C ~]# systemctl restart httpd

虚拟机D:构建Web服务器
1.安装软件包
[root@D ~]# yum -y install httpd

2.建立调用配置文件
[root@D ~]# vim /etc/httpd/conf.d/nsd01.conf
<VirtualHost *:80>
ServerName www.qq.com
DocumentRoot /var/www/qq

<VirtualHost *:80>
ServerName www.163.com
DocumentRoot /var/www/163

3.建立网页文件
[root@D ~]# mkdir /var/www/qq /var/www/163
[root@D ~]# echo ‘Web2 QQ’ > /var/www/qq/index.html
[root@D ~]# echo ‘Web2 163’ > /var/www/163/index.html
[root@D ~]# systemctl restart httpd

虚拟机A:构建DNS服务器

客户端为192.168.4.207-------》192.168.4.10
客户端为any-------》192.168.4.20

1.安装软件包
[root@A ~]# yum -y install bind bind-chroot

2.修改主配置文件
[root@A ~]# cp /etc/named.conf /etc/named.bak
[root@A ~]# vim /etc/named.conf
options {
directory “/var/named”;
};
view “nsd” {
match-clients { 192.168.4.207; };
zone “qq.com” IN {
type master;
file “qq.com.zone”;
};
zone “163.com” IN {
type master;
file “163.com.zone”;
};
};
view “other” {
match-clients { any; };
zone “qq.com” IN {
type master;
file “qq.com.other”;
};
zone “163.com” IN {
type master;
file “163.com.other”;
};
};

3.建立地址库文件
[root@A ~]# cd /var/named/
[root@A named]# cp -p named.localhost qq.com.zone
[root@A named]# vim qq.com.zone
$TTL 1D
@ IN SOA @ rname.invalid. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
qq.com. NS a
a A 192.168.4.7
www A 192.168.4.10

[root@A named]# cp -p qq.com.zone 163.com.zone
[root@A named]# vim 163.com.zone
$TTL 1D
@ IN SOA @ rname.invalid. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
163.com. NS a
a A 192.168.4.7
www A 192.168.4.10

[root@A named]# cp -p qq.com.zone qq.com.other
[root@A named]# vim qq.com.other
$TTL 1D
@ IN SOA @ rname.invalid. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
qq.com. NS a
a A 192.168.4.7
www A 192.168.4.20

[root@A named]# cp -p 163.com.zone 163.com.other
[root@A named]# vim 163.com.other
$TTL 1D
@ IN SOA @ rname.invalid. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
163.com. NS a
a A 192.168.4.7
www A 192.168.4.20

[root@A /]# systemctl restart named

所有虚拟机进行DNS服务器的指定:
echo nameserver 192.168.4.7 > /etc/resolv.conf

虚拟机客户端测试:
[root@localhost ~]# ifconfig | head -2
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.4.208 netmask 255.255.255.0 broadcast 192.168.4.255
[root@localhost ~]# nslookup www.qq.com
Server: 192.168.4.7
Address: 192.168.4.7#53

Name: www.qq.com
Address: 192.168.4.20
[root@localhost ~]# nslookup www.163.com
Server: 192.168.4.7
Address: 192.168.4.7#53

Name: www.163.com
Address: 192.168.4.20

[root@localhost ~]# curl www.qq.com
Web2 QQ
[root@localhost ~]# curl www.163.com
Web2 163
[root@localhost ~]#

另一台客户端就测试
[root@B ~]# ifconfig | head -2
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.4.207 netmask 255.255.255.0 broadcast 192.168.4.255
[root@B ~]# nslookup www.qq.com
Server: 192.168.4.7
Address: 192.168.4.7#53

Name: www.qq.com
Address: 192.168.4.10

[root@B ~]# nslookup www.163.com
Server: 192.168.4.7
Address: 192.168.4.7#53

Name: www.163.com
Address: 192.168.4.10
[root@B ~]# curl www.qq.com
Web1 QQ
[root@B ~]# curl www.163.com
Web1 163

#################################################################################################################
四、部署DHCP服务器

•Dynamic Host Configuration Protocol
–动态主机配置协议,由 IETF(Internet 网络工程师任务小组)组织制定,用来简化主机地址分配管理

•主要分配以下入网参数
–IP地址/子网掩码/广播地址
–默认网关地址、DNS服务器地址

•DHCP地址分配的四次会话(以广播进行,先到先得)
–DISCOVERY --> OFFER --> REQUEST -->ACK
一个网络中只能有一台DHCP服务器

•服务端基本概念
–租期:允许客户机租用IP地址的时间期限,单位为秒
–作用域:分配给客户机的IP地址所在的网段
–地址池:用来动态分配的IP地址的范围

虚拟机A:
1.安装软件包
[root@A /]# yum -y install dhcp
[root@A /]# rpm -q dhcp
dhcp-4.2.5-68.el7.centos.x86_64
2.修改主配置文件
[root@A /]# vim /etc/dhcp/dhcpd.conf
末行模式下 :r /usr/share/doc/dhcp*/dhcpd.conf.example #读入其他文本文件内容

#DHCP Server Configuration file.
#see /usr/share/doc/dhcp*/dhcpd.conf.example**
#see dhcpd.conf(5) man page
subnet 192.168.4.0 netmask 255.255.255.0 { #分配的网段
range 192.168.4.100 192.168.4.200; #分配的IP地址范围
option domain-name-servers 192.168.4.7; #分配的DNS服务器地址
option routers 192.168.4.254; #分配的网关地址
default-lease-time 600; #默认的租期时间
max-lease-time 7200; #最大的租期时间
}
[root@A /]# systemctl restart dhcpd
[root@A /]# systemctl status dhcpd
● dhcpd.service - DHCPv4 Server Daemon
Loaded: loaded (/usr/lib/systemd/system/dhcpd.service; disabled; vendor preset: disabled)
Active: active (running)

#################################################################################################################
五、网络装机服务器概述

网络装机的优势
•规模化:同时装配多台主机
•自动化:装系统、配置各种服务
•远程实现:不需要光盘、U盘等物理安装介质

•PXE,Pre-boot eXecution Environment
–预启动执行环境,在操作系统之前运行
–可用于远程安装

•工作模式
–PXE client 集成在网卡的启动芯片中
–当计算机引导时,从网卡芯片中把PXE client调入内存执行,获取PXE server配置、显示菜单,根据用户选择将远程引导程序下载到本机运行

•服务端需要哪些服务组件?
–DHCP服务,分配IP地址、定位引导程序
–TFTP服务,提供引导程序下载
–HTTP服务(或FTP/NFS),提供yum安装源

•客户机应具备的条件
–网卡芯片必须支持PXE协议
–主板支持从网卡启动
在这里插入图片描述

#################################################################################################################
六、网络装机服务器搭建

一、DHCP服务器构建

[root@A /]# vim /etc/dhcp/dhcpd.conf
subnet 192.168.4.0 netmask 255.255.255.0 {
range 192.168.4.100 192.168.4.200;
option domain-name-servers 192.168.4.7;
option routers 192.168.4.254;
default-lease-time 600;
max-lease-time 7200;
next-server 192.168.4.7; #指定下一个服务器IP地址
filename “pxelinux.0”; #指定网卡引导文件名称
}
[root@A /]# systemctl restart dhcpd

pxelinux.0:网卡引导文件(安装说明书) 二进制文件 安装一个软件即可获得此文件

二、构建TFTP服务

   TFTP:简单文件传输协议    默认端口:69
   默认TFTP共享数据的地方:/var/lib/tftpboot

1.安装软件包
[root@A /]# yum -y install tftp-server
[root@A /]# systemctl restart tftp
[root@A /]# systemctl status tftp
● tftp.service - Tftp Server
Loaded: loaded (/usr/lib/systemd/system/tftp.service; indirect; vendor preset: disabled)
Active: active (running)

2.部署pxelinux.0文件
[root@A /]# yum provides */pxelinux.0 #查询仓库中那个软件包产生改文件
[root@A /]# yum -y install syslinux
[root@A /]# rpm -ql syslinux | grep pxelinux.0 #查询软件包的安装清单
[root@A /]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
[root@A /]# ls /var/lib/tftpboot/

思路:
DHCP服务----》IP地址、next-server、filename
tftp服务----》pxelinux.0
pxelinux.0—》读取/var/lib/tftpboot/pxelinux.cfg/default #菜单文件

3.部署菜单文件
[root@A /]# ls /dvd/
[root@A /]# mkdir /var/lib/tftpboot/pxelinux.cfg
[root@A /]# cp /dvd/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default #复制并且重命名
[root@A /]# ls /var/lib/tftpboot/
pxelinux.0 pxelinux.cfg
[root@A /]# ls /var/lib/tftpboot/pxelinux.cfg/
default

4.部署 图形的模块(vesamenu.c32)与 背景图片(splash.png)
[root@A /]# cp /dvd/isolinux/vesamenu.c32 /dvd/isolinux/splash.png /var/lib/tftpboot/
[root@A /]# ls /var/lib/tftpboot/
pxelinux.0 pxelinux.cfg splash.png vesamenu.c32

5.部署 启动的内核(vmlinuz)与 驱动程序(initrd.img)
[root@A /]# cp /dvd/isolinux/vmlinuz /dvd/isolinux/initrd.img /var/lib/tftpboot/
[root@A /]# ls /var/lib/tftpboot/
initrd.img pxelinux.0 pxelinux.cfg splash.png vesamenu.c32 vmlinuz

6.修改菜单文件内容
[root@A /]# vim /var/lib/tftpboot/pxelinux.cfg/default
末行模式显示行号 :set nu
1 default vesamenu.c32 #默认加载图形模块
2 timeout 600 #读秒时间 1/10秒

10 menu background splash.png #背景图片
11 menu title NSD2002 PXE Server #显示的菜单标题

61 label linux
62 menu label ^Install CentOS 7 #菜单文件的显示内容
63 menu default #读秒结束后默认选择
64 kernel vmlinuz #加载vmlinuz内核
65 append initrd=initrd.img #加载initrd.img
以下内容全部删除

[root@A /]# tail -5 /var/lib/tftpboot/pxelinux.cfg/default
label linux
menu label ^Install CentOS 7
menu default
kernel vmlinuz
append initrd=initrd.img

三、初步测试
思路:
DHCP服务----》IP地址、next-server、filename
tftp服务----》pxelinux.0
pxelinux.0—》读取/var/lib/tftpboot/pxelinux.cfg/default #菜单文件
default —》图形模块、背景图片、读秒、内核、驱动

1.将所需的服务进行重启
[root@A /]# systemctl restart dhcpd
[root@A /]# systemctl restart tftp

2.排除DHCP服务器的干扰(关闭VMware软件本身的DHCP服务)
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

3.建立测试的机器

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

修改测试机器的网络类型

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

四、构建Web服务器
1.利用Web服务共享光盘的所有内容
[root@A /]# yum -y install httpd
[root@A /]# mkdir /var/www/html/centos
[root@A /]# ls /var/www/html/centos
[root@A /]# mount /dev/cdrom /var/www/html/centos
mount: /dev/sr0 写保护,将以只读方式挂载
[root@A /]# ls /var/www/html/centos

[root@A /]# systemctl restart httpd
[root@A /]# firefox 192.168.4.7/centos/

[root@localhost ~]# elinks -dump 192.168.4.7/centos #最小化安装测试 验证

五、部署无人值守安装,生成应答文件
[root@A /]# yum -y install system-config-kickstart
[root@A /]# rpm -q system-config-kickstart
[root@A /]# system-config-kickstart

最小化安装的同学:
[root@localhost ~]# yum -y install ghostscript-chinese-zh_CN #中文的字体
[root@localhost ~]# yum -y install xorg* #图形软件
[root@localhost ~]# yum -y install system-config-kickstart
[root@localhost ~]# reboot
[root@localhost ~]# system-config-kickstart

软件包的选择被禁止
在这里插入图片描述

软件包的选择,需要本地Yum仓库的支持,要求指向光盘的仓库,标识必须为[development]
[root@A /]# vim /etc/yum.repos.d/dvd.repo
[development]
name=CentOS7
baseurl=file:///dvd
enabled=1
gpgcheck=0
[root@A /]# system-config-kickstart

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

查看应答文件
[root@A /]# ls /var/www/html/
centos ks.cfg
[root@A /]# cat /var/www/html/ks.cfg
#platform=x86, AMD64, 或 Intel EM64T
#version=DEVEL
#Install OS instead of upgrade
install
#Keyboard layouts
keyboard ‘us’
#Root password
rootpw --iscrypted 1 1 1YDTEMM.L$GtpMIYKbpioeuD.k9FCHC.
#Use network installation
url --url=“http://192.168.4.7/centos”
#System language
lang en_US
#System authorization information
auth --useshadow --passalgo=sha512
#Use graphical install
graphical
firstboot --disable
#SELinux configuration
selinux --disabled
#Firewall configuration
firewall --disabled
#Network information
network --bootproto=dhcp --device=eth0
#Reboot after installation
reboot
#System timezone
timezone Asia/Shanghai
#System bootloader configuration
bootloader --location=mbr
#Clear the Master Boot Record
zerombr
#Partition clearing information
clearpart --all --initlabel
#Disk partitioning information
part / --fstype=“xfs” --grow --size=1

%packages
@base

%end

六、修改菜单文件指定获取应答文件
[root@A /]# vim /var/lib/tftpboot/pxelinux.cfg/default

label linux
menu label ^Install CentOS 7
menu default
kernel vmlinuz
append initrd=initrd.img ks=http://192.168.4.7/ks.cfg #指定获取应答文件

总结思路:
DHCP服务----》IP地址、next-server、filename
tftp服务----》pxelinux.0
pxelinux.0—》读取/var/lib/tftpboot/pxelinux.cfg/default #菜单文件
default —》图形模块、背景图片、读秒、内核、驱动 、指定获取应答文件
应答文件 —》软件如何获得 url --url=“http://192.168.4.7/centos”、装系统的各项选择

测试验证

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值