PDA

Bekijk de volledige versie : Бага с mtu?



Mam(O)n
01-10-2007, 23:54
Тут вот случайно одну особенность заметил. При поднятии pppoe туннеля (возможно что справедливо и для ppptp) из веб-морды не цепляется значение mtu для ppp интерфейса. Точнее значение то прописывается в конфиг pppd но в итоге интерфейс имеет mtu равное то ли значению по-умолчаню, то ли перекрывается значением, полученным из конфигурационных пакетов от сервера. Вот помнится ранее была бяка с servicename - просто надо было в определенной последовательности в конфиг прописывать параметры, дабы его значение использовалось. Может и здесь также? Я вот поэкспериментировать не могу. У моего прова настолько криво биллинг написан, что частые реконнекты плодят тунели на сервере и доступ к инету соответственно блокируется. Решение в post-firewall прописывать mtu через ifconfig не предлагать - хотелось бы заставить через pppd mtu фиксировать.

P.S. Чтение манов по pppd окончательно меня запутало - может mtu в конфиге это нечто, подразумевающее другое поведение, нежли я представляю?

Reyter
02-10-2007, 11:09
А вот этот (http://wl500g.info/showthread.php?t=10401) вариант не срабатывает? (Сообщения #12 и 13)

Mam(O)n
02-10-2007, 11:36
Да у меня и так всё нормально пашет :) То что mtu из веба не цепляется я обнаружил мимоходом, в процессе исследования другой баги. А ведь я помню точно, что когда-то давно мне помогло понижение mtu на pppoe интерфейсе из веба... А сейчас всё и без хитростей нормально пашет.

зы. Паршивка -pre9
ззы. А чтоб всетаки изменить mtu на ppp интерфейсе, надо в post-firewall (http://wl500g.info/showpost.php?p=23521&postcount=12) прописать строчку: ifconfig ppp0 mtu значение_mtu

Oleg
02-10-2007, 11:45
Значение на интерфейсе выставляет pppd, его мы не контролируем. Он его выбирает вроде как по минимуму из того, что имеет он и обратная сторона.

Что касается клампинга в ПППоЕ, то там какая-то ерунда, смысл которой я не понял и решил оставить как было изначально, чтобы не сломать: клампится не по фактическому МТУ на интерфейсе, а по МТУ, которое задано через веб-интерфейс, минус сколько-то байт. Собственно Вы это можете видеть в фаерволе.

В ППТП и L2TP клампится по фактическому МТУ.

Возможно этот самый бред стоит убрать...

Reyter
02-10-2007, 11:55
Возможно этот самый бред стоит убрать...
Что именно?

Oleg
02-10-2007, 12:15
клампинг по мту из веб-интерфейса, а не по фактическому.

Mam(O)n
03-10-2007, 17:44
Значение на интерфейсе выставляет pppd, его мы не контролируем. Он его выбирает вроде как по минимуму из того, что имеет он и обратная сторона.
Получается, что опция mtu xxxx, которая конфиге pppd ни на что не влияет? Ведь если установить опцию mtu 1300 то pppd всеравно выставляет на интерфейсе значение 1492.


Что касается клампинга в ПППоЕ, то там какая-то ерунда, смысл которой я не понял и решил оставить как было изначально, чтобы не сломать: клампится не по фактическому МТУ на интерфейсе, а по МТУ, которое задано через веб-интерфейс, минус сколько-то байт. Собственно Вы это можете видеть в фаерволе.

Кое-что прояснилось. Я то у себя поднимал pppoe в ручную со своим конфигом, и соответственно правило клампинга не наблюдал. Теперь родилось следующее предположение. В мане по иптаблес я вычитал, что при авто клампинге размер mss вычисляется автоматически, в зависимости от mtu интерфейса назначения минус 40 байт. Но так как значение мту на pppoe интерфейсе с помощью pppd asus'овскими программерами выставить не удалось, ихнее решение было простым - всем пакетам, независимо от их назначения(допустим локалка иль инет через ppp), клампить mss=(mtu_из_веб_интерфейса)-40.



В ППТП и L2TP клампится по фактическому МТУ.
Возможно этот самый бред стоит убрать...
Тогда уж лучше mtu на ppp интерфейсе установить равное mtu указанному в вебе и клампить по pmtu (iptables -t mangle -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu)