OsxChangeMTU

נושא

כיצד לקבוע את ערך ה MTU יחד עם אתחול המערכת.

מערכת הפעלה רלוונטית

Mac OS X

תקציר

המאמר מדריך כיצד ליצור סקריפט הקובע את ערכי ה MTU יחד עם אתחול המערכת. תהליך זה חיוני בשימוש בשירותיהם של ספקי אינטרנט מסוימים.

פתרון

  1. פתחו את הטרמינל - ראו TerminalApp

  2. כתבו [[ltr(cd /Library)]] והקישו אנטר.

  3. כתבו mkdir StartupItems והקישו אנטר, המשיכו לשלב הבא גם במידה וקיבלתם שגיאה וגם אם לאו.

  4. כתבו cd StartupItems והקישו אנטר

  5. כתבו mkdir MTU והקישו אנטר.

  6. כתבו cd MTU והקישו אנטר.

  7. כתבו pico MTU והקישו אנטר.

  8. בעורך pico שנפתח הדביקו את הקוד הבא.

[[ltr]]

#!/bin/sh

. /etc/rc.common

##
# Configure a network interface MTU setting
##
#
# This script will set the MTU setting for the specified interface(s)
#
# The name of the interface (ex. en0) must be edited to match the interface
# to which the MTU setting should be applied
#
##

StartService ()
{
ConsoleMessage "Configuring MTU"

### uncomment lines and change the value following 'mtu' as appropriate

if [ "${MTU:=-NO-}" = "-YES-" ]; then

# /sbin/ifconfig en0 mtu 1490
# /sbin/ifconfig en1 mtu 1490

fi

}

StopService ()
{
return 0
}

RestartService ()
{
return 0
}

RunService "$1" 

[[rtl]]

לאחר העתקת הקוד המשיכו לפי השלבים הבאים:

  1. התאימו את שורות ה /sbin/ifconfig מתוך הקוד לצורכיכם ובטלו להם את ההערות בהתאם

    • (!) שורות המתחליות בתו # הן שורות ההערה, בטיול הסימן # הופך אותן לזמינות. (!) en0 ו en1 הן "הכתובות" המקשרות בן הקוד לריכיבי הרשת השונים, כמובן שיכולים להיות גם מייצגים נוספים. en0 למשל הוא ברוב המקרים הכתובת המייצגת של כרטיס הרשת הפנימי, במצב כזה השורה הזו [[ltr(/sbin/ifconfig en0 mtu 1490)]] קובעת את ערך ה MTU ל 1490 עבור כרטיס הרשת הפנימי. אך לא תמיד en0 הוא המייצג לכרטיס הרשת הפנימי ולא תמיד אנו מעונינים לקבוע את הערך דווקא להתקן זה. יש לברר את המייצג להתקן לו רוצים לקבוע את ערך ה MTU ב NetwrokUtility (Applications/Utilities) בתוך ה Info Tab.

  2. לאחר סיום התאמת הקובץ שימרו אותו בעזרת קיצור המקשים Control+O וצאו מעורך pico ע"י הקשת Control+X.

  3. כעת כתבו בטרמינל chmod 755 MTU והקישו אנטר.

  4. כתבו pico StartupParameters.plist והקישו אנטר.

  5. בעורך pico שנפתח העתיקו את הקוד הבא

[[ltr]]

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
        <key>Description</key>
        <string>Can set MTU</string>
        <key>OrderPreference</key>
        <string>None</string>
        <key>Provides</key>
        <array>
                <string>MTU</string>
        </array>
        <key>Requires</key>
        <array>
                <string>Network Configuration</string>
        </array>
</dict>
</plist> 

[[rtl]]

  1. כתבו בטרמינל chmod 755 StartupParameters.plist והקישו אנטר.

  2. כעת כתבו sudo pico /etc/hostconfig והקישו את סיסמאת המשתמש שלכם.

  3. כאשר עורך pico נפתח, הוסיפו את השורה הבאה בתחתית הקובץ

[[ltr]]

MTU=-YES-

[[rtl]]

שימרו את הקובץ ע" הקשת Control+O וצאו מעורך pico ע"י הקשת Control+X.

כעת בכל הפעלה מחדש של המחשב יקבעו ערכי ה MTU לפי הערכים שהתאמתם.

הערות

  1. ערך ה MTU מתאפס גם לאחר תהליך זה בכל שינוי Location, מעבר המחשב למצב Sleep, שינוי מצבם של התקני הרשת הרלוונטים. כדי לקבוע את ערכי ה MTU לפי ההגדרות שהתאמתם, מבלי הפעיל מחדש את המחשב יש להקליד את שורת הקוד הבאה בטרמינל:

[[ltr]]

sudo SystemStarter start MTU 

[[rtl]]

  1. אם מסיבה כלשהי יש לבטל את הרצת הסקריפט:

    1. פתחו טרמינל והקלידו sudo pico /etc/hostconfig והקישו אנטר.

    2. הקישו את סיסמאת המשתמש שלכם והקישו אנטר.

    3. שנו את השורה האחרונה - זו שהוספנו מ MTU=-YES- ל MTU=-NO-.

    4. שמרו את הקובץ ע"י הקשת Control+O וצאו מעורך pico ע"י הקשת Control+X.


דף זה הינו תרגום חופשי של [WWW] המסמך הרלוונטי ב AppleCare Kowledge Base


דפים קשורים

MacMacCare

קטגוריות

קטגוריה: פתרון תקלות, קטגוריה: אינטרנט.

תרמו לדף זה

Mano

last edited 2003-08-01 09:27:03 by 80