Назад | Перейти на главную страницу

Должен ли мост macvlan иметь тот же IP-адрес, что и физический адаптер, к которому он подключается?

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

На самом деле этот скрипт меня не подводил из-за dhcp (я написал здесь: Скрипт для создания моста macvlan на хосте не работает, если он не запускается дважды - Unix.SE), но с этим разобрались.

Теперь я обнаружил, что переадресация портов на хост-машину не работает. Я просто решил это отключив rp_filter для интерфейса macvlan (из Как заставить iptables DNAT работать с macvlan - Ошибка сервера). Обновить: Проблема с переадресацией портов все еще присутствует при использовании другого IP-адреса для macvlan0 интерфейс.

В любом случае, теперь я не уверен, продолжу ли я использовать тот же IP-адрес, что и физический адаптер (enp10s0) или другой. Информация, кажется, отличается: ответ на Гость и хост не могут видеть друг друга при использовании linux-kvm и macvtap (Суперпользователь) говорит

Решение состоит в том, чтобы настроить интерфейс macvlan на гипервизоре с тем же IP-адресом, что и реальный аппаратный интерфейс (очень важно), и настроить маршрутизацию на хосте для его использования. (...)

а другой ответ на Два IP-адреса на одном сетевом адаптере через macvlan (Serverfault) говорит

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

Итак ... какому совету следует последовать?

(Примечание: мой текущий сценарий создает macvlan0 устройство при загрузке с предопределенным MAC-адресом - не тем же адресом, что и физический адаптер).