Представьте, что у вас имеется хост ESX, расположенный в удаленном датацентре на коллокейшене, и может быть, что этот сервер находится за пределами корпоративной сети и доступен в интернете (на нем расположен виртуальный веб-сервер). Т.к. вы целиком администрируете этот сервер, то вопросы настройка маршрутизации и сетевой защиты ее полностью лежат на вас. Данную проблему можно решить путем создания специальной выделенной виртуальной машины, исполняющей еще и функции файервола, и подключенной сразу ко внешнему и внутреннему коммутатору vSwitch. В качестве такой виртуальной машины можно использовать FreeBSD с pfSense либо vShield Zones, либо еще какие-то варианты. Я остановился на pfSense, т.к. уже имел опыт работы с ним.
Я обезопасил свой сервер следующим образом: по сети через файервол доступны только интерфейс сервисной консоли и виртуальный веб сервер. На машине pfSense запущен OpenVPN, поэтому когда мне нужен доступ ко внутренней сети, я запускаю OpenVPN.Однако у меня не всегда есть возможность использовать OpenVPN по тем или иным причинам. Что же можно делать в таких случаях?
На мой взгляд, самым лучшим решением было бы использование туннелированния SSH. Я подключаюсь к третьей машине с запущенной службой SSH, которая в свою очередь имеет доступ к адресу сервисной консоли. При определенной настройке PuTTY, я смогу безопасно подключаться к серверу ESX при помощи клиента vSphere Client, без публикации наружу управляющих интерфейсов сервера ESX.
Методика следующая
- Сервис SSHd должен быть доступен по Интернету
- Удостоверьтесь, что с виртуальной машины с демоном SSHd можно получить доступ к адресу сервисной консоли
- Откройте PuTTY, перейдите в [Connection] – [SSH] – [Tunnels], и укажите 3 перенаправляемых порта: 443, 902 and 903. Поле ‘Destination’ заполнить следующим образом: [esx_ip_adres]:[port].
- В файл hosts нужно добавить настоящее DNS имя сервера ESX и связать его с 127.0.0.1
- Запускаем клиент vSphere и подключаемся к [имя_esx_сервера].[domain]