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

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

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

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

1 ответ1

1

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

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

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

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

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

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