Подготовка
Все описанное тестировалось на RouterBOARD RB 951G-2HnD, но может служить инструкцией по конфигурации любого устройства на базе RouterOS 6.25 и выше. Для конфигурации устройства вам потребуется фирменная утилита winbox (для windows), либо mactelnet-client (для linux), конечно у RouterOS есть telnet/http/ssh, но пока про них забываем.
Подключаем ПК к пятому порту Mikrotik(вообще можно использовать любой, кроме первого), переворачиваем устройство и видим на наклейке со штрих-кодом диапазон mac адресов, последний относится к пятому порту, вводим его в окно подключения winbox, либо используем как аргумент mactelnet. Пользователь admin, пароль отсутсвует.
Появится предложение: сохранить базовую конфигурацию, либо обнулить устройство. Выбираем [Remove Configuration]. Устройство перезагрузится.
Добавление пользователя
Первым делом создаем нового пользователя и удаляем admin'а, да об этом все забывают.
Переходим: [System]?[Users]?[+].
Name: логин;
Group: full(полный доступ);
Password: пароль;
Confirm Password: пароль еще раз.
Подтверждаем нажатием на [Ok].
В таблице с пользователями выделяем admin и нажимаем [?].
/user add name=логин group=full password=пароль
/user remove admin
Отключаемся и заходим на устройство под новым пользователем.
Настройка провайдера
Провайдер будет подключаться в первый порт RouterBOARD, остальные четыре и беспроводной интерфейс отданы под домашнюю подсеть 192.168.10.0/24, адрес роутера в домашней подсети: 192.168.10.1, клиентам сети будут раздаваться адреса из диапазона 192.168.10.100-192.168.10.200.
Способы соединения с провайдером бывают различные, и если на физическом уровне у нас Ethernet (даже если он идет от xDLS-модема), то в качестве сетевых протоколов может быть IPoE (Static или DHCP), PPPoE, L2TP, PPTP или их комбинации (вообще PPTP, L2TP без настроенного IP работать не смогут), в добавок ко всему может быть привязка по mac адресу. Постараюсь рассмотреть наиболее частые случаи.
Но для начала переименовываем интерфейс ether1 в eth1-wan, для удобства: [Interfaces]?[Ether1]?[Name: eth1-wan]?[OK].
/interface ethernet set [find default-name=ether1] name=eth1-wan
Подключаем кабель провайдера в первый порт устройства.
Подмена mac-адреса
Не скажу, что все провайдеры используют привязку по mac, но встречаются такие довольно часто, особенно если используется IPoE для привязки IP и защиты от халявщиков.
Подмену можно совершить только через командный режим, так что нажимаем [New Terminal] и вводим:
/interface ethernet set eth1-wan mac-address=00:11:22:33:44:55
где 00:11:22:33:44:55 — mac зарезервированный у провайдера.
Автоматическое получение настроек средствами DHCP.
Наиболее простой вараиант: [IP]?[DHCP Client]?[+]?[Interface: eth1-wan]?[OK].
/ip dhcp-client add interface eth1-wan disabled=no
Статическая настройка IP
Тоже простой вариант, но потребуется уточнить у провайдера следующие параметры (значение указаны в качестве примера):
IP (ip адрес): 192.0.2.10;
mask (маска): 255.255.255.0(или /24);
gateway (шлюз): 192.0.2.1;
DNS1: 192.0.2.2;
DNS2: 192.0.2.3.
Добавляем IP на интерфейс: [IP]?[Addresses]?[+]?[Address: 192.0.2.10/255.255.255.0; Interface: eth1-wan]?[OK];
Добавляем default route: [IP]?[Routes]?[+]?[Dst.Address:0.0.0.0/0; Gateway:192.0.2.1; Check gateway: ping; Distance: 1]?[OK];
Добавляем DNS: [IP]?[DNS]?[Servers: 192.0.2.2; 192.0.2.3]?[OK].
/ip address add address=192.0.2.10/255.255.255.0 interface=eth1-wan
/ip route add dst-address=0.0.0.0/0 gateway=192.0.2.1 check-gateway=ping distance=1
/ip dns set servers=192.0.2.2,192.0.2.3
Настройка PPPoE
PPPoE — туннельный протокол для которого не требуется предварительная настройка IP. Конечно, у провайдера может быть пиринг с другими сетями или доступ в свою сеть без ограничения по скорости, которые работают вне PPPoE интерфейса и требуют добавления отдельного маршрута (DualAccess или Russian PPPoE в SOHO роутерах), но подобная конфигурация выходит за рамки HOWTO для начинающих.
Для конфигурации PPPoE потребуется узнать логин и пароль для подключения к сети (обычно выдаются при заключении договора).
Добавляем туннельный интерфейс: [PPP]?[+]?[PPPoE Client].
На вкладке [Genaral] указываем имя интерфейса Name=tap1-wan и интерфейс провайдера Interface=eth1-wan.
На вкладке [Dial Out] указываем логин и пароль для подключения, остальные опции по скриншотам.
/interface pppoe-client add interface=eth1-wan name=tap1-wan disabled=no user=логин password=пароль use-peer-dns=yes add-default-route=yes default-route-distance=0
Важно: Если вы используете PPPoE, то в дальнейшем используйте вместо eth1-wan интерфейс tap1-wan.
Настройка L2TP/PPTP
Вот мы и подошли к самому богатому на подводные камни способу подключения. Оба протокола настраиваются схожим образом, но требуют предварительной настройки IP (средствами DHCP, либо статически). Проблема mikrotik в том, что задав адрес сервера доменным именем, он распознает его в адрес один раз и будет использовать только данный адрес, если адрес поменяется (либо провайдер использует RoundRobin DNS и сервер будет перегружен), то велика вероятность остаться без интернета. Со стороны провайдера тоже могут быть забавные вещи, например DNS сервера доступные только из локальной сети, либо необходимость заранее прописать статический маршрут до сервера PPTP/L2TP, если вам посчастливилось стать клиентом желто-полосатого провайдера, можете смело скачивать и изучать соответствующую инструкцию. Вариант с DualAccess L2TP/PPTP тоже возможен.
Но будем считать, что у вас все хорошо, IP адрес получили средствами DHCP, узнать у провайдера: логин, пароль и сервер vpn, можно приступать к настройке.
Добавляем интерфейс PPTP/L2TP: [PPP]?[+]?[PPTP Client или L2TP Client].
На вкладке [General] указываем имя подключения: Name=tun1-wan.
На вкладке [Dial out] указываем сервер PPTP или L2TP, логин и пароль.
/interface pptp-client add name=tun1-wan disabled=no connect-to=сервер_vpn user=логин password=пароль add-default-route=yes default-route-distance=1 profile=default
Важно: Если вы используете L2TP/PPTP, то в дальнейшем используйте вместо eth1-wan интерфейс tun1-wan.
А как-же Yota?
А просто. Если вам попался USB модем, то скорее всего он будет определяться как ethernet интерфейс в [Interfaces]?[LTE] и достаточно забирать с него IP средствами DHCP. Но для первичной активации модем придется подключить к ПК. Не знаю со всеми моделями модемов так или мне попался неудачный, но без предварительной активации на ПК работать он отказывался.
Другие 3G/4G модемы
Если модем не определяется как сетевая карта, но Mikrotik его видит в [System]?[Resources]?[USB], то потребуется создать PPP подключение для интерфейса usb1, в некоторых ситуациях устройство необходимо прежде перевести в режим модема AT командой(ищите на соответствующих форумах). В любом случае вариантов великое множество, один из них описан здесь.
Подготовка интерфейсов для локальной сети
На данный момент интерфейсы ether2-ether5 и wlan1 работают независимо друг от друга, их необходимо объединить в единую среду передачи данных.
Ethernet интерфейсы можно объединить на аппаратном уровне, что повысит скорость передачи данных и снизит нагрузку на CPU (по сравнению с программным мостом). В качестве master port будет использоваться ether5, можно назначить любой, но если появится еще один провайдер, то логично будет подключить его во второй порт (и отключить на нем master port).
Переименовываем ether5 в eth5-lan: [Interfaces]?[ether5]?[Name: eth5-lan]?[OK];
Переименовываем ether2-ether4 и устанавливаем для них master port: [Interfaces]?[ether2-4]?[Name: eth2-4-lan; Master Port=eth5-lan]?[OK].
/interface ethernet set [find default-name=ether5] name=eth5-lan
/interface ethernet set [find default-name=ether2] name=eth2-lan master-port=eth5-lan
/interface ethernet set [find default-name=ether3] name=eth3-lan master-port=eth5-lan
/interface ethernet set [find default-name=ether4] name=eth4-lan master-port=eth5-lan
Интересный момент. Средствами master port можно объединить интерфейсы принадлежащее одному чипсету, на старших моделях чипсетов может быть несколько (колонка switch), интерфейсы с разных чипсетов объединяются через программный Bridge, ну или пачкордом.
Теперь все локальные Ethernet интерфейсы объединены под именем eth5-lan.
Wireless интерфейс существует отдельно от Ethernet, для объединения потребуется прибегнуть к программному мосту (bridge).
Создаем интерфейс моста: [Bridge]?[+]?[Name: br1-lan]?[OK];
Добавляем интерфейсы: [Bridge]?[Ports]?[+]?[Interface: eth5-lan; Bridge: br1-lan]?[OK]
[Bridge]?[Ports]?[+]?[Interface: wlan1; Bridge: br1-lan]?[OK]
/interface bridge add name=br1-lan
/interface bridge port add interface=eth5-lan bridge=br1-lan
/interface bridge port add interface=wlan1 bridge=br1-lan
Теперь все локальные Ethernet и wlan интерфейсы объединены под именем br1-lan.
Безопасность беспроводной сети
Вещь муторная(точнее муторно ее описывать), но необходимая.
Добавляем профиль безопасности и указываем пароль для беспроводного подключения: [Wireless]?[Security Profiles]?[+]
Name — название профиля;
WPA/WPA2 Pre-Shared Key — ключи для WPA/WPA2(пароль от wi-fi);
Остальное по скриншоту, в завершении [OK].
/interface wireless security-profiles add name=wpa2-protected mode=dynamic-keys authentication-types=wpa-psk,wpa2-psk unicast-chiphers=aes-ccm group-chiphers=aes-ccm wpa-pre-shared-key=ключ_wpa wpa2-pre-shared-key=ключ_wpa2
Активируем и настраиваем беспроводной интерфейс: [Wireless]?[wlan1]?[Enable].
На вкладке [Wireless]:
Mode: ap bridge;
Band: 2gHz-B/G/N. Если ваши беспроводные девайсы выпущены несколько лет назад, то логичнее выбрать 2gHz-B/G.;
Frequency: auto. В SOHO устройствах этот параметр называется Канал соответствие можно посмотреть по ссылке. Если не уверены что выбрать, оставляйте auto.;
SSID: Название точки доступа;
Wireless Protocol: 802.11;
Securiity Profile: wpa2-protect. Профиль созданный на предыдущем шаге.;
Bridge Mode: enabled;
Default Authenticate: yes;
Default Forward: yes;
Hide SSID: no. Можно скрыть точку доступа. Но не стоит считать это панацеей.;
Далее вкладка [Nstreme].
Отключаем все.
Как закончили, нажимаем [Ok] и пробуем подключиться (ip телефон не получит, но подключение должно установиться).
/interface wireless set wlan1 disabled=no ssid=MyRouter mode=ap-bridge band=2ghz-b/g/n frequency=2412 bridge-mode=enabled wireless-protocol=802.11 security-profile=wpa2-protect default-authentication=yes default-forwarding=yes hide-ssid=no
/interface wireless nstreme set wlan1 enable-nstreme=no enable-polling=no disable-csma=no
Настройка ip, dhcp-server
Добавляем ip на интерфейса br1-lan: [IP]?[Addresses]?[+]?[Address: 192.168.10.1/24; Interface: br1-lan]?[OK]
/ip address add address=192.168.10.1/24 interface=br1-lan
Создаем пул адресов для dhcp: [IP]?[Pool]?[+]?[Name: dhcp-pc; Addresses:192.168.10.100-192.168.10.200]?[OK]
/ip pool add name=dhcp-pc address=192.168.10.100-192.168.10.200
Включаем прослушку dhcp-запросов на интерфейсе br1-lan: [IP]?[DHCP Server]?[+]?[Name: dhcp-pc; Interface: br1-lan; Lease Time: 08:00:00; Address Pool: dhcp-pc]?[OK]
Теперь надо определиться какие параметры будут отдаваться по dhcp: [IP]?[DHCP Server]?[Networks]?[+]
Address: 192.168.10.0/24;
Gateway: 192.168.10.1;
Netmask: 24;
DNS Servers: 192.168.10.1.
По окончанию [Ok].
На скриншоте в качестве NTP сервера указан адрес роутера, но в базовой поставке раздавать точное время Mikrotik не умеет, можно указать любой другой сервер из сети, либо добавить и настроить пакет ntp(описано в конце HOWTO).
/ip dhcp-server add name=dhcp-pc interface=br1-lan lease-time=08:00:00 address-pool=dhcp-pc
/ip dhcp-server network add address=192.168.10.0/24 dns-server=192.168.10.1 gateway=192.168.10.1 netmask=24
Настройка сервера доменных имен
Если вас не устраивают DNS от провайдера можно добавить в список свои (можно полностью убрать провайдерские DNS выключив опцию Use peer DNS в соответствующих подключениях).
Включаем прослушку DNS запросов: [IP]?[DNS]?[Allow Remote Requests: yes]?[OK]
/ip dns set allow-remote-requests=yes
Теперь локальная сеть работает, перезапускам сетевой интерфейс (или dhcp-клиент) для получения ip от роутера и можно использовать для подключения по winbox/http/ssh/telnet/ftp/scp ip:192.168.10.1.
Между устройствами в локальной сети появилось связь, при попытке сделать ping до любого ресурса распознается его адрес, но доступ в интернет все еще отсутствует. Пришло время для последнего крупного пункта: настройки пакетного фильтра.
Пакетный фильтр
RouterOS является разновидностью ОС GNU/Linux, в качестве пакетного фильтра применяется netfilter, не могу сказать работает интерфейс напрямую с модулем ядра или с с использованием iptables, но разработчики постарались сделать синтаксис максимально приближенный к последнему.
Дабы не описывать каждую команду отдельно давайте немного разберемся. Пакетный фильтр настраивается в [IP]?[Firewall], нас будут интересовать вкладки (таблицы в терминологии iptables) [Filter],[Nat] и [Mangle]. В каждую таблицу можно добавить ряд правил (как и везде кнопкой [+]), правила обрабатываются поочередно сверху вниз, поэтому порядок важен. Каждое правило состоит из Условий, разнесенных по трем вкладкам: General, Advanced, Extra и Действия, вкладка Action, есть еще статистика работы правила, но она нам не интересна. Правило может содержать множество условий, главное не делать их противоречивыми. Если проходя по правилам пакет подходит под все условия, он обрабатывается соответствующим действием и дальше не идет (на самом деле некоторые действия пропускают пакет дальше, просто запомните этот факт если планируете в будущем глубже разобраться с netfilter). В варианте для новичков нам будет достаточно условий из Вкладки General.
Какие будут настройки? У пользователей из локальной сети появится доступ в интернет. Доступ на mikrotik из локальной сети будет ограничен используемыми службами(web, winbox, ssh, dns, ntp), из внешней сети будет открыт доступ по web, но с измененным адресом порта на 9999.
Все необходимые правила описаны в виде таблиц, если боитесь ошибиться или просто лень, открывайте [New terminal] и копируйте в него строки из консольного варианта в конце раздела.
Вкладка [Filter]
Условия | Действие | |||||||||
---|---|---|---|---|---|---|---|---|---|---|
# | Chain | Src. Address | Dst. Address | Protocol | Dst.Port | In. Iterface | Out. Interface | Connection Mark | Connection State | |
0 | Input | icmp | accept | |||||||
1 | Input | 192.168.10.0/24 | tcp | 80,8291,22 | br1-lan | new | accept | |||
2 | Input | tcp | 80 | eth1-wan | allow_in | new | accept | |||
3 | Input | 192.168.10.0/24 | udp | 53,123 | br1-lan | new | accept | |||
4 | Input | established,related | accept | |||||||
5 | Output | [!]Invalid | accept | |||||||
6 | Forward | 192.168.10.0/24 | br1-lan | eth1-wan | new, established | accept | ||||
7 | Forward | 192.168.10.0/24 | eth1-wan | br1-lan | established,related | accept | ||||
8 | Input | reject | ||||||||
9 | Output | reject | ||||||||
10 | Forward | reject |
Вкладка [NAT]
Условия | Действие | ||||||
---|---|---|---|---|---|---|---|
# | Chain | Src. Address | Protocol | Dst.Port | In. Iterface | Out. Interface | |
0 | srcnat | 192.168.10.0/24 | eth1-wan | masquerade | |||
1 | dstnat | tcp | 9999 | eth1-wan | redirect To ports: 80 |
Вкладка [Mangle]
Условия | Действие | |||||
---|---|---|---|---|---|---|
# | Chain | Protocol | Dst.Port | In. Iterface | Connection State | |
0 | prerouting | tcp | 9999 | eth1-wan | new | mark connection New Connection Mark: allow_in |
/ip firewall filter
add chain=input protocol=icmp
add chain=input connection-state=new dst-port=80,8291,22 in-interface=br1-lan protocol=tcp src-address=192.168.10.0/24
add chain=input connection-mark=allow_in connection-state=new dst-port=80 in-interface=eth1-wan protocol=tcp
add chain=input connection-state=new dst-port=53,123 protocol=udp src-address=192.168.10.0/24
add chain=input connection-state=established,related
add chain=output connection-state=!invalid
add chain=forward connection-state=established,new in-interface=br1-lan out-interface=eth1-wan src-address=192.168.10.0/24
add chain=forward connection-state=established,related in-interface=eth1-wan out-interface=br1-lan
add action=drop chain=input
add action=drop chain=output
add action=drop chain=forward
/ip firewall nat
add action=masquerade chain=srcnat out-interface=eth1-wan src-address=192.168.10.0/24
add action=redirect chain=dstnat dst-port=9999 protocol=tcp to-ports=80
/ip firewall mangle
add action=mark-connection chain=prerouting dst-port=9999 new-connection-mark=allow_in protocol=tcp connection-state=new
Теперь интернет должен быть доступен, если вам этого достаточно то закрывайте HOWTO и пользуйтесь, если хотите узнать больше дальше пойдет рад дополнений.
Дополнение 1. Имя устройства
Даем устройству имя: [System]?[Identity]?[Name: MikRouter]?[OK]
И задаем его в dns: [IP]?[DNS]?[Static]?[+]?[Name: mikrouter; Address:192.168.10.1]?[OK]
Теперь к устройству можно обращаться по доменному имени mikrouter, но только из локальной подсети.
/system identity set name=MikRouter
/ip dns static add name=mikrouter address=192.168.12.10
Дополнение 2. Настройка времени
Настраиваем часы: [System]?[Clock]?[Time]?[Time Zone Name: Часовой пояс; Time: Текущее время; Date: Текущая дата]?[OK]
Дополнение 3. Обновление
Обновляем устройство и добавляем пакеты.
Заходим на сайт Mikrotik и загружаем архив с обновлениями (Extra Packages) для своего роутера. Распаковываем и оставляем следующие (6.30.2 — актуальная версия на момент написания, обновления выходят достаточно часто):
advanced-tools-6.30.2-mipsbe.npk
dhcp-6.30.2-mipsbe.npk
multicast-6.30.2-mipsbe.npk
ntp-6.30.2-mipsbe.npk
ppp-6.30.2-mipsbe.npk
routing-6.30.2-mipsbe.npk
security-6.30.2-mipsbe.npk
system-6.30.2-mipsbe.npk
user-manager-6.30.2-mipsbe.npk
wireless-6.30.2-mipsbe.npk
В Winbox открываем [Files] и перетаскиваем средствами drag'n'drop указанные выбранные пакеты(в качестве альтернативы можно загрузить через web-интерфейс, либо по ssh средствами scp).
Для обновления достаточно перезагрузить устройство: [System]?[Reboot]?[Yes]
/system reboot
В дальнейшем для обновления не обязательно загружать пакеты:[System]?[Packages]?[Check for updates]?[Channel: current]?[Download&Install]
/system package update download
/system package update install
Дополнение 4. Настройка ntp
В предыдущих дополнениях мы настроили часы и добавили пакет NTP, теперь его необходимо настроить.
Включаем ntp-client и задаем адреса серверов (можно задать свои любимые) точного времени: [System]?[NTP Client]?[Enabled: yes; Primary: 48.8.40.31; Secondary:91.206.16.4]?[OK]
Включаем прослушку ntp запросов: [System]?[NTP Server]?[Enabled: yes]?[OK]
/system ntp client set enabled=yes primaty-ntp=48.8.40.31 secondary-ntp=91.206.16.4
/system ntp server set enabled=yes
Дополнение 5. Отключаем лишние службы
Оставим winbox/http/ssh, остальные можно будет включить при необходимости: [IP]?[Services] выделяем как на скриншоте и нажимаем [x].
/ip service
set telnet disabled=yes
set ftp disabled=yes
set api disabled=yes
set api-ssl disabled=yes
set https disabled=yes
set www-ssl disabled=no
set winbox disabled=no
set www disabled=no
Дополнение 6. Отключаем обнаружение и ограничиваем доступ по mactelnet
В winbox есть средства обнаружения устройств находящихся в одной физической сети с ПК, это удобно, но зачем соседям знать что у нас за устройство?
Отключаем: [IP]?[Neighbor]?[Discovery Interfaces]. Можно оставить обнаружение для br1-lan (локальная сеть), можно убрать на ваш выбор. Для новых интерфейсов обнаружение включено по умолчанию, не стоит от этом забывать.
/ip neighbor discovery
:foreach i in=[find] do={
set $i discovery=no
}
Теперь ограничим доступ по mac-адресу(winbox и mactelnet): [Tools]?[MAC Server]?[Telnet Interfaces]
Отключаем([x]) all и добавляем br1-lan.
Переходим в [Winbox Interfaces] и повторяем.
/tool mac-server
set [ find default=yes ] disabled=yes
add interface=br1-lan
/tool mac-server mac-winbox
set [ find default=yes ] disabled=yes
add interface=br1-lan
Дополнение 7. Включаем UPnP
Многие p2p приложения и online игры требуют UPnP (служба динамического открытия портов) для нормальной работы.
Включаем: [IP]?[UPnP]?[Enabled: yes]
Добавляем интерфейсы: [Interfaces]?[+]
External: eth1-wan;
Internal: br1-lan.
/ip upnp
set enabled=yes
/ip upnp interfaces
add interface=eth1-wan type=external
add interface=br1-lan type=internal
Дополнение 8. Оверклокинг
Если число устройств в сети возросло настолько, что роутер перестал справляться, можно немного разогнать процессор: [System]?[RouterBOARD]?[Settings]?[CPU Frequency: 750 MHz]
Для RB 951G — это максимальная частота работы CPU.
/system routerboard settings set cpu-frequency=750MHz
Дополнение 9. Резервная копия настроек
Бекап настроек никогда не будет лишним: [Files]?[Backup]
Name: имя файла (без расширения);
Password: пароль (если не указывать будет использован пароль от пользователя);
Don't Encrypt: если нет необходимости шифровать бекап.
/system backup save name=router6.30.2 dont-encrypt=yes
Для восстановления достаточно скопировать файл на другое устройство(желательно той-же серии и с той-же версией RouterOS).
Зайти в [Files]?[Restore] и выбрать файл.
/system backup load name=router6.30.2.backup
P.S. Если примут, напишу продолжение HOWTO про практику настройки резервирования и прочие хитрости с RouterOS.
Комментарии (100)
GeXoGeN
25.08.2015 12:57DHCP сервер проще настроить через DHCP Setup. И объединение Ethernet-интерфейсов через указание master-порта лишает нас возможности контролировать трафик в разрезе отдельного порта.
l0ser140
25.08.2015 13:11Зато так будет задействован аппаратный коммутатор. Если же добавлять каждый порт в бридж — весь локальный траффик будет обрабатываться процессором.
GeXoGeN
25.08.2015 13:15У 951-го RouterBoard'а (именно про него речь в статье) в задачах SOHO очень сложно загрузить процессор даже на половину (если не использовать всяки вещи типа IPSEC и Metarouter). А если уж такое произойдёт, то дело будет скорее всего не в бридже.
evg_krsk
25.08.2015 15:31Не так уж и сложно, учитывая с какой скоростью растут скорости подключения. Регулярно загружаю свой под полку без IPSec/Metarouter, одними лишь QoS/NAT. Но выдаёт ровно столько, сколько заявлено, тут всё по чесноку :-)
GeXoGeN
25.08.2015 13:02+2фирменная утилита winbox (для windows)
работает в Winebioskiller
25.08.2015 13:18+1Работает и под Android (через сторонний Wine)
chelaxe
25.08.2015 14:09Пользуюсь TikTool — Winbox Mobile в начале обрадовался как они резво стали добавлять функционал, но потом слились. Спасибо за наводку с wine под андройд что то я даже не подумал в эту сторону посмотреть.
bioskiller
25.08.2015 14:10TikTool так же установлен, но он пока сыроват, да и сам интерфейс у него убог.
resetnow
25.08.2015 18:15Можете поподробнее? Wine под Android может выполнять x86-приложения? Только на x86 или на ARM?
chelaxe
25.08.2015 18:25Вот и у них там еще одно приложение. Запускать то запускает, но нет полной клавиатуры, что сводит на нет весь факт того что запустилось. Но раз запустилось и заработало значит скоро будет полноценное приложение. Да работает на ARM. За приложение спасибо bioskiller
bioskiller
26.08.2015 02:36Полная клавиатура вызывается.
Правда перекрывает пол экрана. Но все равно, работать можно. Плюс если есть внешняя клавиатура, то с ней отлично работает.
bioskiller
26.08.2015 03:55
В принципе на экране планшета не перекрывает даже.chelaxe
26.08.2015 06:26Странно у меня так и не появляется клавиатура. Проверил на телефоне и планшете. Клавиатура гугловская. Попробую сменить клавиатуру. А так наверное да лучше физическую. Вот думаю нарыть клаву в чехле для планшета.
evg_krsk
26.08.2015 02:59Оффтоп: знает кто-нибудь, как настроить шрифт, которым в Wine рисуется Winbox? Или где об этом почитать? А то терминал встроенный совсем неюзабельный получается — буковки одна на другую налезают и не ничего не видно.
bioskiller
26.08.2015 03:57Если под Linux, то нужен msttcorefonts.
Если под Andoid, то соответсвенно нужны шрифты.evg_krsk
26.08.2015 09:37Это я уже нагуглил. Только вот что имеется ввида под «msttcorefonts» (файлы/URL) непонятно. И как объяснить Wine использовать эти шрифты.
chelaxe
25.08.2015 14:05+1Отключаемся и заходим на устройство под новым пользователем.
Тут бы сразу ключи добавить. Для микротиков подайдут только DSA ключи. Сгенерировать можно в PuTTY там же конвертнуть их в OpenSSH формат. Я к примеру в свет выставляю ssh порт через него пробрасываю порты если нужен WinBox и т.д. Да еще отбираю ip адреса не из безопасной сети (у меня конект к микротику только от внешних адресов одного провайдера т.к. больше мне не нужно) и добавляю их в адрес листы на месяц и дропаю от них все пакеты.
Провайдер будет подключаться в первый порт RouterBOARD
Не советую. Как правило по первому порту можно питать устройство. Я обычно выбираю или 5 или 4 т.к. 5 на некоторых микротиках может питать другие устройства.
Default Route Distance лучше прописать что либо большее — например 10 в этом случае можно будет добавлять маршрут главнее. Одним словом на будущее задел если добавлять автоматизацию или еще что нибудь шаманить.
Переименовываем ether5 в eth5-wan
тут наверное имелось ввиду eth5-lan
Про WiFi в микротиках можно тут почитать еще.
Что еще добавить можно. Ну например DDNS от MikroTik — удобная вещь. Можно еще лишние пакеты удалить или отключить. Например MPLS. Настроить гостевой wi-fi к нему можно хотспот прикрутить. Балансировка трафика. Два провайдера (много статей на хабре). Прокси есть в микротике. Хотя дальше уже наверное для начинающих статью писать.
Спасибо за статью. Радует описание правил для фаервола и отключение обнаружения.chelaxe
25.08.2015 14:12+1да еще есть классные команды export и import для копии конфига. У себя реализовал регулярный сбор конфигов и добавление их в git.
Bulroh
25.08.2015 14:18Есть, но они не переносят пользователей. Если на девайсе есть скрипты или пранировщики они не создадутся т.к. нужные пользователи отсутствуют, для анализа через контроль версий действительно подходят.
TerAnYu
25.08.2015 14:55Для этого есть
/system backup save name=
/system backup load name=chelaxe
25.08.2015 18:34Вы не поняли суть. Команды которые Вы даете делают бекап состояния железки в бинарном виде. Этот бекап не перенести на другую отличную железку. Команды export делают бекап только конфига без пользователей и соответственно без всего что с ними связанно, но в текстовом виде что позволит перенести их на другую железку. В git же у меня идут все файлы и *.backup и *.rsc. Так же файл с лицензией при инициализации репозитория.
Bulroh
25.08.2015 14:15>Тут бы сразу ключи добавить.
Выходит за рамки базовой конфигурации
>Не советую. Как правило по первому порту можно питать устройство.
Хорошее замечание, но в случае с SOHO питание по PoE маловероятно
>тут наверное имелось ввиду eth5-lan
верно, поправлю
Все остальное достаточно объемно и может быть материалом для отдельного HOWTO.vovansystems
02.09.2015 23:51+2Все остальное достаточно объемно и может быть материалом для отдельного HOWTO.
если Вы это опишите, то я знаю как минимум трёх админов, которые это прочитают и будут невероятно благодарны.
очень большое спасибо за эту статью!
Spoofi
25.08.2015 14:08Отличная статья, спасибо!
P.S. Если примут, напишу продолжение HOWTO про практику настройки резервирования и прочие хитрости с RouterOS.
Очень интересная тема, буду ждать следующих публикаций.
Mazdader
25.08.2015 14:33+1Ещё добавлю, что обновляться проще через System -> Packages -> Check for updates. Также крайне рекомендуется после каждого обновления открыть System -> Routerboard и если версия Current Firmware отличается от Upgrade Firmware, то обязательно нажать Upgrade и перезагрузить роутер.
erazel
25.08.2015 15:43+1Для L2 каналов лучше ставить проверку шлюза не пингом, а арпом. адекватней работает. Сам уже не помню почему но помню что так советовали.
maverickcy
25.08.2015 18:04-1Настройку внутреннего LAN можно было закончить на этапе [Подготовка], нажав кнопочку ОК. Если мы все еще про SOHO.
gluko
25.08.2015 19:25Оверлокинг лучше убрать из статьи. Если установить максимальную частоту, практически наверняка получите периодические сбои и перезагрузки. Сужу по собственному опыту.
icoz
25.08.2015 19:59Какие частоты рекомендуете? Может наоборот стоит занизить частоту, если не сильно нагружен? Ну чтобы меньше грелся, например…
gluko
25.08.2015 21:27+1я бы не менял. Понижать не вижу смысла, у меня десятки микротиков в разных местах работают, нигде не было проблем с температурой.
Повышение приводит к сбоям в работе при сильной нагрузке. А если у нас нет сильной нагрузки, то повышать нет смысла.
Посему лучше оставить частоту по-умолчанию.
icoz
25.08.2015 19:33+1Спасибо вам, добрый человек. А я маны долго курил…
maverickcy
25.08.2015 19:50Там ведь автоконфиг есть, ребяаааат
icoz
25.08.2015 19:54-1Не, я не про то маны курил. Я после этой статьи понял, где у меня был косяк, когда я настраивал две WiFi сетки на разных диапазонах. У меня dhcp не раздавало.
После прочтения — осознал. Пойду проверять гипотезу.maverickcy
25.08.2015 20:40На разных диапазонах невозможно настроить 2 виртуальные сети на одном интерфейсе.
Либо если у вас 2 разных интерфейса wlan1 и wlan2, их нужно добавить в bridge1
plin2s
27.08.2015 01:15Примерно каждый первый вопрос по микротикам (если брать простые вопросы от новичков) происходит из-за использования этого кривого «easy setup». Так что нет, не надо его использовать вообще.
icoz
25.08.2015 19:57С удовольствием бы почитал про написание скриптов.
Какие есть подводные камни?
Какие есть развалы готовых скриптов?GeXoGeN
25.08.2015 20:09На wiki микротиковской есть мануалы, развал скриптов.
Так же у меня есть вот такая статья на хабре.
mihmig
25.08.2015 21:44Как можно завернуть Wifi-трафик со смартфона в Ethernet-порт, чтоб Wireshark-ом погладеть — что там девайс шлёт?
GeXoGeN
25.08.2015 21:53+1У микротика есть встроенный сниффер, который в формате Wireshark'a файл формирует.
bioskiller
26.08.2015 04:00+2У микротика есть возможность передавать трафик для Wireshark.
Смотреть в сторону Tools-Packet Sniffer-Streaming
TimsTims
25.08.2015 23:36-2Автор молодец, но он видимо совсем не знает, что настройка «Allow remote requests» в настройках IP->DNS разрешает отвечать на DNS-запросы отовсюду. Таким образом микротик будет использоваться злоумышленниками для DNS-Spoofing'a и спама днс-запросами. Поэтому либо эту опцию отключить и в NETWORKS указывать DNS провайдера, либо фильтровать входящие DNS-пакеты в FIREWALL.
Bulroh
25.08.2015 23:59+2>либо фильтровать входящие DNS-пакеты в FIREWALL.
в таблице filter внимательно посмотрите, соединение с udp:53 разрешено только с локальных адресов
Ghool
26.08.2015 00:12+1Если упомянули про йоту — стоит сказать и про подводные камни с ней.
Тред тут же, на тостере:
toster.ru/q/106323
BlackRaven86
26.08.2015 05:21Еще неплохо бы добавить про виртуальную точку доступа (VirtualAP), например как сделать отдельный Wi-Fi для гостей: чтобы был интернет, но при этом никто не лазил в мою локальную сеть :)
chelaxe
26.08.2015 06:30+1Все просто щелкаем VirtualAP добавляется новый интерфейс он привязан к wlan физику изменить нельзя все как у wlan меняем лишь ssid и Security Profiles вот и все. А ну настраиваем отдельный DHCP на данный интерфейс и добавляем правила в фаервол. Адрес для нового интерфейса. Все.
Я еще проксю микротиковскую подключил и вывожу страничку приветствия гостей.
Dm4k
26.08.2015 10:43На самом деле если у кого-то опыт есть хорошо бы адекватный хауту по созданию hotspot почитать…
А-то все что есть в интернете включают в себя базовую настройку (в том числе описанную здесь), а та часть которая касается именно hotspot описывается очень поверхностно.
Об опыте — как авторизовывать пользователей, управлять ими, генерировать одноразовые ключи, настраивать права доступа (по времени, по адресам/категориям).
Ну что бы для гостей положить стопку карточек с кодами разными и не париться о смене паролей периодической.maverickcy
26.08.2015 11:21Для такой затеи нужен пакет Usermanager. Там есть возможность генерить туеву хучу ваучеров в html или csv и резать скорость.
Anakros
26.08.2015 12:07Спасибо за подробный гайд. У меня тоже валяется такая модель, настроил всё более-менее и как-то лень дальше было разбираться с мелкими проблемами.
Не подскажете как правильно настроить проброс порта на локальную машину так, чтобы этот проброс работал и на машине в локальной сети, а не только из внешки?
Я настроил проброс, тестирую из локальной сети на внешний адрес и не понимаю почему оно не работает, тестирую из внешней сети мой внешний адрес — внезапно, работает. Почему так?
+ по-моему из-за этого не работали мои поддомены на машинах в локальной сети, которые указывают на мой внешний адрес, уже не помню точно.
ipswitch
26.08.2015 12:40Прочитал с удовольствием. Спасибо!
Великая вещь эти Микротики. Ещё когда удивился подобному симбиозу GUI (пусть и не web-based) и командной строки. Гремучая смесь CLI-only и GUI-only. Но работает-то как! А наличие галок и кнопок всё же ускоряет процесс вхождения. Да страницы Winbox весьма информативны — проще сразу визуально оценить (именно что «оглядеть») происходящее, а не вчитываться в вывод последовательной серии команд.
cjmaxik
28.08.2015 12:50Спасибо за гайд.
Что насчет fasttrack?Iaroslav_Olegovich
20.09.2015 16:14+1Кстати, весьма полезная в некоторых случаях опция. Несколько линейных потоков скачивания извне, по 50-100Мбит на каждый укладывали RB951G на 100%. Разгон ситуацию особо не менял. А вот добавление fasttrack позволило достичь скорости в 800Мбит, при этом процессор загружен лишь на 50-60%! Speedtest также показал значения намного выше. Добавить fasttrack можно командой (прошивка должна быть не ниже 6.29):
/ip firewall filter add chain=forward action=fasttrack-connection connection-state=established,related
После чего переместить правило на нужную позицию — в большинстве конфигураций на 2 позицию после автоматически созданного «special dummy rule to show fast track counters», либо же после своих правил, если таковые имеются (в описанной конфигурации, если не ошибаюсь — между 5 и 6 пунктом).Iaroslav_Olegovich
20.09.2015 16:25+1Чуть не забыл — в настройках IP->Settings необходимо отметить IPv4 Fasttrack Active и Allow Fast Path.
PapaTramp
29.08.2015 07:20Тем, у кого провайдер раздает IPTV, поможет еще установка пакета multicast-x.xx-mipsbe.npk и настройка Routing -> IGMP Proxy -> + -> в списке Interfaces выбрать порт, куда входит интернет от провайдера и поставить галочку на Upstream. В поле Alternative Subnets надо указать данные подсети либо, если кому лень — просто 0.0.0.0/0. -> OK
Затем еще раз жмем плюсик -> выбираем порт, в который будет подключена приставка или же бридж, если есть желание просмотра IPTV на мобильных устройствах -> ставим галочку на Querier.
Можно добавить еще /interface wireless Set 0 multicast-helper=full
Lopar
02.09.2015 14:27-4Вот вы тут пишете, что без настроек файерволла интернета не будет. У меня файерволл не настроен, а интернет есть. ЧЯДНТ?
GeXoGeN
02.09.2015 16:12+2А nat Вы где настраиваете? Или он у Вас без nat'а работает? А так конечно Вы молодец! Стандартный пароль тоже обычно не меняете?
Lopar
02.09.2015 20:08-3А что в нём можно еще и пароль задать? Ухты! Не знал! ;)
Да, без NAT. Сбросил на завод, настроил static-wan, хлоп, а на всех остальных портах мир есть. Даже вебморда по белому айпишнику доступна, чему я удивился жутко.GeXoGeN
03.09.2015 10:26-1Если Вы не настраивали nat, это не значит, что он не настроен. На заводских настройках уже всё сделали за Вас, но обычно 95% проблем, связанных с работой Mikrotik'ов вызваны заводским настройками. Так что это золотое правило — «купил Mikrotik — прошей свежей прошивкой — снеси заводскую конфигу».
Lopar
03.09.2015 14:10-1Обидно что делал всё по тутору — букву в букву. А на выходе — не то, что написано. Ладно, вот рядом ещё один нераспакованый Микротик, буду пошагово смотреть что не так.
GeXoGeN
03.09.2015 15:49На каком моменте начинаются расхождения?
Lopar
03.09.2015 16:17-1Вот собственно на «Между устройствами в локальной сети появилось связь, при попытке сделать ping до любого ресурса распознается его адрес, но доступ в интернет все еще отсутствует. Пришло время для последнего крупного пункта: настройки пакетного фильтра.»
Я на этом шаге интернет вижу. Из за чего эту ветку разговора и начал.GeXoGeN
03.09.2015 21:27Если бы вы всё делали по тутору, то было бы как там написано. А вы, судя по всему не сделали этого:
Появится предложение: сохранить базовую конфигурацию, либо обнулить устройство. Выбираем [Remove Configuration].
Поэтому у Вас в разделе IP -> Firewall -> Nat присутствуют правила из заводской конфиги. Удалите конфигурацию через System -> Reset Configuration. Поставьте галочку «No default configuration» и снимите галочку «Keep user configuration» — конфигурация затрётся. После этого нужно перейти к разделу «Добавление пользователя» данной статьи.
boolker
14.09.2015 13:04Поясните пожалуйста.
Делаю на RB9хх
1. «add chain=input connection-state=established,related» значение connection-state через запятую не принимается терминалом, и нельзя выбрать 2 значения через WinBOX. На данный момент я 3-х подобных случаях завёл по 2 правила сначала для первого значения, следом для второго. Эквивалентно ли это?
2. «add chain=output connection-state=!invalid» значение с! не принимается вообще. заменил правилом =Invalid action=drop. Эквивалентно ли?
3. с включенным правилом «add action=drop chain=output» не разрешаются имена сайтов. Отключаю его и имена сайтов начинают разрешаться. Что я сделал не так?
Всё делал в соответствии с инструкцией, кроме удаления правил для внешнего подключения к микротику.GeXoGeN
14.09.2015 20:501, 2 — Версия микротика какая?
3 — зачем дропать весь output? Роутер не может до DNS достучаться — вы ему кислород перекрыли.boolker
15.09.2015 10:261,2 — RouteBOARD 951G-2HnD
3. Так это предпоследнее правило из консольной версии
add action=drop chain=input
add action=drop chain=output
add action=drop chain=forward
кстати, в табличке reject указали, а в консольном drop…GeXoGeN
15.09.2015 11:11Версия операционной системы я имел в виду.
Здесь первое правило разрешает все исходящие подключения, кроме инвалидных, второе запрещает все остальные (т.е. инвалидные)
add chain=output connection-state=!invalid
add action=drop chain=output
Особого смысла я в этих правилах не вижу, если честно. В цепочку output попадают только пакеты отправляемые самим роутером, зачем их фильтровать? Ваше решение, на мой взгляд эквивалентно, но более лаконично. Оставляйте правило
add action=drop chain=output connection-state=invalid
а это правило уберите вообще.
add action=drop chain=outputboolker
15.09.2015 12:32Operating System MikroTik RouterOS, Level4 license
просто правила для другого уровня OS?
т.е. я эквивалентно заменил:
add chain=input connection-state=established,related
на
add chain=input connection-state=established
add chain=input connection-state=related
add chain=forward connection-state=established,new in-interface=br1-lan out-interface=eth1-wan src-address=192.168.10.0/24
на
add chain=forward connection-state=established in-interface=br1-lan out-interface=eth1-wan src-address=192.168.10.0/24
add chain=forward connection-state=new in-interface=br1-lan out-interface=eth1-wan src-address=192.168.10.0/24
add chain=forward connection-state=established,related in-interface=eth1-wan out-interface=br1-lan
на
add chain=forward connection-state=established in-interface=eth1-wan out-interface=br1-lan
add chain=forward connection-state=related in-interface=eth1-wan out-interface=br1-lan
С учётом своей IP специфики конечно же.GeXoGeN
15.09.2015 12:52Не уровень, а версия меня интересует. Её можно посмотреть в разделе System->Packages или в заголовке Winbox'а.
Да эквивалентно. Но в случае, про output — это было оправдано, т.к. количество правил уменьшается, а тут — наоборот. Обновитесь до последней прошивки. Возможно, у Вас она старая и там такие фичи ещё не реализованы.boolker
15.09.2015 14:31Обновился до последней, согласно Дополнению 3 данного руководства до 6.32.1 но у меня WinBOX маковская сборка сразу с Wine V3 RC последний.
я потому в терминал сразу и пошёл. Впрочем перепроверю. надеюсь ошибся
boolker
16.09.2015 10:07Правда Ваша. Шёл по шагам, потому новый синтаксис получил после того, как сдался.
Автору наверное стоило обновление поставить в начало или оговориться о возможных затыках.
Спасибо за помощь. Ушёл изучать как теперь заставить работать tunnel 6in4
Alkop
Да — пишите! СпасибО!