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

Запуск двух виртуальных машин Ubuntu KVM с мостовой (подключенной?) Сетью

У меня есть сервер под управлением Ubuntu 14.04, и я пытаюсь одновременно запустить две виртуальные машины с мостовой сетью. Сеть первой виртуальной машины работает, но вторая не имеет сети.

Виртуальные машины тоже Ubuntu 14.04.

Как лучше всего получить полный (мостовой) доступ в Интернет для обеих виртуальных машин?

Моим лучшим предположением было скопировать мой br0 в br1, как показано ниже. Но так как это не работает, я думаю, мне нужно сделать что-то еще.

Вот мой / etc / network / interfaces:

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto em1
iface em1 inet dhcp

auto br0
iface br0 inet dhcp
   pre-up ip tuntap add dev tap0 mode tap user thor
   pre-up ip link set tap0 up
   bridge_ports all tap0
   bridge_stp off
   bridge_maxwait 0
   bridge_fd      0
   post-down ip link set tap0 down
   post-down ip tuntap del dev tap0 mode tap

auto br1
iface br1 inet dhcp
   pre-up ip tuntap add dev tap1 mode tap user thor
   pre-up ip link set tap1 up
   bridge_ports all tap1
   bridge_stp off
   bridge_maxwait 0
   bridge_fd      0
   post-down ip link set tap1 down
   post-down ip tuntap del dev tap1 mode tap

А вот как я запускаю kvms.

(kvm1 - тот, у которого есть сеть)

kvm -enable-kvm -nographic -net nic -net tap,ifname=tap0,script=no,downscript=no -hda disk.img.a.qcow2 -hdb my-seed.img -m 8192 -smp 16

(kvm2 - виртуальная машина без сети)

kvm -enable-kvm -nographic -net nic -net tap,ifname=tap1,script=no,downscript=no -hda disk.img.b.qcow2 -hdb my-seed.img -m 8192 -smp 16

Мосты похожи на виртуальные коммутаторы Ethernet - вы подключаете много ВМ в них, а не одну. Вы должны создать один мост и подключить сетевые адаптеры обеих виртуальных машин к этому одному мосту. Тогда они смогут разговаривать друг с другом.

Основываясь на предложении @Womble, я, кажется, заставил его работать. Я опубликую здесь то, что я сделал, надеюсь, это поможет другим.

Я приветствую предложения о лучших решениях.

Вот мой новый / etc / network / interfaces:

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto em1
iface em1 inet dhcp

auto br0
iface br0 inet dhcp
   pre-up ip tuntap add dev tap0 mode tap user myusername
   pre-up ip link set tap0 up

   pre-up ip tuntap add dev tap1 mode tap user myusername
   pre-up ip link set tap1 up

   bridge_ports all tap0 tap1
   bridge_stp off
   bridge_maxwait 0
   bridge_fd      0

   post-down ip link set tap1 down
   post-down ip tuntap del dev tap1 mode tap

   post-down ip link set tap0 down
   post-down ip tuntap del dev tap0 mode tap

(Замена myusername на настоящее имя пользователя, которое я использую).

Вот команда для запуска первого kvm:

kvm -enable-kvm -nographic -net nic -net tap,ifname=tap0,script=no,downscript=no -hda disk.a.qcow2 -hdb my-seed.img -m 8192 -smp 16

А вот команда на запуск второго квм

kvm -enable-kvm -nographic -net nic,macaddr=0c:c4:7a:73:14:b2 -net tap,ifname=tap1,script=no,downscript=no -hda disk.img.b.qcow2 -hdb my-seed.img -m 8192 -smp 16

Мне пришлось явно установить MAC-адрес на втором kvm, иначе у него был бы тот же MAC-адрес, что и у первого. Как вы понимаете, наличие одного и того же MAC-адреса приводит к периодическим тайм-аутам при работе в сети.