VirtualBox VM как посредник для сетевого моста

0

У меня есть проводной порт Ethernet и беспроводной порт. У меня есть устройство, подключенное напрямую к моему ПК (под управлением Windows 7) через порт Ethernet, и устройство подключается к Интернету, который доступен по беспроводной сети. Я могу достаточно просто подключить проводной порт к беспроводному порту с помощью Control Panel > Network and Internet > Network Connections, выбрав два интерфейса и соединяя их. Это позволяет устройству получить доступ к Интернету.

Тем не менее, я хотел бы разместить виртуальную виртуальную машину VirtualBox в середине этого моста, позволяя ей анализировать (и изменять с помощью libnetfilter_queue в линуксе) сетевой трафик на мосту. Какой самый простой способ достижения этого?

Sedate Alien
источник

Ответы:

1

Вы не можете сделать это, просто соединяя интерфейсы вместе. Вам потребуется настроить мостовые адаптеры от виртуальной машины к обоим интерфейсам и включить переадресацию ip в виртуальной машине. Этот подход работал для меня в прошлом.

редактировать: почти забыл, вам также нужно раздать dhcp из коробки linux в этой конфигурации и правило пострутирования NAT

RobotHumans
источник
Спасибо за указатели, я опубликовал окончательное решение (которое, кажется, работает для меня) как ответ ниже
Sedate Alien
0

VirtualBox позволяет подключать сетевые адаптеры виртуальной машины к определенным интерфейсам на хосте. Я подключил один адаптер VM к одному хост-адаптеру, а другой адаптер VM к другому хост-адаптеру - как 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 для направления меня в правильном направлении.

Sedate Alien
источник