|
ru.unix.bsd- RU.UNIX.BSD ------------------------------------------------------------------ From : Vadim Guchenko 2:5020/400 30 Jul 2003 12:15:02 To : All Subject : Hе проходят фрагментированные пакеты -------------------------------------------------------------------------------- Hello, All! Помогите разобраться где грабли. Через сервер на FreeBSD 4.8R почему-то не проходят фрагменты TCP-пакетов. Hа сервере стоит PPTP-сервер. Есть два PPTP-соединения: Этот интерфейс смотрит на аплинка: ng0: flags=88d1<UP,POINTOPOINT,RUNNING,NOARP,SIMPLEX,MULTICAST> mtu 1500 А через этот интерфейс подсоединен пользователь: tun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1496 Пользователь (1.1.1.1) пытается соединиться с почтовиком (2.2.2.2) по SMTP и отправить письмо. Пакеты от пользователя приходят с интерфейса tun0, вынимаются из GRE, проходят через файрвол, форвардятся файрволом на интерфейс ng0, снова запечатываются в GRE и идут по туннелю на следующий сервер, где и находится почтовик. Пакеты от пользователя приходят на рассматриваемый сервер уже фрагментированными (не вмещаются каких-то 2 байта). Проблема в том, что фрагменты TCP-пакетов, следующие за первым, на рассматриваемом сервере регистрируются с помощью tcpdump, а на сервере с почтовиком их нет. Вот дапм пакетов на рассматриваемом сервере (куда подсоединен клиент): 12:46:33.356160 1.1.1.1.1971 > 2.2.2.2.smtp: S 8964433:8964433(0) win 8192 <mss 1422,nop,nop,sackOK> 12:46:33.357355 2.2.2.2.smtp > 1.1.1.1.1971: S 2615881928:2615881928(0) ack 8964434 win 57344 <mss 1460> (DF) 12:46:33.367109 1.1.1.1.1971 > 2.2.2.2.smtp: . ack 1 win 8532 12:46:33.374017 2.2.2.2.smtp > 1.1.1.1.1971: P 1:28(27) ack 1 win 58302 (DF) 12:46:33.384253 1.1.1.1.1971 > 2.2.2.2.smtp: P 1:22(21) ack 28 win 8505 12:46:33.385472 2.2.2.2.smtp > 1.1.1.1.1971: P 28:79(51) ack 22 win 58302 (DF) 12:46:33.420457 1.1.1.1.1971 > 2.2.2.2.smtp: P 22:52(30) ack 79 win 8454 12:46:33.421790 2.2.2.2.smtp > 1.1.1.1.1971: P 79:87(8) ack 52 win 58302 (DF) 12:46:33.540316 1.1.1.1.1971 > 2.2.2.2.smtp: P 52:84(32) ack 87 win 8446 12:46:33.541556 2.2.2.2.smtp > 1.1.1.1.1971: P 87:95(8) ack 84 win 58302 (DF) 12:46:33.552996 1.1.1.1.1971 > 2.2.2.2.smtp: P 84:90(6) ack 95 win 8438 12:46:33.556612 2.2.2.2.smtp > 1.1.1.1.1971: P 95:109(14) ack 90 win 58302 (DF) 12:46:33.633037 1.1.1.1.1971 > 2.2.2.2.smtp: . 90:1510(1420) ack 109 win 8424 (frag 56480:1440@0+) 12:46:33.633943 1.1.1.1 > 2.2.2.2: tcp (frag 56480:2@1440) 12:46:33.653244 1.1.1.1.1971 > 2.2.2.2.smtp: . 1512:2932(1420) ack 109 win 8424 (frag 56736:1440@0+) 12:46:33.653539 1.1.1.1 > 2.2.2.2: tcp (frag 56736:2@1440) 12:46:33.675769 1.1.1.1.1971 > 2.2.2.2.smtp: . 2934:4354(1420) ack 109 win 8424 (frag 56992:1440@0+) 12:46:33.676035 1.1.1.1 > 2.2.2.2: tcp (frag 56992:2@1440) 12:46:33.695931 1.1.1.1.1971 > 2.2.2.2.smtp: . 4356:5776(1420) ack 109 win 8424 (frag 57248:1440@0+) 12:46:33.696201 1.1.1.1 > 2.2.2.2: tcp (frag 57248:2@1440) 12:46:33.715938 1.1.1.1.1971 > 2.2.2.2.smtp: . 5778:7198(1420) ack 109 win 8424 (frag 57504:1440@0+) 12:46:33.716228 1.1.1.1 > 2.2.2.2: tcp (frag 57504:2@1440) 12:46:33.736226 1.1.1.1.1971 > 2.2.2.2.smtp: . 7200:8620(1420) ack 109 win 8424 (frag 57760:1440@0+) 12:46:33.736517 1.1.1.1 > 2.2.2.2: tcp (frag 57760:2@1440) 12:46:34.687911 1.1.1.1.1971 > 2.2.2.2.smtp: . 90:1510(1420) ack 109 win 8424 (frag 61856:1440@0+) 12:46:34.688160 1.1.1.1 > 2.2.2.2: tcp (frag 61856:2@1440) 12:46:34.748257 2.2.2.2.smtp > 1.1.1.1.1971: P 95:109(14) ack 90 win 58302 (DF) 12:46:34.762167 1.1.1.1.1971 > 2.2.2.2.smtp: . ack 109 win 8424 12:46:36.887281 1.1.1.1.1971 > 2.2.2.2.smtp: . 90:1510(1420) ack 109 win 8424 (frag 64672:1440@0+) 12:46:36.887533 1.1.1.1 > 2.2.2.2: tcp (frag 64672:2@1440) А ниже дамп пакетов на сервере с почтовиком: 12:46:33.397889 1.1.1.1.1971 > 2.2.2.2.smtp: S 8964433:8964433(0) win 8192 <mss 1422,nop,nop,sackOK> 12:46:33.397949 2.2.2.2.smtp > 1.1.1.1.1971: S 2615881928:2615881928(0) ack 8964434 win 57344 <mss 1460> (DF) 12:46:33.408795 1.1.1.1.1971 > 2.2.2.2.smtp: . ack 1 win 8532 12:46:33.414494 2.2.2.2.smtp > 1.1.1.1.1971: P 1:28(27) ack 1 win 58302 (DF) 12:46:33.425912 1.1.1.1.1971 > 2.2.2.2.smtp: P 1:22(21) ack 28 win 8505 12:46:33.426026 2.2.2.2.smtp > 1.1.1.1.1971: P 28:79(51) ack 22 win 58302 (DF) 12:46:33.462221 1.1.1.1.1971 > 2.2.2.2.smtp: P 22:52(30) ack 79 win 8454 12:46:33.462413 2.2.2.2.smtp > 1.1.1.1.1971: P 79:87(8) ack 52 win 58302 (DF) 12:46:33.582066 1.1.1.1.1971 > 2.2.2.2.smtp: P 52:84(32) ack 87 win 8446 12:46:33.582193 2.2.2.2.smtp > 1.1.1.1.1971: P 87:95(8) ack 84 win 58302 (DF) 12:46:33.594624 1.1.1.1.1971 > 2.2.2.2.smtp: P 84:90(6) ack 95 win 8438 12:46:33.597270 2.2.2.2.smtp > 1.1.1.1.1971: P 95:109(14) ack 90 win 58302 (DF) 12:46:33.678176 1.1.1.1.1971 > 2.2.2.2.smtp: . 90:1510(1420) ack 109 win 8424 (frag 56480:1440@0+) 12:46:33.720856 1.1.1.1.1971 > 2.2.2.2.smtp: . 2934:4354(1420) ack 109 win 8424 (frag 56992:1440@0+) 12:46:33.741014 1.1.1.1.1971 > 2.2.2.2.smtp: . 4356:5776(1420) ack 109 win 8424 (frag 57248:1440@0+) 12:46:33.761085 1.1.1.1.1971 > 2.2.2.2.smtp: . 5778:7198(1420) ack 109 win 8424 (frag 57504:1440@0+) 12:46:33.781339 1.1.1.1.1971 > 2.2.2.2.smtp: . 7200:8620(1420) ack 109 win 8424 (frag 57760:1440@0+) 12:46:34.733020 1.1.1.1.1971 > 2.2.2.2.smtp: . 90:1510(1420) ack 109 win 8424 (frag 61856:1440@0+) 12:46:34.788844 2.2.2.2.smtp > 1.1.1.1.1971: P 95:109(14) ack 90 win 58302 (DF) 12:46:34.803786 1.1.1.1.1971 > 2.2.2.2.smtp: . ack 109 win 8424 12:46:36.932415 1.1.1.1.1971 > 2.2.2.2.smtp: . 90:1510(1420) ack 109 win 8424 (frag 64672:1440@0+) Как видно, вторых частей фрагментированных пакетов просто нет. Плюс непонятно куда исчез один нормальный пакет (tcpdump не поймал?). В файвроле заворот почтового трафика в туннель происходит следующей командой: ipfw add fwd 2.2.2.254 ip from any to 2.2.2.2 out где адрес 2.2.2.254 - точка PPTP-соединения ng0 на удаленной стороне. Hи один пакет файрволом не отбрасывается, т.к. на всех deny стоят log. Если вышеуказанную строку убрать и пустить почтовый трафик по локалке, но фрагменты доходят до почтовика. Почему так? With best regards, Vadim Guchenko. E-mail: s0lver@kraslan.ru -- Отправлено через сервер Форумы@mail.ru - http://talk.mail.ru --- ifmail v.2.15dev5 * Origin: Talk.Mail.Ru (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.unix.bsd/64889821ebb5.html, оценка из 5, голосов 10
|