У меня есть сервер под управлением 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-адреса приводит к периодическим тайм-аутам при работе в сети.