Перейти до

Направления


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

Добрый день всем!

 

С СТГ начал работать недавно, поэтому интересует вопрос, что надо добавить в скрипты Onconect\OnDisconect для работы с направлениями?

 

Спасибо всем за помощь!

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

 

С СТГ начал работать недавно, поэтому интересует вопрос, что надо добавить в скрипты Onconect\OnDisconect для работы с направлениями?

 

Спасибо всем за помощь!

http://stg.dp.ua/doc20.php

 

 

тут все подробно написано...

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

 

С СТГ начал работать недавно, поэтому интересует вопрос, что надо добавить в скрипты Onconect\OnDisconect для работы с направлениями?

 

Спасибо всем за помощь!

http://stg.dp.ua/doc20.php

 

 

тут все подробно написано...

Про направления я там ничего не нашел.

Подскажите пожалуйста, ибо что-то не пойму..

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

http://stg.dp.ua/doc20/conf_rules.html

и

Требуется:

 

Необходимо настроить сервер таким образом:

 

Организовать подсчет локального трафика

Организовать подсчет городского трафика

Организовать подсчет мирового(прочего) трафика

Настроить доступ пользователям так, что бы они не авторизовавшись не могли попасть в интернет, внутренние ресурсы, также, должны быть недоступны

Пользователи всегда, независимо от того, авторизованы они или нет, могли пинговать сервер (для нужд диагностики)

С клиентской машины с адресом 192.168.1.18 настроить доступ по ssh на сервер при отсутствии авторизатции. Это домашняя машина админа и ему бывает нужно что-то сделать на сервере не имея авторизации

В офисе расположена машина с адресом 192.168.1.2, настроить для нее доступ по ssh на сервер при отсутствии авторизатции.

Доступ конфигуратором сделать возможным только с хостов 192.168.1.2 и 192.168.1.18

 

Решение:

Первое что нужно сделать, это определится с правилами подсчета трафика.

 

Будем считать, что:

 

направлекние №0 - локальный трафик (DIR0)

направлекние №1 - городской трафик (DIR1)

направлекние №2 - мировой трафик (DIR2)

rules

Файл /etc/stargazer/rules:

 

# Самые скоростные ресурсы распологаем в самом верху наших правил

# Это позволит уменьшить нагрузку на процессор

# Самыми быстрыми ресурсами, в данном случае, будут архивы видео и музыки

 

#ПРОТОКОЛ АДРЕС НАПРАВЛЕНИЕ

# Трафик на архив 

ALL 172.18.1.0/24 DIR0

# Трафик на роутер 

ALL 192.168.1.1 DIR0

ALL 10.3.2.111 DIR0

ALL 172.18.1.1 DIR0

# Город 

ALL 195.248.160.0/19 DIR1

ALL 212.86.224.0/19 DIR1

ALL 213.227.192.0/18 DIR1

ALL 217.24.160.0/20 DIR1

# Пинги не считаем 

ICMP 0.0.0.0/0 NULL

# Мир, те всё что не попало под предыдущие правила 

ALL 0.0.0.0/0 DIR3

 

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

fredik, он имел ввиду пример скрипта OnConnect для последнего билда СТГ с патчем выбора направлений, а не сам пример rules, а на сайте действительно мануальчика нет.

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

Пробовал писать. Написал хрен знает сколько... вроде даже работало... не помню точно, отпала необходимость.

 

Вот что собственно получилось в OnConnect:

#!/bin/sh

LOGIN=$1
IP=$2
CASH=$3
ID=$4
DIRS=$5

fwcmd="ipfw -q"

a='0'; b='0'; c='0';
while [ $a -lt 10 ]
do
   d='0'; e='0'
   b=$(( $a + 1 ))

   ips=`cat rules | awk 'BEGIN {ORS=" "} /'DIR$a'/ {gsub(/,/,/:/); print $2}'`
   d=`echo "$ips" | grep ' '|wc -w`

   if [ ! $d -eq 0 ]; then

    dir=`echo $DIRS | cut -c$b`
    if [ $dir -eq 1 ]
    then di="allow"
    else di="deny"
    fi

    ip_out="{ "
    for ip in $ips
    do
     ip=`echo $ip | sed 's/:/ /g'`
     ip_out="$ip_out$ip"
     e=$(($e+1))
     if [ $e -lt $d ]; then ip_out="$ip_out or "; fi
    done
    ip_out="$ip_out }"

    ${fwcmd} add `expr $ID '*' 20 + 10000 + $c` $di ip from $IP to $ip_out in recv re0
    ${fwcmd} add `expr $ID '*' 20 + 10000 + $(($c+1))` $di ip from $ip_out to $IP
    c=$(($c+2))
   fi
   a=$b
done


echo "Connect: `date +%d.%m.%Y-%H:%M:%S` ip: $IP  id: $ID  dirs: $DIRS" >> /var/stargazer/logs/$LOGIN-connect.log

 

P.S. AS IS :(

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

 

Вот что собственно получилось в OnConnect:

#!/bin/sh

LOGIN=$1
IP=$2
CASH=$3
ID=$4
DIRS=$5

fwcmd="ipfw -q"

a='0'; b='0'; c='0';
while [ $a -lt 10 ]
do
   d='0'; e='0'
   b=$(( $a + 1 ))

   ips=`cat rules | awk 'BEGIN {ORS=" "} /'DIR$a'/ {gsub(/,/,/:/); print $2}'`
   d=`echo "$ips" | grep ' '|wc -w`

   if [ ! $d -eq 0 ]; then

    dir=`echo $DIRS | cut -c$b`
    if [ $dir -eq 1 ]
    then di="allow"
    else di="deny"
    fi

    ip_out="{ "
    for ip in $ips
    do
     ip=`echo $ip | sed 's/:/ /g'`
     ip_out="$ip_out$ip"
     e=$(($e+1))
     if [ $e -lt $d ]; then ip_out="$ip_out or "; fi
    done
    ip_out="$ip_out }"

    ${fwcmd} add `expr $ID '*' 20 + 10000 + $c` $di ip from $IP to $ip_out in recv re0
    ${fwcmd} add `expr $ID '*' 20 + 10000 + $(($c+1))` $di ip from $ip_out to $IP
    c=$(($c+2))
   fi
   a=$b
done


echo "Connect: `date +%d.%m.%Y-%H:%M:%S` ip: $IP  id: $ID  dirs: $DIRS" >> /var/stargazer/logs/$LOGIN-connect.log

 

P.S. AS IS :(

ммм.. это под FreeBSD, а вот нуна под Linux и IPtables :(

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

Да... забыл пояснить. Задача стояла такая:

Взять файл rules. Вытащить из него адрес к соответствующим направлениям и отдать эти адреса в файрвол.

Проблема возникала в случае, если адреса были с портами.

Не помню точно, но по моему и эту проблему решил. Давно было... а проверить негде.

 

еще раз повторюсь: as is

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

Так а патч к серверной части для чего тогда делался? По-моему там только пара параметров передается в скрипт OnConnect, на какое из навправлений выполнять iptables. С IP и файлов rules там вроде не надо ковыряться.

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

Ну ладно... раз вы такие ленивые (не можете даже посмотреть, что отдает СТГ), разжую немного.

 

В OnConnect передается строка типа "1111111111", где позиция каждого символа означает номер направления, а значение: 1-разрешить, а 0-запретить.

 

Разжевал, глотай! )))

 

п.с. Не знаю, как здесь народ к этому относится, но в большинстве случаев, если человек даже не попробовал посмотреть что и как, а сразу кинулся вопросы задавать, то ему ответ всегда один - RTFM!

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

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

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

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

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

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

Вхід

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

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

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

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