Мне не разрешено запускать мою гостевую VMWare в мостовом режиме, и я хочу каким-то образом туннелировать от согласованного порта на внешнем сетевом интерфейсе Mac к веб-серверу, работающему на гостевой системе VMWare fusion.
Я предполагаю, что я могу каким-то образом настроить туннель в ipfw, работающем на Mac, для поддержки этого.
Кто-нибудь может дать мне несколько указателей, пожалуйста?
Я хотел сделать то же самое в OSX (точнее, разрешить телефонам / планшетам / устройствам / людям доступ к моей виртуальной машине в целях тестирования), и следующее сработало отлично:
Моя установка:
Host OSX IP: 192.168.1.72
VM IP: 172.16.67.188
Метод:
1) Выберите «NAT» в настройках «Сетевой адаптер» в VMWare Fusion.
2) cd в каталог vmnet8
cd /Library/Application\ Support/VMware\ Fusion/vmnet8/
Примечание: Если вы не можете найти каталог vmnet8, попробуйте запустить locate nat.conf
, который обычно находится там, где находится файл.
3) Отредактируйте nat.conf
файл (с использованием vim / vi и т. д.) и под [incomingtcp]
, введите следующее:
EG: <external port number> = <VM’s IP address>:<VM’s port number>
В моем случае я ввел:
[incomingtcp]
8080 = 172.16.67.188:80
4) Сохраните и выйдите из nat.conf
файл
5) Перезагрузите сеть VMWare, запустив:
/Library/Application\ Support/VMware\ Fusion/boot.sh --restart
При беге boot.sh
, весь трафик TCP на порт 8080 на вашем хост-компьютере OSX будет немедленно перенаправлен на порт назначения 80 виртуальной машины с IP-адресом 172.16.68.188 и сделает вашу виртуальную машину доступной для вашей локальной сети на 192.168.1.72:8080.
Примечание. Если вы уже используете веб-сервер в OSX, конфликты могут возникнуть на порту 80, поэтому используйте 8080 (как я показал здесь) или другой порт, чтобы избежать проблем.
Отказ от ответственности Я не пробовал это, но это для рабочей станции, но я считаю, что это должно работать
Если вы используете виртуальную машину на своем компьютере, вы можете получить доступ к этой виртуальной машине с другого компьютера. Рассмотрим пример: предположим, что у вас есть виртуальная машина Ubuntu с Apache, работающим на порту 80, и вы хотите показать другим людям в вашей сети доступ к веб-сайту, который вы размещаете.
Предположим, что виртуальная машина использует NAT, и ей назначен IP-адрес 192.168.23.128.
Сначала откройте пункт меню Пуск Manage Virtual Networks:
Щелкните вкладку NAT, а затем щелкните Edit. Вы увидите диалог настроек NAT:
Нажмите кнопку Port Forwarding, и вы увидите это диалоговое окно:
Теперь, наконец, мы получили экран, который можно использовать. Мы собираемся использовать порт 8080 на хост-машине. Мы вводим IP-адрес виртуальной машины ubuntu и порт 80. Эти порты могут быть любыми портами.
Мы сможем проверить это, перейдя в http: // локальный: 8080 на нашем хост-компьютере. Мы можем выдать URL-адрес нашего хост-компьютера, заменив localhost на IP-адрес хост-компьютера.
РЕДАКТИРОВАТЬ:
Если вы используете NAT, виртуальная машина находится за NAT-адресом уровня хоста (172.x.y.z), о котором ваш интернет-маршрутизатор ничего не знает. Вы можете перенаправить порт 80 с маршрутизатора на IP-адрес вашего хоста, а затем настроить / Library / Application Support / VMware Fusion / vmnet8 / nat.conf для перенаправления запросов порта 80 на адрес вашей виртуальной машины 172 на порту 80. Для этого необходимо выключить Apache. OS X, если она запущена, потому что это может вызвать конфликт портов.
Другой вариант - изменить виртуальную машину с NAT на мостовую, и в этом случае ваша OS X и ваша виртуальная машина Ubuntu будут в одной подсети с DHCP-адресом, выданным интернет-маршрутизатором. Маршрутизатор будет пересылать трафик непосредственно на виртуальную машину без дополнительной переадресации портов.