DHCP & PXE

手动设置 IP 的方式

net-tools
$ sudo ifconfig eth1 10.0.0.1/24
$ sudo ifconfig eth1 up
iproute2
$ sudo ip addr add 10.0.0.1/24 dev eth1
$ sudo ip link set up eth1

一个包要发出去,怎么知道对方的 MAC 地址?

  • Linux 会判断,要去的地址和我是一个网段吗,或者和我的一个网卡是同一网段吗?
  • 如果是同一个网段的:
    • 会发送 ARP 请求,获取目标的 MAC 地址;
  • 如果不是同一个网段的
    • 不会直接将包发送到网络上,而是试图将包发送到网关,由网关将包发出去;
    • 由网关发出去的包,到目标机器,虽然 IP 对上了,但是 MAC 对不上,MAC 是网关的,所以不会接收这个包;
    • 如果没有配置网关,包根本发不出去,配置给网关的 IP 要和当前网络在一个网段;

DHCP 动态主机配置协议

  • DHCP Discover:新来的机器用 IP 0.0.0.0 发送广播包,目标 IP 为 255.255.255.255,带着自己的 MAC,向 DHCP Server 租 IP;
  • DHCP offer:DHCP Server 向新来的机器提供一个 IP,看它是否接受;
  • DHCP request:新来的机器发送一个广播包,说接受;
  • DHCP ack:敲定租约,广播一下,让大家都知道;

PXE(Pre-boot Execution Environment)预启动执行环境

  • DHCP 服务处理可以给新入网的机器分配 IP,还可以和 PXE 配合,给新机器安装操作系统;
  • 操作系统的启动过程:BOIS -> MBR(启动扇区) -> GRUB -> 内核 -> 操作系统;
  • PXE 客户端在 BOIS 启动后被加载到内存;
  • PXE 客户端启动起来之后向 DHCP Server 要一个 IP;
  • DHCP Server 给 PXE客户端 一个 IP 和 PXE 服务器的地址;
DHCP 额外配置
  • next-server 指向 PXE 服务器的地址;
  • 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 的工作过程

  • TFTP 服务器一般就和 PXE 服务器在一台机器中;
  • PXE 客户端问 DHCP 服务器要一个 IP 和 PXE 服务器的地址;
  • PXE 客户端向 PXE 服务器要启动文件;
  • PXE 客户端执行启动文件;
  • PXE 客户端向 PXE服务器要配置文件;
  • PXE 客户端根据配置文件要内核;
  • 加载内核;
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值