LINUX.ORG.RU

Проблема с подключением к вирт. машине

 ,


0

1

Совсем не разбираюсь в сетях/виртуальных машинах, подскажите пожалуйста.

Есть убунта, в ней установлен gnome-boxes, в боксе тоже стоит убунта. Мне нужно чтоб к ней можно было подключаться по ssh, но ip a показывает адрес 10.0.2.15, а нужно чтоб был 192.168.x.x.

Недавно мучался с такой же проблемой в федоре, там мне помогла установка libvirt-какой-то-там-демон на хосте, после чего в ip a появилась инфа про virbr0 (на хосте), а после установки федоры в бокс в properies была строчка (примерно) NAT: 192.168.x.x и все нормально коннектилось.

Сейчас virbr0 на хосте есть, sshd внутри вм включен. Пробовал искать в сети - предлагаются разные решения с прописыванием конфигов и кучей малопонятных мне терминов. Но ведь все должно быть намного проще. Не хватает какого-то пакета в боксе или на хосте?



Последнее исправление: coolstory (всего исправлений: 1)

Дичь какая-то, с помощью вирт-менеджера создал вм, все работает, по ssh подключается, в gnome-boxes - нет. Настроек в нем нет. Инфы в сети нет. Гайда нормального нет. Срань.

coolstory
() автор топика
Ответ на: комментарий от nikolnik

У меня только gnome-boxes стоит, ну и сейчас virt-manager, задача то крайне простая, хотелось вообще одними гномбоксами обойтись. Никаких VirtualBox ставить и не собирался.

anonymous
()

Ура! Заработало! Теперь боксы получают нормальный ip формата 192.168.x.x. Отбросив все лишнее, решение такое:

  • ставим gnome-boxes и libvirt-bin с флагом --install-recommends (включен по умолчанию)
  • добавляем пользователя в группу kvm и libvirt sudo adduser имя_пользователя libvirt и sudo adduser имя_пользователя kvm
  • создаем файл /etc/qemu/bridge.conf и добавляем в него строчку allow virbr0
  • открываем /etc/apparmor.d/abstractions/libvirt-qemu в конце видим что-то подобное:
      /usr/{lib,libexec}/qemu-bridge-helper Cx -> qemu_bridge_helper,
      # child profile for bridge helper process
      profile qemu_bridge_helper {
       #include <abstractions/base>
    
       capability setuid,
       capability setgid,
       capability setpcap,
       capability net_admin,
    
       # for 9p
       capability fsetid,
       capability fowner,
    
       network inet stream,
    
       /dev/net/tun rw,
       /etc/qemu/** r,
       owner @{PROC}/*/status r,
    
       /usr/{lib,libexec}/qemu-bridge-helper rmix,
    
    меняем /usr/{lib,libexec}/qemu-bridge-helper на /usr/lib/qemu/qemu-bridge-helper (не уверен что этот шаг нужен, может это значит одно и тоже) - получется так:
      /usr/lib/qemu/qemu-bridge-helper Cx -> qemu_bridge_helper,
      # child profile for bridge helper process
      profile qemu_bridge_helper {
       #include <abstractions/base>
    
       capability setuid,
       capability setgid,
       capability setpcap,
       capability net_admin,
    
       # for 9p
       capability fsetid,
       capability fowner,
    
       network inet stream,
    
       /dev/net/tun rw,
       /etc/qemu/** r,
       owner @{PROC}/*/status r,
    
       /usr/lib/qemu/qemu-bridge-helper rmix,
    
  • копируем это безобразие и вставляем в конец файла /etc/apparmor.d/usr.sbin.libvirtd перед скобкой }.
  • меняем права файла /usr/lib/qemu/qemu-bridge-helper: sudo -i (необходимо быть рутом, чтоб права поменялись) chown root:kvm /usr/lib/qemu/qemu-bridge-helper && chmod 4750 /usr/lib/qemu/qemu-bridge-helper
  • перезагружаемся После этого боксы буду получать ip формата 192.168.x.x и к ним можно коннектится по ssh из хоста.
anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.