
Мои познания в области сетевых технологий на Linux довольно ограничены, и я пытаюсь назначить статические IP-адреса каждой из моих виртуальных машин, поскольку им необходимо взаимодействовать друг с другом.
Я читал некоторую сетевую документацию QEMU относительно интерфейсов TUN/TAP, а также настройку br0 с qemu-ifup и qemu-ifdown. Однако я только что восстановился после полной потери соединения с Wi-Fi. Поэтому я решил посмотреть, смогу ли я получить некоторые указания о том, что именно делать.
По сути, конфигурация должна быть такой, чтобы 3 VM были созданы из хост-машины и им были назначены статические IP-адреса, чтобы они могли общаться друг с другом, а также с хостом. В настоящее время все VM имеют одинаковые MAC- и IP-адреса.
Я запускаю виртуальные машины по сути одними и теми же командами и полагаю, что -net
параметры необходимо изменить.
Пример запуска виртуальной машины QEMU:
sudo ./qemu-system-x86_64 \
-drive file=drive.img,format=raw \
-boot d \
-k en-us \
-object can-bus,id=canbus0 \
-object can-bus,id=canbus1 \
-device mioe3680_pci,canbus0=canbus0,canbus1=canbus1 \
-object can-host-socketcan,id=canhost0,if=can0,canbus=canbus0,if=vcan0 \
-object can-host-socketcan,id=canhost1,if=can1,canbus=canbus1,if=vcan1 \
-m size=2048 \
-nic user,hostfwd=tcp::6022-:22 \
-netdev bridge,id=hn0, \
-smp 4 \
-enable-kvm &
Я могу подключиться к этой виртуальной машине по ssh, и ssh user@localhost -p 6022
это работает. Но для того, чтобы программное обеспечение, которое я пытаюсь написать, работало, этим виртуальным машинам нужны статические IP-адреса, поскольку между ними должно быть установлено TCP-соединение.
Мой хост работает под управлением Ubuntu 20.04, одна из моих виртуальных машин работает под управлением Ubuntu 16.04 Xenial, а другая — Centos 7.
Итак, по сути, мне нужна следующая конфигурация:
host = 192.168.1.80
vm1 = 192.168.1.2
vm2 = 192.168.1.22
vm3 = 192.168.1.3