Интернет здорового человека. Мой опыт
Речь в посте про железки и сетевые технологии, я старался писать без излишней технической духоты для людей, далёких от IT.
У большинства людей дома интернет, кабель для обеспечения которого в квартиру заводит провайдер. Опять же большинство этот кабель подключают к Wi-Fi роутеру. Роутер можно пойти купить в магазине и настроить самостоятельно, можно взять сразу у провайдера, и при подключении вам его настроят. Это всё легко и просто, и подходит большинству людей. Я же как увлечённый технологиями человек пошёл чуть дальше по сложному пути. Есть альтернативный вариант - установить на роутер открытую операционную систему под названием OpenWrt. OpenWrt - это по сути Linux для роутеров.
Если обычный роутер - это "ящик с антеннами" с ограниченными настройками от производителя, то OpenWrt превращает его в маленький полноценный сервер, на котором можно раскрыть всю мощь open-source технологий.
Это даёт несколько важных возможностей:
намного больше настроек, чем в обычных роутерах из магазина;
контроль над своей сетью - можно самому решать, как работает интернет дома;
возможность устанавливать дополнительные функции, примерно как приложения на телефон. Но придётся разбираться что устанавливать и зачем.
По сути OpenWrt превращает домашний роутер из простой коробки, раздающей Wi-Fi, в небольшой сервер и центр управления всей домашней сетью, в т.ч. через него можно управлять компами, телефонами, IP-камерами, умными колонками, телевизорами и прочими Wi-Fi - чайниками, которые умеют выходить в интернет.
На форуме 4pda есть темы, посвящённые конкретным роутерам. Найти можно практически любой популярный с инструкциями, прошивками, описанием его возможностей и т.п. В т.ч. возможность его прошивки на OpenWrt.
Проблема в том, что указанную ОС поддерживает не каждый роутер, хотя уже есть поддержка более чем 2000 устройств. Можно проверить по устройству в таблице: https://toh.openwrt.org/, либо почитать на форуме 4pda. Вторая проблема: если даже ваш текущий роутер поддерживает OpenWrt - правильно его прошить, чтобы всё взлетело - это примерно как дрочить вприсядку с вероятностью получить на выходе лишённый гарантии кирпич, если что-то сделаете не так. Когда я только начал изучать эту тему - оказалось что мой текущий Redmi AX5 именно из этой категории. Вот он кстати:
Мне удалось его успешно прошить и не окирпичить, но как оказалось версия OpenWrt, которая на нём работает - старый китайский форк, который сильно урезан по возможностям, многие пакеты из официальных репозиториев OpenWrt просто не поддерживаются. Помучившись недельку я понял что данный роутер не отвечает моим требованиям и стал искать другие варианты. Сначала думал просто купить более современный и мощный роутер, на который OpenWrt встанет без проблем. Однако нейросетевой друг подсказал мне другую идею: одноплатные мини-ПК. Существуют варианты специально заточенные под OpenWRT. Я остановился на модели NanoPI R4S, одноплатник размером с пачку сигарет, вот так он выглядит:
По деньгам: мне удалось его купить на алиэкспрессе за 6500р, хороший роутер сейчас может стоит сильно дороже. По характеристикам NanoPI уделывает большинство стандартных роутеров. Для сравнения ниже немного технической духоты, монстр ASUS TUF Gaming TUF‑BE3600(цена 14к в DNS) vs NanoPI R4S по характеристикам:
ASUS TUF Gaming TUF-BE3600
— процессор: 4 ядра ~2.0 GHz
— оперативная память: 1 GB
— встроенная память: 256 MB
— Ethernet: 1× 2.5 Gb + 4× 1 Gb
— Wi-Fi: Wi-Fi 7 встроен
— USB: 1 порт
— система: фирменная прошивка ASUS
NanoPi R4S
— процессор: 6 ядер (2×A72 + 4×A53) до ~2.0 GHz
— оперативная память: до 4 GB
— встроенная память: microSD / eMMC (карта покупается отдельно, по оф.спекам объём до 128Gb, но есть люди, у которых взлетело и 256 и 512Gb)
— Ethernet: 2× 1 Gb
— Wi-Fi: нет (подключается отдельная точка доступа)
— USB: 2× USB 3.0
— система: полноценный Linux / OpenWrt
Для многих стоп-фактором будет отсутствие Wi-Fi из коробки, я же планировал подключить старый роутер к NanoPI и использовать его в режиме моста для раздачи Wi-Fi и подключения ТВ и компа патч-кордами из LAN-портов.
Огромное преимущество одноплатника в том, что все его мозги хранятся на обычной маленькой Flash-карте формата MicroSD, которая просто вставляется во внешний слот:
То есть даже если вы в ходе прошивки или при каких-то экспериментах сломали вообще всё: просто вынимаете карту, подключаете к компу, форматируете и с помощью специального софта накатываете чистую OpenWRT в пару кликов. Сама процедура проще переустановки Windows.
На моём одноплатнике стоит AgGuard Home, через который я могу разрешать\запрещать ходить устройствам в сети на какие-то сайты, блокировать рекламу, а также мониторить трафик по каждому устройству:
Для "интернета здорового человека" у меня используется Podkop. Это инструмент для OpenWrt, который позволяет NanoPI гибко управлять маршрутизацией трафика. Мини-ПК подключён к VPN-серверу, но через него идут только определённые сайты, а остальной интернет работает напрямую. Списки таких сайтов лежат на GitHub и автоматически обновляются - Podkop просто подтягивает их раз в сутки.
Я указал только пару штук, которые подходят под тему поста, у меня же стоит много больше утилит: Samba для сетевого хранилища, tailscale для удалённого управления мини-ПК с телефона или любого другого устройства, Wake-on-lan, RPC для удалённого включения\отключения ПК через одноплатник, Transmission для торрентов. Это то что вспомнил.
Несмотря на всё перечисленное нагрузка на NanoPI около-нулевая, вот графики по процу:
Чтобы как-то нагрузить железку и увидеть потенциал в качестве эксперимента я сейчас подключил к нему по USB внешний жёсткий диск, который планирую использовать в качестве хранилища и закачки\раздачи торрентов. Упёрся в нехватку питания: если на HDD дать нагрузку - питание просто отключается. Сейчас жду USB-хаб с отдельным подключением в розетку, но это уже другая история.
В качестве вывода можно сказать что я доволен своей проделанной работой, основной эффект в том, что любой телефон, ПК, ноутбук, вайфай-чайник или синхрофазотрон, который подключается к моей вайфай сети может без дополнительных танцев с квн зайти в ютуб и смотреть там котиков и прочие непотребства. Выглядит мой домашний сетевой монстр как жуткая коробка с проводами на стене, по факту ей и является:
Раз уж я на пикабу, фотка котика также прилагается! Спасибо за внимание :D














