LINUX.ORG.RU
решено ФорумTalks

pingcheck с обратной связью

 ,


0

1

Вот какую задачу хочу решить:

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

Отсюда и вопрос - есть ли сервис в сети который отображал бы время последнего пинга с заданного хоста?

UPD: в общем пока тупо добавил роутер в очередной vpn, хотя решение конечно так себе.

★★★★★

Последнее исправление: pon4ik (всего исправлений: 1)

Ответ на: комментарий от pon4ik

Хм, ну либо роутер шлёт обнову только когда адрес сменился, что в принципе логично так-то.

pon4ik ★★★★★
() автор топика
Ответ на: комментарий от pon4ik

но мой показывает только время смены адреса похоже

Кстати, да, я настолько давно этим пользовался для проверки состояния роутера, что уже не помню подробностей. Но меня в своё время это устраивало, потому что провайдер раз в сутки адрес менял.

vvn_black ★★★★★
()
Ответ на: комментарий от vvn_black

Перепроверил, сам dyndns сервис не показывает время смены адреса, при повторном запросе с того же адреса. А вот как обстоят дела с удалённым роутером - ну прямо сейчас он либо лежит, либо и правда шлёт запросы в dyndns только при смене IP.

pon4ik ★★★★★
() автор топика
Последнее исправление: pon4ik (всего исправлений: 1)
Ответ на: комментарий от pon4ik

Проверил роутер и правда только при выдаче адреса шлет запрос.

pon4ik ★★★★★
() автор топика

Вот читаю я твой тред и…

перевести на openwrt пока руки не доходят

Там делов на пять минут, а сэкономишь себе кучу нервов. И времени на изобретение лютых костылей.

mord0d ★★★★★
()
Ответ на: комментарий от mord0d

Сильно зависит от модели роутера. Плюс мне васян сборочки очень не хоцца ставить на историю с которой я работу работаю, а это значит собирать руками или жить на старой версии без обновлений безопасности. Как ни странно - местами срок поддержки у проприетарных поделок выше чем у опенсурс. Лично мне проще новый роутер купить, но что бы его выбрать с умом - тоже надо потратить немножко времени.

Не, конечно можно поставить блобы от рандомникнейм с 4pda, но это не наш путь.

pon4ik ★★★★★
() автор топика
Ответ на: комментарий от pon4ik

А я не предлагаю васяносборочки. Я бы даже дома не стал накатывать левый фирмварь, а уж на работе — тем более.

Как ни странно - местами срок поддержки у проприетарных поделок выше чем у опенсурс.

Вот только фиг знает что там у проприетарных поделок под капотом, а попенсорц можно раскурить и при малой кривизне рук даже переписать/поправить под себя.

Сильно зависит от модели роутера.

Это да. Я был сильно очепялен, когда увидел что не увидел.

mord0d ★★★★★
()

У меня когда-то на openwrt висел скрипт отправлявший на емаил актуальный внешний айпи рутера.

matcha
()
Ответ на: комментарий от kmeaw

То, что запилить несложно это понятненько и ясненько, но хочется не self-hosted решение, ну и не kmeaw-hosted конечно тоже :)

Что бы с авторизацией там свои логи можно было только смотреть. Хотя я вот сам заговорил про авторизацию, и сам же понял, что вот её то и не понятно как делать. В ICMP пакетах где-то живёт mac исходного устройства?

pon4ik ★★★★★
() автор топика
Ответ на: комментарий от kmeaw

По идее в optional data можно было бы отправлять что-то, но так мы о5 приходим к кастомному ПО. Эх, жаль.

pon4ik ★★★★★
() автор топика

Пусть роутер сам пингует хост с ssh, а ты заходи на этот хост и смотри пакеты на интерфейсе, если есть - значит жив. Нет - нет

zgen ★★★★★
()
Ответ на: комментарий от pon4ik

А где оно должно быть hosted? Какими ещё свойствами должен обладать такой сервис?

В ICMP пакетах где-то живёт mac исходного устройства?

Нет, если, конечно, он не отправляется по локальной сети (внутри L2-сегмента) через Ethernet. Большую часть ICMP echo-request/echo-reply занимает payload, по-умолчанию это последовательность подряд идущих натуральных чисел. Если есть возможность контролировать payload на роутере (ping -p), то можно придумать авторизацию, построенную на таком общем секрете.

kmeaw ★★★
()

Можно настроить port-forwarding на роутере куда-нибудь (в том числе на какой-нибудь сервис, работающий прямо на этом роутере, если других постоянно работающих устройств в локальной сети нет), а потом снаружи сканировать весь диапозон провайдера на предмет открытости этого порта. А затем проверять, похож ли найденный сервис на тот самый.

Чем более редкой будет комбинация (порт,сервис), тем лучше будет избирательность у этого метода. Если такая комбинация не нашлась во всём диапозоне провайдера, значит роутер не онлайн. Если нашлась, то он может быть онлайн, либо случилось совпадение.

Я когда-то так делал с ssh, у меня стояла довольно редкая версия ssh-сервера, и её можно было узнать по баннеру.

kmeaw ★★★
()

Пусть роутер или что-то за ним (правда тогда по факту ты работу чего-то за ним будешь узнавать, но вдруг тебе достаточно) сам пингует раз в n минут что-то, а ты чекай когда был пинг от твоего роутера последний раз.

peregrine ★★★★★
()
Ответ на: комментарий от kmeaw

В общем и целом где угодно с хорошим аптаймом, кроме моих систем. Вопрос тут и правда в авторизации и разграничении доступа. Что конкретно в моём сценарии и сценарии большинства роутеров не прокатит.

Т.е. как - нужен либо протокол для такого «пуш уведомления» о том когда ты был последний раз жив. Либо в идеале что-то что есть на большом количестве роутеров из коробки.

Первое пришлось бы продвигать а второе пока не удалось найти.

pon4ik ★★★★★
() автор топика
Ответ на: комментарий от kmeaw

Мысль интересная но это уже открытый порт. Надо подумать, сработает ли перенаправление куда-то в интернет. В связке с dyndns оно будет работать по идее.

pon4ik ★★★★★
() автор топика
Ответ на: комментарий от pon4ik

Можно попробовать сделать перенаправление в интернет, но на такие (хосты,порты), где никто не отвечает на SYN (DROP), но логирует попытку.

Причём для отказоустойчивости можно сделать так:

port 10001 -> 198.51.100.94:10000
port 10002 -> 203.0.113.66:10000

Тогда если возникает потребность проверить, жив ли роутер, идём откуда угодно на dyndns.host.org:10001, а через секунду на dyndns.host.org:10002, после чего смотрим логи на 198.51.100.94 и 203.0.113.66. Если в логах есть хотя бы один свежий запрос, значит роутер жив.

В таком сценарии никто не увидит, что порты 10001 и 10002 открыты на роутере.

kmeaw ★★★
()
Последнее исправление: kmeaw (всего исправлений: 2)
Ответ на: комментарий от kmeaw

Да, это похоже на протокол, притом веб морда для этого всего будет дюже простой, а 10г сетевухи хватит на ооочень много желающих. Инкапсулировать это всё можно в одну зелёную кнопку «проверить всё ли хорошо».

Непонятно теперь как это монетизировать, ну окромя рекламы, и кто бы это запилил:)

Пилить не очень выгодно т.к. ЦА специфична и малочисленна.

pon4ik ★★★★★
() автор топика

работу работаю

Пинги вещь довольно бестолковая. У тебя сервак может люто свапить, а пинги будут проходить. Пощупай системы мониторинга, типо DataDog, New Relic и т.д. Там надо просто поставить агент, никаких портов открывать не надо. Можно настроить уведомления и т.д и т.п.

ЗЫ: если у тебя закончились костыли в организме и хочеться изобретать велосипед, то искренне хз.

Murg ★★★
()
Ответ на: комментарий от Murg

Так и вижу как нетдата агент встал на мой роутер с проприетарным недолинуксом на борту :)

pon4ik ★★★★★
() автор топика
Ответ на: комментарий от pon4ik

Велосипед между костылями и лыжами же... Чернобыльский xD

Murg ★★★
()

Хм. Ставишь с роутера пинг на машину с linux, например. На машине с linux делаешь правило iptables для пинга с этого хоста с действием типа записать в лог. Лог парсишь с помощью fail2ban или типа того.

targitaj ★★★★★
()
Последнее исправление: targitaj (всего исправлений: 2)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.