عناوين



 اخبار


برگزیده


امنيت


مقاله


گزارش و گفتگو


ياداشت


اخبار شرکتها


همايشها



فراخوانها و آئين نامه ها


عکس و ویدئو

 
  خدمات



نسخه موبایل



خروجی پیامک



خروجی RSS



عضویت در خبرنامه ها

 

راهنما
تبليغات


 

سفارش آگهی
مقاله




لینک ثابت || اضافه شده توسط آرش کریم بیگی|| نسخه قابل چاپ || بازگشت به صفحه اصلی || آرش کریم بیگی

برای عضویت در خبرنامه پیامکی ایستنا اینجا را کلیک کنید. برای عضوریت در خبرنامه روزانه ایمیلی ایستنا؛ نشانی پست الکترونیکی خود را در فرم زیر وارد نمایید. پس از آن به صورت خودکار ایمیلی به نشانی شما ارسال میشود، برای تکمیل عضویت خود و تایید صحت نشانی پست الکترونیک وارد شده، می بایست بر روی لینکی که در این ایمیل برایتان ارسال شده کلیک نمایید. پس از آن پیامی مبنی بر تکمیل عضویت شما در خبرنامه روزانه  ایمیلی ایستنا نمایش داده میشود.

جمعه، 21 بهمنماه 1384

08:27 PM

February 10, 2006


تنظیمات TCP/IP در لینوكس‌


نوشته: مسعود سعیدی
ناشر: ماهنامه شبکه - فروردین و اردیبهشت ۱۳۸۴ شماره 53

اشاره :

پروتكل TCP/IP به عنوان یكی از پركاربردترین پروتكل‌های شبكه‌ای، بسته به سیستم‌عاملی كه از آن استفاده می‌كند، به تنظیمات خاص خود نیاز دارد. در متن حاضر به‌طور مفصل به این تنظیمات با استفاده از ابزارهای مختلف خواهیم پرداخت.






قبل از تصمیم‌گیری برای نصب و راه‌اندازی TCP/IP بر روی لینوكس باید از آماده بودن فایل سیستم برای این كار مطمئن شوید. برای این‌كار كافی است چند گام ساده را طی كنید. نخست آن‌كه باید از نصب بودن نرم‌افزار شبكه اطمینان بیابید. این موضوع در زمان نصب لینوكس از كاربر سوال می‌شود و در اكثر مواقع و در بیشتر توزیع‌های لینوكس به‌صورت پیش‌فرض انتخاب شده است.

توجه داشته باشید كه دایركتوری proc/ یكی از مكان‌هایی است كه اطلاعات شبكه‌ای لینوكس در آنجا ذخیره‌می‌شود. وجود این دایركتوری یكی از نشانه‌های نصب بودن امكانات شبكه‌ای در لینوكس است.
زمانی كه از محتویات دایركتوری proc/ لیست می‌گیرید (یعنی با دستور cd به این مسیر بروید و سپس فرمان ls را اجرا كنید) چیزی مشابه  تصویر شكل 1 را مشاهده خواهید كرد.








شكل 1

درصورتی‌كه دایركتوری proc/ در سیستم‌شما موجود نباشد (یادآوری می‌كنیم كه برای این‌كار لازم است كه از مجوز‌های root برخوردار باشید)، به احتمال زیاد ناگزیر خواهید بود كه كرنل سیستم‌عامل خود را مجدداً كامپایل كرده و گزینهproc/ را برگزینید. به این منظور باید به دایركتوری سورس لینوكس یعنی usr/src/linux/ تغییر مسیر داده و روتین تنظیمات (یا configuration) كرنل را اجرا كنید. دستور این كار چنین است: Make config
اگر در محیط گرافیكی X-windows ‌كار می‌كنید، می‌توانید از ابزارهای گرافیكی استفاده كرده و دستور مقابل را تایپ كنید: Make xconfig 
                               
در زمان كامپایل كرنل از شما سوال می‌شود كه آیا به پشتیبانی از procfs نیاز دارید یا خیر. به این مورد پاسخ مثبت دهید. همین موضوع باعث ساخته شدن دایركتوری proc/ در سیستم شما خواهد شد.
دایركتوری proc/ همیشه در زمان راه‌اندازی لینوكس به‌طور خودكار mount می‌شود. وجود خطی مشابه با خط زیر در فایل etc/fstab/ شرایط mount خود كار این دایركتوری را فراهم می‌كند None   /proc     proc    defaults                                       .
گام بعدی كه قبل از نصب و راه‌اندازی TCP/IP لازم است برداشته شود، انتخاب نام میزبان (hostname) سیستم است. برای این‌كار می‌توان از دستور مقابل استفاده كرد :
 Hostname ...name ...                                                                                         
در دستور بالا، به‌جای name نام مورد نظر خود را برای میزبان قرار دهید. در اینجا ذكر این نكته ضروری است كه اگر سیستم شما در شبكه قرار دارد و در نتیجه دارای یك نام domain كامل هستید، می‌توانید در دستور فوق از نام كامل سیستم و Domain استفاده كنید. مثلاً: Hostnameyourname.yourdomain.com              
در هر صورت یك ورودی جدید در فایل etc/hosts/ ساخته خواهد شد كه منعكس كننده نتیجه اجرای دستور بالا است. توصیه می‌شود كه از این موضوع برای اطمینان از صحت عملكرد دستور قبلی حتماً استفاده كنید.

نكته دیگری كه باید قبل از راه‌اندازی TCP/IP بر روی سیستم خود در نظر بگیریدآن است كه باید یك نشانی IP برای شناسایی سیستم خود در شبكه انتخاب كنید. به‌طور معمول فایل etc/netyworks/ شامل تمامی نام‌ها و نشانی‌هایی است كه سیستم شما در شبكه با آن‌ها سروكار دارد. نرم‌افزارهای كاربردی از اطلاعات موجود در این فایل برای تعیین نشانی‌های مقاصد منابع موجود در شبكه استفاده می‌كنند. در فایل etc.networks دو ستون برای فهرست كردن نام سمبولیك و نشانی‌ IP منابع شبكه در نظر گرفته شده است. در بسیاری از موارد در فایل‌هایetc/networks/ مدخلی برای درایورloopback  وجود دارد. (نشانی loopback از طرف برخی از نرم‌افزارها برای اشاره به سیستم خودی مورد استفاده قرار می‌گیرد) در زیر نمونه‌ای از بخشی از یك فایلetc/networks/ آورده شده است:
zoopback            127.0.0.0  
Merlin-net      147.154.12.0     
BNR             47.0.0.0   

در نمونه فایل فوق،‌ دو شبكه به همراه نشانی‌های ‌IP آن‌ها ثبت شده‌اند. توجه داشته باشید كه در نشانی‌های IP  فقط بخش شبكه در نشانی IP ذكر شده است و به‌جای بخش انتهایی نشانی‌ها، صفر قرار داده شده است.


رابط شبكه‌
یكی از كارهای دیگری كه در شبكه‌بندی لینوكس باید انجام شود، تعیین رابط شبكه برای سیستم‌عامل و دیگر ابزارهای نرم‌افزاری آن است. این‌كار توسط دستور ‌ ifconfig انجام می‌شود. اجرای این دستور به همراه ذكر نشانی IP باعث می‌شود تا لایه شبكه كرنل لینوكس بتواند با رابط شبكه ارتباط برقرار كند. بدین ترتیب سیستم‌عامل می‌تواند از طریق رابط شبكه به تبادل اطلاعات با دنیای خارج بپردازد.

كاربر باید به ازای هر یك از درایورهای شبكه، رابط‌های شبكه مربوط را برپاكند. بدین معنی كه باید برای هر یك از درایور‌های loopback ،‌ppp و یا اینترنت، یك‌بار فرمان ifconfig اجرا شود. ترتیب كار به‌صورت زیر است:

Ifconfig interface-name IP-address
در دستور بالا، به‌جای interfacename باید نام اختصاری درایور قرار داده شود. (مثلاً در مورد loopback از lo و ppp  یا eth برای درایورهای مربوطه به ppp  یاethernet)

بعد از آن‌كه دستور ‌ ifconfig اجرا شد و در نتیجه رابط شبكه فعال گردید،‌ كاربر باید از دستور route برای ایجاد و یا حذف مسیرها در جدول مسیر‌یابی (routing table) كرنل استفاده كند. این عمل از آن جهت اهمیت دارد كه سیستم بتواند توسط جدول مسیر‌یابی، دیگر منابع شبكه را بیابد. از دستور فوق به‌صورت زیر استفاده می‌شودُ‌:
Route add\dell IP_address
توجه داشته باشید در هر مورد استفاده از دستور فوق، باید یكی از حالات add یا del بكار برده شوند.
در صورتی‌كه بخواهید محتویات فعلی جدول مسیر‌یابی سیستم را مشاهده كنید، می‌توانید به‌ این صورت عمل كنید: Route$ 

(یعنی استفاده از دستور route بدون هیچ سوئیچ). اگر این دستور را اجرا كنید، ممكن است چیزی شبیه متن زیر ببینید. (در این مثال، سیستم مورد نظر فقط دارای مدخل درایور loopback بوده است)






 route$
Kernel Routing table
Destination Gateway Genmask Flags MSS Window Use Iface
Loopback  *255.0.0.0U1936   0    16   |o


یادآوری می‌كنیم كه یك روش دیگر نمایش داده‌های جدول مسیر‌یابی، استفاده از دستور مقابل  است: 
Netstat    -rn                                                                       















كد1


كد2


كد3

در دستور فوق، سوئیچ r باعث نمایش جدول مسیر‌یابی و سوئیچ n منجر به نمایش نشانی‌های IP به‌جای اسامی نمادین می‌شوند. در جداول مسیر‌یابی، ستون‌هایی كه اهمیت دارند، ستون مربوط به نام مقصد مثلا ًloopback، ستون مربوط به ماسك مانند Genmask و نهایتاً ستون نام رابط شبكه هستند. شما می‌توانید توسط دستور route به همراه سوئیچn، داده‌های جدول مسیر‌یابی را به‌صورتی مشاهده كنید كه در آن به‌جای اسامی سمبولیك، از نشانی‌های IP استفاده شده باشد. همان‌طور كه قبلاً اشاره شد، در شرایط معمول سیستم‌های مجهز به سیستم‌عامل لینوكس دارای یك رابط loopback و یك رابط شبكه نظیر اترنت هستند كه باید به‌ترتیب تنظیم شوند.


تنظیم رابط loopback 
همان‌طور كه قبلاً اشاره كردیم، رابط loopback توسط برخی از نرم‌افزارها برای كاركرد طبیعی مورد استفاده قرار می‌گیرد. از آن گذشته تعداد دیگری از نرم‌افزارهای كاربردی تحت لینوكس نیز از این رابط برای كاربردهای عیب‌یابی كمك می‌گیرند. یادآوری می‌كنیم كه نشانی IP یك رابط شبكه loopback به‌صورت 127.0.0.1 نوشته می‌شود و فایل etc/hosts/ باید یك ورودی برای loopback باشد.

در اینجا مناسب است كه خاطر نشان كنیم كه نشانی loopback را می‌توان به‌صورت‌های گوناگونی نوشت و اصولاً هر نشانی به فرم x)  127.x.x.x  به معنی عددی بین 0 تا 255  است) پذیرفتنی است. اینكه چرا عادت كرده‌ایم كه از نشانی 127.0.0.0 استفاده كنیم، فقط جنبه تاریخی دارد و در سیستم‌های یونیكسی اولیه چنین مرسوم بوده است.
 
در صورتی‌كه ورودی مربوط به رابط loopback در فایل etc/hosts/ ثبت نشده باشد، می‌توان به كمك ابزار ifconfig  به‌صورت زیر این مدخل را ایجاد كرد:
Ifconfing |o 127.0.0.0
برای مشاهده وضعیت رابط loopback در فایل etc/hosts/ می‌توانیم از دستور ifconfig  lo استفاده كنیم. كد شماره 1 خروجی و نتیجه اجرای دستور فوق را نشان می‌دهد.

پس از اجرای دستور بالا، نوبت می‌رسد به اضافه كردن درایور loopback به جدول مسیر‌یابی كرنل كه این‌كار با استفاده از دستور  route به صورت زیر امكان‌پذیر است:

Route               add                  127.0.0.0
Route               add                   localhost
برای بررسی درستی تنظیمات، می‌توانید از دستور ping به ‌شكل زیر كمك بگیرید:
Pinglocalhost
كد شماره 2 نتیجه اجرای دستور فوق است. در این مورد، روند اجرایی دستور ping توسط تركیب كلیدهای كنترل و C متوقف شده است. در صورتی‌كه نتیجه اجرای این دستور در سیستم شما منجر به خروجی مطلوب نشده باشد، بدین معنی است كه اوضاع صحیح نیست و باید فایل‌های configuration را مجدد بررسی و احتمالاً ویرایش نمایید.

تنظیم رابط اترنت
برای تنظیم رابط اترنت (مثلاً كارت شبكه)‌ هم می‌توانید همان مراحل قبلی را مجدد تكرار كنید. فقط توجه داشته باشید كه نام رابط شما چیزی مانند  eth0 یا eth1 است و نشانی IP را نیز باید به نشانی IP انتخابی خود تغییر دهید. در اینجا زمانی‌كه قصد اجرای دستور ifconfig را برای رابط شبكه دارید، نیازی به مشخص كردن ماسك شبكه نخواهید داشت. زیرا سیستم‌عامل می‌تواند مقدار پارامتر ماسك را به‌طور خودكار از نشانی‌ IP داده شده به‌دست آورد. به عنوان مثال می‌توانید برای ثبت نشانی 147.123.20.1 از یكی از خطوط زیر استفاده كنید:

Ifconfig       147.123.20.1             
 Ifocnrig        147.123.20.1         netmask    25.255.255.0       
برای بررسی صحت انجام عملیات می‌توانید بار دیگر از دستور  fconfig  eth0 استفاده كنید. كد شماره 3 نمونه‌ای از نتیجه اجرای این دستور را نمایش می‌دهد.








شكل 2

اگر به خروجی شكل 2 دقت كنید، متوجه می‌شوید كه نشانی Broadcast بر اساس نشانیIP سیستم محلی تنظیم شده است. این عمل از آن جهت توسط TCP/IP انجام می‌گیرد كه تمام سیستم‌های موجود در شبكه به یك‌باره در دسترس قرار گیرند. مقدار و اندازه Maximum Transfer Unit  هم به‌طور معمول بر اساس استانداردهای شبكه‌های اترنت، به مقدار حداكثر مجاز یعنی 1500 تنظیم  می‌شود.

همان‌طور كه می‌دانید، گام بعدی اضافه كردن نشانی اترنت به جدول مسیر‌یابی كرنل است. نشانی IP مورد نیاز برای همراهی در دستور route همان نشانی شبكه بدون ذكر پارامتر محلی است (یعنی به‌جای بخش آخر، از مقدار صفر استفاده می‌كنیم). برای آنكه تمام شبكه محلی را در یك نوبت پوشش دهیم، از گزینه net در دستور route كمك می‌گیریم. در نتیجه شكل استفاده از دستور route برای مثال ما، به‌صورت زیر خواهد بود:

Route   add  -net   147.123.20.0

این دستور تمامی  سیستم های موجود درشبكه محلی را كه توسط نشانی  147.123.20.0شناسایی می‌شوند، را به جدول مسیر‌یابی اضافه می‌كند. در صورتی‌كه از این دستور به‌شكل بالا استفاده نكنید، ناگزیر خواهید بود كه یكایك سیستم‌های موجود در شبكه را به‌صورت دستی به جدول مسیر‌یابی ا ضافه كنید.

روش دیگر آن است كه از فایل tc/networks/ فقط برای مشخص كردن بخش شبكه نشانی‌های IP شبكه استفاده كنیم. فایل tc/networks/ ممكن است شامل فهرست‌هایی از نام‌ها و نشانی‌های IP باشد. به عنوان مثال در صورتی‌كه در این فایل، ورودی مربوط به شبكه‌ای به‌نام foobarnet داشته باشیم، می‌توانیم تمام شبكه كمك دستور زیر به جدول مسیر‌یابی اضافه كنیم:

Route  add  foobar  -net
استفاده از فایل etc/networks‌/ این اشكال امنیتی را به همراه دارد كه به تمام سیستم‌های موجود در شبكه اجازه دسترسی و مجوز‌های یكسانی داده می‌شود.








شكل 3

پس از آن‌كه مسیر‌ها به جدول‌ مسیر‌یابی كرنل اضافه شدند، می‌توانید برای بررسی صحت تنظیمات، از دستور ping برای هر یك از سیستم‌های شبكه استفاده كنید. برای این‌كار یا باید نام سیستم‌مقصد را داشته باشید و یا آنكه نشانی IP آن‌را بدانید. این اطلاعات می‌توانند از طریق فایل etc/hosts/ و یا سرویسی مانند DNS به‌دست آیند.
پس از آنكه مراحل فوق به درستی انجام گردیدند، سیستم‌ لینوكس شما قادر خواهد بود كه به هر یك از سیستم‌های موجود در شبكه محلی توسط پروتكل TCP/IP متصل شود. در صورتی‌كه شبكه مورد نظر كوچك باشد، این عمل كفایت می‌كند و كار در همین‌جا خاتمه یافته تلقی می‌شود.
 
اما در شبكه‌های بزرگ‌تر و یا شبكه‌هایی كه از پروتكل‌های ویژه‌ای استفاده می‌كنند و یا در آن‌ها ‌Gateway به‌كار رفته باشد، نیاز به طی  مراحل دیگری وجود خواهد داشت. در صورتی‌كه قصد اضافه كردن سیستم‌های دیگری را به شبكه داشته باشید كه از TCP/IP استفاده می‌كنند، می‌توانید همانند مراحل قبلی، نام و نشانی‌IP های آن‌ها را به فایل etc/hosts/ اضافه كنید. در شكل 3 نمونه‌ای از یك فایل etc/hosts/ نمایش داده شده است كه در آن سیستم‌هایی به‌نام‌های godzilla و godzilla.tpci  ثبت شده‌اند. این سیستم‌ها كه می‌توانند مجهز به سیستم‌عاملی (كه از TCP/IP پشتیبانی می‌كند) باشند، قادر خواهند بود به‌كمك telnet یا ftp به سیستم لینوكسی ما متصل شوند (توجه داشته باشید كه كاربر چنین سیستم‌هایی فقط زمانی قادر خواهد بود به سیستم شما ‌ login كند كه مجوزهای مربوط را برای آنها تنظیم كرده باشید).  درصورتی‌كه نام یا نشانی یك سیستم راه‌دور در فایل etc/hosts/ ثبت شده باشد، شما قادر خواهید بود كه توسط ابزارهایی مانند telnet یا ftp با آن سیستم ارتباط داشته باشید.
 
Name service و Name resolver 
پروتكلTCP/IP از ورودی‌های فایلetc/hosts/ برای ترجمه اسامی به نشانی‌های IP استفاده می كند. به عنوان مثال، زمانی از نامی مانند darkstar استفاده می‌كنید، TCP/IPبه فایل etc/hosts/ مراجعه می‌كند تا نشانی سیستمی به‌نام darkstar را در آن بیابد. در صورتیكه چنین ورودی در این فایل موجود نباشد، شما قادر به اتصال چنین سیستمی نخواهید بود.

اما تصور كنید كه تعداد سیستم‌های موجود در شبكه زیاد باشند و شما قصد اتصال به تعداد بیشتری از سیستم‌ها را داشته باشیدو در این صورت تنظیم و اضافه كردن یكایك نام‌ها و نشانی‌های IP به جدول مسیر‌یابی كاری خسته‌كننده و زمان‌بر خواهد بود. سرویس BIND كه مخفف عبارت Berkeley Internet Name Domain Service  است برای حل این مشكل ایجاد شده است.

بعد‌ها BIND در DNS یا Domain Name System نیز پیاده‌سازی شد. در حال حاضر اكثر توزیع‌های لینوكس به BIND مجهز هستند و در بعضی از نسخه‌ها هم DNS از قبل پیاده‌سازی شده است. BIND و DNS هر دو مقوله‌های پیچیده‌ای هستند كه بسیاری از كاربران لینوكس را فراری می‌دهند. درصورتی‌كه شبكه شما به یك DNS سرور متصل باشد و یا آن‌كه قصد استفاده از سرور DNS  ISP را داشته باشید، نیازی به اجرای BIND بر روی سیستم خود نخواهید داشت. اما در عوض باید سیستم خود را به‌گونه‌ای تنظیم كنید كه قادر به استفاده از سرور DNS باشد. در چنین مواقعی، به‌جای آن‌كه نام‌ها و نشانی‌های یكایك سیستم‌های متصل به شبكه را به فایل etc/hosts/ اضافه كنید، كلاینت DNS و یا مجموعه‌ای از روتین‌های كتابخانه‌ای در لینوكس، فراخوانی می‌شوند و با استفاده از سرور DNS نام‌های مورد نظر را به نشانی‌های مربوطه آن‌ها ترجمه یا Resolve می‌كنند. Name Resolver توسط فایل etc/resolv.conf/ تنظیم می‌شود.

به‌طور معمول این فایل شامل راهنمای (directive) جستجو وراهنمای Name server است. راهنمای جستجو به‌شكل زیر به‌كار برده می‌شود:
 
در عبارت فوق، هر یك از domain‌ها توسط فهرستی از پسوند‌های دامنه‌ای جایگزین می‌شوند كه Name Resolverبه اسامی میزبانی اضافه می‌كند كه به‌صورت كامل مشخص نشده باشد. به عنوان مثال، به راهنمای جستجوی زیر توجه كنید:

Search  xyz.com  Us.xyz.com   europe.xyz.com
درصورتی‌كه نامی مانند
http://www.abc.com  به‌كار گرفته شده باشد، می‌گوییم كه این نام به‌صورت كامل بیان شده است (كه شامل abc.com  و پسوند نام میزبان http://www  است). در چنین وضعیتی، از راهنمای جستجو استفاده نخواهد شد. اما اگر یك سرویس TCP/IP  از نامی مانند www  استفاده كند كه به‌شكل كامل نیست، در این صورت راهنمای جستجو سعی خواهد كرد تا این نام را به ترتیب به صورت اسامی مشابه باhttp://www.xyz.com  و http://www.us.xyz.com  و . . . تعبیر كند.
سرور‌های DNS مورد استفاده Name Resolver توسط راهنمای nameserver مشخص می‌شود:
Nameserver  IPaddress

كه در آن پارامتر Ipaddress نشانی IP سرور DNS است. به عنوان مثال، در صورتی‌كه نخستین سرور DNS دارای نشانی IP برابر با  199.231.13.10 باشد، در این صورت راهنمای DNS به‌شكل زیر خواهد شد:
Nameserver 100.231.13.10   

در هر مورد می‌توان حداكثر می‌توان سه نشانی سرور DNS مشخص كرد كه هر یك دارای راهنمای nameserver  خود هستند و در یك خط ثبت می‌شوند.

مطلب دیگری كه می‌تواند توسط كاربر تنظیم شود، ترتیب مراجعه به DNS یا فایل etc/hosts/ در زمان ترجمه نام‌ است. بدین معنی كه كاربر می‌تواند با كمك فایل etc/nsswitch.conf/ انتخاب كند كه برای ترجمه نام، نخست به DNS مراجعه شود و سپس به فایل etc/hosts/ و یا به‌صورت برعكس.

در هنگام استفاده از سیستم‌های بزرگ و یا در زمانی كه قصد استفاده از تمام سرویس‌های اینترنتی در سیستم لینوكس خود داشته باشید، لازم خواهد بود كه مشخصه‌های BIND به‌درستی تنظیم شده باشند. خوشبختانه چنین تنظیمی فقط كافی است كه یك‌بار انجام شود. برای این‌كار به نرم‌افزار BIND نیاز خواهد بود كه در اكثر توزیع‌های جدید لینوكس پیش‌بینی شده است.


دروازه‌ یا Gateway 
زمانی كه دو یا چند شبكه به یكدیگر متصل می‌شوند، از Gateway استفاده می‌شود. Gateway ماشینی است كه به عنوان رابط بین چند شبكه عمل می‌كند و اطلاعات را بر اساس نشانی‌هایIP آن‌ها به شبكه‌های مربوطه هدایت و مسیر‌دهی می‌كند. زمانی كه قرار باشد یك سیستم لینوكسی به عنوان Gateway كار كند، باید چند تغییر در تنظیمات فایل‌های configuration شبكه اعمال شود.

برای آن‌كه بتوان از سرویس‌های یك سیستم دیگر به عنوان Gateway استفاده كرد، باید به جدول مسیر‌یابی، اطلاعاتی از Gateway داده شود. ساده‌ترین شكل استفاده از یك Gateway زمانی است كه یك Gateway قرار باشد شبكه‌ای را به اینترنت متصل سازد. این عمل توسط دستور زیر قابل تنظیم است:
Route   add   default   gw   netgate

در دستور بالا، netgate نام سیستمی در شبكه است كه قرار است به عنوان یك gateway به‌كار گرفته شود. این نام در دستور بالا  بعد از كلیدواژه gw ذكر می‌شود. معنی عبارت default در دستور بالا به این معنی است كه تمام سیستم‌های موجود در شبكه قادر به اتصال به اینترنت از طریق Gateway هستند.

در صورتی‌كه قصد ارتباط دادن دو شبكه توسط یك Gateway در بین باشد، باید نام شبكه دوم در فایل
 etc/networks/ قید شده باشد و در این صورت شكل نوشتاری دستور route به‌صورت زیر خواهد بود:
Route    add     big-corp       gw      gate-serv

در دستور فوق از سیستمی به‌نام gateserv برای دسترسی به شبكه‌ای به‌نام bigcorp می‌توان استفاده كرد. نكته دیگر آنكه اگر به همین‌جا اكتفا شود، كاربران فقط قادر خواهند بود كه اطلاعات را به سیستم‌های مقصد در شبكه دوم ارسال كنند و قابلیت دریافت اطلاعات از آن سیستم‌ها وجود نخواهد داشت. برای حل این مسئله لازم است كه در جداول مسیر‌یابی سیستم‌های شبكه دوم، تنظیماتی انجام شود.

اگر قصد استفاده از سیستم محلی خود را به عنوان ارتباط‌دهنده دو شبكه داشته باشید، باید سیستم خود را به دو كارت شبكه (یا دو اتصال PPP و یا SLIP ) مجهز كنید. فرض كنید كه قصد استفاده از سیستم خود را برای اتصال دو شبكه به‌نام‌های small-net و  big-net داشته باشیم و شرایط سخت‌افزاری این‌كار (دو كارت شبكه) فراهم شده باشد. نخستین گام آن است كه رابط‌های اترنت كارت‌های شبكه هر یك با نشانی‌های خودشان تنظیم شوند. به عنوان مثال، ممكن است سیستم شما در شبكه بزرگ‌تر دارای نشانی IP برابر با 163.12.34.36 باشد و در شبكه كوچك‌تر نشانی سیستم 147.123.12.1 باشد.

در این صورت لازم خواهد بود كه دو ورودی در فایل etc/hosts/ برای ساده‌تر عمل ترجمه نام (Name resolution)  ایجاد كنیم. مثلاً به این ترتیب:
merlin.big-net.com      merlin-iface1    163.12.34.36
merlin.small-net.com   merlin-iface2    147.123.12.1

در این مثال فرض شده است كه سیستم شما در هر دو شبكه دارای نام merlin است كه كاملاً قانونی است. در مورد فوق، اسامی رابط‌ها نیز به‌جهت سهولت قید شده‌اند.

پس از این مرحله، باید از فرمان ifconfig برای برقراری ارتباط بین رابط‌ها و اسامی‌های به‌كار رفته در فایل
 etc/hosts/ استفاده كنیم:
merlin-iface0Ifconfig    eth1
merlin-iface1Ifconfig    eth2

و نهایتاً لازم است كه جدول مسیر‌یابی را تغییر دهیم. برای این‌كار از دستورات زیر به‌صورت مشخص شده باید استفاده كنیم:
Route  add   big-net
Route add small-net

زمانی كه این مراحل به‌درستی انجام شوند، می‌توانید از سیستم خود به عنوان یك Gateway برای برقراری ارتباط بین دو شبكه استفاده كنید.


استفاده از ابزارهای گرافیكی برای تنظیمات رابط‌های شبكه‌
تا اینجا از دستوراتی استفاده كردیم كه تمام مراحل لازم برای ایجاد و تنظیمات شبكه را از ابتدای كار توصیف می‌كردند. زمانی كه لینوكسی راه‌اندازی می‌شود، به‌طور معمول نیازی به اجرای اسكریپت‌هایی نظیر اسكریپت‌های فوق را نخواهید داشت. علت این موضوع آن است كه چنین اسكریپت‌هایی به‌طور خودكار در زمان راه‌اندازی اجرا می‌شوند. اما اشكال كار در اینجا است كه این اسكریپت‌ها ممكن است از یك توزیع لینوكس به توزیع دیگری كمی تفاوت داشته باشند. به عنوان مثال، لینوكس‌هایی مانند slackware كه از اسكریپت‌هایی به‌سبك یونیكس BSD استفاده می‌كنند، با لینوكس‌هایی مانند RedHat یا Fedora كه از اسكریپت‌های به‌سبك یونیكس 4 VR پیروی می‌كنند، از نظر اسكریپت‌های shell، تفاوت دارند.

اما خوشبختانه، توزیع‌های لینوكس امروزی به همراه ابزارهای گرافیكی عرضه می‌شوند كه كار تنظیمات شبكه را تا حد بسیار زیادی تسهیل می‌كنند. این ابزارها به‌طور خودكار تغییرات و ویرایش‌های شما را در اسكریپت‌های راه‌اندازی اعمال می‌كنند.

یكی از نخستین ابزارهای گرافیكی تنظیمات لینوكس، netcfg نام دارد. برای راه‌اندازی این ابزار كافی است كه نام آن را از خط فرمان اجرا كنید. تصویر شماره 3 شكل ظاهر منوی استاراندارد این ابزار را نمایش می‌دهد. از این ابزار می‌توان برای تنظیم نام‌ها، میزبان‌ها، رابط‌ها و مسیر‌دهی كمك گرفت.


Linuxconf







شكل 4

ابزار بسیار قوی دیگر، linuxconf نام دارد كه می‌توان از آن برای تنظیمات شبكه و بسیاری از اعمال مدیریتی دیگر استفاده كرد. از آنجایی‌كه از این ابزار برای مسیر‌دهی و اعمال پیچیده دیگر استفاده می‌شود، فراگیری آن و كسب مهارت در آن كاملاً منطقی است. برای راه‌اندازی این ابزار هم می‌توانید به‌سادگی نام آن‌را از خط فرمان اجرا كنید. البته برنامه‌های گرافیكی میزكارهایی مانند KDE یا GNOME هم بسته به نسخه لینوكسی كه از آن استفاده می‌كنید، ممكن است پیش‌بینی آیكونی برای فراخوانی linuxconf را كرده باشند. در شكل شماره 4 ظاهر گرافیكی این ابزار دیده می‌شود


فهرست آخرین عناوین

 
    تبليغات  
 







 
  سفارش آگهی