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

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

• DHCP地址分配的四次会话(广播)[先到先得原理]
  – DISCOVERY --> OFFER --> REQUEST -->ACK

端口:67

一个局域网内不能有二台DHCP服务器

虚拟机svr7:
 1.安装dhcp软件包
 2.修改配置文件 /etc/dhcp/dhcpd.conf
 [root@svr7 /]# vim /etc/dhcp/dhcpd.conf

subnet  192.168.4.0  netmask  255.255.255.0  {  #设置分配的网段
    range 192.168.4.10  192.168.4.50;        #设置IP地址范围
    option domain-name-servers  8.8.8.8;     #设置DNS服务器
    option routers  192.168.4.254;           #设置网关
    default-lease-time 600;             #设置默认租期时间
    max-lease-time 7200;                #设置最大的租期时间
   }
 
 3.启动dhcpd服务,设置开机自起
 [root@svr7 /]# systemctl restart dhcpd
 [root@svr7 /]# systemctl enable dhcpd

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

• PXE,Pre-boot eXecution Environment
– 预启动执行环境,在操作系统之前运行
– 可用于远程安装
• 工作模式
– PXE client 集成在网卡的启动芯片中
– 当计算机引导时,从网卡芯片中把PXE client调入内存
执行,获取PXE server配置、显示菜单,根据用户选
择将远程引导程序下载到本机运行

• 需要哪些服务组件?
– DHCP服务,分配IP地址、定位引导程序
– TFTP服务,提供引导程序下载
– HTTP服务,提供yum安装源
• 客户机应具备的条件
– 网卡芯片必须支持PXE协议
– 主板支持从网卡启动

#####################################################
虚拟机svr7:

一、配置dhcpd服务
 1.修改配置文件 /etc/dhcp/dhcpd.conf
 [root@svr7 /]# vim /etc/dhcp/dhcpd.conf

subnet 192.168.4.0 netmask 255.255.255.0 {
   range 192.168.4.10 192.168.4.50;
   option domain-name-servers 8.8.8.8;
   option routers 192.168.4.254;
   default-lease-time 600;
   max-lease-time 7200;
   next-server  192.168.4.7;
   filename  "pxelinux.0";
  }
    pxelinux.0:网卡引导文件(安装说明书)(二进制文件)
        安装一个软件可以得到该pxelinux.0文件
 2.重起dhcpd服务

######################################################
二、TFTP服务的搭建

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

1.安装一个服务端软件tftp-server      
  2.启动tftp服务,设置开机自起
 [root@svr7 /]# systemctl restart tftp
 [root@svr7 /]# systemctl enable tftp

3.部署pxelinux.0文件
    查询仓库中哪一个软件包,可以产生一个文件
  # yum  provides  */pxelinux.0
  # rpm -ql syslinux |  grep pxelinux.0

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

4.部署菜单文件
  pxelinux.0-------->/var/lib/tftpboot/pxelinux.cfg/default
 
 # mkdir  /var/lib/tftpboot/pxelinux.cfg
 # ls  /var/lib/tftpboot/
 # mount /dev/cdrom  /mnt/

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

# ls -l /var/lib/tftpboot/pxelinux.cfg/default
 # chmod 644 /var/lib/tftpboot/pxelinux.cfg/default
 # ls -l /var/lib/tftpboot/pxelinux.cfg/default

5.部署  启动内核、启动驱动程序、图形的模块

default ----》 启动内核、启动驱动程序、图形的模块

vmlinuz------>启动内核
  initrd.img------>启动驱动程序
  vesamenu.c32------>图形的模块

# cp /mnt/isolinux/vmlinuz /mnt/isolinux/initrd.img /mnt/isolinux/vesamenu.c32 /var/lib/tftpboot/

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

6.修改菜单文件/var/lib/tftpboot/pxelinux.cfg/default

[root@svr7 /]# vim /var/lib/tftpboot/pxelinux.cfg/default
 ......
 menu title NSD1710 PXE Server !
 ......
 label linux
  menu label Install RHEL7     #显示菜单文字
  menu default                 #读秒结束后,默认选择
  kernel vmlinuz               #调用内核
  append initrd=initrd.img     #调用驱动程序

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

pxelinux.0--->default---->图形的模块---->vmlinuz、initrd.img

######################################################
三、搭建httpd服务,共享光盘所有内容
1.安装httpd
2.启动httpd服务,设置开机自起
3.创建挂载点/var/www/html/rhel7
[root@svr7 ~]# mkdir /var/www/html/rhel7

4.进行挂载
[root@svr7 ~]# mount /dev/cdrom   /var/www/html/rhel7

[root@svr7 ~]# firefox http://192.168.4.7/rhel7

5.完成开机自动挂载,修改/etc/fstab
 [root@svr7 ~]# vim /etc/fstab
 [root@svr7 ~]# tail -1 /etc/fstab
 /dev/cdrom   /var/www/html/rhel7   iso9660  defaults  0  0

[root@svr7 ~]# umount /var/www/html/rhel7/
 [root@svr7 ~]# ls /var/www/html/rhel7/
 [root@svr7 ~]# mount -a
 mount: /dev/sr0 写保护,将以只读方式挂载
 [root@svr7 ~]# ls /var/www/html/rhel7/

########################################################
四、实现无人值守安装,生成自动应答文件(ks文件)

system-config-kickstart 图形的工具来生成

[root@svr7 ~]# yum -y install system-config-kickstart
[root@svr7 ~]# system-config-kickstart
[root@svr7 ~]# vim /etc/yum.repos.d/rhel7.repo
       Yum仓库
    [development]   #修改仓库的名称

[root@svr7 ~]# system-config-kickstart  
   检查  软件包选择  是否可用

[root@svr7 ~]# ls /root/ks.cfg
 /root/ks.cfg
[root@svr7 ~]# vim /root/ks.cfg

1.利用httpd共享应答ks文件
 [root@svr7 ~]# cp /root/ks.cfg   /var/www/html/
 [root@svr7 ~]# ls /var/www/html/

2.修改菜单文件,指定应答ks文件位置
 [root@svr7 ~]# vim  /var/lib/tftpboot/pxelinux.cfg/default

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

##########################################################
总结:
        dhcp-----》IP地址、next-server、pxelinux.0
        tftp-----》pxelinux.0
        pxelinux.0-----》default
        default-----》vesamenu.c32-----》vmlinuz、initrd.img
        ks-----》url --url="http://192.168.4.7/rhel7"

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

图形配置界面的步骤:

Service5的更多相关文章

  1. 调用WCF Data Service的几点Tips

    使用Linq实现sql in statement的时候,用EF的时候可以通过Contains.Exists的方法实现.但是在使用WCF Data Service的context的时候,会报不支持该方法 ...

  2. Java多线程之synchronized(五)

    上篇介绍了用synchronized修饰static方式来实现“Class 锁”,今天要介绍另一种实现方式,synchronized(class)代码块,写法不一样但是作用是一样的.下面我附上一段代码 ...

  3. 基于 HTML5 WebGL 的 3D 服务器与客户端的通信

    这个例子的初衷是模拟服务器与客户端的通信,我把整个需求简化变成了今天的这个例子.3D 机房方面的模拟一般都是需要鹰眼来辅助的,这样找产品以及整个空间的概括会比较明确,在这个例子中我也加了,这篇文章就算 ...

  4. 基于 HTML5 WebGL 的 3D SCADA 主站系统

    这个例子的初衷是模拟服务器与客户端的通信,我把整个需求简化变成了今天的这个例子.3D 的模拟一般需要鹰眼来辅助的,这样找产品以及整个空间的概括会比较明确,在这个例子中我也加了,这篇文章就算是我对这次项 ...

  5. WCF终结点——终结点地址(EndpointAddress)

    终结点的地址的Uri属性作为终结点地址的唯一标示. 包括客户端终结点和服务端终结点. 一.服务端终结点: 服务端的终结点通过宿主的添加方法暴露出来,从而成为可以调用的资源. 下面是将服务绑定到宿主的代 ...

  6. JavaWeb基础—MySQL入门小结

    一.数据库概述 RDBMS:关系型数据库管理系统 == 管理员(manager)+仓库(database) 常见数据库:  Oracle(神喻):甲骨文 MySQL: 归于甲骨文旗下(高版本系统已经开 ...

  7. k8s的ingress使用

    ingress 可以配置一个入口来提供k8s上service从外部来访问的url.负载平衡流量.终止SSL和提供基于名称的虚拟主机. 配置ingress的yaml: 要求域名解析无误 要求servic ...

  8. 转 Linux命令-文件管理命令

    http://jingyan.baidu.com/article/9113f81bc1c7a72b3214c7d3.html Linux命令-文件管理命令 浏览:4118 | 更新:2012-11-1 ...

  9. SpringCloud服务组合

    SpringCloud生态强调微服务,微服务也就意味着将各个功能独立的业务抽象出来,做成一个单独的服务供外部调用.但每个人对服务究竟要有多“微”的理解差异很大,导致微服务的粒度很难掌控,划分规则也不统 ...

随机推荐

  1. Delphi ini文件操作 TIniFile、TMemIniFile

    1.使用TIniFile unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Co ...

  2. java开源项目

    原文地址:http://blog.longjiazuo.com/archives/2625 1.整理出一些使用比较广或者个人觉得比较好的java开源项目和资料供参考.2.如果你觉得好但是我没有列出的开 ...

  3. linux软件包rpm的使用

    一rpm包管理器 (一)rpm的介绍 rpm不仅是文件的后缀,也是一个工具,外部命令,程序包管理器 功能:将编译好的应用程序的各组成文件打包一个或几个程序包文件,从而方便快捷地实现程序包的安装.卸载. ...

  4. TableStore最佳实践:GEO索引打造店铺搜索系统

    摘要: 如何使用TableStore打造店铺搜索系统 一.方案背景 对于一套GEO管理系统,其核心点与瓶颈在于数据库的存储性能与查询能力:一方面,存储服务需要应对海量数据的低延迟存.读,另一方面,存储 ...

  5. Linux系统之-常用命令及技巧

    一. 通用命令:1.date :print or set the system date and time2. stty -a: 可以查看或者打印控制字符(Ctrl-C, Ctrl-D, Ctrl-Z ...

  6. 将日志(Microsoft.Extensions.Logging)添加到.NET Core控制台应用程序

    在.NET Core项目中,日志记录是通过依赖项注入进行管理的. 尽管这对于ASP.NET项目效果很好,但在启动Startup.cs中的新项目时,所有这些都会自动创建,而在控制台应用程序中则需要一些配 ...

  7. git submodule 删除及修改

    1.  删除子模块 # 逆初始化模块,其中{MOD_NAME}为模块目录,执行后可发现模块目录被清空 git submodule deinit {MOD_NAME} # 删除.gitmodules中记 ...

  8. 力扣算法题—144Binary Tree Preorder Traversal

    Given a binary tree, return the preorder traversal of its nodes' values. Example: Input: [1,null,2,3 ...

  9. NOIp2018 爆零记

    几个月没动博客了,原以为NOIp之后能有个喜报让我重新更博的 我就讲讲自己的爆零经历吧 Day 0: 洛谷签到第99天,明天签到第100天, 吉利得很(flag已立) 去年第一次参加NOIp,那次Da ...

  10. elasticsearch-6.0.1安装

    elasticsearch-6.0.1安装 0. 介绍:     ElasticSearch是一个基于Lucene的搜索服务器.它提供了一个分布式多用户能力的全文搜索引擎:是目前全文搜索引擎的首选. ...