Перейти до

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

Опубликовано:

Почему то адишник ($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) не передается скриптам он конект он дисконект кто нить знает в чем траблы???

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

Опубліковано:
2Max:

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

Это просто в планах добавлять правила шейпа в ipfw для клинета, пока не реализовано :)(

Опубліковано:

2AlexeyD:

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

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

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

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

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

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

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

Вхід

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

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

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