Настройка iptables для раздачи интерента только для одного устройства, в моём случае это телефон, подключённый через wifi с фильтрацией по IP и MAC адресам.
Задача: необходимо ограничить доступ в сеть определённым пользователям.
Всё это делается очень просто с помощью iptables и его модуля owner, который позволяет проверять от кого(какого uid пользователя) ушёл пакет
Например запрещаем весь исходящий траффик пользователю 1001 везде, кроме локальной сети 192.168.0.0/24:
Думаю понятно, что посмотреть соответствия имя пользователя – uid можно в /etc/passwd, например cat /etc/passwd
Подробнее, что умеет owner и iptables в целом можно найти тут
Это может использоваться как защита детей от интернета.
Очень важно чтоб модуль ядра owner был собран в ядре, в моём случае на генте пришлось пересобирать. Ошибка в этом случае такая:iptables v1.4.4: Couldn’t load match `owner’:/lib/xtables/libipt_owner.so: cannot open shared object file