19.DHCP,PXE装机

部署DHCP服务器

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

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

• DHCP地址分配的四次会话(整个过程以 广播 进行,先到先得)
 – DISCOVERY --> OFFER --> REQUEST -->ACK

  一个网络中,只能有一个DHCP服务器

• 装软件包 dhcp
• 配置文件 /etc/dhcp/dhcpd.conf
• 起服务 dhcpd

虚拟机A
1.安装软件包dhcp
[root@svr7 /]# yum -y install dhcp
2.修改配置文件
[root@svr7 /]# vim /etc/dhcp/dhcpd.conf 
  补充vim末行模式下:r  文件路径    #读入文件内容到当前文件

  :r   /usr/share/doc/dhcp*/dhcpd.conf.example
     
 subnet 192.168.4.0 netmask 255.255.255.0 { #分配网段
   range 192.168.4.100  192.168.4.200;  #分配地址范围
   option domain-name-servers 8.8.8.8;  #分配DNS地址
   option routers 192.168.4.254;    #分配网关地址
   default-lease-time 600;       #默认租约时间
   max-lease-time 7200;          #最大租约时间
  }
 
[root@svr7 /]# systemctl restart dhcpd


网络装机

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

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

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

PXE组件及过程分析
• 需要哪些服务组件?
– DHCP服务,分配IP地址、定位引导程序
– TFTP服务,提供引导程序下载
– HTTP服务,提供yum安装源                  

###########################################

  • 一、配置DHCP服务,指引下一个服务器地址

[root@svr7 /]# vim /etc/dhcp/dhcpd.conf 
subnet 192.168.4.0 netmask 255.255.255.0 {     #声明网段
  range 192.168.4.100  192.168.4.200;                #IP范围
  option domain-name-servers 8.8.8.8;                 #DNS
  option routers 192.168.4.254;                             #网关
  default-lease-time 600;                                       #默认租约时间
  max-lease-time 7200;                                         #最大租约时间
  next-server 192.168.4.7;   #指定下一个服务器地址
  filename "pxelinux.0";     #指定网卡引导文件名称
}

[root@svr7 /]# systemctl restart dhcpd

]#  dhclient -d eth0    #临时配置/测试

  pxelinux.0:网络安装说明书,二进制文件
                        安装一个软件,即可获得pxelinux.0文件
                        由tftp服务器共享提供

  • 二、构建tftp服务,传输引导文件

       tftp:简单文件传输协议  默认端口为 69
             默认共享路径:/var/lib/tftpboot

1.安装软件tftp-server
[root@svr7 /]# yum -y install tftp-server
2.重起tftp服务
[root@svr7 /]# systemctl restart tftp

3.部署网卡引导文件pxelinux.0
]# yum provides */pxelinux.0  #查询仓库中那个软件包产生
]# yum -y install syslinux    #安装软件
]# rpm -ql syslinux           #查询软件包安装的清单
]# rpm -ql syslinux  | grep pxelinux.0

]# cp /usr/share/syslinux/pxelinux.0   /var/lib/tftpboot/

]# ls /var/lib/tftpboot

 客户端读入pxelinux.0-----》读取菜单文件
 菜单文件路径:/var/lib/tftpboot/pxelinux.cfg/default
     
4.部署菜单文件
]# mkdir /var/lib/tftpboot/pxelinux.cfg
]# ls /var/lib/tftpboot/

]# mount /dev/cdrom  /mnt/

]# ls /mnt/

]# cp /mnt/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default

]# ls /var/lib/tftpboot/pxelinux.cfg/
]# chmod u+w /var/lib/tftpboot/pxelinux.cfg/default

5.部署  背景图片(splash.png) 与 图形模块(vesamenu.c32)
]# cp /mnt/isolinux/splash.png            /mnt/isolinux/vesamenu.c32    /var/lib/tftpboot/

]# ls /var/lib/tftpboot/
pxelinux.0  pxelinux.cfg  splash.png  vesamenu.c32

6.部署  驱动程序(initrd.img)与  启动内核(vmlinuz)
]# cp /mnt/isolinux/vmlinuz  /mnt/isolinux/initrd.img   /var/lib/tftpboot/

]# ls /var/lib/tftpboot/
initrd.img  pxelinux.cfg  vesamenu.c32
pxelinux.0  splash.png    vmlinuz

7.修改菜单文件内容      
]# 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 NSD1902 PXE Server !!!  #显示标题内容
  ........
 61 label linux
 62   menu label Install  RHEL7.4   #选项显示内容
      menu default                  #读秒结束默认选择
 63   kernel  vmlinuz               #指定加载内核
 64   append  initrd=initrd.img     #指定加载驱动程序

##################################################
初步验证:
   总结:
  1.DHCP服务---》IP地址、next-server、filename
  2.TFTP服务---》pxelinux.0
  3.pxelinux.0---》读取菜单文件default
  4.default---》图形模块、背景图片、内核、驱动

    新建一台虚拟机,注意网络选择:private1

#################################################

  • 三、构建httpd服务,共享光盘所有内容      

1.安装软件包
[root@svr7 /]# yum -y install httpd
2.重起httpd服务
[root@svr7 /]# systemctl restart httpd
3.创建路径,进行挂载
[root@svr7 /]# mkdir /var/www/html/rhel7
[root@svr7 /]# mount /dev/cdrom  /var/www/html/rhel7
mount: /dev/sr0 写保护,将以只读方式挂载
[root@svr7 /]# ls /var/www/html/rhel7
4.查看页面内容
[root@svr7 /]# firefox 192.168.4.7/rhel7

#################################################

  • 四、部署无人值守自动安装,生成应答文件

 1.安装图形的system-config-kickstart软件,生成应答文件
 ]# yum -y install system-config-kickstart

 2.运行system-config-kickstart程序
 ]# system-config-kickstart

      1)首先查看  “软件包选择”  是否可以使用
         需要Yum仓库支持,才能进行“软件包选择”
         光盘仓库标示必须是 [development]
     ]# vim /etc/yum.repos.d/rhel7.repo 
      [development]
      name=rhel7.4
      baseurl=ftp://192.168.4.254/rhel7
      enabled=1
      gpgcheck=0

  ]# system-config-kickstart
        查看  “软件包选择”  是否可以使用

 3.查看应答文件的生成:
 [root@svr7 ~]# ls /root/ks.cfg 
 /root/ks.cfg
 [root@svr7 ~]# 

  4.共享应答文件       
 [root@svr7 ~]# cp /root/ks.cfg  /var/www/html/
 [root@svr7 ~]# ls /var/www/html/
 [root@svr7 ~]# firefox 192.168.4.7/ks.cfg

   5.通过菜单文件,指定应答文件位置
 ]# vim /var/lib/tftpboot/pxelinux.cfg/default

 label linux
  menu label Install  RHEL7.4
  kernel vmlinuz
  append initrd=initrd.img ks=http://192.168.4.7/ks.
cfg

#################################################
   总结:
  1.DHCP服务---》IP地址、next-server、filename
  2.TFTP服务---》pxelinux.0
  3.pxelinux.0---》读取菜单文件default
  4.default---》图形模块、背景图片、内核、驱动、应答文件
  5.ks.cfg---》光盘内容访问、分区、时区、root密码等等
           url --url="http://192.168.4.7/rhel7"
 
#################################################

课外扩展:  
   让客户端安装完系统,Yum仓库可用(利用ks应答文件安装后脚本实现)

  rm -rf /etc/yum.repos.d/*
  cd /etc/yum.repos.d
  wget http://192.168.4.7/rhel7.repo

发布了67 篇原创文章 · 获赞 13 · 访问量 4101

猜你喜欢

转载自blog.csdn.net/tongzhuo1220/article/details/99315422
今日推荐