Мое понимание сетевого моста - это своего рода «виртуальный коммутатор», который виртуально соединяет сетевые устройства (которые были добавлены в мост), как если бы я подключал их к реальному коммутатору с помощью кабелей ... но что-то должно быть не так с Такая аналогия, так как по какой-то причине мне нужно установить свой IP-адрес на мостовом устройстве.
пример
Например, давайте возьмем следующую настройку: у меня есть машина, которая выступает в качестве хоста для нескольких виртуальных машин (имеющих свои собственные виртуальные сетевые устройства vnet0, vnet1, vnet2, ...). Эта машина имеет один физический сетевой интерфейс eth0, который я хочу использовать для взаимодействия всех виртуальных машин и моей хост-машины с внешним миром.
Поскольку мой хост-компьютер должен иметь IP-адрес, я думаю, что мне следует настроить этот IP-адрес (вкл. Шлюз по умолчанию, DNS-серверы, ...) на eth0. Затем я создал бы мост br0 и добавил бы все интерфейсы (eth0, vnet0, vnet1, vnet2, ..) к этому мосту. Это не работает ...
Вместо этого мне нужно настроить мост br0, чтобы он имел IP-адрес моей хост-машины (а также настроить шлюз по умолчанию и DNS-серверы), а затем добавить все интерфейсы (eth0, vnet0, vnet2, ...) к мосту br0 ,
Ну, ... это работает. Но мне действительно интересно, почему определение IP для eth0 не работает. Кажется, мне не хватает фундаментальных знаний о том, как это на самом деле работает. Поэтому я был бы рад, если бы кто-то мог объяснить мне, что не так в этом. Я обычно хочу по-настоящему понять, как эти вещи работают. Так что я был бы рад, если вы будете вдаваться в подробности с протоколами.
Ответы:
Ты был очень похож на Q на UL: /unix/86056/why-does-linux-require-moving-ip-from-eth-interface-to-bridge-interface
Анализ заключается в том, что ETH напоминает кабель L1 восходящей линии связи.
источник