Доступ к серверу Linux с частным IP без VPN
Я работаю в сети, где не могу получить публичный IP-адрес или настроить VPN-доступ. Есть ли способ, которым я могу связаться с локальным сервером удаленно, используя посредника в облаке, к которому и локальный сервер, и удаленный клиент отправляют исходящие запросы? Если локальный сервер будет каждые несколько секунд отправлять запрос общедоступному посреднику (EC2), чтобы выяснить, ждет ли удаленный клиент, чтобы поговорить с ним, то тот факт, что у него нет общедоступного IP-адреса, не имеет значения. В этот момент я мог также сделать запрос от клиента в удаленном месте и каким-то образом подключиться к серверу через публичного посредника. Таким образом, и клиент, и сервер инициируют исходящий запрос, который может исходить от частного IP, без каких-либо изменений в любой локальной сети. Какие-нибудь яркие идеи?
4 ответа
Вы можете оставить обратный 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, чтобы установить соединение без изменения брандмауэра.