Как узнать через какой интерфейс прошел ipsec трафик после его разинкапсуляции для реализации qos в mikrotik?
Есть два маршрутизатора mikrotik, у каждого из них два wan интерфейса, каждый wan интерфейс подключен к своему провайдеру и имеет свое ограничение скорости.
Между mirtoik настроен ipSec туннель( в туннельном режиме ) без привязки к конкретному интерфейсу( т.е. ipSec будет шифровать трафик вне зависимости от того через какой интерфейс он пойдет, главное, что он дойдет до целевого узла по любому доступному маршруту ).
Это удобно тем, что между двумя маршрутизаторами только одни туннель и он будет работать при отказе провайдера, просто перестроиться через другой интерфейс. Таким образом не нужно поднимать ipSec на каждом интерфейсе и иметь на всех интерфейсах статические адреса.
Внутри ipSec ходит IPIP туннель, в который направляется весь трафик который нужно передать между двумя сетями.
wan interface - wan ip address - ipsec bridege inteface - ipsec ip address - ipip interface - ipip ip adress
Вот примерно такая схема.( wan интерфейса два ).
Нужно настроить QOS, если бы wan интерфейсы имели одинаковую скорость это не было бы проблемой.
Но wan интерфейсы имеют разную скорость, а следовательно трафик проходящий через каждый из них нужно разметить по разному и поместить в разные очереди. Сам ipSec трафик разметить не проблема, он получает метку по интерфейсу через который он прошел. Но нужно разметить трафик внутри ipSec( внутри IPIP ).
Например sip трафик который разникапсулированный из ipSec трафика полученного через wan1, должен получить одну метку, а такой же трафик полученный из ipSec трафика полученного через wan2 другую метку.
Возможно ли это реализовать?
Как пример, вешать метку на пришедший ipSec пакет, которая сохранится на IPIP пакете, которая сохраниться на уже просто IP пакете. Но насколько я понимаю при этих преобразованиях метка не сохраняется.
Полагаю необходимо сделать два набора правил, для двух интерфейсов. Траффик будут аффектить только те правила которые относятся к активному в данный момент интефейсу.
Схему прохождения пакетов я знаю и как qos настраивается тоже.
Какие именно два набора понадобятся, можете привести пример?
Для конкретики
wan1 - 192.168.8.2
wan2 - 192.168.9.2
ipsec bridge - 192.168.11.5 на одном конце и 192.168.11.1 на другом( в качестве peer публичный адрес второго маршрутизатора ).
ipip туннель с 192.168.11.5 на 192.168.11.1, адреса 192.168.15.5 на одном конце и 192.168.15.1 на другом.
Нужно по разному разметить ipip трафик в случае когда ipsec пошел через разные wan интерфейсы.
Как дядька в видео рассказывает, только два раза (то что у тебя IPIP, а у него нет в рамках рассматриваемой задачи не особо важно).
Да правил будет много, но что делать.
Добавляй правила постепенно, убеждайся, что предыдущее правило работает так, как ты ожидаешь, затем добавляй следующее (можешь прям за видео повторять)...
Между mirtoik настроен ipSec туннель( в туннельном режиме ) без привязки к конкретному интерфейсу( т.е. ipSec будет шифровать трафик вне зависимости от того через какой интерфейс он пойдет, главное, что он дойдет до целевого узла по любому доступному маршруту ).
Это удобно тем, что между двумя маршрутизаторами только одни туннель и он будет работать при отказе провайдера, просто перестроиться через другой интерфейс. Таким образом не нужно поднимать ipSec на каждом интерфейсе и иметь на всех интерфейсах статические адреса.
Вопрос - каким образом вы так сделали? Там же в Peers указываются IP адреса точек соединения.
На головном mirotik с белым адресом:
bridge - ip:192.168.11.1/24
шаблон ipsec policy между 192.168.11.1 и 192.168.11.0/24 в туннельном режиме.
На "клиентском mikrotik"
bridge -ip:192.168.11.2 network 192.168.11.1
ipsec policy между 192.168.11.1 и 192.168.11.2
там же прописываем при с публичным ip головного mikrotik.
Клиентский mikrotik подключает к головному, устанавливает соединении.
На головном автоматически генерируется политика ipsec policy между 192.168.11.1 и 192.168.11.2 из шаблона.
Согласно политике весь трафик на 192.168.11.1 будет заворачиваться в ipsec туннель и пойдет на головной микротик, где будет развернут и передан на 192.168.11.1.
Удобство данной схемы, независимость от маршрутизации, публичных ip адресов клиентских mikrotik( они могу быть и серыми ) и вся настройка кроме одно пункта peer на клиентских устройствах не зависит больше ни от каких ip адресов и интерфейсов.
Пока с клиентского устройства есть маршрут до головного с публичным ip туннель поднимется( ну если конечно между ними не будет дропаться трафик )
Поскольку в ipsec нет интерфейсов, а это часто бывает не очень удобно, хотя по большому счету можно и без них, на чистой маршрутизации, на 192.168.11.1 - 192.168.11.2 вешает ipip туннель.
Но qos как хочется у меня пока так и не получился. Единственный вариант который вроде может получится это через dscp метки, они вроде как сохраняются при "переходе" из обычного трафика в ipsec и обратно.
Скорее всего все же верну обратно два туннеля и будут метить трафик через ipip интерфейсы.
Да. По вашему замечанию peers это точки куда подключатся, а не точки между которыми шифруется трафик. Шифрование определяется политикой, а политика используется при подключении к определенному peer.