В результате двухнедельного копания удалось подружить keenetik и mikrotik по ipip/ipsec(+ikev2).
Надо сказать, что в режиме ikev1 заработало практически сразу, но 8ч поработает и баста, до перезапуска линка вручную со стороны кинетика.
Причиной тому странные дефолтные значения lifetime: фаза1 - 28800 (8ч), фаза2 - 31658 (8ч47м38с).
Из своей скромной практики c ipsec я полагал, что во второй фазе для lifetime используют значение кратно меньшие: 30/60мин
Более менее стабильно канал работает если задать на interface IPIP0 значения:
- фаза 1 (24ч)
ipsec proposal lifetime 86400
- фаза 2 (30мин)
ipsec transform-set lifetime 1800
На микротике соответственно:
/ip ipsec profile
add dh-group=modp1024 dpd-interval=30s enc-algorithm=aes-256 name=profile1 nat-traversal=no lifetime=1d
/ip ipsec proposal
add name=proposal1 auth-algorithms=sha1 enc-algorithms=aes-128-cbc pfs-group=none lifetime=30m
Но таки раз в сутки соответственно канал перестраивается, простой в секунд 10-20 можно словить запросто. Более менее допустимо если это случится ночью.
Насчет "ID интерфейса" всё оказалось просто - заданное в веб-интерфейсе число добавляется к 'IPIP' и вместо 'IPIP0' получаем, к примеру, имя интерфейса 'IPIP21'.
В случае включения ikev2 это же имя предъявляется для аутентификации в качестве local-id.
Здесь возникают трудности с ikev2 на стороне микротика, по дебагу ipsec видно, что он отказывается принимать это значение ('IPIP0') в качестве 'user fqdn' с отсылкой к RFC 822 (номер помню не точно).
Снова подходим к кинетику с напильником. Добавляем в interface IPIP0:
ipsec ikev2
ipsec proposal local-id admin@keenetik.ru
ipsec proposal remote-id admin@mikrotik.ru
Итоговый конфиг на микротике:
/ip ipsec policy group
add name=group1
/ip ipsec profile
add dh-group=modp1024 dpd-interval=30s enc-algorithm=aes-256 name=profile1 nat-traversal=no lifetime=1d
/ip ipsec peer
add address=188.188.188.188/32 exchange-mode=ike2 local-address=210.210.210.210 name=peer1 profile=profile1
/ip ipsec proposal
add name=proposal1 auth-algorithms=sha1 enc-algorithms=aes-128-cbc pfs-group=none lifetime=30m
/ip ipsec identity
add my-id=user-fqdn:admin@mikrotik.ru peer=peer1 policy-template-group=group1 remote-id=user-fqdn:admin@keenetik.ru secret=XXXXXX
/ip ipsec policy
add dst-address=188.188.188.188/32 peer=peer1 proposal=proposal1 protocol=ipencap src-address=210.210.210.210/32
Ну и поверх добавляем ip-tunnel
/interface ipip
add allow-fast-path=no local-address=210.210.210.210 name=ipip-keenetik remote-address=188.188.188.188
Серый адрес на интерфейс в паре с кинетиком, маршруты и NAT как обычно.
Пару суток всё работает уже без обрывов.