趣谈网络协议
刘超
前网易研究院云计算技术部首席架构师
128845 人已学习
新⼈⾸单¥68
登录后,你可以任选4讲全文学习
课程目录
已完结/共 51 讲
趣谈网络协议
15
15
1.0x
00:00/00:00
登录|注册

第4讲 | DHCP与PXE:IP是怎么来的,又是怎么没的?

上一节,我们讲了 IP 的一些基本概念。如果需要和其他机器通讯,我们就需要一个通讯地址,我们需要给网卡配置这么一个地址。

如何配置 IP 地址?

那如何配置呢?如果有相关的知识和积累,你可以用命令行自己配置一个地址。可以使用 ifconfig,也可以使用 ip addr。设置好了以后,用这两个命令,将网卡 up 一下,就可以开始工作了。
使用 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
你可能会问了,自己配置这个自由度太大了吧,我是不是配置什么都可以?如果配置一个和谁都不搭边的地址呢?例如,旁边的机器都是 192.168.1.x,我非得配置一个 16.158.23.6,会出现什么现象呢?
不会出现任何现象,就是包发不出去呗。为什么发不出去呢?我来举例说明。
192.168.1.6 就在你这台机器的旁边,甚至是在同一个交换机上,而你把机器的地址设为了 16.158.23.6。在这台机器上,你企图去 ping192.168.1.6,你觉得只要将包发出去,同一个交换机的另一台机器马上就能收到,对不对?
可是 Linux 系统不是这样的,它没你想的那么智能。你用肉眼看到那台机器就在旁边,它则需要根据自己的逻辑进行处理。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《趣谈网络协议》
新⼈⾸单¥68
立即购买
登录 后留言

全部留言(255)

  • 最新
  • 精选
  • 袁沛
    20年前大学宿舍里绕了好多同轴电缆的10M以太网,上BBS用IP,玩星际争霸用IPX。那时候没有DHCP,每栋楼有个哥们负责分配IP。

    作者回复: 赞

    10
    334
  • Will王志翔(大象)
    以问答写笔记: 1. 正确配置IP? CIDR、子网掩码、广播地址和网关地址。 2. 在跨网段调用中,是如何获取目标IP的mac地址的? 从源IP网关获取所在网关mac, 然后又替换为目标IP所在网段网关的mac, 最后是目标IP的mac地址 3. 手动配置麻烦,怎么办? DHCP!Dynamic Host Configuration Protocol! DHCP, 让你配置IP,如同自动房产中介。 4. 如果新来的,房子是空的(没有操作系统),怎么办? PXE, Pre-boot Execution Environment. "装修队"PXE,帮你安装操作系统。

    作者回复: 赞

    135
  • ERIC
    刘老师你好,文章关于DHCP可能是有两处错误。DHCP Offer 和 DHCP ACK都不是广播包,而是直接发到客户机的网卡上的。这是wiki上的链接: https://en.wikipedia.org/wiki/Dynamic_Host_Configuration_Protocol#DHCP_offer https://en.wikipedia.org/wiki/Dynamic_Host_Configuration_Protocol#DHCP_acknowledgement 另外我自己也抓了包验证,https://baixiang.oss-cn-shenzhen.aliyuncs.com/dhcp/dhcp.png。

    作者回复: 这个在答疑环节讲过啦

    13
    89
  • 机器人
    那么跨网段调用中,是如何获取目标IP 的mac地址的?根据讲解推理应该是从源IP网关获取所在网关 mac,然后又替换为目标IP所在网段网关的mac,最后是目标IP的mac地址,不知对否

    作者回复: 是的

    2
    50
  • 天涯囧侠
    在一个有dhcp的网络里,如果我手动配置了一个IP,dhcp Server会知道这个信息,并不再分配这个IP吗?会的话具体是怎样交互的呢?

    作者回复: 有可能冲突的,所以办公网里面一般禁止配置静态ip

    46
  • X
    进入BIOS设置页面,有一项PXE Boot to LAN,若设置为Enabled则表示计算机从网络启动,从PXE服务端下载配置文件和操作系统内核进行启动;若设置为Disabled则表示从本地启动,启动动BIOS后,会去寻找启动扇区,如果没有安装操作系统,就会找不到启动扇区,这个时候就启动不起来。

    作者回复: 是的,还有一种服务端的配置

    35
  • 我是曾经那个少年
    看了虽然懂了,但是对于一个做软件开发的,不知道怎么去实战!

    作者回复: 最后会有一个实验管理的搭建,一台机器足以

    35
  • 约书亚
    跨网段的通信,一般都是ip包头的目标地址是最终目标地址,但2层包头的目标地址总是下一个网关的,是么?

    作者回复: 是的

    6
    34
  • penghuster
    请教一下,pxe客户端请求的IP,是否最终会直接用于系统

    作者回复: 不会的,系统起来后配置ip是他自己的事情

    32
  • 陈浩佳
    我分享一个我最近遇到的问题: 最近我们的设备增加了dhcp自动分配地址的功能。我把几台设备连到同个路由器上,但是发现每台设备最后分配到的ip都是一样的,我登录了路由器里面查看,显示的设备列表确实是ip都是一致的,mac地址是不一致的。。。。所以就觉得有点奇怪。不过这里要说明的是,设备的mac地址是我们自己程序里面设置的,网卡不带mac地址的----最后查看代码发现,我们设备代码是先启动了dhcp客户端,后面再设置了mac地址,这里就有问题了,所以,我把它倒过来,先设置mac地址,再启动dhcp客户端,这样就解决问题了。。。由于原先启动dhcp的时候还未设置mac地址,所以默认的mac地址都是一致的,所以获取的ip都是一致的。但是,这里也说明一个问题,路由器列表上的mac地址不一定就是分配ip时的mac地址,如果分配到ip后再去修改mac地址,也是会同步到路由器上的,但是不会重新分配ip。

    作者回复: 赞,活学活用

    3
    29
收起评论
显示
设置
留言
99+
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部