Настройка роутера микротик RB751/RB951 на примере провайдера InterZet
В распоряжении имеется роутер RB751U, который в свою очередь подключен к провайдеру Interzet. В нашу задачу входит, стандартным образом настроить подключение к сети провайдера, локальную и беспроводную сети, правила firewall для безопасной работы в интернет, ну и освоить другие полезные фишки которые пригодятся нам в будущей работе.
Для лучшего понимания процесса настройки, кроме традиционных скриншотов интерфейса RouterOS через Winbox параллельно буду выкладывать CLI-команды, как если бы настройка производилась в терминале или по SSH.
Скачиваем Winbox, подключаемся по IP или mac-адресу нажав клавишу "три точки". Логин: admin. Пароль отсутствует.
При первом входе в устройство, система предупредит что был запущен скрипт автоматической конфигурации, который сбрасывает роутер к заводским настройкам по умолчанию, после которых нужно лишь прописать свои ip адреса, добавить nat-правило и роутер готов к работе. Или же воспользоваться быстрой настройкой микротика при помощи мастера (Quick Set), который поможет настроить все буквально за пару минут.
Но перед нами стоит задача - понять логику работы роутера. Поэтому мы поэтапно пройдемся по всем шагам настройки с 0-ля. Соответственно, во время появления окошка "RouterOS Default Configuration" нажимаем "Remove Configuration" или если вы сразу этого не сделали, то аналогичную операцию можно выполнить из пункта меню "System" – "Reset Configuration", выбрав там настройку "No Default Configuration" или в терминале выполнив команду:
system reset-configuration
После чего роутер автоматически перезагрузится и можно будет начинать настройку с чистого листа. Снова заходим в Winbox, видим что подключение доступно только по mac. Подключаемся.
1) Настройка основных интерфейсов:
Конфигурация сетевых интерфейсов Микротик предполагает, что первый порт устройства ether1 используется как WAN для подключения к сети провайдера, последующие порты ether2, ether3 и.т.д. используются для подключения компьютеров к локальной сети. Переходим в меню Interface. Буква R - напротив означает что интерфейс включен, что соответствует активным светодиодам на самом устройстве, X - выключен.
Для того что бы не путаться мы можем либо переименовать интерфейсы изменив поле Name, либо можем задать комментарий, при помощи поля Comment. Интерфейсу ether1 присвоим комментарий WAN, ether2 - LAN-Master. В терминале:
/interface ethernet set 0 comment=WAN /interface ethernet set 1 comment=LAN-Master
После чего картинка примет следующий вид:
Затем настроем коммутацию между портами объединив их в свитч, назначив основной lan порт роутера ether2 в качестве мастера а остальные порты ether3, ether4 и.т.д в качестве подчиненных slave. Для этого перейдем в настройки интерфейсов с ether3 по ether5 и в поле Master Port выберем порт ether2.
/interface ethernet set 3 master-port=ether2 /interface ethernet set 4 master-port=ether2 /interface ethernet set 5 master-port=ether2
После чего картинка примет следующий вид. Как видим напротив интерфейсов с ether3 по ether5 стоит буква S (Slave) - ведомый.
Начиная с версии прошивки 6.41 и выше коммутация через Switch (Master Port) более не актуальна, вместо нее используется коммутация через Bridge Interface. (Пример ниже);
Теперь что бы локальные компьютеры подключенные проводом к роутеру и по Wi-Fi видели друг друга, необходимо объединить беспроводной и проводные интерфейсы в локальный мост. Для этого в основном меню переходим на вкладку Bridge. Нажимаем Add. В появившемся окне New Interface задаем имя моста например: bridge1 нажимаем ОК.
Затем переходим на вкладку ports и добавляем главный Ethernet порт свитча ether2 (LAN-Master) нажимаем ОК, затем таким же образом добавляем Ethernet порт wlan1. Получим следующее:
Что бы выполнить тоже самое в терминале, набираем команду и задаем имя моста:
/interface bridge add
2) Настройка адресации в MikroTik
Открываем меню IP, затем подменю Addresses. В открывшемся окне Address List нажимаем Add (красный крестик). В открывшемся окне New Address в поле Address вводим адрес и маску локальной сети, например: 192.168.3.1/24 или если вы не знаете длину префикса маски то набираем 192.168.3.1/255.255.255.0 и маска автоматически будет преобразована в 24.
В списке Interface выбираем bridge1 (eсли у вас роутер MikroTik без Wi-Fi (RB750, RB750GL, RB450G), то в списке Interface выбираем главный интерфейс свитча ether2). Нажимаем ОК.
Таким же образом добавляем ip настройки выданные провайдером и в качестве интерфейса выбираем ether1. Нажимаем ОК.
/ip address add address=192.168.3.1/24 disabled=no interface=bridge1 network=192.168.3.0 add address=10.140.60.208/22 disabled=no interface=ether1 network=10.140.60.0
Добавляем шлюз по умолчанию, для этого переходим в меню IP, затем подменю Routes нажимаем крестик, в поле Gateway указываем шлюз полученный от провайдера, нажимаем ОК.
Если маршрут поднялся правильно, то напротив адреса шлюза мы увидим запись reachable ether1. После чего подменю Route List примет следующий вид:
В терминале:
/ip route add dst-address=0.0.0.0/0 gateway=10.140.60.1 distance=1 comment="isp"
Теперь укажем DNS-серверы, для этого открываем меню IP, выбираем подменю DNS. В открывшемся окне DNS Settings в поле Servers: прописываем IP адрес основного DNS сервера, нажимаем стрелку "вниз", чтобы добавить дополнительное поле для ввода и вводим IP адрес альтернативного DNS сервера. Отмечаем галочку Allow Remote Requests;
Нажимаем кнопку Static, и добавляем основной локальный адрес роутера, который будет подставляться клиентам по DHCP в качестве основного DNS. В поле Name пишем например router, в поле адрес указываем LAN ip, у нас это 192.168.3.1. Нажимаем OK.
Затем снова ОК для выхода и сохранения настроек.
В терминале, команды будут выглядеть так:
/ip dns set allow-remote-requests=yes servers=192.168.231.21,192.168.250.21 /ip dns static add address=192.168.3.1 name=router
Теперь поменяем MAC-адрес на интерфейсе ether1 поскольку провайдер Interzet проверяет соответствие MAC и ip адреса. Делаем это при помощи следующей команды:
/interface ethernet set ether1 mac-address=00:02:40:A2:0C:22
3. Настройка DHCP-сервера.
Для автоматической раздачи сетевых настроек клиентам у нас должен быть настроен DHCP сервер. Пeреходим в меню IP, выбираем подменю Pool, указываем имя пула и диапазон адресов для выдачи локальным клиентам. Нажимаем ОК.
Затем в IP/DHCP Server, нажатием крестика, добавляем DHCP Server. В поле Interface выбираем ранее созданный локальный мост bridge1, но если у вас роутер без wi-fi интерфейса то выберем просто главный локальный интерфейс свитча ether2 (LAN-Master). В поле Address Pool укажем ранее созданный диапазон адресов dhcp-pool. Нажимаем ОК.
Затем переходим на вкладку Networks и прописываем ip адрес локальной сети с маской, шлюз, маску 24 и dns server. Нажимаем ОК. Перезапустим сетевой интерфейс компьютера что бы получить новый адрес по DHCP.
Все тоже самое можно проделать при помощи мастера нажав на кнопку DHCP Server последовательно нажимая далее.
При помощи команд DHCP-Server поднимается следующим образом:
/ip pool add name=dhcp-pool ranges=192.168.3.2-192.168.3.50 /ip dhcp-server add address-pool=dhcp-pool interface=bridge1 name=dhcp-server disabled=no /ip dhcp-server network add address=192.168.3.0/24 dns-server=192.168.3.1 gateway=192.168.3.1
4) Настройка Wi-Fi точки доступа MikroTik
Заходим во вкладку Wireless. Дважды щелкаем по интерфейсу Wlan1. Переходим на вкладку Wireless и нажимаем на кнопку Advanced Mode. Заполняем значения, как на рисунке. Более подробную информацию о параметрах можно просмотреть здесь.
Затем переходим на вкладку Advanced и выставляем значения как на рисунке.
На вкладке HT изменяем следующие параметры.
Нажимаем ОК. Затем переходим на вкладку Security Profiles и выбираем профиль default.
Выставляем режим и тип шифрования, задаем пароль. Нажимаем ОК.
Затем переходим на вкладку Interfaces и включаем интерфейс wlan1.
Для выполнения тех же операций через терминал, набираем следующие команды:
/interface wireless set wlan1 bridge-mode=enabled name=wlan1 disabled=no mode=ap-bridge band=2ghz-b/g/n channel-width=20/40mhz-ht-above ssid=Mikrotik wireless-protocol=802.11 frequency-mode=regulatory-domain country=russia wmm-support=enable distance=indoors periodic-calibration=enabled hw-protection-mode=rts-cts adaptive-noise-immunity=ap-and-client-mode ht-rxchains=0,1 ht-txchains=0,1 ht-guard-interval=long
/interface wireless security-profiles set default mode=dynamic-keys authentication-types=wpa2-psk wpa2-pre-shared-key=12345678
На этом настройка wi-fi завершена.
5) Настройка безопасности доступа к маршрутизатору
Отключаем не нужные сервисы управления для доступа к устройству. Для этого переходим в меню IP\Services и последовательно отключаем их нажатием на крестик.
Так же зададим, фильтр подключений с определенного ip-адреса или сети задав его в поле "Available From".
В терминале порядок действий аналогичный: Выводим список сервисов, отключаем не нужные, разрешаем доступ к определенному сервису из сети 192.168.3.0/24
/ip service print /ip service disable 0,1,2,4,5,7 /ip service set www port=80 address=192.168.3.0/24 /ip service set ssh port=22 address=192.168.3.0/24
Отключаем поиск других устройств (соседей) по протоколам MNDP и CDP на внешних интерфейсах. На внутренних интерфейсах желательно так же отключить, но если нужен доступ к роутеру по mac-адресу, то оставляем локальный интерфейс. Для этого переходим в меню IP\Neighbors\Discovery Interfaces и отключаем все кроме внутренних интерфейсов LAN (ether2) или Bridge, нажатием на кнопку Disable.
/ip neighbor discovery print /ip neighbor discovery set 0,1,2,3,4,5 discover=no
Затем идем в меню Tools/MAC Server и на закладках Telnet Interfaces и WinBox Interfaces так же оставляем только внутренние интерфейсы и отключаем интерфейс "*all". Bridge оставляем, т.к. опять же перестает работать доступ по Winbox.
/tool mac-server disable 0,1,2,3,4,5,6 /tool mac-server mac-winbox disable 0,1,2,3,4,5
Поменяем имя и пароль учетной записи администратора в меню System\Users. В поле Group - зададим права доступа. Возможные варианты: full - полный административный доступ, read - просмотр информации о настройках и событиях и выполнение команд, не затрагивающих конфигурацию роутера, write - изменение настроек и политик за исключением настроек пользователей системы.
/user set supermicro password=12345678 group=full
6) Настройка фильтрации трафика, выхода в интернет
По умолчанию стандартный скрипт настраивает firewall таким образом, чтобы пропускать из локальной сети наружу любой трафик (mascarading), а снаружи только тот, который запрашивается локальными хостами (dnat), а также ping.
В самом начале создадим правило разрешающее прохождения трафика на маршрутизатор (цепочка: input) установленных (established) и связанных подключений (related).
/ip firewall filter add chain=input connection-state=established,related comment="accept established & related"
Далее в этой же цепочке запретим инвалидный трафик. Это такой трафик где пакеты не могут быть идентифицированы и поэтому не имеют определенного статуса.
add chain=input action=drop connection-state=invalid
Разрешим icmp, если необходимо:
/ip firewall filter add chain=input protocol=icmp comment="ping"
Следующим правилом разрешим подключаться к роутеру из нашей локальной сети или определенного узла в сети по Winbox, кроме подключений идущих из интернета, т.е. ether1:
/ip firewall filter add chain=input dst-port=8291 protocol=tcp action=accept src-address=192.168.3.0/24 in-interface=!ether1 comment="accept winbox from LAN: ether2 (not WAN: ether1 )"
Затем, запрещаем любые другие входящие соединения из интернета на роутер.
/ip firewall filter add chain=input action=drop in-interface=ether1 comment="drop all from WAN"
Далее, разрешим прохождение трафика через маршрутизатор (цепочка: forward) уже установленных (established) и связанных (related) подключений:
/ip firewall filter add chain=forward connection-state=established,related comment="established forward & related"
Запретим инвалидный трафик, теперь уже для forward.
/ip firewall filter add chain=forward action=drop connection-state=invalid comment="drop forward"
Затем, если у нас имеются dnat правила проброса портов из интернет (вкладка NAT), то необходимо задать разрешение здесь. Например, что бы разрешить узлу 192.168.3.10 принимать подключения из интернета на 80-порт, добавим следующее правило:
/ip firewall filter add chain=forward dst-port=80 protocol=tcp action=accept dst-address=192.168.3.10 in-interface=ether1 comment="accept dnat for 192.168.3.10:80"
Что бы разрешить маскарадинг (SNAT), позволяющий выходить компьютерам локальной сети в интернет (SNAT) добавим следующее правило:
/ip firewall filter add chain=forward action=accept src-address=192.168.3.0/24 out-interface=ether1 comment="accept snat"
И в конце добавим правило, запрещающее любые другие подключения.
/ip firewall filter add chain=forward action=drop comment="drop all forward"
В итоге, на выходе получим такую картинку:
Для настройки выхода в интернет / маскарадинга, воспользуемся вкладкой NAT. Например, что бы предоставить доступ в интернет двум компьютерам в сети с адресами: 192.168.3.10, 192.168.3.11, наберем следующую команду:
/ip firewall address-list add address=192.168.3.10/31 disabled=no list=lan-access
/ip firewall nat add action=masquerade chain=srcnat out-interface=ether1 list=lan-access
Здесь мы сначала добавляем узлы 192.168.3.10 и 192.168.3.11 в некий список "lan-access" предполагающий разрешение доступа, затем создаем само правило разрешающее этим двум ПК выход в интернет.
Если необходимо выполнить проброс портов из интернета на внутренний сервер/сервис в локальной сети (dnat) добавим следующее правило:
/ip firewall nat add chain=dst-nat in-interface=ether1 protocol=tcp dst-port=80 action=dnat to-addresses=192.168.3.10 to-ports=80 comment="web" disabled=no
Если необходимо жестко задать IP-адрес с которого можно подключаться, то укажем его в поле Dst.Address. Не забываем, так же, что проброс портов не будет работать пока мы не разрешим это в правилах фильтрации, на вкладке Filter Rules.
7) Подключение и настройка usb-модема Yota 4G
Беспроводное подключение через модем Yota у нас будет в качестве резервного канала на случай выхода из строя основного провайдера.
Вставляем модем в usb-порт роутера. В списке интерфейсов должен появится новый интерфейс lte1.
Теперь переходим в меню ip\dhcp-client и выберем в списке интерфейс lte1.
В поле Add Default Router если оставить yes, будет создан маршрут по умолчанию, который в свою очередь отключит маршрут по основному провайдеру, если он есть. Что бы этого не произошло, и маршрут Yota был прописан в качестве дополнительного мы в поле Default Route Distance можем выставить значение 2 и тогда маршрут примет вид отключенного и будет таковым до тех пор пока, не упадет основной маршрут у которого Distance - 1. Но такой маршрут в последствии нельзя будет редактировать (например, задать комментарий), поэтому пока в поле Add Default Router поставим no и создадим маршрут сами.
На вкладке Status, убедимся так же, что роутер получил все необходимые настройки от DHCP-сервера модема.
Переходим в меню IP\Routers. Создаем новый маршрут, в поле Gateway укажем адрес - 10.0.0.1. Distance - 2 и комментарий - gw2.
Нажимаем ОК. Получим примерно следующую картинку.
Здесь у меня первый маршрут (gw1), как раз таки приоритетный и рабочий, просто отключен и поэтому в статусе unreachable, а "ётовский" как раз активный.
Затем добавим два правила на firewall'е. Одно правило для маскарадинга (snat), другое запрещающее любой не разрешенный входящий трафик на интерфейсе lte1.
/ip firewall nat add action=masquerade chain=srcnat out-interface=lte1 /ip firewall filter add chain=input action=drop in-interface=lte1 comment="drop input yota"
7) Настройка SNTP-клиента.
Для отображения корректного времени на устройстве, необходимо настроить SNTP-клиент который в свою очередь будет получать точное время от внешних ntp-серверов. Для этого переходим в меню System\SMTP Client отмечаем галку Enable и вводим ip-адреса первичного и вторичного серверов времени. Нажимаем ОК для сохранения настроек. Для получения самих адресов воспользуемся командой nslookup, например на адрес ru.pool.ntp.org.
А вот для того что бы выставить корректный часовой пояс без ввода команд не обойтись. Для этого в терминале набираем:
/system clock set time-zone-name=Europe/Moscow
Кроме вышеперечисленной команды, добавим сами серверы времени:
/system ntp client set enabled=yes primary-ntp=188.134.70.129 secondary-ntp=46.8.40.31
Посмотреть время на устройстве:
/system clock print
8) Настройка IPTV
Для того что бы настроить IPTV на роутере микротик необходимо предварительно добавить модуль multicast. Для этого переходим на сайт производителя. Выбираем серию устройств для которой будет скачивать пакет. В данном случае это mipsbe... RB700 series. Выбираем All package и скачиваем файл all_packages-mipsbe-x.xx.zip к себе на компьютер. Убедимся, что версия пакета соответствует текущей версии RouterOS, иначе придется обновить и систему тоже. (см. ниже).
Открываем архив all_packages-mipsbe-x.xx.zip и извлекаем от туда фаил multicast-x.xx-mipsbe.npk. В Winbox переходим в меню Files и перетаскиваем мышкой наш файл в окно Files List. Дожидаемся окончания процесса загрузки. Перезагружаем роутер.
Проверяем что пакет multicast установлен в System\Packages.
Что в свою очередь активирует новое дополнительное меню IGMP Proxy в разделе Routing. Открываем Settings и ставим галочку Quick Leave, что по идее должно увеличить скорость переключения каналов, нажимаем Apply для сохранения настроек.
/routing igmp-proxy set query-interval=1s query-response-interval=1s quick-leave=yes
Затем нажимаем "+" и создаем два IGMP Proxy интерфейса, один для внешней сети, который будет принимать поток многоадресной рассылки от провайдера, один для внутренней сети за микротиком, куда трафик будет дальше поступать к устройствам локальной сети.
Создаем первый IGMP proxy интерфейс, который смотрит в сеть провайдера, в нашем случае это ether1 (WAN), в поле Alternative Subnets укажем сеть вещания IPTV (если известна), если нет то поставим 0.0.0.0/0. Отметим галочку напротив Upsteam.
/routing igmp-proxy interface add alternative-subnets=0.0.0.0/0 comment="" disabled=no interface=ether1 threshold=1 upstream=yes
Теперь добавим второй IGMP proxy интерфейс, к которому подключены устройства внутренней сети, компьютер или IPTV-приставка. Задаем внутренний локальный интерфейс, нажимаем ОК.
/routing igmp-proxy interface add comment="" disabled=no interface=bridge1 threshold=1 upstream=no
Следующим шагом, необходимо создать правило на файрволе, разрешающее входящий IGMP-трафик, иначе ничего работать не будет. Для этого, в меню IP – Firewall, на вкладке Filter Rules, добавляем запись: Chain – input; Protocol - igmp; Action – accept. Помещаем созданное правило в начало списка, перед запрещающими.
/ip firewall filter add chain=input action=accept protocol=igmp
Если, мы все правильно настроили, то на вкладке IGMP Proxy\MFC должны появиться динамические правила, а так же пакеты, идущие через них.
Для работы IPTV через wi-fi, нужно в свойствах беспроводного интерфейса wlan1 на вкладке Wireless выставить значение параметра Multicast Helper в Full.
/interface wireless set wlan1 multicast-helper=full
9) Обновление MikroTik RouterOS
Для выполнения процедуры обновления RouterOS скачиваем прошивку с официального сайта. Выбираем, для какой серии устройств будем скачивать пакет обновления. Нас интересует mipsbe... RB700 series. Выбираем Upgrade package. Скачиваем npk-фаил.
Затем, переходим в меню Files и перетаскиваем мышкой наш фаил в окно Files List. Дожидаемся окончания процесса загрузки, после чего, файл должен отобразится в окне Files List.
Затем, перегружаем роутер. После перезагрузки версия RouterOS будет обновлена.