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

Как заставить гостя Windows, работающего на qemu / kvm, получить IP-адрес от физического маршрутизатора с DHCP-сервером?

Я запускаю Windows XP в качестве гостя на Ubuntu 18.04 LTS с qemu / kvm.
Я хочу использовать этот экземпляр Windows для управления своей IP-камерой видеонаблюдения, которая использует апплеты ActiveX.

Мне нужна эта Windows XP, чтобы получить IP из той же подсети, что и IP-камера.
Как я могу настроить эту виртуальную машину с помощью диспетчера виртуальных машин?

Я использую ноутбук, поэтому мое основное соединение - Wi-Fi (имя интерфейса wlp2s0).

в /etc/netplan/01-network-manager-all.yaml у меня есть

# Let NetworkManager manage all devices on this system
network:
  version: 2
  renderer: NetworkManager

И если я отредактирую содержимое своего /etc/network/interfaces У меня нет подключения к Интернету (ноутбук не поддерживает соединение Wi-Fi)

Я попытался этот учебник безуспешно

Потом я попробовал вот этот. Здесь сказано: «Тогда добавьте интерфейс Ethernet в качестве порта в мост ...», и я заметил, что nmcli команда может быть передана type аргумент. Я прочитал справку по этому аргументу, и мне удалось передать wifi ssid MYSSID аргументы для настройки этого моста с моим подключением Wi-Fi.

Итак, мне удалось вытащить эти команды:

sudo nmcli conn add type bridge con-name br0 ifname br0
sudo nmcli conn add type wifi ssid MYSSID slave-type bridge con-name bridge-br0 ifname enp1s0 master br0

Во втором я поменял ethernet на wifi ssid

sudo nmcli conn show --active
sudo nmcli conn up br0

Затем в руководстве говорится, что мне нужно отключить соединение Ethernet, поэтому я подумал, что в моем случае мне нужно отключить соединение Wi-Fi.

Почему это должно работать? Я хочу, чтобы на моем ноутбуке было подключение, а в моей гостевой операционной системе с мостовым подключением оно было.

Когда я выдаю ip a соединение br0 не имеет IP-адреса от DHCP.

Если я устанавливаю соединение Wi-Fi, новый IP-адрес не отображается на интерфейсе моста (ip a)

Вам необходимо создать сетевой мост на главном ПК. Этот ответ основан на понимании того, что ваши IP-камеры, хост-ОС Ubuntu и виртуальная машина Windows XP будут находиться в одной сети (без расширенной конфигурации VLAN).

  1. Установите пакет bridge-utils: sudo apt-get install bridge-utils
  2. Отредактируйте / etc / network / interfaces, чтобы настроить сеть для созданного интерфейса br0, используя приведенную ниже информацию (заменяя IP-информацию, относящуюся к вашей сети).

Конфигурация статического IP-адреса хоста

auto lo
iface lo inet loopback

auto br0
iface br0 inet static
        address 192.168.0.10
        network 192.168.0.0
        netmask 255.255.255.0
        broadcast 192.168.0.255
        gateway 192.168.0.1
        dns-nameservers 192.168.0.5 8.8.8.8
        dns-search example.com
        bridge_ports eth0
        bridge_stp off
        bridge_fd 0
        bridge_maxwait 0

Обратите внимание, что строки auto eth0 и iface eth0 inet manual нет в файле. Это потому, что br0 вызовет назначенные ему компоненты.

bridge_stp off - настройка связующего дерева. Если у вас есть возможность просмотра сети, вы можете включить ее.

bridge_fd 0 отключает все задержки пересылки. Если вы не знаете, что это, вероятно, вам это не нужно.

bridge_maxwait 0 это время, в течение которого система будет ждать подключения портов Ethernet. Ноль не ждать.

Конфигурация DHCP хоста

auto lo
iface lo inet loopback

auto br0
iface br0 inet dhcp
        bridge_ports eth0
        bridge_stp off
        bridge_fd 0
        bridge_maxwait 0

Это создаст виртуальный интерфейс br0. У вас может быть несколько мостов, и некоторым не требуется назначать фактическую сетевую карту.

  1. Перезапустите сеть на хосте, выполнив команду sudo /etc/init.d/networking restart или sudo reboot.

Если хост зависает на несколько секунд при остановке или запуске гостевой виртуальной машины, это связано с тем, что мост Linux принимает аппаратный адрес (MAC-адрес) интерфейса с наименьшим номером из всех подключенных интерфейсов. Чтобы решить эту проблему, добавьте строку post-up ip link set br0 address 00:00:00:00:00:00 в конфигурацию интерфейса моста, заменив MAC-адрес на адрес подключенного физического интерфейса.

Ссылки: