IPsec не раскуривается

Обсуждение ПО и его настройки
Ответить
Аватара пользователя
Barvinok
Сообщения: 104
Зарегистрирован: 28 фев 2012, 23:21

С некоторыми плясками запустил L2TP с IPsec между офисом и филиалами.
Работает, нормально.

Для подключения мобильных устройств хочу использовать просто IPsec. Без L2TP.
Руководствовался вот этими текстами:
Manual:IP/IPsec
VPN везде и всюду: IPsec без L2TP со strongSwan
Diffie-Hellman Key Exchange
QoS Packet Flow in RouterOS v6

В общем, тоже заработало, но я не понимаю, как. Это меня смущает.
Во второй статье сказаны следующие слова:
Вообще говоря, не совсем правильно называть IPsec VPN. IPsec не предназначен для построения «виртуальных частных сетей», а создан для шифрования или защиты от подмены передаваемых по IP данных. Это специальный слой поверх IP, который, в зависимости от режима и настроек, работает по-разному. В отличие от привычного VPN, который создает новый интерфейс в системе, на который вы, как это чаще всего бывает, назначаете IP-подсеть из диапазона частных адресов (т.е. создаете новый сетевой сегмент), и через который маршрутизируется трафик в зашифрованном виде, IPsec просто шифрует трафик магическим образом между «внешними» интерфейсами сервера и клиента.

ОК. На рисунке "Packet Flow" я вижу, что IPsec Policy расположен перед цепочкой Prerouting и после цепочки Postrouting: вся магия происходит за пределами iptable.
Пакеты сличаются на соответствие заданным в таблице Policy условиям. Если соответствует - пакет заворачивается на шифрование/расшифрование.

Если два способа работы IPSec: просто подписывание полей заголовка (AH) и шифрование содержимого пакета (ESP).
Мне нужно второе.
Хорошо. Заголовки не меняются, содержимое IP-пакета на его маршрутизацию никак не влияет, будь он хоть трижды зашифрован.
Ещё есть туннельный режим, когда шифруется ВЕСЬ пакет и покладается в другой UDP-пакет. Так скрываются даже адреса источника/получателя.
Туннель - это всё же VPN, что бы не писали разные уважаемые авторы.
В принципе, эти данные мне сокрывать не надо, но от туннеля есть одна большая польза: возможность удалённо работать с локальной сетью по внутренним адресам.
В разделе /ip ipsec mode-config я указываю address-pool, из которого будут выдаваться адреса.
Верно ли я понимаю, что mode-config нужен только для mode = tunnel ? Поскольку, когда mode = transport эти настройки бессмысленны...

И самое главное, я не вижу, где указать адрес моего конца туннеля?
Трассировка показывает, что маршрутизация от клиента (в моём случае коммуникатор с Андроидом) идёт через публичный адрес маршрутизатора :du_ma_et:
Ещё раз. У любого туннеля есть два конца. Значит, в туннельном режиме, на маршрутизаторе должен создаваться интерфейс с адресом своего конца туннеля.
Маршрутизация должна происходить между двумя адресами туннеля.
А этого не происходит!
В /ip route никаких маршрутов не появляется. Я вот не понимаю, как происходит маршрутизация на адрес 10.10.90.4, если маршрут в подсеть 10.10.90.0/24 нигде не прописан!
И с какого интерфейса (PREF-SRC) это происходит?
Может мне кто-то пояснить?


wolf_ktl
Сообщения: 417
Зарегистрирован: 25 июн 2013, 18:12

Не получится у Вас.. Для ipsec всегда нужен внешний ip .
Мобильные устройства цепляй по L2TP.


Ответить