AlexeyD 0 Posted 2005-04-18 17:09:40 Share Posted 2005-04-18 17:09:40 Почему то адишник ($id) не передается скриптам он конект он дисконект кто нить знает в чем траблы??? или может у кого-то есть другое решение добавлений и удалений правил в IPFW.......... Link to post Share on other sites
centre-lan 1 Posted 2005-04-18 17:16:37 Share Posted 2005-04-18 17:16:37 лучше пиши ip там де бакс и создаешь отдельно файлики типа 10.144.97.14.sh туда и пишешь правила фаервола Link to post Share on other sites
AlexeyD 0 Posted 2005-04-18 17:54:09 Author Share Posted 2005-04-18 17:54:09 лучше пиши ip там де бакс и создаешь отдельно файлики типа 10.144.97.14.sh туда и пишешь правила фаервола а по подробнее это типа в онконект записать ./$ip.sh и создать файлик для каждой айпихи где делать алов??? Link to post Share on other sites
AlexeyD 0 Posted 2005-04-18 18:22:46 Author Share Posted 2005-04-18 18:22:46 ну блин бросте круг утопающему...... У меня ничего не выходит, а юзеры уже достали... Скоро будут бить.......... :mrrr: Link to post Share on other sites
Slava 1 Posted 2005-04-18 18:29:06 Share Posted 2005-04-18 18:29:06 Вот пример рабочего ОнКоннект под Линух #!/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-шники поменяй на свои ОнДисконнект аналогично Link to post Share on other sites
AlexeyD 0 Posted 2005-04-18 18:38:40 Author Share Posted 2005-04-18 18:38:40 Вот пример рабочего ОнКоннект под Линух #!/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 нада У кого еще какие варианты Link to post Share on other sites
centre-lan 1 Posted 2005-04-18 19:24:34 Share Posted 2005-04-18 19:24:34 в он коннект пишешь 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 Link to post Share on other sites
Guest Guest Posted 2005-04-19 11:38:22 Share Posted 2005-04-19 11:38:22 Вот прога которая зодаёт файлы, прочитай и доделай для себя: #!/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 Link to post Share on other sites
Guest Guest Posted 2005-04-19 11:43:18 Share Posted 2005-04-19 11:43:18 Попозже выложу более позднюю версию, там вообще только на вопросы отвечать надо Link to post Share on other sites
Max 0 Posted 2005-04-19 11:47:18 Share Posted 2005-04-19 11:47:18 я это был! Link to post Share on other sites
AlexeyD 0 Posted 2005-04-19 13:50:42 Author Share Posted 2005-04-19 13:50:42 я это был! Спасибо Link to post Share on other sites
Max 0 Posted 2005-04-19 15:41:54 Share Posted 2005-04-19 15:41:54 Вот более поздняя рабочая версия, хотя и она тоже будет со временем доработана. В принципе хочу статью написать обо всё этом но вот руки ни как не доходят: 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, но время жестокая штука.. И ещё хотелось бы выслушать пожелания или рекомендации по улучшению Link to post Share on other sites
XoRe 0 Posted 2005-04-24 09:43:13 Share Posted 2005-04-24 09:43:13 2Max: #echo "Ширина канала: $bw", говоришшш =)) 2AlexeyD: Почему то адишник ($id) не передается скриптам он конект он дисконект кто нить знает в чем траблы??? Какая версия сервера? Link to post Share on other sites
Max 0 Posted 2005-04-24 15:11:41 Share Posted 2005-04-24 15:11:41 2Max:#echo "Ширина канала: $bw", говоришшш =)) Это просто в планах добавлять правила шейпа в ipfw для клинета, пока не реализовано ( Link to post Share on other sites
XoRe 0 Posted 2005-04-27 20:59:27 Share Posted 2005-04-27 20:59:27 2AlexeyD: Почему то адишник ($id) не передается скриптам он конект он дисконект кто нить знает в чем траблы??? Какая версия сервера? Link to post Share on other sites
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now