IPIP, IPSec между двумя сетями через инет ("для чайников")

Выкладываем здесь готовые конфигурации под определенные типовые задачи
Ответить
biggleb
Сообщения: 12
Зарегистрирован: 14 авг 2014, 20:32

Требуется объединить две сетки с помощью IPSec на роутерах Mikrotik.

Исходные данные:
Есть две сети, соединенные через инет.
С одной стороны Mikrotik RB2011UiAS-2HnD, c другой - Mikrotik 951G-2HnD. На обоих RouterOS 6.18.
Оба с белыми внешними IP. Один выходит в сеть через локалку провайдера, другой по PPPoE (если это важно).

IPIP тоннель.
Абсолютно "самодостаточный" тоннель, никак не пересекающийся с IPSec.
Настраивается просто: создается тоннель между двумя роутерами и прописывается правило маршрутизации.
Достаточно прописать всего два правила, больше ничего делать не требуется.
В результате получим работающий туннель без шифрования.

Первая сетка:
RB2011UiAS-2HnD - 192.168.0.1
LAN - 192.168.0.0/24
WAN - 109.xxx.xxx.18 на 10 порту

 Настройка первого роутера
/interface ipip (1 правило - устанавливаем туннель)
add local-address=109.xxx.xxx.18 name=IPIP_Tunnel remote-address=95.xxx.xxx.78
/ip route (2 правило - настраиваем маршрут)
add distance=1 dst-address=10.20.0.0/24 gateway=IPIP_Tunnel


Вторая сетка:
951G-2HnD - 10.20.0.1
LAN - 10.20.0.0/24
WAN - 95.xxx.xxx.78 на 1 порту

 Настройка второго роутера
/interface ipip
add local-address=95.xxx.xxx.78 name=IPIP_Tunnel remote-address=109.xxx.xxx.18
/ip route
add distance=1 dst-address=192.168.0.0/24 gateway=IPIP_Tunnel


IPSec.
В микротике это тоже абсолютно "самодостаточный" тоннель, которому не требуется в качестве основы ни IPIP, ни PPPoe, ни любой другой тоннель.
Оговорюсь, что настраивать IPSec мы будем именно в туннельном режиме, не в транспортном (разницу обзорно можно почитать тут http://wiki.mikrotik.com/wiki/Manual:IP/IPsec).

Если вы уже настроили IPIP тоннель по правилам выше, удалите или отключите эти правила.

Итак, приступим.

1. Сначала настроим правила firewall. Вкладка IP - Firewall - Filter rules.
Настройка firewall обоих роутеров будет одинаковой.

 Firewall filter rules первого и второго роутеров
/ip firewall filter
add chain=forward comment="Allow established connections" connection-state=established
add chain=forward comment="Allow related connections" connection-state=related
add chain=forward comment="Allow established connections" protocol=icmp
add chain=input comment="Allow UDP" protocol=udp
add chain=input comment="Allow IKE" dst-port=500 protocol=udp
add chain=input comment="Allow IKE" dst-port=4500 protocol=udp (не обязательно)
add chain=input comment="Allow IPSec-esp" protocol=ipsec-esp
add chain=input comment="Allow IPSec-AH" protocol=ipsec-ah
add action=drop chain=forward comment="Drop invalid connection packets" connection-state=invalid (это запрещающее правило должно стоять последним в списке, перетаскивается в winbox мышкой как файлы в проводнике)


2. Настроим соединение между рооутерами (соседство). Вкладка IP - IPSec - Peers.
Это правило будет отвечать за 1 фазу IPSec туннеля - приветствие.

 IP IPSec Peers первого роутера
/ip ipsec peer
add address=95.xxx.xxx.78/32 enc-algorithm=3des generate-policy=port-override hash-algorithm=md5 passive=yes secret=СЕКРЕТ


 IP IPSec Peers второго роутера
/ip ipsec peer
add address=109.233.210.18/32 enc-algorithm=3des generate-policy=port-override hash-algorithm=md5 secret=СЕКРЕТ


Изображение

Обратите внимание, что один роутер выступает инициатором авторизации (только на одном роутере стоит галочка passive, без разницы на каком).
Обязательно ставим галочку на обоих роутерах NAT traversal, для трансляции адресов из одной подсети в другую.

3. Настроим политику приветствия. Вкладка IP - IPSec - Proposals.
Приветствие в обоих роутерах должно быть настроены одинаково.
Не важно какие алгоритмы авторизации и шифрования вы выберите, лишь бы они были одинаковыми.
 IP IPSec Proposals первого и второго роутеров
/ip ipsec proposal
set [ find default=yes ] auth-algorithms=md5 enc-algorithms=3des pfs-group=none


Обратите внимание на lifetime - время жизни ключа шифрования (второй фазы), оно может быть любым, но обязательно меньше lifetime соседства (вкладка IP - IPSec - Peer) - время жизни ключа приветствия (первая фаза).
После настройки этих правил на вкладке IP - IPSec - Remote peers должна появиться строчка с адресами локального и удаленного роутера.
Если она появилась, значит вы все делаете правильно.

4. Настроим политику шифрования. Вкладка IP - IPSec - Policies.
Если вы все делали правильно, в этой вкладке появится правило по умолчанию. Его нужно обязательно отключить в обоих роутерах. В правиле default нет возможности создать туннельный IPSec, а именно он нам и нужен.

Создадим новое правило.

 IP IPSec Policies первого роутера
/ip ipsec policy
add dst-address=10.20.0.0/24 ipsec-protocols=ah-esp sa-dst-address=95.xxx.xxx.78 sa-src-address=109.xxx.xxx.18 src-address=192.168.0.0/24 tunnel=yes


 IP IPSec Policies второго роутера
/ip ipsec policy
add dst-address=192.168.0.0/24 ipsec-protocols=ah-esp sa-dst-address=109.xxx.xxx.18 sa-src-address=95.xxx.xxx.78 src-address=10.20.0.0/24 tunnel=yes


На обоих роутерах ставим галочку Tunnel - это и есть режим туннеля в IPSec.

Изображение

На этом настройка IPSec закончена.

IPSec будет находится "в режиме ожидания" пока вы не инициируете подключение к удаленной подсети или пингом, или любым другим обращением.

Пропингуем из первой подсети внутренний адрес удаленного роутера (из подсети 192.168.0.0 ping 10.20.0.1). В результате во вкладке IP - IPSec - Installed SAs обоих роутеров должны появиться четыре строчки с ключами авторизации и шифрования. Пинг может пройти не с первого раза, но если вы все делали по инструкции, соединение установится, четыре строчки появятся. Т.е. IPSec тоннель заработает.

Проверим соединение.
Сделаем трассировку из первой подсети во вторую.

 Проверка работы
> tracert 10.20.0.5 (адрес одного из ПК второй подсети)
1 1 ms 1 ms 1 ms 192.168.0.1 (ближний роутер, локальный IP)
2 36 ms 36 ms 36 ms 95.xxx.xxx.78 (дальний роутер, внешний IP)
3 * * * Превышен интервал ожидания для запроса.


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

5. Настроим маршрутизацию. Вкладка IP - Firewall - NAT.

 IP Firewall NAT первого роутера
/ip firewall nat
add chain=srcnat dst-address=10.20.0.0/24 priority=0 src-address=192.168.0.0/24


 IP Firewall NAT второго роутера
/ip firewall nat
add chain=srcnat dst-address=192.168.0.0/24 priority=0 src-address=10.20.0.0/24


Это правило должно быть обязательно выше правила маскарадинга локальной сети.
Можно поставить его первым (просто перетащить мышкой вверх).

На этом настройка тоннеля полностью закончена, тоннель должен работать, доступ к удаленным ПК по внутренним IP должен работать.

Финальная проверка.
Сделаем трассировку из первой подсети во вторую.

 Проверка работы
> tracert 10.20.0.5 (адрес одного из ПК второй подсети)
1 1 ms 1 ms 1 ms 192.168.0.1 (ближний роутер, локальный IP)
2 3 ms 4 ms 3 ms 10.20.0.5


Всё работает!

Всем приятного соседства!
Последний раз редактировалось biggleb 23 авг 2014, 21:33, всего редактировалось 2 раза.


Ответить