Пошаговый пример установки и настройки интернет-шлюза на базе Mikrotik RouterOS 3.20
Mikrotik RouterOS 3.20
Для установки Mikrotik RouterOS система должна удовлетворять следующим аппаратным требованиям:
- CPUи материнская плата – частота процессора 100 МГц и выше. В данном случае подойдёт Intel Pentium 133 MX или аналогичный процессор с архитектурой x86. Стоит отметить, что многопроцессорные системы в данный момент не поддерживаются;
- RAM — минимум 32 MB оперативной памяти (максимум 1GB). Рекомендуется 64 MB и выше;
- Устройство хранения информации — стандартный ATA/IDE-контроллер и носитель с минимум 64 MB места. Карты флэш-памяти и жесткие диски Microdrive могут быть подключены с помощью специального адаптера.
Согласитесь, что на список возможностей и аппаратных ресурсов смотреть немного непривычно. Подобное сочетание мало где можно увидеть. Выходит, что на уже никому не нужном железе можно собрать полноценный маршрутизатор, который заменит шкаф оборудования ценой не один десяток условных единиц.
Наша задача такова – установить и настроить маршрутизаторную операционную систему MikroTik Router OS 3.20 на компьютер со следующими аппаратными характеристиками:
Таблица 1.2 – Конфигурация ПК для установки MikroTik Router OS 3.20
Наименование
Модель
Процессор
Intel Pentium 166 MMX
Материнская плата
Noname на чипсете VT82C Apolo VP1
Память
Жёсткий диск
Сетевая карта
3Com на чипе 3c905
Как мы видим, некоторому оборудованию уже больше 10 лет активной эксплуатации. Для теста была взята одна старая PCI сетевая карта на чипе Realtek RTL8029 и одна сравнительно новая на чипе 3Com 3c509. Цена всей коробки составила менее 50$.
Учитывая высокую совместимость системы MikroTik с различными аппаратными платформами установка может производиться практически на любой компьютер с архитектурой х86 и не только.
2.2 Установка системы
Всего разработчиками было реализовано четыре способа установки:
- установка с дискет;
- установка с CD;
- смешанная установка (с дискет+по сети);
- полная сетевая установка (нужна сетевая карта с возможностью загрузки по сети PXE).
2.2.1 Загрузка с CD
Рассмотрим установку с CD, так как в большинстве случаев она является наиболее простой.
Для создания загрузочного компакта нужно скачать ISO-файл и записать его на диск, что мы можем сделать с помощью одной из программ для записи дисков. После этого идём в BIOS, ставим там загрузку с CD и перезагружаем компьютер. Вот что предстанет перед нами после 10 секунд шуршания в CD-ROM`е.
Рисунок 2.1 — Окно загрузки установки системы с CD
И тут сразу проясняется несколько вещей по поводу минимальных требований к аппаратному обеспечению. При загрузке система инициализирует Linux-ядро, следовательно, вся система не что иное, как очередной Linux-based дистрибутив, позиционирующийся как роутерная операционная система. Отсюда и Pentium 166 и ему подобное оборудование, на которое современная операционная система с такими возможностями попросту не встала бы.
2.2.2 Выбор пакетов для установки
После начальной стадии установки система предлагает пользователю выбрать пакеты.
Рисунок 2.2 — Окно выбора пакетов
Сказать, что разработчики не стали усложнять жизнь пользователю — ничего не сказать. Да и сама установка лишена неудобств и проблем. Выбираем всё, что нам может понадобиться и нажимаем на клавиатуре клавишу «i».
Если у вас в системе несколько дисков, то нужно отключить все, кроме того, на который будет установлена система. В противном случае вам грозит форматирование первого попавшегося диска и установка системы именно на него.
Дальше программа спросит, производить ли форматирование жесткого диска и оставить ли старые конфигурационные файлы. Последняя опция необходима, если у вас уже была установлена старая версия операционной системы, и вы решили её обновить, не потеряв при этом настроек.
Рисунок 2.3 — Окно процесса установки системы
Как мы можем видеть из Рисунка 2.3, инсталляция всех выбранных нами пакетов прошла успешно. Для продолжения нам следует извлечь CD с дистрибутивом MikroTik из дисковода и нажать Enter для перезагрузки системы.
В большинстве случаев установка не вызывает трудностей. Для доступа к серверу можно использовать следующие средства:
- Локальная терминальная консоль — в двух словах некое подобие shell в Linux-системах на экране компьютера с ОС Mikrotik. В некоторых случаях является единственным способом добраться до сервера;
- Последовательный порт — вы можете подключиться к серверу, используя последовательный COM-порт со следующими настройками: скорость порта 9600 bit/s, 8 бит данных, 1 стоп бит, аппаратное управление потоком (RTS/CTS);
- Доступ поTelnet – возможен доступ по протоколу telnet на стандартный 23 TCP-порт;
- Доступ поSSH – доступ по SSH (secure shell) на стандартный 22 TCP (доступно при установке пакета«security«);
- MACTelnet – возможен доступ по MikroTik MAC Telnet протоколу;
- Winbox — Winbox графическая утилита, для работы с сервером. Обладает всеми необходимыми функциями и простым интерфейсом, что делает её незаменимым помощником. Работает на 8290 TCP-порту (или на 8291, если установлен пакет «security«).
Первоначальная настройка производится с помощью локальной терминальной консоли и со времён Mikrotik 2.8 не претерпела никаких изменений.
Рисунок 2.4 — Начальное окно установленной системы
2.2.3 Утилита Setup
Для облегчения задачи разработчики позаботились о написании скриптовой утилиты setup, которая поможет настроить сетевые интерфейсы.
Рисунок 2.5 — Окно работы программы setup
Для входа на наш маршрутизатор нам необходимо настроить входной интерфейс по условиям местной локальной сети.
Рисунок 2.6 — Окно настройки внутреннего интерфейса и основного шлюза
Достаточно настроить один интерфейс и назначить ему IP-адрес, чтобы продолжить конфигурирование в графическом режиме с помощью утилиты WinBox.
Рисунок 2.7 — Окно входа в WinBox
Рисунок 2.8 — Окно указывающее Software ID и ограничение тестовой версии
Так как наша система будет работать в тестовом режиме только 24 часа, нам, первым делом, следует произвести лицензирование, то есть синхронизировать имеющийся у нас лицензионный ключ и идентификационный номер системы Software ID полученный при установке системы MikroTik.
Следует заметить что Software ID генерируется при установке и имеет цифровую привязку к жесткому диску на который установлена наша система, что говорит о том что фирма MikroTik заботится о подлинности и безопасности своих продуктов.
2.3 Процедура лицензирования
Перед началом лицензирования нам следует ознакомиться с набором файлов которые нам понадобятся:
- roskey.npk — пак содержающий roskey и keyrun и устанавливающий их в нужное место (/home/root/). Наш roskey обновлён и теперь он содержит следующие лицензии: 2х6Level, 4x5Level и 2х4Level.
- keyrun является надстройкой/workaround-ом над roskey, добавляющим возможность поиска по задаваемому(собственному) ID. Если не задаётся собственный ID, он ищет по тем, что содержатся в roskey.
- Dropbear + basic – пакеты необходимые для запуска keyrun. Данные доступа по протоколу SSH следующие — port:2222, login:root, pass:1234.
- KEY NNFT-86N – лицензионный ключ уровня 4
Проходим следующие этапы:
1.) Устанавливаем пакеты dropbear, basic и roskey.npk. Для этого нажимаем кнопку Files и выделив нужные файлы простым перетягиванием копируем их в следующее окно:
Рисунок 2.9 — Окно загрузки файлов пакетов на маршрутизатор
2) Перезагружаем маршрутизатор, после перезагрузки заходим на наш маршрутизатор по протоколу SSH с помощью утилиты PuTTy закрыв при этом Winbox.
3) Выбираем порт 2222, вводим логин root, пароль 1234.
4) Вводим команду ./keyrun и ждём нужного Software ID
Рисунок 2.10 — Окно процесса смены Software ID
Время смены текущего Software ID на тот что необходим нам может занять от 1 до 6 часов, в зависимости от аппаратной платформы. Чем выше уровень аппаратной конфигурации тем быстрее сменится ID. В нашем случае прошлось ждать 1 час 20 минут.
5) После получения нужного Soft-ID, завершаем процесс подбора нажатием CTRL+C, заходим в WinBox и сразу же, без перезагрузки, вводим ключ.
Рисунок 2.11 — Окно перезагрузки маршрутизатора
Перезагружаем маршрутизатор, затем заходим на него через Winbox и проверяем лицензию.
Рисунок 2.12 — Окно проверки наличия и уровня лицензий
2.4 Стартовая настройка
Перейдём к более детальной настройке нашей MikroTik RouterOS. Настроив локальный интерфейс при помощи утилиты setup мы можем продолжить настройку нашего сервера через WinBox зайдя через локальный интерфейс и использовав логин по-умолчанию «admin», а поле пароля оставив пустым.
2.4.1 Создание учетных записей
В целях безопасности рекомендуется создать пароль для учетной записи «admin» и добавить дополнительную администраторскую учетную запись. Мы сделаем это следуя по пути: Users->+, создаем новую учетную запись и привязываем ее к группе full то есть даем все привелегии. Подтверждаем сохранение изменений нажатием кнопок Apply и ОК.
Рисунок 2.13 — Окно настроек учетных записей
2.4.2 Настройка системного времени и даты
Следующим нашим шагом станет проверка системного времени нашего сервера и настройка его клиентом NTP для его постоянной синхронизации с серверами NTP и получением точного времени. Для проверки времени заходим по пути System->Clock и вводим текущую дату и время, а также выбираем нужный часовой пояс. Подтверждаем сохранение изменений нажатием кнопок Apply и ОК.
Рисунок 2.14 — Окно настроек времени и даты
Дальше идем по пути System->NTP Client, активируем функцию нажатием enable, в поле Mode выбираем unicast, в поле Primary NTP Server вводим ip NTP-сервера (в нашем случае 95.65.63.19). Подтверждаем сохранение изменений нажатием кнопок Apply и ОК. Теперь наш сервер самостоятельно, без нашего участия, получает точное время Интернета.
Рисунок 2.15 — Окно настроек NTP Client
Входим во вкладку Interfaces и нажав кнопку Comment вводим названия наших сетевых интерфейсов LAN — для локального и WAN – для внешнего получающего Интернет.
Рисунок 2.16 — Окно списка интерфейсов
2.4.3 Настройка внешнего интерфейса
Настроим второй сетевой интерфейс, который у нас остался без IP-адреса. Сделаем это с помощью пункта меню IP->Addresses. В поле Address введем ip-адрес, выданный нам провайдером Интернета. После нажатия кнопки Apply, поля Network и Broadcast заполнятся автоматически. Подтверждаем сохранение изменений нажатием кнопки OK.
Рисунок 2.17 — Окно настройки IP-адреса внешнего интрефейса
2.4.4 Настройка основного шлюза
В следующем шаге нам следует настроить основной шлюз для нашего маршрутизатора для возможности связи локальных рабочих станций с другими сетями. Мы выбираем IP->Routes и вводим значение 0.0.0.0/0 в поле Destination и ip-адрес нашего шлюза в поле Gateway, подтверждаем сохранение изменений нажатием кнопок Apply и OK.
Рисунок 2.18 – Окно настройки основного шлюза
2.4.5 Настройка DNS-серверов
Далее, для нормального отображения веб-страниц на наших локальных компьютерах, мы должны ввести ip-адреса первичного и альтернативного DNS-серверов. Мы делаем это проследовав по следующему пути IP->DNS->Settings и заполнив поля Primary DNS и Secondary DNS и подтвердив нажатием кнопок Apply и OK.
Рисунок 2.19 – Окно настройки DNS-серверов
Теперь мы можем проверить правильность произведенных настроек командой ping. Пропингуем основной шлюз, а также внешний и внутренний Интернет. Судя по результатам проверки, отображенным на рисунке 2.20, наши настройки верны.
Рисунок 2.20 – Окно проверки связи с основным шлюзом и Интернетом
2.4.6 Автоматическая настройка Firewall и NAT
Следующим и одним из очень важных шагов для настройки нашего сервера будет стартовая настройка Firewall и NAT. Без этого шага настройка наша локальная сеть не будет иметь полноценного выхода в Интернет. Мы сделаем это стандартным способом – про помощи утилиты WebBox которая работает через стандартный веб-интерфейс и создана для как неполноценный заменитель утилиты WinBox. Для этого мы откроем любой браузер и в адресной строке наберем ip-адрес внутреннего интерфейса нашего сервера, а в качестве логина введем admin, оставив пустым поле «пароль».
Рисунок 2.21 — Окно аутентификации утилиты WebBox
Нажав кнопку «логин», мы получаем окно, где видим адреса интерфейсов и основного шлюза нашего сервера. Заметим, что интерфейс, получающий Интернет, имеет имя ether1.
Рисунок 2.22 – Окно контроля интерфейсов
Нажав на кнопку Firewall на левой панели WebBox, мы получаем окно стартовой настройки Firewall и NAT, в котором выбираем внешний интерфейс (в нашем случае ether1) и активируем три функции: Protect router, Protect customer и NAT, затем подтверждаем сохранение произведенных изменений нажатием кнопки Apply.
Теперь на наших локальных компьютерах должен быть Интернет.
Открываем браузер на локальной машине с адресом 192.168.230.4 (в качестве основного шлюза и DNS-сервера будем использовать ip-адрес нашего сервера – 192.168.230.3) и проверяем Интернет на примере mail.ru. Начальная настройка нашего сервера прошла успешно.
Рисунок 2.23 — Окно проверки Интернета на локальном компьютере
На этом этапе начальная настройка нашего сервера закончена. Мы добились своей цели – установили систему MikroTik Router OS и настроили раздачу Интернета компьютерам нашей локальной сети. Скорость холодного старта нашего сервера просто поражает – 7-10 секунд и сервер запущен и полностью готов к работе!
Но для дальнейшей, полноценной работы нашей сети и рабочих станций этого недостаточно – нам еще следует настроить основные сервисы на нашем сервере, такие как: Proxy Server – для быстрого серфинга по страницам Интернет, а также для контроля полосы пропускания и фильтрации нежелательного веб-контента; Forwarding – для публикации локальных http- и ftp-серверов в сети Интернет, а также для того чтобы дать возможность некоторым нашим сотрудникам работать с локальными серверами или рабочими станциями удаленно; DHCP-Server – для облегчения работы администратора, а также для возможности автоматически работать в Интернете гостям и клиентам фирмы. VPN – для возможности объединить нашу локальную сеть с другим отделение или филиалом в случае расширения фирмы или партнерства с другими предприятиями.
2.5 Базовая настройка
2.5.1 Настройка Web Proxy-сервера
Начнем с настройки Proxy. Для этого используем путь – IP->Web Proxy-> Web Proxy Settings и включим поставив галку напротив Enable, введем требуемый порт в поле Port (в нашем случае 3128), затем настроим кэширование на жесткий диск сервера поставив галку напротив Cache on Disk и выберем unlimited для снятия ограничений на размер кэша. Затем подтверждаем сохранение введенных изменений кнопками Apply и OK.
Рисунок 2.24 — Окно настроек Proxy
Теперь создадим правило для Proxy в NAT без которого Proxy не будет работать. Пройдем по пути – IP->Firewall->NAT и создадим новое правило которое назовем «forward proxy», во вкладке General в поле Chain выберем dstnat, в поле Protocol – (6)tcp, в поле Dst. Port введем 80 и перейдем на вкладку Action. Здесь в поле Action выберем тип действия – redirect (перенаправление), а в поле To Ports введем 3128. Для того чтобы наше правило работало нам следует перетянуть его на позицию перед правилом masquerade (маскарадинг).
Рисунок 2.25 — Окно правил NAT
Еще один шаг — создадим правило выхода в Mangle, кликаем по вкладке Mangle, создаем правило и называем его «access proxy», в поле General выбираем тип – output, во вкладке Advanced в поле DSCP(TOS) вводим значение 4, во вкладке Action выбираем тип accept и подтверждаем изменения.
Рисунок 2.26 — Окно настроек Mangle
Настройка Proxy закончена. Теперь мы можем фильтровать посещаемые веб-страницы при помощи правил Proxy предварительно настроив подключения proxy (ip-proxy:192.168.230.3 port:3128) в браузерах пользователей.
Для демонстрации создадим одно правило Web Proxy. Путь: IP->Web Proxy, создадим новое правило и назовем его «deny access to odnoklassniki», в поле Src. Address вводим адрес компьютера которому будет запрещен доступ к интернет ресурсу, например 192.168.230.4, в поле Dst. Host вводим *odnoklassniki.ru*, в поле Action выбираем deny и подтверждаем изменения.
Рисунок 2.27 — Окно настроек правил Web Proxy
Теперь для проверки работы нового правила Proxy на локальной машине c ip:192.168.230.4 попробуем зайти на сайтwww.odnoklassniki.ru. Как мы видим из рисунка 2.28, созданное нами правило работает.
Рисунок 2.28 — Окно проверки созданного правила Web Proxy
Стоит заметить, что если бы мы оставили пустым поле Src. Address, то доступ на сайт www.odnoklassniki.ru был бы запрещен всем компьютерам нашей локальной сети.
2.5.2 Запуск DHCP-сервера
Одним из пунктов нашей программы является настройка и запуск DHCP-сервера для динамической раздачи сетевых адресов. В системе MikroTik этот процесс займет едва ли больше двух минут. Смотрите сами. Путь: IP->DHCP Server, запускаем мастера настройки нажав на кнопку DHCP Setup и выбираем интерфейс локальной сети и жмем кнопку Next. В следующем окне указываем подсеть (в нашем случае 192.168.230.0/24) и идем дальше, указываем основной шлюз для DHCP-сервера (адрес нашего сервера 192.168.230.3). После этого нам предлагается ввести диапазон ip-адресов для динамической раздачи (я взял вторую половину подсети – от 192.168.230.128 до 192.168.230.254), далее следует ввести адреса DNS-серверов, затем время аренды адреса (я поставил 15 дней), и подтверждаем все изменения нажатием кнопки ОК. Наш DHCP-сервер запущен.
Рисунок 2.29 — Рисунок Окно настроек DHCP-сервера
Теперь мы можем проверить его работу на локальных ПК. Зайдем в настройки TCP/IP компьютера с адресом 192.168.230.4 и убрав статические настройки включим автоматическое получение ip. Все прошло успешно, наш компьютер получил ip:192.168.230.253.
Рисунок 2.30 — Окно показывающее успешность присвоения ip через DHCP
2.5.3 Настройка Forwarding
Очень важным пунктом настройки Интернет-шлюза является настройка Forwarding (Переброс портов). Эта функция позволяет работать с локальными машинами сети удаленно через Интернет получив доступ к определенным портам на сервере. Осуществлять данную настройку следует очень осторожно, так как это прямая угроза безопасности сети и угроза взлома и утечки конфидециальной информации связанной с бизнесом. Поэтому диапазон портов открытых для переброса должен быть сведен к минимуму, а пароли доступа должны соответствовать правилам информационной безопасности и периодически меняться. Итак приступим.
Как и все настройки системы MikroTik, Forwarding настраивается быстро и не требует каких либо специальных знаний.
Создадим переброс по протоколу RDP для удаленной работы пользователя из дома на своем рабочем компьютере. Путь: IP->Firewall->NAT, создадим новое правило и назовем его «forward rdp», во вкладке General выбираем Chain:dstnat, Protocol:6(tcp), Dst. Port:3389. Затем перейдем во вкладку Action и выберем Action:dst-nat, в поле To Addresses вводим ip-адрес локального компьютера на котором предполагается работать (в нашем случае — 192.168.230.6), To Ports:3389. Завершаем создание правила нажатием кнопок Apply и ОК. Для работы правила перетягиваем его на позицию перед masquerade.
Рисунок 2.31 — Окно правил Forwarding
Теперь нам надо открыть доступ к данному порту (3389) в правилах Firewall.
Для этого переходим во вкладку Filter Rules, создаем новое правило и называем его «access rdp». Во вкладке General выбираем Chain:forward, Protocol:6(tcp), Dst. Port:3389, In Interface:ether1. Затем перейдем во вкладку Action и выберем accept. . Завершаем создание правила нажатием кнопок Apply и ОК. Для работы правила перетягиваем его на позицию перед правилом drop.
Рисунок 2.32 — Окно правил Firewall
Для проверки работы правила Forwarding мы включаем на локальной машине доступ по RDP и заходим по RDP на внешний интерфейс нашего сервера.
Вход успешен – созданное нами правило работает
Рисунок 2.33 — Окно сеанса RDP
2.6 Настройка дополнительных функций
Несмотря на то, что управление и настройка маршрутизаторов MikroTik с помощью утилиты WinBox наглядны и просты, это не всегда бывает удобно для администратора. Есть средство ускоряющее и облегчающее работу администратора переводя процессы настройки в пакетный или автоматический режимы. Это средство – скрипты (scripts). Используя скрипты системный администратор может за секунды удалить всех пользователей из базы данных или внести в Address List целую подсеть из 16000 адресов, на что ушло бы несколько дней напряженной работы стандартными средствами WinBox. Использование скриптов в сочетании с планировщиком превращает работу в автоматизированный процесс, который облегчает и упрощает работу системных администраторов.
2.6.1 Создание и запуск скрипта
Попробуем скрипты в действии – добавим в Address List подсеть из 254 адресов. Это займет меньше минуты. Код скрипта:
Скопируем данную строчку в буфер сочетанием клавиш Ctrl+C и перейдем в Winbox. Путь: System->Scripts, создадим новый скрипт и назовем его «add network», а затем вставим содержимое буфера в поле Source сочетанием клавиш Ctrl+V. Завершаем создание скрипта нажатием кнопок Apply и ОК.
Рисунок 2.34 — Окно создания скрипта
Для наглядной проверки работы скрипта, не закрывая окна создания скрипта, вызываем окно Firewall и входим во вкладку Address List, затем в окне скриптов выделяем нужный нам и жмем кнопку Run Script. В Address List появилась новая подсеть 192.168.0.0/24 на 254 хоста – наш скрипт работает.
Рисунок 2.35 — Окно с результатами работы скрипта
2.6.2 Настройка планировщика
Еще одним помощником системного администратора MikroTik OS является Планировщик (Scheduler). Он позволяет автоматизировать запуск или остановку определенных процессов или функций по заранее заданному времени. Предположим что нам необходимо разрешать выход в Интернет компьютерам нашей локальной сети по графику с 8:00 до 18:00, в остальное же время доступ будет закрыт. Для этого нам следует создать два правила для планировщика — одно на включение внешнего сетевого интерфейса в 8 часов утра каждый день и второе – на отключение этого же интерфейса в 6 часов вечера. Приступим. Путь:System-> Scheduler, создаем новое задание и называем его «Internet off», выставляем дату, время запуска (18:00) и интервал срабатывания (24 часа). В поле On Event вводим команду /interface disable ether1, которая будет отключать внешний сетевой интерфейс. Завершаем создание задания нажатием кнопок Apply и ОК. Создаем новое задание и называем его «Internet on», выставляем дату, время запуска (8:00) и интервал срабатывания (24 часа). В поле On Event вводим команду /interface enable ether1, которая будет отключать внешний сетевой интерфейс. Завершаем создание задания нажатием кнопок Apply и ОК.
Задания готовы и в заданное время запустят требуемые процессы.
Рисунок 2.36 — Окно заданий Планировщика
В случае, когда требуется запустить определенный скрипт по планировщику в поле On Event вводится код скрипта.