MikroTik – Winbox vs Console

telegram канал для общения

MikroTik Router OS предоставляет несколько инструментов для настройки и управления системой, пожалуй, основными являются консоль (telnet, ssh) и winbox.

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

Интерфейс

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

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

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

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

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

[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 очень помогает в настройке, возможность видеть все и сразу сильно облегчает поиск проблем в сети, но знание консольных команд тоже дорогого стоит, особенно когда поймешь, что любая команда очень легко интерпретируется в графический интерфейс (по моему на примерах выше это хорошо видно).

Продолжение следует…