Рейтинг:1

Как направить весь трафик для группы пользователей Linux на один интерфейс

флаг de

Мы используем терминальный сервер Linux Mint 20.2, используя Удаленный рабочий стол ThinLinc. Несколько нетрадиционно мы установили основную группу для всех пользователей как «сотрудники» или «учащиеся». Нам нужно предоставить группе «персонал» нефильтрованный доступ в Интернет (через устройство enp1s0) прямо через шлюз локальной сети. Нам нужно предоставить группе «студентов» отфильтрованный доступ (через устройство enp1s0.20) к vlan через шлюз pfSense. Нефильтрованный доступ работает нормально; отключение enp1s0 и отправка всего трафика через отфильтрованный шлюз работает должным образом. Мы также можем заблокировать группу студентов с помощью этого правила iptables:

iptables -A OUTPUT -p tcp -m multiport --dport 80 443 -m owner --gid-owner "студенты" -j DROP

Но я не обнаружил, как заставить трафик «студентов» выходить из vlan с включенными обоими интерфейсами.

Большое спасибо заранее.

Рейтинг:1
флаг de

Что ж, я провел много (слишком много!) часов, исследуя и изучая различные решения, прежде чем опубликовать здесь, но разве вы не знаете, я нашел свой собственный ответ менее чем через час. Ответ Интики на другой вопрос, наконец, привел меня в правильное направление. Я уверен, что есть решения с сетевыми пространствами имен и т. д., но это был самый простой способ достичь желаемой цели.

iptables -t mangle -A ВЫВОД -m владелец --gid-owner "студенты" -j MARK --set-mark 42
iptables -t nat -A POSTROUTING -o enp1s0.20 -m mark --mark 42 -j SNAT --to-source 192.168.20.10
ip правило добавить fwmark 42 таблица 42
ip route добавить по умолчанию через 192.168.20.2 dev enp1s0.20 таблица 42
netfilter-постоянное сохранение

IP-адрес vlan: 192.168.20.10; отфильтрованный шлюз — 192.168.20.2.

ПРИМЕЧАНИЕ 1: iptables-save не делает это постоянным при перезагрузке.; только netfilter-persistent сохранит изменения iptables.

ПРИМЕЧАНИЕ 2. Это не сохраняет конфигурацию IP-маршрута. Это необходимо настроить на перезагрузку каждый раз, когда интерфейс повторно активируется (отключение кабеля, перезагрузка и т. д.). Чтобы сделать эту конфигурацию постоянной, вам нужно настроить соответствующий файл в /etc/netplan. Поскольку мне не удалось разобрать синтаксис или найти соответствующие примеры, я добавил оригинальные iptables -j УДАЛИТЬ правило и сохранил его (с netfilter-persistent), чтобы в случае автоматического сброса сети доступ всех учащихся был заблокирован. Затем я написал очень простой скрипт, удалив эту строку из таблицы фильтров и добавив IP-маршрут линия снова.

#!/бин/баш
# Удалить постоянную блокировку группы «студенты» из таблицы фильтров: sudo iptables -D OUTPUT -p tcp -m multiport --dport 80,443 -m owner --gid-owner «students» -j DROP
# Добавьте политики маршрутизации, которые не сохраняются при перезапуске сети, без редактирования конфигурации сетевого плана:
sudo ip route add default через 192.168.20.2 dev enp1s0.20 таблица 42
echo "Фильтрованный доступ должен быть настроен для группы "студенты""
выход

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.