The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Проблема с kernel nat Freebsd 8.2"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Открытые системы на сервере (Маршрутизация, NAT / FreeBSD)
Изначальное сообщение [ Отслеживать ]

"Проблема с kernel nat Freebsd 8.2"  +/
Сообщение от Dmitry122 email(ok) on 09-Ноя-11, 17:40 
Привет!

Не могу разобраться я с проблемой, помогите пожалуйста.
Есть сервер FreeBSD8.2, одной картой (fxp0) смотрит в internet, другой (fxp1) - в сетку с приватными IP.

nat  висит  на внешнем интерфейсе fxp0, натит
внутренюю приватную подсеть 192.168.0/24 и все вроде работает.
Но если  из интернета качать большой файл (10-20мб) по http например, связь
рвется через 1-2 мегабайта
То же самое с pop3.

часть правил ipfw ---

00100 1189346 1097588882 allow ip from any to any via lo0
00200       0          0 deny ip from any to 127.0.0.0/8
00300       0          0 deny log logamount 300 ip from 93.180.53.80/28 to any in via fxp0
00400       0          0 deny log logamount 300 ip from 93.180.51.12/30 to any in via fxp1
>00510   17849   20187802 nat 100 ip from any to any via fxp0

00600       0          0 check-state
00700   28863   31162225 allow tcp from any to any established
00800      12        604 allow tcp from any to me dst-port 25 setup
00900      14        824 allow tcp from any to me dst-port 80 setup
.....


#ipfw nat show config
ipfw nat 100 config if fxp0 log unreg_only

Никак не могу понять в чем дело.
Думал проблема в линке, но если добавить правило
ipfw add 11 allow tcp from any to me 80 keep-state
то проблема исчезает.

Помогите пожалуйста разобраться.


Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Проблема с kernel nat Freebsd 8.2"  +/
Сообщение от Dmitry122 email(ok) on 09-Ноя-11, 17:45 
Вот так выглядит сбой
На удаленном компе запускаю
=========================
#wget -t 1 nnn.phys.msu.ru/tmp/test
--2011-11-09 17:41:20--  http://nnn.phys.msu.ru/tmp/test
Resolving nnn.phys.msu.ru (nnn.phys.msu.ru)... 93.180.51.14
Connecting to nnn.phys.msu.ru (nnn.phys.msu.ru)|93.180.51.14|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 20480000 (20M) [text/plain]
Saving to: `test'

0% [                                                                         ] 98,893       147K/s   in 0.7s    

2011-11-09 17:41:21 (147 KB/s) - Connection closed at byte 98893. Giving up.
=========================

А вот так выглядит tcpdump сессии
17:44:38.186726 IP 93.180.51.14.80 > 78.107.11.34.24281: Flags [.], ack 126, win 8326, options [nop,nop,TS val 1781071408 ecr 3472289116], length 1448
17:44:38.194812 IP 78.107.11.34.24281 > 93.180.51.14.80: Flags [.], ack 575308, win 8145, options [nop,nop,TS val 3472289161 ecr 1781071354], length 0
17:44:38.194851 IP 93.180.51.14.80 > 78.107.11.34.24281: Flags [.], ack 126, win 8326, options [nop,nop,TS val 1781071416 ecr 3472289161], length 1448
17:44:38.194855 IP 78.107.11.34.24281 > 93.180.51.14.80: Flags [.], ack 576756, win 8326, options [nop,nop,TS val 3472289162 ecr 1781071405], length 0
17:44:38.194879 IP 93.180.51.14.80 > 78.107.11.34.24281: Flags [.], ack 126, win 8326, options [nop,nop,TS val 1781071416 ecr 3472289162], length 1448
17:44:38.194884 IP 78.107.11.34.24281 > 93.180.51.14.80: Flags [.], ack 579652, win 8145, options [nop,nop,TS val 3472289165 ecr 1781071405], length 0
17:44:38.194906 IP 93.180.51.14.80 > 78.107.11.34.24281: Flags [FP.], seq 602820:602888, ack 126, win 8326, options [nop,nop,TS val 1781071416 ecr 3472289165], length 68
17:44:38.195784 IP 78.107.11.34.24281 > 93.180.51.14.80: Flags [.], ack 581100, win 8326, options [nop,nop,TS val 3472289166 ecr 1781071405], length 0
17:44:38.198219 IP 78.107.11.34.24281 > 93.180.51.14.80: Flags [.], ack 583996, win 8145, options [nop,nop,TS val 3472289168 ecr 1781071405], length 0
17:44:38.199409 IP 78.107.11.34.24281 > 93.180.51.14.80: Flags [.], ack 585444, win 8326, options [nop,nop,TS val 3472289170 ecr 1781071405], length 0
17:44:38.205475 IP 78.107.11.34.24281 > 93.180.51.14.80: Flags [.], ack 588340, win 8145, options [nop,nop,TS val 3472289176 ecr 1781071408], length 0
17:44:38.206676 IP 78.107.11.34.24281 > 93.180.51.14.80: Flags [.], ack 589788, win 8326, options [nop,nop,TS val 3472289177 ecr 1781071408], length 0
17:44:38.209469 IP 78.107.11.34.24281 > 93.180.51.14.80: Flags [.], ack 592684, win 8145, options [nop,nop,TS val 3472289180 ecr 1781071408], length 0
17:44:38.210427 IP 78.107.11.34.24281 > 93.180.51.14.80: Flags [.], ack 594132, win 8326, options [nop,nop,TS val 3472289181 ecr 1781071408], length 0
17:44:38.213044 IP 78.107.11.34.24281 > 93.180.51.14.80: Flags [.], ack 597028, win 8145, options [nop,nop,TS val 3472289183 ecr 1781071408], length 0
17:44:38.214509 IP 78.107.11.34.24281 > 93.180.51.14.80: Flags [.], ack 598476, win 8326, options [nop,nop,TS val 3472289185 ecr 1781071416], length 0
17:44:38.216805 IP 78.107.11.34.24281 > 93.180.51.14.80: Flags [.], ack 601372, win 8145, options [nop,nop,TS val 3472289187 ecr 1781071416], length 0
17:44:38.218029 IP 78.107.11.34.24281 > 93.180.51.14.80: Flags [.], ack 602820, win 8326, options [nop,nop,TS val 3472289188 ecr 1781071416], length 0
17:44:38.218043 IP 78.107.11.34.24281 > 93.180.51.14.80: Flags [.], ack 602889, win 8317, options [nop,nop,TS val 3472289189 ecr 1781071416], length 0
17:44:38.219115 IP 78.107.11.34.24281 > 93.180.51.14.80: Flags [F.], seq 126, ack 602889, win 8326, options [nop,nop,TS val 3472289190 ecr 1781071416], length 0
17:44:38.219143 IP 93.180.51.14.80 > 78.107.11.34.24281: Flags [.], ack 127, win 8325, options [nop,nop,TS val 1781071440 ecr 3472289190], length 0
17:44:42.849132 IP 78.107.11.34.55266 > 93.180.51.14.25: Flags [S], seq 2121977761, win 65535, options [mss 1460,nop,wscale 3,sackOK,TS val 3472293819 ecr 0], length 0
17:44:42.849195 IP 93.180.51.14.25 > 78.107.11.34.55266: Flags [S.], seq 257921642, ack 2121977762, win 65535, options [mss 1460,nop,wscale 3,sackOK,TS val 36964927 ecr 3472293819], length 0
17:44:42.861307 IP 78.107.11.34.55266 > 93.180.51.14.25: Flags [.], ack 1, win 8326, options [nop,nop,TS val 3472293822 ecr 36964927], length 0
17:44:42.967534 IP 93.180.51.14.25 > 78.107.11.34.55266: Flags [P.], ack 1, win 8326, options [nop,nop,TS val 36965046 ecr 3472293822], length 38
17:44:42.970086 IP 78.107.11.34.55266 > 93.180.51.14.25: Flags [P.], ack 39, win 8326, options [nop,nop,TS val 3472293940 ecr 36965046], length 15
17:44:42.970194 IP 93.180.51.14.25 > 78.107.11.34.55266: Flags [P.], ack 16, win 8326, options [nop,nop,TS val 36965048 ecr 3472293940], length 24
17:44:42.971940 IP 78.107.11.34.55266 > 93.180.51.14.25: Flags [P.], ack 63, win 8326, options [nop,nop,TS val 3472293942 ecr 36965048], length 6
17:44:42.972398 IP 78.107.11.34.55266 > 93.180.51.14.25: Flags [F.], seq 22, ack 63, win 8326, options [nop,nop,TS val 3472293942 ecr 36965048], length 0
17:44:42.972430 IP 93.180.51.14.25 > 78.107.11.34.55266: Flags [P.], ack 22, win 8326, options [nop,nop,TS val 36965051 ecr 3472293942], length 15
17:44:42.972469 IP 93.180.51.14.25 > 78.107.11.34.55266: Flags [F.], seq 78, ack 22, win 8326, options [nop,nop,TS val 36965051 ecr 3472293942], length 0
17:44:42.974602 IP 78.107.11.34.55266 > 93.180.51.14.25: Flags [R], seq 2121977783, win 0, length 0
17:44:42.974638 IP 78.107.11.34.55266 > 93.180.51.14.25: Flags [R], seq 2121977783, win 0, length 0
============================

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "Проблема с kernel nat Freebsd 8.2"  +/
Сообщение от Pahanivo (ok) on 09-Ноя-11, 18:03 
> Привет!
> Не могу разобраться я с проблемой, помогите пожалуйста.
> Есть сервер FreeBSD8.2, одной картой (fxp0) смотрит в internet, другой (fxp1) -
> в сетку с приватными IP.
> nat  висит  на внешнем интерфейсе fxp0, натит
> внутренюю приватную подсеть 192.168.0/24 и все вроде работает.
> Но если  из интернета качать большой файл (10-20мб) по http например,
> связь
> рвется через 1-2 мегабайта
> То же самое с pop3.

сделай самый простотой конфиг
1 nat from any to any via $external_if
2 allow all from any to any
а потом уже усложняй - а то поди начитался всяких хауту и лепишь правила бестолку

check-state без keep-state?
идем читать маны - там все ясно как божий день

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

3. "Проблема с kernel nat Freebsd 8.2"  +/
Сообщение от Dmitry122 email(ok) on 09-Ноя-11, 18:29 

> сделай самый простотой конфиг
> 1 nat from any to any via $external_if
> 2 allow all from any to any
> а потом уже усложняй - а то поди начитался всяких хауту и
> лепишь правила бестолку

Хорошая идея, спасибо.

попробовал так
00100  0    0 allow ip from any to any via lo0
00200 39 3283 nat 100 ip from any to any via fxp0
00300 39 3283 allow ip from any to any

Эффект тот же.

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

4. "Проблема с kernel nat Freebsd 8.2"  +/
Сообщение от Pahanivo (ok) on 09-Ноя-11, 22:33 
>[оверквотинг удален]
>> 2 allow all from any to any
>> а потом уже усложняй - а то поди начитался всяких хауту и
>> лепишь правила бестолку
> Хорошая идея, спасибо.
> попробовал так
> 00100  0    0 allow ip from any to
> any via lo0
> 00200 39 3283 nat 100 ip from any to any via fxp0
> 00300 39 3283 allow ip from any to any
> Эффект тот же.

эфект проявляется уже на 3к и 39 пакетах? ))
интерфейсы не падают? сетевуха не глючит? банально поменять и проверить?

хотя лог у вас какой то странный, товарисчь - на 300 правиле пакетов должнобыть в два раза больше чем на 200 - ибо еще и внутренний иф попадает под это правило ...

Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

5. "Проблема с kernel nat Freebsd 8.2"  +/
Сообщение от Dmitry122 email(ok) on 10-Ноя-11, 12:37 
> эфект проявляется уже на 3к и 39 пакетах? ))
> интерфейсы не падают? сетевуха не глючит? банально поменять и проверить?
> хотя лог у вас какой то странный, товарисчь - на 300 правиле
> пакетов должнобыть в два раза больше чем на 200 - ибо
> еще и внутренний иф попадает под это правило ...

Мы удаляемся от сути проблемы. Лог я прислал снятый сразу после установки новых правил.
А потом запустил тест.
Вот сейчас я опять запустил тестовый конфиг firewall и снял лог после 5 минут работы

00100   104    14122 allow ip from any to any via lo0
00200 28499 29678320 nat 100 ip from any to any via fxp0
00300 50209 46517793 allow ip from any to any

Так лучше?
Интерфейсы не падают, сетевуха в глюках не замечена.
Если сетевуха глючит, то как объяснить то что

> Думал проблема в линке, но если добавить правило
> ipfw add 11 allow tcp from any to me 80 keep-state
> то проблема исчезает.

Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

6. "Проблема с kernel nat Freebsd 8.2"  +/
Сообщение от Pahanivo (ok) on 10-Ноя-11, 18:37 
>> Думал проблема в линке, но если добавить правило
>> ipfw add 11 allow tcp from any to me 80 keep-state
>> то проблема исчезает.

чудеса
пачкорды? без ната пингу погонять типа `ping -f`?
интерфейсы развернуть?


Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру