COMPUTER
Hardware-software-windows-network-short stories 
قالب وبلاگ

 مقدمه
در مواقعی که در یک شبکه فعالیت می‌کنید، گاهی این اتفاق می‌افتد که نیاز به روشن کردن سیستم از راه دور دارید، البته بسیاری مواقع افراد به جای روشن کردن از راه دور عکس قضیه را عملی می‌کنند یعنی کامپیوتر را برای تمام مدت روشن می‌گذارند، چنین عملی باعث می‌شود تا افرادی که مجاز به دسترسی نیستند مدت زمان بیشتری برای دسترسی به سیستم داشته باشند. اما آیا راهی برای روشن کردن سیستم از راه دور وجود دارد؟!
بسیاری از کاربران هنگامی که یک کارت شبکه خریداری می‌کنند در دفترچه‌ی راهنما یا برروی جعبه‌ی کارت شبکه "Wake On Lan" را دیده‌اند.در این مقاله قصد دارم تا شما را با روش استفاده از این قابلیت در سیستم گنو/لینوکس آشنا کنم. آنچه شمانیاز خواهید داشت یک کارت شبکه‌ که از قابلیت «Wake on Lan» پشتیبانی کند و روشی برای ارسال سیگنال برای چنین کارت شبکه‌ای است.
بسیاری از کارت‌های شبکه امروزی از قابلیت «WakeOn Lan» پشتیبانی می‌کنند، اگر کارت شبکه‌ی شما «on-board» است، به دفترچه راهنمای مادربورد خود مراجعه کنید، اغلب مادربوردهای جدید درای کارت شبکه‌هایی با امکان «Wake On Lan» هستند. برای فعال کردن این قابلیت در چنین مادربوردهایی کافیست در زمان بالا آمدن سیستم وارد قسمت تنظیم BIOS شوید و در قسمت «Power Management» گزینه‌ها‌ی «wakeonlan» یا «netboot» یا «wake onring events» را جستجو کنید. بسته به نوع مادربورد (نوع چپ‌ست بایوسی که در آن استفاده شده است) یکی از گزینه‌های بالا برای فعال کردن قابلیت Wake on Lan استفاده خواهند شد.
۱) بسته‌های جادویی
برای روشن کردن یک کامپیوتر از راه دور باید از طریق یک نرم افزار یک پیغام برای کارت شبکه بفرستید. این پیغام‌ها را «بسته‌های جادویی شبکه» یا «Magic Network Packets» می‌نامند. برای استفاده از از این بسته‌های جادویی همان‌طور که اشاره کردیم نیاز به یک کارت شبکه با قابلیت Wake on Lan و نیز برنامه‌ای برای ارسال این بسته‌ها در شبکه دارید. نیازهای سخت افزاری به کارت شبکه‌ی شما بسته است. اما برنامه‌ای که این بسته‌ها را ارسال کند و بتوانید از طریق آن این قابلیت را مدیریت کنید را به سادگی می‌توانید در توزیع خودتان پیدا کنید. برای این کار من از برنامه‌های "ethtool" و"wakeonlan" استفاده کرده‌ام. البته می‌توانید از "etherwake" به جای "wakeonlan" استفاده کنید.
۲) اجرا
برای نصب برنامه‌های ذکر شده می‌توانید در توزیع‌هایی که بر اساس دبیان هستند از دستور "apt-get" استفاده کنید، اگر از SuSE استفاده می‌کنید از YaST و در سایر توزیع‌ها از مدیر بسته‌های همان توزیع استفاده کنید. پس از نصب برنامه‌ی ethtool برای بررسی وضعیت در خط فرمان دستور زیر رامی‌نویسیم:
root@tux:~# ethtool eth۰
Settings for eth۰:
Supports Wake-on: g
Wake-on: d
Link detected: yes

در اینجا "g" به این معناست که قابلیت wakeonlan در کارت شبکه‌ی شما وجود دارد اما "d" در خط پایینی فعال نبودن این قابلیت را اعلام می‌کند. برای فعال کردن بسته‌های جادویی شبکه دستور زیر را به کار می‌بریم:
root@tux:~# ethtool -s eth۰ wol g
برای اطمینان از این که این قابلیت فعال شده است می‌توانید دستور اول را دوباره وارد کنید :
root@tux:~# ethtool eth۰
Settings for eth۰:
Supports Wake-on: g
Wake-on: g
Link detected: yes

دومین "g" که در خط "Wake-on: g" آمده است به معنی فعال بودن قابلیت کار با بسته‌های جادویی شبکه است.
دیگر مطمئن هستیم که این قابلیت فعال شده، حال به آدرس کامپیوتر مورد نظر در شبکه نیاز داریم. طبیعی است که آدرس کامیپیوتر مقصد برای روشن کردن آن نیاز است. در اصل ما به آدرس MAC کامپیوتر مورد نظر نیاز داریم. برای اطلاع از این آدرس کافیست در کامپیوتر مقصد دستور ifconfig را اجرا کنید:
tux@target:~$ /sbin/ifconfig
eth۰ Link encap:Ethernet HWaddr FF:AA:BB:CC:DD:EE
inet addr:۱۹۲.۱۶۸.۰.۱ Bcast:۱۹۲.۱۶۸.۰.۲۵۵ Mask:۲۵۵.۲۵۵.۲۵۵.۰
inet۶ addr: fe۸۰::۲۰a:e۶ff:fef۶:a۳f۴/۶۴ Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:۱۵۰۰ Metric:۱
RX packets:۲۲۱۸۳۹۰ errors:۰ dropped:۰ overruns:۰ frame:۰
TX packets:۳۰۹۸۴۴۰ errors:۰ dropped:۰ overruns:۰ carrier:۰
collisions:۰ txqueuelen:۱۰۰۰
RX bytes:۱۶۲۴۰۰۸۵۷۸ (۱.۵ GiB) TX bytes:۱۳۶۸۳۱۰۶۶۱ (۱.۲ GiB)
Interrupt:۱۰ Base address:۰xd۴۰۰

در اینجا FF:AA:BB:CC:DD:EE آدرس MAC است.اگر کامپیوتر مقصد در دسترستان نیست برای پیدا کردن آدرس MAC آن کافیست ابتدا به آن کامپیوتر "ping" کنید،سپس به "arp cache" سری بزنید. برای نمونه اگر در شبکه‌ی من ماشینی با نام sun.my.flat وجود داشته باشد و بخواهم آدرس MAC آن را به دست بیاورم در خط فرمان تایپ می‌کنم:
gnu@myflat:~$ ping -c ۱ sun
PING sun.my.flat (۱۹۲.۱۶۸.۱.۱) ۵۶(۸۴) bytes of data.
۶۴ bytes from sun (۱۹۲.۱۶۸.۱.۱): icmp_seq=۱ ttl=۶۴ time=۰.۲۰۲ ms
--- sun.my.flat ping statistics ---
۱ packets transmitted, ۱ received, ۰% packet loss, time ۰ms
rtt min/avg/max/mdev = ۰.۲۰۲/۰.۲۰۲/۰.۲۰۲/۰.۰۰۰ ms
gnu@myflat:~$ /usr/sbin/arp sun
Address HWtype HWaddress Flags Mask Iface
sun ether FF:AA:BB:CC:DD:EE C eth۰

دستور "arp" در اینجا برای یافتن آدرس MAC استفاده شده است. فقط توجه داشته باشید که شما باید ابتدا ماشین مقصد را از طریق IP یا نام ماشین ping کنید و سپس از دستور "arp" استفاده کنید. بسیار خوب، پس از آموختن آدرس MAC کامپیوتر مقصد حالا می‌توانید از راه دور روشن یا خاموشش کنید.برای این کار به برنامه‌ای نیاز دارید تا بسته‌های "wakeonlan" را ارسال کند. برنامه‌های مشهور "etherwake" و "wakeonlan" هستند که در اینجا من از "wakeonlan" استفاده کرده‌ام. یکی از مزایای "wakeonlan" امکان استفاده توسط تمام کاربران است که درباره‌ی "etherwake" قضیه عکس است و فقط کاربر ریشه می‌تواند از آن استفاده کنید.
برای ارسال پیغام روشن شدن، کافیست در کامپیوتر راه دور دستور زیر را وارد کنید:
gnu@myflat:~$ wakeonlan
Sending magic packet to ۲۵۵.۲۵۵.۲۵۵.۲۵۵:۹ with FF:AA:BB:CC:DD:EE

همان طور که می‌دانید FF:AA:BB:CC:DD:EE آدرس MAC کامپیوتر مقصد یا کامپیوتری است که می‌خواهید از راه دور روشن کنیدش. به همین سادگی .... اگر همه چیز درست پیش رفته باشد کار تمام است.

[ ٢٩ بهمن ۱۳۸۸ ] [ ٩:٥٥ ‎ب.ظ ] [ آرش ] [ نظرات () ]
.: Weblog Themes By Iran Skin :.

درباره وبلاگ

کانال ما رو در تلگرام دنبال کنید : ketabnew@ https://telegram.me/ketabnew
نويسندگان
لینک دوستان
موضوعات وب
امکانات وب
Instagram

کمک به سازمان خيريه محک