Pull to refresh

Comments 40

VPN траффик можно выделить среди прочего (отличить от не- VPN)?
с чего тогда чуствовать себя комфортнее?
Теоретически да. По факту — пока на это нет ни мощностей, ни указа сверху. А даже если они будут — есть всякие неплохие способы обхода этого.
Если провести обфускацию пакетов, то нет. Но это реально надо заморачиваться и вряд ли стоит того. У нас пока не Китай и не скоро ещё будет, если будет вообще.
В Китае, кстати, OpenVPN не работает, с L2TP проблем нет чаще всего.
В последних версиях OpenVPN добавили шифрование управляющего канала, опция tls-crypt взамен бывшего tls-auth. Затрудняет опознавание трафика OpenVPN. И, к примеру, на сайте «проверки анонимности» 2ip вообще не обнаруживается никакой VPN fingerprint.
UFO just landed and posted this here
UFO just landed and posted this here
Так скрипт устарел или нет? Как это можно понять «не вдаваясь в детали»? Скрипт простой и понятный, на гитхабе у него 6к+ звёзд и полторы тысячи форков, обновление было три дня назад. Что конкретно в нем не так?
Я уже много лет его использую на наших VPS.
Не хватает одной фичи — одноразового веб-сервера, для скачивания файла для клиента через https. Я на скалевей такой посмотрел, очень удобная штука.
Когда не нужен докер, он очень удобен, да.

Я сам докером до недавнего времени не пользовался, но вот как средство для изоляции разного рода софта или шеллов он очень хорош + порог вхождения низкий, не надо тонну документации лопатить.

Ага, запуск докера в privileged режиме — не лучшая идея. Сами разработчики говорят, что privileged существует только для особо экстраординарных задач, например как запуск докера внутри докера. Для всего прочего --cap-add, как у автора поста. Настаивать на то, что там внутри контейнера и ломать-то нечего можно сколько угодно, но это не докер вей.

Ну или подмонтировать image в loop, --cap-add SYS_ADMIN не прошел.

Например, чтобы потом все убрать и не осталось "хвостов" в системе. Или чтобы ограничить vpn-сервис в ресурсах. Непонятно зачем docker-compose, разве что не вводить параметры каждый раз, но, ИМХО, проще sh-скрипт сваять

Какие хвосты на впс, который и так удаляется без следа в один клик?

Например, я не практикую принцип "1 vps — 1 сервис". Т.е. на vps крутится обычно много мелких сервисов и openvpn (и ipsec+strongswan) находятся именно в докере, п.ч. это удобно — мне не надо вспоминать, что и как настраивается, мне надо просто на новую vps клонировать репу с Dockerfile, положить ключи и запустить скрипт, создающий контейнер. На вкус и цвет фломастеры разные — кому как удобнее. Лично мне глаз режет использование docker-compose для одного контейнера, но опять-таки — кому как удобнее.

это если у вас vps. А в вашем конкретном гипотетическом сценарии в проде понадобится создать например какой-то шлюз для входа пользователей в корпоративную сеть через интернет, причём обязательно через OpenVPN и на Docker. Вот тогда вам возможно и станет актуальным вопрос о хвостах. Не цепляйтесь к шаблонам.
Автор изначально говорит про впс, для обхода блокировок. И то, что я показал способ проще — ему явно не понравилось))

docker-compose затем, что делает жизнь легче.

Если нет надобности запустить несколько контейнеров, то в чем конкретно легче? Сохранение параметров запуска в bash-скрипте прозрачнее, плюс отсутствует дополнительная сущность в виде docker-compose. А вот для запуска нескольких связанных контейнеров поддержу — docker-compose удобнее скриптов

Например для автоматической миграции контейнера по нодам. Правда это не docker-compose а чистый docker, но файл docker-compose плюс-минус тот же.

Чтобы переиспользовать много раз одну и ту же систему не настраивая ее. В данной статье, если вы обратили внимание, не идет речь о том, как настроить впн, а рассказывается как пользоваться поделкой автора. И когда автор обновит контейнер, вы не пойдете перенастраивать ваш впн, а сделаете docker pull.

Который блокирует все лишние порты а также врубает unattended upgrades. Докер проще.
Это извращение идей сертификатов и контейнеров.
Приватные сертификаты CA и клиентские не должны генерироваться и храниться на сервере. И было бы логичнее собрать образ со своими сертификатами и настройками, а не пробрасывать вовне каталог, который никто сколько-нибудь регулярно менять не обирается.
UFO just landed and posted this here
UFO just landed and posted this here
UFO just landed and posted this here

Я хоть и только начинаю знакомство с докером, но уже знаю, что имедж собраный как
FROM alpine:latest не то чтобы очень предусмотрительно. Сам напарывался на эти вилы, когда образ использует по умолчанию тег latest, а в последней версии того же alpine нужных зависимостей уже нет. Все таки лучше указывать конкретный тег.


Так же хотел отметить, что если используется SELinux(например, в Centos по дефлоту), то если не указать опции монтирования z или Z, то на запись из контейнера в директорию на хосте ничего работать не будет.


volumes:
     - {path_to_save_openvpn_config}:/etc/openvpn:Z #если несколько контейнеров будут обращаться по одному маунту, то опция должна быть "z"

И комментарий для всех, кто говорит можно проще. Да, можно проще, но с докером мы получаем нормальную переносимость окружения на любой дистрибутив любой версии(в рамках поддержки докера, конечно) без хитрых манипуляций. Можно ставить самую последнюю версию нужного ПО без страха поломать зависимости на работающем сервере, например. Или парой команд экспортировать хоть контейнер, хоть имедж, хоть вольюм в архив, и на новом сервере так же все это импортировать обратно.

Меня всегда пугал --restart:always в докере на личном сервере, куда заглядываешь нечасто. Предположим, приложение засрало себе конфиг и падает при запуске. Получается, Docker будет его перезапускать до посинения, поедая 100% процессора, пока не заметишь?
Ну вот почему нельзя ему указать предел количества перезапусков, как это можно сделать в других правилах, ну что за бред…

man docker-run: там есть не только always, есть ещё on-failure[:max-retry]

Sign up to leave a comment.

Articles