Как поделиться подключение к Интернету на Mac OS X для Virtualbox vm, используя только хост

в одну строку: следующим можно: аэропорт Mac ОС X файл VBOX-внутрикомпьютерная -> ВМ

на Mac OS X, у меня есть строки С виртуальной машиной. На данный момент я настроил 2 интерфейса для своей виртуальной машины. eth0 нормальный мост для моей виртуальной машины для доступа в Интернет (когда аэропорт подключен). eth1 имеет значение только для хоста, поэтому я могу получить доступ к своей виртуальной машине с хоста, когда нет Wi-Fi / AirPort. Таким образом, в основном это похоже на адаптер 1 когда есть Wi-Fi, адаптер 2, когда нет.

Я хотел бы иметь только одну конфигурацию, чтобы сделать его проще. Я думал, что могу просто сохранить конфигурацию только Хоста, а на хосте (Mac OS X) перейти к совместному использованию интернета и выбрать "share from AirPort" to vboxnet0 (виртуальный интерфейс vb). Только чтобы узнать, что vboxnet0 dosn не отображается в списке интерфейсов в настройках Mac OS X.

Я знаю, что на хосте Linux вы можете установить что-то под названием bridge-utils и используйте это, чтобы соединить два интерфейса. Есть что-нибудь подобное для Мака?

4
задан Peter Mortensen
03.04.2023 17:07 Количество просмотров материала 2535
Распечатать страницу

1 ответ

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

в то время как это должно быть возможно использовать некоторую форму 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 и знанием, какой трафик для основной сети и который для сети хоста только.

5
отвечен Majenko 2023-04-05 00:55

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх