Не удается подключиться к Raspberry Pi с внешним IP в локальной сети

0

Я настроил переадресацию портов для моего Raspberry Pi, чтобы иметь возможность подключаться из Интернета через ssh. Когда я пытаюсь подключиться к своему Пи через интернет моего мобильного телефона, он работает отлично. Как только я пытаюсь подключиться через локальное соединение, он не работает с внешним ip. Просто с локальным айпи пи в моей сети. У меня есть маршрутизатор AVM FritzBox 4020 GM, подключенный к моему маршрутизатору Speedport W723V, который используется в качестве модема DSL.

user6825883
источник
3
Это будет работать только если ваш роутер поддерживает NAT Reflection / NAT Loopback / NAT закрепление , Большинство маршрутизаторов потребительского уровня этого не делают.
DavidPostill
какой маршрутизатор поддерживает эту функцию?
user6825883
Понятия не имею ...
DavidPostill
@DavidPostill Это правильный ответ. Вы должны опубликовать это как ответ.
Spiff
@ user6825883 Я знаю, что линия Apple AirPort делает. Я надеюсь, что любой дистрибутив с открытым исходным кодом, например OpenWrt, сделает это правильно; Я не могу себе представить, что сообщество разработчиков микропрограмм с открытым исходным кодом долго терпит подобные ошибки.
Spiff

Ответы:

0

Невозможно подключиться к внутреннему ресурсу, используя публичный IP-адрес из локальной сети

Это возможно только если ваш роутер поддерживает NAT Reflection / NAT Loopback / NAT закрепление ,

Многие маршрутизаторы потребительского уровня не поддерживают это.

Есть список на Кольцевые маршрутизаторы NAT маршрутизаторов, которые делать есть эта функциональность.

AVM FRITZ! Box поддерживает обратную связь (по указанной выше ссылке), поэтому вы должен быть в состоянии заставить его работать в вашем конкретном случае.


Зачем нужен NAT Loopback?

Многие DSL-маршрутизаторы / модемы предотвращают петлевые соединения в качестве функции безопасности.

Это означает, что машина в вашей локальной сети (например, за вашим маршрутизатором / модемом DSL) не может подключиться к IP-адресу, находящемуся в прямом направлении (например, 199.149.252.44) компьютера, который также находится в вашей локальной сети.

Подключение к локальному IP-адресу (например, 192.168.2.40) той же машины работает нормально.

Источник Кольцевые маршрутизаторы NAT

DavidPostill
источник
На самом деле, есть довольно много маршрутизаторов потребительского уровня, которые поддерживают это, этот перечисляет несколько из них, и среди них - AVM Fritz! Box.
ojs
@ojs Спасибо за эту информацию. Ответ обновлен.
DavidPostill
Я знаю, что мой FritzBox поддерживает Loopback NAT, но маршрутизатор, который используется в качестве модема, не поддерживает его с точки зрения безопасности. Это причина, по которой петля не работает?
user6825883
@ user6825883 С чем связан Pi? С какого устройства вы пытаетесь подключиться? - а где это устройство подключено?
DavidPostill
0

Разве не было бы намного проще просто иметь две учетные записи в вашем ssh клиенте (ах) на мобильном устройстве (ах)? Одна учетная запись для подключения извне вашей локальной сети, а другая для случая, когда вы находитесь внутри локальной сети. Просто используйте разные IP в обоих аккаунтах.

Если у вас есть приличный брандмауэр / маршрутизатор, такой как pFsense Например, если у вас есть какое-то доменное имя, вы можете сопоставить свой внешний IP с вашим доменом / поддоменом, а на стороне локальной сети переопределить доменное имя, указав его на локальный IP-адрес Raspberry Pi. Таким образом, вам нужно настроить имя домена ваших клиентов SSH только в качестве целевого IP для подключения. Когда вы находитесь за пределами вашей локальной сети, ваш клиент будет использовать общедоступный DNS для поиска вашего Pi, в противном случае при подключении к вашей локальной сети ваш брандмауэр / маршрутизатор будет переопределять общедоступный DNS, заменяя локальный IP-адрес Pi для этого конкретного домена.

Alex
источник