linux dhcp搭建及pxe无人值守装机
DHCP
动态主机配置协议:由IETF组织制定,用来简化主机ip地址分配管理
可以自动分配的入网参数
ip地址/子网掩码/广播地址
默认网关地址
DNS服务器地址
——————————————————————————————————————————
DHCP四次会话
请求:DHCP DISCOVER
提供:DHCP OFFER
选择:DHCP ORQUEST
确认:DHCP ACK
DHCP主要概念
租期;允许客户机租用ip地址的时间期限,单位为秒
作用域:分配给客户机的ip地址所在的网段
地址池:用来动态分配ip地址的范围
——————————————————————————————————————————
搭建DHCP服务器
安装DHCP服务软件[root@stu ~]# yum -y install dhcp
主配置文件:/etc/dhcp/dhcpd.conf (模板:see /usr/share/doc/dhcp*/dhcpd.conf.sample)
执行程序:/usr/sbin/dhc
服务脚本:/etc/init.d/dhcpd
执行参数配置:/etc/sysconfig/dhcpd
[root@stu ~]#/etc/dhcp/dhcpd.conf
:read /usr/share/doc/dhcp*/dhcpd.conf.sample (read,把模板的内容复制到当前终端)
[root@stu ~]# vim /etc/dhcp/dhcpd.conf 全局设置适用于所有网段(作用域)
...... ......
default-lease-time 21600;(默认租期)
max-lease-time 43200;(最大租期)
option domain-name-servers (DNS服务器地址)
.... ....
subnet网段声明:配置一个作用域,可覆盖全局设置参数
subnet 10.254.239.0 netmask 255.255.255.224 { (声明网段)
range 10.254.239.10 10.254.239.20; (ip分配范围)
option routers (默认网关地址)
}
启动DHCP服务程序
正常监听UDP67端口
服务端UDP67,客户端UDP68,至少应该有一个属于指定作用域的静态ip地址
[root@stu ~]# service dhcpd start(启动服务)
[root@stu ~]# less /var/lib/dhcpd/dhcpd.leases(服务端查看租约文件)
客户机配置:[root@stu ~]#vim /etc/sysconfig/network-scripts/ifcfg-eth0
BOOTPROTO=dhcp (改为自动获取ip)
PEERDNS=no (不自动获取DNS)
[root@stu ~]#service network restart (重启服务)
[root@pc205 ~]# less /var/lib/dhclient/dhclient-eth0.leases(客户端查看租约文件)
———————————————————————————————————————————————
PXE网络装机
规模化:同时装配多台主机
自动化:装系统,配置各种服务
远程实现:不需要光盘,u盘等物理介质
工作模式
PXE client 集成在网卡ROM中
当计算机引导时,BIOS把PXE client调入内存执行,获取PXE server配置
显示菜单,根据用户选择将远程操作系统下载到本机运行
PXE组件及过程分析
需要服务:
DHCP服务:分配ip地址,定位引导程序
DNS服务:为客户机分配主机名
TFTP服务:提供引导程序下载
FTP服务(或HTTP/NFS):提供yum安装源
客户机具备条件
网卡ROM必须支持PXE协议
主板支持网络启动
—————————————————————————————————————————
配置思路
整机装机条件准备:
准备系统安装源(ftp方式yum库)
启用DNS服务(可选)
启用DHCP服务
PXE引导配置:
启用TFTP服务,提供装机用的内核,初始化文件
提供PXE引导程序,配置启动菜单
PXE引导配置(tftp)
提供加载安装程序的内核,初始化镜像
TFTP根目录/vmlinuz <==/光盘目录/images/pxeboot>
TFTP根目录/initrd.img
提供网卡启动文件,启动配置
TFTP根目录/pxelinux.0
TFTP根目录/pxelinux.cfg/default
无人引导装机
kickstart技术:(建议用方法二)
预先提供应答文件,定义好各种安装设置
免去交互过程,实现全自动化安装
添加%post脚本,可执行安装后的各种配置
应答文件获取
方法一:找一台客户机,获取应答文件模板
/root/anaconda-ks.cfg
方法二:安装system-confug-kickstart
(修改后部署到pxe服务器的/var/ftp/ks.cfg)
(确保客户机可以成功下载ftp://192.168.4.30/ks.cfg)
[root@stu ~]# system-config-kickstart
执行上述图像界面工具,创建新应答文件
生成应答文件的客户机,yum库的版本应该和待安装系统一致
为客户机提供用来装系统的FTP软件源
通过vsftpd服务对外发布
[root@stu ~]# yum -y install vsftpd(安装vsftpd)
[root@stu ~]# mount /dev/cdrom /root/myiso/(挂载rh6镜像)
[root@stu ~]# cp -rf /root/myiso/* /var/ftp/rhel6/(把镜像复制到ftp里)
[root@stu ~]# service vsftpd restart(启动ftp服务)
[root@stu ~]# vim /etc/named.conf (提供DNS域名解析)
zone "4.168.192.in-addr.arpa"IN{
type master;
file "192.168.4.arpa";
};
[root@stu ~]# vim /var/named/Anonymous.org.zone
$GENERATE 10-80 pc$ A 192.168.4.$
[root@stu ~]# vim /var/named/192.168.4.arpa
$GENERATE 10-80 $ PTR pc$.Anonymous.org
[root@stu ~]# service named restart(重启服务)
[root@stu ~]# vim /etc/dhcp/dhcpd.conf
option domain-name "example.org";
option domain-name-servers 192.168.4.30;(dhcp服务器地址)
default-lease-time 7200;
max-lease-time 14400;
subnet 192.168.4.0 netmask 255.255.255.0 {(提供支持pxe引导的DHCP地址分配服务)
range 192.168.4.10 192.168.4.80;(分配ip地址)
next-server 192.168.4.30;
filename "pxelinux.0";(获取地址后下载pxelinux.0这个文件)
}
[root@stu ~]# service dhcpd restart(重启服务)
[root@stu ~]# yum -y install tftp-server
tftp-server
资源根目录/var/lib/tftpboot
[root@stu pxeboot]# vim /etc/xinetd.d/tftp
disable = yes(默认为no,改为yes启动)
[root@stu ~]# chkconfig tftp on(设置开机自启)
[root@stu ~]# service xinetd restart
[root@stu ~]# chkconfig xinetd on
[root@stu ~]# cd /var/ftp/rhel6/images/pxeboot/(到此目录下)
[root@stu pxeboot]# ls
initrd.img TRANS.TBL vmlinuz
[root@stu pxeboot]# cp vmlinuz initrd.img /var/lib/tftpboot/(把文件拷贝到/var/lib/tftpboot下)
[root@stu ~]# yum -y install syslinux-nonlinux(装包使用pxelinux.0)
[root@stu ~]# rpm -ql syslinux-nonlinux | grep pxelinux(查找pxelinux.0)
/usr/share/syslinux/gpxelinux.0
/usr/share/syslinux/gpxelinuxk.0
/usr/share/syslinux/pxelinux.0
[root@stu ~]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/(把文件复制到此目录下)
[root@stu ~]# mkdir /var/lib/tftpboot/pxelinux.cfg(创建目录)
[root@stu ~]# vim /var/lib/tftpboot/pxelinux.cfg/default(创建文件)
prompt 1
timeout 600
default redhat6
label redhat6
kernel vmlinuz(下载内核文件)
append ks=ftp://192.168.4.30/ks.cfg initrd=initrd.img(配置应答文件。加载初始化镜像)
客户机网络装机过程
通过DHCP配置网卡,获知tftp地址及pxe启动文件名称(pxelinux.0)
从tftp服务器下载运行启动文件
读取启动配置(pxelinux.cfg/default)
根据用户选择或者自动选择,下载指定的vmlinuz和initrd.img
内核vmlinuz运行后,主导安装过程
——————————————————————————————————————————————
linux dhcp搭建及pxe无人值守装机的更多相关文章
- Linux PXE无人值守网络装机
Linux PXE无人值守网络装机 一.实验环境: 2台Linux系统(RHEL6.5版本),1台作为:PXE远程安装服务器(安装dhcp服务.ftp服务.tftp服务),另1台作为:客户端(未装RH ...
- Linux shell编写脚本部署pxe网络装机
Linux shell编写脚本部署pxe网络装机 人工安装配置,Linux PXE无人值守网络装机 https://www.cnblogs.com/yuzly/p/10582254.html 脚本实 ...
- [PXE] Linux(centos6)中PXE 服务器搭建,PXE安装、启动及PXE理论详解
[PXE] Linux(centos6)中PXE 服务器搭建,PXE安装.启动及PXE理论详解 本篇blog主要讲述了[PXE] linux(centos)PXE无盘服务器搭建,安装,启动及pxe协议 ...
- Service系统服务(五):PXE基础装机环境、配置并验证DHCP服务、配置PXE引导、验证PXE网络装机、PXE+kickstart自动装机
一.PXE基础装机环境 目标: 本例要求为后续的PXE服务器构建提供RHEL7软件仓库,完成下列任务: 1> 在CentOS真机部署Web目录/var/www/html/rh7dvd 2&g ...
- PXE无人值守实现批量化自动安装Linux系统
设想一个场景:假如让你给1000台服务器装系统,你会怎么做?跑去每一台服务器给它安装系统吗?显然不会.. 一.概括 通过网络引导系统的做法可以不必从硬盘.软盘或CD-ROM硬盘,而是完全通过网络来引导 ...
- pxe+kickstart cobbler无人值守装机
环境准备: 一台服务器 [root@admin tftpboot]# cat /etc/redhat-release CentOS Linux release 7.2.1511 (Core) [roo ...
- PXE自动装机
PXE自动装机 一.搭建PXE远程安装服务器 PXE自动装机需要桌面模式 假如不是桌面模式安装的PXE需要安装桌面模式软件包 yum groupinstall "Desktop" ...
- Linux系统下手把手完成无人值守安装服务
刚入职的运维新手经常会被要求去做一些安装操作系统的工作,如果按照用镜像光盘安装操作系统,效率会相当低下.那么如何提升效率,搭建出一套可以批量安装Linux系统的无人值守的安装系统? PXE+TFTP+ ...
- PXE基础装机环境
PXE基础装机环境 案例1:PXE基础装机环境 案例2:配置并验证DHC ...
随机推荐
- python并发编程之多进程(实现)
一.multipricessing模块的介绍 python中的多线程无法利用多核优势,如果想要充分的使用多核CPU资源,在python中大部分情况下需要用多线程,python提供了multiproce ...
- 如何使用 highlight.js 高亮代码
highlight 是一款简单易用的 web 代码高亮插件,可以自动检测编程语言并高亮,兼容各种框架,可以说是十分强大了.下面就简单介绍一下如何使用这款插件. 两种使用方式: 1. 手动选择主题,官网 ...
- Electron应用使用electron-builder配合electron-updater实现自动更新(windows + mac)
发客户端一定要做的就是自动更新模块,否则每次版本升级都是一个头疼的事.下面是Electron应用使用electron-builder配合electron-updater实现自动更新的解决方案. 1.安 ...
- 关于static的一点点总结
1. 简述 在<Java编程思想>P86页有这样一段话: “static方法就是没有this的方法.在static方法内部不能调用非静态方法,反过来是可以的.而且可以在没有创建任何对象的前 ...
- Cypher查询语言--Neo4j 综合(四)
目录 返回节点 返回关系 返回属性 带特殊字符的标识符 列的别名 可选属性 特别的结果 查询中的返回部分,返回途中定义的感兴趣的部分.可以为节点.关系或其上的属性. 图 返回节点 返回一个节点,在 ...
- ABP官方文档翻译 2.3 缓存
缓存 介绍 ICacheManager 警告:GetCache方法 ICache ITypedCache 配置 实体缓存 实体缓存如何工作 Redis缓存集成 介绍 ABP为缓存提供了一个抽象接口,它 ...
- python扒取百宝彩网站江西快三当日期号及开奖结果
一.环境 windows10+python27 二.需求: 1.获取百宝彩网站中,江西快三当日的开奖期号和中奖号码: 2.根据输入期号,输出开奖号码: 三.上代码 #!/bin/env python ...
- 洛谷 [P1341]无序字母对
这道题第一眼以为是一道字符串的题,但细想一下是一道求欧拉路的图论题. 把每一对对应关系看成一条边,本题即求这张图上是否存在一个欧拉回路或欧拉路,并要求字典序最小的方案,那么我们在dfs的时候就要从该点 ...
- react native 常用组件汇总
react-native-uploader //文件上传https://github.com/aroth/react-native-uploader jpush-react-native //官方版本 ...
- appium如何切换Native和WebView
方法一: Set<String>contexts=driver.getContextHandles(); driver.context((String)contexts.toArray() ...