systemd-nspawn container with separate IP address (network namespace) not working

Это NetworkManager творит свое чудо.

Если вы хотите использовать статический адрес, отредактируйте / etc / network / interfaces как обычно и перезагрузитесь. Затем NetworkManager должен игнорировать интерфейсы, определенные в / etc / network / interfaces .

Используйте ip addr show , чтобы увидеть имена устройств ваших сетевых контроллеров.

2
10.04.2017, 18:56
1 ответ

Проблема заключается в firewalld Fedora. Похоже, что nspawn никогда не был интегрирован с firewalld. (nspawn также неправильно интегрирован с политикой SELinux Fedora).

Как упоминалось в вопросе, libvirt работает нормально :). Мы можем использовать тот же трюк, который обнаружили люди для запуска контейнеров с LXC в Fedora .

Обновление: обходной путь перестал работать после того, как я обновился до Fedora 30.


Запустите systemd-nspawn с опцией - network-bridge virbr0 . Вместо того, чтобы полагаться на systemd-networkd , здесь используется libvirtd.service . Последняя служба уже запущена по умолчанию в Fedora. В гостевой системе настройте предпочитаемый DHCP-клиент как обычно.

Разрешение DNS при использовании systemd-networkd в качестве DHCP-клиента

Использование systemd-networkd в качестве DHCP-клиента может случайно работать самостоятельно, если у вас может быть левый через /etc/resolv.conf из предыдущей загрузки контейнера. Но в целом на такую ​​работу рассчитывать нельзя. Он действительно разработан для работы вместе с systemd-resolved.service .

В свою очередь, systemd-resolved предназначен для использования с nss-resolve . Однако это не принципиально AIUI.

5
27.01.2020, 21:59

Теги

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