Тут показані розбіжності між вибраною ревізією та поточною версією сторінки.
Наступна ревізія | Попередня ревізія | ||
microtik [2022/09/24 14:39] 127.0.0.1 зовнішнє редагування |
— (поточний) | ||
---|---|---|---|
Рядок 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 = " | ||
- | //--> | ||
- | </ | ||
- | </ | ||