Jak zmienić MTU?

Dyskusja w 'Podstawowe ustawienia systemowe' rozpoczęta przez użytkownika moli, 7 Wrzesień 2010.

Ładowanie...
  1. moli
    Offline

    moli Nowy użytkownik Noobie

    Dołączył:
    13 Wrzesień 2008
    Wiadomości:
    27
    Miejscowość:
    Poznań
    Local Time:
    06:52
    Oceny:
    +0 / 0 / -0
    Followers:
    1
    QNAP:
    TS-109/209
    Ethernet:
    100 Mbps
    TS-109/209 100 Mbps
    Witam!

    W ramach tuningu sieci staram się ustawić dla wszystkich urządzeń sieciowych to samo MTU. Ponieważ dla mojego ISP maksymalną wartością bez fragmentacji jest 1492, to taką wartość ustawiłem na routerze i chciałbym mieć na wszystkich urządzeniach. O ile z laptopami poradziłem sobie, o tyle Qnap z uporem maniaka trzyma się wartości 1500:

    Kod (Text):
    1. [~] # ifconfig
    2. eth0      Link encap:Ethernet  HWaddr 00:08:9B:AD:0E:37
    3.           inet addr:192.168.1.2  Bcast:192.168.1.255  Mask:255.255.255.0
    4.           UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
    5.           RX packets:2210 errors:0 dropped:0 overruns:0 frame:0
    6.           TX packets:2999 errors:0 dropped:0 overruns:0 carrier:0
    7.           collisions:0 txqueuelen:512
    8.           RX bytes:476266 (465.1 Kb)  TX bytes:1130625 (1.0 Mb)
    9.           Interrupt:21
    Co do tej pory próbowałem (i nie przyniosło rezultatu):

    1) zmiana przez ifconfig

    Kod (Text):
    1. ifconfig eth0 mtu 1492
    2) podmiana wartości MTU w sekcji Network pliku uLinux.conf

    Ponieważ każdy reboot powodował przywracanie wartości 1500, to

    3) zmieniłem sekcję ustawiania MTU w /etc/init.d/network.sh która to odpowiedzialna była za przywracanie tej wartości:

    Kod (Text):
    1. set_mtu()
    2. {
    3.         /sbin/log_tool -a  "Attempt to set MTU to 1492" -t 0
    4.         local MTU=`$GETCFG eth0 MTU -d 1492`
    5.         sleep 3
    6.         /sbin/eth_util -s eth0
    7.         local SPEED=`$GETCFG eth0 Speed -d 100`
    8.         if [ "$SPEED" = "1000" ]; then
    9.                 /sbin/ifconfig eth0 mtu $MTU
    10.         else
    11.                 /sbin/ifconfig eth0 mtu 1492
    12.                 if [ ! "$MTU" = "1492" ]; then
    13.                         $SETCFG eth0 MTU 1492
    14.                         /sbin/write_log "MTU different than 1492 - set to 1492" 2
    15.                 fi
    16.         fi
    17. }
    18.  
    Sam skrypt network.sh też jest przywracany do postaci domyślnej przy każdym reboocie, stąd

    4) dodałem procedurę jego podmiany i restartu sieci w autorun.sh:

    Kod (Text):
    1. #!/bin/sh
    2. /sbin/log_tool -a "Engage autorun.sh" -t 0
    3. /bin/sleep 5
    4. /bin/cp /share/HDA_DATA/.qpkg/network.sh /etc/init.d/network.sh
    5. /etc/init.d/network.sh restart
    W logach wygląda na to, że podmieniony skrypt network.sh został uruchomiony:

    aimg828.imageshack.us_img828_303_logg.

    Niemniej wciąż po sprawdzeniu poleceniem ifconfig MTU ma wartość 1500.

    Czy ktoś z szanownych grupowiczów ma jakiś pomysł jak możnaby przymusić Qnapa do zmiany MTU?
     
  2. moli
    Offline

    moli Nowy użytkownik Noobie

    Dołączył:
    13 Wrzesień 2008
    Wiadomości:
    27
    Miejscowość:
    Poznań
    Local Time:
    06:52
    Oceny:
    +0 / 0 / -0
    Followers:
    1
    QNAP:
    TS-109/209
    Ethernet:
    100 Mbps
    TS-109/209 100 Mbps
    Najprawdopodobniej problem dotyczy NASów opartych o procesor ARM.

    Po wydaniu polecenia ifconfig eth0 mtu 1492 W logach od kernela znalazłem następujące wpisy:

    Kod (Text):
    1. eth0: Ilegal MTU value 1492,  rounding MTU to: 1500
    2. eth0: link down
    3. eth0: change mtu 1500 (buffer-size 1520) to 1500 (buffer-size 1520)
    4.  
    Zastanawiam się czy to ograniczenie w driverach (możnaby się pokusić o ich przekompilowanie) czy też hardware narzuca takie ograniczenia.
     
  3. pps
    Offline

    pps Moderator Contributor

    Dołączył:
    21 Listopad 2008
    Wiadomości:
    61
    Local Time:
    06:52
    Oceny:
    +0 / 0 / -0
    Followers:
    0
    QNAP:
    TS-x59 Pro
    Ethernet:
    1 GbE
    TS-x59 Pro 1 GbE
    Yo!
    Na mojej "atomowej" qnapce ifconfig eth0 mtu 1492 faktycznie zmienia MTU:
    Kod (Text):
    1. <6>0000:03:00.0: eth0: changing MTU from 1500 to 1492
    2. <6>e1000e: eth0 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: RX/TX
    ifconfig eth0
    Kod (Text):
    1. eth0      Link encap:Ethernet  HWaddr XX:XX:XX:XX:XX:XX
    2.           inet addr:XXX.XXX.XXX.XXX  Bcast:XXX.XXX.XXX.XXX  Mask:XXX.XXX.XXX.XXX
    3.           UP BROADCAST RUNNING MULTICAST  MTU:1492  Metric:1
    4.           RX packets:XXX errors:0 dropped:0 overruns:0 frame:0
    5.           TX packets:XXX errors:0 dropped:0 overruns:0 carrier:0
    6.           collisions:0 txqueuelen:1000
    7.           RX bytes:XXX (X.X GiB)  TX bytes:XXX (X.X GiB)
    8.           Memory:febe0000-fec00000
    9.  
     
Ładowanie...