Я предполагаю, что пользователи A и B используют ту же машину Linux, где вы являетесь администратором. (Из вашего вопроса не совсем ясно. Если у A и B есть свои компьютеры, на которых они являются администраторами, это совершенно другая проблема.)
Следующая команда не позволит пользователю с uid 1234 отправлять пакеты по интерфейсу eth0
:
iptables -t mangle -A OUTPUT -o eth0 -m owner --uid-owner 1234 -j DROP
Я рекомендую прочитать руководство по Ubuntu iptables, чтобы получить базовые знания об инструменте (и обратитесь к странице справочника для продвинутых вещей, таких как таблица mangle).
Пользователь по-прежнему сможет запускать ping (потому что это setuid root), но не что-нибудь еще. Пользователь по-прежнему сможет подключаться к локальному прокси, если этот прокси был запущен другим пользователем.
Чтобы удалить это правило, добавьте -D
команду выше.
Чтобы сделать правило постоянным, добавьте его в /etc/network/if-up.d/my-user-restrictions
(сделайте так, чтобы исполняемый скрипт начинался с #!/bin/sh
). Или используйте iptables-save
(см. Руководство по Ubuntu iptables для получения дополнительной информации).
Я бы не использовал iptables для этого.
Я предполагаю, что A и B связаны с фиксированными IP-адресами ClientA и ClientB. Я предполагаю, что ваш интернет-прокси - это ServerI (ваш Ubuntu-сервер?).
Поэтому я бы добавил запись о запрете / отбрасывании от ClientA к ServerI.
Я не использую Ubuntu - поэтому я не могу сказать вам, какой файл конфигурации использовать, чтобы сделать этот параметр постоянным (пережив перезагрузку).
Возможно, кто-то может добавить эту деталь?
источник