Как настроить общую виртуальную сеть для docker, systemd-nspawn и qemu? В системе имеются разные системы виртуализации/контейнеризации: - docker для изоляции отдельных приложений (без всяких свармов и куберов, под задачи хватает compose) - systemd-nspawn для изоляции полноценных окружений - qemu + kvm для запуска Win10 и freeBSD Каждая из этих систем создала свою виртуальную сеть и соответственно на хосте 3 виртуальных интерфейса под каждую из них. Хочу загнать всё это добро в одну единственную виртуальную сеть, так что бы: - был только 1 виртуальный интерфейс на хосте - между элементами из разных систем можно было бы общаться напрямую, без роутинга на хосте - иметь возможность просто рулить dhcp, а именно раздачей ip Подскажите куда копать и что настраивать.
Для настройки общей виртуальной сети для docker, systemd-nspawn и qemu, вам потребуется создать внутреннюю сеть виртуализации. Ниже приведены общие шаги:
Создайте виртуальный мост на хосте. Для этого можно использовать утилиту brctl:sudo brctl addbr br0 sudo ifconfig br0 upПривяжите виртуальные интерфейсы из каждой системы к созданному мосту. Для этого можно использовать команду brctl addif:sudo brctl addif br0 <docker_interface> sudo brctl addif br0 <nspawn_interface> sudo brctl addif br0 <qemu_interface>Настройте DHCP сервер на хосте для раздачи IP адресов в вашей виртуальной сети. Например, можно использовать dnsmasq:sudo apt-get install dnsmasq sudo nano /etc/dnsmasq.conf
Добавьте следующие настройки в конфигурационный файл dnsmasq.conf:
interface=br0 dhcp-range=192.168.1.50,192.168.1.100,12hПерезапустите DHCP сервер:sudo systemctl restart dnsmasqНастройте межсистемную коммуникацию. Для docker вы можете указать свой виртуальный мост в файле docker-compose.yml:networks: default: external: name: br0
В случае с systemd-nspawn и qemu, настройте их интерфейсы на использование виртуального моста.
После выполнения этих шагов, у вас должна быть настроена общая виртуальная сеть для ваших систем виртуализации.
Для настройки общей виртуальной сети для docker, systemd-nspawn и qemu, вам потребуется создать внутреннюю сеть виртуализации. Ниже приведены общие шаги:
Создайте виртуальный мост на хосте. Для этого можно использовать утилиту brctl:sudo brctl addbr br0sudo ifconfig br0 upПривяжите виртуальные интерфейсы из каждой системы к созданному мосту. Для этого можно использовать команду brctl addif:sudo brctl addif br0 <docker_interface>
sudo brctl addif br0 <nspawn_interface>
sudo brctl addif br0 <qemu_interface>Настройте DHCP сервер на хосте для раздачи IP адресов в вашей виртуальной сети. Например, можно использовать dnsmasq:sudo apt-get install dnsmasq
sudo nano /etc/dnsmasq.conf
Добавьте следующие настройки в конфигурационный файл dnsmasq.conf:
interface=br0dhcp-range=192.168.1.50,192.168.1.100,12hПерезапустите DHCP сервер:sudo systemctl restart dnsmasqНастройте межсистемную коммуникацию. Для docker вы можете указать свой виртуальный мост в файле docker-compose.yml:networks:
default:
external:
name: br0
В случае с systemd-nspawn и qemu, настройте их интерфейсы на использование виртуального моста.
После выполнения этих шагов, у вас должна быть настроена общая виртуальная сеть для ваших систем виртуализации.