Возможность включать VPN клиент для конкретных MAC-адресов
Это не так делается. Это надо этим мак-адресам выдавать заранее заданные IP или даже вывести их в отдельный vlan - и уже для них сделать policy routing. Это скорее всего уже или к микротикам, или к роутерам с нормальной поддержкой openwrt.
Константин Фролов, я знаю что длинный коаксиал нехорошо, но в данном случае вообще хрень вышла, я купил вариант с длинным USB и он от ноутбука ещё питался нормально, а от роутера модем ребутялся каждые несколько минут, видимо от нехватки питания. То что в итоге сделал - был единственный вариант, который я смог собрать из того, что тогда было в наличии у меня в деревне.
Операторам невыгодно, когда авторизуют "по звонкам", ведь невзятый звонок приносит доходу 0 рублей 0 копеек. Понятно, что они будут очень активно мешать подобным "сервисам".
Лучше не завязываться на такую авторизацию, а авторизовать через соцсети, Google Authenticator и другие средства, где головная боль по борьбе с клонами и авторегами будет чьей-то чужой, а не собственной.
Ну например запрос выполняется за 50 мс, тогда как ни крути, но в один поток больше 20 запросов не сделаешь.
Начинаем параллелить (тредами или asyncio), и тоже не можем бесконечно наращивать. Например, пусть, утрировано, эти 50 мс это чисто процессорный ресурс (на деле так не будет, это чисто иллюстрация), а у сервера 8 процессорных ядер. Тогда больше чем 160 запросов в секунду не выжать.
Собственно, если начать смотреть среднее время ответа, то можно даже примерно определить, в какой момент оно начинает расти, а общее число запросов за единицу времени расти перестаёт. Вот и нащупано узкое горлышко.
Ещё могут быть ограничения на число воркеров или длину очереди в web-сервере или в конечно приложении, размеры буферов итд итп. Варианты с ограничениями на конечного клиента тоже могут быть.
Короче, вполне может быть, что 30-40 - это вот реальный максимум.
g23rom, при форварде из группы инфа о ней не передаётся, только при форварде из канала. Вообще, подобное легко проверить ботами типа ShowJsonBot, которому форвардишь сообщение и он показывает что ему прилетело через API.
Dmitry Bay, ну есть полно комплектов, где можно или антенну на коаксиале вынести наружу, или весь комплект вообще в уличном ящике. Но если всё так жёстко, что стены железные, то лучше бы повесить два роутера и внутри, и снаружи.
У нас на даче дом деревянный, а роутер стоит на веранде, ловит и внутри дома, и по всему участку и в некоторой окрестности за пределами (>30 соток). Интернет ловит антенна Mirkotik LHG LTE Kit с модемом внутри него. Соседям я собрал из антенны Крокс, модема e3372 и роутера WT3020 прям в антенном ящике, правда, товарищ-радист прокомментировал, что его не очень улыбает заводить в маленький уличный ящик 220 вольт...
Алекс, делаем так: на HDD в отдельный раздел ставим любой другой линукс (можно какой-нить легковесный) с grub, затем в этот grub кладём указанные ядро и рамдиск. Если там не намудрили и не делали вообще явную защиту от таких ковыряний, то эта штука должна загрузиться и даже как-то найти свой HDD-раздел.
Как вариант, систему можно попробовать загрузить внешним загрузчиком с флешки или через PXE.
Как происходит загрузка Linux "на пальцах"?
1. В память грузится ядро и initrd.
2. В нужную область памяти помещаются параметры, включая адрес, где лежит initrd.
3. Вызывается стартовый код ядра, который уже делает всё остальное.
При этом неважно, где лежат ядро и initrd до загрузки. Поэтому необязательно использовать lilo, на самом деле.
Исторически приходилось даже ставить grub в mdraid с данными в формате 0.9, чтобы его можно было монтировать как отдельные разделы. Это позволяло grub найти свои файлы так, как будто raid нет, причём на любом из двух дисков. Во времена, когда он этого сам не умел.
Алекс, то есть всё же система в рамдиске? Тогда придётся её пересобирать, да. Но система, в которой устанавливали lilo, в таком случае может отличаться.
Например, можно было сделать /boot, в него положить ядро и ramdisk, настроить и установить lilo, а потом систему, из которой всё это делалось, полностью снести.
Но в целом если там не перемудрили, то можно взять ядро и ramdisk и загрузить их любым другим загрузчиком, в том числе grub.
Либо надо после переноса загрузиться с другого носителя и из chroot вызвать lilo, либо таки уже мигрировать на нормальный загрузчик. Если даже не grub, то можно хоть DOS загрузить и из него взвести систему с помощью loadlin (ему нужны будут ядро, initrd и правильные параметры), или через pxelinux...
initrd трогать не нужно! и вызывать lilo из другой системы тоже. Нужно lilo именно правильной формы от нужной системы. Вообще lilo сильно завязан на конкретный диск с его разметкой, там по сути статические адреса блоков прям в boot record пишутся. Поэтому-то в старых линуксах после пересборки ядра надо было переставлять lilo. Крутость grub как раз и была в своё время в том, что в нём есть stage2, который уже умеет работать с файловыми системами и находить файлы по именам (хотя там могут быть тоже проблемы, если файловая система побилась, даже если это легко восстанавливается по журналу при обычной загрузке).
Неужели другой загрузчик никак не поставить? В принципе, lilo и grub даже совместно можно исхитриться завести.
Это не так делается. Это надо этим мак-адресам выдавать заранее заданные IP или даже вывести их в отдельный vlan - и уже для них сделать policy routing. Это скорее всего уже или к микротикам, или к роутерам с нормальной поддержкой openwrt.