Не могу подключиться к Raspberry Pi из интернета

373
Nazar

Я пытаюсь использовать RPi для пересылки трафика на мой домашний веб-сервер. То есть удаленный пользователь должен подключаться к веб-серверу через Интернет из любого места. Установка выглядит следующим образом: RPi получает доступ в интернет через интерфейс ppp0 (сотовый интернет). Веб-сервер подключен к RPi по интерфейсу eth0:

enter image description here

Я попытался выполнить следующие шаги для настройки переадресации с ppp0 на eth0, но безуспешно.

Из ifconfig я вижу, что IP-адрес на ppp0 меняется каждый раз, когда я перезапускаю интернет-соединение, - я считаю это разумным, поскольку провайдер сотовой связи не резервирует для меня статический IP-адрес. С другой стороны, поиск «какой у меня IP» дает мне другой IP-адрес. Я предполагаю, что последним является мой внешний IP-адрес. Поэтому я использую его для проверки связи с RPi, но не вижу входящего трафика ping в wireshark. На самом деле мне надоело пинговать оба IP-адреса - полученные через ifconfig и google, но время ожидания пинга.

Поскольку я не вижу входящих пакетов ping в wireshark на интерфейсе ppp0, я предполагаю, что они не достигают моего RPi. Но почему нет? У меня есть рабочий доступ в интернет на ppp0.

0

1 ответ на вопрос

1
David Schwartz

Сотовые сети не поддерживают входящие TCP-соединения, потому что они используют NAT операторского уровня .

Я предполагаю, что последним является мой внешний IP-адрес.

Неверное предположение. Это внешний IP-адрес устройства, которое отправляет запросы для вас и, вероятно, многих других людей. Он не знает, что входящее TCP-соединение предназначено для вас.

Поскольку я не вижу входящих пакетов ping в wireshark на интерфейсе ppp0, я предполагаю, что они не достигают моего RPi. Но почему нет? У меня есть рабочий доступ в интернет на ppp0.

Правильно, они не делают. Они получены устройством NAT среднего класса, которому они адресованы. Это устройство имеет общедоступный IP-адрес и соединяет Интернет с частной сетью оператора. Устройства в частной сети, такие как ваша, не имеют общедоступных IP-адресов.

Спасибо, это проясняет некоторые вещи. Но тогда как мне получить доступ к RPi из Интернета? Nazar 6 лет назад 0
IPV6 или какой-то туннель может быть вариантом. Но вам действительно нужно получить доступ в Интернет, который подходит для запуска сервера, если вы хотите запустить сервер. Почему бы не разместить веб-сервер вместо этого? David Schwartz 6 лет назад 0
Это небольшой черный ящик - устройство, к которому я могу подключиться в локальной сети. Беспроводной интернет является единственным вариантом. Я думал, используя RPi + Fona для обеспечения доступа в Интернет на сервере. Nazar 6 лет назад 0
@nazar Проверьте https://localtunnel.github.io/www/ Tim_Stewart 6 лет назад 0
Или бесплатный уровень AWS позволит вам в значительной степени принять все, что вы хотите. https://aws.amazon.com/free/?sc_channel=PS&sc_campaign=acquisition_US&sc_publisher=google&sc_medium=cloud_computing_b_mobile&sc_content=aws_free_p_control_q32016&sc_detail=aws%20free&sc_category=cloud_computing&sc_segment=214926188777&sc_matchtype=p&sc_country=US&s_kwcid=AL!4422!3!214926188777!p!!g! ! AWS% 20Free & ef_id = WcFGXwAAA6M45QL3: 20180622040554: s Tim_Stewart 6 лет назад 0
@Tim_Stewart Я попытался запустить «lt», используя наземное Ethernet-соединение, и смог получить URL, но все равно не смог подключиться к RPi. Когда я использовал сотовый интернет, «it -port 80» давал мне URL, а затем вылетал, жалуясь на файерволл, который, насколько я знаю, отключен в RPi. Nazar 6 лет назад 0

Похожие вопросы