GreitPu 0 Опубликовано: 2006-12-18 19:26:28 Share Опубликовано: 2006-12-18 19:26:28 в програмировании я 0 покрайнемере если взять perl или shell. Но все же читая книги кое-что написать смог. Прошу не обижать .. Что делаю,... файлик OnConnect нужно организовать таким образом если ip юзера такой: (допустим) 10.27.0.60 тогда вписать правила в фв на разрешения только ICQ, если пользователь иной - тогда разрешить весь трафик. В скрипте использовал самое простое структурный оператор If-Else Делаю так: #!/bin/sh fwcmd="/sbin/ipfw" ip=$2 login=$1 id=$4 if $ip = 10.27.0.60 then ${fwcmd} add `expr $id '*' 10 + 1000` allow ip from 64.12.0.0/16, 205.188.0.0/16 to $ip ${fwcmd} add `expr $id '*' 10 + 1001` allow ip from $ip to any else ${fwcmd} pipe `expr $id + 101` config bw 4Mbit/s ${fwcmd} pipe `expr $id + 102` config bw 4Mbit/s ${fwcmd} add `expr $id '*' 10 + 2001` pipe `expr $id + 101` ip from $ip to any out ${fwcmd} add `expr $id '*' 10 + 2002` pipe `expr $id + 102` ip from any to $ip in ${fwcmd} add `expr $id '*' 10 + 2003` allow ip from $ip to any ${fwcmd} add `expr $id '*' 10 + 2004` allow ip from any to $ip echo "connect $login " >> /var/log/stargazer.connect.log fi В итоге скриптик этот исполняет все правила включая 1000 и 1001 а также 2001 2002 2003 2004 Где бадяга спряталась ?.. помогите. Ссылка на сообщение Поделиться на других сайтах
Max 0 Опубліковано: 2006-12-18 19:53:34 Share Опубліковано: 2006-12-18 19:53:34 правильно делать так: if [ $ip = 10.27.0.6] Ссылка на сообщение Поделиться на других сайтах
GreitPu 0 Опубліковано: 2006-12-21 19:36:10 Автор Share Опубліковано: 2006-12-21 19:36:10 Нет и так не работает ((( Ссылка на сообщение Поделиться на других сайтах
Xeddin 0 Опубліковано: 2006-12-21 19:54:21 Share Опубліковано: 2006-12-21 19:54:21 if [ $ip -eq 10.27.0.6] может так будет? -eq равно -ne не равно -gt первый операнд больше второго -ge первый операнд больше или равен второму -lt первый операнд меньше второго -le первый операнд меньше или равен второму Ссылка на сообщение Поделиться на других сайтах
GreitPu 0 Опубліковано: 2006-12-22 04:51:09 Автор Share Опубліковано: 2006-12-22 04:51:09 Спасибо ребята, сам пошарил разобрался нужно было делать так if [ $2 -eq 10.27.0.6] либо if [ $2 = 10.27.0.6] либо if test $2 -eq 10.27.0.6 либо if test $2 = 10.27.0.6 Ссылка на сообщение Поделиться на других сайтах
Рекомендованные сообщения
Создайте аккаунт или войдите в него для комментирования
Вы должны быть пользователем, чтобы оставить комментарий
Создать аккаунт
Зарегистрируйтесь для получения аккаунта. Это просто!
Зарегистрировать аккаунтВхід
Уже зарегистрированы? Войдите здесь.
Войти сейчас