среда, 2 сентября 2009 г.

MikroTik - Winbox & Console



MikroTik Router OS предоставляет несколько инструментов для настройки и управления системой, пожалуй, основными являются консоль (telnet, ssh) и winbox.
В этой статье я попробую рассказать про плюсы и минусы обоих методов, а так же как читать консольные команды и представлять их в виде графического интерфейса winbox.



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


Старый интерфейс

Новый интерфейс со списком устройств

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

Следующим шагом winbox скачивает с роутера файлы интерфейса, причем от версии к версии эти файлы меняются, так что будьте готовы к тому, что до 20мб трафика на это уйдет.

Если все нормально, то попадаем в интерфейс winbox:

интерфес к версии 2.5

интерфес к версии 2.7

интерфес к версии 2.9

интерфес к версии 3,20

Как видно от версии к версии основное меню все так же остается на прежнем месте, вертикальный список с левой стороны, оно практически полностью повторяет основное меню консольного интерфейса:

[mkt@MikroTik] >
certificate -- Certificate management
driver -- Driver management
file -- Local router file storage.
import --
interface --
ip --
ipv6 --
isdn-channels -- ISDN channel status info
log -- System logs
password -- Change password
ping -- Send ICMP Echo packets
port -- Serial ports
ppp -- Point to Point Protocol
queue -- Bandwidth management
quit -- Quit console
radius -- Radius client settings
redo -- Redo previosly undone action
routing --
setup -- Do basic setup of system
snmp -- SNMP settings
special-login -- Special login users
store --
system --
tool --
undo -- Undo previous action
user --
xen --
export -- Print or save an export script that can
be used to restore configuration
Второй уровень меню точно так же похож на консольное, в этом пожалуй, первое преимущество графического интерфейса - удовольствие кликать по меню мышкой, а если серьезно, то когда только начинаешь знакомиться с системой, то лучше что бы все доступное было перед глазами и переход от одного раздела к другому занимал секунды, пускай по началу обилие всего будет пугать и глаза будут разбегаться, но потом все встанет на свои места. К тому же если на моменте установки ограничиться только теми пакетами, которые на самом деле нужны, то количество пунктов в меню заметно уменьшится.

Практически каждое окно настроек содержит одинаковый набор инструментов:


Добавить элемент, аналогично консольной команде add.
Удалить выбранный элемент, консольная команда remove.
Сделать выбранный элемент активным, в консоле это выглядит как enable.
Сделать выбранный элемент не активным, в консоле это выглядит как disable.
Добавить комментарий к выбранному элементу (работает не на всех элементах), то же в консоле comment="".
Открывает дополнительную панель фильтрации, в консоле для тех же функций используется команда find.
Сброс счетчика пакетов и трафика для выбранного элемента, или же reset-counters.
Сброс всех счетчиков, равносильно команде reset-counters-all.
В версии 3 появляется возможность быстрого поиска.
Быстрый фильтр по типам элементов.

Рассмотрим несколько примеров работы с интерфейсом.

Добавление адреса сетевому интерфейсу:

Вводим адрес в поле Address, через "/" указываем маску, поля Network и Broadcast будут автоматически рассчитаны.

В поле Interface выбираем интерфейс, которому назначается адрес.

По нажатию на кнопку Comment можно добавить комментарий.

Кнопками Enable/Disable активируется или выключается этот адрес.

Кнопкой Copy можно продублировать запись, кнопка Remove удаляет адрес.

Тоже самое можно записать в виде консольной команды:
[mkt@MikroTik] > ip address add address=192.168.0.1/24 interface=LOCAL
comment="Local network"
Попробую представить это все вместе и разделить действие на блоки, каждому блоку назначу определенный цвет.

ОписаниеКонсоль
Добавить ip адрес 192.168.0.1 с маской 255.255.255.0 на сетевой интерфейс LOCAL и вставить комментарий "Local network"
ip address add address=192.168.0.1/24 interface=LOCAL
comment="Local network"
Winbox

Добавление правила в Firewall rules:

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

Теперь тоже самое, но в консоле:
[mkt@MikroTik] > ip firewall filter add chain=forward src-address=192.168.0.2 protocol=tcp
dst-port=80 action=accept comment="Allow http for server (out)"
Можно сказать, что в консоле все гораздо красивее и понятнее, практически как звучит само описание правила, так она и записана.
Но! Теперь мы сталкиваемся с ситуацией, что после добавления наше правило попадает в конец списка, это вполне нормально, если настройка идет в первый раз, набор правил уже известен, только и набирай, а если в таблице уже существует под 50 строк правил и новое добавляется где-то в середину?
В консоле на набираем:
[mkt@MikroTik] > ip firewall filter print

Flags: X - disabled, I - invalid, D - dynamic
0 ;;; Drop invalid connection
chain=forward action=drop connection-state=invalid

1 ;;; Allow established connections
chain=forward action=accept connection-state=established

2 ;;; Allow related connections
chain=forward action=accept connection-state=related

3 ;;; Allow UDP
chain=forward action=accept protocol=udp

4 ;;; Allow ICM Ping
chain=forward action=accept protocol=icmp

5 ;;; Allow all for admin
chain=forward action=accept dst-address=192.168.0.10

6 ;;; Allow all for admin
chain=forward action=accept src-address=192.168.0.10

-- [Q quit|D dump|down]

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

Все просто, находим нужное место и мышкой перетаскиваем туда правило, в колонке Bytes и Packets начинают увеличиваться счетчики, значит правило заработало, так что некоторое преимущество на лицо.

Вернемся опять к нашему правилу и допустим, что нам нужно, что бы оно работало не постоянно, а только в определенные часы, на пример с 9-00 до 17-00 в будние дни. В графическом интерфейсе все очень просто, переходим на вкладку Extra и в разделе Time выставляем параметры.

А что же в консоле?
[mkt@MikroTik] > ip firewall filter add chain=forward src-address=192.168.0.2 protocol=tcp
dst-port=80 action=accept comment="Allow http for server (out)"
time=9h-17h,mon,tue,wed,thu,fri
Вот так постепенно в принципе простая команда "обрастает" множеством параметров, а если добавим сюда еще парочку, как то ограничение на подключения, обработку не конкретного адреса, а группы адресов, и получим хорошую поэму в 5-7 строк!

Теперь тоже самое, все вместе и с выделением блоков.

ОписаниеКонсоль
Добавить новое правило фильтрации в firewall. Разрешить исходящий трафик с адреса 192.168.0.2 любой по протоколу tcp, на 80 порт. Добавить комментарий "Allow http for server (out)". Правило должно действовать в будние дни с 9-00 до 17-00.
ip firewall filter add chain=forward src-address=192.168.0.2 protocol=tcp dst-port=80 action=accept сomment="Allow http for server (out)" time=9h-17h,mon,tue,wed,thu,fri
Winbox


Настройка DNS:

Прописать в настройках DNS в качестве первичного сервера 208.67.222.222, а в качестве резервного 208.67.220.220, а так же разрешить удаленные запросы.

Консольная команда будет выглядеть так:
[mkt@MikroTik] > ip dns set primary-dns=208.67.222.222 secondary-dns=208.67.220.220
allow-remote-requests=yes
Теперь добавим статическую DNS запись, что бы обращение к supersite.ru вели к локальному веб серверу по адресу 192.168.0.2, а так же укажем TTL для этой записи в 600сек.


Консоль:
[mkt@MikroTik] > ip dns static add name=supersite.ru address=192.168.0.2 ttl=00:
10:00
Все вместе с разделением на блоки:

ОписаниеКонсоль
Прописать в настройках DNS в качестве первичного сервера 208.67.222.222, а в качестве резервного 208.67.220.220, разрешить удаленные запросы.ip dns set primary-dns=208.67.222.222 secondary-dns=208.67.220.220 allow-remote-requests=yes
Winbox



ОписаниеКонсоль
Добавить статическую DNS запись, что бы обращение к supersite.ru вели к адресу 192.168.0.2, TTL равно 600секip dns static add name=supersite.ru address=192.168.0.2 ttl=00:10:00
Winbox

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

Пожалуй стоит отметить большой набор утилит, которые включены в MikroTik router OS. Они доступны как с графического интерфейса, так и с консоли.


Но чего уж тут хитрить, в консоле с ними гораздо сложнее работать, чем графическом интерфейсе, разговор о них этой уже отдельная тема.

Но все же у winbox-а есть один недостаток, он очень любит хорошие и быстрые каналы. Отображать на экране несколько десятков правил и в реальном времени обновлять значения счетчиков, да еще на нескольких экранах сразу, а добавим сюда еще монитор соединений в реальном времени и получим, что надо иметь хотя бы 1-2мб/с для таких игр, хотя если сократить количество открытых одновременно окон до одного - двух, то можно ужиться и на gps соединении.

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

П
родолжение следует...
Progg it

42 коммент.:

  1. АнонимныйSep 7, 2009 11:53 AM

    Сергей подскажите возможно-ли осуществить подключение WINBOX для управление микротиком через интернет.(GPRS-модем и ноут)

    ОтветитьУдалить
  2. > Сергей подскажите возможно-ли осуществить подключение WINBOX
    > для управление микротиком через интернет.(GPRS-модем и ноут)

    Конечно можно, по умолчанию разрешено управление из вне.

    ОтветитьУдалить
  3. АнонимныйSep 8, 2009 11:07 AM

    Подключится через GPRS-megafon не удается. Пинг до микротика проходит. Напрямую подключив к внешнему интерфейсу изменив IP конектимся нормально. Может какието тонкости настройки есть?

    ОтветитьУдалить
  4. > Подключится через GPRS-megafon не удается.
    > Пинг до микротика проходит. Напрямую подключив
    > к внешнему интерфейсу изменив IP конектимся нормально.
    > Может какието тонкости настройки есть?

    Во первых для работы через winbox нужно, что бы было разрешено подключение к 8291 порту по TCP.
    Во вторых надо проверить значения для службы www в /ip service, служба должна быть включена, порт 80, адрес 0.0.0.0/0, командой /ip service set www port=80 address=0.0.0.0/0 можно выставить значения по умолчанию.
    Еще можно попробовать обращаться к микротику через порт 88, т.е. в адресной строчке набрать ХХХ.ХХХ.ХХХ.ХХХ:88, иногда помогает.
    Вообще при попытке подключиться запрашиваются версии модулей, потом они скачиваются локально, а только потом происходит сама попытка подключения на 8291 порт.

    ОтветитьУдалить
  5. А еще забфли сказать что из винбокса-таки недоступен ни UserManager ни Dude ни еще процентов 30 самых вкусных возможностей.

    ОтветитьУдалить
  6. АнонимныйOct 23, 2009 02:14 AM

    Сергей подскажите пожалуйста.
    У меня небольшая сеть с выходом в инет (10 пользователей)с делением трафика по 256 кб/с. Раньше стоял ZyXel P660HTW2, но он может делить только на 9 пользователей. Я установил старый комп (Pentium III 733 МГц 128 RAM 4 ГГб HDD). Поставил на него микротик 2.9.27, настроил. Вроде все работает, но слишком медленно открываются страницы и часто происходит обрывы при загрузке страниц. Когда ставишь что нибудь на закачку, закачивает вроде нормально. Микротик я подключил к зюкселю на один из lan портов. Когда подключаюсь к инету через зюксель страницы загружаются быстро и нет никаких срывов

    ОтветитьУдалить
  7. > Вроде все работает, но слишком медленно...

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

    ОтветитьУдалить
  8. АнонимныйOct 23, 2009 04:39 AM

    У меня сетевые карты canyon 10/100 CBH-LAN2 на чипе realtec RTL 8139D, дешевые конечно.

    ОтветитьУдалить
  9. АнонимныйOct 27, 2009 06:21 AM

    Сергей , если сможете пмогите пожалуйста в настройке микротик (2.9.27)
    Имеется ADSL модем роутер зюксель P660HTW2 (адрес модема 192.168.1.1 сеть 192.168.1.0/24. К нему на один из lan портов подключен комп с микротиком (адрес микротика 10.10.10.1 сеть 10.10.10.0/24). Микротик выходит на зюксель по адресу 192.168.1.3. На микротике натроен DHCP сервер с пулом 10.10.10.2-10.10.10.254. Изучал различную информацию по настройке, но все у меня как то криво получается.Вроде все зароботало, но через какое то время выход в инет прерывается.

    ОтветитьУдалить
  10. Если все настроено верно и какое то время работает, то тут скорее какая то железячная проблема. Можно попробовать сменить сетевые карты в роутере, возможно есть какая то проблема состыковки роутера и модема, попробуй понизить скорость соединения роутера с модемом до 10Мб (у меня было что то похожее при работе с радио модемом).
    На крайний случай (судя по номеру версии) попробуй поискать дистрибутив, который сломан по лучше :) (тут я не чего не советую).

    ОтветитьУдалить
  11. АнонимныйOct 30, 2009 08:44 AM

    Сергей, а может у меня проблемы медленной загрузки страниц из за того, что у меня зюксель настроен на routing. Если сменить на bridge какие тогда настройки нужны в микротике. Раньше у меня был настроен DHCP client и микротик получал адрес из пула DHCP зюкселя.
    Как я понимаю при bridge все настройки на провайдера инета останутся на зюкселе.

    ОтветитьУдалить
  12. > Если сменить на bridge

    Верное замечание :)
    По моему самое правильное это что бы в твоей схеме модем работал как проводник, а роутингом занимался микротик. хотя тут надо не забывать что у тебя такая странная схема, когда будешь делать NAT или что то подобное.

    ОтветитьУдалить
  13. АнонимныйNov 1, 2009 01:17 AM

    Сергей , а как настроить правило для ограничения на количество одновременных сессий для определенного IP адреса и какой лимит лучше установить.

    ОтветитьУдалить
  14. Если в тему интерфейса винбокса, то в firewall filter rules на вкладке extra есть настройки ограничения сессии, времени действия этого правила и т.д. Но, если честно, я особо этим не занимался, так что оптимальных цифр Вам не подскажу, если опишите проблему и то как Вы ее решили, то буду очень признателен.

    ОтветитьУдалить
  15. АнонимныйNov 16, 2009 11:33 AM

    Сергей помогите с настройкой.
    Есть микротик внутрений интерфейс 192.168.0.5.
    маска 255.255.255.0.
    Все IP 192.168.0.ххх почти уже исчерпаны.Есть форум и север 192.168.0.15.
    Хотим задействовать 192.168.4.ххх с доступом к форуму и серверу.

    ОтветитьУдалить
  16. > Хотим задействовать 192.168.4.ххх с доступом к форуму и серверу.

    Или расширить маску или...
    ip address add address=192.168.4.1 interface=local
    ip route add dst-address=192.168.4.0/24 gateway=192.168.4.1
    добавить еще одну подсеть на локальный интерфейс и перенаправить все запросы в эту подсеть на локальный интерфейс

    ОтветитьУдалить
  17. АнонимныйNov 17, 2009 09:36 AM

    Пошли простым путем расширили маску

    ОтветитьУдалить
  18. АнонимныйDec 1, 2009 10:36 AM

    Сергей подскажи пожалуйста, как бороться с теми кто делает подмену MAC адреса и выходит в сеть под чужим IP и MAC адресами. Версия микротика 2.9.27, адреса раздаются по DHCP.

    ОтветитьУдалить
  19. > как бороться с теми кто делает подмену MAC адреса и выходит в сеть под чужим IP и MAC адресами

    Ввести еще один уровень аутентификации, на пример VPN, где нужен будет пароль и имя пользователя.

    ОтветитьУдалить
  20. АнонимныйDec 4, 2009 12:24 PM

    Сергей объясните пожалуйста как сделать VPN.

    ОтветитьУдалить
  21. АнонимныйDec 12, 2009 04:21 AM

    Сергей не подкажите почему у некоторых пользователей Mikrotik блокирует выход в инет. Лечится перезаписью Ip на микротике.

    ОтветитьУдалить
  22. > не подкажите почему у некоторых пользователей Mikrotik блокирует выход в инет

    Если лечится именно так, как Вы написали, то может установка прошла как то криво?
    У меня, на пример, бывает, что после установки не работает планировщик в микротики, опять переустанавливаешь на туже машину и все работает.
    Еще замечал страшные глюки, если делаешь экспорт конфига с младшей версии и поднимаешь на старшей, хотя в принципе все "внутри" одинаковое, но на деле оказывается не все так красиво.

    ОтветитьУдалить
  23. АнонимныйDec 14, 2009 10:11 AM

    Сергей а самое интересное что микротик блокирует выход в инет, а пинги на любой сайт проходят нормально

    ОтветитьУдалить
  24. АнонимныйJan 4, 2010 10:51 PM

    Сергей , не подскажите , как полностью ограничить на Микротике p2p трафик , чтобы не работал ни один Торрент-клиент ?

    Имеется ввиду , в фаерволе прописать правило для всех адресов.

    Что-то я попробовал , но непонятно , похоже что uTorrent и mTorrent "проскакивают".

    ОтветитьУдалить
  25. Промаркируй ети пакеты
    Потом на фаерволе выставь ограничение на скорость в 0.1к бит в секунду
    И все пользователи сами перестанут качать из торентов
    или смотри вот ето видео
    http://aitec.md/files/doc/QoS_p2p.avi

    ОтветитьУдалить
  26. АнонимныйFeb 11, 2010 08:19 AM

    Сергей подскажите пожалуйста:
    Как известно d-link 2500U изредка зависает, помогает перезагрузка. Но не всегда есть возможность его ребутнуть. Пришла в голову идея делать это скриптом следующим образом: пингуем к примеру www.ya.ru если пинга нет в течении одной минуты тогда заходи через telnet на модем, логинимся и выполняем команду reboot.
    В моем случае модем работает роутером. Есть возможность поставить его бриджем и поднимать PPPoE на серваке, но для меня это не вариант.
    Так как в "скрипто-писании" не селен вообще, прошу вашей помощи в реализации подобной микропрограммы под микротик 2.9.6.

    ОтветитьУдалить
  27. АнонимныйFeb 27, 2010 11:48 PM

    Добрый день Сергей. Если Вам не сложно напишите статью о настройке прокси, в часноти кеширующего веб-прокси. Спасибо. Или ответьте на мыло ker0van@rambler.ru, есть пара вопросов по этой теме.

    ОтветитьУдалить
  28. АнонимныйFeb 27, 2010 11:50 PM

    ОШИБСЯ! Мыло ker0van@rambler.ru ~~~~ через ноль~~~~

    ОтветитьУдалить
  29. АнонимныйApr 22, 2010 04:12 AM

    Здраствуйте Сергей подскажите похалуйста, у меня есть 3-х мегабитный канал гарантированый, мне надо 1 мегабит гарантировано отдать одному пользователю, а оставшиеся 2 мегабита отдать остальным пользователям. как можно это сделать, подскажи пожалуста. Заранее спасибо!

    ОтветитьУдалить
  30. АнонимныйApr 22, 2010 11:37 PM

    Здраствуйте Сергей очень интересная статья, могли бы вы мне описать как настроит OSPF маршрутизацию, я просто только начал изучать микротик, и мало что знаю о нем. Заранее спасибо

    ОтветитьУдалить
  31. АнонимныйAug 24, 2010 01:14 AM

    Сергей здравствуй, возник вопросс. У меня в сети кто то постоянно использует DHCP. На сервере все адресса статические. При этом конфликтуют IP. Можно ли на один интерфейс (LAN)прописать 2 адресса, тоесть, один статический, другой DHCP?
    Найти вредителя - не могу...

    ОтветитьУдалить
  32. > У меня в сети кто то постоянно использует DHCP.
    > На сервере все адресса статические. При этом
    > конфликтуют IP. Можно ли на один интерфейс (LAN)
    > прописать 2 адресса, тоесть, один статический,
    > другой DHCP?

    Не совсем до конца понятно понятно...
    Если кто то в сети получает адрес по dhcp, значит ему его кто то выдает, если это не Вы, то проблема клиента, можно выставить в /ip arp привязку адресов к маку и тогда при подмене адреса этот клиент ни как не будет рассматриваться (хотя будет конфликт с другими клиентами в сети).
    Можно поднять у себя dhcp server (/ip dhcp-server) и выдавать клиентам адреса самому, при этом можно закрепить за конкретными картами конкретные адреса.

    ОтветитьУдалить
  33. АнонимныйSep 8, 2010 01:07 PM

    Сергей распишите если несложно как можно выставить в /ip arp привязку адресов к маку

    ОтветитьУдалить
  34. АнонимныйSep 8, 2010 01:10 PM

    Сергей и какие есть ещё варианты привязки ip и мас в микротике

    ОтветитьУдалить
  35. Кто-то настраивал DNS-сервер в микротике?
    Не вижу ни прямой не обратной зоны.
    Прописал имя и ip-адрес сервера, а локальные имена и ip-адреса не резолвет. Может я чего-то не понимаю или здесь только название DNS?

    ОтветитьУдалить
  36. > или здесь только название DNS?

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

    ОтветитьУдалить
  37. а на счет "фальшивых" имен можешь поподробнее расказать?

    ОтветитьУдалить
  38. > а на счет "фальшивых" имен можешь поподробнее расказать?

    можно создать ложную A запись, как если бы она была прописана в %windir%\system32\drivers\etc\hosts

    допустим, у меня есть веб сервер с которым работают как во вне, там и локально. Те кто находятся в интернете легко его находят по имени www.aaaa.com, а локальные пользователи при попытке перейти на www.aaaa.com пойдут очень странным путем, хотя можно просто пойти на локальный адрес. Что бы локальные пользователи при обращении в dns имени попадали на локальный адрес создаем запись:

    /ip dns static add name=www.aaaa.com address=192.168.1.10

    теперь всем, кто спросит у микротика "где находится www.aaaa.com" он ответит что локально на 192.168.1.10.

    ОтветитьУдалить
  39. народ скинул по дефолту микротик, теперь через винбокс выдает адрес 0.0.0.0 и по маку не заходит ...че делать ?

    ОтветитьУдалить
  40. > народ скинул по дефолту микротик, теперь через
    > винбокс выдает адрес 0.0.0.0 и по маку не
    > заходит ...че делать ?

    у карты всегда есть мак, возможно у Вас проблема с сетевой картой.

    ОтветитьУдалить
  41. АнонимныйOct 29, 2011 02:28 PM

    здравствуйте Сергей стоит сервер на микротике модем работает мормально скорость 21мь/с ето унас потолок свич д-линк сеть с 5 юзеров 3 юзера по 2мь один 10мь один безлим тот который 10мь поставил роутер лан-вайфай тп-линк подключает тв-тюнер, пк, ай-пад и начинаютса проблемы затухание сети винбокс показывает все норма а сеть ложится только с его строны но бывает и меня тянет менял тп-линк ставил ему свич д-линк подключал на прямую его пк проблема осталась две недели парюсь не пойму

    ОтветитьУдалить
  42. АнонимныйNov 28, 2011 02:00 AM

    Добрый День! Сергей ,подскажите пожалуйста... доступ пользователей настроен через WEB PROXY... на днях сменили провайдера и теперь проблемы со скоростью открытия страниц... впн по прежнему нормально работает а тест скорости выдает 50-60 кб\с...ели отключаю WEB PROXY на микротике, то скорость сразу возрастает до истинной 6Мб...с другим провайдером подобного не наблюдалось

    ОтветитьУдалить