Возникла необходимость посчитать различный траффик (траффик от различных сервисов). man iptables сказал о существовании --gid-owner, от него начал танцевать. Хочется для каждого сервиса (squid, openvpn, ntp, apache) создать по 2 цепочки - на in и out, и время от времени писать это все в БД. Кроме перечисленых сервисов в сеть никого не пускать. Входящие соединения - рубить. Застрял я вот на чем:
iptables -N squid_out
iptables -N squid_in
# Squid group ID = 31
iptables -A OUTPUT -d ! $localnet -m owner --gid-owner 31 -j squid_out
iptables -A squid_out -j ACCEPT
Т.е. я выпускаю все пакеты, владельцем которых является сквид. А как мне завернуть все INPUT пакеты со статусом ESTABLISHED, которые предназначаются сквиду?
iptables -A INPUT -m owner --gid-owner 31 -j squid_in - ругается
iptables: Invalid argument
У кого есть какие мысли? Дым от курения мана по iptables уже застилает глаза - возможно это там на поверхности лежит, я просто незамечаю...