0.مقدمه
در مواقعی که در یک شبکه فعالیت میکنید، گاهی این اتفاق میافتد که نیاز به روشن کردن سیستم از راه دور دارید، البته بسیاری مواقع افراد به جای روشن کردن از راه دور عکس قضیه را عملی میکنند یعنی کامپیوتر را برای تمام مدت روشن میگذارند، چنین عملی باعث میشود تا افرادی که مجاز به دسترسی نیستند مدت زمان بیشتری برای دسترسی به سیستم داشته باشند. اما آیا راهی برای روشن کردن سیستم از راه دور وجود دارد؟!
بسیاری از کاربران هنگامی که یک کارت شبکه خریداری میکنند در دفترچهی راهنما یا برروی جعبهی کارت شبکه "Wake On Lan" را دیدهاند.در این مقاله قصد دارم تا شما را با روش استفاده از این قابلیت در سیستم گنو/لینوکس آشنا کنم. آنچه شمانیاز خواهید داشت یک کارت شبکه که از قابلیت «Wake on Lan» پشتیبانی کند و روشی برای ارسال سیگنال برای چنین کارت شبکهای است.
بسیاری از کارتهای شبکه امروزی از قابلیت «WakeOn Lan» پشتیبانی میکنند، اگر کارت شبکهی شما «on-board» است، به دفترچه راهنمای مادربورد خود مراجعه کنید، اغلب مادربوردهای جدید درای کارت شبکههایی با امکان «Wake On Lan» هستند. برای فعال کردن این قابلیت در چنین مادربوردهایی کافیست در زمان بالا آمدن سیستم وارد قسمت تنظیم BIOS شوید و در قسمت «Power Management» گزینههای «wakeonlan» یا «netboot» یا «wake onring events» را جستجو کنید. بسته به نوع مادربورد (نوع چپست بایوسی که در آن استفاده شده است) یکی از گزینههای بالا برای فعال کردن قابلیت Wake on Lan استفاده خواهند شد.
1.بستههای جادویی
برای روشن کردن یک کامپیوتر از راه دور باید از طریق یک نرم افزار یک پیغام برای کارت شبکه بفرستید. این پیغامها را «بستههای جادویی شبکه» یا «Magic Network Packets» مینامند. برای استفاده از از این بستههای جادویی همانطور که اشاره کردیم نیاز به یک کارت شبکه با قابلیت Wake on Lan و نیز برنامهای برای ارسال این بستهها در شبکه دارید. نیازهای سخت افزاری به کارت شبکهی شما بسته است. اما برنامهای که این بستهها را ارسال کند و بتوانید از طریق آن این قابلیت را مدیریت کنید را به سادگی میتوانید در توزیع خودتان پیدا کنید. برای این کار من از برنامههای "ethtool" و"wakeonlan" استفاده کردهام. البته میتوانید از "etherwake" به جای "wakeonlan" استفاده کنید.
2.اجرا
برای نصب برنامههای ذکر شده میتوانید در توزیعهایی که بر اساس دبیان هستند از دستور "apt-get" استفاده کنید، اگر از SuSE استفاده میکنید از YaST و در سایر توزیعها از مدیر بستههای همان توزیع استفاده کنید. پس از نصب برنامهی ethtool برای بررسی وضعیت در خط فرمان دستور زیر رامینویسیم:
در اینجا "g" به این معناست که قابلیت wakeonlan در کارت شبکهی شما وجود دارد اما "d" در خط پایینی فعال نبودن این قابلیت را اعلام میکند. برای فعال کردن بستههای جادویی شبکه دستور زیر را به کار میبریم:کد:root@tux:~# ethtool eth0 Settings for eth0: Supports Wake-on: g Wake-on: d Link detected: yes
برای اطمینان از این که این قابلیت فعال شده است میتوانید دستور اول را دوباره وارد کنید :کد:root@tux:~# ethtool -s eth0 wol g
دومین "g" که در خط "Wake-on: g" آمده است به معنی فعال بودن قابلیت کار با بستههای جادویی شبکه است.کد:root@tux:~# ethtool eth0 Settings for eth0: Supports Wake-on: g Wake-on: g Link detected: yes
دیگر مطمئن هستیم که این قابلیت فعال شده، حال به آدرس کامپیوتر مورد نظر در شبکه نیاز داریم. طبیعی است که آدرس کامیپیوتر مقصد برای روشن کردن آن نیاز است. در اصل ما به آدرس MAC کامپیوتر مورد نظر نیاز داریم. برای اطلاع از این آدرس کافیست در کامپیوتر مقصد دستور ifconfig را اجرا کنید:
در اینجا FF:AA:BB:CC:DD:EE آدرس MAC است.اگر کامپیوتر مقصد در دسترستان نیست برای پیدا کردن آدرس MAC آن کافیست ابتدا به آن کامپیوتر "ping" کنید،سپس به "arp cache" سری بزنید. برای نمونه اگر در شبکهی من ماشینی با نام sun.my.flat وجود داشته باشد و بخواهم آدرس MAC آن را به دست بیاورم در خط فرمان تایپ میکنم:کد:tux@target:~$ /sbin/ifconfig eth0 Link encap:Ethernet HWaddr FF:AA:BB:CC:DD:EE inet addr:192.168.0.1 Bcast:192.168.0.255 Mask:255.255.255.0 inet6 addr: fe80::20a:e6ff:fef6:a3f4/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:2218390 errors:0 dropped:0 overruns:0 frame:0 TX packets:3098440 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:1624008578 (1.5 GiB) TX bytes:1368310661 (1.2 GiB) Interrupt:10 Base address:0xd400
دستور "arp" در اینجا برای یافتن آدرس MAC استفاده شده است. فقط توجه داشته باشید که شما باید ابتدا ماشین مقصد را از طریق IP یا نام ماشین ping کنید و سپس از دستور "arp" استفاده کنید. بسیار خوب، پس از آموختن آدرس MAC کامپیوتر مقصد حالا میتوانید از راه دور روشن یا خاموشش کنید.برای این کار به برنامهای نیاز دارید تا بستههای "wakeonlan" را ارسال کند. برنامههای مشهور "etherwake" و "wakeonlan" هستند که در اینجا من از "wakeonlan" استفاده کردهام. یکی از مزایای "wakeonlan" امکان استفاده توسط تمام کاربران است که دربارهی "etherwake" قضیه عکس است و فقط کاربر ریشه میتواند از آن استفاده کنید.کد:gnu@myflat:~$ ping -c 1 sun PING sun.my.flat (192.168.1.1) 56(84) bytes of data. 64 bytes from sun (192.168.1.1): icmp_seq=1 ttl=64 time=0.202 ms --- sun.my.flat ping statistics --- 1 packets transmitted, 1 received, 0% packet loss, time 0ms rtt min/avg/max/mdev = 0.202/0.202/0.202/0.000 ms gnu@myflat:~$ /usr/sbin/arp sun Address HWtype HWaddress Flags Mask Iface sun ether FF:AA:BB:CC:DD:EE C eth0
برای ارسال پیغام روشن شدن، کافیست در کامپیوتر راه دور دستور زیر را وارد کنید:
همان طور که میدانید FF:AA:BB:CC:DD:EE آدرس MAC کامپیوتر مقصد یا کامپیوتری است که میخواهید از راه دور روشن کنیدش. به همین سادگی .... اگر همه چیز درست پیش رفته باشد کار تمام است.کد:gnu@myflat:~$ wakeonlan Sending magic packet to 255.255.255.255:9 with FF:AA:BB:CC:DD:EE
منبع مقاله : GNUIran.org






پاسخ با نقل قول
Bookmarks