Есть задача: настроить устройство на базе RouterOS в качестве замены SOHO роутера для дома или небольшого офиса. Это HOWTO, потому технических подробностей будет минимум, Next-Next-Next-Ok и вы получаете готовое к работе устройство, так что приступаем.

Подготовка


Все описанное тестировалось на 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, логин и пароль.


Консольный вариант
Для l2tp заменить pptp-client на l2tp-client:
/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)


  1. Alkop
    25.08.2015 12:56
    +1

    Да — пишите! СпасибО!


  1. GeXoGeN
    25.08.2015 12:57

    DHCP сервер проще настроить через DHCP Setup. И объединение Ethernet-интерфейсов через указание master-порта лишает нас возможности контролировать трафик в разрезе отдельного порта.


    1. l0ser140
      25.08.2015 13:11

      Зато так будет задействован аппаратный коммутатор. Если же добавлять каждый порт в бридж — весь локальный траффик будет обрабатываться процессором.


      1. GeXoGeN
        25.08.2015 13:15

        У 951-го RouterBoard'а (именно про него речь в статье) в задачах SOHO очень сложно загрузить процессор даже на половину (если не использовать всяки вещи типа IPSEC и Metarouter). А если уж такое произойдёт, то дело будет скорее всего не в бридже.


        1. evg_krsk
          25.08.2015 15:31

          Не так уж и сложно, учитывая с какой скоростью растут скорости подключения. Регулярно загружаю свой под полку без IPSec/Metarouter, одними лишь QoS/NAT. Но выдаёт ровно столько, сколько заявлено, тут всё по чесноку :-)


          1. fshp
            25.08.2015 23:26

            Аппаратного NAT NET?


            1. evg_krsk
              26.08.2015 02:39

              Шутите?


              1. fshp
                26.08.2015 02:41

                Тогда с чего бы процессору нагружаться из-за NAT?


    1. erazel
      25.08.2015 15:38

      Вроде же в 6.х уже давно доступна вся статистика и для слейв-портов.


      1. evg_krsk
        25.08.2015 16:12

        Речь не про статистику, а про то, что трафик между мастер-слейв и слейв-слейв коммутируется без участия процессора и не попадает в пакетный фильтр.


        1. icoz
          25.08.2015 19:35

          А часто в домашних условиях надо резать трафик между устройствами, подключенными по проводу?


          1. evg_krsk
            25.08.2015 20:11
            +1

            Их не только для дому берут :-)


      1. GeXoGeN
        25.08.2015 20:05

        Утилита torch, к примеру, не работает со слэйв-портам.


  1. GeXoGeN
    25.08.2015 13:02
    +2

    фирменная утилита winbox (для windows)

    работает в Wine


    1. bioskiller
      25.08.2015 13:18
      +1

      Работает и под Android (через сторонний Wine)


      1. chelaxe
        25.08.2015 14:09

        Пользуюсь TikTool — Winbox Mobile в начале обрадовался как они резво стали добавлять функционал, но потом слились. Спасибо за наводку с wine под андройд что то я даже не подумал в эту сторону посмотреть.


        1. bioskiller
          25.08.2015 14:10

          TikTool так же установлен, но он пока сыроват, да и сам интерфейс у него убог.


      1. resetnow
        25.08.2015 18:15

        Можете поподробнее? Wine под Android может выполнять x86-приложения? Только на x86 или на ARM?


        1. chelaxe
          25.08.2015 18:25

          Вот и у них там еще одно приложение. Запускать то запускает, но нет полной клавиатуры, что сводит на нет весь факт того что запустилось. Но раз запустилось и заработало значит скоро будет полноценное приложение. Да работает на ARM. За приложение спасибо bioskiller


          1. bioskiller
            26.08.2015 02:36

            Полная клавиатура вызывается.
            Правда перекрывает пол экрана. Но все равно, работать можно. Плюс если есть внешняя клавиатура, то с ней отлично работает.


          1. bioskiller
            26.08.2015 03:55


            В принципе на экране планшета не перекрывает даже.


            1. chelaxe
              26.08.2015 06:26

              Странно у меня так и не появляется клавиатура. Проверил на телефоне и планшете. Клавиатура гугловская. Попробую сменить клавиатуру. А так наверное да лучше физическую. Вот думаю нарыть клаву в чехле для планшета.


              1. bioskiller
                26.08.2015 06:31
                +1

                Надо нажать клавишу меню.
                И появится возможность вызвать клавиатуру.


                1. chelaxe
                  26.08.2015 06:32

                  Да спасибо получилось. Шикарно! Теперь заживем.


    1. evg_krsk
      26.08.2015 02:59

      Оффтоп: знает кто-нибудь, как настроить шрифт, которым в Wine рисуется Winbox? Или где об этом почитать? А то терминал встроенный совсем неюзабельный получается — буковки одна на другую налезают и не ничего не видно.


      1. bioskiller
        26.08.2015 03:57

        Если под Linux, то нужен msttcorefonts.
        Если под Andoid, то соответсвенно нужны шрифты.


        1. evg_krsk
          26.08.2015 09:37

          Это я уже нагуглил. Только вот что имеется ввида под «msttcorefonts» (файлы/URL) непонятно. И как объяснить Wine использовать эти шрифты.


          1. BlackRaven86
            26.08.2015 15:26

            winetricks может их доставить, там это называется corefonts.


  1. nehaev
    25.08.2015 13:16
    +1

    Большое спасибо за наличие вариантов для консоли!


  1. 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 к нему можно хотспот прикрутить. Балансировка трафика. Два провайдера (много статей на хабре). Прокси есть в микротике. Хотя дальше уже наверное для начинающих статью писать.

    Спасибо за статью. Радует описание правил для фаервола и отключение обнаружения.


    1. chelaxe
      25.08.2015 14:12
      +1

      да еще есть классные команды export и import для копии конфига. У себя реализовал регулярный сбор конфигов и добавление их в git.


      1. Bulroh
        25.08.2015 14:18

        Есть, но они не переносят пользователей. Если на девайсе есть скрипты или пранировщики они не создадутся т.к. нужные пользователи отсутствуют, для анализа через контроль версий действительно подходят.


        1. TerAnYu
          25.08.2015 14:55

          Для этого есть
          /system backup save name=
          /system backup load name=


          1. chelaxe
            25.08.2015 18:34

            Вы не поняли суть. Команды которые Вы даете делают бекап состояния железки в бинарном виде. Этот бекап не перенести на другую отличную железку. Команды export делают бекап только конфига без пользователей и соответственно без всего что с ними связанно, но в текстовом виде что позволит перенести их на другую железку. В git же у меня идут все файлы и *.backup и *.rsc. Так же файл с лицензией при инициализации репозитория.


            1. mihmig
              25.08.2015 21:45

              У Вас сам микротик с git-ом общается? Или через промежуточное звено на компьютере?


              1. chelaxe
                26.08.2015 06:25

                git на сервере стоит. Сервер связан по vpn (SoftEther) с MikroTik`ами и по ssh забирают раз в месяц конфиги и складывает все в репозитории.


    1. Bulroh
      25.08.2015 14:15

      >Тут бы сразу ключи добавить.
      Выходит за рамки базовой конфигурации

      >Не советую. Как правило по первому порту можно питать устройство.
      Хорошее замечание, но в случае с SOHO питание по PoE маловероятно

      >тут наверное имелось ввиду eth5-lan
      верно, поправлю

      Все остальное достаточно объемно и может быть материалом для отдельного HOWTO.


      1. vovansystems
        02.09.2015 23:51
        +2

        Все остальное достаточно объемно и может быть материалом для отдельного HOWTO.

        если Вы это опишите, то я знаю как минимум трёх админов, которые это прочитают и будут невероятно благодарны.
        очень большое спасибо за эту статью!


        1. Bulroh
          03.09.2015 09:13

          Есть много вещей о которых хочется написать, но пока времени свободного нет…


  1. Spoofi
    25.08.2015 14:08

    Отличная статья, спасибо!

    P.S. Если примут, напишу продолжение HOWTO про практику настройки резервирования и прочие хитрости с RouterOS.

    Очень интересная тема, буду ждать следующих публикаций.


  1. Mazdader
    25.08.2015 14:33
    +1

    Ещё добавлю, что обновляться проще через System -> Packages -> Check for updates. Также крайне рекомендуется после каждого обновления открыть System -> Routerboard и если версия Current Firmware отличается от Upgrade Firmware, то обязательно нажать Upgrade и перезагрузить роутер.


    1. erazel
      25.08.2015 15:41
      +1

      Неа, не советую. Уже была одна версия ROS которая убивала некоторые девайсы. Так что ждем пару дней и качаем если не будет отзыва пакетов и критических исправлений по этой версии.


      1. guglez
        28.08.2015 17:19

        Это же универсальный совет для любых обновлений. Нет?


  1. erazel
    25.08.2015 15:43
    +1

    Для L2 каналов лучше ставить проверку шлюза не пингом, а арпом. адекватней работает. Сам уже не помню почему но помню что так советовали.


  1. maverickcy
    25.08.2015 18:04
    -1

    Настройку внутреннего LAN можно было закончить на этапе [Подготовка], нажав кнопочку ОК. Если мы все еще про SOHO.


  1. gluko
    25.08.2015 19:25

    Оверлокинг лучше убрать из статьи. Если установить максимальную частоту, практически наверняка получите периодические сбои и перезагрузки. Сужу по собственному опыту.


    1. icoz
      25.08.2015 19:59

      Какие частоты рекомендуете? Может наоборот стоит занизить частоту, если не сильно нагружен? Ну чтобы меньше грелся, например…


      1. gluko
        25.08.2015 21:27
        +1

        я бы не менял. Понижать не вижу смысла, у меня десятки микротиков в разных местах работают, нигде не было проблем с температурой.
        Повышение приводит к сбоям в работе при сильной нагрузке. А если у нас нет сильной нагрузки, то повышать нет смысла.
        Посему лучше оставить частоту по-умолчанию.


  1. icoz
    25.08.2015 19:33
    +1

    Спасибо вам, добрый человек. А я маны долго курил…


    1. maverickcy
      25.08.2015 19:50

      Там ведь автоконфиг есть, ребяаааат


      1. icoz
        25.08.2015 19:54
        -1

        Не, я не про то маны курил. Я после этой статьи понял, где у меня был косяк, когда я настраивал две WiFi сетки на разных диапазонах. У меня dhcp не раздавало.
        После прочтения — осознал. Пойду проверять гипотезу.


        1. maverickcy
          25.08.2015 20:40

          На разных диапазонах невозможно настроить 2 виртуальные сети на одном интерфейсе.
          Либо если у вас 2 разных интерфейса wlan1 и wlan2, их нужно добавить в bridge1


          1. icoz
            26.08.2015 00:22

            Именно это я и понял. Проверил только что. Заработало. :)


      1. plin2s
        27.08.2015 01:15

        Примерно каждый первый вопрос по микротикам (если брать простые вопросы от новичков) происходит из-за использования этого кривого «easy setup». Так что нет, не надо его использовать вообще.


        1. maverickcy
          27.08.2015 01:22
          +1

          Хз, у меня не глючило)


  1. icoz
    25.08.2015 19:57

    С удовольствием бы почитал про написание скриптов.
    Какие есть подводные камни?
    Какие есть развалы готовых скриптов?


    1. GeXoGeN
      25.08.2015 20:09

      На wiki микротиковской есть мануалы, развал скриптов.
      Так же у меня есть вот такая статья на хабре.


      1. icoz
        25.08.2015 20:16

        Отлично, почитаю. Спасибо.


    1. GeXoGeN
      25.08.2015 20:13

      1. icoz
        25.08.2015 20:17

        Это само-собой. Я про опыт и шишки набитые спрашивал.


  1. mihmig
    25.08.2015 21:44

    Как можно завернуть Wifi-трафик со смартфона в Ethernet-порт, чтоб Wireshark-ом погладеть — что там девайс шлёт?


    1. GeXoGeN
      25.08.2015 21:53
      +1

      У микротика есть встроенный сниффер, который в формате Wireshark'a файл формирует.


      1. icoz
        25.08.2015 23:00

        А поподробнее можно?


      1. bioskiller
        26.08.2015 04:00
        +2

        У микротика есть возможность передавать трафик для Wireshark.
        Смотреть в сторону Tools-Packet Sniffer-Streaming


        1. icoz
          26.08.2015 19:39

          Спасибо.


  1. TimsTims
    25.08.2015 23:36
    -2

    Автор молодец, но он видимо совсем не знает, что настройка «Allow remote requests» в настройках IP->DNS разрешает отвечать на DNS-запросы отовсюду. Таким образом микротик будет использоваться злоумышленниками для DNS-Spoofing'a и спама днс-запросами. Поэтому либо эту опцию отключить и в NETWORKS указывать DNS провайдера, либо фильтровать входящие DNS-пакеты в FIREWALL.


    1. Bulroh
      25.08.2015 23:59
      +2

      >либо фильтровать входящие DNS-пакеты в FIREWALL.
      в таблице filter внимательно посмотрите, соединение с udp:53 разрешено только с локальных адресов


  1. Ghool
    26.08.2015 00:12
    +1

    Если упомянули про йоту — стоит сказать и про подводные камни с ней.
    Тред тут же, на тостере:

    toster.ru/q/106323


    1. Bulroh
      26.08.2015 00:21

      Ммм да, про слабый ток по usb забыл написать, из-за этого модемы через пассивный удлинитель не работают или периодически отваливаются.


      1. Ghool
        26.08.2015 00:30

        У меня и через активный толку не было.

        Говорят через хаб лучше.
        Я не пробовал.


  1. fshp
    26.08.2015 02:42
    -2

    А вебморда есть? Или только win/telnet?


    1. bioskiller
      26.08.2015 04:01
      +2

      Есть.


    1. chelaxe
      26.08.2015 06:23
      +1

      веб морда (http/https) внешне как winbox, winbox, ssh, telnet и api/api-sec можно использовать для скриптов внешних.


  1. BlackRaven86
    26.08.2015 05:21

    Еще неплохо бы добавить про виртуальную точку доступа (VirtualAP), например как сделать отдельный Wi-Fi для гостей: чтобы был интернет, но при этом никто не лазил в мою локальную сеть :)


    1. chelaxe
      26.08.2015 06:30
      +1

      Все просто щелкаем VirtualAP добавляется новый интерфейс он привязан к wlan физику изменить нельзя все как у wlan меняем лишь ssid и Security Profiles вот и все. А ну настраиваем отдельный DHCP на данный интерфейс и добавляем правила в фаервол. Адрес для нового интерфейса. Все.

      Я еще проксю микротиковскую подключил и вывожу страничку приветствия гостей.


  1. Dm4k
    26.08.2015 10:43

    На самом деле если у кого-то опыт есть хорошо бы адекватный хауту по созданию hotspot почитать…
    А-то все что есть в интернете включают в себя базовую настройку (в том числе описанную здесь), а та часть которая касается именно hotspot описывается очень поверхностно.
    Об опыте — как авторизовывать пользователей, управлять ими, генерировать одноразовые ключи, настраивать права доступа (по времени, по адресам/категориям).
    Ну что бы для гостей положить стопку карточек с кодами разными и не париться о смене паролей периодической.


    1. maverickcy
      26.08.2015 11:21

      Для такой затеи нужен пакет Usermanager. Там есть возможность генерить туеву хучу ваучеров в html или csv и резать скорость.


  1. Anakros
    26.08.2015 12:07

    Спасибо за подробный гайд. У меня тоже валяется такая модель, настроил всё более-менее и как-то лень дальше было разбираться с мелкими проблемами.
    Не подскажете как правильно настроить проброс порта на локальную машину так, чтобы этот проброс работал и на машине в локальной сети, а не только из внешки?
    Я настроил проброс, тестирую из локальной сети на внешний адрес и не понимаю почему оно не работает, тестирую из внешней сети мой внешний адрес — внезапно, работает. Почему так?

    + по-моему из-за этого не работали мои поддомены на машинах в локальной сети, которые указывают на мой внешний адрес, уже не помню точно.



  1. ipswitch
    26.08.2015 12:40

    Прочитал с удовольствием. Спасибо!
    Великая вещь эти Микротики. Ещё когда удивился подобному симбиозу GUI (пусть и не web-based) и командной строки. Гремучая смесь CLI-only и GUI-only. Но работает-то как! А наличие галок и кнопок всё же ускоряет процесс вхождения. Да страницы Winbox весьма информативны — проще сразу визуально оценить (именно что «оглядеть») происходящее, а не вчитываться в вывод последовательной серии команд.


  1. cjmaxik
    28.08.2015 12:50

    Спасибо за гайд.
    Что насчет fasttrack?


    1. 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 пунктом).


      1. Iaroslav_Olegovich
        20.09.2015 16:25
        +1

        Чуть не забыл — в настройках IP->Settings необходимо отметить IPv4 Fasttrack Active и Allow Fast Path.


  1. 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


  1. Lopar
    02.09.2015 14:27
    -4

    Вот вы тут пишете, что без настроек файерволла интернета не будет. У меня файерволл не настроен, а интернет есть. ЧЯДНТ?


    1. GeXoGeN
      02.09.2015 16:12
      +2

      А nat Вы где настраиваете? Или он у Вас без nat'а работает? А так конечно Вы молодец! Стандартный пароль тоже обычно не меняете?


      1. Lopar
        02.09.2015 20:08
        -3

        А что в нём можно еще и пароль задать? Ухты! Не знал! ;)

        Да, без NAT. Сбросил на завод, настроил static-wan, хлоп, а на всех остальных портах мир есть. Даже вебморда по белому айпишнику доступна, чему я удивился жутко.


        1. GeXoGeN
          03.09.2015 10:26
          -1

          Если Вы не настраивали nat, это не значит, что он не настроен. На заводских настройках уже всё сделали за Вас, но обычно 95% проблем, связанных с работой Mikrotik'ов вызваны заводским настройками. Так что это золотое правило — «купил Mikrotik — прошей свежей прошивкой — снеси заводскую конфигу».


          1. Lopar
            03.09.2015 14:10
            -1

            Обидно что делал всё по тутору — букву в букву. А на выходе — не то, что написано. Ладно, вот рядом ещё один нераспакованый Микротик, буду пошагово смотреть что не так.


            1. GeXoGeN
              03.09.2015 15:49

              На каком моменте начинаются расхождения?


              1. Lopar
                03.09.2015 16:17
                -1

                Вот собственно на «Между устройствами в локальной сети появилось связь, при попытке сделать ping до любого ресурса распознается его адрес, но доступ в интернет все еще отсутствует. Пришло время для последнего крупного пункта: настройки пакетного фильтра.»

                Я на этом шаге интернет вижу. Из за чего эту ветку разговора и начал.


                1. GeXoGeN
                  03.09.2015 21:27

                  Если бы вы всё делали по тутору, то было бы как там написано. А вы, судя по всему не сделали этого:

                  Появится предложение: сохранить базовую конфигурацию, либо обнулить устройство. Выбираем [Remove Configuration].
                  Поэтому у Вас в разделе IP -> Firewall -> Nat присутствуют правила из заводской конфиги. Удалите конфигурацию через System -> Reset Configuration. Поставьте галочку «No default configuration» и снимите галочку «Keep user configuration» — конфигурация затрётся. После этого нужно перейти к разделу «Добавление пользователя» данной статьи.


  1. 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» не разрешаются имена сайтов. Отключаю его и имена сайтов начинают разрешаться. Что я сделал не так?

    Всё делал в соответствии с инструкцией, кроме удаления правил для внешнего подключения к микротику.


    1. GeXoGeN
      14.09.2015 20:50

      1, 2 — Версия микротика какая?
      3 — зачем дропать весь output? Роутер не может до DNS достучаться — вы ему кислород перекрыли.


      1. boolker
        15.09.2015 10:26

        1,2 — RouteBOARD 951G-2HnD
        3. Так это предпоследнее правило из консольной версии
        add action=drop chain=input
        add action=drop chain=output
        add action=drop chain=forward

        кстати, в табличке reject указали, а в консольном drop…


        1. 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=output


          1. boolker
            15.09.2015 12:32

            Operating 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 специфики конечно же.


            1. GeXoGeN
              15.09.2015 12:52

              Не уровень, а версия меня интересует. Её можно посмотреть в разделе System->Packages или в заголовке Winbox'а.

              Да эквивалентно. Но в случае, про output — это было оправдано, т.к. количество правил уменьшается, а тут — наоборот. Обновитесь до последней прошивки. Возможно, у Вас она старая и там такие фичи ещё не реализованы.


              1. boolker
                15.09.2015 14:31

                Обновился до последней, согласно Дополнению 3 данного руководства до 6.32.1 но у меня WinBOX маковская сборка сразу с Wine V3 RC последний.
                я потому в терминал сразу и пошёл. Впрочем перепроверю. надеюсь ошибся


              1. boolker
                16.09.2015 10:07

                Правда Ваша. Шёл по шагам, потому новый синтаксис получил после того, как сдался.
                Автору наверное стоило обновление поставить в начало или оговориться о возможных затыках.
                Спасибо за помощь. Ушёл изучать как теперь заставить работать tunnel 6in4