Есть ли простой способ перенаправить сетевой трафик между двумя виртуальными машинами, одна в виртуальном боксе, а другая в KVM / libvirt?
В мире KVM я вижу virbr
интерфейсы (виртуальные мосты?) и им назначен IP:
virbr0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether fe:32:01:44:a9:c5 brd ff:ff:ff:ff:ff:ff
inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0
valid_lft forever preferred_lft forever
Но интерфейсам Virtualbox не назначен IP
vboxnet0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
link/ether 0a:00:27:00:00:00 brd ff:ff:ff:ff:ff:ff
IP-адреса виртуальных машин:
Как вы думаете, какие есть варианты?
Да virbr
Интерфейсы - это мосты, говоря языком KVM. Если вы не знали, вы можете просмотреть подробную информацию о мосту с помощью brctl
утилита (например: # brctl show vibr0
)
Первое, что я вижу, это vboxet0
находится в DOWN
состояние, поэтому вам может просто нужно назначить ему IP-адрес и принести его UP
. Если vboxet0
(Я мало что знаю о Virtualbox) - это интерфейс моста, убедитесь, что виртуальная машина, которая должна быть в сети этого моста, является членом моста.
Кроме того, если предположить, что 192.168.122.101 и 192.168.56.101 оба имеют маску сети / 24, тогда вам понадобится маршрутизатор где-то там, у которого есть один интерфейс в сети 192.168.122.0/24 и второй интерфейс в сети 192.168.56.0/ 24 сети. Затем вы можете либо установить статический маршрут к любой сети через маршрутизатор, либо сделать маршрутизатор шлюзом по умолчанию для каждой подсети.
Возможно, вы сможете сделать то же самое с помощью некоторых махинаций DNAT на гипервизоре, но тогда было бы бессмысленно использовать мост. Я бы просто назначил виртуальным машинам интерфейс NAT, а остальное поручил гипервизору.