加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

linux – 桥接具有多个IP的网络设备

发布时间:2020-12-13 16:53:06 所属栏目:Linux 来源:网络整理
导读:我有一个带有单个NIC的小型服务器,我试图让桥接器运行,以便我可以运行KVM.在这个NIC上,我有几个静态分配给它的IP: eth0 = 192.168.1.1eth0:1 = 192.168.1.2eth0:2 = 192.168.1.3eth0:3 - Assign the bridge to this 我正在尝试使用以下说明设置桥接器: sud
我有一个带有单个NIC的小型服务器,我试图让桥接器运行,以便我可以运行KVM.在这个NIC上,我有几个静态分配给它的IP:
eth0 = 192.168.1.1
eth0:1 = 192.168.1.2
eth0:2 = 192.168.1.3
eth0:3 -> Assign the bridge to this

我正在尝试使用以下说明设置桥接器:

sudo brctl addbr br0
sudo brctl addif br0 eth0:3
sudo ifconfig br0 192.168.1.120 netmask 255.255.255.0 up
sudo route add -net 192.168.1.0 netmask 255.255.255.0 br0
sudo route add default gw 192.168.1.1 br0
sudo tunctl -b -u root -t tap0 > /dev/null
sudo ifconfig tap0 up
sudo brctl addif br0 tap0

但是,当我执行第二个命令时:

sudo brctl addif br0 eth0:3

它将整个eth0设备置于混杂模式.这会使服务器脱机并且无法通过本地以外的任何其他方式访问.

有没有办法将JUST eth0:3桥接到br0而不是将整个设备置于混杂模式?

解决方法

简而言之,据我所知,没有.

答案很长:桥是第2层设备.将其视为虚拟交换机.要在网卡和内部设备之间建立桥接,您需要获取网卡上的所有数据并将其放在网桥上(减去第2层过滤,例如.1q vlan).让我画一幅图来解释:

这就是您希望它工作的方式(路由方案):

<vif> ---- <br0> --- <eth0:3> ---- <peth0> --- <internet>

但实际上虚拟桥总是在第2层上桥接:

<br0> --- <peth0>-------<internet>
  |          |
<vif0>    <eth0>
          <eth0:2>

这里peth0是你的物理设备,而eth0是逻辑设备(有地址等).

要获得所需的方案,您将不得不使用路由而不是桥接. peth0处于promiscious模式的原因是因为它可能会过滤出桥上设备的数据.它不知道桥上的设备可能听到什么.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读