Распределенный персонал по разработке, нуждающийся в общем диапазоне IP
Я работаю в команде разработчиков, которая географически распределена, в основном по всему штату Калифорния, но несколько ключевых членов также должны часто путешествовать.
Мы в значительной степени полагаемся на API стороннего поставщика для большинства наших подсистем (не можем понять, кто это или что они делают). Однако сторонние разработчики довольно строго относятся к сетевому доступу и не имеют понятия о изолированной программной среде разработки. Доступ ограничен 2, 3 IP номерами, и это все. После того, как мы учтем наши производственные серверы, у нас останется один или два IP-адреса для нашей команды разработчиков - что по-прежнему проблематично, так как домашние IP-адреса людей меняются, люди путешествуют, у нас более 2 разработчиков и т. Д.
Широкие блоки IP не разрешены третьей стороной. И при этом они не позволят динамические службы типа DNS. Также нет простой консоли для обмена IP-адресами на лету (например, если IP-адрес разработчика дома меняется или он находится в дороге).
Поскольку никто из нас не является экспертом в области сетевых технологий, мне интересно, каковы наши жизнеспособные варианты?
Существуют ли такие вещи как сторонние хосты для VPN? Обычно я думаю о VPN как о механизме получения доступа к домашнему офису, но идея заключается в том, что это будет сторонняя VPN, к которой мы все подключимся, и мы зарегистрируем ее как источник IP с нашей третьей стороной.
Мы рассмотрели возможность использования Amazon EC2 для эффективного размещения среды разработки для каждого разработчика и использования ее для подключения. Однако Amazon предоставляет вам столько статических IP-адресов (я полагаю, 5?), Так что это будет лишь решением для ограничения пробелов, пока наша команда не уменьшит количество IP-адресов в Amazon.
Это были единственные жизнеспособные мысли, которые у меня были, но опять же, я далеко не сетевой парень. Пробовал искать похожие темы, но я даже не уверен, что знаю правильный местный язык, который нужно искать.
2 ответа
Я могу придумать два решения - одно на уровне 3 и одно на уровне 7.
Я бы подумал о том, чтобы получить где-нибудь размещенный сервер со статическим IP-адресом и разместить там что-то вроде OpenVPN. Вы можете развернуть конфигурацию OpenVPN, которая заставляет любой доступ к API перенаправляться через OpenVPN на размещенный сервер со статическим IP-адресом, после чего вы можете преобразовать NAT в IP-адрес этого сервера.
В качестве альтернативы, вы можете запустить прокси 7-го уровня на размещенном сервере (что-то вроде Squid- я предполагаю, что ваш API доступен через HTTP) и направлять запросы от ваших разработчиков через этот прокси-сервер.
Редактировать:
Использование прокси уровня 7 означает, что вам не нужно устанавливать клиентское программное обеспечение для разработчиков, при условии, что их существующие инструменты могут справиться с указанием прокси HTTP. Вы, вероятно, не хотите, чтобы весь их доступ был перенаправлен через этот удаленный прокси-сервер, поэтому вам следует использовать сомнетинг, такой как файл автоконфигурации прокси или локальные прокси-серверы, чтобы перенаправлять только соответствующие запросы API на размещенный прокси. Некоторые браузеры не поддерживают использование SSL между клиентом и прокси, поэтому запросы разработчиков будут передаваться через Интернет в незашифрованном виде.
Использование решения третьего уровня избавляет от необходимости настраивать браузеры разработчиков с помощью HTTP-прокси, но означает, что им понадобится какой-то VPN-клиент и работает. Их запросы будут зашифрованы между сервером VPN и их клиентским компьютером, однако это может быть спорным вопросом, если запросы между размещенным сервером VPN и серверами API выполняются в открытом виде.
Похоже, вам нужно решение NAT. Вы можете создать VPN-туннель, а затем принудительно передать данные в API через NAT. Таким образом, все они будут выглядеть так, как будто они приходят с одного IP-адреса. Настройка будет выглядеть примерно так Разработчики ----- VPN ----- частная подсеть --- NAT --- Внешний IP