Относитесь к гостю и Mac как к двум отдельным сетям, соединённым одной узкой дверью. Виртуальная машина сохраняет свой клиент VPN и собственный путь в интернет; Mac достигает ровно одного сервиса через адаптер только для хоста и один проброшенный порт. Ничто другое не должно проходить. Выполняйте шаги по порядку и останавливайтесь, если какой-то не удался, потому что каждый следующий шаг предполагает, что предыдущие выдержали.

Запишите оба пути, прежде чем что-либо менять

На госте ipconfig /all показывает адаптер, по которому идёт транспорт VPN, и адрес, полученный от DHCP виртуальной сети. На Mac запишите виртуальный интерфейс, созданный гипервизором для этого сегмента; в VMware Fusion устройство только для хоста обычно vmnet1, а Parallels даёт своё имя. Обратите внимание, кто выдаёт там адреса, и запишите всё, потому что подсеть только для хоста часто переназначается при пересоздании виртуальной сети. Проверяйте режим сети виртуальной машины в гипервизоре, а не в своей памяти о нём. Общий режим или режим NAT для адаптера, обращённого в интернет, плюс режим только для хоста для адаптера, обращённого к Mac, — это расклад, который предполагают эти шаги.

Два адаптера, две цели. Смешивать их так, чтобы один адаптер обслуживал и Mac, и интернет, — именно это превращает узкую дверь в маршрутизируемый путь.

Сначала подтвердите собственный VPN гостя

Запустите клиент внутри Windows и подтвердите, что он завершается, любым тестом, который документирует поставщик. Не двигайтесь дальше, пока гость в одиночку не достигнет приватного сервиса, потому что проблема проброса, наложенная на сломанный туннель, имеет две причины и не даёт полезного сообщения об ошибке. Запишите приватный адрес, в который сервис разрешается изнутри гостя. Именно этот адрес должно называть правило проброса.

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

Добавьте плечо только для хоста и проверьте его отдельно

Подключите к гостю адаптер только для хоста, дайте ему статический адрес в подсети, которую больше никто не использует, и подтвердите, что Mac может его пинговать. Проверьте с подключённым и отключённым VPN, потому что адрес должен выдержать оба случая. Гость, который отвечает только пока поднят его туннель, имеет проблему маршрутизации, которую вы ещё не нашли.

Windows может отнести новый адаптер к общедоступной сети, что по умолчанию блокирует входящий трафик. Задайте профиль, прежде чем отлаживать что-либо ещё.

Пробросьте один порт, а не подсеть

Предпочитайте один проброшенный порт общему пробросу IP. Windows поставляет netsh interface portproxy, который пробрасывает слушающий порт на целевой хост и порт, и для него нужна работающая служба IP Helper.

Всегда задавайте listenaddress на адрес только для хоста. Если его опустить, привязываются все интерфейсы, что выставляет сервис в любую сеть, где окажется виртуальная машина. Добавьте правило межсетевого экрана, ограниченное интерфейсом только для хоста и этим одним портом, чтобы слушатель и разрешение совпадали. Приложение, осведомлённое о прокси, может предпочесть небольшой прокси внутри гостя, который завершает соединение и не требует обратного маршрута к Mac. Выбирайте прокси, когда протокол это позволяет, потому что он отказывает закрыто по своей конструкции.

Проверьте, а затем запишите откат

С Mac разрешите приватное имя, выполните задуманную операцию, затем остановите VPN гостя и подтвердите, что операция не удаётся, а не тихо откатывается. Именно эта последняя проверка доказывает, что путь — тот, который вы построили. Запишите, какую личность видит шлюз и кому разрешено пользоваться пробросом.

Запишите откат в три шага: удалите запись portproxy, удалите правило межсетевого экрана, отключите адаптер только для хоста. Затем выполните его один раз, прежде чем он понадобится, и подтвердите, что собственный VPN гостя после этого всё ещё работает. Если ваша организация требует, чтобы каждый Mac регистрировался независимо, остановитесь здесь и используйте вместо этого ту модель, потому что общая точка проброса концентрирует доступ на одном госте. В любом случае внесите адреса и порт в журнал изменений; следующий человек не захочет открывать их заново.

Похожие статьи