Сергей Яремчук
MikroTik – Router OS
Типичными задачами, стоящими перед системным администратором, являются организация совместного доступа в Интернет и учет трафика. Несмотря на простоту определения, при более детальном подходе они распадаются на сотни подзадач, полноценно справиться с которыми под силу далеко не каждому.
Сегодня разработано достаточно инструментов, позволяющих упростить решение этой задачи как полностью, так и отдельных ее участков. Среди программных решений это различные утилиты для анализа журналов и вывода результатов, графические интерфейсы к программам настройки сети, сервисов и межсетевого экрана, VPN, системы защиты и прочее. Особой популярностью у администраторов пользуются специализированные дистрибутивы, построенные на базе GNU/Linux или различных BSD-систем [2, 3, 4], которые позволяют превратить старый системный блок в надежный маршрутизатор. Вообще все дистрибутивы чем-то похожи, тот же Linux только маленький, отличаются составом приложений, возможностью обновления, наличием специфических утилит для упрощения их настройки. Латышский дистрибутив GNU/Linux MikroTik [1], о котором пойдет речь, не похож ни на один из тех, с которыми мне приходилось ранее иметь дело автору.
Возможности MikroTik
Честно говоря, если бы MikroTik не был предложен моим интернет-провайдером для организации доступа к нашей районной сети, то, вероятно, я еще долго бы не знал об его существовании, т.к. на всех профильных интернет-проектах информация о MikroTik отсутствует. Теперь же после полугода эксплуатации можно отметить стабильную работу сервера. За этот период ни разу не понадобилось перезагружать сервер. Для организации доступа в Интернет сети из сотни пользователей использовался старый системный блок с установленным Пентиумом 233 с 128 Мб оперативной памяти и жестким диском на 2 Гб. Максимальная загрузка процессора составляла всего 25%, используемая память не превысила значения 40 Мб, а жесткий диск заполнен на 50 Мб. Раз уже зашла речь о системных требованиях, то в официальных руководствах они еще ниже, чем указанные: частота процессора от 100 МГц, ОЗУ 32 Мб (рекомендуется от 64 Мб), жесткий диск от 64 Мб.
Кроме того, на сайте проекта можно купить предустановленную на IDE Flash-модуль дистрибутива который может использоваться вместо жесткого диска. Кроме системных требований, удивили и поистине богатые возможности вкупе с легкостью настройки и администрирования. Приведу лишь небольшую часть из возможностей дистрибутива:
- Межсетевой экран и NAT – полноценная фильтрация пакетов, source и destination NAT, классификация пакетов по МАС, IP-портам, опциям протоколов, интерфейсам, внутренним маркированным пакетам, содержимому, P2P-фильтрация. Поддержка мостов между интерфейсами с фильтрацией пакетов.
- Маршрутизация – статическая, multi-path, на основе политик (совместно с межсетевым экраном), динамическая маршрутизации: RIP v1/v2, OSPF v2, BGP v4;
- Управление качеством облуживания – маркировка по IP, сети и подсети, порту; управление полосой пропускания, задание скорости и прочее.
- Полноценный HotSpot – создание plug&play точек коллективного пользования Интернет с аутентификацией на RADIUS-сервере, с контролем работы в реальном времени, заданием скорости, объема, времени работы клиента, создание walled-garden защищенных зон.
- Поддержка различных Point-to-Point-протоколов – PPTP, PPPoE и L2TP с поддержкой RADIUS, PAP, CHAP, MSCHAPv1 и v2 протоколов аутентификации; MPPE шифрования; компрессии и дозвона по требованию для PPPoE.
- Туннели – IPIP, EoIP (Ethernet over IP).
А еще поддержка IPSec, FTP и HTTP/HTTPS кэширующий прокси-сервер, DHCP-сервер и клиенты, клиент и сервер Network Time Protocol, Bonding, журналирование работы межсетевого экрана, действий пользователя и поведения системы, генерация простых отчетов. Предусмотрена возможность настройки GPRS-соединения. Но самое интересное, что размер дистрибутива чуть больше 14 Мб.
Лицензия
MikroTik не является полностью свободным продуктом, и за все его возможности придется заплатить. Без лицензии установленный сервер проработает ровно 24 часа (при выключении отсчет времени останавливается). По истечении этого срока либо потребуется ввести ключ, либо переустановить систему. Полученный ключ позволяет использовать MikroTik в течение неограниченного времени. В настоящий момент имеется 6 уровней лицензии. Уровень 0 означает работу без лицензии. Лицензия уровня 1 или SOHO предоставляется бесплатно и имеет ограничение по количеству максимальных соединений PPTP, PPPoE, Queues, NAT, EoIP и DHCP, в этом случае также отключена поддержка беспроводных устройств, веб-кеша и Radius-клиента, нет технической поддержки и невозможно обновление дистрибутива. Стоит особо отметить, что лицензия привязана к Software ID, его значение администратор получит во время установки системы. При этом Software ID (и соответственно и ключ лицензии) изменится только при установке дистрибутива на другой жесткий диск, при замене остального оборудования маршрутизатора или добавлении нового оборудования новый ключ получать не придется. Стоимость других уровней лицензирования колеблется от 45 до 250 у.е.
Установка
На момент написания статьи актуальной была версия 2.9.14, о которой и пойдет речь далее, хотя со времени версии 2.8 процесс установки не изменился, увеличилось только количество доступных пакетов. Установить систему можно тремя способами:
- при помощи загрузочного CD;
- с дискет (DiskMaker);
- через сеть (загрузившись при помощи флоппи либо сетевой карты с поддержкой загрузки по сети PXE или EtherBoot).
Кроме того, на сайте доступен архив, который при помощи программы PhysDiskWrite для Windows либо dd в UNIX необходимо перенести на CompactFlash. Первый вариант является самым простым и распространенным (кроме покупки предустановленного), его и будем рассматривать. Скачиваем с сайта архив, содержащий ISO-образ, распаковываем, записываем, выставляем загрузку с CDROM в BIOS и загружаемся. Никаких опций во время загрузки не предусмотрено, на первом экране пользователю предлагается выбрать приложения. Здесь все просто: перемещаемся при помощи стрелок (или клавиш
и ), наводим на нужное приложение и выбираем его при помощи пробела. При наведении на пункт внизу экрана выдается краткое пояснение, и в скобках указываются зависимости, system является обязательным к установке. Нажатие на <а> приведет к выбору всех пунктов, – установит только минимальный набор. После выбора нажимаем на (install), и происходит собственно установка. Жесткий диск будет размечен автоматически, все данные будут уничтожены, хотя вам будет предложено сохранить предыдущую конфигурацию MikroTik. Что очень полезно, так как SOHO-лицензия не поддерживает обновлений, а так есть возможность сохранить все настройки при полном обновлении системы. Обратите внимание, что все версии MikroTik до 2.8 не поддерживают более одного жесткого диска. В новых версиях второй диск используется только для кэширования веб-страниц. После распаковки приложений вы получите сообщение о необходимости нажать Enter для перезагрузки. Вот, собственно, и все. После установки CD-ROM можно отключить.
Теперь доступ к серверу можно получить различными способами: локальная консоль, терминал, подключенный к COM-порту (9600 бит/с, 8 бит данные, 1 стоповый, аппаратное управление потоком RTS/CTS), telnet, SSH, MikroTik MAC Telnet, веб-интерфейс Webbox и графическая утилита Winbox.
Первоначальные настройки осуществляются исключительно при помощи локальной консоли. Для регистрации используем логин: admin с пустым паролем. После чего будет выведено следующее сообщение, в последней строке которого вам будет показан необходимый для регистрации software ID, в моем случае это 4NHQ-GWN. Теперь заходим на сайт проекта и в правом верхнем углу, подписанном как «Account Server», выбираем «New», заполняем данные и ждем подтверждения регистрации по электронной почте. После чего регистрируемся в системе, вводим Software ID, и на ваш электронный адрес придет лицензионный ключ. В данном случае использовалась бесплатная SOHO-лицензия, при необходимости затем всегда можно поднять уровень лицензирования.
Строка приглашения показывает имя маршрутизатора и уровень меню:
Попробовав работу ряда привычных юниксовских утилит вроде ifconfig, netstat, ping, можно обнаружить, что присутствует только последняя из них. Все пункты меню можно узнать, нажав два раза табуляцию.
[admin@MikroTik] >
certificate import log ppp redo special-login undo
driver interface password queue routing system user
export ip ping quit setup test-bridge
file isdn-channels port radius snmp tool
|
Набираем в строке приглашения нужный пункт. Например, для установки IP-адреса интерфейса набираем ip.
[admin@MikroTik] > ip
Табуляция подсказывает следующие уровни либо команды.
[admin@MikroTik] ip> address
[admin@MikroTik] ip address > add
address: 192.168.0.1/24
interface: ether1
|
Обратите внимание, что адрес вводится вместе с сетевой маской.
Так как на маршрутизаторе стоит несколько сетевых карт, то подобрать интерфейс можно экспериментальным путем, или лучше зайти в меню driver и, набрав print, просмотреть их порядок. Команды можно набирать полностью, не переходя в подменю. Например, то же самое, только одной командой, будет выглядеть так:
[admin@MikroTik] > /ip address add address 192.168.0.1/24 interface ether1
[admin@MikroTik] > /ip address add address 192.168.1.100/24 interface ether2
Чтобы вернуться на уровень вверх, необходимо набрать две точки. Для удобства сетевым интерфейсам можно дать более удобные имена:
[admin@MikroTik] interface> set ether1 name=Local; set ether2 name=Public
Теперь ether1 будет называться Local, а ether2 – Public. И не забываем добавить шлюз:
[admin@MikroTik] ip route> add gateway=192.168.1.100/24
Да, чтобы выключить или перезагрузить компьютер, необходимо перейти в меню system и набрать shutdown или reboot.
С командами разобраться легко, но понадобятся они только при удаленном управлении при помощи ssh или telnet. Для первоначальной настройки лучше воспользоваться скриптом setup и настроить только внутренний интерфейс, остальную настройку производить удаленно при помощи более наглядных утилит Webbox и Winbox.
И не забываем сменить пароль администратора.
[admin@MikroTik] > password
old password:
new password: ************
retype new password: ************
|
Утилиты конфигурирования Webbox и Winbox
Для вызова утилиты Webbox достаточно набрать в веб-браузере IP-адрес маршрутизатора (рис. 1), здесь же можно просмотреть графики загрузки (рис. 2). Зарегистрировавшись вверху окна, можно получить доступ к некоторым настройкам системы (рис. 3), информации о работе маршрутизатора, вывести простые отчеты. С первой страницы можно скачать утилиту Winbox, которая предоставляет большие возможности по конфигурированию системы (рис. 4). В отличие от Webbox Winbox может работать по защищенному каналу, для чего при установке нужно выбрать пакет security. Режим можно определить по тому, с каким портом происходит работа. В случае незащищенной работы используется 8290 TCP-порт и 8291 – в случае шифрованного соединения. Все настройки удобно собраны по отдельным пунктам меню и понятны, дополнительные опции свернуты и не мешают.
Рисунок 1. Веб-страница настроенного маршрутизатора MikroTik
Рисунок 2. На веб-странице можно просмотреть графики загрузки системы и канала
Рисунок 3. Утилита веб-администрирования Webbox
Рисунок 4. Утилита администрирования Winbox
При каждом соединении с Winbox вам будут напоминать о необходимости введения лицензионного ключа и оставшемся времени, поэтому лучше сделать это сразу. Для настройки второго интерфейса заходим в «IP Addresses» и вводим его IP-адрес.
В моем случае необходимо было настроить PPPoE-подключение к провайдеру услуг Интернет. Для этого заходим в пункт PPP во вкладке Interfaces, нажимаем на «+», выбираем «PPPoE Client», далее заполняем все необходимые поля и нажимаем кнопку «OK». Если всё введено правильно, подключение заработает, что можно тут же проверить, кликнув на имени и перейдя затем на вкладку «Traffic». Хотя, набив руку, можно ввести это все и через ssh. Например:
[admin@MikroTik] > /interface pppoe-client add name=pppoe-user-grinder user=grinder password=1234567 interface=Public service-name=internet disabled=no dial-on-demand=yes
И опять же напоминаю, что при наборе практически всех параметров пользуйтесь табуляцией, это ускоряет и упрощает набор.
Межсетевой экран свежеустановленого MikroTik маршрутизатора не содержит встроенных правил, поэтому если просканировать его nmap, то можно обнаружить, что из внешней сети можно получить доступ ко многим лишним сервисам. Поэтому следующим обязательным шагом необходимо настроить фильтрацию пакетов, в первую очередь запретив доступ к ftp, telnet и www.
Для настройки правил межсетевого экрана переходим в «IP Firewall» и во вкладке «Filter Rules» прописываем правила, запрещающие подключение к портам 21, 23, 80, 137-139 и 445 с внешних адресов, и во вкладке NAT разрешаем маскарадинг для внутренних клиентов.
Кроме дистрибутива MikroTik на сайте проекта можно найти и еще ряд дополнительных утилит, которые будут полезны в работе. Например, MikroTik Bandwidth Test позволяет оценить пропускную способность канала, Traffic Counter – подсчитывать трафик, MT Syslog Daemon – демон syslog для Windows-систем, Log Downloader – сохранение журналов на другом компьютере, Dude – утилита мониторинга и построения карт сетей и некоторые другие. Кроме того, комплект сетевых утилит входящих в комплект MikroTik, можно запускать как при помощи Winbox, либо ssh.
Выводы
Тщательность проработки, продуманность настроек MikroTik вызывает только положительные эмоции. Несмотря на некоторую непривычность вначале, очень быстро осваиваешься и далее работаешь без затруднений. А хорошая документация, форум проекта и набор утилит только помогают в этом. В принципе один такой маршрутизатор вполне способен решить все стандартные задачи по представлению доступа для небольшой и средней сети и их защите. Если версии SOHO будет недостаточно, то можно либо приобрести лицензию, либо попробовать разбить сеть на более мелкие фрагменты.
Ссылки:
- Сайт проекта – http://www.mikrotik.com.
- Яремчук С. Роутер без диска. – Журнал «Системный администратор», №9, 2004 г. – 8-9 с. (http://www.samag.ru/cgi-bin/go.pl?q=articles;n=09.2004;a=01).
- Яремчук С. Маленький линукс в качестве firewall. – Журнал «Системный администратор», №9, 2003 г. – 24-32 с. (http://www.samag.ru/cgi-bin/go.pl?q=articles;n=09.2003;a=08).
- Яремчук С. Сетевой полицейский. – Журнал «Системный администратор», №1, 2005 г. – 42-45 с. (http://www.samag.ru/cgi-bin/go.pl?q=articles;n=01.2005;a=09).
- Утилита PhysDiskWrite – http://www.m0n0.ch/wall.