Есть vpn под mpd.
К нему цепляется клиент, при логон-логофф которого скриптом поднимаются-опускаются правила.
Пример из жизни:
11537 0 0 pipe 128 log logamount 1000 ip from any to any out xmit ng4
11537 18 1084 pipe 64 log logamount 1000 ip from any to any in recv ng4
21537 588 212670 allow log logamount 1000 tcp from 192.168.94.52 to any limit src-addr 10
21537 8 626 allow log logamount 1000 tcp from any to 192.168.94.52 limit dst-addr 10
Содержимое /var/log/security подтверждает что в первый пайп пакеты не попадают.
Шаманства вида
/sbin/ipfw add $rulenum pipe $uppipe ip from any to $client_ip in (via $client_iface) требуемого эффекта не дают.
Не могу понять где собака порылась.
ЗЫЖ Разумеется ipfirewall, dummynet в ядре есть, пайпы есть.