【本节主题:DHCP ;PXE ;Cobbler】
回顾
应答文件的制作
对应系统
安装syslinux软件包,实现将boot.iso转换格式,然后刻录到U盘才可以通过U盘启动
DHCP
交换了四个数据包
(1)DHCP discover
(2)DHCP offer
(3)DHCP request
(4)DHCP ACK
运行dhcp客户端,强制获取DHCP分配的地址
[root@CentOS6 ~]# dhcpclient -d
1、下次续租时间点是整个租期的一半
2、一旦续租成功,客户端再次会获得一个完整的租期
3、剩余只有八分之一租期的时候,客户端会在网络中发送DHCP请求广播,寻找新的DHCP服务器并请求分配新的IP地址
DHCP服务
(1)基于先到先得原则
(2)工作过程基于广播机制,客户端和服务器必须处于同一网段
DHCP request
客户端需要发广播告诉同一网段的其他DHCP服务器“我已经拿到某个DHCP分配的地址了,不需要其他DHCP服务器分配的地址了”
dhcpd端口:67
dhcpclient端口:68
DHCP跨网段广播
在路由器上启用“中继代理”,使得DHCP的广播可以通过
路由器“中继代理”转发DHCP广播:单播转发
【DHCP实验:使用非桥接网络】
步骤:
0、关闭selinux,关闭firewall
1、安装软件包
2、启动服务
3、修改配置文件,然后:restart或者reload
ISC组织:
开发DHCP和DNS
实验:DHCP服务
通过修改配置文件关闭selinux,修改后需要重启
查看包列表
[root@CentOS7 ~]# rpm -ql dhcp
DHCP服务需要修改配置文件之后才能启动
DHCP分配地址的范围:
需要排除被服务器占用额IP地址
如果subnet和全局有冲突,以subnet有效
与自动安装相关
next-server
filename "pxelinux.0"
PXE网络安装依赖于tftp服务
服务端:
tftp-server
客户端:
tftp
tftp走UDP协议,适合传输小文件
/dev/sr0 /var/www/html/centos/7 iso9660 defaults 0 0
注意权限问题
chmod 644 ks7_desktop
实现CentOS7的pxe安装
0、关闭selinux和防火墙
1、安装软件包
yum install dhcp tftp-server syslinux httpd
systemctl enbable dhcpd tftpd.socket httpd
systemctl start httpd
2、准备yum源
mkdir -pv /var/www/html/centos/{6,7}/
vim /etc/fstab
3、准备ks文件
mkdir
4、配置dhcp服务
5、准备PXE相关文件
rpm -ql syslinux
6、虚拟机(仅主机模式)测试
实现CentOS6的pxe安装
0、关闭selinux和防火墙
1、安装软件包
yum install dhcp httpd tftp-server syslinux
echo '- - -' > /sys/class/scsi_host/host0/scan
systemctl enable httpd dhcpd tftp.socket
systemctl start httpd tftp.socket
2、配置dhcp服务
cp /? /etc/dhcp/dhcpd.config
subnet ??
??
systemctl start dhcpd
3、准备yum源
mkdir /var/www/html/centos/{6,7} -pv
echo /dev/sr0 /var
???
4、准备ks文件
cd /var/www/html
mkdir ksdir/
cp ~/anaconda-ks.cfg ks7_mini.cfg
注意权限问题:
chmod +r ks7_mini.cfg
5、准备菜单项(在tftp)
cd /var/lib/tftpboot/
mkdir pxelinux.cfg/
mkdir -pv centos{6,7}
cp ??
cobbler
1、安装软件包(来自epel源)
yum install cobbler dhcp
systemctl enable cobblerd dhcp dhcpd httpd tftp
systemctl start cobbler httpd tftp
2、
cobbler check
3、
vim /etc/cobbler/settings
server:cobblerServerIP
next_server:cobblerServerIP
default_password_cryptd:"xxxxxxxx" # 通过 openssl passwd -1生成口令
manage_dhcp:1
4、【需要联网】
cobbler get-loaders
cobbler sync
5、
vim /etc/cobbler/dhcp.template
??
connler sync
systemctl restart dhcp
6、
vim /etc/fstab
将CentOS6.9的光盘挂载到cdrom0目录
/dev/sr0 /mnt/cdrom0 iso9660 defaults 0 0
将CentOS7.4的光盘挂载到cdrom1目录
/dev/sr1 /mnt/cdrom1 iso9660 defaults 0 0
cobbler import --path=/mnt/cdrom0 --name=CentOS_6.9-x86_64 --arch=x86_64
cobbler import --path=/mnt/cdrom1 --name=CentOS_7.4-x86_64 --arch=x86_64
cobbler distro
7、
url --url=${tree}
cp ks7_desktop.cfg ks6_mini.cfg /var/lib/cobbler/kickstarts/
cobbler profile add --name=CentOS_7.4-x86-64 --kickstart=/car/lib/cobbler/kickstarts/ks7_desktop.cfg
cobbler profile add --name=CentOS_6.9-x86-64 --kickstart=/car/lib/cobbler/kickstarts/ks6_desktop.cfg
# 删除自带的配置
cobbler profile remove --name=CentOS_7.4-x86_64
cobbler profile remove --name=CentOS_6.9-x86_64
8、Web实现
ansible简介