Можно ли ограничить доступ пользователя только к определенному сетевому интерфейсу?

Протокол AirDrop — AWDL. Теперь существует открытая реализация AWDL под названием OWL, а также совместимая с AirDrop -линейная команда Linux -под названием OpenDrop. См. https://owlink.org/code/.

3
18.11.2020, 08:15
2 ответа

Черезiptables:

iptables -A OUTPUT -o VPN_INTERFACE -m owner --uid-owner USERNAME -j ACCEPT
iptables -A OUTPUT -m owner --uid-owner USERNAME -j DROP # or REJECT

Примечания:

  • Вы можете использовать -Iвместо -A, но тогда эти две команды должны быть выполнены в порядке, обратном (, так как -Iбез аргументов вставит правило первым ).
  • Если вы используетеiptables -P OUTPUT DROP(политику OUTPUT по умолчанию -ничего не разрешать ), тогда необходимо только первое правило.

Черезfirewalld:

С помощью расширенных правил или/и /etc/firewalld/direct.xml(, что в основном одно и то же):


Не забывайте о DNS. Если вы разрешаете доменные имена с помощью интерфейса, отличного от VPN, ваш пользователь не сможет получить доступ к веб-сайтам.

2
18.03.2021, 22:49

Поскольку у вас другой сетевой адаптер, как указано в комментарии, вы можете использовать iptables с -o для сетевого адаптера и --uid -владельца:

Авторизация Outound для VPN nic:

iptables -A OUTPUT -o <vpn-nic> -m owner --uid-owner {<username>} -j ACCEPT

Удалить исходящий трафик для других сетевых интерфейсов:

iptables -A INPUT  -m owner --uid-owner {<username>} -j REJECT

Сделать постоянным:

sudo iptables-save /etc/sysconfig/iptables
sudo chkconfig iptables on
1
18.03.2021, 22:49

Теги

Похожие вопросы