| |||
![]()
|
![]() ![]() |
![]()
Фейковый NTP-сервер UPD: Дружище Андрей Нигматуллин предложил нормальное решение через DynDNS и даже помог разобраться и настроить, спасибо ему! Итак, задача: у вас есть говнороутер и провайдер, который выдает ему внешний (это важно) IP, но постоянно его меняет. А вы хотите, чтобы этот IP всегда отзывался по адресу в вашем родном домене, скажем oops.lleo.me (все имена здесь и ниже условные). У вашего роутера есть раздел динамического обновления адреса DDNS, но там только 4 варианта. Но среди них есть afraid.org! Решение: Допустим, у вас домен lleo.me на CloudFlare.com (можно и без него, но с ним лучше) Type: NS Идем на https://afraid.org и создаем бесплатную запись «Sign up Free». Поле «userID» — пишите любое латинское слово, надеюсь там такоего юзера нет. Подтвердите email, и вы залогинены. Теперь на afraid.org (дизайн там даже не 90-е, а 80-е, под браузер lynx) идем в «Domains», «Add domain» — и там прописываем свой govnorouter.lleo.me (Shared:Public я выбрал на всякий случай). Придумываем домен еще более нижнего уровня для своего govnorouter.lleo.me, например real.govnorouter.lleo.me На afraid.org в разделе «Subdomains» нажимаем «Add». Type: A После чего в разделе «Dynamic DNS» можно найти ключ. Например посмотреть «Direct URL» httрs://freedns.afraid.org/dynamic/updat Собственно, каждый, кто постучится по этой ссылке, пропишет вам свой IP. Теперь идем в админку своего говнороутера. Выбираем DDNS чотатакое.afraid.com и заполняем поля c с логином и паролем guest (не спрашивайте): Login: guest Если в вашем роутере нет поля «Hash Value» — ищите доку на afraid.org, там что-то было про «через запятую» в каком-то другом поле. Короче, теперь роутер обновляет свой IP для домена четвертого уровня, согласно NS-записи для домена третьего уровня. На хера такое длинное? Придумываем на CloudFlare нормальное короткое имя, чтоб набирать удобно: oops.lleo.me и вписываем: Type: CNAME Вот теперь норм. Мы получили собственное имя в своем собственном домене oops.lleo.me, которое всегда указывает на IP нужного нам далекого устройства. А даже если afraid.org когда-нибудь поломается (посылаю им лучи здоровья и процветания), имя-то ваше, оно никуда не пропадет, придумаем другой способ его обновлять. Было:
1. Первое что приходит на ум — поставить в офис маленькую Raspberry, я лучше даже ESP12. Этим, чую, в итоге и кончится. Это очевидно. Но это не спортивно! Это потом. Так что пока никаких дополнительных устройств ставить не буду, попробую другие пути. 2. В офисе есть свой девайс — погодная станция от Юры, которая раз в час посылает телеметрию на его сайт. Перепрограммировать ее на какие-то еще обращения к другим сайтам может только Юра. Но у меня зато есть доступ к его сайту, где приемник телеметрии я сам ему писал когда-то на PHP. Так что не вопрос вставить в тот приемный скрипт закладку, что для станции номер 123 фиксировать ее IP. Казалось бы, что может пойти не так? Выясняется, что хостер у Юры как-то так криво настроен, что передает в nginx все запросы от имени своего собственного IP и никаких хедеров и прочих следов о реальном IP тупо не дает. Обычно это пофиг, потому что нормальные люди свои проксируют через CloudFlare, а тот сам выставляет нужный хедер. Но Юра сайт через CloudFlare не прописал и переносить категорически не хочет — у меня, говорит, всё работает, как бы чего не сломалось. 3. Окей, копаемся в самом роутере. Роутер примитивный. У него, конечно, есть свой раздел DDNS, и там есть на выбор 4 сервиса, но свой собственный url указать нельзя. А пользоваться чужими сервисами DDNS я раз и навсегда зарекся — меня когда-то кинул homeip, просто тупо отобрал домен, и мне пришлось переписывать все мои программы и сервисы, которые были на то имя жестко завязаны. Так что чужие DDNS я отныне никогда использовать не буду — ни деньги этим пидарасам платить не стану, ни бесплатно регистрироваться не буду, это принцип. 4. Единственное, что есть в роутере — это сервис определения точного времени NTP. На хера он тупому роутеру нужен — загадка, но он есть, и там можно вводить свои имена доменов. Вау! Вот это задача по-настоящему интересная! Итак, вписываю в качестве NTP-сервера fake-ntp.lleo.me Там быстро набрасываю (с советами ChatGPT) софтинку на питоне, которая ловит обращения UDP (пробрасываю дома порт 123 на 8123), пишу логи, а для себя даже отправляю в Телеграм. [ ТЕКСТ ПОД КАТОМ: Доступен только в оригинальной заметке на сайте ] Прописываю как демон: [ ТЕКСТ ПОД КАТОМ: Доступен только в оригинальной заметке на сайте ] Проверяю с любого другого внешнего сервера: sudo ntpdate fake-ntp.lleo.me Всё работает! Приходит запрос с порта 123, хотя ответ, понятно, мой сервер не передает. Но в итоге результат логов за трое суток: целые дни стучатся по сотне левых мудацких роботов с самых разных лохматых портов (33007, 38388, 51319)! А роутер со своего IP пока не зашел ни разу! Ни после резета, никак. Вот и думаю: то ли в нем выключен этот NTP вообще, то ли он его запускает раз в месяц или по какой-то неожиданной надобности, то ли зря я вписал свой адрес первой строчкой, а вторую, запасную, оставил, как была, — может, он вторую строчку запомнил как-то как основную и по первой уже не пытается постучать? |
|||||||||||||||
![]() |
![]() |