Ось Федора 8.
Юзеры имеют некоторый авторизатор, при запуске авторизатора и нажимании кнопочки Подключиться срабатывает скрипт.
#!/bin/bash
ip=$2
iptables -t filter -D INPUT -s $ip -j QUEUE
iptables -t filter -D FORWARD -s $ip -j QUEUE
iptables -t filter -D FORWARD -d $ip -j QUEUE
iptables -t filter -D OUTPUT -d $ip -j QUEUE
iptables -t filter -I INPUT -s $ip -j QUEUE
iptables -t filter -I FORWARD -s $ip -j QUEUE
iptables -t filter -I FORWARD -d $ip -j QUEUE
iptables -t filter -I OUTPUT -d $ip -j QUEUE
iptables -t nat -D POSTROUTING -s $ip -o eth0 -j SNAT --to 172.17.1.2
iptables -t nat -A POSTROUTING -s $ip -o eth0 -j SNAT --to 172.17.1.2
Нажимаем кнопочку отключиться срабатывает другой скрипт, который отрабатывает правила.
#!/bin/bash
ip=$2
iptables -t filter -D INPUT -s $ip -j QUEUE
while [ $? -eq 0 ]
do
iptables -t filter -D INPUT -s $ip -j QUEUE
done
##################################
iptables -t filter -D FORWARD -s $ip -j QUEUE
while [ $? -eq 0 ]
do
iptables -t filter -D FORWARD -s $ip -j QUEUE
done
##################################
iptables -t filter -D FORWARD -d $ip -j QUEUE
while [ $? -eq 0 ]
do
iptables -t filter -D FORWARD -d $ip -j QUEUE
done
##################################
iptables -t filter -D OUTPUT -d $ip -j QUEUE
while [ $? -eq 0 ]
do
iptables -t filter -D OUTPUT -d $ip -j QUEUE
done
iptables -t nat -D POSTROUTING -s $ip -o eth0 -j SNAT --to 172.17.1.2
Мне бы идейку подкинуть, как это все можно сделать.