У меня следующая ситуация.
У меня есть одна физическая машина, подключенная к Интернету.
Он запускает одну виртуальную машину, которую можно настроить на использование интернет-соединения хоста.
Я хочу отключить подключение к Интернету на хост-машине, но перенаправить его только на виртуальную машину.
Есть ли какой-нибудь трюк, умная конфигурация, запись в реестре или что-то еще, чтобы «разорвать» доступ в Интернет на хост-машине для всех приложений, процессов и служб, но разрешить использовать его только с виртуальной машины?
По сути, я хочу иметь безопасную рабочую среду на физической машине и изолированное виртуальное пространство для просмотра.
Технология виртуализации — Hyper-V.
ОБНОВЛЯТЬ:
Фактически мой хост-компьютер имеет два физических сетевых адаптера:
- Адаптер беспроводной локальной сети Intel
- Гигабитный Ethernet-адаптер
В настоящее время я использую WLAN-подключение к маршрутизатору. Ethernet не используется.
решение1
Правильный способ сделать это — иметь два сетевых адаптера на сервере. Hyper-V позволяет гостевым ОС иметь исключительное использование на сетевом адаптере, который находится на хосте, так что хост вообще не сможет использовать этот адаптер.
Просто снимите флажок дляAllow management operating system to share this network adapter
Если вы готовы жить вообще без доступа к сети, вы можете просто снять этот флажок для единственного адаптера в вашей системе. В те моменты, когда он вам нужен, просто временно установите этот флажок, а затем снимите его, когда закончите.
решение2
Какую хостовую ОС вы используете? Это кажется довольно важным в данном случае. Я предполагаю, что Windows является хостом. Гостевая ОС не имеет значения, я думаю. Если это работает, значит работает. Ваш вопрос касается брандмауэра, так как он касается исходящего трафика.
Существует два типа (программных) брандмауэров. Первый тип блокирует по номеру порта. Http-трафик — это порт 80, а https — это порт 443, хотя иногда используются также 8080 и 8443. Ftp — это порт 21, ssh — это порт 22 и т. д. Это вам не поможет. Если вы заблокируете порт 80 на хосте, гость тоже будет заблокирован.
Второй тип брандмауэра блокирует по приложению. Так что если вы используете Firefox на хосте и открываете веб-страницу, брандмауэр замечает этот запрос и спрашивает вас, что делать. Вы можете заблокировать это, и вы, вероятно, можете настроить его на блокировку всех приложений, за исключением одного: приложения VM. Так что если вы используете Virtualbox и открываете веб-страницу в Firefox в гостевой системе, которая работает в Virtualbox, я думаю (но не уверен на 100%), что брандмауэр хоста увидит это как запрос от Virtualbox, а не от Firefox. Затем вы разрешаете этот трафик.
Бесплатные брандмауэры, такие как Comodo, могут это делать. В OSX есть встроенный брандмауэр, который может это делать. Вероятно, встроенный брандмауэр Windows может это делать. Я предполагаю, что в Ubuntu будет брандмауэр, который может делать то же самое. Поэтому я думаю, что это можно сделать в любой хостовой ОС.
решение3
Проще всего это сделать с помощью фильтрации IP-адресов или прокси-доступа.
- Разрешите доступ только через прокси-сервер и настройте его внутри виртуальной машины, но не на хосте.
- позвольте виртуальной машине получить свой собственный (статический) IP-адрес и открыть доступ в Интернет для этого IP-адреса на вашем сетевом брандмауэре, но не на вашей физической машине.
Вы даже можете сделать это, настроив прокси на своей физической машине. У меня был прокси на основе Java, который позволял различать маршрутизацию и локальный доступ. Так что это помогло бы и вам. Хотя названия уже не помню.