Рейтинг:0

Подключение к серверу через VPN

флаг cl

Есть сервер с подключением к нему через VPN (по протоколу GRE). У меня возникла проблема с подключением к этому VPN из домашней сети, так как GRE не разрешен провайдером. Но у меня есть еще один рабочий сервер (с SSH-подключением к нему из дома) в другой сети, с которого я могу подключиться к серверу в VPN. Есть ли способ сделать туннель для подключения из дома к VPN-серверу через рабочий сервер? SSH-соединение для меня неизвестно. На домашнем компьютере и рабочем сервере установлена ​​операционная система ubuntu, vpn-сервер находится под управлением centos.

Рейтинг:0
флаг it

Как только вы сможете добраться до рабочего сервера, вы легко сможете это сделать.


Предположение для примера

  • исходная система (дома): 10.0.0.1
  • рабочая система (сервер перехода): 10.0.0.2 (ssh работает на стандартном порту 22/TCP)
  • целевой сервер: 10.0.0.3 (ssh работает на стандартном порту 22/TCP)

  1. перенаправление портов через сервер B

Открыв ssh-туннель, вы можете установить локальный порт вперед (-L [<локальный_адрес>:]<локальный_порт>:<удаленный_адрес_к_переадресации>:<удаленный_порт_к_переадресации> ). Затем вы можете открыть другое соединение ssh, указывающее <local_addr>, но с параметром -p <локальный_порт> или первый туннель. С этой конфигурацией:

  • первый туннель должен быть до остальных работает
  • у вас может быть больше соединений через первый туннель (больше соединений ssh, соединение scp,...)
(1) ssh -L 10022:10.0.0.3:22 10.0.0.2
(2) ssh -p 10022 127.0.0.1
(3) scp -P 10022 <локальный_файл> 127.0.0.1:<файл_назначения>
+-----+ +-----+ +-----+
| А |=== 1 ==| Б | | С |
| | -- 2 - | -2- | - 2 -> | |
| | -- 3 -- | -3- | - 3 -> | |
| |========| | | |
+-----+ +-----+ +-----+
10.0.0.1 10.0.0.2 10.0.0.3
  1. родные ssh-соединение с использованием «родного» джамп-хоста

ssh предлагает «родную» поддержку для этого типа соединения, используя -J <пункт назначения> параметр. Для спецификации пункт назначения рекомендуется использовать файл конфигурации (~./ssh/config).

Примером кода будет (внешнее соединение "прозрачно")

(1) ssh-J 10.0.0.2 10.0.0.3
+-----+ +-----+ +-----+
| |========| Б | | С |
| | -- 1 - | -1- | - 1 -> | |
| |========| | | |
+-----+ +-----+ +-----+
10.0.0.1 10.0.0.2 10.0.0.3
Рейтинг:0
флаг np

Это определенно возможно. Поскольку вы говорите, что вам нужен только SSH, вероятно, самым простым способом будет установить соединение GRE с вашего «другого рабочего сервера» (назовем его Сервер Б) на ваш первый сервер, который принимает GRE (называя его Сервер А). Как только вы это сделаете, и он сможет использовать SSH из Сервер Б к Сервер А Вы можете просто связать его из своего дома. т.е. первое подключение к Сервер Б SSH, а затем просто SSH к Сервер А оттуда.

Если вы хотите иметь SSH-соединение без этой цепочки, вам необходимо настроить какую-либо маршрутизацию и/или переадресацию портов (NAT) на Сервер Б. Точная конфигурация сильно зависит от вашей конфигурации и выходит за рамки этого вопроса.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.