Скриптик для utm5_rfw при использовании iptables

Форум для размещения материалов по реализации различных схем использования ПО, решению частых проблем и предупреждению частых ошибок
mikkey finn
Сообщения: 1612
Зарегистрирован: Пт ноя 10, 2006 15:23

Сообщение mikkey finn »

а если подумать? Завести например таблицу номер 1, в нее заносить IP, которым разрешено ходить в интернет.
Включение интернет будет table 1 add UIP/UBITS
Отключение интернет будет table 1 delete UIP/UBITS
В скрипте запуска фаервола при старте системы добавить строку
ipfw add XXX allow ip from table\(1\) to any limit src-addr 100
ipfw add XXX allow ip from any to table\(1\)

Если у вас и так будут удваиваться правила фаервола, то у вас видимо особая сборка ipfw...

lancelot
Сообщения: 248
Зарегистрирован: Вс янв 23, 2005 16:28

Сообщение lancelot »

mikkey finn писал(а):а если подумать? Завести например таблицу номер 1, в нее заносить IP, которым разрешено ходить в интернет.
Включение интернет будет table 1 add UIP/UBITS
Отключение интернет будет table 1 delete UIP/UBITS
В скрипте запуска фаервола при старте системы добавить строку
ipfw add XXX allow ip from table\(1\) to any limit src-addr 100
ipfw add XXX allow ip from any to table\(1\)

Если у вас и так будут удваиваться правила фаервола, то у вас видимо особая сборка ipfw...
да как вы непоймете, что при каждом падении и поднятии ядра в любом случае нужно выполнить правило...
ipfw add XXX allow ip from table\(1\) to any limit src-addr 100
ipfw add XXX allow ip from any to table\(1\)

а если подений ядра было 20 раз!!!
вот и щитайте
ipfw add XXX allow ip from table\(1\) to any limit src-addr 100
ipfw add XXX allow ip from any to table\(1\)
+
ipfw add XXX allow ip from table\(1\) to any limit src-addr 100
ipfw add XXX allow ip from any to table\(1\)
+
ipfw add XXX allow ip from table\(1\) to any limit src-addr 100
ipfw add XXX allow ip from any to table\(1\)
и т.д.

Аватара пользователя
XoRe
Сообщения: 458
Зарегистрирован: Ср янв 10, 2007 16:04

Сообщение XoRe »

2lancelot:
Уважаемый, вы тупите )

ЭТО
ipfw add XXX allow ip from table\(1\) to any limit src-addr 100
ipfw add XXX allow ip from any to table\(1\)
В скрипт инициализации фаерволла (обычно /etc/rc.firewall).
То есть в тот скрипт, который запускается один раз при загрузке ОС FreeBSD, и прописывает все правила фаервольные.

А уже в rfw
вместо
ipfw add XXX allow ip from table\(1\) to any limit src-addr 100
ipfw add XXX allow ip from any to table\(1\)
прописать команды:
table 1 add UIP/UBITS
ну и соответственно на отключение инета
table 1 delete UIP/UBITS

В результате команды:
ipfw add XXX allow ip from table\(1\) to any limit src-addr 100
ipfw add XXX allow ip from any to table\(1\)
в фаерволле будут в одном экземпляре.

А добавление/удаление прав доступа на выход в интернет будет идти посредством удаления/добавления адресов в таблицу table 1.
А в таблице table дубликатов быть не может.

Ну а если при падении ядра у вас выполняется главный скрипт инициализации фаерволла, то вам ничего не мешает добавить в начало этого скрипта команду:
ipfw -f flush

Чтоб не дублировались правила.
Хотя она у вас там скорее всего есть и вы просто не догнали всей фишки использования таблиц.
Посему я и описал сий трюк с таблицами )

lancelot
Сообщения: 248
Зарегистрирован: Вс янв 23, 2005 16:28

Сообщение lancelot »

2XoRe:
Опппа... помоему точНА!!! перегрелся чуть-чуть...
Мыслю уловил.. буду пробовать.
По логике вижу 100% будет работать...

Спасибо! Всем!

lancelot
Сообщения: 248
Зарегистрирован: Вс янв 23, 2005 16:28

Сообщение lancelot »

2XoRe:

ну и последний вопрос касательно этой темы

limit src-addr 100 будет выполняться для всей таблицы в целом
или для каждого адреса из данной таблицы индивидуально?

Аватара пользователя
XoRe
Сообщения: 458
Зарегистрирован: Ср янв 10, 2007 16:04

Сообщение XoRe »

Я смею предположить, что для всей таблицы.

Хотя мне, если честно, вообще непонятен принцип работы сей опции:

limit {src-addr | src-port | dst-addr | dst-port} N
The firewall will only allow N connections with the same set of
parameters as specified in the rule. One or more of source and
destination addresses and ports can be specified. Currently,
only IPv4 flows are supported.

100 соединений одновременно или за какой-то период времени?
Если за период времени, то за какой?

lancelot
Сообщения: 248
Зарегистрирован: Вс янв 23, 2005 16:28

Сообщение lancelot »

скорее всего не за период времени а вобщем.
limit scr-adr это динамическое правило (как keep-state)
установил соединение не более 100 и пока соединение активно оно не исчезает, если соединение не активно то оно исчезает.

если limit src-adr будет действовать на таблицу в целом.. , то это плохо...! очч плохо

потому что нет возможности ограничить какой то конкретный IP адрес на количество соединений

а это начит, что если у какого то IP из данной таблицы заведется вирусня... то она забъет все свободные соединения для данной таблици и ниукого интернет работать не будет!

хотя если подумать то src-ard это адрес источника, в нашем случае ИП адрес из данной таблица, следовательно у всех разные адреса источников ИП..

поэтому логически можно предположить что на каждый ип адрес будет своя динамическая таблица, и все будет работать ОК

atdp03
Сообщения: 100
Зарегистрирован: Ср апр 26, 2006 09:24

Сообщение atdp03 »

limit src-addr работает применительно к каждому конкретному адресу из таблицы.
Помня что в таблицу можно запихнуть как 192.168.0.1, так и 192.168.0.0/24, я могу сделать смелое предположение что ограничение будет распространяться на каждую запись в таблице. В конце-концов /24 это тоже адрес. 8)

С записями /32 в таблицах, такая конструкция:
allow tcp from table(99) to any dst-port 25 limit src-addr 1
работает вполне успешно.

cjcrazy
Сообщения: 497
Зарегистрирован: Чт янв 20, 2005 21:54

Сообщение cjcrazy »

свои пятькопеек о скрипте-обертке для управления правилами огнестенки:
недавно несколько переделал скриптик включения-выключения и-нета пользователям.

в результате - для нескольких тысяч юзверей rfw отрабатывает все правила минут за пять, против 20-ти, в предыдущей вариации.

сам скриптик fw_ctl.sh:

Код: Выделить всё

#!/bin/sh                                                                                 
                                                                                          
log="/var/log/netup/fw_ctl.log"                                                           
iptables="/usr/sbin/iptables"                                                             
                                                                                          
del_user() {                                                                              
 $iptables -D fwd_in -i eth0.36 -d $1 -j fwd_in_ppp >/dev/null 2>/dev/null                
 err=`echo $?`                                                                            
# echo "deleting user: $1 res: $err" >> $log                                              
 while [ "0" -eq "$err" ]                                                                 
  do                                                                                      
   sleep 0.1                                                                              
   $iptables -D fwd_in -i eth0.36 -d $1 -j fwd_in_ppp >/dev/null 2>/dev/null              
   err=`echo $?`                                                                          
# echo "deleting user: $1 res: $err" >> $log                                              
  done                                                                                    
                                                                                          
 $iptables -D fwd_out -s $1 -j fwd_out_ppp >/dev/null 2>/dev/null                         
 err=`echo $?`                                                                            
# echo "deleting user: $1 res: $err" >> $log                                              
 while [ "0" -eq "$err" ]                                                                 
  do                                                                                      
   sleep 0.1                                                                              
   $iptables -D fwd_out -s $1 -j fwd_out_ppp >/dev/null 2>/dev/null                       
   err=`echo $?`                                                                          
# echo "deleting user: $1 res: $err" >> $log                                              
  done                                                                                    
}                                                                                         
                                                                                          
add_user() {                                                                              
 $iptables -A fwd_in -i eth0.36 -d $1 -j fwd_in_ppp >/dev/null 2>/dev/null                
 err=`echo $?`                                                                            
# echo "adding user: $1 res: $err" >> $log                                                
 while [ "0" -lt "$err" ]                                                                 
  do                                                                                      
   sleep 0.1                                                                              
   $iptables -A fwd_in -i eth0.36 -d $1 -j fwd_in_ppp >/dev/null 2>/dev/null              
   err=`echo $?`                                                                          
# echo "adding user: $1 res: $err" >> $log                                                
  done                                                                                    
                                                                                          
 $iptables -A fwd_out -s $1 -j fwd_out_ppp >/dev/null 2>/dev/null                         
 err=`echo $?`                                                                            
# echo "adding user: $1 res: $err" >> $log                                                
 while [ "0" -lt "$err" ]                                                                 
  do                                                                                      
   sleep 0.1                                                                              
   $iptables -A fwd_out -s $1 -j fwd_out_ppp >/dev/null 2>/dev/null                       
   err=`echo $?`                                                                          
# echo "adding user: $1 res: $err" >> $log                                                
  done                                                                                    
}                                                                                         
                                                                                          
                                                                                          
if [ "$1" == "off" ]; then {                                                              
 del_user $2                                                                              
                                                                                          
}                                                                                         
elif [ "$1" == "on" ]; then {                                                             
#удаление возможных дублей                                                          
 del_user $2                                                                              
#добавление                                                                            
 add_user $2                                                                              
                                                                                          
}                                                                                         
                                                                                          
fi                                                                                        
в скриптике нет защиты "от дурака": нет проверки на существование переменной $2, да и обработку $1 можно было сделать иначе. также, идет жесткая привязка ко входящему интерфейсу. надо либо вынести в отдельную переменную, либо вообще убрать.
в циклах убиения повторяющихся записей выполняется задержка в 0,1 секунду, которая подобрана, фактически, эмперическим путем (ага, работает с этим значением.. а если поставтиь ещё меньше...?). если задержку саавсем открутить - возможны сообщения от iptables о том, что оно не может выполнить операцию.

немнога о правилах в iptables:

в FORWARD транзитный трафик от пользователей перекидывается в соответствующие цепочки:
$IPTABLES -A FORWARD -p ALL -d $PPPOE_IP_RANGE_EXT -j fwd_in
$IPTABLES -A FORWARD -p ALL -s $PPPOE_IP_RANGE_EXT -j fwd_out

fwd_in и fwd_out как раз разрешают пользователям выползать в и-нет, перекидывая пользователей в цепочки fwd_out_ppp и fwd_in_ppp, содержат правила типа:
$iptables -A fwd_in -i <i-iface> -d <userip> -j fwd_in_ppp
и
$iptables -A fwd_out -s <userip> -j fwd_out_ppp

в fwd_out_ppp и fwd_in_ppp закручена хитромудрая логика по снятию данных о проходящем трафике

+запущен ipcad с соответствующими настройками.

в биллинге:
настройки -> правила firewall:
благодаря "хитрому" скрипту fw_ctl.sh получили возможность использовать саавсем простые правила, типа (без ковычек):
включение:
"on UIP/UBITS"
выключение:
"off UIP/UBITS"

ну и маленькая добавочка:
/netup/utm5/rfw5.cfg
параметр:
firewall_path=/netup/utm5/bin/fw_ctl.sh
+добавочка в /etc/sudoers (если rfw крутится без прав root`а):
netup <hostname> = NOPASSWD: /netup/utm5/bin/fw_ctl.sh

Han_s
Сообщения: 21
Зарегистрирован: Чт июн 28, 2007 09:55

Сообщение Han_s »

у нас в качестве шлюза выступает nix машинко, доступ открывается\закрывается посредством FORWARD в iptables

час назад столкнулся с траблом- rfw начал добавлять кучу правил на открытие и одно на закрытие =) в следствии чего у кучи народа инет не выключался а для нас это критично...

вобщем "на коленке" накидал такой скриптик- на гениальность не претендую, но работает вроде, может кому понадобится:

есть конечно много сомнительных строк, но вроде пашет =)

Код: Выделить всё

add_log=/var/log/netup/iptables-add.log
remove_log=/var/log/netup/iptables-remove.log
limit=10
a=0


#DELETE iptables RULE#######################################################

if &#91; $1 == "-D" &#93;; then

    echo "+---- Get remove request&#58; $1 $2 $3 $4 $5 $6">>$remove_log
    # make IP from IP/Mask

    ip=$&#123;4%*/*&#125;
    flag=$&#123;3#*-*&#125;
    echo "Make IP from UIP/UBITS&#58; $ip">>$remove_log

    /sbin/iptables-save | grep $ip | grep $flag | while read rule

        do
        echo "Apply deleting rule&#58; $1 $2 $3 $4 $5 $6">>$remove_log
        /sbin/iptables $1 $2 $3 $4 $5 $6
        done

    echo "+--- Request&#58; $1 $2 $3 $4 $5 $6 Finished">>$remove_log
    echo "">>$remove_log

fi

#ADD NEW RULE################################################################

if &#91; $1 == "-A" &#93;; then

    echo "+---- Get add request&#58; $1 $2 $3 $4 $5 $6">>$add_log

    # make IP from IP/Mask

    ip=$&#123;4%*/*&#125;
    flag=$&#123;3#*-*&#125;
    echo "Make IP from UIP/UBITS&#58; $ip">>$add_log

    count=$&#40;/sbin/iptables-save | grep $ip | grep $flag  | wc -l&#41;

    echo "Already found $count rules.">>$add_log

    if &#91; "$count" -le "0" &#93;
        then
        /sbin/iptables $1 $2 $3 $4 $5 $6
        echo "Apply  rule $1 $2 $3 $4 $5 $6">>$add_log
        fi


    echo "Try to find rule in iptables...">>$add_log

    while &#91; $a -le "$limit" &#93;
        do
        a=$&#40;&#40;$a+1&#41;&#41;

        count=$&#40;/sbin/iptables-save | grep $ip | grep $flag  | wc -l&#41;


        if &#91; "$count" -gt "0" &#93;
            then
             echo "pass &#40;$a&#41; found $count matches...">>$add_log
             break
            fi

        echo "pass &#40;$a&#41; not found, lets do it again">>$add_log
        /sbin/iptables $1 $2 $3 $4 $5 $6
        echo "Apply rule $1 $2 $3 $4 $5 $6">>$add_log
        done

    echo "+--- Request&#58; $1 $2 $3 $4 $5 $6 Finished">>$add_log


    echo "">>$add_log

fi

exit 0


Han_s
Сообщения: 21
Зарегистрирован: Чт июн 28, 2007 09:55

Сообщение Han_s »

итить =)))) только скриптик запустил сразу косяк нашел ))))


при добавлении правил строка:

Код: Выделить всё

count=$&#40;/sbin/iptables-save | grep $ip | grep $flag  | wc -l&#41; 
благодаря грепу считает что к примеру 192.168.6.55 и 192.168.6.5 одно и тоже =)

релшил добавив пробел к конце грепа-

Код: Выделить всё

count=$&#40;/sbin/iptables-save | grep "$ip " | grep $flag  | wc -l&#41; 
кто тут спец в баше? как сделать покрасивше?

cjcrazy
Сообщения: 497
Зарегистрирован: Чт янв 20, 2005 21:54

Сообщение cjcrazy »

попробуйте grep -w

mikkey finn
Сообщения: 1612
Зарегистрирован: Пт ноя 10, 2006 15:23

Сообщение mikkey finn »

grep -с сразу посчитает. Я так количество PPTP-клиентов считаю на bsd

pazke
Сообщения: 2
Зарегистрирован: Чт янв 08, 2009 17:42
Откуда: Ростов-на-Дону

Добавлю и я свои пять копеек

Сообщение pazke »

Я проблему дублирования правил решил так:

- ставим ipset http://ipset.netfilter.org/
- создаем ipset -N BLOCKED iphash
- добавляем правила для блокирования траффика:
iptables -A FORWARD -m set --set BLOCKED dst -j REJECT --reject-with icmp-admin-prohibited
iptables -A FORWARD -m set --set BLOCKED src -j REJECT --reject-with icmp-admin-prohibited
- в rfw5.cfg правим firewall_path=/usr/sbin/ipset
- в админке добавляем правило файрвола: включение: -D BLOCKED UIP, выключение: -A BLOCKED UIP

И все, проблемы больше не существует.

Аватара пользователя
nops
Сообщения: 48
Зарегистрирован: Пн фев 09, 2009 13:05

Сообщение nops »

Давайте всё таки вернёмся к теме "IPTABLES"!

У меня пользователи выходят в интернет по средству цепочки POSTROUTING в таблице *nat

Примерно так:

Код: Выделить всё

-A POSTROUTING -s 192.168.0.10 -o eth0 -j SNAT --to-source 80.х.х.х
В "правила фаервола" в utm_Admin прописываю следующее:

Код: Выделить всё

iptables -t nat -A POSTROUTONG -s UIP -o eth0 SNAT --to-source 80.x.x.x
в результате в логе написано:
rfw.log

Код: Выделить всё

 Info  &#58; Apr 14 04&#58;01&#58;48 UTM5 Logger&#58; New ` Info  &#58; ' stream&#58; /netup/utm5/log/rfw.log
 Info  &#58; Apr 14 04&#58;01&#58;48 UTM5 Logger&#58; New `?Debug &#58; ' stream&#58; /netup/utm5/log/rfw.log
 Info  &#58; Apr 14 04&#58;01&#58;48 UTM5 Logger&#58; New `?Debug &#58; ' stream&#58; /netup/utm5/log/rfw.log
 Info  &#58; Apr 14 04&#58;01&#58;48 StreamConnection&#58; Connection thread started. Peer 127.0.0.1&#58;11758
 Info  &#58; Apr 14 04&#58;01&#58;48 StreamConnection&#58; Connection thread started. Peer 127.0.0.1&#58;11758
 ERROR &#58; Apr 14 04&#58;01&#58;48 StreamConnection&#58; Unable to maintain connection. Error code <22>
 ERROR &#58; Apr 14 04&#58;01&#58;48 StreamConnection&#58; Unable to maintain connection. Error code <22>
 Info  &#58; Apr 14 04&#58;01&#58;48 StreamConnection&#58; Connection from 127.0.0.1&#58;11758 closed
 Info  &#58; Apr 14 04&#58;01&#58;48 StreamConnection&#58; Connection from 127.0.0.1&#58;11758 closed
 ERROR &#58; Apr 14 04&#58;01&#58;48 StreamManager&#58; set_auth&#58; connection closed
 ERROR &#58; Apr 14 04&#58;01&#58;48 StreamManager&#58; set_auth&#58; connection closed
*CRIT  &#58; Apr 14 04&#58;01&#58;48 RFW Config&#58; Unable to login, check you configuration file settings
*CRIT  &#58; Apr 14 04&#58;01&#58;48 RFW Config&#58; Unable to login, check you configuration file settings
*CRIT  &#58; Apr 14 04&#58;01&#58;48 RFW Config&#58; Unable to login, check you configuration file settings
 Notice&#58; Apr 14 04&#58;01&#58;48 RFW Config&#58; Pid file found&#58; /var/run/utm5_rfw.pid; Overwriting
 Notice&#58; Apr 14 04&#58;01&#58;48 RFW Config&#58; Pid file found&#58; /var/run/utm5_rfw.pid; Overwriting
-Stats &#58; Apr 14 04&#58;01&#58;48 StreamManager&#58; 	Stats&#58; Uptime&#58; 00&#58;00&#58;00. Events&#58; 0; Errors&#58; 0
rfw5.log

Код: Выделить всё

 Info  &#58; Apr 14 04&#58;01&#58;48 StreamManager&#58; Registering message handlers..
 Info  &#58; Apr 14 04&#58;01&#58;48 StreamManager&#58; ID <0x4003> handler <0x09be25a8>
 Info  &#58; Apr 14 04&#58;01&#58;48 StreamManager&#58; ID <0x4000> handler <0x09be25a8>
 Info  &#58; Apr 14 04&#58;01&#58;48 StreamManager&#58; ID <0x4001> handler <0x09be25a8>
 Info  &#58; Apr 14 04&#58;01&#58;48 StreamManager&#58; ID <0x4004> handler <0x09be25a8>
 Info  &#58; Apr 14 04&#58;01&#58;48 StreamManager&#58; ID <0x4002> handler <0x09be25a8>
 Notice&#58; Apr 14 04&#58;01&#58;48 UTM5 RFW&#58; Version 5.2.1-005-rhel5 starting
 Notice&#58; Apr 14 04&#58;01&#58;48 RFW Config&#58; Processing config file&#58; /netup/utm5/rfw5.cfg
 Info  &#58; Apr 14 04&#58;01&#58;48 UTM5 Logger&#58; New `*CRIT  &#58; ' stream&#58; /netup/utm5/log/rfw.log
 Info  &#58; Apr 14 04&#58;01&#58;48 UTM5 Logger&#58; New ` Info  &#58; ' stream&#58; /netup/utm5/log/rfw.log
main.log

Код: Выделить всё

 ERROR &#58; Apr 14 03&#58;41&#58;08 ModFWMan&#58; No info for FW 1 found
 ERROR &#58; Apr 14 03&#58;42&#58;06 ModFWMan&#58; No info for FW 1 found
 ERROR &#58; Apr 14 03&#58;50&#58;52 ModFWMan&#58; No info for FW 1 found
 ERROR &#58; Apr 14 03&#58;50&#58;55 ModFWMan&#58; No info for FW 1 found
 ERROR &#58; Apr 14 03&#58;51&#58;47 ModFWMan&#58; No info for FW 1 found
 ERROR &#58; Apr 14 03&#58;51&#58;53 ModFWMan&#58; No info for FW 1 found 
debug.log

Код: Выделить всё

?Debug &#58; Apr 14 03&#58;51&#58;47 RPCConn<init@192.168.0.5>&#58; Stream cleared
?Debug &#58; Apr 14 03&#58;51&#58;53 RPCConn<init@192.168.0.5>&#58; Call&#58; 0x2003 &#40;rpcf_change_intstat_for_user&#41;
?Debug &#58; Apr 14 03&#58;51&#58;53 RPCConn<init@192.168.0.5>&#58; Real Call&#58; 0x2003 &#40;rpcf_change_intstat_for_user&#41;
?Debug &#58; Apr 14 03&#58;51&#58;53 DBCtx&#58; SQL query&#58; UPDATE accounts SET int_status='1' WHERE id='1'
?Debug &#58; Apr 14 03&#58;51&#58;53 BusLogic&#58; BLM&#40;39&#41; pushed &#40;comment&#58; &#41; 
?Debug &#58; Apr 14 03&#58;51&#58;53 UTM5 DBA&#58; hw unblock for account 1
?Debug &#58; Apr 14 03&#58;51&#58;53 RPCConn<init@192.168.0.5>&#58; Call 0x2003 &#40;rpcf_change_intstat_for_user&#41; finished...
?Debug &#58; Apr 14 03&#58;51&#58;53 RPCConn<init@192.168.0.5>&#58; Stream cleared
?Debug &#58; Apr 14 03&#58;51&#58;53 BusLogic&#58; try to execute 39
?Debug &#58; Apr 14 03&#58;51&#58;53 BusLogic&#58; hw_block_handler with code 39
?Debug &#58; Apr 14 03&#58;51&#58;53 BusLogic&#58; hw_block_handler start bla_user_hw_unblock|bla_user_hw_block
?Debug &#58; Apr 14 03&#58;51&#58;53 DBCtx&#58; SQL SELECT query&#58; SELECT is_for_all, uid, group_id, tariff_id, rule_on, rule_off, rule_block, router_id, and_logic, add_user, edit_user, del_user FROM firewall_rules WHERE is_deleted='0'
?Debug &#58; Apr 14 03&#58;51&#58;53 UTM5 DBA&#58; Rule on <iptables -t nat -A POSTROUTONG -s UIP -o eth0 SNAT --to-source 80.x.x.x> off <iptables -t nat -A POSTROUTONG -s UIP -o eth0 DROP --to-source 80.x.x.x>. User check <1> tariffs check <0> groups check <0>. And logic <enabled>
?Debug &#58; Apr 14 03&#58;51&#58;53 UTM5 DBA&#58; Rule added to final list!
?Debug &#58; Apr 14 03&#58;51&#58;53 ModFWMan&#58; Ready to execute 1 FW rules for UID 1. State&#58;1...
?Debug &#58; Apr 14 03&#58;51&#58;53 ModFWMan&#58; FW rule parse. Setting RULE_ID to <5001> uid <1>
?Debug &#58; Apr 14 03&#58;51&#58;53 DBA&#58;Ctx&#58; Looking for free context
?Debug &#58; Apr 14 03&#58;51&#58;53 DBCtx&#58; SQL SELECT query&#58; SELECT 		login, 		password, 		basic_account, 		is_blocked, 		create_date, 		last_change_date, 		who_create, 		who_change, 		is_juridical, 		full_name, 		juridical_address, 		actual_address, 		work_telephone, 		home_telephone, 		mobile_telephone, 		web_page, 		icq_number, 		tax_number, 		kpp_number, 		bank_id, 		bank_account, 		comments, 		discount_period_id, 		email, 		house_id, 		flat_number, 		entrance, 		floor, 		district, 		building, 		passport, 		personal_manager, 		connect_date, 		is_send_invoice, 		advance_payment 		FROM users WHERE id='1' AND is_deleted=0
?Debug &#58; Apr 14 03&#58;51&#58;53 DBCtx&#58; SQL SELECT query&#58; SELECT group_id FROM users_groups_link WHERE user_id='1'
?Debug &#58; Apr 14 03&#58;51&#58;53 DBCtx&#58; SQL SELECT query&#58; SELECT paramid, value FROM user_additional_params WHERE userid='1'
?Debug &#58; Apr 14 03&#58;51&#58;53 DBCtx&#58; SQL SELECT query&#58; SELECT group_name FROM groups WHERE id='1'
?Debug &#58; Apr 14 03&#58;51&#58;53 DBCtx&#58; SQL SELECT query&#58; SELECT remote_switch_id, port_number FROM users  WHERE id='1'
?Debug &#58; Apr 14 03&#58;51&#58;53 ModFWMan&#58; FW rule parse. Substituting ACCOUNT_ID with value <1> original value <0>
?Debug &#58; Apr 14 03&#58;51&#58;53 ModFWMan&#58; FW rule parse. Substituting empty ULOGIN with value <nops>
?Debug &#58; Apr 14 03&#58;51&#58;53 ModFWMan&#58; FW rule parse. Substituting UBITS with value <32> original value <-1>
?Debug &#58; Apr 14 03&#58;51&#58;53 ModFWMan&#58; FW rule parse. Substituting EMAIL with value <> &#40;obtained from user data&#41;
?Debug &#58; Apr 14 03&#58;51&#58;53 ModFWMan&#58; FW rule parse. Substituting TRAFFIC_LIMIT with value <0>
?Debug &#58; Apr 14 03&#58;51&#58;53 DBA&#58;Ctx&#58; Pushing back free context
-Stats &#58; Apr 14 03&#58;51&#58;53 DBA Groups&#58; 	Stats&#58; Uptime&#58; 00&#58;00&#58;00. Events&#58; 0; Errors&#58; 0
?Debug &#58; Apr 14 03&#58;51&#58;53 ModFWMan&#58; Exec &#91;iptables -t nat -A POSTROUTONG -s 192.168.0.5 -o eth0 SNAT --to-source 80.x.x.x&#93; on 1
 ERROR &#58; Apr 14 03&#58;51&#58;53 ModFWMan&#58; No info for FW 1 found
?Debug &#58; Apr 14 03&#58;51&#58;53 BusLogic&#58; hw_block_handler end bla_user_hw_unblock|bla_user_hw_block
?Debug &#58; Apr 14 03&#58;51&#58;53 BusLogic&#58; finished unknown
?Debug &#58; Apr 14 03&#58;51&#58;53 RPCConn<init@192.168.0.5>&#58; Call&#58; 0x2011 &#40;rpcf_get_users_count&#41;
?Debug &#58; Apr 14 03&#58;51&#58;53 RPCConn<init@192.168.0.5>&#58; Real Call&#58; 0x2011 &#40;rpcf_get_users_count&#41;
?Debug &#58; Apr 14 03&#58;51&#58;53 RPCConn<init@192.168.0.5>&#58; Call 0x2011 &#40;rpcf_get_users_count&#41; finished...
?Debug &#58; Apr 14 03&#58;51&#58;53 RPCConn<init@192.168.0.5>&#58; Stream cleared
?Debug &#58; Apr 14 03&#58;51&#58;53 RPCConn<init@192.168.0.5>&#58; Call&#58; 0x2400 &#40;rpcf_get_groups_list&#41;
?Debug &#58; Apr 14 03&#58;51&#58;53 RPCConn<init@192.168.0.5>&#58; Real Call&#58; 0x2400 &#40;rpcf_get_groups_list&#41;
?Debug &#58; Apr 14 03&#58;51&#58;53 DBA&#58;Ctx&#58; Looking for free context
?Debug &#58; Apr 14 03&#58;51&#58;53 DBCtx&#58; SQL SELECT query&#58; SELECT id, group_name FROM groups
?Debug &#58; Apr 14 03&#58;51&#58;53 DBA&#58;Ctx&#58; Pushing back free context
-Stats &#58; Apr 14 03&#58;51&#58;53 DBA Groups&#58; 	Stats&#58; Uptime&#58; 00&#58;00&#58;00. Events&#58; 0; Errors&#58; 0
?Debug &#58; Apr 14 03&#58;51&#58;53 RPCConn<init@192.168.0.5>&#58; Call 0x2400 &#40;rpcf_get_groups_list&#41; finished...
?Debug &#58; Apr 14 03&#58;51&#58;53 RPCConn<init@192.168.0.5>&#58; Stream cleared
?Debug &#58; Apr 14 03&#58;51&#58;53 RPCConn<init@192.168.0.5>&#58; Call&#58; 0x2001 &#40;rpcf_get_users_list&#41;
?Debug &#58; Apr 14 03&#58;51&#58;53 RPCConn<init@192.168.0.5>&#58; Real Call&#58; 0x2001 &#40;rpcf_get_users_list&#41;
?Debug &#58; Apr 14 03&#58;51&#58;53 RPCConn<init@192.168.0.5>&#58; Call 0x2001 &#40;rpcf_get_users_list&#41; finished...
?Debug &#58; Apr 14 03&#58;51&#58;53 RPCConn<init@192.168.0.5>&#58; Stream cleared
?Debug &#58; Apr 14 03&#58;51&#58;54 RPCConn<init@192.168.0.5>&#58; Call&#58; 0x2011 &#40;rpcf_get_users_count&#41;
?Debug &#58; Apr 14 03&#58;51&#58;54 RPCConn<init@192.168.0.5>&#58; Real Call&#58; 0x2011 &#40;rpcf_get_users_count&#41;
?Debug &#58; Apr 14 03&#58;51&#58;54 RPCConn<init@192.168.0.5>&#58; Call 0x2011 &#40;rpcf_get_users_count&#41; finished...
?Debug &#58; Apr 14 03&#58;51&#58;54 RPCConn<init@192.168.0.5>&#58; Stream cleared
?Debug &#58; Apr 14 03&#58;51&#58;54 RPCConn<init@192.168.0.5>&#58; Call&#58; 0x2400 &#40;rpcf_get_groups_list&#41;
?Debug &#58; Apr 14 03&#58;51&#58;54 RPCConn<init@192.168.0.5>&#58; Real Call&#58; 0x2400 &#40;rpcf_get_groups_list&#41;
?Debug &#58; Apr 14 03&#58;51&#58;54 DBA&#58;Ctx&#58; Looking for free context
?Debug &#58; Apr 14 03&#58;51&#58;54 DBCtx&#58; SQL SELECT query&#58; SELECT id, group_name FROM groups
?Debug &#58; Apr 14 03&#58;51&#58;54 DBA&#58;Ctx&#58; Pushing back free context
-Stats &#58; Apr 14 03&#58;51&#58;54 DBA Groups&#58; 	Stats&#58; Uptime&#58; 00&#58;00&#58;00. Events&#58; 0; Errors&#58; 0
?Debug &#58; Apr 14 03&#58;51&#58;54 RPCConn<init@192.168.0.5>&#58; Call 0x2400 &#40;rpcf_get_groups_list&#41; finished...
?Debug &#58; Apr 14 03&#58;51&#58;54 RPCConn<init@192.168.0.5>&#58; Stream cleared
?Debug &#58; Apr 14 03&#58;51&#58;55 RPCConn<init@192.168.0.5>&#58; Call&#58; 0x2001 &#40;rpcf_get_users_list&#41;
?Debug &#58; Apr 14 03&#58;51&#58;55 RPCConn<init@192.168.0.5>&#58; Real Call&#58; 0x2001 &#40;rpcf_get_users_list&#41;
?Debug &#58; Apr 14 03&#58;51&#58;55 RPCConn<init@192.168.0.5>&#58; Call 0x2001 &#40;rpcf_get_users_list&#41; finished...
?Debug &#58; Apr 14 03&#58;51&#58;55 RPCConn<init@192.168.0.5>&#58; Stream cleared
IP-шник я конечно спрятал.
поглядите пожалуйста, может я что-то неправильно сделал?

Заранее благодарен!

Закрыто