سه شنبه, ۲۳ بهمن, ۱۴۰۳ / 11 February, 2025
مجله ویستا

تنظیمات IP و شبکه در لینوکس


تنظیمات IP و شبکه در لینوکس

در هر شبکه بطور معمول نخستین لایه یعنی سخت افزار از یک کارت شبکه یا اترنت تشکیل شده و برای اینکه این کارت بعنوان یک رابط در محیط شبکه بکار گرفته شود بایستی اولا آدرس واحدی تحت عنوان IP address به آن اختصاص یافته و ثانیا”بسته ها یا packet های اطلاعاتی برای رسیدن به این رابط مسیر دهی شوند که به این عمل routing گفته می شود

در هر شبکه بطور معمول نخستین لایه یعنی سخت افزار از یک کارت شبکه یا اترنت تشکیل شده و برای اینکه این کارت بعنوان یک رابط در محیط شبکه بکار گرفته شود بایستی اولا آدرس واحدی تحت عنوان IP address به آن اختصاص یافته و ثانیا”بسته ها یا packet های اطلاعاتی برای رسیدن به این رابط مسیر دهی شوند که به این عمل routing گفته می شود.

در اغلب توزیع های لینوکس راههای خاصی برای انجام تنظیمات رابط یا کارت شبکه گنجانده شده که در اینجا روش ساده استفاده از فرامین متنی در محیط shell بررسی میشود :

باید دانست که هسته یا کرنل سیستم عامل لینوکس بطور پیش فرض از یک رابط مجازی بعنوان یک ابزار مجازی برای ارتباط با خود سیستم استفاده می کند.

این ابزار مجازی بطور معمول IP ۱۲۷.۰.۰.۱ و نام localhost را برمی گزیند و در هنگام بوت سیستم بطور ازپیش تعریف شده فعال میگردد .

قسمت اصلی سخت افزار شبکه یک رایانه کارت شبکه network interface میباشد که در محیط گنو/لینوکس معمولا با اسامی eth۰ یا eth۱ و … بسته به تعداد کارتهای شبکه متصل به سیستم آدرس دهی و نامگذاری میشود.

برای تنظیم IP یک کارت شبکه بافرض اینکه این کارت اولین و تنها کارت شبکه نصب شده در سیستم است تنها چیزی که لازم داریم برنامه ifconfig (interface configure) میباشد و میبایست بعنوان مثال از دستور زیر در محیط shell با مجوز کاربر ریشه استفاده کنیم :

/sbin/ifconfig eth۰ ۱۹۲.۱۶۸.۳.۹ broadcast ۱۹۲.۱۶۸.۳.۲۵۵ netmask ۲۵۵.۲۵۵.۲۵۵.۰ #

همانطوریکه ملاحظه میشود در اینجا یک IP کلاس C شامل آی پی اختصاص یافته به کارت شبکه ۱۹۲٫۱۶۸٫۳٫۹ و یک پوشانه زیر شبکه کلاس c شامل ۲۵۵٫۲۵۵٫۲۵۵٫۰ به کارت شبکه ما eth۰ اختصاص می یابد . و آی پی broadcast نیز شامل IP خاصی است که کلیه کامپیوترهای شبکه به آن پاسخ میدهند و معمولا آخرین شماره آی پی یک کلاس شبکه میباشد .

در ادامه برای بررسی صحت عملیات انجام شده و عملکرد کارت شبکه از دستور ifconfig به تنهائی استفاده کرده و پاسخ سیستم را که چیزی مشابه زیر خواهد بود مشاهده میکنیم :

/sbin/ifconfig#

eth۰

Link encap:Ethernet HWaddr ۰۰:۰۰:E۸:۳B:۲D:A۲

inet addr:۱۹۲.۱۶۸.۳.۹ Bcast:۱۹۲.۱۶۸.۳.۲۵۵ Mask:۲۵۵.۲۵۵.۲۵۵.۰

UP BROADCAST RUNNING MULTICAST MTU:۱۵۰۰ Metric:۱

RX packets:۱۳۵۹ errors:۰ dropped:۰ overruns:۰ frame:۰

۵ TX packets:۱۳۵۶ errors:۰ dropped:۰ overruns:۰ carrier:۰

collisions:۰ txqueuelen:۱۰۰

Interrupt:۱۱ Base address:۰xe۴۰۰

Lo

Link encap:Local Loopback

۱۰ inet addr:۱۲۷.۰.۰.۱ Mask:۲۵۵.۰.۰.۰

UP LOOPBACK RUNNING MTU:۳۹۲۴ Metric:۱

RX packets:۵۳۱۷۵ errors:۰ dropped:۰ overruns:۰ frame:۰

TX packets:۵۳۱۷۵ errors:۰ dropped:۰ overruns:۰ carrier:۰

collisions:۰ txqueuelen:۰

دراین گزارش حتی آدرس سخت افزاری کارت شبکه eth۰ هم مشخص شده ۰۰:۰۰:E۸:۳B:۲D:A۲ که در نوع خود با توجه با سادگی دستورات داده شده نتایج جالبی به نظر میرسد .

در این مرحله کارت شبکه فعال گردیده و آماده بکار میباشد و چون هیچ چیزی وجود ندارد که به هسته لینوکس بگوید که کدام بسته اطلاعاتی ارسال شده برروی شبکه به کدام کارت شبکه ارائه شود میبایست در ادامه برای آدرس دهی routing اینترفیس مربوطه در شبکه از دستور زیر یا مشابه آن باتوجه به آی پی مورد نظر هر کاربر استفاده کرد :

/sbin/route add -net ۱۹۲.۱۶۸.۳.۰ netmask ۲۵۵.۲۵۵.۲۵۵.۰ eth۰ #

و سپس برای تست کردن این دستور از فرمان rout –n میتوان بهره گرفت که بایستی نتایج مشابه زیر را دربر داشته باشد :

# /sbin/route -n

Kernel IP routing table

Destination Gateway Genmask Flags Metric Ref Use Iface

۱۲۷.۰.۰.۰ ۰.۰.۰.۰ ۲۵۵.۰.۰.۰ U ۰ ۰ ۰ lo

۱۹۲.۱۶۸.۳.۰ ۰.۰.۰.۰ ۲۵۵.۲۵۵.۲۵۵.۰ U ۰ ۰ ۰ eth۰

شکل کامل دستورات مسیر دهی به شرح زیر میباشد که برای اختصار توضیحات بیشتر داده نمیشود :

# /sbin/route add -net netmask gw

یا به طور خلاصه :

# /sbin/route add default gw

# /sbin/route add -net ۰.۰.۰.۰ netmask ۰.۰.۰.۰ gw

این نتایج به این معناست که کلیه packet های دارای آدرس مقصد ۱۲۷٫۰٫۰٫۰ و زیر شبکه ۲۵۵٫۰٫۰٫۰ بایستی به اینترفیس مجازی سیستم یا localhost ارسال و کلیه packet ها با مقصد ۱۹۲٫۱۶۸٫۳٫۰/۲۵۵٫۲۵۵٫۲۵۵٫۰ میبایست به نخستین کارت شبکه سیستم eth۰ ارسال شوند .

بدیهی است که انجام این تنظیمات در هر بار راه اندازی سیستم کاری خسته کننده و ملال آور خواهد بود و به همین لحاظ کلیه توزیع کننده های لینوکس از روش startup scripting برای خودکار سازی این روند بهره جسته اند . شما میتوانید تنظیمات Ip و netmask و gateway و hostname و … سایر تنظیمات شبکه را در اسکریپتها و فایلهای راه انداز موجود در مسیرهای زیر مشاهده و بنا به دلخواه خود تنظیم نمائید :

برای کارت شبکه اول

/etc/sysconfig/network-scripts/ifcfg-eth۰

/etc/sysconfig/network

/etc/init.d/network

/etc/rc.d/init.d/network

برای کارت شبکه دوم

/etc/sysconfig/network-scripts/ifcfg-eth۱

نکته :

درتوزیعهای لینوکسی مثل دبیان debian linux مسیر فایلهای پیکربندی و اسکریپتها کمی متفاوت است که بطور اختصار در زیر آورده شده است :

/etc/network/interfaces

/etc/network/options

/etc/init.d/networking

نکته : Interface aliasing

اگر ما فقط یک کارت شبکه داشته باشیم و بخواهیم چندین شماره آی پی به آن اختصاص دهیم روش کار بسیارساده خواهد بود . برای اینکاراز دستور ifconfig استفاده کرده و کارت شبکه را به سادگی eth۰:n نامگذاری میکنیم و بجای حرف n هر عددی را از صفر با بالا میتوانیم اختصاص دهیم . و در این مورد محدودیتی در استفاده از دستور از نظر تعداد وجود ندارد و هرچند بار که بخواهیم میتوانیم آنرا تکرار و آی پی جدیدی را به کارت اختصاص دهیم .

مثالی برای شکل کلی دستورات به شرح زیرمیباشد :

/sbin/ifconfig eth۰:۰ ۱۹۲.۱۶۸.۴.۱ broadcast ۱۹۲.۱۶۸.۴.۲۵۵ netmask ۲۵۵.۲۵۵.۲۵۵.۰

/sbin/ifconfig eth۰:۱ ۱۹۲.۱۶۸.۵.۱ broadcast ۱۹۲.۱۶۸.۵.۲۵۵ netmask ۲۵۵.۲۵۵.۲۵۵.۰

/sbin/ifconfig eth۰:۲ ۱۹۲.۱۶۸.۶.۱ broadcast ۱۹۲.۱۶۸.۶.۲۵۵ netmask ۲۵۵.۲۵۵.۲۵۵.۰

بطور کلی اختصاص چند آدرس آی پی به یک اینترفیس شبکه در مواردی صورت میگیرد که یک کارت بخواهد همزمان با چند شبکه LAN ارتباط برقرار کند و نبایستی فراموش کرد که پس از اختصاص یک آی پی جدید بایستی مسیردهی صحیح به این شبکه های جدید یا همان routing بصورت فوق الذکر بدرستی صورت پذیرد .

صادق پناهی

به نقل از : مرتضی ترادیون

وب سایت : http://ICTsecurity.ir