Настройка сетевого моста на виртуальной машине Linux (хост Windows 7)

0

Я хотел бы использовать NetEm для моделирования среды с низкой пропускной способностью при тестировании подключенного к Интернету устройства. Мой план состоит в том, чтобы установить мост на виртуальной машине Linux (Linux Mint 13) на хосте Windows 7. К сожалению, у меня проблемы с настройкой моста. Затем я могу использовать NetEm в виртуальной машине Linux, чтобы ограничить пропускную способность для внешнего устройства. Я пошел со следующим сценарием:

ifconfig eth0 0.0.0.0 promisc up
ifconfig eth1 0.0.0.0 promisc up

Then create the bridge and bring it up:

brctl addbr br0
brctl setfd br0 0
brctl addif br0 eth0
brctl addif br0 eth1
dhclient br0
ifconfig br0 up

Когда я запускаю этот скрипт, я вижу следующее предупреждение:

Rather than invoking init scripts through /etc/init.d, use the service(8)
utility, e.g. service smbd reload

Since the script you are attempting to invoke has been converted to an
Upstart job, you may also use the reload(8) utility, e.g. reload smbd

Устройство, подключающееся к мосту, может получить IP-адрес, но оно может пропинговать только IP-адрес моста (оба варианта 10.2.32.xx). Затем через несколько минут другие части нашей сети отключаются. Я не уверен, почему, но как только я убью мост, сеть в порядке.

Можно ли настроить сетевой мост в виртуальной машине Linux? Нужно ли делать что-то еще с dhclient br0частью сценария?

Кстати, я использую VirtualBox. Проводное соединение - это eth0, а беспроводное соединение - это eth1. Проводное соединение подключается к устройству, а беспроводное соединение подключается к сети. Оба адаптера настроены как мостовые адаптеры с произвольным режимом, установленным на «разрешить все».

GrandAdmiral
источник

Ответы:

1

Я не могу с уверенностью сказать, что запуск Linux на виртуальной машине на хосте Windows 7 был проблемой при настройке моста, но я нашел доказательства того, что мост не будет работать с беспроводной картой. Фонд Linux отвечает на этот вопрос с:

Это известная проблема, и она не вызвана кодом моста. Многие беспроводные карты не допускают подмену исходного адреса.

Я нашел информацию о настройке моста для замены MAC-адреса подключенного устройства на MAC-адрес беспроводного сетевого адаптера, но это сложнее, чем я хочу. Вместо этого я установил старый ПК с двумя проводными сетевыми картами. Теперь я просто использую следующий скрипт для настройки моста:

#!/bin/bash

# Set the interfaces to promiscuous mode
ifconfig eth0 0.0.0.0 promisc up
ifconfig eth1 0.0.0.0 promisc up

# Create the bridge
brctl addbr br0
brctl setfd br0 0
brctl addif br0 eth0
brctl addif br0 eth1

# Bring it up
ifconfig br0 up
dhclient br0
GrandAdmiral
источник