Привет. за докер спасибо отдельное, lxc крут, но не всегда подходит для конкретного окружения \ сервера.
Есть ньюанс - как можно добавить в впн весь траф?
на оригинале антизапрета пришлось подправить knot чтоб разрешить доступ к днс для всего трафика
ну и на клиенте redirect-gateway def1 bypass-dhcp
тут наверно не сохранятся же изменения в контейнере?
Да, с новой сборкой офигенно полетело всё.
2 вопроса, которые меня мучают - чем чреват запуск doall.sh скажем раз в сутки? А то он каждые 6 часов запускается и могут быть фризы.
А второй вопрос - где посмотреть список всех клиентов, которые к контейнеру подключены?
У меня стоит 12 часов и проблем не испытывал. Разве что может быть если условный example.com появится в https://raw.githubusercontent.com/zapret-info/z-i/master/dump.csv то ты его в худшем случае получишь через 18 часов. Тут скорее вопрос как часто тебе надо иметь как можно более свежие списки блокировок. наверное🤔.
При перезапуске контейнера все изменения сохраняются. При пересоздании - удалятся. Можно руками поправить нужные файлы или добавить в init.sh нужные скрипты, что бы они выполнялись при старте, а потом пересобрать контейнер docker compose built. Тогда локально будет образ со всеми исправлениями.
Но сейчас я активно вношу правки в репозиторий, так что в будущем будут проблемы с обновлением из за конфликтов. Лучше наверное подождать немного, пока весь код не перетащу из оригинального репозитория в мой.
Но если надо весь траф пустить через VPN, то я бы рекомендовал поднять обычный IPSec и/или L2TP. Поддержка этих протоколов есть везде, а скорость будет в разы выше.
А вот такой вопрос - планируется ли использование sndbuf и rcvbuf в клиенте и сервере? Я поставил коненчо себе по 4 мегабайта буферы, на старой сборке сильно помогло, а вот на новой по инерции перенес.
И не могу понять оправданы они или нет
Поднял для теста виртуалку с ubutnu24.04 (в более ранних версиях нет готового пакета dco)
Установил на хосте apt install openvpn-dco-dkms и все заработало в контейнере.
Нагрузка на cpu на сервере упала почти до 0!
tls-crypt кстати не требуется для DCO. Не стал его влючать, иначе все клиентские ключи надо будет перегенеривать. Да и нагрузка увеличится из за шифрования.
и на сервере добавил (в контейнере) и на клиенте (в конфиге роутера openvpn)
Замеры да, без этих параметров - открываю ютуб с веба, жду секунды 4-5 - начинает играть в 1080 при доступном 4к, скорость 20-30 мегабит и разгоняется
С параметрами - открываю ютуб с веба, жду меньше секунды - играет сразу в 4к и скорость сразу под 100 мегабит если стате ютуба верить и разгоняется до 300 (канал дома - 500)
Добавил рекомендуемые опции для mtu и sndbuf/rcvbuf
Перенаправление всех логов в docker log. Теперь их видно при использовании docker compose up, или docker compose logs -f
Оставил файлы конфигов чистыми, что бы их можно было редактировать без конфликтов гита
К сожалению, из за изменения структуры папок и добавления tls-crypt - ключи будут перегенерированы, так что не забудьте перенастроить клиентов после обновления.