Тут показані розбіжності між вибраною ревізією та поточною версією сторінки.
| Порівняння попередніх версій Попередня ревізія | |||
|
microtik [2023/06/15 20:27] nightfly знищено |
— (поточний) | ||
|---|---|---|---|
| Рядок 1: | Рядок 1: | ||
| - | ====== Эта реализация считается устаревшей и не поддерживается с релиза 0.4.3 ====== | ||
| - | **используйте [[mikrotikapi|Управление MikroTik через API]]** | ||
| - | |||
| - | ====== Использование Mikrotik в роли NAS ====== | ||
| - | Одним из популярных способов терминации пользователей на Mikrotik является использование последнего как DHCP-Relay с последующим шейпингом и ассоциацией IP+MAC там же. Ubilling начиная с версии 0.2.6 умеет напрямую общаться с Mikrotik с целью контроля вышеуказанных задач налету. | ||
| - | |||
| - | |||
| - | ===== Подготовка ===== | ||
| - | |||
| - | 1. Генерируем ключ без пароля для пользователя ubilling | ||
| - | # cd docs/ | ||
| - | # sh ssh_keygen.sh ubilling | ||
| - | # cp dsakey.ubilling / | ||
| - | |||
| - | 2. Добавляем пользователя ubilling на Mikrotik | ||
| - | [admin@MikroTik] > user add name=ubilling group=write | ||
| - | | ||
| - | 3. Заливаем публичный файл ключей на Mikrotik | ||
| - | # ftp 172.17.0.5 | ||
| - | # Connected to 172.17.0.5. | ||
| - | 220 MikroTik FTP server (MikroTik 4.5) ready | ||
| - | Name (172.17.0.5: | ||
| - | 331 Password required for admin | ||
| - | Password: | ||
| - | 230 User admin logged in | ||
| - | Remote system type is UNIX. | ||
| - | ftp> put dsakey.ubilling.pub | ||
| - | local: dsakey.ubilling.pub remote: dsakey.ubilling.pub | ||
| - | 500 ' | ||
| - | 227 Entering Passive Mode (172, | ||
| - | 150 Opening ASCII mode data connection for '/ | ||
| - | 226 ASCII transfer complete | ||
| - | 599 bytes sent in 00:00 (70.39 KB/s) | ||
| - | ftp> quit | ||
| - | 221 Closing | ||
| - | | ||
| - | 4. Вешаем только что залитый ключ на пользователя Mikrotik | ||
| - | [admin@MikroTik] > user ssh-keys import file=dsakey.ubilling.pub user=ubilling | ||
| - | |||
| - | 5. Убеждаемся что все прошло нормально и ключ импортнулся | ||
| - | ssh -l ubilling | ||
| - | |||
| - | |||
| - | ===== Настройка Ubilling ===== | ||
| - | 1. Утаскиваем обработчик для Mikrotik-direct куда нужно: | ||
| - | # cp mk_push / | ||
| - | # chmod a+x / | ||
| - | | ||
| - | 2. Уносим определялку сервера доступа куда бы вы думали?: | ||
| - | # cp presets/ | ||
| - | # chmod a+x / | ||
| - | # cp presets/ | ||
| - | # chmod a+x / | ||
| - | правильно, | ||
| - | |||
| - | 3. Засовываем следующие заготовки в OnConnect и OnDisconnect | ||
| - | |||
| - | **/ | ||
| - | < | ||
| - | # detect correct NAS ip by user login | ||
| - | NASIP=`/ | ||
| - | |||
| - | #arp fix | ||
| - | / | ||
| - | #second way | ||
| - | #/ | ||
| - | |||
| - | # | ||
| - | / | ||
| - | |||
| - | #adding shaper queue | ||
| - | / | ||
| - | </ | ||
| - | \\ | ||
| - | **/ | ||
| - | < | ||
| - | # detect correct NAS ip by user login | ||
| - | NASIP=`/ | ||
| - | |||
| - | #arp cleanup | ||
| - | / | ||
| - | #second way: /ip arp set static ${IP} 00: | ||
| - | |||
| - | #deny | ||
| - | / | ||
| - | |||
| - | #delete shape queue | ||
| - | / | ||
| - | </ | ||
| - | |||
| - | ===== Настройка сенсора NetFlow на Mikrotik ===== | ||
| - | Если мы желаем вести учет трафика на NAS делаем следующее: | ||
| - | 1. Убеждаемся что stargazer использует cap_nf для подсчета трафика (он является умолчальным при установке Ubilling)\\ | ||
| - | 2. Настраиваем сенсор netflow: | ||
| - | [admin@MikroTik] > ip traffic-flow set enabled=yes | ||
| - | [admin@MikroTik] > ip traffic-flow target add address=[айпишка_сервера_ubilling]: | ||
| - | [admin@MikroTik] > ip traffic-flow set interfaces=[интерфейс_на_котором_считать] active-flow-timeout=20m inactive-flow-timeout=15s cache-entries=4k enabled=yes | ||
| - | |||
| - | ===== Обеспечение привязки IP+MAC ===== | ||
| - | В норме для обеспечения резервирования IP абонента его MAC адресом используется конструкция | ||
| - | "/ip arp add address=[IP_абонента] disabled=no interface=[интерфейс_абонентской_сети] mac-address=[MAC_абонента] comment=[логин_абонента]" | ||
| - | |||
| - | Для обеспечения единообразия имен интерфейсов указываемых в скриптах OnConnect/ | ||
| - | [admin@MikroTik] > /interface bridge add | ||
| - | [admin@MikroTik] > /interface bridge port add interface=ether1 bridge=bridge1 | ||
| - | |||
| - | делать это следует единоразово | ||
| - | | ||
| - | ===== Контроль доступа ===== | ||
| - | В норме, если не производиться дополнительного контроля доступа на сервере c FreeBSD/ | ||
| - | [admin@MikroTik] > /ip firewall filter add action=drop chain=forward disabled=no src-address-list=!ALLOW | ||
| - | | ||
| - | ===== DHCP-Relay ===== | ||
| - | Настраиваем перенаправление всех DHCP запросов на сервер с Ubilling для интерфейсов, | ||
| - | {{ : | ||
| - | |||
| - | ===== Управление DHCP сервером Mikrotik ===== | ||
| - | Если протащить DHCP трафик до пользователей находящихся за NAS Mikrotik является затруднительным, | ||
| - | |||
| - | / | ||
| - | / | ||
| - | |||
| - | |||
| - | ===== Сервера доступа разных типов ===== | ||
| - | Если вы желаете использовать в своей сети сервера доступа разных типов(rscriptd, | ||
| - | |||
| - | Пример использования для Mikrotik Direct (доступ к Mikrotik по ssh):\\ | ||
| - | |||
| - | < | ||
| - | NASTYPE=`/ | ||
| - | if [ " | ||
| - | then | ||
| - | # здесь обработка событий OnConnect/ | ||
| - | fi | ||
| - | |||
| - | </ | ||
| - | |||
| - | ===== Редирект на страницу пользователя ===== | ||
| - | |||
| - | < | ||
| - | /ip firewall nat chain=srcnat action=masquerade protocol=tcp src-address-list=deny dst-port=80 | ||
| - | /ip firewall nat chain=dstnat action=dst-nat to-addresses=IP-билинга to-ports=80 protocol=tcp src-address-list=deny dst-port=80 | ||
| - | </ | ||
| - | |||
| - | на дефолтном виртуалхосте сервера на которй происходит перенаправление пользователя из Mikrotik, должен висеть JS редирект вида: | ||
| - | <code php> | ||
| - | <script type=" | ||
| - | <!-- | ||
| - | window.location = " | ||
| - | //--> | ||
| - | </ | ||
| - | </ | ||