Linux   发布时间:2022-04-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了linux – 基于Macvlan的界面从主机ping而不是从命名空间ping大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

[编辑] @R_727_10674@目前是混合物理和基于ESXi的系统.我们显然永远不会在预生产环境中使用virtualbox!这里使用它只是为了直接在桌面上快速缩小问题范围. 感谢meta的“暂停”解释! [/编辑] 我的设置: >专用网络vboxnet1 10.0.7.0/24 > 1台主机,ubuntu桌面 > 1个VM,ubuntu服务器(VirtualBoX) 贴图布局: >主持人:10.0.7.1 >
[编辑]

@R_727_10674@目前是混合物理和基于ESXi的系统.我们显然永远不会在预生产环境中使用virtualBox!这里使用它只是为了直接在桌面上快速缩小问题范围.

感谢Meta的“暂停”解释!

[/编辑]

我的设置:

>专用网络vBoxnet1 10.0.7.0/24
> 1台主机,ubuntu桌面
> 1个VM,ubuntu服务器(VirtualBox)

贴图布局:

>主持人:10.0.7.1
> VM:10.0.7.101
> VM MAC NAMESPACE:10.0.7.102

在VM上,我运行了以下命令:

ip netns add mac                        # create a new nmespace
ip link add link eth0 mac0 type macvlan # create a new macvlan interface
ip link set mac0 netns mac

在mac命名空间中,在VM内部:

ip link set lo up
ip link set mac up
ip addr add 10.0.7.102/24 dev mac0

所以我们基本上最终得到:(像Inception?)

+------------------------+
| Host: 10.0.7.1         |
|                        |
| +--------------------+ |
| | VM: 10.0.7.101     | |
| |                    | |
| | +----------------+ | |
| | | NS: 10.0.7.102 | | |
| | |                | | |
| | +----------------+ | |
| +--------------------+ |
+------------------------+

什么有效:

>在主机和VM之间进行Ping
> NS和NS之间的Ping
>来自NS的dhclient

什么行不通:

>在NS和VM之间ping
>在NS和主机之间ping

我开始疯狂的地方:

> tcpdump on host(真机)实际显示ARP请求和回复
> NS上的tcpdump显示发送到主机的ARP请求
> VM上的tcpdump使整个混乱工作(!) – >在VM上启动tcpdump时ping开始获得答案?!?

所以,我敢打赌你渴望它,我的问题是:如何让它发挥作用?我怀疑在NS内部的R_278_11845@acvlan上ARP有什么问题,但无法弄清楚到底是什么……

便说一下,我直接在VM(没有名称空间)上使用mac0接口进行了相同的表达,并且它运行良好.

@L_489_11@

好吧,对于子孙后代,tcpdump使所有突然工作的事实应该让我走上正轨.它内部的作用是将eth0切换到混杂模式.也就是说,eth0将产生所有网络流量,而不仅仅是服务器主MAC的流量

但是,这正是macvlan的工作原理:它添加一个新的辅助虚拟MAC地址,即“物理”(即VM)网络适配器不知道.

所以简单的@L_489_11@是手动:ifconfig eth0 promisc

我希望它有所帮助!

大佬总结

以上是大佬教程为你收集整理的linux – 基于Macvlan的界面从主机ping而不是从命名空间ping全部内容,希望文章能够帮你解决linux – 基于Macvlan的界面从主机ping而不是从命名空间ping所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。