Pavel Volkov <sai...@lists.xtsubasa.org> wrote: > On понедельник, 16 сентября 2019 г. 04:35:19 MSK, Dmitry Alexandrov wrote: >> SOCKS proxy не проще настроить, не? > > Но входящих коннектов с SOCKS не будет, а для битторрента это было бы хорошо.
Стоп. Это разные задачи, и к ним разные решения. Для битторента — это значит для сервера; а раз для сервера — значит вопрос «чем заменить попользовательский контроль доступа» неактуален, ведь он все равно по-хорошему будет запускаться от своего пользователя, а возможно и в своем пространстве сетевых имен, как т. Мельников предлагает. >> Тут нужна какая-то изоляция. Под описанное решение — подмена ToS >> Нетфильтром, подходят cgroups, свойство зовется net_cls.classid. > > Попробую изучить cgroup-ы, а это свойство есть и в v1, и в v2? Нет, это в первых. А в Дебиан уже по-умолчанию вторые завезли? Тогда там само-то по себе все еще удобнее: возиться вручную с цифирью (а classid это число), если надо много разных классов создавать, уже не надо, можно буквами писать. Но есть и одно большое но: Систем-д. Он предъявляет монопольное право на распоряжение к-группами. Оно и на первые предъявлял, просто net_cls от него был свободен. А ко вторым, как вы знаете, все контроллеры слили в один, так что вот так по-простому: $ # по-умолчанию доступ закрыт $ curl detectportal.firefox.com curl: (7) Failed to connect to detectportal.firefox.com port 80: No route to host # # создаем к-группу # mkdir /sys/fs/cgroup/net_cls/inet # # разрешаем кому надо (здесь — всем) добавлять в нее процессы и убирать обратно # chmod a+w /sys/fs/cgroup/net_cls/inet/tasks /sys/fs/cgroup/net_cls/tasks # # указываем Нетфильтру ее членов пропускать # echo 1 > /sys/fs/cgroup/net_cls/inet/net_cls.classid # iptables -A OUTPUT -m cgroup --cgroup 1 -j ACCEPT # ip6tables -A OUTPUT -m cgroup --cgroup 1 -j ACCEPT $ # добавляем текущий шелл в разрешительную к-группу $ echo $$ > /sys/fs/cgroup/net_cls/inet/tasks $ # она наследуется $ curl detectportal.firefox.com success ...уже не сделаешь. Надо какой-то огород городить, чтобы при логине создавалось по своему ‘inet’у на каждого пользователя, причем вместе с отдельными правилами для Нетфильтра (хотя по делу они нафиг и не нужны).
signature.asc
Description: PGP signature