Доступ к SSH-туннелю хоста с гостевой виртуальной машины в VMWare Fusion
У меня на хосте OS X работает VMWare Fusion, и у меня работает гостевая виртуальная машина Windows 8 Pro. На моем хосте у меня открыт SSH-туннель через порт 1010. SSH-туннели прекрасно работают в OS X Safari, если я настроил прокси SOCKS на localhost:1010.
Я хотел бы добиться того же на моей виртуальной машине с Windows 8, но localhost: 1010 не работает как прокси-сервер SOCKS. Я предполагаю, что это потому, что это локальный хост, отличный от локального хоста моего хоста. Моя виртуальная машина Windows в настоящее время использует режим NAT. Кто-нибудь знает, что я делаю не так?
2 ответа
По умолчанию SSH-клиент будет прослушивать 127.0.0.1 (то есть localhost), доступ к которому возможен только с этой машины. Чтобы получить к нему доступ с другого компьютера (например, с виртуальной машины), необходимо указать вашему SSH-клиенту прослушивать все интерфейсы. Измените ваш порт вперед, указав 0.0.0.0 в качестве шлюза:
ssh -D 0.0.0.0:1010 myserver.example.com
Обратите внимание, что это также позволит получить доступ с любого компьютера в локальной сети.
Затем вам нужно настроить Fusion, чтобы разрешить доступ к хосту из виртуальной машины. Обычно это означает использование сетевых настроек вместо NAT. Затем виртуальная машина должна иметь доступ к порту SOCKS, используя IP-адрес хоста.
Ответ на этот вопрос решил это для меня. Формулировка проблемы как обмена SSH имеет гораздо больше смысла. Это решение хорошо работает и с NAT. В частности:
ssh -D *:1010 root@example.com
Затем вам просто нужно найти IP вашего хоста в той же подсети, что и виртуальная машина, и использовать IP и порт в настройках прокси-сервера SOCKS веб-браузера.