Service5
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的更多相关文章
- 调用WCF Data Service的几点Tips
使用Linq实现sql in statement的时候,用EF的时候可以通过Contains.Exists的方法实现.但是在使用WCF Data Service的context的时候,会报不支持该方法 ...
- Java多线程之synchronized(五)
上篇介绍了用synchronized修饰static方式来实现“Class 锁”,今天要介绍另一种实现方式,synchronized(class)代码块,写法不一样但是作用是一样的.下面我附上一段代码 ...
- 基于 HTML5 WebGL 的 3D 服务器与客户端的通信
这个例子的初衷是模拟服务器与客户端的通信,我把整个需求简化变成了今天的这个例子.3D 机房方面的模拟一般都是需要鹰眼来辅助的,这样找产品以及整个空间的概括会比较明确,在这个例子中我也加了,这篇文章就算 ...
- 基于 HTML5 WebGL 的 3D SCADA 主站系统
这个例子的初衷是模拟服务器与客户端的通信,我把整个需求简化变成了今天的这个例子.3D 的模拟一般需要鹰眼来辅助的,这样找产品以及整个空间的概括会比较明确,在这个例子中我也加了,这篇文章就算是我对这次项 ...
- WCF终结点——终结点地址(EndpointAddress)
终结点的地址的Uri属性作为终结点地址的唯一标示. 包括客户端终结点和服务端终结点. 一.服务端终结点: 服务端的终结点通过宿主的添加方法暴露出来,从而成为可以调用的资源. 下面是将服务绑定到宿主的代 ...
- JavaWeb基础—MySQL入门小结
一.数据库概述 RDBMS:关系型数据库管理系统 == 管理员(manager)+仓库(database) 常见数据库: Oracle(神喻):甲骨文 MySQL: 归于甲骨文旗下(高版本系统已经开 ...
- k8s的ingress使用
ingress 可以配置一个入口来提供k8s上service从外部来访问的url.负载平衡流量.终止SSL和提供基于名称的虚拟主机. 配置ingress的yaml: 要求域名解析无误 要求servic ...
- 转 Linux命令-文件管理命令
http://jingyan.baidu.com/article/9113f81bc1c7a72b3214c7d3.html Linux命令-文件管理命令 浏览:4118 | 更新:2012-11-1 ...
- SpringCloud服务组合
SpringCloud生态强调微服务,微服务也就意味着将各个功能独立的业务抽象出来,做成一个单独的服务供外部调用.但每个人对服务究竟要有多“微”的理解差异很大,导致微服务的粒度很难掌控,划分规则也不统 ...
随机推荐
- Halo(一)
@EnableJpaAuditing 审计功能(启动类配置) 在实际的业务系统中,往往需要记录表数据的创建时间.创建人.修改时间.修改人. 每次手动记录这些信息比较繁琐,SpringDataJpa 的 ...
- css实现文本溢出用...显示
文本溢出省略号显示,要实现这个必须 要有四个条件: 1.须有容器宽度:width:value 2.强制文本在一行内显示:white-space:nowrap: 3.溢出内容隐藏:overflow:hi ...
- mysql的安裝
记得上学的时候,“研究”过一次mysql,找了篇文章,在课堂上念了.至今已经10余年,居然没再碰过数据库,自以为做嵌入式不用数据库,回头一看,却已经out许久... 上网下到最新的mysql5.5,从 ...
- pic16f877a的AD实验学习
一.主函数 //采集AD值 #include <pic.h> #include "ad.h" #include "usart.h" __CONFIG ...
- jdbc的连接数据库,使用PreparedStatement实现增删改查等接口
首先是连接,关闭资源等数据库操作 将连接数据库,关闭资源封装在JDBCUtils里 package jdbc.utils; import java.sql.Connection; import jav ...
- 高精度小数BigDecimal+二分——java
高精度小数第一题 import java.util.*; import java.math.*; public class Main { public static void main(String ...
- thinkphp生成二维码
/** * 生成二维码 * @param string $url url连接 * @param integer $size 尺寸 纯数字 */ function qrcode($url,$size=4 ...
- rsync和rsync后台模式
注意(有软连接的rsync同步,-L可以把软链接里的当普通文件同步.-l 只同步软链接不同步软链接指向的目录或文件) rsync命令详解 rsync -a 归档模式 ,表示以递归方式传输文件,并保持所 ...
- mysql事件(定时任务)处理超时失效订单
MySQL事件(定时任务) https://blog.csdn.net/pan_junbiao/article/details/86489237 UPDATE wz_mer_goods_spec as ...
- Appium+python自动化-查看app元素属性
本文转自:https://www.cnblogs.com/yoyoketang/p/7581831.html 前言 学UI自动化首先就是定位页面元素,玩过android版的appium小伙伴应该都知道 ...