Перейти до

нужна помощь - авторизатор не добавляет правила в файервол


Рекомендованные сообщения

Подскажите в чем бок.

 

при авторизации не изменяются правила файервола, пайпы создаются, но весь трафик блочится, спасает только - allow all any to any

 

в чем может быть проблема?

 

ось FREEBSD 7.0

 

сервер

post-11557-1232408258_thumb.jpg

Ссылка на сообщение
Поделиться на других сайтах

Покажи полное содержание файлов - скриптов подключения и отключения. Прописан ли интерпретатор в начало каждого файла ?

Ссылка на сообщение
Поделиться на других сайтах
Покажи полное содержание файлов - скриптов подключения и отключения. Прописан ли интерпретатор в начало каждого файла ?

 

 

FREEBitgw1# cat OnConnect
#!/usr/local/bin/php
<?php
$fwcmd="/sbin/ipfw "; //Путь к фаерволлу
$login=$argv[1];
$ID=$argv[4];
$id1=($ID*5+10001);
$id2=($ID*5+10002);
$id3=($ID*5+10003);
$id4=($ID*5+10004);
$id5=($ID*5+10005);
mysql_connect('localhost', ); //Настройки БД
mysql_select_db('stargazer');
$q=mysql_query("SELECT `Note`, `IP`, `Tariff` FROM `users` WHERE `login`='$login'");
$arr=mysql_fetch_array($q, MYSQL_ASSOC);
$IP=$arr[IP];
$tariffspeed=explode("-", $arr[Tariff]);
$downstream="$tariffspeed[1]Kbit/s";
$upstream = $tariffspeed[2];
$upst=explode(".", $upstream);
$upstream="$upst[0]Kbit/s";
shell_exec("$fwcmd pipe $id1 config bw $downstream");
shell_exec("$fwcmd pipe $id2 config bw $upstream ");
shell_exec("$fwcmd add $id3 pipe $id2 all from $IP to any > /dev/null &");
shell_exec("$fwcmd add $id4 pipe $id1 all from any to $IP > /dev/null &");

?>

 

FREEBitgw1# cat OnDisconnect
#!/usr/local/bin/php
<?php
$fwcmd="/sbin/ipfw "; //Путь к фаерволлу
$login=$argv[1];
$ID=$argv[4];
$id1=($ID*5+10001);
$id2=($ID*5+10002);
$id3=($ID*5+10003);
$id4=($ID*5+10004);
mysql_connect('localhost', ); //Настройки БД
mysql_select_db('stargazer');
$q=mysql_query("SELECT `Note`, `IP`, `Tariff` FROM `users` WHERE `login`='$login'");
$arr=mysql_fetch_array($q, MYSQL_ASSOC);
$IP=$arr[IP];
shell_exec("$fwcmd pipe del $id1 >> /dev/null");
shell_exec("$fwcmd pipe del $id2 >> /dev/null");
shell_exec("$fwcmd del $id3 >> /dev/null");
shell_exec("$fwcmd del $id4 >> /dev/null");
?>

Ссылка на сообщение
Поделиться на других сайтах
Если в консоли руками выполнить скрипт, он будет выполняться ?

 

 

подскажите, а с какими параметрами скрипт пускать?

 

а то...

 

FREEBitgw1# /etc/stargazer/OnConnect

ipfw: missing dst address
FREEBitgw1# ipfw: hostname ``to'' unknown

Ссылка на сообщение
Поделиться на других сайтах

Если пайпы создаются, а трафик перестает бегать - значит смотри на пайпы. Должно быть какая-то ошибка в командах создания пайпа.

 

Можешь бросить вывод ipfw show | less ?

Ссылка на сообщение
Поделиться на других сайтах
Если пайпы создаются, а трафик перестает бегать - значит смотри на пайпы. Должно быть какая-то ошибка в командах создания пайпа.

 

Можешь бросить вывод ipfw show | less ?

 

не совсем так....

 

до пайпов не доходит

 

правила с 200 по 300 уже вручную добавлял... ибо без разрешения allow any to any, инет ни у кого не пашет, добавил его, а потом вручную пайпы, чтобы канал совсем не упал

 

при авторизации inetaccess-ом, скрипт не создает правила для пользователя разрешающие, хотя авторизатор светится зелененьким

 

FREEBitgw1# ipfw show | less
00010 124037966 126384433417 allow ip from any to me via tun0
00011		 0			0 allow tcp from any to me dst-port 22 in recv tun0
00012		 0			0 allow tcp from any to me dst-port 5555 in recv tun0
00020	116869	  7356754 allow udp from any to me dst-port 53 in recv msk0
00021	114057	 25575132 allow udp from me 53 to any out xmit msk0
00200   4879689   4647474230 pipe 200 ip from any to 10.10.2.1
00201  16129804  18044040246 pipe 201 ip from any to 10.10.2.2
00202   3852364   4955163305 pipe 202 ip from any to 10.10.2.4
00203  16665419  17016295772 pipe 203 ip from any to 10.10.2.5
00204   4804241   5431572283 pipe 204 ip from any to 10.10.2.7
00205   6098930   6714038709 pipe 205 ip from any to 10.10.2.11
00206   7063311   6926588620 pipe 206 ip from any to 10.10.2.17
00207   5457481   4723337643 pipe 207 ip from any to 10.10.4.8
00208   4218377   5491142463 pipe 208 ip from any to 10.10.3.10
00209		 0			0 pipe 209 ip from any to 10.10.2.7
00210   1034653	822036257 pipe 210 ip from any to 10.10.2.30
00211	660153	723164097 pipe 211 ip from any to 10.10.2.26
00212	 76529	 46227039 pipe 212 ip from any to 10.10.2.12
00213	627046	845929252 pipe 213 ip from any to 10.10.2.14
00214   9827753   6109352122 pipe 214 ip from any to 10.10.2.8
00215		 0			0 pipe 215 ip from any to 10.10.2.6
00216	541318	583915946 pipe 216 ip from any to 10.10.2.13
00217   3792974   3475291422 pipe 217 ip from any to 10.10.2.9
00218   1296126   1573434577 pipe 218 ip from any to 10.10.2.35
00219	406312	552556178 pipe 219 ip from any to 10.10.2.21
00220   1769491   1960539370 pipe 220 ip from any to 10.10.2.37
00231   3083583   4484706480 pipe 231 ip from any to 10.10.3.1
00232	103283	 87266801 pipe 232 ip from any to 10.10.3.2
00233	684116	897777063 pipe 233 ip from any to 10.10.3.3
00234   1392902   1913216612 pipe 234 ip from any to 10.10.3.4
00235	111404	122349741 pipe 235 ip from any to 10.10.3.5
00236	775332   1088362335 pipe 236 ip from any to 10.10.3.6
00237	 24654	 32661458 pipe 237 ip from any to 10.10.3.7
00238		 0			0 pipe 238 ip from any to 10.10.3.8
00300 223746852  83503396729 allow ip from any to any
00306	   743		58094 allow ip from 10.10.4.4,10.10.3.10 to any
00307	   531	   164103 allow ip from any to 10.10.4.4,10.10.3.10
00308	   313		28796 allow udp from any to 10.10.1.1 dst-port 5555 via msk0
00309	   336	   136584 allow udp from 10.10.1.1 to any via msk0
05566		24		19212 allow ip from any to any via lo0
05570		 0			0 allow ip from any 5555 to any
05570		 0			0 allow ip from any to any dst-port 5555
10003		 0			0 pipe 10002 ip from 10.10.3.10 to any
10004		 0			0 pipe 10001 ip from any to 10.10.3.10
10008		 0			0 pipe 10007 ip from 10.10.2.1 to any
10009		 0			0 pipe 10006 ip from any to 10.10.2.1
10013		 0			0 pipe 10012 ip from 10.10.2.2 to any
10014		 0			0 pipe 10011 ip from any to 10.10.2.2
10028		 0			0 pipe 10027 ip from 10.10.2.5 to any

Ссылка на сообщение
Поделиться на других сайтах

Читаем документацию в комплекте с сервером:

 

Скрипт OnConnect исполняется в тот момент, когда система произвела аутентификацию клиента и проверила остаток средств на его счете. В данном скрипте должны (могут) быть написаны правила фаервола для разрешения клиенту доступа в сеть. В скрипт передаются следующие параметры (по порядку): 1) логин клиента, 2) IP адрес клиента, 3) количество денег на счету, 4) уникальный целочисленный идентификатор пользователя, 5) список направлений, которые выбрал пользователь при подключении.

Скрипт OnDisconnect исполняется в момент, когда клиент производит отключение от сервера (т. е. нажимает кнопку «Отключиться» в авторизаторе) или же сервер сам отключает клиента в связи с тайм аутом или иными причинами. В данном скрипте должны (могут) быть написаны правила фаервола для запрещения клиенту доступа в сеть. В скрипт передаются следующие параметры (по порядку): 1) логин клиента, 2) IP адрес клиента, 3) количество денег на счету, 4) уникальный целочисленный идентификатор пользователя, 5) список направлений, которые выбрал пользователь при подключении.

 

Т.е. выполняем примерно так: ./OnConnect user_login 192.168.1.20 49.6954969 102 1111111111

Ссылка на сообщение
Поделиться на других сайтах
  • 2 weeks later...

А где в OnConnect нечто вида ipfw add xxx allow ip from $user_ip to any?

 

В пайпах кстати тоже кошерно указывать "queue сколько" и "via кудой" что ибо будут артефакты в будущем.

Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Вхід

Уже зарегистрированы? Войдите здесь.

Войти сейчас
  • Зараз на сторінці   0 користувачів

    Немає користувачів, що переглядають цю сторінку.

×
×
  • Створити нове...