LINUX.ORG.RU

[сети][NAT][муки]Плохо работает NAT

 ,


0

0

мучаюсь уже 3 день, не пойму в чем проблема, думаю надо описать подробнее, извиняйте, если много букв

есть провайдер корбина, ppp0 это PPTP
есть debian squeeze
на нем сетевые интерфейсы
eth0 смотрит в 192.168.1.0/24, имеет адресс 192.168.1.100
ppp0 смотрит в интернет, присваивается выделенный адрес

также в 192.168.1.0/24 присутствует роутер, который соединяет с локальной сетью провайдера, его адресс 192.168.1.1

то есть получается что 192.168.1.100 (мой компьютер) кладет туннель сквозь мою локальную сеть и локальную сеть провайдера

туннель кладется без ошибок
дальше настраиваю маршрутизацию, чтоб соединения тыкались в инет, а не в 192.168.1.1, ну и плюс некоторые локальные ресурсы прописываю на 192.168.1.1 (мой роутер)

все работает прекрасно, скорость даже выше тарифной, пинги низкие, потерь нет

дальше настраиваю NAT, чтоб компьютеры в сети тоже могли ходить в интернет

[code]
echo «1» > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -j MASQUERADE
[/code]

в настройках компьютеров которые в локальной сети, указываю шлюз 192.168.1.100, DNS-сервера провайдера

интернет появляется, и появляются проблемы, часть сайтов не грузится, или грузится очень медленно, иногда загружаются на половину, почта работает плохо, обновление с репозитария редко выполняются полностью

выше сказанное относится к компьютерам в локальной сети, на шлюзе, который кладет тунель (192.168.1.100) все продолжает работать прекрасно

что интересно, пинги и трасировка идут нормально с локальных компьютеров, то есть делаю пинг до сайта который не открывается, все отлично, пинг низкий, пакеты не теряются, то есть соединение устоичивое

что еще интереснее, если настроить роутер (192.168.1.1) на установление тунеля, все начинает работать хорошо, при этом настройки на локальных компьютеров не меняются, то есть они продолжают ходить через 192.168.1.100, но интернет (о, чудо!) внезапно начинает работать нормально

что я пробовал делать и не помогло:
   разные ОС, что на линуксе, что на винде лагает одинаково
   разные браузеры, файрфокс, опера, хром
   попробовал заходить по адрессу в обход DNS-сервера, все равно лагает
   настраивал маскарадинг для определенного адресса, то есть iptables -t nat -A POSTROUTING -s 192.168.1.5 -j MASQUERADE, с 192.168.1.5 все равно лагало
   перезагружал роутер и компьютеры
   настраивал SNAT вместо маскарадинга, поскольку есть статический адресс, iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -j SNAT --to-source <мой внешний ай-пи адресс>, лагать стало еще больше   
   менял настройки PPTP соединения, вместо vpn.internet.beeline.ru указывал айпи-адресс

настройки pppd
pty «pptp vpn.internet.beeline.ru --nolaunchpppd --nobuffer --loglevel 0»
name <мой логин>
remotename PPTP
refuse-mschap
refuse-mschap-v2
refuse-eap
refuse-pap
file /etc/ppp/options.pptp
ipparam gateway

фаил /etc/ppp/options.pptp
noauth
nobsdcomp
nodeflate
persist
maxfail 0
holdoff 5

такая вот загадка, я больше и не знаю что думать, очевидно проблема в настройке шлюза (192.168.1.100), как думаете в чем может быть проблема?

Ответ на: комментарий от Fatalist

ура, заработало при смене mtu на локальных компах

но настраивать каждую машину сами понимаете, можно ли как нибудь сделать настройку со стороны только шлюза?

роутер как то это делает, ведь он так же кладет туннель

сменить мту туннеля нельзя, так как провайдер запрашивает меньшее значение чем стандартные 1500

Fatalist
() автор топика
Ответ на: комментарий от Fatalist

google://mtu path discovery

вопрос поднимается хотя бы один раз в месяц даже здесь.

CyberTribe ★★
()

настроил до конца, теперь требуется настройка только шлюза

мб кому пригодится

iptables -t mangle -A FORWARD -p tcp --tcp-flags SYN,RST SYN -s 192.168.1.0/24 -j TCPMSS --set-mss 1400

Fatalist
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.