zulu_gluk 23 Опубликовано: 2004-12-17 08:39:17 Share Опубликовано: 2004-12-17 08:39:17 Хочу поставить себе тарелку для уменьшения стоимости траффика. Но возникает одна проблема: у меня есть клиенты, которые подключились для того чтобы играть по батлнету. Я их устраиваю более чем (пинг до европейского сервера меньше 70), но если поставлю тарелку и буду через нее всех пускать в инет, то естественно возрастут задержки и начнутся жалобы. Что хочется: создать тарифный план чисто для геймеров. При подключении абонента проверяется его тарифный план и в зависимости от него перестраивается таблица маршрутизации: если т/п обычный - пускаем через тарелку, если геймерский - то по земле. Как это сделать и реально ли вообще? Ссылка на сообщение Поделиться на других сайтах
XoRe 0 Опубліковано: 2004-12-17 09:36:24 Share Опубліковано: 2004-12-17 09:36:24 А если такое решение: прописать роутинг до ip адресов игровых серверов статически, чтобы шел прямо. Т.е. route add адрес_игрового_сервера адрес_наземного_шлюза Ссылка на сообщение Поделиться на других сайтах
stg-34 0 Опубліковано: 2004-12-17 09:39:27 Share Опубліковано: 2004-12-17 09:39:27 Имхо XoRe предложил самое разумное решение. На крайняк, у тебя в OnConnect передается имя юзера, зная его, можно выдрать из настроек юзера имя тарифа, сравнить его с геймерским тарифом и перестроить маршрутизацию Ссылка на сообщение Поделиться на других сайтах
zulu_gluk 23 Опубліковано: 2004-12-17 12:33:11 Автор Share Опубліковано: 2004-12-17 12:33:11 Спасибо за помощь. Я всё понял. Но прописывать роутинг до каждого сервера не стоит (вдруг кто-то будет в квэйк играть или в контру, а серверов там очень много), прийдется добавлять в ОнКоннект условие, в котором будет проверяться тарифный план. Ссылка на сообщение Поделиться на других сайтах
Quarcel 0 Опубліковано: 2004-12-17 14:49:39 Share Опубліковано: 2004-12-17 14:49:39 Я делал так: настраиваем роутинг: echo 100 dsl_table >> /etc/iproute2/rt_tables ip rule add fwmark 10 preference 200 table dsl_table ip route add default via "шлюз провайдера по земле" dev eth1 table dsl_table ip route flush cache (дефолтовый route в основной таблице роутинга при таких настройках должен идти на спутник) (ядро должно поддерживать FW mark(CONFIG_IP_ROUTE_FWMARK) и многотабличный роутинг(CONFIG_IP_MULTIPLE_TABLES) и возможно ещё чего-то чего я не помню) в скрипте OnConnect добавляем: INC="_dsl" EX=`echo $1 | grep "$INC"` if [ -n "$EX" ]; then iptables -t mangle -A PREROUTING -s $2 -d ! 192.168.1.0/24 -j MARK --set-mark 0x10 fi в скрипте OnDisconnect аналогичным образом удаляем правило теперь пользователи чье имя содержит строку "_dsl" пойдут по земле. В принципе можно это делать и по имени тарифа, но для этого нужно править код СГ чтоб в скрипт передавалось имя тарифа Ссылка на сообщение Поделиться на других сайтах
stg-34 0 Опубліковано: 2004-12-17 14:57:36 Share Опубліковано: 2004-12-17 14:57:36 В принципе можно это делать и по имени тарифа, но для этого нужно править код СГ чтоб в скрипт передавалось имя тарифа login=$2 INC="_dsl" EX=`grep "tariff" /var/stargazer/users/$login/conf | grep $INC` if [ -n "$EX" ]; then ....... И не надо править код стг Ссылка на сообщение Поделиться на других сайтах
Рекомендованные сообщения
Создайте аккаунт или войдите в него для комментирования
Вы должны быть пользователем, чтобы оставить комментарий
Создать аккаунт
Зарегистрируйтесь для получения аккаунта. Это просто!
Зарегистрировать аккаунтВхід
Уже зарегистрированы? Войдите здесь.
Войти сейчас