Size: a a a

2021 December 02

IZ

Igor Zafievsky in Embedded Group
Но прошивать на конкретную плату через sysupgrade я постремался
источник

аᶘ

асоциальный пикотран... in Embedded Group
В компании, в которой я работаю, есть консьюмерские embedded-устройства, которые связываются с сервером по UDP раз в 2 минуты и получают от него команды по некоторому бинарному протоколу (=фактически ботнет-style). В целом при 20к устройств достаточно одной самой слабой VPSки, да и даже на ней нагрузка околонулевая. Новое поколение этого embedded-устройства переезжает на Embedded Linux, и у босса есть желание поднять VPN. Пока я не очень понимаю будущую нагрузку, плюсы и минусы такого решения и т.д.. Более того, не совсем понятно, хотим ли мы использовать какие-то проприетарные/взрослые решения для VPN или для наших нужд хватит n инстансов условного OpenVPN.

Очень хотелось бы услышать опыт людей, если кто-то поднимал сеть такого рода, или получить ссылки на материалы и/или ключевые слова, которые бы помогли получить представление о таком решении.
Из релевантного я нашёл вот такие отзывы: https://serverfault.com/questions/439848/openvpn-performance-how-many-concurrent-clients-are-possible
источник

IZ

Igor Zafievsky in Embedded Group
Если связки Linux-linux - я бы забросил openVPN подальше и сделал все на strongswan
источник

IZ

Igor Zafievsky in Embedded Group
Ну или тупо DTLS
источник

s

shadowsoul in Embedded Group
openvpn ради сотен байт раз в две минуты - гемор и оверхед
источник

s

shadowsoul in Embedded Group
два чая с ромом за годный совет
источник

A

Alexander in Embedded Group
+
источник

KA

Konstantin Akmarov in Embedded Group
wireguard ?
источник

аᶘ

асоциальный пикотран... in Embedded Group
В том и дело, что переход на линукс в том числе мотивируется сильным увеличением трафика. Ну и плюс в прозрачности сети и возможности в любой момент получить доступ к любому устройству по SSH/HTTP без необходимости наворачивать туннели и реверсшеллы.

Но сейчас да, я ему предлагаю оставить тот же протокол взаимодействия, но обернуть его в DTLS (сейчас уже даже socat умеет с ним работать; чтобы PoC сделать его достаточно), добавив возможность в нужный момент поднять reverse SSH.
источник

аᶘ

асоциальный пикотран... in Embedded Group
Я-то не против, у меня у самого домашний VPN на нем построен. Вопрос в том, как хорошо Wireguard ложится на "централизованный" юзкейс с 20-100к нодами и каких ресурсов требует. Очень не хочется быть первопроходцем, а информации я с первого взгляда не нашел. Собственно, поэтому и спрашиваю, есть ли у кого-то реальный опыт.
источник

IZ

Igor Zafievsky in Embedded Group
DTLS в любом случае правильнее будет
источник

KA

Konstantin Akmarov in Embedded Group
не знаю насчёт 20-100к нод, но знаю, что люди переводили свои 400-500 нод c openvpn на wireguard и оно в итоге работало быстрее и лучше
источник

s

shadowsoul in Embedded Group
если происходит дрочита с ssh - значит проеб по механизму обновления и диагностике допустили)
источник

аᶘ

асоциальный пикотран... in Embedded Group
Не в этом дело. Девайсы стоят на тысячах разносортных объектов и взаимодействуют через сотни проприетарных протоколов, количество которых только увеличивается. И часто устройство ставят заранее и продолжают девелопмент прямо на нем (ну, не девелопмент, а сниффинг протоколов и снятие дампов). Собственно, SSH нужен фактически только в таких случаях. Апдейт идёт штатно, a/b, rollback, все дела.
источник

s

shadowsoul in Embedded Group
ну ок, тогда оправдано
источник

s

shadowsoul in Embedded Group
но во всех остальных случаях - не повышать трафик в сотни раз ради обезьянства питоношлёпов
источник

аᶘ

асоциальный пикотран... in Embedded Group
Опять же, с учётом перехода на Linux, предполагается, что устройства начнут собирать статистику и отправлять ее сильно чаще, чем сейчас. А значит трафик в любом случае вырастит.
источник

аᶘ

асоциальный пикотран... in Embedded Group
А можешь расписать как именно будет работать взаимодействие между нодой и C&C в таком случае или ссылочку на почитать дать (inb4: rfc на dtls)?
источник

IZ

Igor Zafievsky in Embedded Group
источник

аᶘ

асоциальный пикотран... in Embedded Group
Я имею в виду не реализацию (с ней я и сам разберусь) скорее, а архитектуру и идею за ней.

Ты предлагаешь просто вместо того, чтобы гонять условный plaintext по UDP, обернуть трафик в DTLS? То есть оставить систему взаимодействия прежней (C&C и боты, которые поллят C&C?), но ещё сделать encrypted channel между нодами и сервером на основе DTLS?
источник