
Как работает мостовая сеть?
Я просмотрел руководства VirtualBox, но ничего технически сложного не нашел (это было просто общее описание темы).
- Как виртуальная машина получает другой IP-адрес, но использует ту же сетевую карту?
- Почему этот другой IP-адрес (который я нашел
ip addr
в Linux) не отображается в разделе «Подключенные устройства» моего маршрутизатора, но я могу перенаправить на него порт? - Почему, если я подключаюсь к защищенной паролем сети Wi-Fi, мне не требуется вводить пароль?
- Это многоадресность?
решение1
Из руководства VirtualBox, Глава 6, Виртуальные сети, разделМостовая сеть:
При использовании мостовой сети VirtualBox использует драйвер устройства на вашей хост-системе, который фильтрует данные с вашего физического сетевого адаптера. Поэтому этот драйвер называется драйвером «сетевого фильтра». Это позволяет VirtualBox перехватывать данные из физической сети и вводить в нее данные, фактически создавая новый сетевой интерфейс в программном обеспечении. Когда гость использует такой новый программный интерфейс, для хост-системы это выглядит так, как будто гость физически подключен к интерфейсу с помощью сетевого кабеля: хост может отправлять данные гостю через этот интерфейс и получать данные от него. Это означает, что вы можете настроить маршрутизацию или мост между гостем и остальной частью вашей сети.
Из ВикипедииМостовое соединение (сетевое взаимодействие):
Сетевой мост — это сетевое устройство, которое соединяет более одного сегмента сети. В модели OSIсвязующие действия в первых двух слоях, ниже сетевого уровня.
У меня нет личного опыта работы на этих сетевых уровнях, но из вышесказанного мне кажется, что VirtualBox и другие виртуальные менеджеры используют системные драйверы для внедрения пакетов в сеть и выдают себя за физический адаптер.
Поскольку все пакеты отправляются по всей сети, каждое устройство считывает только те пакеты, которые помечены его адресом (если толькообнюхивание), виртуальный драйвер просто внедряет пакеты со своим собственным виртуальнымMAC-адреси отвечает на пакеты, отправленные на этот MAC-адрес, даже если физически такой адаптер не существует.
Это делается на достаточно низком уровне сетевой модели, так что хост не будет реагировать на эти сообщения на более высоких уровнях, поскольку они помечены другим MAC-адресом, чем у хоста.
Это точно такой же прием, который используют хакеры дляАтаки с использованием спуфинга с использованиемПодмена IP-адреса.
Виртуальный MAC-адрес придумывается менеджером виртуальной машины или может быть указан или изменен в любое время. Это может быть любой законный MAC-адрес, который не дублирует адрес другого устройства в локальной сети.
IP-адрес назначается этому виртуальному адаптеру DHCP-сервером, которым обычно является маршрутизатор, так же, как и любому другому физическому устройству.
Причина, по которой вы можете подключиться к защищенной паролем сети WiFi без ввода пароля, более загадочна, но я предполагаю, что драйвер VirtualBox нашел и использовал токен, который был возвращен хосту при входе в сеть. Это также объясняет, почему он не отображается в разделе «Подключенные устройства» вашего маршрутизатора, поскольку он никогда формально не подключался к сети. Пересылка все еще работает, потому что маршрутизатор просто пересылает пакет на перенаправленный адрес, а драйвер VirtualBox отвечает.
Наконец, это немногоадресность, представляющий собой один компьютер, работающий под управлением одной операционной системы, имеющий несколько IP-адресов через несколько адаптеров, все из которых известны этой одной ОС.
Для получения дополнительной информации см. статью в Википедии омодель OSI, и особенно в отношении уровней OSI.
решение2
Bridged Networking работает по концепции, что любое программное обеспечение, которое вы используете для виртуализации вашей машины, создает интерфейс для использования этой виртуальной машиной. В этом случае этообменсетевой адаптер хост-машины, а программное обеспечение выступает в качестве интерфейса между оборудованием и вашим виртуальным сетевым адаптером.
Теперь, когда мы понимаем, что оба используют один и тот же сетевой адаптер, мы можем предположить, что они будут вести себя согласованно. Если ваш хост-компьютер использует DHCP для получения IP-адреса, то ваша виртуальная машина способна делать то же самое. Если он установлен статически, и так далее и тому подобное.
Если вы посмотрите таблицу аренды DHCP в вашем маршрутизаторе, то увидите оба устройства. С точки зрения вашего маршрутизатора это два разных устройства. Насколько я понимаю, если вы используете ARP в своей локальной сети, вы должны видеть оба устройства как уникальные. Любые пакеты, направленные на вашу виртуальную машину, никогда не должны попадать в IP-стек хост-машины.