Тут показані розбіжності між вибраною ревізією та поточною версією сторінки.
Порівняння попередніх версій Попередня ревізія | Наступна ревізія По сторонах наступні версії | ||
microtik [2013/04/30 13:36] |
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 = " | ||
+ | //--> | ||
+ | </ | ||
+ | </ | ||