7.15. ( MTU ) - Az IPMASQ működni látszik, de néhány címet nem tudok elérni. Ez általában a WWW-vel és az FTP-vel fordul elő

Attól függően, milyen rendszermag-verziót futtatsz a MASQ szerveren, az emberek nem értenek egyet a valódi problémában. A következő két állításban vannak igazságok, kapcsolódnak egymáshoz, és mindegyik szekértábor felhasználói vitatkoznak rajta mind a mai napig.

Mindezek ellenére ne aggódj. Létezik néhány tökéletesen jó megoldás ennek a csúnya MTU problémának a megoldására:

7.15.1. A PMTU Clamping engedélyezése PPPoE és néhány PPP felhasználónál:

Azoknak, akiknek PPPoE klienseik vannak a DSL/kábelmodemhez, vagy PPP-t (betárcsázást) használnak, az Internet csatolójuk NEM "eth0" (például), hanem általában "ppp0". Ezen felül, az Internet kapcsolat MTU-ja nem 1500, hanem 1492 bájt. Az 1492 bájt így adódik ki: az Ethernet kapcsolat mérete (1518 bájt) - Ethernet MAC fejrész (18 bájt) = 1500 bájt, majd vonjuk ki a PPPoE fejlécet (8 bájt) == 1492 bájt MTU. Ez a fejrész nem egy nagy dolog, de néha az ISP vagy a távoli szerver buta dolgokat csinál, és megzavarja a PPPoE vagy nem-1500 bájtos MTU-val rendelkező gépeket.

Erről a témáról több információ is található a weben. Specifikusan itt a téma egy nagyon jó bemutatása: mss-talk presentation (PDF). Itt van a teljes írott és más hasznos információ.

Az mind az RP, mind a PPoE klienseknél a "clamping" opció engedélyezéséhez, add hozzá a következő sorokat az /etc/ppp/pppoe.conf fájlhoz:

# Ha átjáróként üzemelő géped van, válassz "1412"-es értéket.
# Ez biztonságos bármilyen beállításhoz, de kicsivel több CPU-teljesítményt igényel.
#
  CLAMPMSS=1412
  

7.15.2. Az MSS Clamping engedélyezése IPTABLES-szel:

Amint fentebb említetted a PPPoE felhasználóknál, néhány ISP és WWW szerver kiszűri a kritikus ICMP csomagokat, mint az MTU útvonalfelderítés (Path Discovery). Emiatt sok felhasználó úgy találja, hogy a legtöbb Internetkiszolgáló működik, de mások nem vagy nagyon lassan. Szerencsére, a legutóbbi IPTABLES-hez hozzáadták a "PMTU clamping" támogatást, ami segíthet. Ha IPTABLES-t használsz, és belefutottál ebbe a dologba, próbáld meg a következő sor hozzáadását a rc.firewall-iptables szabályok végéhez. Megjegyzendő, hogy az IPCHAINS-ben nincs ilyen opció.

 iptables -I FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu 
 

Ha ez a sor hibát okoz, amikor újra lefuttatod a rc.firewall-iptables* szabályokat, akkor fel kell fejlesztened az IPTABLES verziódat arra, ami már tartalmazza a "TCPMSS" modult.

7.15.3. A MASQ szerver külső MTU-jának megváltoztatása

Ez a megoldás csak a BETÁRCSÁZÓ felhasználókra vonatkozik, mivel a PPPoE használói nem tudják NÖVELNI az MTU-t, mivel a PPPoE fejléc túlméretezett lenne.

Ennek a megoldásnak a használatához tudnod kell mennyi a jelenlegi MTU-ja az internet kapcsolatnak. Ehhez futtasd a "/bin/ifconfig" parancsot a MASQ szerveren. Most keresd meg a hálózati kapcsolatra vonatkozó fejezetet, és keresd meg benne az MTU-t. Ezt 1500-ra KELL állítani. Általában az Ethernet kapcsolatok alapesetben 1500-ra állítják be, de a soros / betárcsázó PPP kapcsolatoknál az alapérték 576.

7.15.4. Az MTU beállítása különböző operációs rendszereknél

Ha átállítod az ÖSSZES belső kliensgépet arra, hogy ugyanakkora MTU-t használjon, mint a kimenő Internet kapcsolatod MTU-ja (például 1492-t a PPPoE felhasználóknál), mindennek jól kell működnie, és ez a módszer néha a LEGHATÉKONYABB megoldás. Ez magában foglalja az ÖSSZES fent említett megoldást. Viszont rengeteg munkával járhat, ha sok belső géped van, sőt lehetetlen is lehet, ha nincs adminisztrációs jogod minden gépre.

A megvalósításhoz kövesd ezeket a lépéseket a megfelelő operációs rendszereknél.

A következő példák az MTU 1492-re való beállítását mutatják be a tipikus PPPoE-kapcsolatokhoz, néhány DSL- és kábelmodem-felhasználónak. Ajánlott a lehetséges LEGNAGYOBB érték használata minden kapcsolatnál, amely 128 Kb/s vagy gyorsabb. Megjegyzendő, hogy néhány PPPoE ISP igényelheti az MTU 1460-ra való állítását a megfelelő kapcsolódáshoz, a további csomagméret-növekedés miatt az ő belső hálózatán belül.

Az egyetlen valós ok a kisebb MTU használatára a kisebb lappangási idő, ami viszont az átvitel rovására megy. Bővebb részletekért lásd: http://www.ecst.csuchico.edu/~dranch/PPP/ppp-performance.html#mtu

Ha tudod, hogyan kell hasonló változtatásokat végezni más operációs rendszereken, mint az OS/2, MacOS stb., írj levelet: David Ranch -nek, hogy ezek is bekerülhessenek a HOGYANba.

7.15.4.1. Linux:

------------------------------------------
1. Az MTU bellítása változhat disztribúcióról disztribúcióra.

   Redhat: A különböző "ifconfig" bejegyzéseket kell szerkesztened a 
           /sbin/ifup parancsfájlban.

   Slackware: A különböző "ifconfig" bejegyzéseket kell szerkesztened a 
             az /etc/rc.d/rc1.inet fájlban.

2. Itt egy jó, minden disztribnél működő példa: szerkeszd az /etc/rc.d/rc.local
    fájlt és tedd a VÉGÉRE a következő sorokat:

        echo "Changing the MTU of ETH0"
        /sbin/ifconfig eth0 mtu 1492

     Írd át az "eth0" szöveget annak az eszköznek a nevére, ami a kimenő  
     fő kapcsolat az internettel.

3. A haladó szintű beállításokhoz, mint a "TCP Receive Window" és hasonlók, 
    részletes példákért arról, hogyan szerkeszd a megfelelő hálózati parancsfájlokat 
    az adott Linux-terjesztésnél, lásd a
    http://www.ecst.csuchico.edu/~dranch/LINUX/index-linux.html#trinityos
    16. fejezetét.
------------------------------------------

7.15.4.2. MS Windows 2000

------------------------------------------
1. BÁRMILYEN változtatás a Regisztrációs Adatbázisban kockázatos dolog, de egy
    biztonsági másolattal kevésbé veszélyes. Csak SAJÁT FELELŐSSÉGEDRE cselekedj.

2. A Start-->Run(Futtatás) menüpontját választva indítsd el a RegEdit programot.

3. A Registry-->Export Registry File-->Save segítségével mentsd a
   regisztrációs adatbázist egy biztonságos helyre.

4. Keressük meg az alábbi kulcsot:

   [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Inter
faces\<ID for Adapter>

    Minden ID-adapternek alapértelmezett kulcsa van a DNS, IP-cím, alapértelmezett 
    átjáró, hálózati maszk számára. Keresd meg azt, amelyik a hálózati kártyádhoz 
    tartozik.

5. Hozd létre a következő bejegyzést:

      type=DWORD
      name="MTU"		(NE írd be az idézőjeleket.)
      value=1492 (Decimális)      (NE írd be a "(Decimális)" szöveget.)

http://support.microsoft.com/support/kb/articles/Q120/6/42.asp?LN=EN-US&SD=gn&FR=0

 *** Ha tudod, hogyan kell az MSS, TCP-ablakméret és a TTL-paramétereket
 *** megváltoztatni az NT 2000-ben, küldj e-mailt a dranch@trinnet.net címre,
 *** hogy benne lehessen ebben a leírásban.

5. Indítsd újra a gépet a változások érvényre juttatásához.
------------------------------------------

7.15.4.3. MS Windows NT 4.x

------------------------------------------
1. BÁRMILYEN változtatás a Regisztrációs Adatbázisban kockázatos dolog, de egy
    biztonsági másolattal kevésbé veszélyes. Csak SAJÁT FELELŐSSÉGEDRE cselekedj.

2. A Start-->Run(Futtatás) menüpontját választva indítsd el a RegEdit programot.

3. A Registry-->Export Registry File-->Save segítségével mentsük a
   regisztrációs adatbázist egy biztonságos helyre.

4. Hozz létre el a következő kulcsokat a regisztrációs fákban, válasszunk a két lehetséges 
    fa közül. A különböző bejegyzések a különféle hálózati eszközök számára vannak, 
    például a betárcsázó (PPP), Ethernet-kártyák, PPTP VPN-ek stb.

   http://support.microsoft.com/support/kb/articles/Q102/9/73.asp?LN=EN-US&SD=gn&FR=0


   [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Parameters\Tcpip]
                     és
   [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\<Adapter-name>\Parameters\Tcpip]

      Cseréljük ki az "<Adapter-Name>" szöveget a megfelelő kimeneti LAN-eszköz nevével.

         type=DWORD
         name="MTU"              (NE írd be az idézőjeleket)
         value=1492 (Decimal)    (NE írd be a "(Decimal)" szöveget)


 *** Ha tudod, hogyan kell az MSS, TCP-ablakméret és a TTL-paramétereket
 *** megváltoztatni az NT 4.x-ben, küldj e-mailt a dranch@trinnet.net címre,
 *** hogy benne lehessen ebben a leírásban.

5. Indítsd újra a gépet a változások érvényre juttatásához.
------------------------------------------

7.15.4.4. MS Windows 98:

------------------------------------------
1. BÁRMILYEN változtatás a Regisztrációs Adatbázisban kockázatos dolog, de egy
    biztonsági másolattal kevésbé veszélyes. Csak SAJÁT FELELŐSSÉGÜNKRE cselekedjünk.

2. A Start-->Run(Futtatás) menüpontját választva indítsd el a RegEdit programot.

3. Mielőtt folytatnád, készíts biztonsági másolatot a regisztrációs adatbázisról. 
    Ehhez másold a \WINDOWS könyvtárból a "user.dat" és "system.dat" fájlokat 
    egy biztonságos helyre. Meg kell említeni, az előbb említett 
    "Regedit: Registry-->Export Registry File-->Save a copy of your registry" 
    módszer esetén visszaállításnál  a program csak a ÖSSZEFÉSÜLI a  dolgokat,
    és NEM helyettesíti az akuális adatbázist a mentéssel.

4. Keresd végig az összes Regisztrációs Adatbázisbeli fát, amely "n"-re végződik 
    (pl. 0007) és van egy "IPAddress" nevű bejegyzése, ami tartalmazza a hálózati 
    kártyád IP-címét. Ez alatt a kulcs alatt add hozzá a következőt:

   A http://support.microsoft.com/support/kb/articles/q158/4/74.asp oldal alapján:

     [Hkey_Local_Machine\System\CurrentControlset\Services\Class\NetTrans\000n]
         type=STRING
         name="MaxMTU"            (NE írd be az idézőjeleket.)
         value=1492 (Decimális)   (NE írd be a "(Decimális)" szöveget.)

5. Szintén megváltoztathatod a "TCP Receive Window" értékét, ami néha ALAPOSAN
    megnöveli a hálózat sebességét. Ha azt veszed észre, hogy az adatátvitel 
    éppenséggel csökkent, állítsd vissza az eredeti értékeket, és indítsd újra
    a rendszert.


     [HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\VxD\MSTCP]

        type=STRING
        name="DefaultRcvWindow"    (NE írd be az idézőjeleket.)
        value=32768 (Decimal)      (NE írd be a "(Decimális)" szöveget.)

        type=STRING
        name="DefaultTTL"          (NE írd be az idézőjeleket.)
        value=128 (Decimal)        (NE írd be a "(Decimális)" szöveget.)

6. Indítsd újra a gépet a változások érvényre juttatásához.
------------------------------------------

7.15.4.5. MS Windows 95:

------------------------------------------
1. BÁRMILYEN változtatás a Regisztrációs Adatbázisban kockázatos dolog, de egy
    biztonsági másolattal kevésbé veszélyes. Csak SAJÁT FELELŐSSÉGEDRE cselekedj.

2. A Start-->Run(Futtatás) menüpontját választva indítsd el a RegEdit programot.

3. Mielőtt folytatnád, készíts biztonsági másolatot a regisztrációs adatbázisról. 
    Ehhez másold a \WINDOWS könyvtárból a "user.dat" és "system.dat" fájlokat 
    biztonságos helyre. Meg kell említeni, az előbb említett 
    "Regedit: Registry-->Export Registry File-->Save a copy of your registry" 
    módszer esetén visszaállításnál  a program csak a ÖSSZEFÉSÜLI a  dolgokat,
    és NEM helyettesíti az akuális adatbázist a mentéssel.

4. Keresd végig az összes Regisztrációs Adatbázisbeli fát, amely "n"-re végződik 
    (pl. 0007) és van egy "IPAddress" nevű bejegyzése, ami tartalmazza a hálózati 
    kártyád IP-címét. Ez alatt a kulcs alatt add hozzá a következőt:


   A http://support.microsoft.com/support/kb/articles/q158/4/74.asp alapján:

     [Hkey_Local_Machine\System\CurrentControlset\Services\Class\NetTrans\000n]

         type=DWORD
        name="DefaultRcvWindow"    (NE írd be az idézőjeleket.)
        value=32768 (Decimal)      (NE írd be a "(Decimális)" szöveget.)

        type=DWORD
        name="DefaultTTL"          (NE írd be az idézőjeleket.)
        value=128 (Decimal)        (NE írd be a "(Decimális)" szöveget.)

5. Szintén megváltoztathatod a "TCP Receive Window" értékét, ami néha ALAPOSAN
    megnöveli a hálózat sebességét. Ha azt veszed észre, hogy az adatátvitel 
    éppenséggel csökkent, állítsd vissza az eredeti értékeket, és indítsd újra
    a rendszert.


     [HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\VxD\MSTCP]
        type=DWORD
        name="DefaultRcvWindow"    (NE írd be az idézőjeleket.)
        value=32768 (Decimal)      (NE írd be a "(Decimális)" szöveget.)

        type=DWORD
        name="DefaultTTL"          (NE írd be az idézőjeleket.)
        value=128 (Decimal)        (NE írd be a "(Decimális)" szöveget.)


6. Indítsd újra a gépet a változások érvényre juttatásához.
------------------------------------------