news 2026/8/21 12:56:43

IP 混叠

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
IP 混叠

IP 混叠的概念

  • IP aliasing指的是在同一个网络接口(网卡)上配置多个 IP 地址。
  • 这些 IP 可以属于同一个子网,也可以属于不同子网。
  • 作用:一台设备可以同时参与多个网络,或者提供多个服务 IP。
  • U-Boot 的网络栈非常简化,只支持一个活动接口(ethact)和一个 IP 地址(ipaddr)。
  • Linux 网络栈允许在一个接口上绑定多个 IP 地址(通过ip addr add)。
  • Windows,BSD 系列,路由器/交换机大多数支持在逻辑接口上配置多个 IP(虚拟接口、子接口)

为什么服务器可以通过ip addr add添加另一个 IP?

  • 原因:Linux 支持多 IP 地址绑定在同一个网卡(多播地址或别名),这叫IP aliasing

  • 当你执行:

    sudo ip addr add 192.168.1.133/24 dev eth0

    你实际上给 eth0 增加了一个新的 IP 地址(192.168.1.133),并指定它属于 /24 子网(掩码 255.255.255.0)。

  • 这样,服务器同时拥有:

    • 原来的公司内网 IP(比如 10.x.x.x)
    • 新增的 192.168.1.133
  • 所以它可以同时在两个网络中通信(逻辑上是两个子网)。


计网知识点

  1. 子网(Subnet)
    • 子网掩码决定网络地址主机地址的划分。
    • /24→ 掩码 255.255.255.0 → 网络地址是前 24 位,主机地址是后 8 位。
    • 所以192.168.1.111192.168.1.133在同一子网,可以直接通信,无需网关。
  2. CIDR 表示法
    • /n表示前 n 位是网络地址位。
    • /24→ 255.255.255.0
    • /25→ 255.255.255.128
  3. 网关(Gateway)
    • 当目标 IP 不在本地子网时,需要通过网关转发。(例如如果板子IP设置为 192.168.1.111/25,则192.168.1.133与其不在同一子网,则需要网关转发)
    • 如果两台设备在同一子网,网关不参与(例如如果板子IP设置为 192.168.1.111/24,则192.168.1.133与其在同一子网,则不需要网关转发)。
  4. ARP(地址解析协议)
    • 在同一子网通信时,设备通过 ARP 获取对方的 MAC 地址。
  5. IP aliasing
    • 一个网卡可以绑定多个 IP 地址,属于不同子网或同一子网。

✅ 服务器:Linux 中设置IP混叠

现代 Linux 推荐使用ip命令:

# 添加 IP 地址 sudo ip addr add192.168.1.133/24dev eth0 # 删除 IP 地址 sudo ip addr del192.168.1.133/24dev eth0 # 查看 IP 地址 ip addr show dev eth0 # 查看Linux系统的路由表,路由表决定了当系统要发送一个 IP 数据包时,应该通过哪个接口、走哪条路径。 ip route # 查看ARP表(存储 IP → MAC 映射) arp-n

✅ 板子:U-Boot 中设置IP地址

  • ipaddr:本机 IP 地址。
  • netmask:子网掩码。
  • gatewayip:默认网关 IP,用于跨网段通信。
  • serverip:TFTP 或其他服务的服务器 IP。
  • ethadd:eth0 的MAC地址
  • eth1add:eth1的MAC地址

设置命令:

u-boot=>setenv ipaddr192.168.1.111 u-boot=>setenv netmask255.255.255.0#子网掩码,用于子网划分,1-255属于同一子网,不非该子网IP通信则需要走 gatewayipu-boot=>setenv serverip192.168.1.133# 服务器ipu-boot=>setenv gatewayip192.168.1.1# dhcp命令会自动获取,自己设置时没啥用u-boot=>saveenv

结论

  • 只要配置服务器增加一个混叠IP,让板子与服务器的混叠IP连接到同一交换机,后设置板子与服务器ip处于同一子网,板子就可以在uboot中通过tftp 0xD0000000 zephyr.bin;来从服务器获取文件了。
  • 问题:板子:192.168.1.111,服务器:192.168.1.133 不能相互ping通。
    • 现象:就是在 U-Boot 中ping 192.168.1.133是通的,在服务器ping 192.168.1.111不通。(只要在U-boot中执行个tftp 0xD0000000 111111.bin命令让Uboot网络处于活跃状态,就通了)
    • 原因:U-Boot 空闲时不响应 ARP 请求,Linux ping 时无法解析 MAC → ping 超时。一旦 U-Boot 进入网络命令(tftppingdhcp),它就会处理 ARP → Linux ping 成功。
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/21 23:39:58

公网IPv4建站的过程

把用公网IPv4建站的过程,比喻成“开一家有自己独立门牌号的店铺”,这样会非常通俗易懂。核心比喻你的电脑/服务器 你的店铺仓库(里面放着你的网站文件)。公网IPv4地址 你店铺独一无二的 “经纬度坐标” 或 “门牌号”&#xff0…

作者头像 李华
网站建设 2026/8/20 0:41:41

Wan2.2-T2V-A14B在游戏过场动画预演中的应用场景

Wan2.2-T2V-A14B在游戏过场动画预演中的应用场景 你有没有经历过这样的场景?策划写完一段史诗级BOSS战脚本,导演眉头紧锁:“这镜头到底该怎么拍?”美术组一脸茫然:“你说‘雷电劈下武器充能’……那光效是蓝紫色渐变还…

作者头像 李华
网站建设 2026/8/21 23:39:48

挖矿小游戏-jshook对抗 | AST插件还原多层For-Swtich控制流实战

【作者主页】:小鱼神1024 【擅长领域】:JS逆向、小程序逆向、AST还原、验证码突防、Python开发、浏览器插件开发、React前端开发、NestJS后端开发等等 本文章中所有内容仅供学习交流使用,不用于其他任何目的,不提供完整代码&#…

作者头像 李华
网站建设 2026/8/21 23:12:12

LeetCode876/141/142/143 快慢指针应用:链表中间 / 环形 / 重排问题

目录 一、876. 链表的中间节点(快慢指针基础) 题目核心 核心难点拆解 深度思路(盒子 - 标签 - 纸条模型) 代码实现(带关键点标注) 易踩坑点 & 底层原理 二、141. 环形链表(判环的必然…

作者头像 李华
网站建设 2026/8/21 16:42:46

CoreProtect快速部署指南:高效守护Minecraft服务器数据安全

CoreProtect快速部署指南:高效守护Minecraft服务器数据安全 【免费下载链接】CoreProtect CoreProtect is a blazing fast data logging and anti-griefing tool for Minecraft servers. 项目地址: https://gitcode.com/gh_mirrors/co/CoreProtect 作为Minec…

作者头像 李华
网站建设 2026/8/21 19:07:31

【国产】华为欧拉操作系统openEuler-LTS-22.03安装Docker-Compose保姆级教程

本文主要介绍华为欧拉操作系统 openEuler-LTS-22.03 安装Docker-Compose保姆级教程。后面文章将介绍通过 Docker Compose 一键部署应用。 一、Docker Compose介绍 Docker-Compose是Docker官方的开源项目,负责实现对Docker容器集群的快速编排。 Docker-Compose作用…

作者头像 李华