Перейти до

Установка Stg


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

В общем на работе завал.

В ближайшие срок нужно поставить:

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

Оплату гарантирую через банк или Яндекс Деньги)

Спасибо.

Ссылка на сообщение
Поделиться на других сайтах
Все,ваши предложение и цены,готов заплатить,но не больше 1300 руб.

PS. Кто точно не умеет этого делать лучше не писать,т.к хочу профи.

за такие деньги... это 338 грн

ка минимум в 3-4 раза больше нужно

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

за такие деньги разве что на фрюхе могу поднять биллинг, шейпер, но без всяких ппп, ну и подсчет трафа настроить. ну еще немного секса с фаерволлом и шейпером.

А то, что Вы описали - стоить будет намного дороже...

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

Ладно,pppoe выкидываем,я все настроил (кроме фаеревола)

Делал как тут _http://stg.dp.ua/doc20/conf_example_linux.html

Не помогло,считает трафик как нужно мне,но,не отключает инет когда я нажимаю отключиться (инет как был так и есть)

Собственно.

1)Настроить фаеревол чтобы он отключал когда нажимаю офф

2)Скорость инета ограничивал (также как выше написал для тарифа inet128 скорость 128,для 256 скорость 256 и тд)

Сколько хотите?

Я думаю тут не трудно.

И не говорите поставьте Freebsd (не пользуемся ей) только Linux.

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

1. сделай лучше циклами while, для локального скрипта, iptables

2. в дистрибутиве стг, если не ошибаюсь есть примеры скриптов, с учетов выборке из поля Userdata

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

Блин,что никто не знает как сделать ограничение скорости на разных тарифах(linux)?

С OnConnect/OnDisconnect разобрался. Теперь отключает и выключает.

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

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

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

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

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

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

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

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

В 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 подставить имена ваших тарифов

и соотв. скорость. Пользователи с тарифами не указанными в списке будут иметь

дефолтную скорость.

 

Скорость ограничевается только для входящего тарафика, однако расширить

эти скрипты для исходящего не составит труда.

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

Напиши свою ICQ или агент.

А так просто огромное спасибо!!!!

Я тайный агент ;)

 

извини, настроить конкретно под твою систему нет времени.

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

Пардон) Насчет шнайпера разобрался)

Меня интересуют эти коды и файлы.

echo "$mark" > /var/stargazer/users/$LOGIN/shaper_mark

echo "$speedkb" > /var/stargazer/users/$LOGIN/shaper_rate

То есть shaper_mark и shaper_rate в директории вообще нету.

Откуда они берутся? И как их добавлять и что в них писать? (кроме того что добавил файл вручную)

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

не прикалывайся )

 

echo "$mark" > /var/stargazer/users/$LOGIN/shaper_mark

команда направит вывод переменной $mark в файл директории юзера shaper_mark

echo "$speedkb" > /var/stargazer/users/$LOGIN/shaper_rate аналогично

 

тебе руками ничего не надо никуда забивать.

это для удобства, чтобы можно было делать например выборку уже из директории.

 

заходишь в директорию юзера, а там файлик с его скоростью в настоящий момент

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

Ну насчет создается,да один файл CXZABA~I и в нем надпись tariff=pnet1024

Все,а хожу по сети со 100 мб/сек,вместо 1024 кб)

shaping by tariff включен. shaping by userdata0 выключен

OnConnect

pnet1024) speedkb=1024kbit;;

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

Это мои скрипты.

Фаеревол.

#!/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

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

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

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

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

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

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

Вхід

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

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

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

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