3

Я искал и искал, но не нашел способ сделать это. Ответы, которые я нашел, сказали, чтобы получить второй ник и посвятить это гостю Windows. Мой хозяин - Linux Mint 16.

Я вижу, как указать сетевой адаптер для гостя, но как мне сделать так, чтобы у гостя Windows был доступ в Интернет, но он не мог получить доступ к любому другому компьютеру в сети хоста.

Я хочу убедиться, что даже если IP-адрес гостя был изменен вручную, он не сможет получить доступ к остальной части сети. Это должен видеть только сам (а может и хозяин).

3 ответа3

2

Это можно сделать в VirtualBox.

Вы должны выбрать соединение, которое позволяет использовать iptables для управления пакетами. Таким образом, ни NAT, ни Bridge не подойдут, потому что они не создают доступную для пользователя NIC. Вместо этого следует использовать сеть только для хоста , которая создает на хосте доступный для пользователя интерфейс с именем vboxnet0.

Чтобы настроить его, выберите «Файл» -> «Настройки» -> «Сеть» -> «Только узел» - «Сеть» -> «Плюс», затем «Отвертка» -> «DHCP-сервер», включите DHCP-сервер. Сохраните настройки, запустите ВМ.

Теперь в гостевой системе вы должны указать хост в качестве шлюза: IP-адрес хоста по умолчанию - 192.168.56.1. Используйте Google, чтобы найти инструкции о том, как это сделать в Windows. И, возможно, вам придется настроить DNS-серверы.

На хосте все эти инструкции как sudo:

1) Включить IP-пересылку:

  echo "1" > /proc/sys/net/ipv4/ip_forward

2) Выполните следующие правила iptables :

  iptables --table nat --append POSTROUTING --out-interface eth0 -j MASQUERADE
  iptables -A FORWARD -m iprange --dst-range 192.168.1.2-192.168.1.254 -j DROP
  iptables -I FORWARD -m iprange --src-range 192.168.1.2-192.168.1.254 -j DROP

Первое правило разрешает доступ к Интернету виртуальной машины; вторая пара запрещает ВМ доступ к локальной сети, за исключением, конечно, маршрутизатора и широковещательного адреса.

Приведенные выше правила предполагают, что хост подключен через eth0, ваша локальная сеть 192.168.1.0/24, а маршрутизатор и широковещательный адрес - 192.168.1.1 и 192.168.1.255 соответственно. Если это не так, измените их соответственно.

0

Хорошо, я разобрался с отличным решением, которому нужна только одна сетевая карта в хост-системе.

  1. Дайте гостевой ОС адаптер только для хоста (по умолчанию vboxnet0) и убедитесь, что vboxnet0 делает dhcp.
  2. Установить прокси-сервер squid (sudo apt-get установить squid3
  3. Откройте файл /etc/squid3/squid.conf и внесите следующие изменения: A. Найдите строку с "http_access deny all" и закомментируйте ее, поставив # в начале строки. Б. Вставьте следующие две строки в файл:
    1. acl allcomputers src 192.168.56.0/255.255.255.0
    2. http_access разрешить всем компьютерам
  4. Перезапустите службу squid 3, запустив: sudo service squid3 restart
  5. В гостевой ОС убедитесь, что для сетевой карты установлен dhcp
  6. Откройте "Свойства обозревателя" в Internet Explorer, перейдите на вкладку "Подключения", нажмите "Настройки Lan" ..., установите флажок «Прокси-сервер» и введите адрес 192.168.56.1 и порт 3128.
  7. Интернет теперь работает на госте и гость не может видеть локальную сеть.

Спасибо за помощь в этом посте. Это привело меня в правильном направлении, чтобы найти Squid3. Вся установка здесь занимает 5-10 минут и очень проста.

0

Короткий ответ: вы не можете получить желаемую изоляцию только с помощью VirtualBox. Виртуальная машина всегда будет наследовать ту же доступность сети, что и хост (при условии сетевых режимов Bridged или NAT).

У вас есть четыре варианта сети в VirtualBox:

  1. Мост: разделяет соединение с одним из адаптеров хоста. Это было бы так, как если бы ВМ и хост были подключены к одному коммутатору. Виртуальные машины могут получить доступ ко всему, что может получить хост.

  2. NAT: VirtualBox размещает виртуальный межсетевой экран NAT между адаптером хоста и виртуальной сетью. Виртуальные машины все еще могут получить доступ ко всему, что может получить хост.

  3. Только хост: виртуальная машина может взаимодействовать только с хост-компьютером.

  4. Внутренний: виртуальные машины находятся в изолированной сети и могут взаимодействовать только с другими виртуальными машинами в той же внутренней сети.

Ни один из этих вариантов не соответствует вашим требованиям, поэтому только в VirtualBox это невозможно сделать. Как вы упомянули, добавление дополнительного сетевого адаптера обеспечивает физическое разделение, необходимое для создания требуемого разделения.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .