1

У меня есть виртуальная машина Windows XP, работающая на хосте Linux. Моя машина Linux подключена через OpenVPN к сети моей компании, к которой я не хочу, чтобы машина Windows имела доступ. Проблема, которую я решил решить тривиально, кажется немного сложнее.

Моя идея заключалась в том, чтобы ограничить доступ VirtualBox через iptables на хост-машине, просто отбрасывая все из гостевой -> vpn. Однако, в отличие от Xen, я не могу получить интерфейс моста, который будет отображаться на моем хосте. Я что-то здесь упускаю? Кто-нибудь испытывал запуск брандмауэра на хосте для гостевой машины?

1 ответ1

3

У меня работает аналогичная установка. Вы не упомянули свой дистрибутив Linux, но я использую Ubuntu Linux 11.10. Любой другой дистрибутив должен работать очень похожим образом.

Насколько я знаю, то, как я это делаю, до сих пор немного документировано VirtualBox, но больше не является их методом по умолчанию для подключения сети VirtualBox к хосту. По сути, вам нужно установить uml-utilities (часть Linux в пользовательском режиме). Затем добавьте интерфейс в /etc/network/interfaces , примерно так:

auto vbox1
iface vbox1 inet static
  address 192.168.1.1
  netmask 255.255.255.0
  tunctl_user virtualbox

После включения этого интерфейса вы можете подключить к нему VirtualBox. Вы не хотите связывать этот интерфейс с чем-либо еще (например, eth0), иначе ваша виртуальная машина снова получит полный доступ к сети. Вместо этого вы хотите направить трафик между этой сетью и любыми другими разрешенными ресурсами - и в этом случае запретить доступ к вашей сети VPN. Обратите внимание, что для этого требуется, чтобы net.ipv4.ip_forward=1 был указан в файле типа /etc/sysctl.conf .

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

# Must be able to access DNS running on the host itself (everything else is denied elsewhere).
iptables -A INPUT -i vbox1 -p udp --dport 53 -j ACCEPT

iptables -A INPUT -i vbox1 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i vbox1 -m state --state ESTABLISHED,RELATED -j ACCEPT

# Allow access out to the Internet.
iptables -A FORWARD -i vbox1 -o $WAN_IF -j ACCEPT

Пока вы устанавливаете WAN_IF для вашего интернет-соединения (и добавляете аналогичные правила для других разрешенных интерфейсов или адресов), но не добавляете разрешенный путь к вашей VPN, это должно отвечать вашим требованиям.

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