Перейти до

onConnect в STG1 или как написать свою


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

Ктонибудь пользуется самописанными скриптами в стг1

onConnect и onDissconnect, точнее заменить их програмным кодом

на с+. Я вот решил немного усовершенствовать механизм, но не знаю на чем это лучше реализовать. Хочу чтобы при подключении юзера, программа выбирала действие, например дать ему канал поширее или наоборот. Может кто подскажет? И может это можно сделать на шеле??

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

onConnect и onDissconnect, точнее заменить их програмным кодом

на с+. Я вот решил немного усовершенствовать механизм, но не знаю на чем это лучше реализовать. Хочу чтобы при подключении юзера, программа выбирала действие, например дать ему канал поширее или наоборот. Может кто подскажет? И может это можно сделать на шеле??

хмм, а чем тебя скрипты то не устраивают ?

 

в СТГ 2 будет также ....

скриптами можно многое сделать ....

 

по поводу ширины канала - tc тебе в помощь ну и конечно HTB

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

я себе написал привязку к сквиду

OnDisconnect сделал на с++

 

Смысл:

при коннекте в файл добавляется IP и перечитывается конфиг сквида, который пускает прозрачно юзверей через себя в инет. Эти юзвери читаются из файла

А при дисконнекте айпи юзверя выкидывается и перечитывается конфиг сквида опять.

 

Просто не хотел создавать дофига правил для файрвола. -;)

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

BASH рулит ! ;)=)

 

Смысл:

при коннекте в файл добавляется IP и перечитывается конфиг сквида, который пускает прозрачно юзверей через себя в инет. Эти юзвери читаются из файла

А при дисконнекте айпи юзверя выкидывается и перечитывается конфиг сквида опять.

 

Для такого у меня написан скрипт на bash и великолепно работает. Только у меня немного проще сделано :-) SQUID принимет только локальные входящие соединения. А скрипт сроответсвенно при подсоединении пользователя берет и пререручивает с помощью фаирвола 80-й порт на squid. И ненадо никаких конфигов... :-)

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

только одно врятле тебе оно поможет ;-) Ведь тогда тебе надо кинуть настройки фаирвола и squid... Конфа лопнет!

 

# Login

LOGIN=$1

 

#user IP

echo $2

IP=$2

 

#cash

CASH=$3

 

#user ID

ID=$4

 

echo "Connect login='$LOGIN' ip=$IP cash=$CASH" >> /tmp/users

 

TMP=`ping www.ya.ru -a -c 3 -w 5 | grep "3 received"`

if [ -z "$TMP" ]; then

killall pppd

ifup dsl0

fi

 

iptables -I forward_ext 1 -j ACCEPT -m state --state NEW,ESTABLISHED,RELATED -s $IP -o ppp0

iptables -I forward_ext 1 -j ACCEPT -m state --state ESTABLISHED,RELATED -d $IP -i ppp0

iptables -I forward_dmz 1 -j ACCEPT -m state --state NEW,ESTABLISHED,RELATED -s $IP -o ppp0

iptables -I forward_dmz 1 -j ACCEPT -m state --state ESTABLISHED,RELATED -d $IP -i ppp0

iptables -I forward_int 1 -j ACCEPT -m state --state NEW,ESTABLISHED,RELATED -s $IP -o ppp0

iptables -I forward_int 1 -j ACCEPT -m state --state ESTABLISHED,RELATED -d $IP -i ppp0

iptables -I POSTROUTING 1 -j MASQUERADE -t nat -s $IP -o ppp0

iptables -I PREROUTING 1 -t nat -j REDIRECT -p tcp -s $IP -d 0/0 --dport 80 --to-ports 3128

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

хехе

у меня проще

при конекте юзера1 запускаетса файл в котором прописаны все правила для юзера1

там вся Украина прпоисана если он идет в мир там же в правилах записано форвордить на сквид а от туда форвордит на прокси)))

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

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

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

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

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

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

Вхід

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

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

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

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