V100 вместо RTX 3090: как собрать домашний LLM-сервер из списанного железа
В статье показывают, как собрать домашний сервер для локальных LLM из бывших в употреблении Tesla V100. Эти ускорители 2017 года с 32 ГБ HBM2 и пропускной способностью 900 ГБ/с сегодня можно найти за $100–150. А если объединить несколько карт, получится уже 64–128 ГБ видеопамяти - достаточно, чтобы запускать модели, которым тесно в обычных потребительских видеокартах.
🟣 Правда, лёгкой такую сборку не назовёшь: понадобятся переходники для SXM2, мощное охлаждение, блок питания на несколько киловатт и терпение при настройке CUDA с PyTorch. Четыре V100 могут потреблять до 1200 Вт, зато за относительно небольшие деньги получится настоящий домашний сервер для локальных LLM.
Серверная Админа | Zeroday | #Статья
В статье показывают, как собрать домашний сервер для локальных LLM из бывших в употреблении Tesla V100. Эти ускорители 2017 года с 32 ГБ HBM2 и пропускной способностью 900 ГБ/с сегодня можно найти за $100–150. А если объединить несколько карт, получится уже 64–128 ГБ видеопамяти - достаточно, чтобы запускать модели, которым тесно в обычных потребительских видеокартах.
Серверная Админа | Zeroday | #Статья
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3❤1🗿1
Привет, сетевой друг! Давай расскажу про mdns-scanner, который быстро пробегается по локальной сети и пытается понять, какие устройства там вообще живут.192.168.1.12 → macbook.local
192.168.1.24 → printer.local
192.168.1.37 → nas.local
Причём он не ограничивается обычным DNS. mdns-scanner умеет собирать mDNS-имена, DNS-SD service instances и другие алиасы, которые устройства сами объявляют в локальной сети.
printer.local, хотя никакой записи для него на вашем DNS-сервере не существует.А через DNS-SD можно увидеть ещё и опубликованные сервисы:
_http._tcp
_ssh._tcp
_airplay._tcp
_printer._tcp
То есть можно понять не только «этот IP существует», но и «что устройство вообще предлагает в сети».
Установка из Git:
cargo install --git https://github.com/CramBL/mdns-scanner mdns-scanner
Или можно скачать готовый бинарник из Releases.
/24.Серверная Админа | Zeroday | #Инструмент
Please open Telegram to view this post
VIEW IN TELEGRAM
❤7👍5
Привет, сетевой друг! Давай расскажу про протокол ALTO, через который оператор сам подсказывает приложению как лучше передавать трафик в его сети.# Запрос стоимости маршрутов между подсетями
curl https://alto.operator.com/networkmap
curl https://alto.operator.com/costmap/pv/num/routingcost
# Ответ содержит матрицу стоимостей между PID-группами
# PID — это группы подсетей которые оператор считает эквивалентными
POST /endpointcost/lookup
{
"cost-type": {"cost-mode": "numerical", "cost-metric": "routingcost"},
"endpoints": {
"srcs": ["ipv4:192.0.2.1"],
"dsts": ["ipv4:198.51.100.1", "ipv4:203.0.113.1", "ipv4:198.51.100.2"]
}
}
В ответе каждому dst назначена стоимость - приложение выбирает минимальную.
Серверная Админа | Zeroday | #ALTO
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5
Когда в ИТ три человека, появляется четвёртая работа — выяснять, кто чем занимается.
И вот вместо работы кто-то в команде постепенно превращается в диспетчера.
Нужно помнить, кому что передали, проверять, взял ли человек задачу, смотреть, кто сейчас свободен, напоминать про зависшие обращения и периодически разруливать классическое «я думал, это делает кто-то другой».
Пока админ один, такой проблемы почти нет. Когда появляется команда и поток обращений растёт — координация сама становится отдельной работой.
В Okdesk эту «диспетчерскую» нагрузку можно снять: заявки распределяются между сотрудниками и командами, назначаются ответственные, задаются приоритеты и сроки, настраивается автоматическая маршрутизация.
❓Вопрос «Саша это делает?» больше не нужен — достаточно открыть платформу и увидеть, кто отвечает за заявку и на каком она этапе.
Хотите увидеть, как это работает на практике?
Приходите на вебинар — разберём на примере «Мобиус Технологии», как разделить потоки между поддержкой, инженерами и экспертами, настроить маршрутизацию под разные типы обращений и масштабировать обслуживание без потери SLA.
👉 Получить бесплатный вебинар можно по ссылке https://lead.okdesk.ru/mnogourovnevyj-servis
— Кто взял заявку бухгалтерии?
— Саша вроде.
— А сервером кто занимается?
— Я думал, ты.
— А в филиал кто-нибудь написал?
— Сейчас спрошу.
И вот вместо работы кто-то в команде постепенно превращается в диспетчера.
Нужно помнить, кому что передали, проверять, взял ли человек задачу, смотреть, кто сейчас свободен, напоминать про зависшие обращения и периодически разруливать классическое «я думал, это делает кто-то другой».
Пока админ один, такой проблемы почти нет. Когда появляется команда и поток обращений растёт — координация сама становится отдельной работой.
В Okdesk эту «диспетчерскую» нагрузку можно снять: заявки распределяются между сотрудниками и командами, назначаются ответственные, задаются приоритеты и сроки, настраивается автоматическая маршрутизация.
❓Вопрос «Саша это делает?» больше не нужен — достаточно открыть платформу и увидеть, кто отвечает за заявку и на каком она этапе.
Хотите увидеть, как это работает на практике?
Приходите на вебинар — разберём на примере «Мобиус Технологии», как разделить потоки между поддержкой, инженерами и экспертами, настроить маршрутизацию под разные типы обращений и масштабировать обслуживание без потери SLA.
👉 Получить бесплатный вебинар можно по ссылке https://lead.okdesk.ru/mnogourovnevyj-servis
Реклама. ООО «Облачные решения». erid: 2VtzqxJ7bjz🤪5🔥1😁1
This media is not supported in your browser
VIEW IN TELEGRAM
Привет, сетевой друг! Собрал три способа прокачать защиту MikroTik - особенно если роутеров уже несколько и хочется меньше ручной работы…import routeros_api
connection = routeros_api.RouterOsApiPool(
'192.168.1.1',
username='admin',
password='pass',
plaintext_login=True
)
api = connection.get_api()
rules = api.get_resource('/ip/firewall/filter')
print(rules.get())
Например, добавить IP в
blocklist:api.get_resource('/ip/firewall/address-list').add(
list='blocklist',
address='10.0.0.5',
comment='auto-blocked'
)Так можно быстро блокировать адреса, полученные из SIEM, threat intelligence или внутренней системы мониторинга, сразу на всех MikroTik.
502, приложение не работает, а пользователи уже не могут подключиться. Для дополнительного контроля Netwatch можно связать с HTTP health-check и проверять конкретный endpoint:/tool netwatch
add host=10.0.0.10 interval=30s timeout=5s \
type=HTTP http-codes=200 \
down-script="/log error \"Web server DOWN\"" \
up-script="/log info \"Web server UP\""
Если сервис перестал отвечать,
down-script может добавить его адрес в отдельный список, отправить событие в мониторинг или запустить переключение на резервный сервер./ip firewall mangle
add chain=forward protocol=tcp tcp-flags=syn \
connection-state=new \
src-address-list=!whitelist \
action=add-src-to-address-list \
address-list=syn-tracking \
address-list-timeout=30s
/ip firewall filter
add chain=forward protocol=tcp tcp-flags=syn \
connection-state=new \
src-address-list=syn-tracking \
connection-limit=30,32 \
action=add-src-to-address-list \
address-list=internal-scanner \
address-list-timeout=1h \
log=yes \
log-prefix="SCAN DETECTED:"
add chain=forward src-address-list=internal-scanner \
action=drop \
log=yes \
log-prefix="SCANNER BLOCKED: "
В итоге источник, который набирает слишком много одновременных TCP-соединений, попадает в
internal-scanner, а следующее правило уже режет ему трафик.Серверная Админа | Zeroday | #Mikrotik
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3👍2💘1
Привет, сетевой друг! Сегодня про Ethernet, который мы привыкли воспринимать как обычный кабельный LAN. Но за ним давно стоит целый набор технологий, которые позволяют гонять трафик на десятки и сотни гигабит.1000BASE-T означает не просто «гигабит по кабелю». Это уже point-to-point соединение между портом коммутатора и конечным устройством.10 → 100 → 1000 → 10G → 25G → 40G → 100G → 200G → 400G → 800G.
Причём скорость росла не только за счёт увеличения частоты сигнала. Используются более сложные схемы кодирования, PAM4, несколько физических линий и всё более продвинутые DSP. Например, 400GbE может передавать данные четырьмя электрическими или оптическими лэйнами по 100 Гбит/с.
Например:
Server
│ 25G
▼
Leaf
│ 100G
▼
Spine
│ 400G
▼
Core
Так Ethernet постепенно превратился из стандарта для офисной сети в основу современных дата-центров.
Серверная Админа | Zeroday | #LAN
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6💘4🔥1
Почему SAML снова и снова ломается на одном и том же месте?
SAML больше 20 лет отвечает за корпоративный SSO, но исследователи до сих пор находят способы обходить его защиту. В статье разбирают, как XML-комментарии, особенности парсеров и канонизация позволяют подменять подписанные данные так, что проверка проходит, а приложение получает уже другое содержимое.
🟣 Разбирают пять проблем протокола: сложность XML, канонизацию, вложенные подписи, перегруженную спецификацию и устаревшую архитектуру. Отдельно проходят по XSW, parser differential и round-trip-атакам, а затем сравнивают подход SAML с OIDC и показывают, почему современные системы постепенно уходят от XML в сторону JSON/JWT.
Серверная Админа | Zeroday | #Статья
SAML больше 20 лет отвечает за корпоративный SSO, но исследователи до сих пор находят способы обходить его защиту. В статье разбирают, как XML-комментарии, особенности парсеров и канонизация позволяют подменять подписанные данные так, что проверка проходит, а приложение получает уже другое содержимое.
Серверная Админа | Zeroday | #Статья
Please open Telegram to view this post
VIEW IN TELEGRAM
Привет, сетевой друг! Сегодня про webcensus - инструмент для довольно специфичной задачи: найти один и тот же URL-путь сразу на огромном количестве сайтов./.well-known/security.txt, robots.txt, ads.txt или sitemap.xml. Перебирать сайты по одному здесь явно не вариант.список доменов
↓
DNS
↓
HTTPS probe
↓
скачивание
↓
проверка файла
Сначала
massdns быстро резолвит миллионы доменов и оставляет только те, у которых есть A-запись.skim. Он подключается к :443, выполняет TLS handshake и отправляет обычный HTTP-запрос к нужному пути. Но самое интересное - тело ответа на этом этапе вообще не скачивается. Инструмент читает только HTTP status line:
{"url":"https://example.com/.well-known/security.txt","status":"success","code":200,"cert_ok":true}Поэтому из миллионов адресов дальше проходят только те, где HTTPS вообще поднялся и нужный путь вернул
200.curl --parallel скачивает найденные URL пачками, причём для каждого запроса есть ограничения по размеру, времени и числу повторных попыток.Например:
--parallel-max 50
--max-filesize 5M
--max-time 10
--connect-timeout 3
--retry 2
Это важно, потому что сервер вполне может ответить
200, а вместо маленького security.txt отдать несколько мегабайт HTML.Получается важная разница:
HTTP 200
≠
нужный файл действительно существует
Например, сайт может отдавать одну и ту же SPA-страницу на любой URL с кодом
200. Для простого сканера это найденный файл, для webcensus - мусор.data/. Можно остановиться после любого шага и продолжить с него, а локальный этап проверки вообще не требует повторно ходить в интернет.Серверная Админа | Zeroday | #Инструмент
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
This media is not supported in your browser
VIEW IN TELEGRAM
Привет, сетевой друг! Давай разберём несколько TCP-флагов и состояний, которые особенно полезны, когда смотришь трафик в Wireshark и пытаешься понять, где именно всё сломалось.Клиент отправляет
Client → Server SYN
Client → Server SYN
Client → Server SYN
а ответа нет.
Это ещё не значит «сервер лежит». SYN мог потеряться, его мог отбросить файрвол, либо обратный маршрут сломан. Поэтому следующий шаг - смотреть, доходят ли пакеты до сервера и есть ли от него ответ.
Client → Server SYN
Server → Client SYN-ACK
Client → Server RST
Сервер явно ответил, но клиент сразу сбросил соединение. Такое бывает, например, когда клиентский стек уже не ожидает этот ответ или состояние соединения исчезло из-за NAT/stateful firewall.
Client → Server SYN
Server → Client RST
TCP-порт на той стороне явно отверг попытку соединения. Классический случай - приложение не слушает этот порт.
Но RST может генерироваться и сетевым оборудованием или security-механизмом, поэтому источник пакета тоже стоит проверить.
FIN означает: «я закончил отправлять данные».RST означает: «эту TCP-сессию прекращаем прямо сейчас».Например, нормальное закрытие выглядит примерно так:
Client → Server FIN
Server → Client ACK
Server → Client FIN
Client → Server ACK
А
RST посреди нормального обмена уже требует посмотреть, что происходило непосредственно перед ним.Например:
SEQ=1000 LEN=500
ACK=1500
Если сервер продолжает получать
ACK=1000, хотя уже отправил данные дальше, можно увидеть retransmission, duplicate ACK и проблемы с доставкой.Именно по комбинации
SEQ, ACK, SYN, FIN, RST и времени между пакетами часто можно восстановить всю историю TCP-сессии - кто начал соединение, где потерялся пакет и на каком этапе оно развалилось.Серверная Админа | Zeroday | #Инструмент
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7❤3