Страница 1 из 1

Управление фаерволом.

СообщениеДобавлено: 22.07.2009 17:52:10
Sollomon
Народ помогите разработать идею или может ткните где-то почитать. Идея написать простейший биллинг - гемор, но нужно же как-то развиваться, писать калькуляторы уже надоело.
Ось Федора 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

Мне бы идейку подкинуть, как это все можно сделать. :oops:

Re: Управление фаерволом.

СообщениеДобавлено: 23.07.2009 14:14:02
Attid
клиент\сервер
клиент гуи. конектится через сокеты на сервер, сервер запускает скрипт.

Re: Управление фаерволом.

СообщениеДобавлено: 23.07.2009 14:16:45
Logo
С сокета снимаем трафик и разбираем его по пакетам. Каждый пакет, с конкретного интерфейса (eth0, eth1...), подсчитываем хоть по IP, хоть по MAC. Весь инструментарий fpc для этого имеет.

Если проще, то любым методом сваливаем трафик в файл, а после уже разбираем файл программой на fpc.

Успеха!