Приветствую всех. Баг, собственно, в следующем.
Подняли GRE между cisco4500 и FreeBSD4.7
Со стороны FreeBSD пингую то, что стоит за cisco. Пакеты уходят через туннельный интерфейс, но ответов не приходит. Хотя на cisco видно, что пинги со стороны Free приходят, хост, которому они посланы отвечает, его ответы заходят в туннель, далее инкапсулируются в IP-пакеты с адресом назначения Free, но по дороге что-то их рубит.
Без туннеля все пинги идут нормально. Сделали трассировку с cisco. Видно, что при использовании туннеля на промежуточном маршрутизаторе происходит затык. Хотя без туннеля всё ОК.
Как такое вообще может быть? Ведь по идее при использовании туннеля идут обычные IP-пакеты?
>Приветствую всех. Баг, собственно, в следующем.
>Подняли GRE между cisco4500 и FreeBSD4.7Пока что ничего не понятно. Но раз промежуточный маршрутизатор рубит, напишите, какие правила на нем стоят? Стоит ли пропуск GRE-шных пакетов?
>Как такое вообще может быть? Ведь по идее при использовании туннеля идут
>обычные IP-пакеты?Что значит "обычные"? обычные GRE-пакеты. :) На промежуточном маршрутизаторе Вы должны их пропускать:
permit gre host <cisco-leg> host <freebsd-leg>
permit gre host <freebsd-leg> host <cisco-leg>
Понятно, что вышеприведенное - только пример, но смысл, думаю, ясен. :) И, маленькая вырезка из /etc/protocols, как информация к размышлению ;)
---------------------------------------
ip 0 IP # internet protocol, pseudo protocol number
(...вырезано...)
icmp 1 ICMP # internet control message protocol
(...вырезано...)
tcp 6 TCP # transmission control protocol
(...вырезано...)
udp 17 UDP # user datagram protocol
(...вырезано...)
gre 47 GRE # Generic Routing Encapsulation
>>Приветствую всех. Баг, собственно, в следующем.
>>Подняли GRE между cisco4500 и FreeBSD4.7
>
>Пока что ничего не понятно. Но раз промежуточный маршрутизатор рубит, напишите, какие
>правила на нем стоят? Стоит ли пропуск GRE-шных пакетов?
>
>>Как такое вообще может быть? Ведь по идее при использовании туннеля идут
>>обычные IP-пакеты?
>
>Что значит "обычные"? обычные GRE-пакеты. :) На промежуточном маршрутизаторе Вы должны их
>пропускать:GRE то GRE. Но GRE - это протокол инкапсуляции, а транспорт то IP.
>
> permit gre host <cisco-leg> host <freebsd-leg>
> permit gre host <freebsd-leg> host <cisco-leg>
>А на промежуточном маршрутизаторе не посмотреть разрешения, так как неизвестно даже что это за узел (туннель между городами). Просто трассировка показывает затык на нем.
>Понятно, что вышеприведенное - только пример, но смысл, думаю, ясен. :) И,
>маленькая вырезка из /etc/protocols, как информация к размышлению ;)
>
>---------------------------------------
>ip 0
> IP
> # internet protocol, pseudo protocol number
>(...вырезано...)
>icmp 1 ICMP
>
># internet control message protocol
>(...вырезано...)
>tcp 6
>TCP
> # transmission control protocol
>(...вырезано...)
>udp 17 UDP
>
> # user datagram protocol
>(...вырезано...)
>gre 47 GRE
>
> # Generic Routing Encapsulation
>GRE то GRE. Но GRE - это протокол инкапсуляции, а транспорт то
>IP.Транспорт-то IP. А GRE - протокол того же уровня, что и TCP, UDP, ICMP.
>это за узел (туннель между городами). Просто трассировка показывает затык на нем.
Какая трассировка? каким протоколом? Что-то я не могу сообразить, как Вы трассировкой ICMP или UDP проверяете проходимость GRE-пакетов... Или у Вас при поднятии туннеля ВЕСЬ траффик между этими точками затыкается?
Вообще, можно посмотреть на куски конфигов?
P.S. Кстати, я, намучавшись с GRE под FreeBSD плюнул - и перешел на протокол NOS, и теперь туннель пашет как часики между FreeBSD 4.7 и Cisco 7206...
>>GRE то GRE. Но GRE - это протокол инкапсуляции, а транспорт то
>>IP.
>
>Транспорт-то IP. А GRE - протокол того же уровня, что и TCP,
>UDP, ICMP.
>
>>это за узел (туннель между городами). Просто трассировка показывает затык на нем.
>
>Какая трассировка? каким протоколом? Что-то я не могу сообразить, как Вы трассировкой
>ICMP или UDP проверяете проходимость GRE-пакетов... Или у Вас при поднятии
>туннеля ВЕСЬ траффик между этими точками затыкается?Точно так. Поднимается туннель, а затем и UDP, и ICMP идут внутри GRE-пакетов, которые не проходят. Без туннеля ICMP и UDP идут без замечаний.
>
>Вообще, можно посмотреть на куски конфигов?Да там и конфигов как таковых нет (реализация gre-tun)
>
>
>P.S. Кстати, я, намучавшись с GRE под FreeBSD плюнул - и перешел
>на протокол NOS, и теперь туннель пашет как часики между
>FreeBSD 4.7 и Cisco 7206...А что это за NOS?
Я, если не получится gre, хочу попробовать поднять туннель ipip (gif на FreeBSD)