为什么我不能在桥接模式下在两个同级Macvlan之间ping?

吕韦拉

在连接到家庭局域网的Ubuntu 20.04计算机上,我在以太网设备下创建了macvlans:

$ sudo ip link add macvlan1 link enp37s0 type macvlan mode bridge
$ sudo dhclient macvlan1
$ sudo ip link add macvlan2 link enp37s0 type macvlan mode bridge
$ sudo dhclient macvlan2

偶然地,他们从DHCP获得了以下地址:

  • macvlan1:192.168.0.40
  • macvlan2:192.168.0.41

我可以从每个路由器ping我的路由器:

$ ping 192.168.0.1 -I macvlan1
PING 192.168.0.1 (192.168.0.1) from 192.168.0.40 macvlan1: 56(84) bytes of data.
64 bytes from 192.168.0.1: icmp_seq=1 ttl=64 time=0.713 ms
64 bytes from 192.168.0.1: icmp_seq=2 ttl=64 time=1.25 ms
64 bytes from 192.168.0.1: icmp_seq=3 ttl=64 time=1.20 ms
^C
--- 192.168.0.1 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2034ms
rtt min/avg/max/mdev = 0.713/1.052/1.245/0.240 ms

$ ping 192.168.0.1 -I macvlan2
PING 192.168.0.1 (192.168.0.1) from 192.168.0.41 macvlan2: 56(84) bytes of data.
64 bytes from 192.168.0.1: icmp_seq=1 ttl=64 time=1.15 ms
64 bytes from 192.168.0.1: icmp_seq=2 ttl=64 time=1.13 ms
64 bytes from 192.168.0.1: icmp_seq=3 ttl=64 time=1.07 ms
64 bytes from 192.168.0.1: icmp_seq=4 ttl=64 time=0.548 ms
64 bytes from 192.168.0.1: icmp_seq=5 ttl=64 time=0.619 ms
^C
--- 192.168.0.1 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4030ms
rtt min/avg/max/mdev = 0.548/0.903/1.148/0.263 ms

由于它们是在桥接模式下创建的,因此虚拟设备应相互连接。但是我不能彼此ping通:

$ ping 192.168.0.40 -I macvlan2
PING 192.168.0.40 (192.168.0.40) from 192.168.0.41 macvlan2: 56(84) bytes of data.
^C
--- 192.168.0.40 ping statistics ---
5 packets transmitted, 0 received, 100% packet loss, time 4128ms

$ ping 192.168.0.41 -I macvlan1
PING 192.168.0.41 (192.168.0.41) from 192.168.0.40 macvlan1: 56(84) bytes of data.
^C
--- 192.168.0.41 ping statistics ---
3 packets transmitted, 0 received, 100% packet loss, time 2039ms

为什么我不能互相ping通?如何解决这个问题?

直接

Linux内核检测到具有本地源地址的传入数据包,将其视为路由错误(特定计算机发出的数据包永远不会回来),并丢弃它们以防止网络泛滥。

尝试将每个macvlan放入不同的网络名称空间(毕竟,macvlan被设计为可用于网络名称空间)。然后它应该工作。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

为什么我不能在两个div之间应用间距

为什么我不能在两个渲染函数中传递一个函数?

为什么我不能在一个模板中显示两个列表视图?

为什么我不能在 R 中使用 left_join 合并两个文件?

为什么我不能在Postgresql中用“ with”语句捆绑两个sql命令?

为什么我不能在PyCharm中导入两个模块?

为什么我不能在HTML中将屏幕分为两个div?

为什么我的if语句不能在两个嵌套执行中确定正确的输出?

为什么我不能在 Ubuntu 上加入这两个文件?

为什么我不能两个接一个地等待?

在两个桥接的物理接口之间分接

为什么我不能计算两个numpy数组之间的距离?

在两个接口之间建立双向桥接

为什么我不能在一台计算机上同时使用两个或多个键盘/鼠标?

为什么我不能对齐两个按钮

为什么不能在一个函数中混合两个原语?

为什么两个if语句不能在一个函数中起作用?

¿为什么我不能在这个查询处理程序中连接两个数组?

为什么不能在一行中交换列表中的两个项目?

为什么jQuery Datepicker不能在两个输入值上工作?

为什么这两个表不能在Python中联接?

为什么两个跨度不能在div中居中?

我不能在布局的中心放置两个图像

为什么我的 Unity 的 C# 相机控制器脚本只能在两个相机之间切换,而不是切换回来?

为什么不能在两个dom元素中追加同一个孩子?

为什么tidyverse :: map不能在一个小标题中同时使用两个列表?

为什么这两个路由器不能在同一个网络中工作?

为什么我不能写两个条件?我该如何解决这个问题?

为什么我不能将两个变量附加为一个元组