Friday, November 18, 2016

Mikrotik IPsec и EoIP – объединяем офисы

Рано или поздно у админа возникает необходимость объединения офисов компании в единую сеть, причем офисы могут быть разбросаны по всей стране. Методов много. В этой статье я остановлюсь на одном из них: создадим туннель EoIP (Ethernet over IP) и зашифруем трафик с помощью IPsec. В качестве подопытных будут использоваться два Mikrotik’а RB493G.

Начальная настройка стендовых MikroTik

Конечно, для большей наглядности мне надо было взять три устройства, но считаю, что без этого можно и обойтись. В конце статьи опишу процесс масштабирования, который на самом деле довольно прост при понимании принципа работы такой схемы. Как было сказано выше, в качестве подопытных два Mikrotik RB493G, которые перед экспериментами были обновлены до последней (на момент написания статьи) прошивки 6.37.1 (как обновиться, читайте здесь). Подразумевается, что оба роутера находятся в пределах видимости друг друга – будь то реальные IP при подключении через интернет, либо это какая-то общественная локальная сеть (например, у вас несколько торговых точек и офис в торговом центре).
Роутеры будут называться M151-office – центральны офис и M152-remote1 – удаленный офис. На каждом роутере есть порт wan, который смотрит наружу. На этом же порту поднят VLAN, который будет эмулировать интерфейс, смотрящий внутрь сети. Зачем мне здесь понадобился интерфейс VLAN, станет понятно во время тестирования.

Начальная настройка микротика M151-office

Интерфейс v200-office vlanID=200 на интерфейсе wan.
Внешний IP – 192.168.10.151 на интерфейсе wan, внутренний – 192.168.200.1 на интерфейсе v200-office.

mikrotik ipsec и eoip - VLAN и IP адреса в центральном офисе

Начальная настройка микротика M152-remote1

Интерфейс v200-office vlanID=200 на интерфейсе wan.
Внешний IP – 192.168.10.152 на интерфейсе wan, внутренний – 192.168.200.2 на интерфейсе v200-office.
mikrotik ipsec и eoip - VLAN и IP адреса в удаленном офисе

Туннель EoIP

Теперь нам надо создать туннель между нашими устройствами. Делается это также просто.

MikroTik M151-office

mikrotik-ipsec-и-eoip-объединяем-офисы-3

MikroTik M152-remote1

mikrotik-ipsec-и-eoip-объединяем-офисы-4
О работоспособности туннеля нам скажет буква R (running).
В консоли:
В winbox:
mikrotik-ipsec-и-eoip-объединяем-офисы-5
Если вам такой проверки недостаточно, то можете присвоить туннельным интерфейсам на обоих роутерах адреса одной подсети и попинговать.

Настраиваем на MikroTik IPsec

Здесь все сводится к тому, что сначала мы укажем, что между такими-то точками трафик надо шифровать (policy), а затем укажем, как (peer).

MikroTik M151-office

MikroTik M151-office. IPsec polocy, IPsec peer

MikroTik M152-remote1

MikroTik M152-remote1. IPsec polocy, IPsec peer
Практически все параметры здесь по-умолчанию, а мы ввели только необходимые, чтобы наша схема заработала. Также необходимо настроить firewall на каждом роутере, добавив три правила (нет, четыре! Я упустил из внимания протокол GRE для поднятия туннеля. Спасибо читателю Павлу, указавшему на это):

Последние штрихи

Осталось объединить нужные интерфейсы в мосты и проверить работу.

MikroTik M151-office

Создадим мост office-bridge и добавим туда туннель и ранее созданный VLAN интерфейс v200office
Как раз здесь я и поясную, зачем поднимал интерфейсы VLAN на портах wan обоих микротиков. Мне (и вам) они нужны для тестирования. Т.е. в физический внешний интерфейс wan кабель воткнут. Он работает. Соответственно работают и все поднятые на нем VLAN-интерфейсы. А так как я присвоил этим интерфейсам IP-адреса 192.168.200.1 в офисе и 192.168.200.2 в “удаленном” офисе, то мне этого будет достаточно для проверки. А увидит ли микротик центрального офиса внутреннюю сеть удаленого офиса, я узнаю пропинговав соответствующие адреса. Заодно посмотрю как тикает счетчик байтов в IPsec, подтверждая, что трафик шифруется. В дальнейшем эти айпишники не нужны, достаточно будет объединить нужные интерфейсы (внутренней сети и моста) в бридж.

MikroTik M152-remote1

Если все было сделано правильно, то вы должны увидеть такую картину на обоих ваших роутерах:
Если так, то поздравляю, мы построили прозрачную сеть, по которой будет бегать любой трафик, включая DHCP. Т.е. вы можете поставить один DHCP-сервер в центральном офисе и он будет вещать на все остальные офисы. Правда, с одной важной оговоркой: вы должны быть стопроцентно (нет, двестипроцентно) уверены в качестве связи, чего не скажешь про интернет. Но если ваши офисы (или точки продаж) расположены в одном здании – в торговом центре, например, то один настроенный DHCP-сервер в центральном офисе облегчит вашу нелегкую админскую жизнь.

Масштабирование

Как было обещано ранее, пару слов (а больше и не понадобится) о масштабировании. Суть проста: сейчас мы создали туннель tunnel-id=0, связывающий центральный офис и офис remote1. Теперь создаем новый туннель tunnel-id=1, который свяжет центральный офис с удаленным офисом2 (remote2, например). Так же настраиваете IPsec. Настройка роутера remote2 повторяет настройку remote1, а на центральном роутере надо будет добавить  tunnel-id=1 в ранее созданный бридж.

В заключение

IPsec – обширная тема, суть которой мы здесь в общем-то не затронули. В данной статье был рассмотрен частный случай объединения офисов с помощью MikroTik и применением IPsec и EoIP. А если вы любознательны и хотите знать больше о защите данных, то начните, как минимум, с 

MikroTik. Смена MAC адреса

Как сменить mac-адрес интерфейса MikroTik? Вопрос совсем для новичков. Но раз вы сюда попали, то материал для вас и вы найдете здесь ответ на свой вопрос.
Вас настигло непонимание, как с помощью winbox изменить MAC-адрес какого-либо из интерфейсов, ведь поле не редактируется, а справа есть только кнопка “Reset MAC Address”:
mikrotik смена mac адреса 1
Отвечаю: делается это в терминале. Жмем в меню слева “New terminal” и ручками там пишем следующее:
Где ether1 – имя интерфейса, у которого вы хотите поменять MAC-адрес.
Результат выполнения команды:
mikrotik смена mac адреса 2
Если же вы захотите вернуть заводской MAC, то как раз и воспользуетесь кнопкой “Reset MAC Address”.

Webmin / PHP base Mikrotik Control Panel

Following are two good .simple and basic ways to control your Mikrotik Box via your browser as fronted using WEBMIN or PHP base pane at backend. Both are good in there own ways.
Easy to setup and quick to manage , using these method, you don’t have to login via winbox to access your mikrotik for basic management :) ~
Just install them on any Linux base system, it can be your proxy or whatever Linux base pc on LAN you have.


WEMIN BASE CONTROL PANEL

Simply install WEBMIN from http://www.webmin.com and then follow the guide below.

http://wiki.mikrotik.com/wiki/Useful_Bash_Scripts 

[By Mr. Mudassir Mirza @ http://www.diglinux.com/%5D
Snapshot of webmin configured with the mikrotik scripts functions.


(My Modified OnlineUsers.sh, for my personnel reference,
idea was taken from  Mr. Mudassir Mirza @ http://www.diglinux.com/%5D)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#!/bin/bash
# set -x
# for (( ; ; ))
# do
USER="admin"
MTIP="10.10.0.1"
PORT="22"
FPATH="/zaib"
DRL=zaib
FILE=$DRL
rm -fr $FPATH/$DRL.txt
ssh $USER@$MTIP -p $PORT / ppp active print file=$DRL
scp -P 22 $USER@$MTIP:$DRL.txt $FPATH/$DRL.txt
sed -i 's/MEJM-BFQK/secret/g' /zaib/zaib.txt
cat $FPATH/$DRL.txt
echo
echo
TTL=`cat $FPATH/$DRL.txt |sed '1,5d' | wc -l`
echo -e "\t\t\n Total Number of Active Users $TTL"

PHP BASE PANEL

Snapshot of PHP panel configured with the mikrotik scripts functions.

[By Mr. Mudassir Mirza @ http://www.diglinux.com/%5D


You must have LAMP base installation on your nix box. then follow the below guide.
[Note: it have some minor bugs, For example, when you tri to import mysql db via using manual command
1
mysql#\. /var/www/mtpanel/mtpanel.sql;
You may get following error.
1
2
ERROR:
Failed to open file '/var/www/mtpanel/mtpanel.sql;', error: 2
Use the following command instead.
1
mysql -u root -p123 --database mtpanel < mtpanel.sql
There is also an bug in live monitoring of specific user page, that can be corrected by editing it and remove refresh interval.
Warning: This page is accessible by every user, To password protect it, use the following guide to protect it with password.
http://aacable.wordpress.com/2011/11/05/howto-protect-a-web-folder-on-apache-with-password/
You can also remove some of its funcitons, for example i provided this panel for support personnel which have only specific functions available, Live Monitoring , Connected Users, Password Change.
Some information and instructions regarding this panel is well described and discussed at following links

http://wiki.mikrotik.com/wiki/Basic_php_ppp_scriptshttp://forum.mikrotik.com/viewtopic.php?f=2&t=54948