Linux自学笔记——dhcp,tftp,pxe

DHCP:Dynamic Host Configuration Protocol

IP/Nermask

Gateway

DNS Server

bootp:boot protocol --> dhcp

1.      Client:dhcp discover:发现

2.      Server:dhcp offer:(IP/netmask,gw)

3.      Client:dhcp request

4.      Server:dhcp ack

续租:

Client:dhcp request

Server:dhcp ack

Server:dhcp nak

Linux DHCP协议的实现程序:dhcp,dnsmasq

dhcp:

/usr/sbin/dhcpd

/etc/dhcp/dhcpd.conf --> /etc/rc.d/init.d/dhcpd

/etc/dhcp/dhcpd6.conf --> /etc/tc.d/init.d/dhcpd6

/usr/sbin/dhcrelay

/etc/rc.d/init.d/dhcrelay

67/udp

dhclient:68/udp

dhcpd.conf:

subnet NETWORK netmask MASK{   :定义子网,用于指明地址池;

range START_IP END_IP     :指明起始地址

}

host  passacaglia{

hardware ethernet 0:0:c0:5d:bd:95;

filename “ ”:指明引导文件名称;

next-server:提供引导文件的服务器ip地址;(为tftpserver,一般使用pxe时会用到此指令)

fixed-address IP:获得主机的固定ip地址

}

查看地址分配记录:

~]# cat /var/lib/dhcpd/dhcpd.leases

配置选项:

option domain-name “example.org”:定义搜索域;

option domain-name-servers  ns1.example.org, ns2.example.org;:指明配置给客户端的0dns地址;

default-lease-time  600:默认租期;

max-lease-time   7200:最大租约期限;

option routers GW1,GW2,…:配置给客户端的默认网关。

option  broadcast-address BROADCAST_ADDRESS;:配置给客户端的广播地址;

演示:dhcp服务器的配置

1.      实验环境准备;

两台虚拟机,都是centos6系统,一台作为dhcp服务器,一台作为客户端;

为了防止dhcp服务器对局域网的干扰。我们这里网络连接模式选择vmnet2通信;

2.      配置dhcp服务器;

Note:dhcp服务器的ip配置的静态ip地址,为192.168.19.134

3.      客户端设置为dhcp,用dhclient –d命令让其工作在前台;

测试:客户端获取到了ip地址,并在分配的地址范围之内;

tftp server:

tftp也是文件服务器的一种,不过一般在使用pxe装机环境下,使用的较多。

演示:

1.      安装tftp,编辑配置文件,将disable的值改为no;

其中/var/lib/tftpboot为tftp的工作目录

2.      启动超级守护进程;

3.      测试;

PXE

PXE:preboot execute environment,我们在大批量的安装linux系统时,通过光驱一个一个安装不仅麻烦,而且效率低下。此时我们便可以通过PXE安装。

1.      Pxe安装流程;

1)      客户机启动选择pxe网卡启动,从本网络中的dhcp服务器获取ip

2)      DHCP服务器发送ip给客户机;

3)      客户机向本机的tftp服务器索取文件

4)      客户机去的bootstrap文件后执行引导文件完成引导,读取配置文件,加载内核和文件系统

5)      进入安装画面,此时通过选择http、ftp、nfs方式进行安装;

2.      实现pxe网络安装必需的四个要素;

1)      客户机的网卡必需为pxe网卡

2)      网络中必需要有dhcp和tftp服务器,这两个服务器可以是同一台主机;

3)      所安装的操作系统必需支持网络安装。

4)      必须要有ftp,http,nfs,至少一个服务器,当然也可以和dhcp和tftp服务器同为一台物理主机。

示例1:centos6上pxe的实现

1.      安装dhcp,并复制/usr/share/doc/dhcp-4.2.5/dhcpd.conf.example到/etc/dhcp/dhcpd.conf,编辑配置文件;

2.      安装tftp-server,syslinux,tftp,xinetd,并编辑/etc/xinetd.d/tftp文件,将disable的值改为no,开启tftp;

3.      确保httpd已安装,并将光盘镜像文件,挂载至网页文件目录下,这里在/var/www/html/目录下创建了centos6目录

4.      准备/var/lib/tftpboot/目录下文件(tftp默认目录)

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

cp /var/www/html/centos6/images/pxeboot/{vmlinuz,initrd.img} /var/lib/tftpboot/

cp /var/www/html/centos6/isolinux/ {boot.cfg,vesamenu.c32,splash.png} /var/lib/tftpboot/

创建/var/lib/tftpboot/pxelinux.cfg目录,并在此目录下编辑default文件;

mkdir /var/lib/tftpboot/pxelinux.cfg/

cp /var/www/html/centos6/isolinux/isolinux.cfg  /var/lib/tftpboot/pxelinux.cfg/default

5.      准备kickstart文件,并将其放置在网页文件目录中(这里放在/var/www/html目录下,在上面default文件中指明的ks目录必须跟kickstart真实放置的目录对应),kickstart文件可用system-config-kickstart生成;

6.      启动服务,查看各服务端口是否开启;

7.      测试;

1)      将虚拟机网络连接设置问vmnet2通信,并且ip地址配置成静态ip;

2)      新建一台虚拟机,网络为vmnet2通信,开机测试;

Note:要保证dhcp服务器上的selinux和iptables关闭;

3)      进入菜单选项;

4)      自动化部署安装;

示例2:pxe的实现(centos7)

1.      安装dhcp,并复制/usr/share/doc/dhcp-4.2.5/dhcpd.conf.example到/etc/dhcp/dhcpd.conf,编辑配置文件;

2.      启动服务并验证udp的67端口是否开启

3.      安装tftp-server,xinetd,启动并测试udp的69号端口;

修改xinetd目录下的tftp配置文件,将disable的值改为no;

随后开启超级守护进程xinetd服务;

4.      安装httpd,并将镜像文件挂载至 网页目录;

5.      准备/var/lib/tftpboot目录下文件;

1)      安装syslinux程序包,它会提供pxelinux.0文件,将其复制到目录下;

2)      复制/usr/share/syslinux目录下的chain.c32,mboot.c32,menu.c32,memdisk四个文件,分别为基于链式方式引导文件,内存磁盘引导项,菜单项,内存当磁盘的模拟文件;

3)      复制光盘中images/pxeboot下的文件;

4)      准备kickstart文件;制作kickstart文件可用systemctl-config-kickstart文件,并将此文件复制到/var/www/html目录下;

Note:如果复制的本机中的anaconda-ks.cfg,注意修改权限。否则最后安装时可能会报错;

5)      在/var/lib/tftpboot目录下创建pxelinux.cfg目录,并创建为menu.c32提供菜单的配置文件(即菜单加载时用到的配置文件信息)

6.      测试;

1)      虚拟机中将服务器的网络连接自定义为vmnet2。防止dhcp服务器对局域网的干扰。并且更改服务器ip地址为静态ip;

2)      开启dhcp,vsftpd,等服务;

3)      新建一台虚拟机,网络连接也是vmnet2,测试开机,成功获取到ip地址并开始安装,等待安装完成即可;

原文地址:http://blog.51cto.com/claude666/2070080

时间: 2024-10-10 19:30:28

Linux自学笔记——dhcp,tftp,pxe的相关文章

Linux学习日志day1——无人值守系统安装DHCP+TFTP+PXE+Kickstar

Linux学习日志day1--无人值守批量系统远程网络安装(DHCP+TFTP+PXE+Kickstar)                                         --作者:江信瀚 服务器环境介绍: 主机名:workstation.example.com 关闭SElinux以及防火墙 虚拟机:VMware(关闭了VMware的DHCP服务) 网卡配置: 静态IP获取! IPV6全部都删除,因为根本用不到 子网IP可以在VMware中设置 8.8.8.8是谷歌的DNS服务器

Linux上基于网络自动化安装系统(CentOS6.5+DHCP+TFTP+PXE)

一.前言 安装系统常用的方式就是,光驱安装,U盘安装,但是这种手动安装方法效率都很低,而且出错概率大.现在网卡速率也都基本1000M,所以网络安装就显得更简单,把管理员从重复.繁琐的安装操作中解放出来.当然,这只是一个局域网内的实验配置,生产环境会有更专业的解决方案,但是这个原理都是一样的. 二.原理 本次实验用到的协议和技术有:    DHCP: Dynamic Host Configuration Protocol 动态主机配置协议    TFTP: Trivial File Transfe

DHCP+TFTP+pxe+Kickstart实现无人值守自动装系统

 已经提前配置好YUM 一.需检查iptableis是否关闭 二.安装DHCP服务并修改配置 三.安装tftp并修改其配置 四.配置PXE相关文件 五.使用system-config-kickstart生成自动装机配置文件,我这里是基于http实现的 六.修改/var/lib/tftpboot/pxelinux.cfg/default文件 七.把镜像放到http目录下 八.装机测试 OK DHCP+TFTP+pxe+Kickstart实现无人值守自动装系统

Linux自学笔记——Centos系统安装

安装程序:anaconda bootloaderàkernel(initrd(rootfs))àanaconda anaconda的两种方式: tui:基于cureses的文本配置窗口: gui:图形界面: centos的安装过程启动流程: 以光盘启动安装为例: MBR:boot.cat stage2:isolinux/isolinux.bin 配置文件:isolinux/isolinux.cfg 每个对应的菜单选项: 加载内核:isolinux/vmlinuz 向内核传递参数:append 

Linux自学笔记——Linux网络基础、命令及属性配置

网络对于Linux来说不可或缺的一部分,本文主要对linux网络的基础知识,常用配置命令以及linux配置文件的属性等等作一个总结. 计算机网络: TCP/IP协议栈: TCP/IP分为4层,分别为应用层,传输层,网络互连层,主机到网络层,不同于OSI,他将OSI中的会话层.表示层规划到应用层,把数据链路层和物理层划分给主机到网络层. OSI,Open System Interconnection,开放式系统互联,国际化标准组织ISO制定了OSI模型,该模型定义了不同计算机互联的标准,是设计和描

Linux自学笔记--基础命令date,cal等

逆水行舟,不进则退: date命令: 我们可以来man一下date命令,可以在上面看出 date的含义为 - print or set the system date and time,我们从以下几方面对date命令进行阐述. 1.   显示时间 date[OPTION]... [+FORMAT] format:格式符号 %D: %F: %T: 在屏幕中输入单独的date命令可以显示系统的时间: 同时我们也可以显示自己想要的时间显示格式: 2.   设置时间 date[-u|--utc|--un

linux自学笔记——RAID级别特性以及软RAID的实现

RAID,Redundant Arrays of Inexpensive Disks 廉价冗余磁盘阵列,又称为Redundant Arrays of Independent Disks,独立冗余磁盘阵列. 其基本原理就是利用多块较小的磁盘通过不同的组织方式,组成一个大的磁盘组,以提高磁盘的IO能力和耐用性.由于组织方式不同,所以把RAID分为多个级别.而最常用的是RAID0,RAID1,RAID5,RAID6,RAID10,RAID01.下面我们将对以上的级别进行比较分析. 级别:level R

Linux自学笔记——Centos启动流程

Centos启动流程大概为:POST --> Boot Sequence(BIOS)--> Boot Loader (MBR) --> Kernel(ramdisk) --> rootfs (readonly)-->switchroot --> /sbin/init -->(/etc/inittab, /etc/init/*.conf) --> 设定默认运行级别 --> 系统初始化脚本 --> 关闭或启动对应级别下的服务 --> 启动终端.

linux学习笔记 DHCP服务器的配置

首先,在学习之前,我们需要了解 DHCP DHCP服务器:动态主机配置协议是一个局域网的网络协议.指的是由服务器控制一段IP地址范围,客户机登录服务器时就可以自动获得服务器分配的IP地址和子网掩码. DHCP服务器的功能: 两台连接到互联网上的电脑相互之间通信,必须有各自的IP地址,由于IP地址资源有限,宽带接入运营商不能做到给每个报装宽带的用户都能分配一个固定的IP地址(所谓固定IP就是即使在你不上网的时候,别人也不能用这个IP地址,这个资源一直被你所独占),所以要采用DHCP方式对上网的用户