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

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

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

27
задан 05.05.2020, 18:28

3 ответа

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

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

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

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

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

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

14
ответ дан 05.05.2020, 18:28

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

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

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

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


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


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

7
ответ дан 05.05.2020, 18:29

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

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

auto br0
iface br0 inet manual
    bridge_ports eth0
3
ответ дан 05.05.2020, 18:30

Теги

Похожие вопросы