Static ip for client#41
Conversation
- add row to config for setup db path
|
Я же тебе писал свои контакты в соседнем ПР, ты бы хоть дёрнул меня, прежде чем такое кол-во изменений залилать, я сейчас смотрю - и просто в ахуе. Уже и лична БД у VPN сервера, ему надо то всеголишь - гноть траффик. PS. Извини за молчание. |
|
В общем я глянул, ты чёт совсем дикое написал, притом запихнув кусок VPN Server - должен только VPN'ом и рулить, не нужны ему базы и прочие, сорри, я это не мержану, но твою проблему я понял, и обдумаю. Впрочем, если тебя этот вариант устраивает - ни кто не запрещает тебе свой форк и юзать, опенсорс же. |
Так этот просто КВН сервер у тебя и раньше не просто гнал трафик, а ещё и раскидывал IP, просто очень примитивно. Я по сути добавил DHCP и сохранение IP за клиентом, а БД нужна просто для того чтобы данные были персистентными между перезагрузками. Собственно из-за возможности подключения нескольких серверов auth, хранить IP клиента на каждом auth звучит как овер. + на каждый такой auth надо передавать данные о подсети. А сами auth все время синхронить между собой ну или по изменениям (один должен уведомить всех о том что что-то поменялось) и при добавлении нового сервера в пул (что должен тригерить впн сервер). Ну либо это надо делать с силами постгреса, но тогда это вообще другого рода работы надо производить. С одной стороны я понимаю почему ты не хочешь оверынженирить сервер, да и, возможно, статичные IP не всем нужны и хватит и текущей реализации. С другой стороны, возьмём wireguard, zerotier, netbird, все они выдают статику клиенту/конфигурации. Я посмотрю на днях как это там реализовали и отпишусь. Но на данном этапеу меня нету идей как можно реализовать такое, другим способом. P. S.
Ну сам решай, но на данный момент он закончен. Разве что можно добавить удаление клиентов и чтобы при создании клиента можно было скачать его конфиг, но это надо допиливать бэкэнд. Но весь базовый функционал уже присутствует. |
В каклм смысле? Какой кусок?
Ну да я так и использую |
|
|
Понял тебя, тогда пр отклоняй, если у меня будут какие-то идеи я, если что, тогда отдельно напишу
Типо я конечно понимаю, но просто привычка - если это можно сделать автоматически, то я делаю это автоматически. Да и привык пользователям не доверять, не то что бы они что-то плохое могут сделать, но часто они глупенькие |
Да это было в рамках "я и чел с соседнего города рубонём в чёнить". Btw, я обдумал всё это:
Итого - я оставлю всё как есть, сиди на своём форке, тем более я сомневаюсь что будут какие то большие изменения в ближайшее или даже вообще. А так - надо поискать готовый DCHP на Rust просто, и не велосипедить. PR пока оставлю, но когданить прикрою. |
Ну я тоже задумывался, что, вероятно, не всем нужен тот функционал, который хочу я
Вот поэтому я клиентам и не доверяю
Хорошо
Я и сам думал поискать, но мне было проще написать самому, чем разбиратся с новой библиотекой в новом яп |
Я спрашивал контакты по вопросам по серверу, но подумал что тут будет проще написать
В общем пока писал вопрос, понял что проблема в том что сейчас сделано так, что клиент удаляется после создания сессии, а так как теперь ip у клиента один, то просто дропается новое соединение и все.
Сейчас это починил все работает
В итоге я добавил новую строчку в конфиг - если ее нету то создатся sqlite БД
и переписал ip_pool.rs, чтобы оно использовал БД для хранения ip