Mistifiks blog
Mistifiks blog
Предположим, у нас есть два интернет-провайдера, предоставляющих доступ в сеть через проводное соединение. От первого провайдера мы должны получить настройки по dhcp, для второго их нужно задать статически. Нам требуется обеспечить безотказную работу интернет-соединения. Для этого при возникновении проблем с доступом в интернет через основной канал (первого провайдера) наш маршрутизатор должен автоматически переключаться на резервный (второго провайдера), и, при восстановлении связи, продолжать работу в штатном режиме. Сразу условимся: в первый порт будет подключен основной провайдер, во второй — резервный, остальные три порта будут использоваться для подключения компьютеров локальной сети. О работоспособности канала будем судить по доступности ip-адреса. Для проверки лучше всего взять адрес какого-либо крупного сервиса, вероятность отказа которого крайне мала (мы выбрали google dns).
1. Очистка конфигурации роутера
Для того, чтобы процесс настройки был понятней, и в дальнейшем не возникло путаницы, мы удалим стандартную конфигурацию и будем все делать с нуля. После очистки конфигурации к роутеру можно подключиться только по mac-адресу через программу winbox.
2. Настройка интерфейсов и создание сетевого моста («bridge»)
В системе управления каждый интерфейс имеет свое имя. Имеет смысл присвоить интерфейсам устройства хорошо различимые понятные имена, что в будущем позволит существенно облегчить настройку и мониторинг системы.
Следующей задачей для нас является настройка внутренней сети. Для обеспечения взаимосвязи между компьютерами и устройствами локальной сети проще всего воспользоваться функциями сетевого моста («Bridge»), который позволяет объединить внутренние сетевые интерфейсы и обеспечить прозрачный доступ внутри сети.
Для создания сетевого моста необходимо воспользоваться пунктом меню «Bridge», указать требуемое имя моста и в закладке «Ports» добавить в мост требуемые внутренние интерфейсы.
3. Добавление ip-адресов
Далее нужно добавить внутренний ip адрес, который будет являться шлюзом для нашей локальной сети (обратите внимание, что его нужно присвоить интерфейсу сетевого моста), а так же ip-адрес, который нам предоставляет второй провайдер.
4. Настройка внутреннего dhcp-сервера
Теперь мы должны настроить параметры внутреннего DHCP сервера для раздачи IP адресов устройствам внутренней сети. Сначала необходимо создать пул выдаваемых IP адресов, для чего открываем пункт меню «IP»-«Pool», создем новый пул, присваиваем ему различаемое имя и указываем диапазон выдаваемых адресов.
Теперь можно приступать к настройке собственно DHCP сервера. Для этого необходимо перейти в пункт меню «IP»-«DHCP Server» и создать новый сервер, указав его имя, интерфейс на котором сервер будет работать (в нашем случае это сетевой мост) и ранее настроенный пул выдаваемых адресов. После этого мы должны указать параметры сети для нашего DHCP севера. Для этого нужно перейти на закладку «Network» и указать параметры передаваемые клиентам.
5. Создание dhcp-клиента
Так как подключение к сети первого провайдера предполагается осуществлять с использованием динамического адреса, значит нам нужно создать dhcp-клиента, работающего на первом порту маршрутизатора. Сделать это можно из меню «IP» — «Dhcp client».
6. Добавление статических маршрутов
Все взаимодействие между сетями осуществляется в соответствии с таблицей маршрутизации, управлять которой можно из меню «Routes». Маршруты в локальную сеть и к внутренним сетям провайдеров были добавлены динамически, осталось добавить маршруты в интернет (на адрес 0.0.0.0/0) через шлюзы провайдеров. Так же для обоих созданных маршрутов добавляем комментарии и указываем маршрут к 8.8.4.4 через шлюз первого провайдера (необходимо для работы проверки канала).
7. Настройка межсетевого экрана
Используя встроенный файервол можно управлять всем трафиком, проходящем через маршрутизатор. Фильтрация осуществляется на основе правил, заданных в меню «Firewall» и применяемых последовательно ко всем сетевым пакетам. Все действия с маршрутизатором можно проводить, как из графического интерфейса, так и из командной строки. В данном разделе удобнее будет все сделать из консоли.
Заходим в «Terminal» и выполняем следующие команды:
8. Переключение каналов
В ОС роутера есть встроенная утилита «Netwatch», которая позволяет отслеживать состояние хостов в сети посредством отправки ICMP-запросов (ping) и выполнять какие-либо действия на основе их доступности. Мы будем отслеживать ip-адрес 8.8.4.4 через первый канал, и в случае его недоступности переключать маршруты на работу по второму.
Создаем новый «Netwatch host», в графе «Host» указываем отслеживаемый ip-адрес, а в «Interval» — частоту осуществляемых проверок.
В раздел «Up» нужно сделать записи:
9. Настройка безопасности
Выполняя настройку подобных устройств всегда необходимо думать о сетевой безопасности, поэтому перед введением маршрутизатора в эксплуатацию необходимо произвести следующие настройки:
Mikrotik: Маршрутизация к удалённой сети через L2TP без костылей
После того, как был настроен L2TP сервер на Mikrotik, клиенты могут успешно подключаться и работать с удалёнными ресурсами, включая другие подсети, т.к. обычно в настройках L2TP-клиента (Windows) используется удалённый шлюз по-умолчанию и весь трафик клиента идёт через удалённый сервер L2TP, создавая дополнительную нагрузку. Напрашивается логичный вопрос: как этого избежать и что нужно для этого сделать? Ниже я расскажу простые и правильные решения без использования костылей.
Во многих мануалах встречаются такие советы, как ручное прописывание маршрутов на клиентских машинах. Например:
- сеть для VPN – 192.168.10.0/24
- Удалённый шлюз, соответственно, из этой же подсети 192.16.10.1
- Иные подсети, например, основная для офиса – 192.168.20.0/24, до которой необходим доступ.
Пользователь устанавливает соединение, получает адрес из пула 192.168.10.0/24, маршрут по умолчанию – 192.16.10.1 и весь трафик бежит через удалённый сервер и, казалось бы, всё хорошо. Но если на маршрутизаторе настроены лимиты по скорости, какие-то ограничения или же пользователь просто не хочет, чтобы его трафик, который адресован не в удалённую сеть, шёл через VPN? Оно и логично, а потому снимается галочка “Использовать удалённый шлюз” в настройках VPN-соединения под Windows.
Но тут пользователь сталкивается с тем, что остается доступ только до сети 192.168.10.0/24 , а до нужной 192.168.20.0/24 теряется, т.к. маршрут до неё L2TP не передал. Некоторые системные администраторы пишут bat-скрипты, которые пользователи должны запускать: в результате маршруты прописаны и снова всё хорошо.
Но я считаю такой подход костылями: пользователь ничего не должен у себя прописывать, а просто подключается по готовой отлаженной инструкции без всяких скриптов и прописывания чего-то там для него непонятного. Ведь может поменяться сеть, кто-то просто не умеет запускать консоль, у кого-то нет нужных прав на выполнение скрипта – много нюансов может быть.
Думаю, основная проблема понятна. Решений есть несколько:
- использование динамической маршрутизации RIP на клиенте
- использование классовой маршрутизации
Первый случай является более сложным и правильным – этому можно посвятить отдельную статью. Но в таком случае пользователю так или иначе придётся что-то дополнительно настроить. А потому стоит рассмотреть второй вариант, который более простой, на мой взгляд.
Вся адресация переводится на новую сеть 172.16.0.0/16, в которой может быть 256 подсетей по /24. Среди них нарезаются новые подсети, например:
- 172.16.1.0/24 – офисная сеть
- 172.16.2.0/24 – пользователи VPN
- 172.16.3.0/24 – сервера
- & etc…
Теперь пользователь, установив соединение с VPN-сервером, получает маршрут до всей 172.16.0.0/16. Можно спокойно пользоваться ресурсами и в офисной подсети и в серверной и во всех других в рамках 172.16.0.0/16 , т.к. строится классовый маршрут.
В итоге получается всё очень удобно и просто, особенно при планировании сети организации с нуля.
Пример настройки Wi-Fi моста MikroTik
Эта инструкция поможет настроить Wi-Fi мост на беспроводных точках MikroTik.
В примере мы будем настраивать две Wi-Fi точки Mikrotik SXT Lite2 (RBSXT-2nDr2). Перед установкой точек доступа их нужно настроить «на столе», чтобы потом не ездить с одного объекта на другой для настройки. Такой подход позволит быстро установить беспроводные точки и сэкономит ваше время.
Настройка первой Wi-Fi точки
Сброс заводских настроек устройства
Зайдите в настройки wifi точки с помощью программы Winbox. Если вы первый раз подключаетесь к устройству, то появится окно, в котором нужно нажать кнопку Remove Configuration для очистки заводской конфигурации.
В остальных случаях очистить заводскую конфигурацию можно следующим образом:
- Откройте меню System — Reset Configuration;
- Поставьте галочку No Default Configuration;
- Нажмите кнопку Reset Configuration.
Создание бриджа
Чтобы данные могли передаваться из wi-fi интерфейса в проводной интерфейс, создаем бридж.
- Откройте меню Bridge;
- Нажмите красный плюсик;
- Нажмите OK, чтобы создать бридж с названием bridge1.
Добавим в bridge1 проводной интерфейс.
- Перейдите на вкладку Ports;
- Нажмите красный плюсик;
- В списке Interface выберите проводной интерфейс ether1;
- В списке Bridge выберите bridge1;
- Нажмите OK.
Добавим в bridge1 wi-fi интерфейс.
- Нажмите красный плюсик;
- В списке Interface выберите wi-fi интерфейс wlan1;
- В списке Bridge выберите bridge1;
- Нажмите OK.
Настройка IP адресации бриджа
Присвоим IP адрес бридж интерфейсу:
- Откройте меню IP — Addresses;
- Нажмите красный плюсик;
- В поле Address введите IP адрес и маску, например 192.168.88.100/24;
- В Interface выберите бридж интерфейс bridge1;
- Нажмите кнопку OK.
Уменьшение мощности Wi-Fi передатчика
Чтобы точки не глушили друг друга в одной комнате и не вышли из строя, нужно уменьшить выходную мощность Wi-Fi передатчика до 2 dBm.
- Откройте меню Interfaces, сделайте двойной щелчок по беспроводному интерфейсу wlan1;
- Нажмите кнопку Advanced Mode;
- Перейдите на вкладку Tx Power;
- В списке Tx Power Mode выберите card rates;
- В поле Tx Power введите 2 dBm;
- Нажмите кнопку Ok.
Настройка Wi-Fi интерфейса
Настроим параметры беспроводного интерфейса:
- Откройте вкладку Wireless;
- Mode выберите режим bridge (мост);
- Band выберите 2GHz-only-N (работать только в N стандарте). Этот позволит получить максимальную скорость передачи данных.
- Channel Width выберите 20MHz (ширина канала 20 МГц). 40МГц используйте тогда, когда у вас гигабитное устройство и прокачка будет более 100 Мбит/с. В остальных случаях используйте полосу 20MHz;
- В Frequency выберите рабочую частоту;
- В SSID укажите название беспроводной точки;
- Wireless Protocol выберите nv2. Это фирменный протокол MikroTik, который позволит увеличить стабильность работы соединения "точка-точка".
- Нажмите кнопку Apply.
Выполняем настройку протокола NV2:
- Перейдите на вкладку NV2;
- TDMA Period Size поставим 1. Этот параметр задает период передачи данных от 1 до 10. Чем меньше значение, тем меньше задержка, однако и меньше максимальная скорость. Чем больше значение, тем больше скорость, однако возрастает задержка. Для wi-fi моста рекомендуется использовать значения 1-2;
- В Cell Radius указываем дальность работы клиента. Минимальное расстояние может быть 10 км.
- Ставим галочку Security и в поле Preshared Key вводим пароль для подключения к беспроводной сети.
- Нажмите кнопку Apply.
Наше устройство двухполяризационное и поддерживает режим MIMO с канальной скоростью до 300 Мбит/с. По умолчанию работает только один канал приема/передачи, поэтому режим MIMO не используется. Чтобы включить режим MIMO, нужно задействовать второй канал второй канал приема/передачи.
- Откройте вкладку HT;
- Поставьте галочки на chain1;
- HT Guard Interval выберите long. Данный параметр включает длинный защитный интервал. HT Guard Intervalследует выбирать long, если устройство будет использоваться снаружи помещения с беспроводным стандартом N. Это позволит повысить стабильность работы устройства.
- Нажмите кнопку Apply.
Настроим автоматическое добавление интерфейсов WDS в бридж:
- Откройте вкладку WDS;
- WDS Mode выберите dynamic;
- WDS Default Bridge выбираем наш бридж интерфейс bridge1;
- Нажмите кнопку OK.
Теперь включим беспроводной интерфейс:
- Откройте меню Interfaces;
- Кликните правой кнопки мыши на беспроводном интерфейсе wlan2 и в выпадающем меню выберите Enable.
Увеличение очередей интерфейсов
Чтобы Wi-Fi мост передавал данные без потерь, нужно увеличить размеры очередей проводного и беспроводного интерфейсов:
- Откройте меню Queues и перейдите на вкладку Queue Types;
- Откройте двойным щелчком мыши ethernet-default;
- В поле Queue Size укажите размер очереди 500 packets;
- Нажмите кнопку OK;
- Откройте двойным щелчком мыши wireless-default;
- В списке Kind выберите pfifo;
- В поле Queue Size укажите размер очереди 500 packets;
- Нажмите кнопку OK;
Смена пароля администратора
Чтобы никто кроме администратора не зашел в настройки устройства, нужно задать пароль администратора:
- Откройте меню System — Users;
- Сделайте двойной щелчок мыши по пользователю admin;
- Нажмите кнопку Password;
- В поле NewPassword введите пароль;
- В поле Confirm Password повторите пароль;
- Нажмите кнопку OK и в следующем окне также нажмите OK.
Настройка второй Wi-Fi точки
Настройка второй беспроводной точки очень похожа, за исключением некоторых моментов.
При настройке IP адресации укажите для бридж интерфейса IP адрес, который отличается от первой точки, например 192.168.88.200/24.
При настройке Wi-Fi интерфейса на вкладке Wireless сделайте следующие изменения:
- Выберите в Mode режим station wds;
- В SSID укажите имя первой беспроводной точки;
Настройка Wi-Fi точек во время установки
Увеличиваем выходную мощность Wi-Fi
Перед установкой не забудьте увеличить выходную мощность беспроводного интерфейса wlan1, которую мы уменьшали до 2 dBm во время настройки устройств в одном помещении. Высокую мощность ставить не нужно, достаточно установить около 18 dBm.
Юстировка антенн MikroTik
Во время монтажа беспроводных точек важно точно направить их друг на друга.
Откройте настройки беспроводного интерфейса wlan1 и перейдите на вкладку Status.
Сначала направляйте антенны в горизонтальной плоскости и следите за уровнями Tx/Rx Signal Strength, а потом в вертикальной плоскости. Хорошими уровнями считаются -60. -70 dBm.
Также смотрите, чтобы перекос по поляризациям был минимальный. Значения Tx/Rx должны быть в идеале равны.
Анализ параметров подключения
В настройках wifi интерфейса wlan1 на вкладке Status отображаются параметры подключения, которые помогут оценить качество работы соединения "точка-точка", и сделать корректировки в настройке при необходимости.
VPN:IPsec (аутентификация с помощью пароля)
В статье разбирается настройка IPSec-туннеля с аутентификацией с помощью пароля на оборудовании MikroTik с целью объединения двух сетей (site-to-site VPN). После создания VPN-канала между сетями будет настроена маршрутизация и выполнена проверка работоспособности. Также будут разобраны типичные проблемы, которые могут возникнуть в процессе настройки и проверки.
Схема сети
В головном офисе установлен маршрутизатор GW1. В филиале установлен маршрутизатор GW2. Маршрутизатор в филиале будет инициатором установления защищенного соединения. Маршрутизатор в головном офисе будет ожидать, когда инициатор запросит установление соединения.
Головной офис
IP-адрес внешней сети головного офиса: 10.1.100.0/24
IP-адрес внешнего интерфейса маршрутизатора GW1: 10.1.100.1/24
IP-адрес внутренней сети головного офиса: 192.168.15.0/24
IP-адрес внутреннего интерфейса маршрутизатора GW2: 192.168.15.1/24
Филиал
IP-адрес внешней сети головного офиса: 10.1.100.2/24
IP-адрес внешнего интерфейса маршрутизатора GW1: 10.1.100.1/24
IP-адрес внутренней сети головного офиса: 192.168.25.0/24
IP-адрес внутреннего интерфейса маршрутизатора GW2: 192.168.25.1/24
Настройка
Настройка первого маршрутизатора
Через графический интерфейс
Настройка IPsec-пира. На первом этапе надо указать адрес пира (маршрутизатора с которым будет устанавливаться соединение) и ключ (secret) с помощью, которого будет проходить авторизация. В качестве алгоритма шифрования мы выбрали aes-128. Конечно можно использовать и более длинные ключи, но это не имеет практического смысла, т. к. даже для подбора такого ключа требуется очень-очень много лет. Поэтому мы считаем, что более длинные ключи нужны либо в маркетинговых целях либо, если вы очень заморочены на глобальной слежке правительства.
Настройка политики IPsec. Следующим шагом надо настроить политику IPsec. Политика описывает в каких случаях должно использоваться шифрование. Т. е., если пакет совпадает с правилом описанным в политике, то выполняется заданное действие. В нашем случае это шифрование. Если пакет не совпадает с правилом, то он идет дальше без обработки политикой.
Настройка правила обхода NAT.Если теперь попробовать установить туннель IPsec он не заработает и пакеты будут отклонены. Это произойдет потому, что оба маршрутизатора используют правило NAT, которое изменяет адрес источника после того, как пакет шифруется. Удаленный маршрутизатор принимает шифрованный пакет, но не может расшифровать его потому, что адрес источника не совпадает с адресом, который указан в настройках политики. Для более подробную информацию о прохождении пакетов можно увидеть здесь: http://wiki.mikrotik.com/wiki/Manual:Packet_Flow#IPsec_encryption. Правило обхода NAT обязательно должно находиться выше правила «masquerade«.
И с помощью захвата и перетаскивания мышью перетянем правило так, что бы оно находилось выше правила «masquerade«.
Через консоль
/ip ipsec peer
add address=10.1.200.1/32 hash-algorithm=sha1 enc-algorithm=aes-128 secret=ipsec-password send-initial-contact=no nat-traversal=no comment=filial1
/ip ipsec policy
add action=encrypt src-address=192.168.15.0/24 dst-address=192.168.25.0/24 sa-src-address=10.1.100.1 sa-dst-address=10.1.200.1 ipsec-protocols=esp tunnel=yes comment=filial1
/ip firewall nat
add chain=srcnat action=accept place-before=0 src-address=192.168.15.0/24 dst-address=192.168.25.0/24
Настройка второго маршрутизатора
Через графический интерфейс
Расписывать заново каждое действие мы не будем, т. к. они полностью аналогичны настройкам на первом маршрутизаторе. Настройка IPsec-пира.
Настройка политики IPsec.
Правило обхода NAT.
Через консоль
/ip ipsec peer
add address=10.1.100.1/32 hash-algorithm=sha1 enc-algorithm=aes-128 secret=ipsec-password send-initial-contact=yes nat-traversal=no comment=HQ
/ip ipsec policy
add action=encrypt src-address=192.168.25.0/24 dst-address=192.168.15.0/24 sa-src-address=10.1.200.1 sa-dst-address=10.1.100.1 ipsec-protocols=esp protocol=all tunnel=yes comment=HQ
/ip firewall nat
add chain=srcnat action=accept place-before=0 src-address=192.168.25.0/24 dst-address=192.168.15.0/24
Настройка маршрутизации
Маршрутизация при использовании IPsec «в чистом виде» не может быть использована, т. к. IPsec не создает виртуальный интерфейс, которому может быть назначен IP-адрес и добавлена запись в таблицу маршрутизации.
Следует учесть
- AES является единственным алгоритмом, который поддерживается модулем аппаратного шифрования, если такой установлен на маршрутизатор.
- Максимальное значение MTU при котором не будет фрагментации с использованием IPsec с алгоритмами SHA1 для подписи и AES-128 для шифрования = 1418. При использовании других алгоритмов значение MTU будет другим. Если используется механизм обхода NAT IPsec, следует понизить MTU на 28.
- AES является единственным алгоритмом, который поддерживается модулем аппаратного шифрования, если такой установлен на маршрутизатор.
- IPSec очень не стабильно работает за NAT’ом. Поэтому желательно, что бы внешние интерфейсы маршрутизаторов имели «белые» IP-адреса.
Проверка
Через графический интерфейс
Если IPSec-соединение установлено успешно, то в графе Established должен появиться таймер времени (5), который показывает, как давно установлено соединение. Индикатором является именно наличие таймера, а не факт наличия соединения (4), которое в случае проблем будет отображаться, но таймер будет отсутствовать.
Через консоль
Выполнить команду /ip ipsec policy print stats , которая покажет актуальное состояние соединения IPSec. В случае удачи мы должны получить: ph2-state=established.
GW1: