LINUX.ORG.RU
ФорумAdmin

GRE keepalive


0

1

Кто-нибудь заставил правильно работать цисковский gre-keepalive в линуксе?

Есть GRE тунель over IP между двумя точками, допустим линукс-циска.
реализация keepalive от циски выглядит так:

1.циска посылает линуксу специальный GRE пакет, внутри которого инкапсулирован не обычный IP-пакет, а еще один GRE-пакет, в котором src и dst адреса тунеля переставлены местами + устанавливает proto type=0.

2.линукс, получив такой пакет, разобрав внешний GRE заголовок, и увидев, что внутри еще один GRE-пакет с адресом назначения циски, должен просто отправить его (согласно таблице роутинга) обратно циске.

3.циска, получив GRE пакет с proto_type=0, видит, что это вернулся е keepalive и понимает, что тунель живой.

так вот, проблема в том, что линукс не отсылает обратно этот пришедший к нему двойной GRE пакет. Соответственно, keepalive не работает.



более обобщенно «проблема» выглядит так:

линукс не принимает пакеты, которые якобы исходят от него самого. (что в общем виде правильно)

★★★★★

Последнее исправление: dreamer (всего исправлений: 3)
Ответ на: комментарий от dimon555

к сожалению, речь идет только о стандартных GRE тунелях

dreamer ★★★★★
() автор топика
Ответ на: комментарий от dreamer

Возможно, какое-то поле с идентификатором пакета.

post-factum ★★★★★
()
Ответ на: комментарий от dreamer

>нет, не оно - в моем случае, пакет уходит и приходит через один интерфейс - тунель.

По идее, если исходный адрес пакета принадлежит этому же хосту, то такой пакет может придти только через lo.

nnz ★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.