• Уважаемые посетители сайта esp8266.ru!
    Мы отказались от размещения рекламы на страницах форума для большего комфорта пользователей.
    Вы можете оказать посильную поддержку администрации форума. Данные средства пойдут на оплату услуг облачных провайдеров для сайта esp8266.ru
  • Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

ESP8285+роутер+3G модем

alfik777

Member
Доброго!
Описание
ЕSP в качестве станции коннектится по WIFI к 3G- роутеру с подключенным к нему 3G-модемом со статическим IP ( например, 10.10.10.10) На ESP WEB -сервер. Т.е. клиенты из инета, зайдя по адресу 10.10.10.10 должны видеть морду WEB-сервера.
Проблема
В реальности доступ к web-серверу то есть, то нет по каким-то своим законам.
Исходные данные
- ESP8285 в режиме станции имеет постоянный адрес ( например 192.168.10.10) и соединяется по WIFI с роутером
- 3G-роутер, а-ля A15, он "поднимает" модем, имеет виртуальный сервер на 192.168.10.10 с соответствующим портом и раздает WIFI
- 3G модем E352B (STICK)
Проверки
Доступ к серверу из инета есть только тогда, когда пингуется внешний адрес 10.10.10.10 ( логично) . Вот эти пинги то есть, то их нет. При включении роутера и модема пинги появляются и через минуту прекращаются, потом могут опять появиться ненадолго... Также пинги появляются если подключить компьютер к LAN- порту роутера или если просто подключиться к WIFI сети роутера телефоном. Через некоторое время пинги пропадают( я так понимаю при отсутствии активности ). Но при подключении ESP 8285 к этой же WIFI сети - ничего не происходит, пинги не появляются.
Дополнительно
- Модем все время в коннекте. Кроме того, при проверке его в работе с компом напрямую - вопросов нет, сбоев нет.
- роутеры : один с прошивкой qualcomm, второй такой же с WRT, такая же картина и с TP-LINK 3020.
- пробовал чтобы роутер сам раздал адрес для ESP через DHCP - без изменений.
- при проверке работы ESP8285 через "домашний роутер" - все ok.
Вопрос
Что не так? Должен ли пинговаться вообще роутер если ничего не подключено и что нужно чтобы появлялись эти самые пинги при подключении ESP ?
 

pvvx

Активный участник сообщества
Ping - данный сервис предназначен для проверки соединений в сетях на основе TCP/IP.
Сервис отправляет запросы (ICMP Echo-Request) протокола ICMP указанному Вами узлу сети и фиксирует поступающие ответы (ICMP Echo-Reply).

У вас на ESP установлено приложение обеспечивающее ICMP?
Запросы пинг внутренней и внешней сети обрабатываются по разному. В роутере может быть запрещено пинговать из внешней сети внутренние...
Со стороны провайдера 3/4/5G, в целях обеспечения безопасности, могут быть включены ограничения на "статический IP" путем закрытия обращений по основным портам. Эти вопросы решаются у провайдера, а на ESP и роутерах.
 

pvvx

Активный участник сообщества
Со стороны провайдера 3/4/5G, в целях обеспечения безопасности, могут быть включены ограничения на "статический IP" путем закрытия обращений по основным портам (чаще всего это все порты web и ftp). Купите нормальный "Статический IP". Это только бизнес и ещё раз бизнес, а не технические детали.
 

alfik777

Member
У вас на ESP установлено приложение обеспечивающее ICMP?
Пинг , в моем случае не самоцель, а просто так проверяю. Но при установке библиотеки ESP8266Ping и при отправке запроса - отрабатывает нормально и сразу же появляется пинг с инета на мой внешний адрес. Получается при активности, т.е. при отправке запроса сразу появляется доступ на 30- 40 сек. Но у меня же WEB-сервер и запросы к нему инициируются со стороны клиента. Мне что, со стороны сервера нужно постоянно слать запросы чтобы был постоянный доступ к нему?
Со стороны провайдера 3/4/5G, в целях обеспечения безопасности, могут быть включены ограничения на "статический IP" путем закрытия обращений по основным портам. Эти вопросы решаются у провайдера, а на ESP и роутерах.
Это нормальный "статический IP , без ограничений со стороны провайдера.
 

pvvx

Активный участник сообщества
Это нормальный "статический IP , без ограничений со стороны провайдера.
Ваш ответ об этом не говорит:
Пинг , в моем случае не самоцель, а просто так проверяю. Но при установке библиотеки ESP8266Ping и при отправке запроса - отрабатывает нормально и сразу же появляется пинг с инета на мой внешний адрес. Получается при активности, т.е. при отправке запроса сразу появляется доступ на 30- 40 сек. Но у меня же WEB-сервер и запросы к нему инициируются со стороны клиента. Мне что, со стороны сервера нужно постоянно слать запросы чтобы был постоянный доступ к нему?
NAT открывает временный доступ... А порты вашего "статический IP" :) используется в другом роуминге...
На всех IPv4 давно не хватает и у "бизнеса" только такой выход :p
Купите нормальный статический ip у нормального провайдера или APN, или что там у ваших есть.
 

pvvx

Активный участник сообщества
А для начала попробуйте использовать другие порты у вашего Web. Не 80 или 8080 типа... Иногда помогает на "статическом" IP :)
 

alfik777

Member
NAT открывает временный доступ... А порты вашего "статический IP" :) используется в другом роуминге...
На всех IPv4 давно не хватает и "бизнеса" только такой выход :p
т.е. все вопросы к провайдеру и с моей стороны ничего нельзя сделать?
 

pvvx

Активный участник сообщества
Когда купите статический ip, то следует сменить роутер на тот, который закроет ваш ESP всевозможными брандмауэрами и имеет опции ограничения трафика.
Иначе ваш сервер на ESP рухнет или будет виснуть каждый день (или чаще).
Есть и другой путь - отладить web, путем тестов. Для этого существуют множество тестовых online сервисов и разнообразных программ на комп.
Особое внимание стоит обратить на TIME_WAIT для открытия портов в TCP.
Так-же стоит проверить как ESP и вся цепочка коммутации поведет себя при работе через популярные прокси серверы. Они так-же обрезают и изменяют всё, включая размеры TCP пакетов...
Начальные тесты, на описанные фичи, до включения выхода на ESP в мир, вы можете произвести в своей локальной сети... чтобы убедиться - а стоит ли ESP выпускать в мир?
На сегодня нет ни одного подтверждения, что ESP проходит хоть один тест.
 

pvvx

Активный участник сообщества
На ESP неправильно работает даже простой tcp-сокет из-за ограничений по RAM и урезанного TCP стека. А груда NAT и прочих роутеров по пути следования таких TCP просто балдит.
 

alfik777

Member
Ну, собственно сначала и пробовал "локально", т.е. подключаясь ESP к домашнему роутеру. Когда , в основном, все опробовал, то, собственно, и перешел на реальное подключение через 3G- роутер . И тут загвоздочка... если WEB-серверу ждать клиента - то не дождешься, нужны какие то действия...
 

pvvx

Активный участник сообщества
Я точно не знаю, что с вашей сетью провайдера. Но если открыть любой RFC даже по TCP, то там канал – ip : port клиента <-> ip: port сервера должен поддерживаться не менее TIME_WAIT после разъединения. Это по нормативу 120 сек, но все его сокращают, вопреки документации.

Вот вы пробили со своей стороны NAT к клиенту. NAT слепил структуру обслуживания ip : port клиента <-> ip: port сервера, с перемаркировкой ip: port внутренней сети на внешнюю. Не всю же жизнь ему держать эту структуру, т.к. ip: port запросов меняются и у него не хватит ресурсов.

А с внешней стороны NAT не пробить – он не знает внутреннего получателя. Если вы прописали специальное статическое правило в роутере, то это тоже может ничего не дать, т.к. смотри “коммерция провайдеров”. И вы работаете через 3/4/5G/LTE, а там своя сеть, в которой IP сеть инкапсулируется. Для специального доступа без фич, там есть специальные “каналы” (обычно платные), которые выбираются по APN (https://ru.wikipedia.org/wiki/APN).

Это вкратце, без технических точностей, иначе надо писать статьи…
 

pvvx

Активный участник сообщества
Но в итоге, обычно, для нормального статического ip через GSM, необходимо купить специальный APN.
 

alfik777

Member
Это вкратце, без технических точностей, иначе надо писать статьи…
Мда... Чем глубже - тем дело темнее:)...

должен поддерживаться не менее TIME_WAIT после разъединения. Это по нормативу 120 сек, но все его сокращают, вопреки документации.
Да, с обрывами нужно разбираться конечно... Но на первом этапе хотелось бы чтобы просто задышало.. Ведь получается что реально совсем невозможно достучаться до сервера...



...
 

pvvx

Активный участник сообщества
Т.Е. статический IP -корень зла? Я могу проверить и динамическом.. почему-то уверен, что будет тоже самое.
Естественно - представьте как это происходит в сети, не ip, а провайдера. Он же не шлет все ip пакеты всем :)
Разгребает их по всем признакам и ему надо знать что куда и зачем.
А у вас пакеты от ESP с нарушениями TCP. И никаких дополнительных сервисов ваш роутер не обслуживает...
Ну, собственно сначала и пробовал "локально", т.е. подключаясь ESP к домашнему роутеру.
Подключаясь чем? Тестовой системой, к примеру apache-jmeter?
 

pvvx

Активный участник сообщества
И не стоит забывать: у прова - коммерция это главное. Один битик в номерке APN или типа и у вас снимаются ограничения на 5G и о чудо – трафик шкалит за пол гега в сек (может и больше, если связь хорошая). А если как у всех – до 50..100 мбит на 4/5G роутере с последней версией категории (CAT).
Т.е. очень многое зависит от тарифа и карточки на роутере...
 

pvvx

Активный участник сообщества
Для домашнего, бытовушного варианта, я сам использую статический ip в обычной опто-проводной сети. Там морок с этим у провов меньше. А все SGM соединяются по VPN с этим роутером в опто-проводной сети… И там как вам будет удобнее – все в одну частную сеть или раздельные. У меня стыкуются раздельные местные сети со своими локальными зонами ip.

И как показала практика – за 2 года VPN соединение дача-город очень стабильно, кроме собственных отключений-переключений и одни раз при обновлении городского роутера с дачи из-за кривости ПО на Android от ASUS. Пришлось ехать в город и передергивать питание… Но это 1 раз за 2 года, что можно считать, что работает изумительно...
При этом основные компоненты "Умного дома" работают на даче, а в городе практически только точка общей связи.
 
Сверху Снизу