Loading

4, DHCP与PXE:IP是怎么来的,又是怎么没的

如何配置IP地址

  • 使用net-tools
    ifconfig eth1 10.0.0.0/24
    ifconfig eth1 up
    
  • 使用iproute2
    ip addr add 10.0.0.1/24 dev eth1
    ip link set up eth1
    
  • 更改配置文件(多数情况)
    • 文件内容:CIDR、子网掩码、广播地址和网关地址。

问题: 配置地址时,当你把 ip 地址改为与局域网内的机器不同网段,会发现ping 不通与你处于同一局域网的机器,为什么?
假设你将IP地址更改为15.157.*.*,你要发送的及其IP地址为192.168.1.6,那么你会尝试获取网关的MAC地址,而根据你的IP地址,你的网关地址为15.157.*.*?,所以获取不到网关的MAC地址,发送失败。

graph LR
A{请求的ip是否处于同一网段}-->|是|B(发送ARP请求获取MAC地址)
A-->|否|C(查看是否配置网关)
C-->|是|D(尝试获取网关的MAC地址)
C-->|否|E(发送失败)

动态主机配置协议(DHCP)

网络管理员需要配置一段共享的IP地址,接入的机器都通过DHCP从共享的IP地址里申请,就可以自动配置(用完即还?所以叫动态?)

img

DHCP工作方式
  1. "一声吼-DHCP Discover":新机器加入一个网络时,先使用 IP地址 0.0.0.0 发送一个广播包,目的地址为 255.255.255.255。
    • 广播包封装在UDP里面,UDP封装在BOOTP里面
    • DHCP是BOOTP的增强版
    • 广播包里, BOOT request(我是新来的) ,请求IP(没有IP),MAC地址(发过来)
      img
  2. "我给你-DHCP Server -> DHCP Offer"
    • DHCP Server: 需要配置的服务内容?
    • DHCP Offer : 给新机器分配一个ip的过程(并保证此ip不在分配给其他机器)
      • BooT reply(给你发过去),MAC地址(你的地址),IP(给你分配的IP),(其他:子网掩码,网关,IP地址租用期)
        img
      • 如果有多个DHCP Server,新机器会收到多个IP地址。新机器会选择其中一个DHCP Offer(一般是最先到达),并且向网络发送一个DHCP Request 广播数据包,告诉所有DHCP Server 将接受那一台服务器提供的IP地址,请求其他DHCP服务器撤销提供的IP地址。(MAC地址(是我),提供IP的DHCP服务器地址(要他给的),接受的IP(这个IP))
        img
  3. "约定达成"
    • 约定达成前:客户端使用 0.0.0.0 为源地址,255.255.255.255为目标地址进行广播
    • 直到,BOOTP里接收某个DHCP Server 分配的IP,发送DHCP request 广而告之(我选他了)
    • DHCP Server 接收到 DHCP request 后,会广播返回给客户机一个 DHCP ACK 消息包(表明接受客户机的选择),并将IP地址的合法租用信息和其他配置信息也一起发送.
      img
    角色:DHCP Server,客户端
    Boot Request  , Boot Reply
    类比:租房子,
        1,发布通告我要租房子
        2,房东都来联系你,给你地址
        3,你选择一个地址后,发通告给所有房东说你选好了
        4,被你选的房东看到了,给你发更详细的合同
    
IP地址的收回和续约
  • 续约需要提前(打招呼),不能到了时间再续租
  • 一般是在租期过去50%时候,客户机会向提供IP地址的DHCP Server 发送 SHCP request消息包
  • 客户起会收到服务器回应的 DHCP ACK 消息包,以此更新自己的配置(新的租期,更新的TCP/IP参数)

预启动执行环境(PXE)

系统启动过程:
graph LR
A[启动BIOS]-->|读取硬盘的MBR启动扇区|B[启动GRUB]
B-->C[加载内核-根文件系统的文件]
C-->D[内核启动,初始化系统]
预启动执行环境(Pre-boot Execution Envionment)
  • PXE 协议分为客户端和服务器端(客户端没有操作系统,只能先把客户端放在BIOS里)
  • BIOS 把PXE客户端调入内存里,PXE客户端发送DHCP请求,让DHCP server分配IP地址和PXE服务器地址
  • DHCP Server 配置:可以增加PXE服务器地址(安装操作系统)
  • DHCP配置样例:
    1. IP地址段,子网掩码,网关地址,租期;
    2. 指向 PXE服务器的地址(next server),初始启动文件 filename(会下载这个文件)
     ddns-update-style interim;
     ignore client-updates;
     allow booting;
     allow bootp;
     subnet 192.168.1.0 netmask 255.255.255.0
     {
     option routers 192.168.1.1;
     option subnet-mask 255.255.255.0;
     option time-offset -18000;
     default-lease-time 21600;
     max-lease-time 43200;
     range dynamic-bootp 192.168.1.240 192.168.1.250;
     filename "pxelinux.0";
     next-server 192.168.1.180;
     }
    
PXE工作过程
  1. 启动 PXE客户端(通过DHCP协议从DHCP Server获得:IP地址,PXE地址,启动文件)
  2. 下载启动文件(使用TFTP协议,所以PXE服务器上还有TFTP服务器,用来响应PXE客户端的下载请求)
  3. PXE客户端接收并执行文件;下载的文件会指示PXE客户端向TFTP服务器请求计算机的配置文件pxelinux.cfg(里面有内核、initramfs 等信息),;读取配置文件请求安装所需文件。 img

问题:

  1. PXE协议可以用来安装操作系统,但如果每次重启都安装操作刺痛。怎么让第一次安装操作系统,后面正常启动?
  2. 组网?
posted @ 2025-03-12 22:34  一起滚月球  阅读(59)  评论(0)    收藏  举报