Jump to content

Recommended Posts

  • Replies 364
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Posted Images

Posted
В 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 сказал:

с учётом того, что кластер должен работать с общей БД, вряд ли в нём особый смысл есть.

Это вы подразумеваете работу с БД, а оно этим не ограничивается.

  • 1 year later...
Posted (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 by Tracert
Posted

Debian 8 на 9ку, обновился немного Perl, пришлось ставить через CPAN разное в том числе и Net::DHCP::Packet , в итоге нежданчик. 

Posted

Автор выкинул тот код ещё в 2015 году, странно что так долго никто не замечал.

https://github.com/djzort/Net-DHCP/commit/dbadaeec78a614727aba7f1104513d5a42c56499

 

Вместо таскания старья проще было скопипастить от туда кусок кода, а то и вовсе разобраться и вероятно заюзать новое АПИ.

Posted

Да надо бы, просто сервер упал сейчас, вернуть надо срочно, а как вернул смысл переписывать ? :) оно же годами нормально работало.

  • 1 year later...
  • 10 months later...
Posted

Господа, поделитесь плиз дампами 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.

Posted
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, а вот что внутри.. то мак устройства, то хост, то порт, то серийник. Тут надо какой-то шаблонизатор изобретать для динамических запросов.

 

Какая задача то?

Posted
6 часов назад, Ivan_83 сказал:

Раз стандарта нет то не буду это в С кодить, оставлю чтобы HEX выдавал в LUA 🙂

 

Если делаешь для SQL, разумнее реализовать в хранимых процедурах. Зачем для простого сервера 30 языков скриптовых?

Posted
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" уж точно.

Posted

Не очень то и далеко.

Какой то базовый код, по типу сабжа, который как то (так же) лазает в SQL я могу прикрутить, но тут у каждого всё сильно по разному устроено, поэтому не вижу смысла тратить на это время/силы пытаясь придумать универсальное решение для всех.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...
На сайте используются файлы cookie и сервисы аналитики для корректной работы форума и улучшения качества обслуживания. Продолжая использовать сайт, вы соглашаетесь с использованием файлов cookie и с Политикой конфиденциальности.