PDA

Bekijk de volledige versie : wl-500gp сервера за NAT



ostin
01-10-2008, 12:09
Приветствую.

Наклюнулась тут проблемка.. Имею 2 сервера за роутером (http, socks). На роутере оба сервера добавлены в virtual servers
Но существует проблема. Достучаться до серверов извне крайне проблематично. Особенно если делать это в несколько потоков (сразу несколько клиентов http или несколько запросов по socks). Пакеты не теряются, а как будто становятся в дикую очередь и никак не пролазят :(
Был бы рад дельному совету.

Спасибо.

6opoga
01-10-2008, 13:09
Приветствую.

Наклюнулась тут проблемка.. Имею 2 сервера за роутером (http, socks). На роутере оба сервера добавлены в virtual servers
Но существует проблема. Достучаться до серверов извне крайне проблематично. Особенно если делать это в несколько потоков (сразу несколько клиентов http или несколько запросов по socks). Пакеты не теряются, а как будто становятся в дикую очередь и никак не пролазят :(
Был бы рад дельному совету.

Спасибо.

Имею такую же байду. При этом ситуация очень неустойчивая - "дикая очередь" наблюдается только с одной из моих площадок. С других все нормально, с проблемной площадки на винт прямо на роутере - тоже нормально.
Причем проблема именно с аплоадом в локалку сквозь роутер, и безразлично, принимает их ftp в режиме port, passive или вообще scp. Если же я тупо делаю изнутри wget проблемная-площадка/чего-нибудь-толстое, то всасывается все на ура.
Такое ощущение, что на роутере как-то коряво работает связка conntrack/dnat.

ostin
02-10-2008, 12:52
может с mtu поиграться?
tcpdump на роутере периодически выдает:

шлюз_провайдера > ИП_моего_сервера: icmp 68: time exceeded in-transit

tiny
02-10-2008, 19:31
на роутере как-то коряво работает связка conntrack/dnat.
Я думаю, вы правы. Не может свойство VSERVER добавлять одну строку в nat_rules а PRE/POSTROUTING при этом быть гораздо сложнее;)

6opoga
03-10-2008, 09:23
Я думаю, вы правы. Не может свойство VSERVER добавлять одну строку в nat_rules а PRE/POSTROUTING при этом быть гораздо сложнее;)

У меня сложилось ощущение, что не работает mtu path discovery. И не работать оно может если не проходит icmp. Вот только почему оно через SNAT работает, а через DNAT - нет?

tiny
03-10-2008, 11:09
У меня сложилось ощущение, что не работает mtu path discovery. И не работать оно может если не проходит icmp. Вот только почему оно через SNAT работает, а через DNAT - нет?

Вам же доступны файлы /tmp/filter_rules и /tmp/nat_rules
Посмотрите, покурите маны по их модификации, сравните настройки DNAT и SNAT.

Хотя, делать statefull проброс icmp на сервер за nat имхо не целесообразно, нужно по-другому делать path mtu discovery между роутером провайдера и компьютером за nat.

Можно просто статически изменить mtu.

Второй вариант - поставить и настроить вместо NAT прокси в реверс-режиме.

tiny
03-10-2008, 11:17
Кстати, может быть просто несоответствие mtu внутри и снаружи, тогда может быть нужно поставить mtu поменьше для локалки и интернета, заведомо меньше того, что предлагает роутер провайдера.

6opoga
03-10-2008, 15:04
Вам же доступны файлы /tmp/filter_rules и /tmp/nat_rules
Посмотрите, покурите маны по их модификации, сравните настройки DNAT и SNAT.


Спасибо за совет. Курю уже третью неделю :) Не говоря уже о том, что 15 лет работаю с сетями. К сожалению, все не так просто.

У меня в роутер входят два внешних интерфейса. Один - ppp0 с mtu 1460. Второй - ethernet с mtu 1500. Картина идентична для обоих. Зато вот анализ трафика с проблемной площадкой показывает, что обмен идет пакетами размером 1300, т.е. заведомо в рамках обоих mtu. Т.е. выставляет такой размер кто-то по пути между площадкой и роутером.

Я вообще сюда написал с целью новых идей получить, пусть самых бредовых. Потому что у меня идеи уже кончились.

Power
03-10-2008, 15:34
Достучаться до серверов извне крайне проблематично. Особенно если делать это в несколько потоков (сразу несколько клиентов http или несколько запросов по socks). Пакеты не теряются, а как будто становятся в дикую очередь и никак не пролазят

Может, это работает защита от DoS (в iptables цепочка SECURITY)? Она как раз занимается ограничением частоты новых соединений.

6opoga
06-10-2008, 14:30
Может, это работает защита от DoS (в iptables цепочка SECURITY)? Она как раз занимается ограничением частоты новых соединений.

Нет, не она - проверено.

ostin
25-01-2009, 09:32
В настройках Internet Firewall есть пункт "Number of connections to track" по умолчанию стоит 4096 вроде
увеличил до 8192 - проблем больше не наблюдаю.