Користувальницькькі налаштування

Налаштування сайту


linux_isg

Розбіжності

Тут показані розбіжності між вибраною ревізією та поточною версією сторінки.

Посилання на цей список змін

Наступна ревізія
Попередня ревізія
linux_isg [2022/09/24 14:39]
127.0.0.1 зовнішнє редагування
linux_isg [2023/06/19 15:33] (поточний)
borisov
Рядок 1: Рядок 1:
 ====== Linux ISG на Debian 7.7.0 Wheezy ====== ====== Linux ISG на Debian 7.7.0 Wheezy ======
-Система предназначена для аутентификации, авторизации, учета и применения политик к трафику пользователей, проходящему через маршрутизатор под управлением ядра Linux. Является попыткой реализовать часть функционала Cisco ISG в рамках ОС Linux.+Система призначена для аутентифікації, авторизаціїобліку та застосування політик до трафіку користувачівщо проходить через маршрутизатор під управлінням ядра Linux. Є спробою реалізувати частину функціоналу Cisco ISG в рамках ОС Linux.
  
-===== Установка ===== +===== Встановлення ===== 
-Процесс установки описан на [[https://bitbucket.org/sysoleg/lisg/wiki/Home|странице проекта]], но мы, на всякий случай, напишем и здесьВсе команды исполняем от имени суперпользователя //root//.+Процес встановлення описано на [[https://bitbucket.org/sysoleg/lisg/wiki/Home|сторінці проєкту]], але ми про всяк випадок напишемо і тутУсі команди виконуємо від імені суперкористувача //root//.
  
-  * Удовлетворяем зависимости+  * Задовольняємо залежності
 <code> <code>
 # aptitude install linux-headers-$(uname -r) iptables-dev build-essential # aptitude install linux-headers-$(uname -r) iptables-dev build-essential
Рядок 11: Рядок 11:
 </code> </code>
  
-  * Скачиваем последнюю версию Linux ISG и распаковываем+  * Завантажуємо останню версію Linux ISG та розпаковуємо
 <code> <code>
 # wget --no-check-certificate https://bitbucket.org/sysoleg/lisg/get/master.tar.gz # wget --no-check-certificate https://bitbucket.org/sysoleg/lisg/get/master.tar.gz
Рядок 17: Рядок 17:
 </code> </code>
  
-  * Собираем и устанавливаем модуль ядра и модули iptables+  * Збираємо, встановлюємо модуль ядра та модулі iptables
 <code> <code>
 # cd sysoleg-lisg-*/kernel # cd sysoleg-lisg-*/kernel
Рядок 25: Рядок 25:
 </code> </code>
  
-  * Подгружаем модуль ядра+  * Підвантажуємо модуль ядра
 <code> <code>
 # modprobe ipt_ISG # modprobe ipt_ISG
 </code> </code>
  
-  * Устанавливаем поддержку на стороне userspace (скрипты демона и управления на Perl)+  * Встановлюємо підтримку на стороні userspace (скрипти демона і управління на Perl)
 <code> <code>
 # cd .. # cd ..
Рядок 36: Рядок 36:
 </code> </code>
  
-  * Поправим /opt/ISG/etc/config.pl по своему вкусу (описание [[linux_isg#настройка_linux_isg|ниже по тексту]]) +  * Поправимо /opt/ISG/etc/config.pl на свій смак (опис [[linux_isg#налаштування_linux_isg|нижче за текстом]]) 
-  * Запускаем демон ISGd.pl+  * Запускаємо демон ISGd.pl
 <code> <code>
 # /opt/ISG/bin/ISGd.pl # /opt/ISG/bin/ISGd.pl
 </code> </code>
-===== Дополнительно ===== +===== Додатково ===== 
-  * Автоматическая загрузка модуля ядра при старте системы+  * Автоматичне завантаження модуля ядра під час старту системи
 <code> <code>
 # echo ipt_ISG >> /etc/modules # echo ipt_ISG >> /etc/modules
 </code> </code>
  
-  * Создаём скрипт автоматического запуска демона ISGd.pl при старте системы в ///etc/init.d/linux-isg//+  * Створюємо скрипт автоматичного запуску демона ISGd.pl під час старту системи в ///etc/init.d/linux-isg//
 <file bash /etc/init.d/linux-isg> <file bash /etc/init.d/linux-isg>
 #!/bin/sh -e #!/bin/sh -e
Рядок 97: Рядок 97:
 </code> </code>
  
-===== Настройка Linux ISG =====+===== Налаштування Linux ISG =====
  
-Предположим: +Припустимо
-  - Адрес сервера доступа - 192.168.0.252; +  - Адреса сервера доступу - 192.168.0.252; 
-  - Адрес биллинга/FreeRADIUS - 192.168.0.250; +  - Адреса білінгу/FreeRADIUS - 192.168.0.250; 
-  - На сервере доступа настроен DHCP-сервер или DHCP-relay. Или пользователям адреса вбиваются вручную+  - На сервері доступу налаштований DHCP-сервер або DHCP-relay. Або користувачам адреси вбиваються вручну. 
-  - У нас есть сеть 10.0.0.0/24, которой нужно предоставить доступ: +  - У нас є мережа 10.0.0.0.0/24, якій потрібно надати доступ: 
-    * К локальным сетям (RFC1918) на скорости 100 Мбит/сек. не зависимо от его состояния в биллинге +    * До локальних мереж (RFC1918) на швидкості 100 Мбіт/сек. не залежно від його стану в білінгу 
-    * К глобальной сети (GLOBAL) на скорости 10 Мбит/сек., если абонент активный +    * До глобальної мережі (GLOBAL) на швидкості 10 Мбіт/сек., якщо абонент активний 
-    * Завернуть в личный кабинет, если абонент не активный (OFF-LINE), отключен принудительно (DOWN) или заморожен (PASSIVE). +    * Завернути в особистий кабінет, якщо абонент не активний (OFF-LINE), відключений примусово (DOWN) або заморожений (PASSIVE). 
-    * Т.к мы очень ленивые и не имеем собственного DNS, нужен постоянный доступ к DNS серверам Google: 8.8.8.8 и 8.8.4.4+    * Оскільки ми дуже ледачі і не маємо власного DNS, потрібен постійний доступ до DNS серверів Google: 8.8.8.8 и 8.8.4.4
  
-Предварительная настройка самого Linux ISG производиться в ///opt/ISG/etc/config.pl//. Главное, что здесь нужно - это настроить связь с сервером FreeRADIUS. Делается это приведением опций к такому виду:+Попереднє налаштування самого Linux ISG здійснюється в ///opt/ISG/etc/config.pl//. Головне, що тут потрібно - це налаштувати зв'язок із сервером FreeRADIUS. Робиться це приведенням опцій до такого вигляду:
 <file pl /opt/ISG/etc/config.pl> <file pl /opt/ISG/etc/config.pl>
 $cfg{radius_auth}{0} = { server => "192.168.0.250:1812", timeout => 5, secret => "90d65aea5b99" }; $cfg{radius_auth}{0} = { server => "192.168.0.250:1812", timeout => 5, secret => "90d65aea5b99" };
Рядок 120: Рядок 120:
 </file> </file>
  
-Также приведём файл ///etc/rc.local// к такому виду, чтобы заработали iptables:+Також приведемо файл ///etc/rc.local// до такого вигляду, щоб запрацювали iptables:
 <file bash /etc/rc.local> <file bash /etc/rc.local>
 #!/bin/sh -e #!/bin/sh -e
Рядок 153: Рядок 153:
 exit 0 exit 0
 </file> </file>
-==== Добавляем классы трафика ==== +==== Додаємо класи трафіку ==== 
-Перед добавлением сервисов, которые будут привязаны к пользователям необходимо определить классы трафика в файле ///opt/ISG/etc/tc.conf//Вот его содержимое для нашего случая:+Перед додаванням сервісів, які будуть прив'язані до користувачів, необхідно визначити класи трафіку у файлі ///opt/ISG/etc/tc.conf//Ось його вміст для нашого випадку:
 <file conf /opt/ISG/etc/tc.conf> <file conf /opt/ISG/etc/tc.conf>
 ## Traffic classes for lISG ## Traffic classes for lISG
Рядок 168: Рядок 168:
 </file> </file>
  
-**Важно!** Если указываете какой-либо конкретный IP добавляйте маску /32  +**Важливо! ** Якщо вказуєте якийсь конкретний IP додавайте маску /32  
-==== Добавляем сервисы ==== +==== Додаємо сервіси ==== 
-Сервисы устанавливаются в файле ///opt/ISG/etc/config.pl// в секции, ограниченной комментариями:+Сервіси встановлюються у файлі ///opt/ISG/etc/config.pl// у секції, обмеженій коментарями:
 <file pl /opt/ISG/etc/config.pl> <file pl /opt/ISG/etc/config.pl>
 ... ...
 ####################### Services description ####################### ####################### Services description #######################
- Здесь указываем сервисы+ Тут зазначаємо сервіси
 #################### End services description ###################### #################### End services description ######################
 ... ...
 </file> </file>
  
-Для нашей ситуации сервисы будут выглядеть приблизительно так:+Для нашої ситуації сервіси матимуть приблизно такий вигляд:
  
 <file pl /opt/ISG/etc/config.pl> <file pl /opt/ISG/etc/config.pl>
Рядок 209: Рядок 209:
 </file> </file>
  
-===== Настройка FreeRADIUS ===== +===== Налаштування FreeRADIUS ===== 
-  * Настраиваем FreeRADIUS по [[freeradius| этой документации]]. +  * Налаштовуємо FreeRADIUS за [[freeradius| цієї документації]]. 
-  * Добавляем новую сетьс "Использовать RADIUS" +  * Додаємо нову мережуз "Використовувати RADIUS" 
-  * Прибиваем сеть к серверу доступа с типом "local" +  * Прибиваємо мережу до сервера доступу з типом "local" 
-  * Переназначаем атрибут User-Name в модуле "Редактирование RADIUS-атрибутов для сети":+  * Перепризначаємо атрибут User-Name в модулі "Редагування RADIUS-атрибутів для мережі":
  
 {{ :radius_username_reassignment_ip.png?nolink& |}} {{ :radius_username_reassignment_ip.png?nolink& |}}
  
-  * Добавляем следующие атрибуты для сети (для примера)+  * Додаємо такі атрибути для мережі (для прикладу)
  
 {{ :linux_isg_minimal_attributes.png?950 |}} {{ :linux_isg_minimal_attributes.png?950 |}}
  
-===== Ограничение по тарифным планам ===== +===== Обмеження щодо тарифних планів ===== 
-Из-за особенностей самой системы Linux ISG мы не можем просто так взять и передать атрибуты скорости для пользователя. Но это ограничение легко обойти. Всёчто нужно - это добавить сервисы, названия которых будут соответствовать тарифным планам с указанием скоростей. Например для тарифа "Unlim-500" с симметричной скоростью 10 Мбит/сек. параметры будут такими:+Через особливості самої системи Linux ISG ми не можемо просто так узяти і передати атрибути швидкості для користувача. Але це обмеження легко обійти. Усещо потрібно - це додати сервіси, назви яких відповідатимуть тарифним планам із зазначенням швидкостей. Наприклад для тарифу "Unlim-500" із симетричною швидкістю 10 Мбіт/сек. параметри будуть такими:
 <code> <code>
 $cfg{srv}{"Unlim-500"}{rate_info} = "QD;10000000;312500;U;10000000;312500"; $cfg{srv}{"Unlim-500"}{rate_info} = "QD;10000000;312500;U;10000000;312500";
Рядок 228: Рядок 228:
 </code> </code>
  
-После, добавляем к списку атрибутов сети следующий:+Після, додаємо до списку атрибутів мережі наступний:
  
 {{ :linux_isg_add_tariff_service.png? |}} {{ :linux_isg_add_tariff_service.png? |}}
  
-После чего пользователи начнут получать дополнительно сервис с тарифом пользователя, и скорость будет "резаться" согласно тарифу...  +Після чого користувачі почнуть отримувати додатково сервіс з тарифом користувачаі швидкість буде обмежуватись згідно з тарифом...  
-===== Тестирование ===== +===== Тестування ===== 
-Если все прошло хорошо, то после попытки пользователя выйти в интернет, комманда ///opt/ISG/bin/ISG.pl// выведет нечто такое+Якщо все пройшло добре, то після спроби користувача вийти в інтернет, команда ///opt/ISG/bin/ISG.pl// виведе щось таке
 <code> <code>
 # /opt/ISG/bin/ISG.pl # /opt/ISG/bin/ISG.pl
Рядок 241: Рядок 241:
 </code> </code>
  
-А если нам нужно проверить сервисы, закреплённые за пользователем:+А якщо нам потрібно перевірити сервіси, закріплені за користувачем:
 <code> <code>
 # /opt/ISG/bin/ISG.pl show_services 10.0.0.2 # /opt/ISG/bin/ISG.pl show_services 10.0.0.2
linux_isg.1664019551.txt.gz · Востаннє змінено: 2022/09/24 14:39 повз 127.0.0.1