Зачем нам нужен IP-адрес для моста?

27

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

Предположим, я использую статическую IP-адресацию для виртуальных машин. Зачем мне нужен IP-адрес на мосту?

fgeld
источник

Ответы:

14

Вам не нужно настраивать IP для моста, так же, как вам не нужно настраивать IP для устройства Ethernet, на любой машине (будь то хост / гость или что-то еще).

Однако, если у вас есть устройство / мост, у которого нет IP-адреса, вы не можете ожидать, что оно будет использоваться стороной, которая не настроила его должным образом (будь то хост или гость).

Так, например, если у меня есть хост KVM с мостом с именем "br_vm", который я назначаю всем гостям KVM в качестве их единственного интерфейса (гости, скорее всего, назовут его "eth0"), и если br_vm не настроен на хосте Вы не можете ожидать, что гости смогут общаться с хостом через интерфейс eth0.

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

  1. Вы хотите, чтобы ваши виртуальные машины взаимодействовали с хостом, даже если это только DHCP или DNS;
  2. Вы можете отключить трафик между виртуальными машинами. Если вы разделяете этот мост со многими виртуальными машинами, это стоит рассмотреть;
  3. Возможно, вы захотите иметь брандмауэр на уровне хоста в дополнение к брандмауэру, который вы можете настроить для своих виртуальных машин. Концентрация всех правил брандмауэра на хосте может быть целесообразной, если политики, зоны и т. Д. Для всех ваших виртуальных машин примерно одинаковы. Проще, если все правила, IP-адреса, политики и т. Д. Хранятся в одном месте (хотя я бы на всякий случай установил базовый брандмауэр на каждую ВМ);

И, кстати, у вас может быть динамическая IP-адресация на гостевых виртуальных машинах, которая не имеет никакого отношения к тому, есть ли у хоста IP-адрес на мосту (если, конечно, хост не является сервером DHCP для сети) ,

mbello
источник
7

Это более странная вещь в документации, которую я нахожу. Я предполагаю, что ваш хост использует /etc/network/interfacesфайл для конфигурации сети.

Если в разделе интерфейса моста (br0 для этого примера) вы указываете адрес 0.0.0.0, вы получаете именно то, что ищете: виртуальные машины, подключенные к мосту, все еще подключены к сети и сохраняют свои собственные IP-адреса.

Однако тогда вы потеряете «порт» хоста на этом мосту. Если (в interfacesфайле) вы указываете IP-адрес, который фактически становится IP вашего хоста на этом мосту, точно так же, как интерфейс управления на традиционном коммутаторе.

Помните, что мост похож на автономный коммутатор, но хост все еще «управляет» им, поэтому добавление IP-адреса просто добавляет адресуемый интерфейс управления (если это имеет смысл)


Если, как и я, у вашего хоста есть два сетевых адаптера: один для виртуальных машин и один для себя, вы можете поместить адрес 0.0.0.0 на «мост виртуальной машины» и полагаться на другой физический сетевой адаптер для управления, чтобы получить аналогичную настройку.


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

agc93
источник
3

Вам не нужно назначать IP-адрес для моста Linux.

Вот пример того, как это выглядит в /etc/network/interfaces. br0это мост, который подключен к eth0интерфейсу:

auto br0
iface br0 inet manual
    bridge_ports eth0
Андерс Триер
источник