DJ Jack 0 Опубликовано: 2009-01-09 05:44:56 Share Опубликовано: 2009-01-09 05:44:56 В общем на работе завал. В ближайшие срок нужно поставить: 1) Старгазер + радиус + pppoe (чтобы он считал их трафик по ppp) 2)Скорость разная для тарифов,например,тариф inet256 - скорость инета 256 кб (общая) 32,2 кб (загрузки) ,а на тарифе например inet128 - скорость для инета скорость 128 (16 кб/сек загрузка) 3)Чтобы скорость с сетей 217.10.1.0 - 217.10.4.255 - была 1000 мб/сек (то есть без ограничений) и трафик не считался (точнее считался но как локальный) Тоже самое на сети 87.249.14.0 - 87.249.14.255 и 10.23.64.0 - 10.23.73.255 и 192.168.1.2 (не путать с 1,именно 2) до 192.168.1.197 (ну а вообще можно просто легче сделать 10.23.0.0/16 для поддсетей 10) 4)Авторизация по Авторизатор для Windows и через веб страницу. (статитка баланса) Все,ваши предложение и цены,готов заплатить,но не больше 1300 руб. PS. Кто точно не умеет этого делать лучше не писать,т.к хочу профи. OC Fedora core 8 (Linux) Mail агент - dj_jack@mail.ru ICQ - 364921083 Оплату гарантирую через банк или Яндекс Деньги) Спасибо. Ссылка на сообщение Поделиться на других сайтах
Neelix 33 Опубліковано: 2009-01-09 08:32:11 Share Опубліковано: 2009-01-09 08:32:11 Все,ваши предложение и цены,готов заплатить,но не больше 1300 руб.PS. Кто точно не умеет этого делать лучше не писать,т.к хочу профи. за такие деньги... это 338 грн ка минимум в 3-4 раза больше нужно Ссылка на сообщение Поделиться на других сайтах
Колян 2 Опубліковано: 2009-01-09 08:35:41 Share Опубліковано: 2009-01-09 08:35:41 за такие деньги разве что на фрюхе могу поднять биллинг, шейпер, но без всяких ппп, ну и подсчет трафа настроить. ну еще немного секса с фаерволлом и шейпером. А то, что Вы описали - стоить будет намного дороже... Ссылка на сообщение Поделиться на других сайтах
DJ Jack 0 Опубліковано: 2009-01-09 10:57:18 Автор Share Опубліковано: 2009-01-09 10:57:18 Ладно как хотите,сам постараюсь сделать.. А авторизация мне нужна только по ppp. Ссылка на сообщение Поделиться на других сайтах
Колян 2 Опубліковано: 2009-01-09 11:03:35 Share Опубліковано: 2009-01-09 11:03:35 Ну на нет и суда нет Ссылка на сообщение Поделиться на других сайтах
DJ Jack 0 Опубліковано: 2009-01-11 10:26:12 Автор Share Опубліковано: 2009-01-11 10:26:12 Ладно,pppoe выкидываем,я все настроил (кроме фаеревола) Делал как тут _http://stg.dp.ua/doc20/conf_example_linux.html Не помогло,считает трафик как нужно мне,но,не отключает инет когда я нажимаю отключиться (инет как был так и есть) Собственно. 1)Настроить фаеревол чтобы он отключал когда нажимаю офф 2)Скорость инета ограничивал (также как выше написал для тарифа inet128 скорость 128,для 256 скорость 256 и тд) Сколько хотите? Я думаю тут не трудно. И не говорите поставьте Freebsd (не пользуемся ей) только Linux. Ссылка на сообщение Поделиться на других сайтах
Neelix 33 Опубліковано: 2009-01-11 11:00:16 Share Опубліковано: 2009-01-11 11:00:16 1. сделай лучше циклами while, для локального скрипта, iptables 2. в дистрибутиве стг, если не ошибаюсь есть примеры скриптов, с учетов выборке из поля Userdata Ссылка на сообщение Поделиться на других сайтах
DJ Jack 0 Опубліковано: 2009-01-11 11:06:37 Автор Share Опубліковано: 2009-01-11 11:06:37 Да мне нужно чтобы за меня поставили,а я расплатился бы.. (у меня на работе завал) Ссылка на сообщение Поделиться на других сайтах
DJ Jack 0 Опубліковано: 2009-01-14 08:07:05 Автор Share Опубліковано: 2009-01-14 08:07:05 Блин,что никто не знает как сделать ограничение скорости на разных тарифах(linux)? С OnConnect/OnDisconnect разобрался. Теперь отключает и выключает. Мне только скорость настроить,помогите плиз,готов заплатить даже. Ссылка на сообщение Поделиться на других сайтах
Neelix 33 Опубліковано: 2009-01-14 08:09:34 Share Опубліковано: 2009-01-14 08:09:34 OnConnect #!/bin/bash int_iface=eth1 # Login LOGIN=$1 #user IP IP=$2 #cash CASH=$3 #user ID ID=$4 #Selected dirs to connect DIRS=$5 default_speed=32kbit # =========== shaping by tariff =========== #tariff=$(grep -i "^tariff=" /var/stargazer/users/$LOGIN/conf | cut -f 2 -d"=") #echo "tariff=$tariff" > /var/stargazer/users/$LOGIN/connect.log #case $tariff in # minimum) speedkb=128kbit;; # 128 kbit # middle) speedkb=256kbit;; # 256 kbi # maximum) speedkb=512kbit;; # 512 kbit # *) speedkb=$default_speed;; # default speed #esac # ========= shaping by tariff end ========= # ========= shaping by userdata0 ========== speedR=$(grep -i "^Userdata0=" /var/stargazer/users/$LOGIN/conf | cut -f 2 -d"=") speed=$(echo $speedR | grep "^[0-9]*[0-9]$") if [ -z "$speed" ] then speedkb=$default_speed else speedkb="$speed"kbit fi # ======= shaping by userdata0 end ======== declare -i mark=$ID+10 echo "$mark" > /var/stargazer/users/$LOGIN/shaper_mark echo "$speedkb" > /var/stargazer/users/$LOGIN/shaper_rate iptables -t mangle -A FORWARD -d $IP -j MARK --set-mark $mark tc class add dev $int_iface parent 1:1 classid 1:$mark htb rate $speedkb burst 40k tc filter add dev $int_iface parent 1: protocol ip prio 3 handle $mark fw classid 1:$mark Ссылка на сообщение Поделиться на других сайтах
Neelix 33 Опубліковано: 2009-01-14 08:09:59 Share Опубліковано: 2009-01-14 08:09:59 OnDisconnect #!/bin/bash int_iface=eth1 # Login LOGIN=$1 #user IP IP=$2 #cash CASH=$3 #user ID ID=$4 #Selected dirs to disconnect DIRS=$4 mark=$(cat /var/stargazer/users/$LOGIN/shaper_mark) rate=$(cat /var/stargazer/users/$LOGIN/shaper_rate) if [ -n "$mark" ] then iptables -t mangle -D FORWARD -d $IP -j MARK --set-mark $mark while [ $? == 0 ] do iptables -t mangle -D FORWARD -d $IP -j MARK --set-mark $mark done fi tc filter del dev $int_iface parent 1: protocol ip prio 3 handle $mark fw classid 1:$mark tc class del dev $int_iface parent 1:1 classid 1:$mark htb rate $rate burst 40k #echo "D `date +%Y.%m.%d-%H.%M.%S` $IP $CASH" >> /var/stargazer/users/$LOGIN/connect.log Ссылка на сообщение Поделиться на других сайтах
Neelix 33 Опубліковано: 2009-01-14 08:12:09 Share Опубліковано: 2009-01-14 08:12:09 shaper.sh #!/bin/bash int_iface=eth1 iptables -t mangle --flush tc qdisc add dev $int_iface root handle 1: htb tc class add dev $int_iface parent 1: classid 1:1 htb rate 100mbit ceil 100mbit burst 200k shaper.stop.sh #!/bin/bash int_iface=eth1 #iptables -t mangle --flush tc qdisc del dev $int_iface root handle 1: htb Ссылка на сообщение Поделиться на других сайтах
Neelix 33 Опубліковано: 2009-01-14 08:12:40 Share Опубліковано: 2009-01-14 08:12:40 В OnConnect есть два типа шейпинга. 1. На основании тарифа. Т.е. для каждого тарифа у задана скорость и задано дефолтное значение, на случай отсутсвия тарифа в списке скоростей или забывчивости админа. 2. На основании Userdata0. В этом поле просто прописывается число равное скорости в kbit/sec. Также есть дефолтное значение скорости в 32 kbit/sec на случай отсутсвия в Userdata0 корректного значения. В скрипте первый способ закомментирован. Для того чтобы выбрать один из них нужно либо удалить, либо закомментировать строчики между # ========= shaping by tariff ========== ......... # ======= shaping by tariff end ======== и # ========= shaping by userdata0 ========== ......... # ======= shaping by userdata0 end ======== и нужную часть расскоментировать, если она закомментрована. Скрипт shaper.sh должен быть выполнен один раз при загрузке системы. Интерфейс обращенный к пользователю определяется в переменной int_iface= (присутствует во всех 4-х файлах shaper.sh, shaper.stop.sh, OnConnect и OnDisconnect !!!) Скорость по умолчанию в OnConnect в переменной default_speed Зависимость скорости от тарифа задается в следующем фрагменте кода: case $tariff in minimum) speedkb=128kbit;; middle) speedkb=256kbit;; maximum) speedkb=512kbit;; *) speedkb=$default_speed;; esac Т.е. тут нужно вместо minimum, ... maximum подставить имена ваших тарифов и соотв. скорость. Пользователи с тарифами не указанными в списке будут иметь дефолтную скорость. Скорость ограничевается только для входящего тарафика, однако расширить эти скрипты для исходящего не составит труда. Ссылка на сообщение Поделиться на других сайтах
DJ Jack 0 Опубліковано: 2009-01-14 08:40:46 Автор Share Опубліковано: 2009-01-14 08:40:46 Один вопрос всего. Напиши свою ICQ или агент. А так просто огромное спасибо!!!! Ссылка на сообщение Поделиться на других сайтах
Neelix 33 Опубліковано: 2009-01-14 08:54:09 Share Опубліковано: 2009-01-14 08:54:09 Один вопрос всего.Напиши свою ICQ или агент. А так просто огромное спасибо!!!! Я тайный агент извини, настроить конкретно под твою систему нет времени. Ссылка на сообщение Поделиться на других сайтах
DJ Jack 0 Опубліковано: 2009-01-14 08:57:00 Автор Share Опубліковано: 2009-01-14 08:57:00 ФСБ России? Да,нет я настрою сам,просто интересует про shaper.sh и shaper.stop.sh То есть куда их копировать. Ссылка на сообщение Поделиться на других сайтах
DJ Jack 0 Опубліковано: 2009-01-14 09:56:14 Автор Share Опубліковано: 2009-01-14 09:56:14 Пардон) Насчет шнайпера разобрался) Меня интересуют эти коды и файлы. echo "$mark" > /var/stargazer/users/$LOGIN/shaper_mark echo "$speedkb" > /var/stargazer/users/$LOGIN/shaper_rate То есть shaper_mark и shaper_rate в директории вообще нету. Откуда они берутся? И как их добавлять и что в них писать? (кроме того что добавил файл вручную) Ссылка на сообщение Поделиться на других сайтах
Neelix 33 Опубліковано: 2009-01-14 11:06:04 Share Опубліковано: 2009-01-14 11:06:04 не прикалывайся ) echo "$mark" > /var/stargazer/users/$LOGIN/shaper_mark команда направит вывод переменной $mark в файл директории юзера shaper_mark echo "$speedkb" > /var/stargazer/users/$LOGIN/shaper_rate аналогично тебе руками ничего не надо никуда забивать. это для удобства, чтобы можно было делать например выборку уже из директории. заходишь в директорию юзера, а там файлик с его скоростью в настоящий момент Ссылка на сообщение Поделиться на других сайтах
DJ Jack 0 Опубліковано: 2009-01-14 11:21:11 Автор Share Опубліковано: 2009-01-14 11:21:11 Ну насчет создается,да один файл CXZABA~I и в нем надпись tariff=pnet1024 Все,а хожу по сети со 100 мб/сек,вместо 1024 кб) shaping by tariff включен. shaping by userdata0 выключен OnConnect pnet1024) speedkb=1024kbit;; Ссылка на сообщение Поделиться на других сайтах
Neelix 33 Опубліковано: 2009-01-14 11:34:19 Share Опубліковано: 2009-01-14 11:34:19 если незнаешь bash scripting, то тяжело будет понять в чем дело и изза чего передаются такие параметры Ссылка на сообщение Поделиться на других сайтах
DJ Jack 0 Опубліковано: 2009-01-14 11:42:25 Автор Share Опубліковано: 2009-01-14 11:42:25 bash я на самом деле не очень,я php программист... Ссылка на сообщение Поделиться на других сайтах
DJ Jack 0 Опубліковано: 2009-01-14 11:47:58 Автор Share Опубліковано: 2009-01-14 11:47:58 Это мои скрипты. Фаеревол. #!/bin/bash #Машина в офисе office=10.23.64.10 #Машина администратора admin=10.23.64.6 #Адреса роутера server0=10.23.64.10 server1=192.168.1.4 server2=10.23.64.10 # Адрес файлового архива с mp3 и video video_serv=192.168.1.4 # Интерфейс смотрящий на клиентов iface_cli=eth1 # Интерфейс смотрящий во внешний мир iface_world=eth0 # Интерфейс смотрящий на архив iface_int=eth1 #Порты, на которых работает конфигуратор и авторизатор conf_port=5555 user_port1=5555 echo "1" > /proc/sys/net/ipv4/ip_forward # Очищаем правила файрвола iptables -t filter -F iptables -t filter -X iptables -t nat -F iptables -t nat -X # Политика по умолчанию DROP: всем всё запрещено iptables -t filter -P INPUT DROP iptables -t filter -P FORWARD DROP iptables -t filter -P OUTPUT DROP # Защищаем сервер от дос атак. iptables -A INPUT -p tcp --dport 80 --syn -m recent --rcheck --seconds 5 --hitcount 10 -j DROP iptables -A INPUT -p tcp --dport 80 --syn -m recent --set -j ACCEPT # Разрешаем пингам ходить всюду и всегда iptables -t filter -A INPUT -p icmp -j ACCEPT iptables -t filter -A FORWARD -p icmp -j ACCEPT iptables -t filter -A OUTPUT -p icmp -j ACCEPT # Разрешаем всё на локальном интерфейсе iptables -t filter -A INPUT -d 127.0.0.1 -j ACCEPT iptables -t filter -A OUTPUT -s 127.0.0.1 -j ACCEPT # Разрешить серверу общаться со внешним миром iptables -t filter -A INPUT -i $iface_world -j ACCEPT iptables -t filter -A OUTPUT -o $iface_world -j ACCEPT # Разрешить видео-серверу обращаться во внешним миром и роутером iptables -t filter -A INPUT -s $video_serv -j ACCEPT iptables -t filter -A FORWARD -s $video_serv -j ACCEPT iptables -t filter -A FORWARD -d $video_serv -j ACCEPT iptables -t filter -A OUTPUT -d $video_serv -j ACCEPT # DNS. Замечу, ДНС работает и по TCP и по UDP iptables -t filter -A INPUT -p tcp --sport 53 -j ACCEPT iptables -t filter -A FORWARD -p tcp --sport 53 -j ACCEPT iptables -t filter -A FORWARD -p tcp --dport 53 -j ACCEPT iptables -t filter -A OUTPUT -p tcp --dport 53 -j ACCEPT iptables -t filter -A INPUT -p udp --sport 53 -j ACCEPT iptables -t filter -A FORWARD -p udp --sport 53 -j ACCEPT iptables -t filter -A FORWARD -p udp --dport 53 -j ACCEPT iptables -t filter -A OUTPUT -p udp --dport 53 -j ACCEPT # SSH iptables -t filter -A INPUT -p tcp -s $office -d $server0 --dport 6282 -j ACCEPT iptables -t filter -A OUTPUT -p tcp -d $office -s $server0 --sport 6282 -j ACCEPT iptables -t filter -A INPUT -p tcp -s $admin -d $server0 --dport 6282 -j ACCEPT iptables -t filter -A OUTPUT -p tcp -d $admin -s $server0 --sport 6282 -j ACCEPT # Stargazer configurator iptables -t filter -A INPUT -p tcp -s 0.0.0.0/0 -d 0.0.0.0/0 --dport $conf_port -j ACCEPT iptables -t filter -A OUTPUT -p tcp -d 0.0.0.0/0 -s 0.0.0.0/0 --sport $conf_port -j ACCEPT # UDP stargazer InetAccess iptables -t filter -A INPUT -p udp -s 0.0.0.0/0 --sport $user_port1 -d $server0 -j ACCEPT iptables -t filter -A OUTPUT -p udp -d 0.0.0.0/0 --dport $user_port1 -s $server0 -j ACCEPT # Mail Anent iptables -t filter -A INPUT -p tcp -s 10.23.0.0/16 -d 194.67.23.196 --dport 80 -j ACCEPT iptables -t filter -A OUTPUT -p tcp -d 10.23.0.0/16 -s 194.67.23.196 --sport 80 -j ACCEPT # Mail Anent 2 iptables -t filter -A INPUT -p tcp -s 10.23.0.0/16 -d 194.186.55.0/24 --dport 2041 -j ACCEPT iptables -t filter -A OUTPUT -p tcp -d 10.23.0.0/16 -s 194.186.55.0/24 --sport 2041 -j ACCEPT # DNS iptables -t filter -A INPUT -p tcp -s 0.0.0.0/0 -d 0.0.0.0/0 --dport 53 -j ACCEPT iptables -t filter -A OUTPUT -p tcp -d 0.0.0.0/0 -s 0.0.0.0/0 --sport 53 -j ACCEPT # Web iptables -t filter -A INPUT -p tcp -s 10.23.0.0/16 -d 0.0.0.0/0 --dport 80 -j ACCEPT iptables -t filter -A OUTPUT -p tcp -d 10.23.0.0/16 -s 0.0.0.0/0 --sport 80 -j ACCEPT # Icecast iptables -t filter -A INPUT -p tcp -s 10.23.0.0/16 -d 0.0.0.0/0 --dport 8161 -j ACCEPT iptables -t filter -A OUTPUT -p tcp -d 10.23.0.0/16 -s 0.0.0.0/0 --sport 8161 -j ACCEPT # DNS 2 iptables -t filter -A INPUT -p udp -s 0.0.0.0/0 --sport 53 -d 0.0.0.0/0 -j ACCEPT iptables -t filter -A OUTPUT -p udp -d 0.0.0.0/0 --dport 53 -s 0.0.0.0/0 -j ACCEPT # Маскарад iptables -t nat -A POSTROUTING -d 0.0.0.0/0 -j MASQUERADE OnConnect #!/bin/bash ip=$2 iptables -t filter -A INPUT -s $ip -j ACCEPT iptables -t filter -A FORWARD -s $ip -j ACCEPT iptables -t filter -A FORWARD -d $ip -j ACCEPT iptables -t filter -A OUTPUT -d $ip -j ACCEPT #!/bin/bash int_iface=eth1 # Login LOGIN=$1 #user IP IP=$2 #cash CASH=$3 #user ID ID=$4 #Selected dirs to connect DIRS=$5 default_speed=10kbit # =========== shaping by tariff =========== tariff=$(grep -i "^tariff=" /var/stargazer/users/$LOGIN/conf | cut -f 2 -d"=") echo "tariff=$tariff" > /var/stargazer/users/$LOGIN/connect.log case $tariff in pnet96) speedkb=96kbit;; # 128 kbit pnet224) speedkb=224kbit;; # 224 kbi pnet1024) speedkb=1024kbit;; # 1024 kbit pnet5_5) speedkb=6000kbit;; # 6000 kbit pnet256b) speedkb=6000kbit;; # 512 kbit pnet512b) speedkb=512kbit;; # 512 kbit pnet128b) speedkb=128kbit;; # 512 kbit pnet96b) speedkb=96kbit;; # 96 kbit *) speedkb=$default_speed;; # default speed esac # ========= shaping by tariff end ========= # ========= shaping by userdata0 ========== #speedR=$(grep -i "^Userdata0=" /var/stargazer/users/$LOGIN/conf | cut -f 2 -d"=") #speed=$(echo $speedR | grep "^[0-9]*[0-9]$") #if [ -z "$speed" ] #then # speedkb=$default_speed #else # speedkb="$speed"kbit #fi # ======= shaping by userdata0 end ======== declare -i mark=$ID+10 echo "$mark" > /var/stargazer/users/$LOGIN/shaper_mark echo "$speedkb" > /var/stargazer/users/$LOGIN/shaper_rate iptables -t mangle -A FORWARD -d $IP -j MARK --set-mark $mark tc class add dev $int_iface parent 1:1 classid 1:$mark htb rate $speedkb burst 40k tc filter add dev $int_iface parent 1: protocol ip prio 3 handle $mark fw classid 1:$mark OnDisconnect #!/bin/bash ip=$2 iptables -t filter -D INPUT -s $ip -j ACCEPT while [ $? -eq 0 ] do iptables -t filter -D INPUT -s $ip -j ACCEPT done ################################## iptables -t filter -D FORWARD -s $ip -j ACCEPT while [ $? -eq 0 ] do iptables -t filter -D FORWARD -s $ip -j ACCEPT done ################################## iptables -t filter -D FORWARD -d $ip -j ACCEPT while [ $? -eq 0 ] do iptables -t filter -D FORWARD -d $ip -j ACCEPT done ################################## iptables -t filter -D OUTPUT -d $ip -j ACCEPT while [ $? -eq 0 ] do iptables -t filter -D OUTPUT -d $ip -j ACCEPT done #!/bin/bash int_iface=eth1 # Login LOGIN=$1 #user IP IP=$2 #cash CASH=$3 #user ID ID=$4 #Selected dirs to disconnect DIRS=$4 mark=$(cat /var/stargazer/users/$LOGIN/shaper_mark) rate=$(cat /var/stargazer/users/$LOGIN/shaper_rate) if [ -n "$mark" ] then iptables -t mangle -D FORWARD -d $IP -j MARK --set-mark $mark while [ $? == 0 ] do iptables -t mangle -D FORWARD -d $IP -j MARK --set-mark $mark done fi tc filter del dev $int_iface parent 1: protocol ip prio 3 handle $mark fw classid 1:$mark tc class del dev $int_iface parent 1:1 classid 1:$mark htb rate $rate burst 40k #echo "D `date +%Y.%m.%d-%H.%M.%S` $IP $CASH" >> /var/stargazer/users/$LOGIN/connect.log Ссылка на сообщение Поделиться на других сайтах
Колян 2 Опубліковано: 2009-01-14 15:57:54 Share Опубліковано: 2009-01-14 15:57:54 А на пхп скрипты сложно написать? У меня все скрипты на пхп... Ссылка на сообщение Поделиться на других сайтах
Al G 0 Опубліковано: 2009-01-14 20:41:22 Share Опубліковано: 2009-01-14 20:41:22 php для гипертекстовых страниц, а для системы перл и sh Ссылка на сообщение Поделиться на других сайтах
Neelix 33 Опубліковано: 2009-01-14 21:01:15 Share Опубліковано: 2009-01-14 21:01:15 php для гипертекстовых страниц, а для системы перл и sh то ты просто с php мало сталкивался ) оч гибко можно завернуть системные функции Ссылка на сообщение Поделиться на других сайтах
Рекомендованные сообщения
Создайте аккаунт или войдите в него для комментирования
Вы должны быть пользователем, чтобы оставить комментарий
Создать аккаунт
Зарегистрируйтесь для получения аккаунта. Это просто!
Зарегистрировать аккаунтВхід
Уже зарегистрированы? Войдите здесь.
Войти сейчас