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

STG-2.405 скрипты

Добавлено: 2009-06-22 12:07:40
Sun
Не могу понять в чем проблема есть такой скрипт:

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

#!/bin/sh
fwcmd="/sbin/ipfw -q"
IP=$2
ID=$4

${fwcmd} add `expr $ID '*' 10 + 8000` allow ip from $IP to any
echo "C `date +%Y.%m.%d-%H.%M.%S` $IP $CASH" >> /var/stargazer/users/$LOGIN/connect.log
при этом ipfw пишет такое

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

./OnConnect
expr: syntax error
ipfw: hostname ``to'' unknown
при этом в /var/stargazer/users/$LOGIN/connect.log исправно пишутся все данные переменных :

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

C 2009.06.22-15.42.25 192.168.0.100 2000.000000
D 2009.06.22-15.42.54 192.168.0.100 2000.000000
C 2009.06.22-15.43.02 192.168.0.100 2000.000000
C 2009.06.22-15.57.02 192.168.0.100 2000.000000
C 2009.06.22-16.09.34 192.168.0.100 2000.000000
C 2009.06.22-16.13.54 192.168.0.100 2000.000000
D 2009.06.22-16.22.04 192.168.0.100 2000.000000
C 2009.06.22-16.22.05 192.168.0.100 2000.000000
Суть скрипта добавить в ipfw правила, может кто сталкивался с этой проблемой, биллинг stargazer-2.405 :Search:

Re: STG-2.405 скрипты

Добавлено: 2009-06-22 12:23:56
schizoid
так а $IP - разве 2-й параметр? не 3-й?

Re: STG-2.405 скрипты

Добавлено: 2009-06-22 15:51:39
sun guest
хм.. че то не подумал переменные вывести и сравнит ... спс попробую.

Re: STG-2.405 скрипты

Добавлено: 2009-06-22 16:40:03
sun guest
кажется проблема не в переменных... в голую скрипт ругается правильно потому что система не предает параметры пользователя,завтро буду побовать с клиента цепляться. в принцепи скрипт работает но в файре правило не встоет походу из синтаксической ошибки...

как можно вывести результат на экран во время выполнения скрипта,подскажите пожалуйста?

Re: STG-2.405 скрипты

Добавлено: 2009-06-22 16:43:15
schizoid
#!/bin/sh -x ?

Re: STG-2.405 скрипты

Добавлено: 2009-06-22 17:00:56
sun guest
файл исполняемый,сорри что означает флаг -х?

Re: STG-2.405 скрипты

Добавлено: 2009-06-22 17:10:26
schizoid

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

-x xtrace
             Write each command (preceded by the value of the PS4 variable) to
             standard error before it is executed.  Useful for debugging.
дебагер в общем

Re: STG-2.405 скрипты

Добавлено: 2009-06-22 17:30:39
sun guest
спс,буду знать ) завтра проверю как этот скрипт билингом обрабатывается

Re: STG-2.405 скрипты

Добавлено: 2009-06-23 4:28:02
Sun
Проверил работает, вчера вероятно из за неуказанного шелла в скрипте он не работал

Re: STG-2.405 скрипты

Добавлено: 2009-06-23 11:42:23
Sun
Короче система работает, теперь заморочился прикрутить впн и авторизацию через радиус но пока че то не пойму как радиус работает... и как с тем же мпд заставить работать

Re: STG-2.405 скрипты

Добавлено: 2009-06-23 12:25:33
schizoid

Re: STG-2.405 скрипты

Добавлено: 2009-06-23 12:49:55
Sun
спс,помню что видел где то )

Re: STG-2.405 скрипты

Добавлено: 2009-06-23 13:18:58
Sun
Как правильно написать условие, че то понять не могу ...

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

#!/bin/sh -x
fwcmd="/sbin/ipfw -q"
iif="rl1"
A="192.168.0.100"
LOGIN=$1
IP=$2
CASH=$3
ID=$4
DIRS=$5
${fwcmd} add `expr $ID '*' 10 + 8000` allow ip from $IP to any via ${iif}
if [ $IP == $A ];
then
${fwcmd} add `expr $ID '*' 10 + 8001` ip from $IP to 192.168.0.1
fi
echo "C `date +%Y.%m.%d-%H.%M.%S` $IP $CASH" >> /var/stargazer/users/$LOGIN/connect.log
интересует почему он выдает эту строку [: !=: unexpected operator

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

+ fwcmd=/sbin/ipfw -q
+ iif=rl1
+ A=192.168.0.100
+ LOGIN=
+ IP=
+ CASH=
+ ID=
+ DIRS=
+ expr * 10 + 8000
expr: syntax error
+ /sbin/ipfw -q add allow ip from to any via rl1
ipfw: hostname ``to'' unknown
+ [ != 192.168.0.100 ]
[: !=: unexpected operator
+ date +%Y.%m.%d-%H.%M.%S
+ echo C 2009.06.23-18.05.43

Re: STG-2.405 скрипты

Добавлено: 2009-06-23 15:47:30
schizoid
параметры скрипту не передаются походу

Re: STG-2.405 скрипты

Добавлено: 2009-06-23 15:55:24
schizoid
так попробуй
#!/bin/sh -x
fwcmd="/sbin/ipfw -q"
iif="rl1"
A="192.168.0.100"
LOGIN=$1
IP=$2
CASH=$3
ID=$4
DIRS=$5
${fwcmd} add `expr $ID '*' 10 + 8000` allow ip from $IP to any via ${iif}
if [ $IP = $A ];
then
${fwcmd} add `expr $ID '*' 10 + 8001` ip from $IP to 192.168.0.1
fi
echo "C `date +%Y.%m.%d-%H.%M.%S` $IP $CASH" >> /var/stargazer/users/$LOGIN/connect.log
ну и запуск скрипта аля: sh -x 123 test 192.168.0.77 123 5 temp

Re: STG-2.405 скрипты

Добавлено: 2009-06-24 8:26:53
Sun

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

sh -x OnConnect user 192.168.0.101 100 2 temp
+ fwcmd=/sbin/ipfw -q
+ iif=rl1
+ A=192.168.0.101
+ LOGIN=user
+ IP=192.168.0.101
+ CASH=100
+ ID=2
+ DIRS=temp
+ expr 2 * 10 + 8000
+ /sbin/ipfw -q add 8020 allow ip from 192.168.0.101 to any via rl1
+ [ 192.168.0.101 = 192.168.0.101 ]
+ expr 2 * 10 + 8001
+ /sbin/ipfw -q add 8021 ip from 192.168.0.101 to 192.168.0.1
ipfw: invalid action ip

Re: STG-2.405 скрипты

Добавлено: 2009-06-24 8:32:02
Sun
Все разобрался :) как всегда вина всему невнимательность ...

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

#!/bin/sh -x
fwcmd="/sbin/ipfw -q"
iif="rl1"
A=192.168.0.101
LOGIN=$1
IP=$2
CASH=$3
ID=$4
DIRS=$5
${fwcmd} add `expr $ID '*' 10 + 8000` allow ip from $IP to any via ${iif}
if [ $IP = $A ];
then
${fwcmd} add `expr $ID '*' 10 + 8001` deny ip from $IP to 192.168.0.1
fi
echo "C `date +%Y.%m.%d-%H.%M.%S` $IP $CASH" >> /var/stargazer/users/$LOGIN/connect.log
ошибка была что правило для ipfw не правильно написал пропустил действие deny.

ЗЫ: to schizoid огромное спасибо что помог!!! :roll: