Bewertung: 5 / 5

Stern aktivStern aktivStern aktivStern aktivStern aktiv
 
Die Vorgehensweise ist recht einfach wenn man weiss wie:
 
 
 
  1. Bei ping -c1 195.135.220.3 -s 1600 -M do solange den Parameter 1600 um 100 erniedrigen bis keine Meldung mehr kommt dass 'DF set' ist. 
  2. Dann die Größe wieder schrittweise um 10 erhöhen bis die 'DF set' Meldung wieder erscheint
  3. Danach die Größe wieder um 2 schrittweise erniedrigen, bis 'DF set' wieder verschwindet.
  4. Dann 28 dazuzählen (IP Headergröße) - und das ist die richtige maximale MTU
  5. Mit ipconfig eth0 mtu 1492 kann man dann der MTU Wert temporär ändern.
  6. Permanentes Ändern des MTU Wertes geht bei SuSE entweder per YAST bei SuSE 10.3 und ansonsten muss der Parameter in /etc/sysconfig/network/eth.... bei MTU='1492' eingetragen werden.
 
Seit der Version 0.5.1.1 wird dieses automatisch von collectNWData geprüft und bei Unstimmigkeiten eine Fehlermeldung erzeugt.
 
 Einzeiler um die maximale MTU zu bestimmen: 
size=1272; while ping -s $size -c1 -M do google.com >&/dev/null; do ((size+=4)); done; echo "Max MTU size: $((size-4+28))" 
 
Hilfreich bei der Erstellung dieser Seiteninhalte war u.A.
    1. MTU tweaking FAQ 
    2. http://www.linux-club.de/ftopic87472.html 
    3. Einzeiler zur MTU Bestimmung: https://ubuntuforums.org/showthread.php?t=2224447&p=13025302#post13025302
MTU tweaking FAQ
     
  1. http://www.linux-club.de/ftopic87472.html  
Anbei ein kleines Script mit dem die MTU überprüft wird. Downloadlink für das Script. Danach bash checkMTU.sh aufrufen. 

#!/bin/bash

#  Detect maximum possible MTU for client

#  10/12/03 - framp at linux-tips-and-tricks dot de

   DFDetected=0
   testMTU=1600

   echo "Calculating optimal MTU"
   echo "Decreasing MTU until fragmentation starts..."
   while [[ $DFDetected -eq 0 ]]; do
      dummy=`ping -c1 195.135.220.3 -s $testMTU -M do | grep "DF set"`
      DFDetected=$?
      if [[ $DFDetected -eq 0 ]]; then
         let testMTU=$testMTU-100
      fi
   done

   DFDetected=0
   let testMTU=$testMTU+100

   while [[ $DFDetected -eq 0 ]]; do
      dummy=`ping -c1 195.135.220.3 -s $testMTU -M do | grep "DF set"`
      DFDetected=$?
      if [[ $DFDetected -eq 0 ]]; then
         let testMTU=$testMTU-10
      fi
   done

   DFDetected=0
   let testMTU=$testMTU+10

   echo "Increasing MTU until fragmentation stops..."
   while [[ $DFDetected -eq 0 ]]; do
      dummy=`ping -c1 195.135.220.3 -s $testMTU -M do | grep "DF set"`
      DFDetected=$?
      if [[ $DFDetected -eq 0 ]]; then
         let testMTU=$testMTU-2
      fi
   done

   let mtuRequired=$testMTU+28
   echo "Adding IP header of 28 bytes to MTU..."
   echo "Optimal MTU is $mtuRequired"

   defaultGatewayNic=`route -n | awk '/^[0]+\.[0]+\.[0]+\.[0]+/ { print $NF; } '`
   mtuActive=`ifconfig $defaultGatewayNic | perl -n -e '{ if ($_=~/MTU:(\d+)/) { print "$1"}; }'`

   echo "MTU of $mtuActive is used on interface $defaultGatewayNic"

   if [[ $mtuActive -gt $mtuRequired ]]; then
      echo "Current MTU should be corrected to $mtuRequired"
   else
      echo "MTU is Ok"
   fi 

Kommentar schreiben

*** Hinweis ***

Kommentare sind erwünscht. Aber um lästige Spamposts abweisen zu können gibt es ein paar Dinge die zu beachten sind:
  1. Kommentare mit dem Text http werden sofort zurückgewiesen mit der Meldung Sie sind nicht berechtigt den Tag zu verwenden. zz
  2. Kommentare werden manuell überprüft und es dauert deshalb in der Regel einen Tag bis sie veröffentlicht werden.