pppoetest Posted March 20, 2022 Posted March 20, 2022 В 20.03.2022 в 15:17, hiller сказал: есть проблемки с форматами Option 82 - поддерживается только bin. Это кастомизируемо. Вставить ник Quote
Ivan_83 Posted March 20, 2022 Author Posted March 20, 2022 В 20.03.2022 в 09:17, hiller сказал: Оставить бы поддержку my/pg sql, было бы хорошо. Чтобы не включать в цепочку еще и web-сервер с интерпретатором какого-нибудь языка. Сделаешь её через php на вебсервере :) Если идти в сторону нативной поддержки работы с БД то опять получаем что писать можно только на чём то интерпретируемом либо оно будет очень не гибким. В 20.03.2022 в 09:17, hiller сказал: Из насущного: стоит и работает, но есть проблемки с форматами Option 82 - поддерживается только bin. Тогда нужен доступ до тазика куда зеркалится либо дампы пакетов и объяснение чего там примерное должно быть. В 20.03.2022 в 10:58, edo сказал: 1. почему си? Потому что я на нём пишу в основном. Потому что он простой и понятный окружающим, это вам не абракадабра на с++ или раст. В 20.03.2022 в 10:58, edo сказал: ИМХО сегодня писать на си — уже моветон. Это затирают из всех щелей, а по факту у меня на десктопе весь базовый стёк написан на сях, даже без плюсов. Те зачем мне учить парагвайский когда кругом говорят на английском? В 20.03.2022 в 10:58, edo сказал: есть golang Это скорее конкурент для php. В 20.03.2022 в 10:58, edo сказал: если хочется чего-то нежирного — есть rust Неподдерживаемая абракадабра. ) В 20.03.2022 в 10:58, edo сказал: 2. предполагается ответ в том же соединении, что и запрос? Да. В 20.03.2022 в 10:58, edo сказал: с учётом скриптовости языка, запроса к БД, возможного разнесения по разным хостам и т.п. задержки могут быть относительно большими. стоит ли держать соединение открытым в ожидании ответа? HTTP по другому не умеет. 2-5к соединений нынче не проблема а рутина. В 20.03.2022 в 10:58, edo сказал: с учётом того, что кластер должен работать с общей БД, вряд ли в нём особый смысл есть. Это вы подразумеваете работу с БД, а оно этим не ограничивается. Вставить ник Quote
Tracert Posted June 12, 2023 Posted June 12, 2023 (edited) После апгрейда грохнулся сервер с ошибкой: Can't locate object method "decodeRelayAgent" via package "Net::DHCP::Packet" Обновил систему до этого, как оказалось в новой версии файла из CPAN Net/DHCP/Packet.pm , нет части функций в том числе и этой, в итоге после установки всего из cpan, чтобы запустить dhcpd.pl сделал линку на старый файл разбора пакетов вместо нового. Поднялось, работает. Кто-то вообще еще использует проект? Прикладываю точно рабочий Packet.pm, лежит примерно /usr/local/share/perl/5.24.1(версия рабочего перла)/Net/DHCP/Packet.pm: Packet.pm Packet.pm Edited June 12, 2023 by Tracert Вставить ник Quote
Tracert Posted June 12, 2023 Posted June 12, 2023 Debian 8 на 9ку, обновился немного Perl, пришлось ставить через CPAN разное в том числе и Net::DHCP::Packet , в итоге нежданчик. Вставить ник Quote
Ivan_83 Posted June 13, 2023 Author Posted June 13, 2023 Автор выкинул тот код ещё в 2015 году, странно что так долго никто не замечал. https://github.com/djzort/Net-DHCP/commit/dbadaeec78a614727aba7f1104513d5a42c56499 Вместо таскания старья проще было скопипастить от туда кусок кода, а то и вовсе разобраться и вероятно заюзать новое АПИ. Вставить ник Quote
Tracert Posted June 13, 2023 Posted June 13, 2023 Да надо бы, просто сервер упал сейчас, вернуть надо срочно, а как вернул смысл переписывать ? :) оно же годами нормально работало. Вставить ник Quote
tvremtoh Posted February 18, 2025 Posted February 18, 2025 Аналогичная ситуация с Packet.pm Вставить ник Quote
Ivan_83 Posted December 30, 2025 Author Posted December 30, 2025 Господа, поделитесь плиз дампами DHCPv4 пакетов с опцией 82?! (у меня нет доступа до живого трафика с ISP) Снять можно так: tcpdump -n -e -vvvvvv -x -i lan0 "udp port 67 or udp port 68" а потом копипастой сюда. Я пролистал тему, там похоже несколько форматов опции, мне не понятно чего там нужного есть и в каком виде. А по IPv6: что актуальнее: DHCPv6 или RA? PS: от идеи написать транслятор DHCP<->JSON@HTTP я отказался если что. Решил двигаться в сторону решения на LUA, хз что с нагрузочной способностью, но лично меня достало что нет централизованного управления девайсами в сети: dnsmasq отвечает за IPv4, а IPv6 вообще своей жизнью живёт, посмотреть какие хосты активны, какие у них адреса - целый квест. DNS - ни у кого тоже нет. Думаю если повыжимать соки то будет не хуже решения на perl, тем более что парсер пакетов на C. Вставить ник Quote
vurd Posted December 30, 2025 Posted December 30, 2025 20 часов назад, Ivan_83 сказал: Я пролистал тему, там похоже несколько форматов опции, мне не понятно чего там нужного есть и в каком виде. А нет никакого стандарта. Каждый вендор изобретает сам. Option: (82) Agent Information Option Length: 18 Option 82 Suboption: (1) Agent Circuit ID Length: 6 Agent Circuit ID: 00040175001b Option 82 Suboption: (2) Agent Remote ID Length: 8 Agent Remote ID: 0006085a110f1500 Option: (82) Agent Information Option Length: 32 Option 82 Suboption: (1) Agent Circuit ID Length: 11 Agent Circuit ID: 210907470000000000202f Option 82 Suboption: (2) Agent Remote ID Length: 17 Agent Remote ID: 000000000ca8f94b804cd40200220080f0 У некоторых формат конфигурируется, у некоторых нет. По сути всё просто, два поля cid&rid, а вот что внутри.. то мак устройства, то хост, то порт, то серийник. Тут надо какой-то шаблонизатор изобретать для динамических запросов. Какая задача то? Вставить ник Quote
Ivan_83 Posted December 30, 2025 Author Posted December 30, 2025 Раз стандарта нет то не буду это в С кодить, оставлю чтобы HEX выдавал в LUA 🙂 Вставить ник Quote
sdy_moscow Posted December 31, 2025 Posted December 31, 2025 6 часов назад, Ivan_83 сказал: Раз стандарта нет то не буду это в С кодить, оставлю чтобы HEX выдавал в LUA 🙂 Если делаешь для SQL, разумнее реализовать в хранимых процедурах. Зачем для простого сервера 30 языков скриптовых? Вставить ник Quote
Ivan_83 Posted January 3 Author Posted January 3 On 12/31/2025 at 6:29 AM, sdy_moscow said: Если делаешь для SQL Делаю для себя 🙂 Как и с сабжем это нацелено чтобы стать конструктором, а лично мне надо совсем мало, я легко обойдусь без SQL. On 12/31/2025 at 6:29 AM, sdy_moscow said: Зачем для простого сервера 30 языков скриптовых? C+LUA. Если систему сборки считать то CMake, и вероятно shell script. On 12/30/2025 at 11:24 PM, vurd said: А нет никакого стандарта. Вообще то в RFC написано что туда кладётся нечто уникальное, и вроде как это интерпретировать никак не надо, по крайней мере "Agent Remote ID" уж точно. Вставить ник Quote
sdy_moscow Posted January 3 Posted January 3 @Ivan_83 Хм.... видимо к 15-ой странице темы мысль ушла сильно в сторону от заголовка. Вставить ник Quote
Ivan_83 Posted January 3 Author Posted January 3 Не очень то и далеко. Какой то базовый код, по типу сабжа, который как то (так же) лазает в SQL я могу прикрутить, но тут у каждого всё сильно по разному устроено, поэтому не вижу смысла тратить на это время/силы пытаясь придумать универсальное решение для всех. Вставить ник Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.