ipsec & tcp connection stalled

From
Eugene Grosbein (2:5006/1)
To
All (2:5054/37.63)
Date
2006-09-07T22:59:58Z
Area
RU.UNIX.BSD
Reply-To: eugen@grosbein.pp.ru

Привет!

Опять возвращаюсь к этой проблеме.
Есть две инсталляции FreeBSD, одна 4.11, вторая
6.1-STABLE (обновлена сегодня) в одном сегменте, с реальными
адресами на ethernet-интерфейсах в этом сегменте.

Между этими адресами поднят IPSEC (ESP only) на статических ключах.
Все правила spdadd имеют вид esp/transport/IP1-IP2/require.

У каждой машины есть второй интерфейс, на котором у каждого своя
локалке - по одному сегменту на (разных) серых адресах, включен форвардинг.
Между роутерами поднят gif-туннель и выстроена статическая маршрутизатиция,
в результате чего IP-пакеты через роутеры свободно ходят из одной локалки
в другую, при этом трафик через межроутерный сегмент идет в шифрованном
виде.

Mtu на физических ethernet-интерфейсах равен 1500 на обоих роутерах.
Транзитные TCP-сессии между машинами разных локалок ходят
без малейших проблем. TCP-сессии между реальными IP-адресами роутеров
затыкаются при возникновении крупных пакетов, например:
каждый из роутеров является SMTP-релеем и прописан в качестве MX
каждый для своего домена. Почта от одного из релеев к другому не ходит,
TCP-коннекты отваливаются по таймауту. Этот трафик, замечу, идет
не внутри gif-туннеля. 

ICMP не фильтруется, pf вообще не используется, используется ipfw2.
Заколебала проблема сильно.

Вопросы:

1. Как заставить tcpdump декодировать IPSEC-трафик, прошу работающий
пример строки запуска tcpdump.
2. Если есть информация - из-за чего такое происходит?

Прошу не предлагать workaround'ов типа заруливания трафика внутрь
gif-туннеля разными способами (mailertable и т.п.), занижать mtu на
интерфейсах, не обсуждать целесообразность использования статических
ключей IPSEC etc. Спасибо.

Eugene
-- 
За то, что все вольются реки
Когда-нибудь в морскую гладь.
--- slrn/0.9.8.0 (FreeBSD)
 * Origin: Svyaz Service JSC (2:5006/1@fidonet)
SEEN-BY: 50/12 203 400/814 450/186 1024 451/30 550/196 4635/4 5000/5000 5006/1
SEEN-BY: 5006/8 9 10 14 15 16 17 5010/352 5011/13 5012/46 5015/28 5019/31
SEEN-BY: 5020/154 175 400 545 549 715 758 1523 1604 1630 2142 2238 2395 2450
SEEN-BY: 5020/2590 2871 4441 5021/3 29 5022/128 5025/3 750 5027/12 5029/32
SEEN-BY: 5030/49 500 556 966 1063 1080 1900 1957 2828 5031/47 70 5035/38
SEEN-BY: 5040/47 5042/13 5045/7 5049/50 97 5054/1 4 8 9 11 28 35 36 37 45 63
SEEN-BY: 5054/66 67 70 75 84 85 5055/95 5059/9 5062/1 10 5063/3 5064/7 5077/70
SEEN-BY: 5080/80 1003 5082/6 5083/21 5085/13 5090/108 5094/4 5095/20 5096/18
SEEN-BY: 5099/11 6001/10
PATH: 5006/1 5020/400 4441 545 5054/1 37