The OpenNET Project / Index page

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

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"linux nat + вечное ожидание ответа"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы OpenNET: Виртуальная конференция (Public)
Изначальное сообщение [ Отслеживать ]

"linux nat + вечное ожидание ответа"  +/
Сообщение от gr3m1in email(ok) on 09-Дек-09, 23:44 
имеется шлюз на gentoo 2.6.32 между локалкой и провайдером.
на внешнем интерфейсе маскарад.
провайдер выдаёт серый адрес вида 10.151.х.х (йота).
явление не зависит от конкретного провайдера, на скайлинке и кубтелекоме аналогично.
тем более, что проблема только в локалке, с шлюза всё ходит ровно.
все модули и примочки iptables и iproute2, включая conntrack, вкомпилены в ядро.
всё работает, исключая отдельные целевые адреса, например www.fixunix.com (174.129.213.10).
при попытке обратиться браузером по http соединение устанавливается неполностью.

вывод tcpdump на шлюзе на внешнем интерфейсе:

23:26:41.088605 IP 10.151.175.232.40346 > 174.129.213.10.80: Flags [S], seq 3781115474, win 5840, options [mss 1460,sackOK,TS val 16804233 ecr 0,nop,wscale 7], length 0
23:26:41.347409 IP 174.129.213.10.80 > 10.151.175.232.40346: Flags [S.], seq 1211327233, ack 3781115475, win 5840, options [mss 1460], length 0
23:26:41.347618 IP 10.151.175.232.40346 > 174.129.213.10.80: Flags [.], ack 1, win 5840, length 0
23:26:41.347697 IP 10.151.175.232.40346 > 174.129.213.10.80: Flags [P.], seq 1:357, ack 1, win 5840, length 356
23:26:41.637781 IP 174.129.213.10.80 > 10.151.175.232.40346: Flags [.], ack 357, win 6432, length 0
23:27:24.540319 IP 10.151.175.232.40346 > 174.129.213.10.80: Flags [F.], seq 357, ack 1, win 5840, length 0
23:27:25.061866 IP 174.129.213.10.80 > 10.151.175.232.40346: Flags [.], ack 358, win 6432, length 0

и всё.
браузер "соединение установлено", "ожидается ответ".

telnet из локалки:

# telnet www.fixunix.com 80
Trying 174.129.213.10...
Connected to www.fixunix.com.
Escape character is '^]'.
GET / <enter>
<enter>

Connection closed by foreign host.

при этом вывод tcpdump:

23:29:22.760976 IP 10.151.175.232.40363 > 174.129.213.10.80: Flags [S], seq 2014851259, win 5840, options [mss 1460,sackOK,TS val 16820403 ecr 0,nop,wscale 7], length 0
23:29:23.145506 IP 174.129.213.10.80 > 10.151.175.232.40363: Flags [S.], seq 1503627209, ack 2014851260, win 5840, options [mss 1460], length 0
23:29:23.145761 IP 10.151.175.232.40363 > 174.129.213.10.80: Flags [.], ack 1, win 5840, length 0
23:29:26.530014 IP 174.129.213.10.80 > 10.151.175.232.40363: Flags [S.], seq 1503627209, ack 2014851260, win 5840, options [mss 1460], length 0
23:29:26.530224 IP 10.151.175.232.40363 > 174.129.213.10.80: Flags [.], ack 1, win 5840, length 0
23:29:27.628771 IP 10.151.175.232.40363 > 174.129.213.10.80: Flags [P.], seq 1:8, ack 1, win 5840, length 7
23:29:28.090764 IP 174.129.213.10.80 > 10.151.175.232.40363: Flags [.], ack 8, win 5840, length 0
23:29:28.340752 IP 10.151.175.232.40363 > 174.129.213.10.80: Flags [P.], seq 8:10, ack 1, win 5840, length 2
23:29:28.608385 IP 174.129.213.10.80 > 10.151.175.232.40363: Flags [.], ack 10, win 5840, length 0
23:29:32.092515 IP 10.151.175.232.40363 > 174.129.213.10.80: Flags [P.], seq 10:12, ack 1, win 5840, length 2
23:29:32.326805 IP 174.129.213.10.80 > 10.151.175.232.40363: Flags [R], seq 1503627210, win 0, length 0

при этом точно такой же телнет на шлюзе с последующим вводом
GET / <enter>
<enter>
добросовестно возвращает html-потроха страницы.

нат выполняется корректно, выводы tcpdump на внутреннем и внещнем интерфейсах шлюза идентичны, разница только в подмене адресов.

пересобирал ядро, iptables, iproute2, выносил conntrack из ядра в модуль - разницы нет.

собственно вопрос - почему это происходит и чем вызвано?
а самое главное куда копать и как бороться?

ПРОШУ ПОМОЩИ!

Высказать мнение | Ответить | Правка | Cообщить модератору

Оглавление

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


1. "linux nat + вечное ожидание ответа"  +/
Сообщение от gr3m1in email(ok) on 10-Дек-09, 18:48 
решено!

проблема оказалась в разнице mtu на внутреннием и внешнем интерфейсах
лечится правилом :
iptables -t mangle -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu

вся дискуссия здесь:
http://linuxforum.ru/index.php?showtopic=105669

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

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

Индекс форумов | Темы | Пред. тема | След. тема




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

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