Я хочу ssh через Интернет, одну сеть в другую. В частности, из моей локальной сети с использованием обычного маршрутизатора и кабельного модема в соседнюю локальную сеть с использованием другого обычного маршрутизатора. Решение, которое я нашел, выглядит неловко:

Вы можете указать переадресацию портов для входящих портов для переадресации на порт 22 на каждом из компьютеров.

Скажем, у вас есть 4 компьютера в этой сети. Мы назовем их A, B, C и D. У вас есть ноутбук в другой сети, и вы хотите подключиться к компьютеру A, B, C или D.

Настройте переадресацию входящего порта на порт 55555, например, на пересылку на компьютер A через порт 22.

Чтобы подключиться к компьютеру A через порт 22, необходимо подключиться к внешнему IP-адресу через порт 55555, который будет перенаправлять на компьютер A через порт 22. Команда для подключения будет выглядеть так:

ssh username@externalIP:55555

пример:

ssh holymoses@123.456.78:55555

Конечно, есть более динамичный способ установить соединение. Могу ли я указать MAC-адрес или имя хоста, возможно? Поскольку он жилой, я не могу сделать слишком много с полным доменным именем.

Поможет ли зарегистрировать полное доменное имя в no-ip? Конечно, полное доменное имя может быть зарегистрировано на внешнем IP-адресе маршрутизатора, однако я не уверен, что это поможет мне установить соединение.

Я только когда-либо делал SSH через мою домашнюю локальную сеть или цифровой океан. Хотя у меня нет модели маршрутизатора моего соседа, я уверен, что использование статических IP-адресов и переадресация портов будет работать, но я бы предпочел использовать DHCP.

Как мне указать, какой компьютер: A, B, C или D с DHCP?

1 ответ1

1

К сожалению, вы предлагаете варианты, которые не решат вашу фундаментальную проблему. Вам нужно решение, чтобы иметь возможность подключиться к хосту внутри удаленной сети с NAT-связью (и предположительно с брандмауэром). В вашем случае у вас есть удаленная сеть "R", (я полагаю) комбинированный брандмауэр / маршрутизатор / NAT / модем "Fr" и удаленный хост внутри этой подсети "Hr". В этой конфигурации "Hr", вероятно, получает свой (NATed) IP-адрес от "Fr", и единственный способ достичь "Hr" - через маршрутизатор. Маршрутизатор имеет единственный доступный адрес (вероятно), и поэтому самое простое решение - настроить переадресацию портов на "Fr", как вы уже описали.

Использование (разрешаемого извне) имени хоста или полного доменного имени для ссылки на "Hr" не поможет, потому что ему все равно придется разрешить единственный IP-адрес "Fr". "Fr" все еще должен знать, чтобы пересылать любые пакеты на "Hr", и единственный способ сделать это - настроить переадресацию портов.

«Полное доменное имя без IP» не поможет - DNS-имена предназначены только для использования человеком. Ваши компьютеры не заботятся об именах, они заботятся об IP-адресах. К сожалению, если вы не укажете адрес, это все равно, что адресовать конверт «Джону Смиту, Нью-Йорк, Нью-Йорк» и надеяться, что он попадет к нужному человеку.

Как вы заметили, вы можете зарегистрировать полное доменное имя (или использовать поставщика динамического DNS) для внешнего IP-адреса маршрутизатора, но вам все равно нужно указать маршрутизатору пересылать пакеты на "Hr". Конечно, маршрутизатор может пересылать пакеты, полученные с помощью "Fr" на порту 22 своего внешнего интерфейса, на "Hr" на том же порту. Или вы можете попросить (и заплатить) больше внешних IP-адресов у вашего интернет-провайдера, но это становится более сложным.

Совершенно другим вариантом будет использование (опосредованного) VPN-решения (например, Hamachi или многих других), когда вы оба подключаетесь к третьей стороне для настройки частной подсети между вашими компьютерами.

В конце я бы предложил просто прикусить пулю и настроить решение для переадресации портов для ваших нужд.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .