Как работает мостовая сеть в Virtualbox?

39285
agz

Как работает мостовая сеть?

Я просмотрел руководства по VirtualBox, но ничего особенного не придумало (это был просто общий взгляд на тему).

  • Как он назначает другой IP-адрес виртуальной машине, но использует ту же сетевую карту?
  • Почему этот другой IP-адрес (я обнаружил, что он используется ip addrв Linux) не отображается в «разделе подключенных устройств» моего маршрутизатора, но я могу перенести его на него?
  • Почему, если я подключаюсь к защищенной паролем сети Wi-Fi, мне не нужно вводить пароль?
  • Это мульти-хоминг?
26

2 ответа на вопрос

11
harrymc

Из руководства VirtualBox Глава 6 Виртуальной сети, раздел Мостовая сеть :

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

Из Википедии Bridging (сеть) :

Сетевой мост - это сетевое устройство, которое соединяет более одного сегмента сети. В модели OSI мост действует на первых двух уровнях, ниже сетевого уровня.

Я не обладаю личными знаниями, работая на этих сетевых уровнях, но из вышесказанного мне кажется, что VirtualBox и другие виртуальные менеджеры используют системные драйверы для внедрения пакетов в сеть и притворяются физическим адаптером.

Поскольку все пакеты отправляются во всю сеть, каждое устройство считывает только пакеты, помеченные своим адресом (если не анализировать ), виртуальный драйвер просто внедряет пакеты со своим собственным виртуальным MAC-адресом и отвечает на пакеты, предназначенные для этого MAC-адреса. хотя физически такого адаптера не существует.

Это делается на достаточно низком уровне сетевой модели, чтобы хост не реагировал на эти сообщения на более высоких уровнях, так как они помечены другим MAC-адресом, чем у хоста.

Это точно такой же метод, который используется хакерами для подмены атак с использованием подмены IP-адресов .

Виртуальный MAC-адрес придуман администратором виртуальной машины или может быть задан или изменен в любое время. Это может быть любой допустимый MAC-адрес, который не дублирует адрес какого-либо другого устройства в локальной сети.

IP-адрес назначается этому виртуальному адаптеру DHCP-сервером, который обычно является маршрутизатором, как и для любого другого физического устройства.

Причина, по которой вы можете подключиться к защищенной паролем сети Wi-Fi без ввода пароля, более загадочна, но я предполагаю, что драйвер VirtualBox обнаружил и использовал токен, который был возвращен хосту при входе в сеть. Это также объясняет, почему он не отображается в разделе «Подключенные устройства» вашего маршрутизатора, поскольку он никогда официально не подключался к сети. Переадресация все еще работает, потому что маршрутизатор просто повторно отправляет пакет на переадресованный адрес, и драйвер VirtualBox отвечает.

Наконец, это не множественная адресация, когда один компьютер работает под управлением одной операционной системы с несколькими IP-адресами через несколько адаптеров, и все они известны этой одной ОС.

Для получения дополнительной информации см. Статью в Википедии о модели OSI, и особенно об уровнях OSI.

2
Will.Beninger

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

Теперь, когда мы понимаем, что оба используют один и тот же сетевой адаптер, мы можем предположить, что они будут вести себя одинаково. Если ваш хост-компьютер использует DHCP для получения IP-адреса, то ваша виртуальная машина может делать то же самое. Если он статически установлен, так далее и тому подобное.

Если вы посмотрите таблицу аренды DHCP на вашем маршрутизаторе, она покажет оба устройства. С точки зрения ваших роутеров это два разных устройства. Насколько я понимаю, если вы используете ARP в вашей локальной сети, вы должны рассматривать оба устройства как уникальные. Любые пакеты, связанные с вашей виртуальной машиной, никогда не должны попадать в стек IP хоста.