[问题1] 为什么要给网桥分配MAC和IP地址?

https://unix.stackexchange.com/questions/319979/why-assign-mac-and-ip-addresses-on-bridge-interface

我在Linux上创建了一个网桥接口br0, 然后给它添加了一些接口eth0,tap0等等. 我的理解是网桥接口就像带着接口(端口)的虚拟交换机.

给网桥接口分配MAC和IP地址是什么意思? 该接口是否充当交换机/网桥上的附加端口, 允许其他端口访问主机?

我已经看了一些页面在讨论将IP地址分配给网桥, MAC地址的分配是自动的?

[答案1]

由于网桥是以太网设备, 因此需要MAC地址. Linux网桥能发起一些东西, 例如STP(生成树协议)帧, 类似的流量需要源MAC.

网桥的IP地址不是必须的, 有许多情况下都不需要. 但是在某些情况下需要IP, 例如:

  • 网桥用作一组容器或虚拟机的默认网关(因为路由发生在IP层)
  • 主网卡是网桥的一个成员. 此时网桥是用户与外界的连接, 此时无需将IP分配给主网卡eth0, 而是分配给桥接设备

如果网桥不需要IP路由, 那就不需要IP地址. 例如以下情况:

  • 网桥用来创建一个私有网络, 不与外界连接, 或通过网桥以外的设备提供外部连接

[答案2]

网桥是软件交换机, 每个从设备和桥接器本身都是交换机的端口.

[答案3]

与其他网络设备一起列出来的不代表虚拟网桥, 代表的是连接到网桥的虚拟网卡. 如果你有一个物理设备连接的物理网桥, 你也不会在网络设备中看到物理网桥——但是你会看到连接到该网桥的网卡, 既然是网卡自然就有自己的IP地址.

为网桥设备分配IP地址(实际上是连接到网桥的网卡), 可以使你的主机上的设备将网络包路由给网桥创建的子网和网桥连接的所有设备.

尽管有iproute2之类的工具可以让您看到网桥的虚拟网卡, 但你也可以通过自带的brctl程序查看. brctl show命令会列出所有的网桥和网桥上面的接口. 下面是用iproutebrctl查看Linux网桥和tun tap设备的例子:

$ ip link add br0 type bridge
$ ip tuntap add dev tap0 mode tap
$ ip tuntap add dev tap1 mode tap
$ ip addr add 10.0.0.1/24 broadcast 10.0.0.255 dev br0
$ ip addr add 10.0.0.2/24 broadcast 10.0.0.255 dev tap0
$ ip addr add 10.0.0.3/24 broadcast 10.0.0.255 dev tap1
$ brctl addif br0 tap0
$ brctl addif br0 tap1
$ brctl show
bridge name     bridge id               STP enabled     interfaces
br0             8000.2e22e593fe8c       no              tap0tap1
$ ip addr show to 10.0.0.0/24
11: br0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000inet 10.0.0.1/24 brd 10.0.0.255 scope global br0valid_lft forever preferred_lft forever
12: tap0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast master br0 state DOWN group default qlen 1000inet 10.0.0.2/24 brd 10.0.0.255 scope global tap0valid_lft forever preferred_lft forever
13: tap1: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast master br0 state DOWN group default qlen 1000inet 10.0.0.3/24 brd 10.0.0.255 scope global tap1valid_lft forever preferred_lft forever

请注意, brctl show输出的"interfaces"是依附于网桥的其它网络设备, 接口br0在网桥创建的时候就加上去了. (答主)猜测可能是Linux系统不允许创建不连接设备的虚拟网桥, 无设备的网桥会被自动删除.

[问题2] 为什么网桥需要IP地址?

https://askubuntu.com/questions/407828/why-do-we-need-an-ip-address-for-a-bridge

网桥是第二层的网路设备, 在物理网桥上只有用于操作和维护的IP地址. 我有点困惑, 为什么在KVM中需要给网桥添加IP地址. 我知道VM的网卡得到IP地址, 附加在网桥上的物理网卡没有IP地址. 这样可以确保虚拟机的IP地址对外可见. 在服务器环境下, 我只会给虚拟机分配静态IP.

假设给虚拟机分配静态IP, 那为什么网桥也需要IP地址呢?

[答案1]

你不需要给网桥配置IP, 同样你也不需要给任何以太网设备配置IP, 无论实在虚拟机还是物理机.

但是, 如果你的设备/网桥没有IP地址, 则你可能无法使用这个设备.

例如, 如果安装了KVM的主机有一个网桥叫做 br_vm 作为所有虚拟机的网络接口(guest很有可能把这个接口叫做eth0), 如果br_vm在主机上没有配置, 则虚拟机无法通过eth0和宿主机通信.

你问的是为什么网桥需要IP地址, 答案是不需要. 但是, 你可能想知道哪些情况下宿主机上的网桥必须有IP, 我能想到一些例子:

  • 你想让虚拟机和主机通信, 即使只是为了DHCP或者DNS
  • 你想关掉VM之间的通信. 如果你的VM共享网桥, 那就需要仔细考虑了
  • 你想拥有主机级别的防火墙. 把所有防火墙规则聚集到主机上是明智的选择.

顺便说一下, 如果VM需要动态IP, 那就与主机是否有IP无关了(除非主机是DHCP服务器)

[答案2]

我假设你的主机使用/etc/network/interfaces进行网络配置.

如果在网桥接口(本例是br0)中将地址指定为0.0.0.0, 你就知道答案了: 连接到网桥的VM仍然有自己的IP, 并且网络没有中断.

但是, 你随后将丢失到网桥到主机的端口. 如果你在interfaces文件中指定了IP地址, 则该地址就成为网桥上主机的IP, 正如传统交换机的管理接口.

请记住, 网桥就像一个独立的交换机, 但主机仍然在"管理"它, 因此添加IP只会添加一个寻址的管理接口.

如果你的主机有两个网卡, 你可以为VM的网桥设置0.0.0.0, 然后用另一个网卡进行管理.

为什么要给网桥分配IP地址相关推荐

  1. 划分VLAN,根据每个VLAN通过DHCP分配IP地址

    一.新建立VLAN2并配置 switch>en //进入特权模式 switch#con //进入全局配置模式 switch(Config)#l3-forward enable  //开启三层转发 ...

  2. js 根据掩码位计算可用ip地址_变长子网掩码:轻松分配IP地址(下)

    Hello,World. 如约而至 土土来更文咯[吐舌] 图1 首先先揭晓一下 上一篇文章的答案 那就是 192.168.1.0/24与192.168.2.0/24不能ping通 192.168.1. ...

  3. DHCP分配IP地址详细流程讲解(附图,建议PC观看)

    目录 一.DHCP分配IP地址流程: ​第一步:DHCP Client请求IP--DHCP Client以广播的方式发出DHCP Discover报文 第二步:server响应--DHCP Serve ...

  4. 通过radius给ppp客户端分配ip地址

    radius给ppp客户端自动分配ip地址有两种方法,一种是通过users文件,一种是使用ippool模块 第一种方法非常简单:第二种方法非常难,本人也还未实现,摸索ing: 今天介绍如何通过user ...

  5. 华为eNSP 配置DHCP自动分配IP地址

    目录 ​一.DHCP Global 全局配置地址池 (一)修改与客户端相连的接口 (二)配置DHCP地址池 (三)自动获取IP 二.高级DHCP配置 三.DHCP interface 基于接口的DHC ...

  6. DHCP如何分配IP地址

    这次为了实现DHCP分配IP地址,我用到了eNSP软件,下面给大家写一些这个软件中一些基础配置 设备的基础配置: < Huawei > <>代表了当下所在的模式,不同的模式具有 ...

  7. 路由器自动ip服务器无响应,路由器无法自动分配IP地址原因及解决方法

    在现在生活中,路由器担当了很多要的作用,兼职较多服务器功能,这样的规划确实方便了管理和维护,但也为网络的安全.稳定运行埋下了隐患,一旦网络发生故障,对整个局域网的影响几乎是毁灭性的,本篇介绍如何解决路 ...

  8. TIA博途中如何为PLC分配IP地址?

    TIA博途中如何为PLC分配IP地址? 为PLC分配IP地址的具体步骤如下: 1. 创建新项目.打开TIA Portal软件,如下图所示,填写项目名称.路径等信息,点击创建. 2. 创建完成后,点击& ...

  9. 前端学习--【训练营】Cisco PT Student模拟dhcp自动分配IP地址实现网络互联

    1)准备路由器2911一个,交换器2960两个,终端设备PC-PT三个,Laptop-PT三个,线缆:自动选择连接类型.如图所示连接 2)单机上方路由器Router0,进入CLI命令行模式 3)输入n ...

最新文章

  1. jenkins添加git源码目录时报Error performing command错误
  2. 为SQL Server 2005启用对 4 GB 以上物理内存的支持
  3. 树莓派3B+功耗测试、初体验、图形化配置树莓派3B+配置方法。Raspberry Pi 3B+测评...
  4. Axure--Web原型开发工具
  5. Java动态代理详解(Proxy+InvocationHandler)
  6. jmxtrans安装使用
  7. Android 系统(167)----OTA升级常见问题
  8. 推荐系统实战学习速成攻略1——预测准确度
  9. webstore报 ESLint: Expected space or tab after '//' in comment.(spaced-comment)
  10. _Linux学习手册(二)—文件目录类命令
  11. mysql5和8怎么同时安装_WINDOWS服务器同时安装多个版本的MYSQL的方法,MQYSQL5和MQYSQL8的共存。...
  12. 图像处理中的深度学习技术
  13. Android文件系统编译出错记录
  14. (转载)重新编译SJF2410以适应NM9805并口卡(PCMICIA接口)
  15. Tomcat网站上的core和deployer的区别
  16. 接口测试中Post方法怎么测?
  17. 51nod-1278 相离的圆
  18. Android关联文件类型,使得自己app支持打开【加入到“用其它应用打开”的列表中】
  19. 渣渣本科的2021届秋招总结-泪目
  20. 原生js实现fadein 和 fadeout淡入淡出效果

热门文章

  1. gs地图开发_当红小生东风风神奕炫GS 有颜有型
  2. java 设置纸张大小设置_java 用itext设置pdf纸张大小操作
  3. oracle配DISPLAY,ORACLE安装DISPLAY变量设置
  4. webERP的深入浅出系列——1 基础数据准备初始化
  5. 关于MATLAB中clear的用法
  6. 运营商,我看未必成为夕阳行业
  7. ORACLE各种常见java.sql.SQLException归纳
  8. PHP单例模式(转载)
  9. Matlab二值图像进行轮廓提取
  10. 一键改计算机名字,上万文件如何快速批量重命名?原来只要一键就能搞定!-批量改文件名...