Почему Linux требует переноса IP с интерфейса eth на интерфейс моста

27

Когда сетевой интерфейс (например, eth0) добавляется к мосту Linux (например, br0), IP-адрес должен быть удален из eth0 и добавлен в br0 для правильной работы сети.

Я помню, как читал в каком-то файле readme Open vSwitch (который сейчас не могу найти), что перемещение IP-адреса необходимо из-за того, как реализовано ядро ​​Linux. Что такого в реализации Linux, которая требует, чтобы IP-адрес был перенесен с сетевого адаптера на мост?

Лорин Хохштайн
источник

Ответы:

10

NIC представляет восходящий кабель. Кабель - это слой 1, а не слой 3.

Теперь мост работает как устройство, которому адресован сетевой трафик (входящий) на сервере - либо на уровне 2 (Ethernet / MAC) и / или уровне 3 (IP).

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

Если отвечающее устройство было NIC, трафик не будет дальше передаваться на мост.

Поэтому в некоторых руководствах даже рекомендуется удалить MAC из (восходящей) NIC.

Nils
источник
Итак, говоря о реальных механизмах linux (не о передовой практике), это означает, что если я помещу интерфейс под мост, он больше не будет рассматриваться ядром как адресуемый интерфейс L2 / L3? правильно ? Поскольку ничто не мешает назначить ему MAC / IP, это сбивает с толку.
Джоселин Делаланде
1
@Jocelyn Наоборот. Если это все еще адресуется как L2 / 3, это заблокирует другой трафик. Так что это не должно решаться напрямую, если на мосту.
Нильс
хорошо, но по умолчанию порт остается адресуемым на L2 (сохраняет MACaddr, если я его не удаляю), верно? почему он пропускает трафик L2 к мосту?
Джоселин Делаланде
2
@Jocelyn Пока он не отвечает на arp-запросы, все будет хорошо на l2 / 3. Если он не захватывает пакеты, он пропускает пакеты в сетевую часть ядра.
Нильс
Хорошо. Я спросил, потому что я заметил, что некоторые трафик был отброшен при назначении адреса для порта; но это было вызвано rp_filter.
Джоселин Делаланде
1

Мост распределяет трафик туда, куда он должен идти, когда в мосте находятся несколько интерфейсов. Более или менее, отдельные интерфейсы в мосте теперь работают на уровне 2 в соответствии с тем, что определяет мост, а не независимо на уровне 3. Таким образом, вы хотите обратиться к мосту в целом, а не к отдельным интерфейсам внутри него.

LawrenceC
источник