Нехай щастить
DeepNet
 
arrow Главное меню




arrow Сети



border Stargazer - FAQ border
Как настроить скрипт OnConnect на FreeBSD для ipfw
Как автоматизировать поднятие STG при вылете его из процессов?
Перезапускаешь stargazer, а он в лог пишет: Bind admin socket failed или Bind failed
Как позволить одному логину получать доступ с разных IP
Как настроить скрипт OnDisconnect на FreeBSD для ipfw
Как запустить или остановить, а также перезапустить stargazer сервер?
Как из отмаскараднутой сети пользоваться авторизатором?
как сделать чтобы трафик считался без запуска авторизатора у пользователя?
Как правильно зафильтровать ICMP через FreeBSD ipfw
Не считается трафик на интерфейсе
После редакирования правил rules в Windows не запускаетя stargazer
Incorrect header При подключении конфигуратора
Recv header ansver error При подключении конфигуратора

Как настроить скрипт OnConnect на FreeBSD для ipfw
Пример скрипта OnConnect
Код
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#Этот скрипт вызывается в момент, когда пользователь
#успешно прошел авторизацию на сервере. Задач скрипта - перестроить
#файрвол так, что бы пользователь получил доступ в интернет.
#В поле Примечание у абонента я устанавливаю скорость по типу 64Kbit/s

LOGIN=$1
IP=$2
CASH=$3
ID=$4
SPEED=`cat /var/stargazer/users/$LOGIN/conf | grep 'Note=' | cut -d "=" -f2`
fwcmd="/sbin/ipfw -q"
cur_date=`date \+\%Y.\%m.\%d`
cur_time=`date \+\%H:\%M:\%S`

${fwcmd} pipe `expr $ID + 101` config bw $SPEED
${fwcmd} add `expr $ID + 501` pipe `expr $ID + 101` tcp from any to $IP via rl1
${fwcmd} add `expr $ID '*' 10 + 10001` allow icmp from $IP to any out via rl1 icmptype 0,3,4,11,12
${fwcmd} add `expr $ID '*' 10 + 10002` allow ip from $IP to any
${fwcmd} add `expr $ID '*' 10 + 10003` allow ip from any to $IP


echo "C `date +%Y.%m.%d-%H.%M.%S`       $ID     $IP     $CASH" >> /var/stargazer/users/$LOGIN/connect.log
echo "C `date +%Y.%m.%d-%H.%M.%S`       $ID     $LOGIN  $IP     $CASH" >> /var/stargazer/users/allconnect.log
echo "<=;$cur_date;$cur_time;$ID;$LOGIN;$IP;$CASH" >> /home/stat/logs/connect.log


Как автоматизировать поднятие STG при вылете его из процессов?
Коль случилась/случается такая неприятность - можно решить ее таким вот скриптиком под названьем stglife.sh, пример приведен ниже :
Код
1
2
3
4
5
6
7
8
9
10
11
#!/bin/sh

# Делаем выборку из активных процессов
NUM='ps ax|grep stargazer|wc -l'

if [ $NUM -lt 2 ]; then

# Запускаем, советую перед тем как запустить убить, т.е. restart
       /usr/local/rc.d/stgctl restart

fi


Добавляем запись в cron, время по вкусу:
Код
1
5,35    *    *    *    *    root    /usr/local/bin/stglife.sh


Перезапускаешь stargazer, а он в лог пишет: Bind admin socket failed или Bind failed
Проверить, какие процессы заняли tcp и/или udp порты старгейзера под себя.
Во FreeBSD проверяется через
sockstat -4l | grep 5555 (или какой там у вас порт).
В моем случае, этим процессом был named, который почему-то открыл tcp порт 5555, как непривеллигированный.
Перезагрузка named помогла, он перестал занимать этот порт.
А потом уже можно загружать stargazer.

Как позволить одному логину получать доступ с разных IP
Достаточно в поле IP Адрес ввести все допустимые ip через запятую и пробел:
10.20.30.2, 10.20.30.3, 10.20.50.85 итд

Как настроить скрипт OnDisconnect на FreeBSD для ipfw
Пример скрипта OnDisconnect
Код
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
LOGIN=$1
IP=$2
CASH=$3
ID=$4

fwcmd="/sbin/ipfw"
cur_date=`date \+\%Y.\%m.\%d`
cur_time=`date \+\%H:\%M:\%S`

${fwcmd} delete `expr $ID + 501`
${fwcmd} delete `expr $ID '*' 10 + 10001`
${fwcmd} delete `expr $ID '*' 10 + 10002`
${fwcmd} delete `expr $ID '*' 10 + 10003`

echo "D `date +%Y.%m.%d-%H.%M.%S`       $ID     $IP     $CASH" >> /var/stargazer/users/$LOGIN/connect.log
echo "D `date +%Y.%m.%d-%H.%M.%S`       $ID     $LOGIN  $IP     $CASH" >> /var/stargazer/users/allconnect.log
echo "=>;$cur_date;$cur_time;$ID;$LOGIN;$IP;$CASH" >> /home/stat/logs/connect.log


Как запустить или остановить, а также перезапустить stargazer сервер?
Пример скрипта stgctl который понимает такие команды как start stop restart
Код
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#!/bin/sh

case "$1" in
    start)
/sbin/stargazer
echo "Starting Billing Server..."
sleep 1
;;
    stop)
pid=$(ps -ax|grep stargazer|grep -v grep | awk '{print $1}')
kill ${pid} > /dev/null 2>&1
echo "Stop Billing Server..."
sleep 1
;;
    restart)
pid=$(ps -ax|grep stargazer|grep -v grep | awk '{print $1}')
kill ${pid} > /dev/null 2>&1
echo "Stop Billing Server..."
sleep 2
/sbin/stargazer
echo "Starting Billing Server..."
sleep 1
   ;;
    *)
echo "Используй: `basename $0` { start | stop | restart }"
exit 64
;;
esac


Как из отмаскараднутой сети пользоваться авторизатором?
Авторизатор работает по протоколу UDP. Согласно RFC-768 в нем отсутствуют номера сессий, поэтому роутер не может "знать", кому отдавать датаграммы после получения ответа от старгейзера. Для таких сетей необходимо пользоваться авторизатором через веб-интерфейс.

как сделать чтобы трафик считался без запуска авторизатора у пользователя?
поставить этому пользователю галку "Всегда OnLine".

Как правильно зафильтровать ICMP через FreeBSD ipfw
Расшифровка кодов ICMP сообщений:

0 echo reply
3 destination unreachable
4 source quench
5 redirect
8 echo request
9 router adver-tisement
10 router solicitation
11 time-to-live exceeded
12 IP header bad
13 timestamp request
14 timestamp reply
15 information request
16 information reply
17 address mask request
18 address mask reply

Код
1
2
3
4
${fwcmd} add 300 allow icmp from any to внешний_IP in via внешний_интерфейс icmptype 0,3,4,11,12
${fwcmd} add 301 allow icmp from внешний_IP to any out via внешний_интерфейс icmptype 3,8,12
${fwcmd} add 304 allow icmp from внешний_IP to any out via внешний_интерфейс frag
${fwcmd} add 305 deny log icmp from any to any in via внешний_интерфейс


Не считается трафик на интерфейсе
Проверьте интерфейс в настройках пользователей, там должен стоять именно тот интерфейс, на который они идут

После редакирования правил rules в Windows не запускаетя stargazer
Надо отредактировать файл rules убрать ^M одним знаком в конце каждой строчки, на этот символ ругается только файл рулес. Также стоит сохранять в винде правилу используя \n\r
Или воспользоватся обычным скриптом
DOS to UNIX

Run the following :

# perl -pi.bak -e 's/\r\n/\n/g' [file]

It will copy [file] to [file].bak, and edit the original

Incorrect header При подключении конфигуратора
Необходимо проверить версию, конфигуратора и сервера на совместимость.

Recv header ansver error При подключении конфигуратора
Нужно добавить в stargazer.conf в строку AdminAllowFrom ip адрес компьютера или подсети с которой осуществляется попытка подключения.





arrow Главное меню



arrow Социальные
ВКонтакте

Fibertool

arrow Профиль

логин:

пароль:


Регистрация


arrow Пользователи

Всего на сайте: 2942
Пользователей: 171
Гостей: 2771

Local.blog МЕТА - Украина Рейтинг@Mail.ru