Возможно вы искали: 'Magic Colors Classic'

May 15 2025 19:31:08
  • Как сделать 8Gamers.Ru домашней страницей?
  • Игры
    • База данных по играх
    • Игровые новости
    • Игровая индустрия
    • Обзоры на игры
    • Прохождения игр
    • Гайды к играм
    • Превью о играх
    • Игровые тизеры
    • Игровые арты
    • Игровые обои
    • Игровые скриншоты
    • Игровые обложки
    • Игровые трейлеры
    • Игровое видео
    • Вышедшие игры
    • Ближайшие релизы игр
  • Кино и ТВ
    • База данных по кино
    • Статьи о кино
    • Постеры
    • Кадры из кино
    • Кино трейлеры
    • Сегодня в кино
    • Скоро в кино
  • Комиксы и манга
    • Манга по алфавиту
    • База данных по комиксах
    • Читать онлайн комиксы
    • Читать онлайн манга
    • База персонажей
  • Читы и коды
    • Чит-коды для PC игр
    • Чит-коды для консольных игр
    • Трейнеры
    • Коды Game Genie
  • Моддинг
    • Модификации
    • Карты к играм
    • Программы для моддинга
    • Статьи о моддинге
  • Геймдев
    • Всё о создании игр
    • Список движков
    • Утилиты в помощь игроделу
    • Конструкторы игр
    • Игровые движки
    • Библиотеки разработки
    • 3D-модели
    • Спрайты и тайлы
    • Музыка и звуки
    • Текстуры и фоны
  • Рецензии
    • Игры
    • Кино
    • Аниме
    • Комиксы
    • Мангу
    • Саундтреки
  • Саундтреки
    • Лирика
  • Файлы
    • Патчи к играм
    • Русификаторы к играм
    • Сохранения к играм
    • Субтитры к кино
  • Медиа
    • Видео
    • Фото
    • Аудио
    • Фан-арты
    • Косплей
    • Фото с виставок
    • Девушки из игр
    • Рисунки
    • Рисуем онлайн
    • Фотохостинг
  • Юмор
    • Анекдоты
    • Афоризмы
    • Истории
    • Стишки и эпиграммы
    • Тосты
    • Цитаты
  • Флеш
    • Азартные
    • Аркады
    • Бродилки
    • Гонки
    • Для девочек
    • Для мальчиков
    • Драки
    • Квесты
    • Леталки
    • Логические
    • Мультфильмы
    • Открытки
    • Приколы
    • Разное
    • Спорт
    • Стратегии
    • Стрелялки
Статистика

Статей: 87772
Просмотров: 96111483
Игры
Injustice:  Gods Among Us
Injustice: Gods Among Us
...
Dark Souls 2
Dark Souls 2
Dark Souls II - вторая часть самой хардкорной ролевой игры 2011-2012 года, с новым героем, сюжето...
Battlefield 4
Battlefield 4
Battlefield 4 - продолжение венценосного мультиплеер-ориентированного шутера от первого ли...
Кино
Steins;Gate
Steins;Gate
Любители японской анимации уже давно поняли ,что аниме сериалы могут дать порой гораздо больше пи...
Ку! Кин-дза-дза
Ку! Кин-дза-дза
Начинающий диджей Толик и всемирно известный виолончелист Владимир Чижов встречают на шумной моск...
Обзоры на игры
• Обзор Ibara [PCB/PS2] 18357
• Обзор The Walking ... 18801
• Обзор DMC: Devil M... 19879
• Обзор на игру Valk... 15877
• Обзор на игру Stars! 17764
• Обзор на Far Cry 3 17948
• Обзор на Resident ... 16024
• Обзор на Chivalry:... 17508
• Обзор на игру Kerb... 17981
• Обзор игры 007: Fr... 16619
Превью о играх
• Превью к игре Comp... 17960
• Превью о игре Mage... 14464
• Превью Incredible ... 14721
• Превью Firefall 13479
• Превью Dead Space 3 16334
• Превью о игре SimC... 14730
• Превью к игре Fuse 15442
• Превью Red Orche... 15542
• Превью Gothic 3 16343
• Превью Black & W... 17354
Главная » Статьи » Разное » Ограничение пропускной способности каналов при реализации VPN сервера на базе MPD (mpd vpn pptp freebsd shaper limit speed bandwidth radius traffic)

Ограничение пропускной способности каналов при реализации VPN сервера на базе MPD (mpd vpn pptp freebsd shaper limit speed bandwidth radius traffic)

Ключевые слова: mpd, vpn, pptp, freebsd, shaper, limit, speed, bandwidth, radius, traffic, (найти похожие документы)

From: Vitaliy Yermistov <vantooatukrdotnet>
Newsgroups: email
Date: Mon, 07 Aug 2006 14:31:37 +0000 (UTC)
Subject: Ограничение пропускной способности каналов при реализации VPN сервера на базе MPD

Часто VPN сервер используется как часть биллинговой системы провайдера
для предоставления доступа в Интернет пользователям локальной сети.
При этом зачастую возникает необходимость ограничения пропускной способности
канала, причем скорость передачи данных должна отличатся индивидуально для каждого
пользователя. В данной статье я хочу предложить свой способ решения данной
задачи.

Самыми распространенными являются следующие ситуации:

1. Биллинговая система основана на протоколе AAA Radius.
2. Биллинговая система ведет учет трафика с помощью других программных средств,
либо вообще не нуждается в подсчете объема переданной и принятой информации.

В первом случае наиболее целесообразно, на мой взгляд, подключить к Radius
словарь MPD:


######################## dictionary.mpd ###############################
VENDOR mpd 12341

ATTRIBUTE mpd-rule 1 string mpd
ATTRIBUTE mpd-pipe 2 string mpd
ATTRIBUTE mpd-queue 3 string mpd
#######################################################################




Файл необходимо разместить в папке, в которой хранятся словари вашего Radius,
и внести имя файла dictionary.mpd в список используемых словарей. Далее необходимо
заставить Radius передавать необходимые параметры (ACL) MPD. В данной статье мы не
будем детально рассматривать этот способ, так как он подробно описан в документации MPD,
которую Вы можете найти в папке /usr/local/share/doc/mpd. Скажу только, что работает
он хорошо, его я и предпочитаю использовать.

Однако в случае, если биллинговая система не предусматривает использования сервера
Radius, а источником имени пользователя и пароля служит стандартный файл mpd.secret
(например, если провайдер небольшой), то в качестве альтернативы я хочу предложить
следующий выход (сразу оговорюсь, что ниже представленные скрипты Вы можете использовать
исключительно на свой страх и риск, и претензии в случае неправильной работы системы
автором статьи не принимаются).

Подразумевается, что у Вас уже имеется, сконфигурированный и работающий VPN сервер на MPD,
если нет, то воспользуйтесь статьями, по этой теме.

Добавьте в файл mpd.conf следующие строки:

set iface up-script /usr/local/etc/mpd/shaping/up.sh
set iface down-script /usr/local/etc/mpd/shaping/down.sh


Не забываем сделать отступы табуляциями в начале строк!

Если конфиги Вашего MPD лежат не в папке /usr/local/etc/mpd/, то измените эти строки,
и все последующие вхождения /usr/local/etc/mpd/ на свой путь к конфигам.

Создаем папку, в которой будут хранится наши файлы:

cd /usr/local/etc/mpd/
mkdir shaping
cd shaping


Здесь создаем следующие файлы:


######################## bandwidth.dat ################################

# user incoming outcoming

bill 32Kbit/s 64Kbit/s
eva 16KBytes/s 1MBytes/s
sam 128Kbit/s 1000Kbit/s

#######################################################################




Это собственно файл, в котором необходимо указать пропускную способность входящего и
исходящего каналов для каждого пользователя. Имена пользователей должны совпадать с именами
в файле mpd.secret. Направление потока (входящий, исходящий) принимаются относительно сервера.
Примеры указания значений скорости передачи: 32Kbit/s 6Mbit/s 24KBytes/s 4MBytes/s, будьте
внимательны, если неправильно указать значение, то пользователь получит неограниченный канал.
Все символы, следующие за символом "#" игнорируются, игнорируются также лишние пробелы,
табуляции и пустые строки.


########################### parse.awk ##################################
BEGIN { FS = "#" }
{ if ( $1 != "" ) print $1 }

########################################################################




Это вспомогательный скрипт на языке awk, его будет использовать следующий скрипт.


############################### up.sh ##################################

#!/bin/sh
# UP-SCRIPT

cd /usr/local/etc/mpd/shaping

intnum=$(awk "BEGIN { printf "%03s", substr("$1", 3) }")

username=$5

incom=$(awk -f parse.awk bandwidth.dat | awk "NF > 0 && $1 == "$username" { print $2 }")

if [ "$incom" = "" ]; then
incom="32Kbit/s"
echo $(date '+%Y-%m-%d %H:%M:%S')" Incomming bandwidth for user [$username] are not determined, I set it to 32Kbit/s" >> shaper.log
fi
# Если значение ширины входящего канала для данного пользователя не указано,
# то используется значение 32Kbit/s, в этом случае создается запись в
# файле /usr/local/etc/mpd/shaping/shaper.log, проверяйте этот файл время от времени.

outcom=$(awk -f parse.awk bandwidth.dat | awk "NF > 0 && $1 == "$username" { print $3 }")

if [ "$outcom" = "" ]; then
outcom="32Kbit/s"
echo $(date '+%Y-%m-%d %H:%M:%S')" Outcomming bandwidth for user [$username] are not determined, I set it to 32Kbit/s" >> shaper.log
fi
# Та же проверка и для исходящего канала

ipfw pipe $(echo 30$intnum) config bw $incom
ipfw pipe $(echo 31$intnum) config bw $outcom
ipfw add $(echo 30$intnum) pipe $(echo 30$intnum) all from any to any in via $1
ipfw add $(echo 31$intnum) pipe $(echo 31$intnum) all from any to any out via $1
ipfw add $(echo 32$intnum) allow all from any to any via $1

################################################################################




Этот скрипт вызывается MPD при установлении соединения с хостом пользователя
и добавляет правила IPFW, ограничивающие пропускную способность каналов.
В Вашей системе должен работать IPFW, для этого скомпилируйте ядро с опциями:


options IPFIREWALL # ОБЯЗАТЕЛЬНО! Сам IPFW
options IPFIREWALL_VERBOSE # Поддержка логирования
options IPFIREWALL_FORWARD # Поддержка перенаправления пакетов
options IPFIREWALL_VERBOSE_LIMIT=100 # Ограничение кол-ва лог-записей
options IPFIREWALL_DEFAULT_TO_ACCEPT # Обязательно для начинающих!
options DUMMYNET # ОБЯЗАТЕЛЬНО! Формирователь трафика
options IPDIVERT # Скорее всего понадобится для NAT




И, наконец, последний скрипт


############################# down.sh ######################################

#!/bin/sh
# DOWN-SCRIPT

intnum=$(awk "BEGIN { printf "%03s", substr("$1", 3) }")

ipfw pipe delete $(echo 30$intnum)
ipfw pipe delete $(echo 31$intnum)
ipfw delete $(echo 30$intnum)
ipfw delete $(echo 31$intnum)
ipfw delete $(echo 32$intnum)

############################################################################




Этот скрипт вызывается MPD при разрыве соединения с хостом пользователя,
здесь удаляются правила, созданные предыдущим скриптом (IPFW позволяет создавать
множество правил под одним номером, и если их не удалять, то вывод команд
ipfw show и ipfw pipe show засоряется старыми правилами).
При добавлении своих правил IPFW не используйте номера с 30000 по 32999,
они используются данной системой, думаю остальных 62535 номеров Вам должно хватить :-)

Не забываем сделать скрипты исполняемыми:

chmod 774 up.sh
chmod 744 down.sh


Вот, собственно, и все, перезапускаем MPD и проверяем работу системы. Удачи!
1256 Прочтений •  [Ограничение пропускной способности каналов при реализации VPN сервера на базе MPD (mpd vpn pptp freebsd shaper limit speed bandwidth radius traffic)] [08.05.2012] [Комментариев: 0]
Добавил: Ukraine Vova
Ссылки
HTML: 
[BB Url]: 
Похожие статьи
Название Добавил Добавлено
• Ограничение пропускной способности ... Ukraine Vova 08.05.2012
Ни одного комментария? Будешь первым :).
Пожалуйста, авторизуйтесь для добавления комментария.

Проект входит в сеть сайтов «8Gamers Network»

Все права сохранены. 8Gamers.NET © 2011 - 2025

Статьи
Рецензия на Pressure
Рецензия на Pressure
Чтобы обратить на себя внимание, начинающие маленькие разработчики, как правило, уходят в жанры, ...
Рецензия на Lost Chronicles of Zerzura
Рецензия на Lost Chron...
Игры, сделанные без любви и старания, похожи на воздушный шар – оболочка есть, а внутри пусто. Lo...
Рецензия на The Bridge
Рецензия на The Bridge
«Верх» и «низ» в The Bridge — понятия относительные. Прогуливаясь под аркой, можно запросто перей...
Рецензия на SimCity
Рецензия на SimCity
Когда месяц назад состоялся релиз SimCity, по Сети прокатилось цунами народного гнева – глупые ош...
Рецензия на Strategy & Tactics: World War 2
Рецензия на Strategy &...
Название Strategy & Tactics: World War II вряд ли кому-то знакомо. Зато одного взгляда на ее скри...
Рецензия на игру Scribblenauts Unlimited
Рецензия на игру Scrib...
По сложившейся традиции в информационной карточке игры мы приводим в пример несколько похожих игр...
Рецензия на игру Walking Dead: Survival Instinct, The
Рецензия на игру Walki...
Зомби и продукция-по-лицензии — которые и сами по себе не лучшие представители игровой биосферы —...
Обратная связь | RSS | Донейт | Статистика | Команда | Техническая поддержка