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:
Die eMail ist versteckt und nicht öffentlich sichtbar. Sie wird benutzt um über neue Kommentare zu informieren.