本文共 3281 字,大约阅读时间需要 10 分钟。
PXE依赖于DHCP技术
DHCP:把一个主机接入TCP/IP网络,要为其配置哪些网络参数IP/MASK---只能本地网络通信Gate---可以跨网段通信DNS Server---可以基于主机名通信Wins Server---基于windows主机名通信NTP Server参数配置方式:静态指定动态分配bootp:boot protocol引导协议,无盘工作站使用,并且分配地址以后就固定了,因为服务端要绑定IP和操作系统。操作系统运行在内存中,跟硬盘没有关系dhcp:重复收回,临时分配(有时候地址数小于主机数),引入了“租约”的bootp,也可以实现为特定主机保留某固定地址DHCP:动态主机配置协议 arp:address resolving protocol地址解析协议 知道对方的IP但不知道对方的MAC rarp:reverse arp反向地址解析协议 知道对方的MAC但不知道IP 监听的端口: Server:67/udp Client:68/udp---客户端也需要监听,必须是一个守护进程工作流程:---都是通过广播完成的 (1)Client:dhcp discover---发现报文 (2)Server:dhcp offer(ip/mask,gw,...)---响应 lease time:租约期限,可以自己定义 (3)Client:dhcp request---请求使用服务器发给它的 (4)Server:dhcp ack---确认续租:---单播 50%时提出续租,延长50%的租约时间,如果找不到在75%,再续租,如果找不到87%再广播 单播给服务器: dhcp request dhcp ack---确认可以继续用 dhcp request dhcp nak---不租了 dhcp discover:广播Centos: dhcp包:(ISC提供,还有named包)named提供dns dnsmasq包:提供dhcp&dns服务,很小的单进程,通常用在小规模环境中 dhcp:不能同时提供两种服务 dhcpd:dhcp服务 dhcrelay:中继服务
客户端刚开机时,发送一个rarp报文,请求地址,服务端找有没有可以分配的地址,然后发给客户端,客户端配置给自己,如果有多个服务器,那么谁的报文到达最快选择谁
DHCP分配地址的范围叫做作用域,管理多个作用域的时候还可以定义超级作用域,dhcp必须在本地网络为本地网络服务,不能为外部网络提供服务,dhcp还可以提供让客户端去服务器加载文件的功能option domain-name "magedu。com";---option用来定义配置时的配置选项
option routers 172.18.100.6;---指定网关option domain-name-servers 172.18.0.1;default-lease-time 43200;---默认租约期限,单位秒
max-lease-time 86400;---最大租约期限log-facility local7;
subnet 10.152.187.0 netmask 255.255.255.0 {}---subnet定义一个作用域,称为一个子网
subnet 172.18.0.0 netmask 25.255.0.0 {
range 172.18.100.101 172.18.100.120;}subnet 10.254.239.0 netmask 255.255.255.224 {
range 10.254.239.10 10.254.239.20;---指明地址池option routers rtr-239-0-1.example.org,rtr-239-0-2.example.org;---用来指明其他参数,除了地址和掩码以外的}subnet 10.5.5.0 netmask 255.255.255.224 {
range 10.5.5.26 10.5.5.30;option domain-name-servers ns1.internal.example.org;---DNS服务器地址,可以有多个,对linux而言最多是三个option domain-name "internal.example.org";---指明搜索后缀option routers 10.5.5.1;---指明网关option broadcast-address 10.5.5.31;---指明广播地址max-lease-time 7200;}host passacaglia {---指明一个主机名,并不是真正的主机名,而只是在dhcp配置文件中区别不同的主机的标识
hardware ehternet 0:0::c0:5d:bd:95;---只要是这个mac地址filename "vmunix.passacaglia";---获取地址后腰去主机加载一个文件server-name "toccata.fugue.com";---去这个主机加载这个文件}host fantasia {
hardware ethernet 08:00:07:26:c0:a5;fixed-address fantasia.fugue.com;---表示固定地址}定义好以后:
systemctl start dhcpd.servicess -unl---dhcp监听在udp的67号端口视频中演示:先关闭虚拟机的dhcp功能,在客户端使用命令dhclient -d命令(这就是监听在客户端68端口的进程)表示运行在前台,不加-d表示运行在后台,会看到客户端发送的信息,此时如果修改dhcp的地址池,再重启dhcp服务,那么客户端会重新获得一个IP地址route -n---可以查找网关,还可以指定网关,全局指定或者在子网中指定如果没有变化,使用nmtui命令把获取方式改为自动获取systemctl restart network.serviceifconfigroute -n/etc/resolv.conf---dns在这里配置
如果不想使用服务端分配的dnsvim /etc/sysconfig/network-scripts/ifcfg-eno16777736NAME="eno16777736"DEVICE="eno16777736"ONBOOT=yesNETBOOT=yesUUID="c4e3e4b5-e373-4743-a25d-dc2c02546ff9"IPV6INIT=noBOOTPROTO=dhcpTYPE=EthernetDEFROUTE=yesIPV4_FAILURE_FATAL=noPEERDNS=yes---把这里改为noPEERROUTES=yes然后编辑vim /etc/resolv.confsearch magedu.comnameserver 2.1.1.1地址池中的地址分配给谁了,可以去
/var/lib/dhcpd/dhcpd.leases查看转载于:https://blog.51cto.com/13852573/2408164