это на самом деле довольно простая вещь, чтобы достичь, но требует определенного уровня технических знаний о сетях и маршрутизации.
в то время как это должно быть возможно использовать некоторую форму NAT, чтобы связать сеть только для хоста с остальной частью сети, так называемый "двойной NAT" не одобряется. Двойной NAT, когда преобразование сетевых адресов происходит дважды в сети, добавляющей дополнительные издержки к пакетам, переданным через сеть, и должно избегаться всякий раз, когда вероятный.
что вы пытаетесь достичь можно сделать очень хорошо без каких-либо нац.
в принципе, в теории, можно создать отдельную сеть, к которой хозяин только сеть, включить пересылку IP на Mac, и настроен статический маршрут на аэропорт.
Допустим, ваша обычная сеть-192.168.1.0 / 24, аэропорт - 192.168.1.1, а ваш Mac-192.168.1.200. Вам понадобится статический IP-адрес на Mac для того, чтобы это сработало. Сеть только Хоста уже будет иметь назначенный ему диапазон IP-адресов, и ради аргументации предположим, что это 10.0.0.0/24 с Mac-концом на 10.0.0.1 и виртуальной машиной, работающей на 10.0.0.8.
Итак, мы хотим добиться:
Airport <--------------------> Mac <----------------------> VM
192.168.1.1 192.168.1.200 |10.0.0.1 10.0.0.8
включение переадресации IP на Mac является достаточно простым делом. Если вы находитесь на 10.5 или ниже, посмотрите на файл/etc / hostconfig и найдите строку для переадресации IP (я забыл, что это именно из рук) и установите ее в УТВЕРДИТЕЛЬНЫЙ ОТВЕТ. На всех других версиях OS/X, а также на 10.5 или ниже, вы можете изменить /etc/sysctl.conf и добавить:
net.inet.ip.forwarding=1
после того, как вы сделали, что вы можете включить пересылку без перезагрузки, набрав (как корень):
sysctl -w net.inet.ip.forwarding=1
Ok, теперь сетевые пакеты могут попасть из основной сети только в Сеть Хоста. Но как мы расскажем остальной сети об этой сети только хост? На данный момент об этом знает только Mac.
хорошо, это снова простой вопрос. Вам не нужно рассказывать об этом всем хостам в сети, только одна общая точка вызова для всех устройств - шлюз по умолчанию - в этом случае аэропорт.
Итак, я не использовал аэропорт, поэтому я не могу сказать вам, где искать настройки, которые вам нужно изменить, но объект будет где-то там.
вы ищете параметр, в котором можно указать Статические Маршруты. Он может быть помечен как таковой, или как маршрутизация Table или что-то подобное. Когда вы найдете его, вам нужно настроить маршрут для сети только Хоста через ваш Mac. Это где, имея статический адрес на компьютере Mac. Маршрут, который вам нужно настроить, будет использовать что-то вроде следующих настроек (из приведенного выше примера. Замените номера на ваши фактические IP-адреса и сетевые маски):
Network: 10.0.0.0 Network address of the Host Only network
Netmask: 255.255.255.0 Netmask of the Host Only Network
Gateway: 192.168.1.200 IP address of your Mac.
как только вы установили этот маршрут, любой трафик, который предназначен только для вашего Хоста сеть сначала отправится в аэропорт, который ответит "на самом деле, ты не хочешь говорить со мной, ты хочешь поговорить с 192.168.1.200" и трафик будет перенаправляться на ваш Mac, который, в свою очередь, передаст его в Сеть только для хоста.
единственное, в чем нужно быть уверенным, так это в том, что гостевая операционная система, запущенная на виртуальной машине, имеет шлюз по умолчанию для своей сети. Это должен быть конец Mac сети только Хоста (10.0.0.1 в вышеупомянутом образец.)
так как же это сделать виртуальную машину в интернете? Ну, довольно просто: это фактически расширяет вашу сеть, чтобы включить только сеть Хоста, а маршрутизатор (аэропорт) заботится об остальном. Это имеет дело с NAT и знанием, какой трафик для основной сети и который для сети хоста только.