Ja wpisuje takie coś

:
#usuwamy zeby sie nie dublowaly (czyli w cronie je usuwamy i piszemy jeszcze raz)
$i -D INPUT -s $IP_LAN$2 -p tcp --dport 1:79 -j REJECT 2>/dev/null
$i -D INPUT -s $IP_LAN$2 -p tcp --dport 82:65535 -j REJECT 2>/dev/null
$i -D INPUT -s $IP_LAN$2 -p udp --dport 1:52 -j REJECT 2>/dev/null
$i -D INPUT -s $IP_LAN$2 -p udp --dport 54:65535 -j REJECT 2>/dev/null
$i -D FORWARD -s $IP_LAN$2 -p tcp --dport 1:79 -j REJECT 2>/dev/null
$i -D FORWARD -s $IP_LAN$2 -p tcp --dport 82:65535 -j REJECT 2>/dev/null
$i -D FORWARD -s $IP_LAN$2 -p udp --dport 1:52 -j REJECT 2>/dev/null
$i -D FORWARD -s $IP_LAN$2 -p udp --dport 54:65535 -j REJECT 2>/dev/null
$i -D PREROUTING -t nat -s $IP_LAN$2 -p tcp --dport 80 -j DNAT --to- 192.168.1.1:81
# a teraz dodajemy prawidlowe - blokowanie !
$i -I INPUT -s $IP_LAN$2 -p tcp --dport 1:79 -j REJECT 2>/dev/null
$i -I INPUT -s $IP_LAN$2 -p tcp --dport 82:65535 -j REJECT 2>/dev/null
$i -I INPUT -s $IP_LAN$2 -p udp --dport 1:52 -j REJECT 2>/dev/null
$i -I INPUT -s $IP_LAN$2 -p udp --dport 54:65535 -j REJECT 2>/dev/null
$i -I FORWARD -s $IP_LAN$2 -p tcp --dport 1:79 -j REJECT 2>/dev/null
$i -I FORWARD -s $IP_LAN$2 -p tcp --dport 82:65535 -j REJECT 2>/dev/null
$i -I FORWARD -s $IP_LAN$2 -p udp --dport 1:52 -j REJECT 2>/dev/null
$i -I FORWARD -s $IP_LAN$2 -p udp --dport 54:65535 -j REJECT 2>/dev/null
$i -A PREROUTING -t nat -s $IP_LAN$2 -p tcp --dport 80 -j DNAT --to- 192.168.1.1:81
(pewnie można to zrobić z ! przy liczbach - ale ja mam tak

)
czyli blokuje wszytko(oprócz 53,80,81) - nawiązane połączenia też i port 80 -> na 81 w nnd (stronka dla niepłacących)
Drugi skrypt to to samo tylko z literką -D
W php napisać prota funkcje która uruchamia skrypt po naciśnieciu (np exec() ), a w cronie co 5,10 min uruchamianie blokowania
Rozwiazanie z poszczegolnymi userami trzeba zrobić we własnym zakresie albo skrypt odczytuje kogo ma blokowac albo na sztywno wpisać numery IP...