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. Linux Bash Shell快速入门 (二)

    BASH 中的变量介绍BASH 中的变量都是不能含有保留字,不能含有 "-" 等保留字符,也不能含有空格. 简单变量在 BASH 中变量定义是不需要的,没有 "int i ...

  2. BZOJ 3105: [cqoi2013]新Nim游戏(线性基)

    解题思路 \(nim\)游戏先手必胜的条件是异或和不为\(0\),也就是说第一个人拿走了若干堆后不管第二个人怎么拿都不能将剩余堆的异或和变成\(0\).考虑线性基,其实就是每个数对线性基都有贡献,任何 ...

  3. 关于I2C和SPI总线协议【转】

    关于I2C和SPI总线协议 IICvs SPI 现今,在低端数字通信应用领域,我们随处可见IIC (Inter-Integrated Circuit) 和 SPI (Serial Peripheral ...

  4. 79、tensorflow计算一个五层神经网络的正则化损失系数、防止网络过拟合、正则化的思想就是在损失函数中加入刻画模型复杂程度的指标

    ''' Created on Apr 20, 2017 @author: P0079482 ''' import tensorflow as tf #获取一层神经网络边上的权重,并将这个权重的L2正则 ...

  5. ubuntu 18.04 自启动

    按下面二种方式打开自启动设置窗口,设置启动参数:(两种方式) 方式一:在桌面左上角的搜索框中输入Startup Applications,打开,点击Add,Name处填open_terminal(自定 ...

  6. Struts1.3——Struts标签

    1.struts标签的介绍 Struts框架提供了一组非常丰富的框架组件,同时也提供了一组标签库用于和这些组件交互,主要介绍以下三类: html标签 bean标签 logic标签 2.Html标签库 ...

  7. SQL Server2012创建连接服务器到ORACLE11G

    做ETL,肯定少不了经常会从不同的数据库直接进行数据的操作,为了更好的进行跨库操作,SQL SERVER 2012拥有LinkedServer功能.前段时间写了个SQL SERVER同种数据库直接的链 ...

  8. upc组队赛6 Bumped!【最短路】

    Bumped! 题目描述 Peter returned from the recently held ACM ICPC World finals only to find that his retur ...

  9. java 并发——ReentrantLock

    java 并发--ReentrantLock 简介 public class ReentrantLock implements Lock, java.io.Serializable { // 继承了 ...

  10. Java finally块

    try块也可以有零个或一个finally块. finally块总是与try块一起使用. 语法 finally块的语法是: 1 2 3 finally  {     // Code for finall ...