Есть задача: настроить устройство на базе 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 и нажимаем [].
Консольная версия
Отключаемся и заходим на устройство под новым пользователем.
Настройка провайдера
Провайдер будет подключаться в первый порт 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
Настройка 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.
Подготовка интерфейсов для локальной сети
На данный момент интерфейсы 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.
Настройка ip, dhcp-server
Добавляем ip на интерфейса br1-lan: [IP]➙[Addresses]➙[+]➙[Address: 192.168.10.1/24; Interface: br1-lan]➙[OK]
Консольный вариант
Создаем пул адресов для dhcp: [IP]➙[Pool]➙[+]➙[Name: dhcp-pc; Addresses:192.168.10.100-192.168.10.200]➙[OK]
Консольный вариант
Включаем прослушку 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).
Консольный вариант
Настройка сервера доменных имен
Если вас не устраивают DNS от провайдера можно добавить в список свои (можно полностью убрать провайдерские DNS выключив опцию Use peer DNS в соответствующих подключениях).
Включаем прослушку DNS запросов: [IP]➙[DNS]➙[Allow Remote Requests: yes]➙[OK]
Консольный вариант
Теперь локальная сеть работает, перезапускам сетевой интерфейс (или 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 |
Консольный вариант
Теперь интернет должен быть доступен, если вам этого достаточно то закрывайте HOWTO и пользуйтесь, если хотите узнать больше дальше пойдет рад дополнений.
Дополнение 1. Имя устройства
Даем устройству имя: [System]➙[Identity]➙[Name: MikRouter]➙[OK]
И задаем его в dns: [IP]➙[DNS]➙[Static]➙[+]➙[Name: mikrouter; Address:192.168.10.1]➙[OK]
Теперь к устройству можно обращаться по доменному имени mikrouter, но только из локальной подсети.
Консольный вариант
Дополнение 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]➙[Packages]➙[Check for updates]➙[Channel: current]➙[Download&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]
Консольный вариант
Дополнение 5. Отключаем лишние службы
Оставим winbox/http/ssh, остальные можно будет включить при необходимости: [IP]➙[Services]выделяем как на скриншоте и нажимаем [x].
Консольный вариант
Дополнение 6. Отключаем обнаружение и ограничиваем доступ по mactelnet
В winbox есть средства обнаружения устройств находящихся в одной физической сети с ПК, это удобно, но зачем соседям знать что у нас за устройство?
Отключаем: [IP]➙[Neighbor]➙[Discovery Interfaces]. Можно оставить обнаружение для br1-lan (локальная сеть), можно убрать на ваш выбор. Для новых интерфейсов обнаружение включено по умолчанию, не стоит от этом забывать.
Консольный вариант
Теперь ограничим доступ по mac-адресу(winbox и mactelnet): [Tools]➙[MAC Server]➙[Telnet Interfaces]
Отключаем([x]) all и добавляем br1-lan.
Переходим в [Winbox Interfaces] и повторяем.
Консольный вариант
Дополнение 7. Включаем UPnP
Многие p2p приложения и online игры требуют UPnP (служба динамического открытия портов) для нормальной работы.
Включаем: [IP]➙[UPnP]➙[Enabled: yes]
Добавляем интерфейсы: [Interfaces]➙[+]
External: eth1-wan;
Internal: br1-lan.
Консольный вариант
Дополнение 8. Оверклокинг
Если число устройств в сети возросло настолько, что роутер перестал справляться, можно немного разогнать процессор: [System]➙[RouterBOARD]➙[Settings]➙[CPU Frequency: 750 MHz]
Для RB 951G — это максимальная частота работы CPU.
Консольный вариант
Дополнение 9. Резервная копия настроек
Бекап настроек никогда не будет лишним: [Files]➙[Backup]
Name: имя файла (без расширения);
Password: пароль (если не указывать будет использован пароль от пользователя);
Don’t Encrypt: если нет необходимости шифровать бекап.
Консольный вариант
Для восстановления достаточно скопировать файл на другое устройство(желательно той-же серии и с той-же версией RouterOS).
Зайти в [Files]➙[Restore] и выбрать файл.
Консольный вариант
P.S. Если примут, напишу продолжение HOWTO про практику настройки резервирования и прочие хитрости с RouterOS.
Sorry, the comment form is closed at this time.