博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
19.DHCP,PXE装机
阅读量:4229 次
发布时间:2019-05-26

本文共 4983 字,大约阅读时间需要 16 分钟。

部署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

 

转载地址:http://wgiqi.baihongyu.com/

你可能感兴趣的文章
在ubuntu上搭建文件服务器
查看>>
ServiceFabric: 在Windows上创建容器应用并部署到ServiceFabric中
查看>>
paramiko——一个专门为Linux设计的模块
查看>>
一个有趣的python项目---一个好玩的网站
查看>>
git常用命令总结
查看>>
Protobuf了解一下?
查看>>
超越Selenium的存在---Pyppeteer
查看>>
复仇者联盟4:终局之战剧透
查看>>
Msgpack有没有兴趣了解一下?
查看>>
探索一家神秘的公司
查看>>
PDF转Word完全免费?这么好的事情我怎么不知道????
查看>>
数据解读---B站火过蔡徐坤的“鬼畜“区巨头们
查看>>
Squid代理服务器搭建亿级爬虫IP代理池
查看>>
JupyterNotebook‘s Magic
查看>>
在Linux 上部署Jenkins和项目
查看>>
Python+requests+unittest+excel实现接口自动化测试框架
查看>>
那些年我们听过的互联网公司的套路?
查看>>
谈谈python里面那些高级函数
查看>>
40行代码带你免费看《海贼王-和之国》篇章
查看>>
搭建炫酷的服务器监控平台
查看>>