我试图在实际本地机器之前直接通过虚拟机路由我的 Wlan wifi。我这样做是为了可以在虚拟机上使用 wireshark,而不会在传输过程中更改本地 Ubuntu 机器的数据包。我知道我可以在 Ubuntu 上安装 wireshark,但无论如何我都想了解路由和桥接。
我尝试设置两个桥接器“外部”和“内部”。我的计划是让外部>Kali>内部>Ubuntu。我曾经brctl
这样做过,但似乎遇到了错误:can't add wlp0 to bridge outside: Operation not supported
当我运行此命令时:sudo brctl addif outside wlp0
为了解决这个问题,我需要在 WiFi 接入点上使用以下方法添加一个额外的地址addr4
我曾经brctl
设置过两个不同的网络,但当我尝试将我的 wl0 网络连接到外部时,出现了错误。根据我的研究,这似乎是因为 brctl 命令用于以太网而不是 wifi。我现在需要使用该命令iw
4addr
为其提供 4 个不同的地址,以便将其用作网桥。然后使用该ip link master
命令。现在我不知道如何让不同的机器使用网桥。在将外部设置为主机后,我无法连接到 wifi,因此我将其删除(这不起作用)。所以我不得不重新启动我的电脑,但现在外部和内部都丢失了ip a
此处链接的步骤
答案1
这不是一个完整的如何做的答案,而是旨在启发什么方向是可行的。
我的评论Qubes 操作系统旨在确认:是的,这是可能的,甚至以专业的方式。Qubes OS 已经实现了这一点。我用了一段时间,但可用性受到了极大的影响。我一直忙于配置一切,而不是做实际工作 :-/
Qubes OS 基于 Fedora Linux,因此这里与主题无关。但 Qubes OS 证明了这是可以做到的:使用虚拟机作为防火墙,并且只有在网络流量经过该虚拟机处理后,它才会到达核心系统。
一般路径是使用PCI 直通在您的网络接口上。所以如果我没记错的话,你必须配置 GRUB 以忽略网卡的 PCI-ID。我不记得细节了,但是这是一个有用的帖子。
在您让 Ubuntu 忽略您的网卡后,在您的虚拟机中注册并访问它们,使用您的防火墙和其他程序处理它们,然后将流量来回传递到您的 Ubuntu 实例,可能通过您的网络虚拟机公开的 VIF(虚拟接口)网络适配器。
我还没有测试过(除了使用 Qubes OS,上面的方法略有不同),但这应该只是一个粗略的概述。如果有人真的可以提供完整的指南来说明如何做到这一点,那么这个答案就变得过时了。