Вопрос или проблема
Я использую Virtual Machine Manager, а именно libvirt
и virt-manager
, чтобы запустить Windows 10 на openSUSE Leap 15.4. Сетевая конфигурация следующая:
Эта конфигурация обеспечивает доступ в Интернет для гостевой системы, когда на хосте есть подключение к Интернету.
Мне нужно, чтобы был доступ к Интернету на хосте. Но я хочу заблокировать доступ в Интернет на госте. Мне нужно сделать что-то вроде этого поста. Но в этом посте не упоминается, как решается проблема.
Этот ответ не был написан на openSUSE, но не должно быть никакой разницы, на каком дистрибутиве работает клиент virt-manager (ни libvirtd, поскольку это можно сделать удаленно).
Вам нужно создать новую сеть libvirt в Изолированном режиме:
Изолированный режим
В этом режиме гости, подключенные к виртуальному коммутатору, могут общаться друг с другом и с хостом. Однако их трафик не будет выходить за пределы хоста, и они не смогут получать трафик извне хоста.
Все это делается с помощью графического интерфейса virt-manager:
-
Щелкните правой кнопкой мыши на соединении QEMU/KVM (не на ВМ внутри него) и выберите Сведения.
-
В новом окне перейдите на вкладку Виртуальные сети
Вероятно, должна быть одна сеть: default, которая является сетью NAT по умолчанию.
-
Нажмите кнопку
+
внизу, чтобы создать новую сеть-
Используйте актуальное имя для новой сети. Например:
hostonly
. -
Измените режим на
Изолированный
-
Убедитесь, что выбранная сеть IPv4 не используется другой сетевой настройкой
Это не должно произойти в первый раз, но возможно может, когда создается несколько других сетей. Если потребуется, измените адрес сети, предлагаемый по умолчанию.
-
-
Перейдите к настройкам ВМ и измените сеть NIC на только что созданную сеть
Это можно сделать при создании ВМ/NIC или в качестве изменения настройки.
Если это сделано во время работы ВМ, для немедленного эффекта вам также следует временно отключить виртуальный NIC (снимите отметку с Состояние соединения), примените изменения и снова подключите его (установите отметку на Состояние соединения), снова примените, чтобы вызвать перенастройку сети в ОС ВМ (в противном случае она не заметит этого до обновления аренды DHCP, возможно, через несколько часов).
Примечание. Чтобы открыть окно “QEMU/KVM – Сведения о соединении” в “Virtual Machine Manager”, выберите Изменить-> Сведения о соединении.
Ответ или решение
Чтобы заблокировать доступ к Интернету для виртуальной машины (VM), но разрешить доступ к локальной сети (LAN) с хоста в openSUSE Leap 15.4, выполните следующие шаги, используя Virtual Machine Manager (virt-manager) и libvirt.
Подробная инструкция по настройке
-
Открытие параметров соединения:
- Запустите
virt-manager
. - Щелкните правой кнопкой мыши на подключении QEMU/KVM (не на самой виртуальной машине) и выберите Details.
- Запустите
-
Перейдите на вкладку "Сетевые интерфейсы" (Virtual Networks):
- Найдите сеть по умолчанию (default), которая, как правило, является сетью NAT. Вам нужно создать новую сеть.
-
Создайте новую сеть:
- Нажмите на кнопку + в нижней части окна, чтобы добавить новую сеть.
- Введите подходящее имя для новой сети, например,
hostonly
. - Измените режим на Isolated (изолированный).
- Убедитесь, что выбранный адрес IPv4 сети не используется другими сетевыми конфигурациями. Обычно это не будет проблемой, если это ваш первый раз, но стоит проверить.
-
Настройка сети для виртуальной машины:
- Перейдите к настройкам вашей VM и измените сеть NIC на только что созданную сеть
hostonly
.
- Это можно сделать как при создании VM, так и при изменении настроек существующей VM.
- Перейдите к настройкам вашей VM и измените сеть NIC на только что созданную сеть
-
Перезагрузка сетевого интерфейса VM:
- Если вы изменяете сетевые настройки во время работы виртуальной машины, для моментального применения изменений временно отключите виртуальный NIC (снимите галочку с Link state), примените настройки и снова подключите его (поставьте галочку), а затем примените настройки еще раз. Это поможет триггерить переинициализацию сети в операционной системе VM.
-
Проверка конфигурации:
- После выполнения вышеуказанных шагов, убедитесь, что ваша виртуальная машина может подключаться к локальной сети, но не имеет доступа к Интернету. Вы можете протестировать это, пытаясь получить доступ к внешним веб-сайтам из VM и проверив связь с хостом.
Примечание
Если визуальный интерфейс virt-manager
не отображает некоторые параметры, возможно, потребуется убедиться, что у вас установлены все необходимые разрешения и компоненты для работы с libvirt.
Следуя этим шагам, вы сможете настроить виртуальную машину так, чтобы у нее был доступ только к локальной сети хоста и отсутствовал доступ к Интернету, сохраняя при этом подключение к локальной сети с вашего хоста.