Я работаю в сети, в которой я не могу получить общедоступный IP-адрес или настроить доступ к VPN. Есть ли способ, которым я могу удаленно общаться с локальным сервером, используя посредника в облаке, которому локальный сервер и удаленный клиент отправляют исходящие запросы? Если локальный сервер каждые несколько секунд будет делать запрос общедоступному посреднику (EC2), чтобы узнать, ждет ли удаленный клиент, чтобы поговорить с ним, то тот факт, что у него нет общедоступного IP-адреса, не имеет значения. В этот момент я также мог сделать запрос от клиента в удаленном месте и каким-то образом передать ssh на сервер через общедоступного посредника. Таким образом, и клиент, и сервер инициируют исходящий запрос, который может исходить с частного IP-адреса, без каких-либо изменений в любой локальной сети. Есть яркие идеи?
Вы можете оставить обратный туннель ssh открытым для этой «облачной» конечной точки.
Предположим, что поле A - это ваш рабочий стол, поле P - это сервер с частным IP, а поле C - облачный сервер:
на P откройте туннель:
P% ssh C -R 2200:localhost:22
Оставьте этот сеанс запущенным.
Чтобы подключиться позже из A:
A% ssh C
C% ssh localhost -p 2200
P% # you're now logged into P
Это работает только до тех пор, пока никто не прерывает этот первый сеанс ssh от P к C, но пока они этого не делают, это работает.
Я делал «туннель через доступный сервер» много раз; но недавно выяснилось, что намного проще просто использовать IPv6. Просто установите Miredo, (или активируйте Teredo в Windows), и вы получите свой собственный глобально доступный IPv6-адрес. Поскольку он подвержен изменениям, установите динамический DNS, и все готово.
Я думаю, что решение ssh, опубликованное MadHatter, является самым простым. Кроме того, в зависимости от того, что вы подразумеваете под «без VPN», вы можете настроить клиент OpenVPN на машине с частным IP-адресом и сервер OpenVPN на посреднике. Клиент OpenVPN будет предоставлять посреднику только исходящий UDP-трафик, но вы должны иметь возможность перейти к посреднику и получить полный доступ к частной машине через туннель. В этом отношении, при правильной конфигурации сервера OpenVPN на посреднике, ваша удаленная рабочая станция может быть настроена как другой клиент OpenVPN, и вы можете просто подключиться к серверу и прозрачно видеть частную машину.
Вы могли бы попробовать n2n из ntop чтобы установить соединение без изменения брандмауэра.