VirtualBox VM 作为网桥的中间人

VirtualBox VM 作为网桥的中间人

我有一个有线以太网端口和一个无线端口。我有一个设备通过以太网端口直接连接到我的 PC(运行 Windows 7),并且该设备连接到可通过无线网络访问的互联网。我可以通过 相当简单地将有线端口桥接到无线端口,方法是Control Panel > Network and Internet > Network Connections选择两个接口并将它们桥接起来。这允许设备访问互联网。

但是,我想在这个桥的中间放置一个 VirtualBox VM,允许它嗅探(并通过libnetfilter_queueLinux 进行修改)桥上的网络流量。实现此目的的最简单方法是什么?

答案1

您不能通过简单地将接口桥接在一起来实现这一点。您需要设置从虚拟机到两个接口的桥接适配器,并在虚拟机中启用 IP 转发。这种方法过去对我来说很有效。

编辑:差点忘了,你还需要在这个配置中从 Linux 机器中分发 dhcp 和 NAT 后路由规则

答案2

VirtualBox 允许虚拟机的网络适配器桥接到主机上的特定接口。我将一个虚拟机适配器桥接到一个主机适配器,将另一个虚拟机适配器桥接到另一个主机适配器——aking1012话虽如此,Windows 提供的桥接功能在这里不是必需的,也没有用处。

在 Linux 客户机上,我运行了以下命令:

brctl addbr br0
brctl addif br0 eth0
brctl addif br0 eth1
ifconfig eth0 0.0.0.0 promisc up
ifconfig eth1 0.0.0.0 promisc up
ifconfig br0 <lan ip> netmask <netmask> broadcast <broadcast>
iptables -A FORWARD -p all -i br0 -j ACCEPT
iptables -t mangle -A FORWARD -m physdev --physdev-in eth0 -j NFQUEUE --queue-num 0
iptables -t mangle -A FORWARD -m physdev --physdev-in eth1 -j NFQUEUE --queue-num 1

这可能不一定是正确的或最有效的方法,但它似乎对我有用。非常感谢aking1012为我指明了正确的方向。

相关内容