[Решено] Проблема со шлюзом: некоторые сайты не догружаются (при использовании клиентами pptp (vpn))

Обсуждение настройки и работы сервисов, резервирования, сетевых настроек и вопросов безопасности ОС.

Модераторы: SLEDopit, Модераторы разделов

Аватара пользователя
0xFF
Сообщения: 267
ОС: Gentoo

[Решено] Проблема со шлюзом: некоторые сайты не догружаются

Сообщение 0xFF »

Вобщем структура сети: небольшой филиал организации с 4-мя клиентскими компьютерами в сети, ADSL-роутер, пробрасывающий порты на сервер (тоже роутер), который под Debian 4.0r0. Этот сервак и раздаёт интернет клиентам. Раздаёт по pptp, и сделано это лишь для ведения статистики. Можно ненапрягаясь шлюзовать и без виртуальной сети.
Проблема в том, что у 2-х из 4-х клиентов не может до конца загрузиться mail.ru... начинает, но в большенстве случаев появляется лишь в заголовоке браузера слово про MAIL... иногда загрузится пара картинок или начнут вырисовываться структуры таблиц, причём закономерность процента заполнения не ясна. Остальные сайты грузятся нормально, но как-то сугубо хуже, чем при маршрутизации без pptp, т.е. при не использовании pptp у меня всё работает со всех компьютеров без каких-либо проблем.
Сам думаю, что при pptp некоторые фрагменты пакетов просто не доходят, но почему тогда только mail.ru не может загрузится до конца, причём лишь на 2-х компах из 4-х :wacko: Возможно не будут догружаться и другие сайты, которые пока что не выявлены.

Сервер не обновлял (версия 4.0r0), но вряд ли проблема в этом. NAT обеспечивает arno-iptables-firewall (организуется обычный маскарадинг). Локалка - 192.168.2.0/24, между ADSL-роутером и сервером - 192.168.1.0/24, клиенты виртуальной сети получают адреса в диапазоне 192.168.0.0/24, удалённый сервер для всех - 192.168.0.1 (это к тому, что для каждого клиента можно задать отдельный IP удалённого сервера и, чем ктулху не шутит, может в этом проблема). Настройки pptpd вобщем-то стандартные с минимальными изменениями. Для подсчёта трафика используется ipcad, выключать его пробовал, но проблема оставалась. Конфигурация железа: Celeron 900 МГЦ, 256 МБ оперативной памяти.

Я в полной растерянности. Может кто сталкивался с похожей проблемой... чувствую, что совсем она тривиальная.
А может загвоздка в шифровании pptp соединения?...
Спасибо сказали:
yaleks
Сообщения: 2121
Статус: вне статуса
ОС: Gentoo ~

Re: [Решено] Проблема со шлюзом: некоторые сайты не догружаются

Сообщение yaleks »

Копать в сторону MTU.
Спасибо сказали:
Аватара пользователя
rm_
Сообщения: 3340
Статус: It's the GNU Age
ОС: Debian

Re: [Решено] Проблема со шлюзом: некоторые сайты не догружаются

Сообщение rm_ »

Столько много букв, столько болда... попробуйте уменьшить на ппп-интерфейсе MTU до 1460 или ещё ниже.
Спасибо сказали:
sov1et
Сообщения: 7
ОС: Ubuntu

Re: [Решено] Проблема со шлюзом: некоторые сайты не догружаются

Сообщение sov1et »

Прям смешно))) сам решил проблему сегодня ночью - копал долго)))
Значит смотри:

Код: Выделить всё

$ ifconfig

ppp0      Link encap:Point-to-Point Protocol
          inet addr:x.x.x.x  P-t-P:x.1x.2x.2  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1492  Metric:1
          RX packets:325685 errors:0 dropped:0 overruns:0 frame:0
          TX packets:331050 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:3
          RX bytes:296288412 (282.5 MB)  TX bytes:63531912 (60.5 MB)

ppp1      Link encap:Point-to-Point Protocol
          inet addr:10.10.10.1  P-t-P:10.10.10.2  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1396  Metric:1
          RX packets:5222 errors:0 dropped:0 overruns:0 frame:0
          TX packets:5733 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:3
          RX bytes:559369 (546.2 KB)  TX bytes:4763049 (4.5 MB)

ppp0 - это адсл
ppp1 - это клиент по pptp

Смотри на MTU. У адсл оно должно быть меньше чем у впн (я поставил 1394).
Правится это тут (default) :

Код: Выделить всё

sudo nano /etc/ppp/peers/dsl-provider

Меняем/расскоментируем mtu и ставим нужное значение (1394).

Код: Выделить всё

mtu 1394

Далее прописываем правило для iptables:

Код: Выделить всё

 iptables -t mangle -A POSTROUTING -p tcp --tcp-flags SYN,RST SYN -o ppp0 -j TCPMSS --clamp-mss-to-pmtu

где ppp0 - это интерфейс по которому получаем интернет

ЗЫ. Отпишись если заработает))))

ЗЫЫ. Сразу дополнительный вопрос - Сказывается ли уменьшение значения MTU на скорости, если да то как? И чем это (уменьшение MTU) вообще плохо?
Спасибо сказали:
Аватара пользователя
0xFF
Сообщения: 267
ОС: Gentoo

Re: [Решено] Проблема со шлюзом: некоторые сайты не догружаются

Сообщение 0xFF »

sov1et писал(а):
19.06.2008 01:33
ЗЫ. Отпишись если заработает))))

ЗЫЫ. Сразу дополнительный вопрос - Сказывается ли уменьшение значения MTU на скорости, если да то как? И чем это (уменьшение MTU) вообще плохо?

Заработало :) В головном офисе была проблема с Mail.ru-агентом на некоторых компьютерах, и тоже решилась :)

Сделал на всех интерфейсах MTU=1396, в том числе и на eth1, который смотрит в ADSL-роутер.

MTU - это Max size of Transfer Unit, то есть максимальный размер фрагмента передаваемого пакета. На "шумящей связи" (модемы там, мобильные телефоны) лучше делать эти размеры маленькими. Это повысит качество связи, ведь чем меньше размер, тем меньше вероятность порчи фрагмента при доставке.

В тело фрагмента входит служебная информация, размер которой постоянен, и соответственно чем меньше размер пакета, тем меньший процент КПД пакета и тем меньшая теоритическая максимальная скорость доставки конечной информации при одинаковых физических максимальных скоростях.
Спасибо сказали:
Аватара пользователя
KiWi
Бывший модератор
Сообщения: 2521
Статус: статус, статус, статус

Re: [Решено] Проблема со шлюзом: некоторые сайты не догружаются

Сообщение KiWi »

0xFF писал(а):
19.06.2008 18:32
На "шумящей связи" (модемы там, мобильные телефоны) лучше делать эти размеры маленькими.

Не нужно, точнее, нужно, но в случае если с текущим MTU ничего не работает...
Спасибо сказали: