
У меня есть настроенная Vagrant VM, запущенная на машине Windows 10 в моей домашней сети. У меня есть настройки Vagrant public bridged network, которые успешно настроены, так что я могу получить доступ к этой гостевой VM с других машин в этой сети, а не только с хоста. Например, я работаю на своем ноутбуке и могу подключиться по SSH к гостевой VM IP без проблем.
Все это работает отлично, пока я не пытаюсь сделать то же самое, получая доступ извне сети. Мой маршрутизатор поддерживает VPN-подключения, поэтому я настраиваю это и могу получить доступ ко всем другим устройствам в моей сети, используя частные IP-адреса (например, какой-то локальный веб-сервер, который у меня запущен вне виртуальной машины, доступен). Я могу получить доступ к хост-машине Windows 10, но когда я пытаюсь получить доступ к гостевому IP-адресу виртуальной машины, он зависает.
Я думаю, что это может быть связано с тем, что VPN помещает меня в отдельную подсеть (например, IP гостевой виртуальной машины — это , 192.168.29.125
а когда я подключен к VPN, моему ноутбуку назначается что-то вроде 192.168.0.35
). Есть ли у кого-нибудь идеи, как разрешить устройству, которое находится в сети через VPN-подключение, получать доступ к гостевой виртуальной машине с мостовым подключением? Я могу получить доступ к хост-машине, но не к гостевой виртуальной машине, работающей на этом хосте.
Соответствующий Vagrantfile
# Set up shared folders for local syncing
override.vm.network 'private_network', :ip => IP_ADDRESS[:rails]
# Windows and accessible on the network
override.vm.network 'public_network'
решение1
Если кто-то еще обнаружит это, я решил эту проблему, направив соединения на хост и включив переадресацию портов в файле Vagrant.
Например, я хотел, чтобы SSH и порт SSL нашего приложения были открыты (22 и 3443).
Мой IP-адрес хоста был примерно таким: 192.168.29.125
Мой Vagrant получил IP вроде 192.168.29.130
Ранее я пытался подключиться к VPN и 192.168.29.130 на этих портах, но это просто вызывало таймаут. Я добавил строки вроде:
config.vm.network "forwarded_port", guest: 22, host: 22
config.vm.network "forwarded_port", guest: 3443, host: 3443
Затем я направляю свои соединения на хост-компьютер, который затем перенаправляет эти соединения на виртуальную машину. Так что вместо того, чтобы это стало , которое затем перенаправляется на 192.168.29.130ssh [email protected]
ssh [email protected]