Перейти до

OnConnect OnDisconnect


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

Почему то адишник ($id) не передается скриптам он конект он дисконект кто нить знает в чем траблы??? или может у кого-то есть другое решение добавлений и удалений правил в IPFW.......... :)

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

там де бакс

и создаешь отдельно файлики типа 10.144.97.14.sh

туда и пишешь правила фаервола

а по подробнее

это типа в онконект записать ./$ip.sh

 

и создать файлик

для каждой айпихи где делать алов???

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

Вот пример рабочего ОнКоннект под Линух

 

#!/bin/bash

iptables -A FORWARD -s $2 -j ACCEPT

iptables -A FORWARD -d $2 -j ACCEPT

 

iptables -t nat -I POSTROUTING 1 -s $2 -j SNAT --to-source 192.168.22.25

 

 

IP-шники поменяй на свои

ОнДисконнект аналогично

Ссылка на сообщение
Поделиться на других сайтах
Вот пример рабочего ОнКоннект под Линух

 

#!/bin/bash

iptables -A FORWARD -s $2 -j ACCEPT

iptables -A FORWARD -d $2 -j ACCEPT

 

iptables -t nat -I POSTROUTING 1 -s $2 -j SNAT --to-source 192.168.22.25

 

 

IP-шники поменяй на свои

ОнДисконнект аналогично

Конечно спасибо но мне под IPFW нада

У кого еще какие варианты

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

в он коннект пишешь

sh /etc/stargazer/onconnect/$2.sh

в он дисконект пишешь

sh /etc/stargazer/ondisconnect/$2.sh

создаешь 2 папке что я выше написал

с именем 10.144.97.151.sh

к приему

ип ставь свой

в onconnect пишешь

ipfw add 1001 allow all from 10.144.97.151 to any

ipfw add 1001 allow all from any to 10.144.97.151

 

в ондисконект пишешь

ipfw del 1001

 

тут-же можешь пайпом ограничивать скорость

ipfw pipe 1002 config bw 270Kbit/s ( это и есть 256кбит в сек)

ipfw add 1002 pipe 1002 all from 10.144.97.151 to any

ipfw add 1002 pipe 1002 all from any to 10.144.97.151

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

Вот прога которая зодаёт файлы, прочитай и доделай для себя:

#!/bin/sh

login=$1
password=$2
tariff=$3
echo "added user $login $password $tariff" >> /var/add_del
echo -n "User name:"
read user_base_name
echo -n "IP:"
read ipaddress
echo -n "Count 1:"
read ipfw_number
echo -n "Count 2:"
read ipfw_number1
echo -n "Count 3:"
read ipfw_number2
echo -n "Count 4:"
read ipfw_number3

#REGISTER USER
echo "$user_base_name">>/etc/stargazer/NUMBER
echo "$ipaddress">>/etc/stargazer/NUMBER
echo "$ipfw_count_number">>/etc/stargazer/NUMBER
echo "$ipfw_number">>/etc/stargazer/NUMBER
echo "$ipfw_number1">>/etc/stargazer/NUMBER
echo "$ipfw_number2">>/etc/stargazer/NUMBER
echo "$ipfw_number3">>/etc/stargazer/NUMBER
echo "------------------">>/etc/stargazer/NUMBER


#PARAM

DIR_ALLOW="/etc/stargazer/user_connect/allow_$ipaddress.sh"
DIR_DENY="/etc/stargazer/user_disconnect/deny_$ipaddress.sh"

#ALLOW

echo "#!/bin/sh">>$DIR_ALLOW
echo "username='$user_base_name'">>$DIR_ALLOW
echo "ipfw add $ipfw_number allow tcp from $ipaddress to me 25,110,8080,443">>$D
IR_ALLOW
echo "ipfw add $ipfw_number1 allow udp from $ipaddress to me domain">>$DIR_ALLOW
echo "ipfw add $ipfw_number2 fwd 127.0.0.1,8080 tcp from $ipaddress to any http"
>>$DIR_ALLOW
echo "ipfw add $ipfw_number3 divert natd all from $ipaddress to any via xl0">>$D
IR_ALLOW
chmod +x $DIR_ALLOW
sleep 1


#DENY

echo "#!/bin/sh">>$DIR_DENY
echo "username='$user_base_name'">>$DIR_DENY
echo "ipfw delete $ipfw_count_number">>$DIR_DENY
echo "ipfw delete $ipfw_number">>$DIR_DENY
echo "ipfw delete $ipfw_number1">>$DIR_DENY
echo "ipfw delete $ipfw_number2">>$DIR_DENY
echo "ipfw delete $ipfw_number3">>$DIR_DENY
chmod +x $DIR_DENY
sleep 1

Если есть вопросы пиши на мыло или в форум, мыло admin собака info-teh.ru

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

Вот более поздняя рабочая версия, хотя и она тоже будет со временем доработана. В принципе хочу статью написать обо всё этом но вот руки ни как не доходят:

inet# cat /billing/add

#!/bin/sh
clear
echo "Version 0.70"
echo "-----------------------------------------------------------------------"
echo "Программа добавления нового пользателя в систему Stargazer"
cat /billing/NUMBER
echo -n "Введите имя пользователя: "
read user_base_name
echo -n "IP адрес: "
read ipaddress
echo -n "Первый номер правила в IPFW: "
read number
ipfw_number1=`expr $number + 1`
ipfw_number2=`expr $number + 2`
ipfw_number3=`expr $number + 3`
#echo -n "Введите ширину полосы пропускания: "
#read bw
echo "-------------------"
echo "Подтверждение:"
echo "Login: $user_base_name"
echo "IP: $ipaddress"
echo "Номера: $number, $ipfw_number1, $ipfw_number2, $ipfw_number3"
#echo "Ширина канала: $bw"
echo -n "Потверждение(y/n)[yes]: "
read yn
if [ $yn = "no" ]
then
exit 0
fi
#REGISTER USER
echo ""
echo "$user_base_name">>/billing/NUMBER
echo "$number-$ipfw_number4">>/billing/NUMBER
#PARAM
DIR_ALLOW="/billing/user_connect/allow_$ipaddress.sh"
DIR_DENY="/billing/user_disconnect/deny_$ipaddress.sh"


#ALLOW

echo "#!/bin/sh">>$DIR_ALLOW
echo "">>$DIR_ALLOW
echo "username='$user_base_name'">>$DIR_ALLOW
echo "ipfw a $ipfw_number1 allow tcp from $ipaddress to me 25,110,3128,443">>$DI
R_ALLOW
echo "ipfw a $ipfw_number2 allow udp from $ipaddress to me domain">>$DIR_ALLOW
echo "ipfw a $ipfw_number3 fwd 10.203.0.2,3128 tcp from $ipaddress to any http">
>$DIR_ALLOW
echo "ipfw a $ipfw_number4 divert natd all from $ipaddress to any via ng0">>$DIR
_ALLOW
chmod 700 $DIR_ALLOW
sleep 1

#DENY

echo "#!/bin/sh">>$DIR_DENY
echo "">>$DIR_DENY
echo "username='$user_base_name'">>$DIR_DENY
echo "ipfw delete $number">>$DIR_DENY
echo "ipfw delete $ipfw_number1">>$DIR_DENY
echo "ipfw delete $ipfw_number2">>$DIR_DENY
echo "ipfw delete $ipfw_number3">>$DIR_DENY
chmod 700 $DIR_DENY

Она даже ведёт свою "базу" номеров правил ipfw, для удобства. Хотя есть желание связать этот скрипт со скриптом OnUserAdd, но время жестокая штука.. И ещё хотелось бы выслушать пожелания или рекомендации по улучшению :)

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

2Max:

#echo "Ширина канала: $bw", говоришшш =))

 

2AlexeyD:

Почему то адишник ($id) не передается скриптам он конект он дисконект кто нить знает в чем траблы???

Какая версия сервера?

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

2AlexeyD:

Почему то адишник ($id) не передается скриптам он конект он дисконект кто нить знает в чем траблы???

Какая версия сервера?

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

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

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

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

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

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

Вхід

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

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

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

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