Product SiteDocumentation Site

69.3. Взаимодействие с гостевой ОС

По умолчанию в гостевой ОС поддерживаются следующие функции:
  • общий буфер обмена (в обе стороны);
  • перенос файлов (функция Drag and Drop);
  • масштабирование экрана;
  • сеть в режиме NAT (трансляции адресов).

69.3.1. Настройки сети

GNOME Boxes по умолчанию использует стандартные сетевые настройки QEMU, при которых сетевой стек TCP/IP реализуется в пользовательском пространстве через SLIRP (User-Mode Networking). Это означает, что вся сетевая активность гостевой ОС проходит через специальную программную эмуляцию, без прямого доступа к физической сети хоста.
Сеть SLIRP
GNOME Boxes автоматически настраивает виртуальную сеть 10.0.2.0/24 для гостевых систем. В этой сети:
  • IP-адрес шлюза по умолчанию из виртуальной сети в сеть хоста: 10.0.2.2;
  • IP-адрес гостевой системы: всегда 10.0.2.15;
  • DNS-сервер: размещён по адресу 10.0.2.3;
  • SMB-сервер (если настроен): доступен по адресу 10.0.2.4.
Ограничения сети в GNOME Boxes:
  • значительные накладные расходы, из-за чего производительность низкая;
  • не работает трафик ICMP, поэтому использовать ping внутри гостевой системы невозможно;
  • гостевая система недоступна напрямую из хоста или из внешней сети;
  • можно инициировать SSH-соединение из гостевой системы на хост (через IP хоста или 10.0.2.2), но обратное подключение (с хоста на гостевую систему) невозможно, так как гостевая система находится за NAT.

Примечание

Включение ping в гостевой системе (все команды выполняются на хостовой машине):
  1. Создать новую группу unpriv_ping:
    # groupadd unpriv_ping
    
  2. Добавить нужных пользователей в эту группу:
    # for U in user1 user2 ... user_n; do
      gpasswd -a "$U" unpriv_ping
    done
    
    где user1 user2 ... user_n — имена пользователей, которым нужно разрешить использовать ping.
  3. Настроить параметр ядра sysctl net.ipv4.ping_group_range:
    • определить идентификатор созданной группы:
      # GROUP_ID=$(getent group unpriv_ping | cut -d: -f3)
      
    • добавить настройку в файл /etc/sysctl.conf:
      # echo "net.ipv4.ping_group_range = $GROUP_ID $GROUP_ID" >> /etc/sysctl.conf
      
    • применить изменения:
      # sysctl -p
  4. Перезагрузить систему.
После перезагрузки указанные пользователи смогут использовать команду ping из гостевой системы.