Поиск по сайту:

Какой тип сети следует использовать для вашей виртуальной машины?


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

В этом руководстве будут специально рассмотрены сетевые параметры VirtualBox, но те же концепции применимы и к другим программам виртуализации.

Преобразование сетевых адресов (NAT)

Этот тип сети используется по умолчанию для новых экземпляров VirtualBox, и его довольно просто понять. Он просто позволяет гостевой ОС получить доступ к Интернету так же, как ваш компьютер получает к нему доступ за домашним маршрутизатором.

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

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

Режим NAT не дает хосту (или любому другому локальному компьютеру) доступ к службам, работающим на виртуальной машине, во многом так же, как служба, работающая в вашей локальной сети, не доступна публично из открытого Интернета. Если вы хотите, чтобы приложение было доступным, вы должны перенаправить порты, на которых оно работает, и привязать их к локальным портам хоста. Это и хорошо, и плохо — с одной стороны, так гораздо безопаснее, поскольку даже локальные устройства не могут получить доступ к сервисам виртуальной машины, но открытие портов вручную может быть не тем, что вам нужно. Если это кажется проблемой, режим моста является потенциальным решением. Вы также можете открыть гостевые службы для openinternet, перенаправив порт вашего маршрутизатора, чтобы перенаправить порт на хост-компьютер, который перенаправит соединение дальше гостю.

В то время как все другие направления связи возможны, режим NAT не дает доступа типа «гость к хосту».

Вам следует выбрать NAT, если вам нужен базовый доступ в Интернет, но при этом вы хотите, чтобы виртуальная машина была отделена от других машин в вашей сети.

Сеть NAT

В режиме NAT внутренний маршрутизатор настраивается для каждой виртуальной машины. Одна виртуальная машина не может получить доступ к службам, работающим на другой виртуальной машине. На самом деле каждая машина может иметь один и тот же частный IP-адрес, потому что в конце концов все это транслируется.

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

Это обеспечивает доступ «гость к гостю» через виртуальный коммутатор, подобно тому, как компьютер, подключенный к первому разъему Ethernet вашего маршрутизатора, может получить доступ к машине, подключенной ко второму разъему. В остальном этот режим работает точно так же, как NAT; доступ от хоста к гостю может осуществляться только через переадресацию портов (хотя на этот раз вам придется выбрать, на какую виртуальную машину перенаправлять).

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

Вы должны выбрать сеть NAT, а не базовую NAT, если вам нужен гостевой доступ.

Мост

Мостовой режим уникален среди сетевых режимов, так как это единственный режим, который каким-либо образом не изолирует виртуальные машины. В режиме моста ваша виртуальная машина взаимодействует с внешними службами напрямую, используя сетевой интерфейс хоста.

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

Этот сетевой режим используется многими поставщиками VPS, такими как AWS, поскольку он позволяет им разделить большой мощный сервер на несколько серверов меньшего размера, которые можно продать клиентам. Каждая машина будет иметь свой уникальный IP-адрес в сети. Хотя для таких сервисов, как AWS, устанавливается множество дополнительных средств защиты и систем, чтобы предотвратить доступ к виртуальным машинам других клиентов, и это на порядки сложнее, чем это.

Хотя хост используется для перенаправления пакетов обратно на сервер, он никоим образом не мешает им, поэтому гостевая ОС выглядит как еще один компьютер в вашей сети. Однако, поскольку ничто не изолирует виртуальную машину от внешней сети, нет встроенного брандмауэра или защиты, кроме брандмауэра вашего шлюза и любых брандмауэров, настроенных вручную в гостевой ОС.

Большинство серверов имеют множество портов Ethernet и несколько физических интерфейсов. Поскольку режим моста просто соединяет один из этих физических интерфейсов, его можно использовать для запуска виртуальных машин в совершенно отдельных сетях, в зависимости от ваших реальных кабелей.

Вам следует выбрать мостовую сеть, если вам нужен полный беспрепятственный доступ. Также полезно, если вы просто хотите запустить несколько «виртуальных» серверов с использованием одного и того же оборудования, как это сделал бы провайдер VPS.

Хост-адаптер

В режиме Host-Only виртуальные машины не имеют доступа к Интернету. Однако связь между хостом и гостем и между гостем все еще возможна, и это основная причина использования этого режима.

В этом режиме обычно запускается DHCP-сервер для выдачи IP-адресов гостям, а связь между гостями также легко осуществляется с использованием сети Интернет.

Вам следует выбрать режим Host-Only, если вам нужно много двунаправленной связи между хостом и гостем, но не нужен доступ в Интернет на хосте. Если вам нужна двусторонняя связь, но нужен внешний доступ, вы можете добиться того же эффекта в режиме моста, который обеспечивает полный доступ.

Внутренняя (симулированная) сеть

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

Создав новую виртуальную машину и настроив ее в качестве маршрутизатора (например, с помощью iptables), вы можете указать всем другим машинам в виртуальной сети использовать новую виртуальную машину маршрутизатора в качестве шлюза по умолчанию. Чтобы получить доступ к внешним сетям, вам необходимо создать отдельный сетевой интерфейс, используя режим подключения к Интернету (NAT, Bridged и т. д.), и подключить его к маршрутизатору. Технически внутренняя сеть сама по себе не обеспечивает доступ в Интернет, но в этом примере у ВМ1 и ВМ2 не будет сетевых интерфейсов, обеспечивающих прямой доступ в Интернет.

В некотором смысле эта настройка не сильно отличается от сетевого режима NAT, но все выполняется вручную.

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