Какими способами я могу реализовать эластичную IP-архитектуру в моей частной серверной ферме? Доступен только один глобальный IP-адрес, но я должен иметь возможность использовать ssh для любого сервера из внешней сети, реализовав тот же механизм, что и aws elastic ip? грубо говоря, я хочу сделать следующее: - назначить каждому серверу «виртуальный IP-адрес», как это делает aws (например, c2-111-111-111-111.compute-1.amazonaws.com), который по сути является доменным именем, которое разрешается в глобальный ip. в моем случае весь такой виртуальный IP-адрес разрешается в мой глобальный IP-адрес - теперь перенаправьте запрос на соответствующий сервер во внутренней сети - и почти весь протокол должен работать
Elstic IP работает не так, как вы думаете. Каждое «эластичное» имя хоста, подобное приведенному вами примеру, фактически разрешается на другой IP-адрес, и amazon просто перенаправляет их на экземпляр, на который они ссылаются.
Чтобы делать то, что вы хотите, вам нужны протоколы, поддерживающие передачу запрошенного имени хоста вместе с запросом. HTTP (и HTTPS с SNI) поддерживают это, как и FTP. Однако, вопреки вашему необоснованному утверждению, «почти все протоколы» будут не работают, потому что виртуальный хостинг на основе имен не является широко поддерживаемым методом.
Если вам нужно больше общедоступных IP-адресов, приобретите больше общедоступных IP-адресов. Они не дорогие (пока), и если ваш поставщик услуг не даст вам больше, прекратите удешевлять и используйте для своих бизнес-услуг настоящее соединение бизнес-класса.
Понятия не имею, как работает эластичный ip aws.
Однако хороший способ сделать то, что вы хотите, - просто выполнить двойной ssh вперед.
В этом случае, предполагая, что вы проходите через единственный брандмауэр с именем хоста router.globalnetworks.net, вы можете настроить файл конфигурации ssh примерно так:
Host router
User sysadmin
Port 22
IdentityFile ~/.ssh/id_sysadmin
HostName router.globalnetworks.net
LocalForward 5020 192.168.181.20:22
LocalForward 5021 192.168.181.21:22
...
Следовательно, вы можете подключиться к хосту 192.168.181.20 с помощью
ssh router
; затем