Я пытаюсь настроить KVM в хост-машине Ubuntu 14.04 .
Я использую беспроводной интерфейс для доступа в интернет на моей машине. Я настроил беспроводной интерфейс в моем,
/etc/networks/interfaces
как показано ниже.auto wlan0 iface wlan0 inet static address 192.168.1.9 netmask 255.255.255.0 gateway 192.168.1.1 wpa-ssid My_SSID wpa-psk SSID_Password dns-nameservers 8.8.8.8 dns-search lan dns-domain lan
Я проверил, доступен ли мой компьютер для виртуализации, и эта команда подтверждает, что мое оборудование поддерживает виртуализацию.
egrep '(vmx|svm)' /proc/cpuinfo
Я установил необходимые пакеты для виртуализации kvm, как показано ниже.
apt-get install qemu-kvm libvirt-bin ubuntu-vm-builder
Я также установил пакет утилит моста, чтобы настроить сеть моста для моего kvm .
apt-get install bridge-utils
Я изменил мой,
/etc/network/interfaces
чтобы разрешить мостовую сеть, как показано ниже.auto br0 iface br0 inet static address 192.168.1.40 network 192.168.1.0 netmask 255.255.255.0 broadcast 192.168.1.255 gateway 192.168.1.1 dns-nameservers 8.8.8.8 dns-search lan dns-domain lan bridge_ports wlan0 bridge_stp 0ff bridge_fd 0 bridge_maxwait 0 wpa-ssid my_ssid wpa-psk ssid_password
После описанного выше шага я могу,
ping 192.168.1.40
а также могу видеть, что в выходных данных команды указаны br0 и virbr0ifconfig -a
. Я также могу получить доступ к Интернету без каких-либо проблем с моим беспроводным интерфейсом.Однако после описанного выше шага, если я пытаюсь добавить другую ОС с помощью
ubuntu-vm-builder
команды, я не могу добавить новую ОС. Это команда, которую я использую для добавления новой ОС.sudo ubuntu-vm-builder kvm trusty \ --domain rameshpc \ --dest demo1 \ --hostname demo1 \ --arch amd64 \ --mem 1024 \ --cpus 4 \ --user ladmin \ --pass password \ --bridge br0 \ --ip 192.168.1.40 \ --mask 255.255.255.0 \ --net 192.168.1.0 \ --bcast 192.168.1.255 \ --gw 192.168.1.1 \ --dns 8.8.8.8 \ --components main,universe \ --addpkg acpid \ --addpkg openssh-server \ --addpkg linux-image-generic \ --libvirt qemu;///system;
Я видел, что настройка мостовой сети с использованием беспроводного интерфейса довольно сложна, как обсуждалось в этом вопросе. Однако, как описано в ответе, возможно использование туннельного устройства. Я попробовал вариант, предложенный в этой ссылке. Но я не мог заставить его работать.
источник
sudo sysctl net.ipv4.conf.wlan0.proxy_arp=1
arp
инструкций команды шага 5 здесь, я с успехом использовал инструкции из раздела «Будущее здесь ...» на specman1.wordpress.com/2014/01/02/…echo 1 > /proc/sys/net/ipv4/conf/wlan0/proxy_arp
иecho 1 > /proc/sys/net/ipv4/conf/virbr1/proxy_arp
(я не обязательно говорю, чтоarp
команды команд шага 5 здесь неСогласно документам KVM, невозможно использовать мост с беспроводной сетевой платой. Я не знаю причину, почему я использовал для моста гостя на VirtualBox.
Я потратил несколько часов, чтобы выяснить, как подключить гостя к беспроводной сети хоста, и выяснил, что самый простой способ сделать это - использовать устройство TAP. Единственным недостатком этого метода является то, что вы не можете использовать DHCP на гостевой системе, и вам придется вручную назначать ему IP-адрес из подсети беспроводной сети (что может привести к конфликтам IP или неудобствам в случае развертывания большого количества виртуальных машин).
Вот шаги для подключения гостя в беспроводной сети хоста с помощью устройства TAP:
0 / Включить маршрутизацию IPv4 для ядра Linux
sudo sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward"
1 / Создайте устройство с именем tap0, доступное из гостевого пользователя (замените своим именем пользователя) без sudo:
sudo ip tuntap add mode tap tap0 user guest
2 / Назначьте IP-адрес устройству tap0 (оно не должно быть из подсети беспроводной сети):
3 / Используйте
parprouted
(возможно, вам придется установить его) для реализации proxy arp bridging, который позволяет соединять гостевой Ethernet с беспроводной сетевой платой хоста.sudo parprouted wlan0 tap0
(Замените wlan0 беспроводным интерфейсом вашего хоста)
4 / Добавление некоторых записей в таблицах маршрутизации, позволяющих пакетам проходить через концы ответвительного устройства:
Гостю назначьте статический IP-адрес из подсети беспроводной сети хоста. Например, если ваш wlan0 на 192.168.1.0/24, то гость может быть настроен с
sudo ip addr add 192.168.1.30/24 dev eth0
(eth0 - это сетевая карта вашего гостя)
или постоянно в / etc / network / interfaces с:
Запустите вашего гостя с:
Теперь пинг работает между всеми компьютерами, подключенными к вашей беспроводной сети, и гостями.
источник