Зачем назначать MAC и IP-адреса на интерфейсе моста

18

Скажем , я создать интерфейс моста на Linux ( br0) и добавить к нему несколько интерфейсов ( eth0, tap0и т.д.). Насколько я понимаю, этот интерфейс действует как виртуальный коммутатор со всеми его интерфейсами / портами, которые я к нему добавляю.

Что означает назначение MAC и IP-адреса этому интерфейсу? Интерфейс действует как дополнительный порт на коммутаторе / мосту, который позволяет другим портам получать доступ к хост-машине?

Я видел, как на некоторых страницах говорилось о назначении IP-адреса мосту. Предполагается ли назначение MAC (или автоматическое)?

градиент
источник

Ответы:

16

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

Мост не требует IP-адрес. Есть много ситуаций, в которых у вас их не будет. Однако во многих случаях у вас может быть такой, как:

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

  • Когда ваш «основной» NIC является членом моста, такой, что мост является вашей связью с внешним миром. В этом случае вместо того, чтобы назначать IP-адрес (например) eth0, вы вместо этого назначаете его мостовому устройству.

Если мост не требуется для IP-маршрутизации, тогда ему не нужен IP-адрес. Примеры этой ситуации включают в себя:

  • Когда мост используется для создания частной сети устройств без внешнего подключения или с внешним подключением, предоставляемым через устройство, отличное от моста.
larsks
источник
1
«Поскольку мост является устройством Ethernet, ему нужен MAC-адрес». Почему? Устройства, подключенные к мостам, имеют MAC-адреса. Но я не думаю, что сам мост нужен. Что касается остальной части ответа, означает ли это, что интерфейс моста действует как дополнительный «порт» на мосту, который позволяет другим портам получать доступ к хост-машине?
Градиент
Мост способен генерировать кадры Ethernet, поэтому ему нужен адрес. Re: вторая часть вашего вопроса ... конечно.
Жаворонки
2
Но обязательно ли, чтобы мостовой интерфейс имел MAC-адрес? Я имею в виду, физический коммутатор не должен иметь MAC-адрес, чтобы делать свою работу, не так ли? Так что я бы подумал, что интерфейс тоже не требует.
Градиент
3
Простой мост фактически является двухпортовым коммутатором, поэтому он не обязательно требует каких-либо адресов. Простой мост не создает фреймы, он просто получает фрейм на один порт и либо перенаправляет его на другой порт, либо отбрасывает его.
Йохан Мирен
«такой, что мост - это ваша связь с внешним миром». Почему? Почему основной сетевой адаптер все еще не может быть связью с внешним миром? Реальные аппаратные мосты также сохраняют IP-адрес подключенных к ним реальных партнеров. Почему не виртуальный мост Linux?
Йоханнес Шауб -
6

Да, интерфейс моста действует как дополнительный порт.

После man 5 systemd.netdev:

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

ciastek
источник