[РЕШЕНО]ВАЖНО ВСЕМ!!! MTU WAN, LAN. Не работает правельн&
-
Вот это выполни
echo get_interface_mtu($config['interfaces'][$config['interfaces']['lan']['bridge']]['if']);
–-
Все понял откуда ноги.
Создается бридж с нулевым MTU. А потом для него ставится 1500 с предупреждением. Для всех интерфейсов в бридже MTU должно быть одинаковое. Пoэтому, чтобы не равнять между собой MTU с каждого интерфейса ставится стандартное 1500.
То есть это скорее не баг а фича. Остается посмотреть что с MTU у BSD систем вообще.
Для интереса можешь поменять дефолтное значение для бриджа /etc/inc/interfaces.inc строка 143.Да, действительно, но я тут вижу лишь переменные, которые уже являются константами, как их изминить
/* bridged? */
строка 143 > if ($lancfg['bridge']) {
setup_bridge();
}/* media */
if ($lancfg['media'] || $lancfg['mediaopt']) {
$cmd = "/sbin/ifconfig " . escapeshellarg($lancfg['if']);
if ($lancfg['media'])
$cmd .= " media " . escapeshellarg($lancfg['media']);
if ($lancfg['mediaopt'])
$cmd .= " mediaopt " . escapeshellarg($lancfg['mediaopt']);
mwexec($cmd);
}И где здесь поставить MTU=1462 ?
Но если возможно, то как не вмешиваясь в этот код заставить работать карточки на МТУ=1462. Если есть способ, то поделитесь пожалуйста.
-
Я вот из темы упустил, если руками команды набивал, pfsense применял новое значение mtu?
-
if(intval($mtu) == 0) { log_error("An error occurred while trying to obtain the MTU setting. Using 1500."); $mtu = "1500]"; }
-
Я вот из темы упустил, если руками команды набивал, pfsense применял новое значение mtu?
да, руками когда набивал значения применялись
-
if(intval($mtu) == 0) { log_error("An error occurred while trying to obtain the MTU setting. Using 1500."); $mtu = "1500]"; }
yes ) но это не 143 строка.
1671 > if (intval($mtu) == 0) {
log_error("An error occurred while trying to obtain the MTU setting for $bridgeif. Using 1500.");
$mtu = "1500";Тем не менее огромное спасибо. Попробую поиграю с параметром, результат отпишу.
-
-
Там порядок выполнения может быть разный.
Могу сказать точно, что sh скрипты из /usr/local/pkg/pf выполняются позже всех - после формирования правил файрвола. Попробуйте оттуда, НО ставить на бридже МТУ нужно одинаковым для всех бридженных интерфейсов. Так везде делают где я встречал. -
Ура, заработало, MTU под контролем, поборол лаги, жаль конечно что через …заднию дверь, для всех скажу, с этим надо что-то делать, каректировка MTU это самое главное в любой подобной железке. Всем огромное спасибо, тема закрыта,
решение >
ee /etc/inc/interfaces.inc
1671 >if (intval($mtu) == 0) { log_error("An error occurred while trying to obtain the MTU setting for $bridgeif. Using 1500."); #$mtu = "1500"; $mtu = "1462";
-
-
Вот откопал в сорцах, что на лане ставится такой же МТУ как на том интерфейса с которым он делает бридж. Принудительно 1500 ставиться вроде только на Wireless или при нулевом значении (незаполненном) в конфиге (bridge).
Поправка, когда bridge имеет место быть, выбирается минимальный MTU из всех интерфейсов, учавствующих в bridge.
-
Вот откопал в сорцах, что на лане ставится такой же МТУ как на том интерфейса с которым он делает бридж. Принудительно 1500 ставиться вроде только на Wireless или при нулевом значении (незаполненном) в конфиге (bridge).
Поправка, когда bridge имеет место быть, выбирается минимальный MTU из всех интерфейсов, учавствующих в bridge.
Это в теории. Я по коду WebGUI смотрю. Возможно в 2.0 иной подход.
-
Настройка MTU через WEB-интерфейс работает для WAN, без паники. Внимательно смотрим на рисунок и читаем - это MSS для TCP, никакокго отношения к MTU на интерфейсе не имеет. Эта настройка для pf, не для интерфейса. Возможно впрочем, не очень удачное название для параметра.
Если не секрет, для общего развития поделись, зачем ты правил MTU на LAN.
-
Вот откопал в сорцах, что на лане ставится такой же МТУ как на том интерфейса с которым он делает бридж. Принудительно 1500 ставиться вроде только на Wireless или при нулевом значении (незаполненном) в конфиге (bridge).
Поправка, когда bridge имеет место быть, выбирается минимальный MTU из всех интерфейсов, учавствующих в bridge.
Это в теории. Я по коду WebGUI смотрю. Возможно в 2.0 иной подход.
Почему в теории, это из исходников 1.2.3-RC1 (под рукой оказались)
-
Кинь мне в приват кусок кода где это.
-
Ыыы у меня исходник не такой на работе. Нужно обновить версию.
-
Смори функцию function setup_bridge() в interfaces.inc
Эта фишка стара, как мир (я думаю). -
Смори функцию function setup_bridge() в interfaces.inc
Эта фишка стара, как мир (я думаю).Завтра сравню.
-
Настройка MTU через WEB-интерфейс работает для WAN, без паники. Внимательно смотрим на рисунок и читаем - это MSS для TCP, никакокго отношения к MTU на интерфейсе не имеет. Эта настройка для pf, не для интерфейса. Возможно впрочем, не очень удачное название для параметра.
Если не секрет, для общего развития поделись, зачем ты правил MTU на LAN.MTU на LAN, все очень просто, чтоб обеспечить проход пактов до pfsense без его реконструкции, когда в сети 300 машин, это ощютимо на слабом сервачке, думаю будет ощютимо на любом сервере, также неоходимо было чтоб режим бридж был включеным ибо есть еще потсети, которые должны ходить насквозь со стороны wan в lan. Ну и последнее, из-за чего все началось, страшные лаги, устал биться с ними, захожу в шел и просто обомлел, как же так, оба моих интерфейса пашут на mtu=1500 хотя в wan я указал 1462. Всля локальная сеть работает на mtu=1462 . ;)
-
Настройка MTU через WEB-интерфейс работает для WAN, без паники. Внимательно смотрим на рисунок и читаем - это MSS для TCP, никакокго отношения к MTU на интерфейсе не имеет. Эта настройка для pf, не для интерфейса. Возможно впрочем, не очень удачное название для параметра.
Если не секрет, для общего развития поделись, зачем ты правил MTU на LAN.MTU на LAN, все очень просто, чтоб обеспечить проход пактов до pfsense без его реконструкции, когда в сети 300 машин, это ощютимо на слабом сервачке, думаю будет ощютимо на любом сервере, также неоходимо было чтоб режим бридж был включеным ибо есть еще потсети, которые должны ходить насквозь со стороны wan в lan. Ну и последнее, из-за чего все началось, страшные лаги, устал биться с ними, захожу в шел и просто обомлел, как же так, оба моих интерфейса пашут на mtu=1500 хотя в wan я указал 1462. Всля локальная сеть работает на mtu=1462 . ;)
Что-то у тебя неправильно с терминами/понятиями. Зачем лану работать с мту 1462? не Ethernet что ли? И "страшные лаги" исчезли, как только "починил" mtu?
-
Совершенно верно
vr0: flags=8943 <up,broadcast,running,promisc,simplex,multicast>metric 0 mtu 1462
options=2808 <vlan_mtu,wol_ucast,wol_magic>capabilities=2848 <vlan_mtu,polling,wol_ucast,wol_magic>ether 00:15:e9:3c:b6:ab
inet6 fe80::215:e9ff:fe3c:b6ab%vr0 prefixlen 64 scopeid 0x1
inet 78.45.23.100 netmask 0xffffff00 broadcast 78.45.23.255
media: Ethernet autoselect (100baseTX <full-duplex>)
status: activevr1: flags=8843 <up,broadcast,running,simplex,multicast>metric 0 mtu 1462
options=2808 <vlan_mtu,wol_ucast,wol_magic>capabilities=2848 <vlan_mtu,polling,wol_ucast,wol_magic>ether 00:19:21:0f:ff:41
inet6 fe80::221:91ff:fe92:7f93%vr1 prefixlen 64 scopeid 0x2
media: Ethernet autoselect (100baseTX <full-duplex>)
status: active
supported media:
media autoselect
media 100baseTX mediaopt full-duplex
media 100baseTX
media 10baseT/UTP mediaopt full-duplex
media 10baseT/UTP
media none</full-duplex></vlan_mtu,polling,wol_ucast,wol_magic></vlan_mtu,wol_ucast,wol_magic></up,broadcast,running,simplex,multicast></full-duplex></vlan_mtu,polling,wol_ucast,wol_magic></vlan_mtu,wol_ucast,wol_magic></up,broadcast,running,promisc,simplex,multicast>