X
تبلیغات
پیکوفایل
رایتل

قرآن در کامپیوتر

دانلود نرم افزار های قرآنی یه صورت رایگان

شبکه کردن دوکامپیوتر با بلوتوث

فرض بر اینه که از پورت lan و اینترفیس eth0 برای اتصال به اینترنت در سیستم اصلی استفاده میشه در غیر اینصورت هرجا eth0 دیدین با اسم کانکشن خودتون عوضش کنین. پروتوکول ارتباطی بلوتوث L2CAP هست ، این با MAC address سرو کار داره یعنی در لایه دوم عمل می کنه، چیزی که ما بهش احتیاج داریم پروتوکلیه که بتونه توی لایه 3 کار کنه یعنی BNEP که مخفف این کلمه است :

Bluetooth Network Emulation/Encapsulation Protocol

و چیز دیگه ای که احتیاج داریم یک برنامه است که بتونه برای ما یک کانکشن بسازه که بتونیم روش ip ست کنیم یعنی pand . که دقیقا اسم کاریه که ما میخوایم انجام بدیم ، PAN یا Personal Area Network

 

نصب پیش نیازها

تمام چیز هایی که نیاز داریم توی دو تا بسته به اسم bluez-utils و bluetooth جمع شده که میشه از مخازن اوبونتو نصبش کرد :

(تمام کارها روی هر دو سیستم باید انجام بشه مگر در موردی که دقیقا اشاره به سیستم خاصی شده باشه)

sudo apt-get install bluez-utils  bluetooth

پیکر بندی و ساخت کانکشن

حالا باید ماجول bnep رو بارگذاری کنیم :

sudo modprobe bnep

و از اینکه ماجول بلوتوث هم بارگذاری شده باید مطمئن بشیم ، پس محض احتیاط :

sudo modprobe bluetooth

اول یه فایل باید ویرایش بشه :

sudo gedit /etc/default/bluetooth

این خط رو :

PAND_ENABLED=0

به این تغییر بدید :

PAND_ENABLED=1

و بعد :

/etc/init.d/bluetooth restart

بعد روی سیستم سرویس گیرنده آدرس MAC بلوتوث سیستم بعدی رو به دست میاریم ، اگر بلوتوث گوشیتون روشنه خاموش کنین که اشتباه نکنین :

hcitool scan

عددی مثل این رو باید ببینین : 00:0D:F0:28:C1:9C

برای اینکه مطمئن بشیم لایه 2 خوب کار میکنه از دستور زیر استفاده می کنیم :

sudo l2ping  00:0D:F0:28:C1:9C

مثل پینگ معمولی باید خروجی بده.... به جای اون عدد عجیب هم مال خودتون رو که با دستور قبلی به دست اوردین بذارین. این آدرس بلوتوث سیستم بعدیه...

میریم سراغ دستور pand ، قبل از این کار با هر راهی که میتونین بلوتوث ها رو pair و trusted و visible و connectable بکنین ، همه این کارها با اپلت بلوتوث که توی tray هست انجام میشه.

در روی یکی از سیستم ها ترجیحا سیستمی که میخواد اینترنت رو در اختیار اونیکی قرار بده این دستور رو اجرا می کنیم :

sudo pand -M --listen

اصولا بدون هیچ خروجی و خیلی سریع باید اجرا بشه ، اگر نشد بگید که راهشو بگم.در این مرحله سیستم در پس زمینه منتظر برقراری ارتباط از جانب سیستم دیگه میمونه و بعد از این که ارتباط برقرار شد یک کانکشن میسازه....

روی سیستم سرویس گیرنده هم این دستور رو اجرا کنید :

sudo pand --connect  0A:0D:F0:27:01:BB

اتوجه توجه : اینجا آدرس MAC اونیکی سیستم رو باید بگذارید .

فرض بر اینه که تنظیمات پیش فرض رو عوض نکردید و هر دو سیستم بلوتوث روی کانال 1 برای برقراری ارتباط تنظیم شدن . اگر جواب نداد بگید که راه اونم بگم....

خوب حالا با دستور زیر مطمئن میشیم که ارتباط برقرار شده :

pand -l

باید خروجی مثل این ببینید :

bnep0 00:0D:F0:28:C1:9C PANU

اگر خروجی نداد یعنی هیچ اتفاق خوبی نیوفتاده (loop back)

کلمه اول یعنی bnep0 هم اسم کانکشنمونه....

خوب تا اینجا ما یک کانکشن یا همون اینترفیس داریم که باید روش ip ست کنیم ...

با دستور ifconfig خالی نمیشه این اینترفیس رو دید چون هنوز ست نشده ، با دستور زیر میتونین ببینینش :

ifconfig  -a

خوب اینجا دیگه بحث کلاینت و سرور تموم شد ، از این به بعد دو تا سیستم فرقی با هم ندارن.

تنظیم IP

با دستور زیر برای سیستم اول ip ست می کنیم :

sudo ifconfig bnep0 192.168.0.5

اینم روی سیستم بعدی ست میکنیم :

sudo ifconfig bnep0 192.168.0.6

این ip ها اختیاری هستن ولی باید طوری انتخاب بشه که بخش شبکه اونا یکی باشه و با ip سیستمی که اینترنت داره تداخل نکنه ، ترجیحا بخش شبکه هم فرق داشته باشه...

حالا باید با دستور ifconfig ساده بتونین اینترفیس ها رو روی سیستم ها ست شده ببینین...

خوب اینم از این ...

حالا اگر مشکلی پیش نیومده باشه باید بتونین سیستم ها رو پینگ بکنین ... اینجارو کمی طول کشید تا موفق بشم.... اشکال هم از iptables روی یکی از سیستم ها بود که با یک بار stop و start کردن firestarter حل شد ... البته این کار رو میشه توی firestarte و در تب events و راست کلیک روی پیغام های قرمز رنگ حاوی ip سیستم پینگ کننده و انتخاب گزینه allow connection from source عاقلانه تر انجام داد ، اگر چیزی اونجا ندیدین یک بار دکمه reload رو بزنین. اگر firestarter نصب نکردین اصولا نباید مشکلی باشه ... در غیر اینصورت با اجرای دستور ping با پیغام وحشتناک ping: not permited مواجه میشین ...

اگر ping گرفتین که مبارکه دیگه چیزی نمونده ...

اشتراک اینترنت

روی سیستمی که میخواد سرویس اینترنت بده باید تنظیمات NAT انجام بدیم که با iptables میشه اینکارو کرد...

جهت اطلاعات بیشتر پیشنهاد می کنم ببینید :

http://forum.ubuntu.ir/index.php?topic=3954.0

من فقط چند خطی که به دردمون میخوره رو مینویسم برای اینکه تنظیمات دائمی بشن اون پست رو ببینید .

این دستورات رو در سیستم میزبان اجرا کنید (فرض بر اینه که اینترنت رو از اینترفیس eth0 میگیرین در غیر اینصورت عوضش کنین) :

اول فعال کردن ip forwarding :

sudo gedit /etc/sysctl.conf

خط زیر رو پیدا کنین و # رو از اولش بردارین :

net.ipv4.conf.default.forwarding=1

تغییرات رو ذخیره کنین و بعد دستورات زیر رو برای NAT کردن انجام بدین :

sudo iptables -A FORWARD -i bnep0 -o eth0 -s 192.168.0.0/24 -m state --state NEW -j ACCEPT

و بعد :

sudo iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

و نهایتا :

sudo iptables -A POSTROUTING -t nat -j MASQUERADE

خوب تنظیمات روی سرویس دهنده اینترنت تموم شد ...

میریم سراغ سرویس گیرنده . در تمام مراحل سعی کنین با ping از اینکه ارتباط هنوز برقراره مطمئن بشین.

سمت گیرنده باید name server رو ست کنیم ، نکته مهم اینه که از name server مجاز استفاده کنیم... می تونیم دقیقا از همون name server ای که روی سیستم سرویس دهنده استفاده میشه استفاده کنیم ، یا هر name server دیگه ای که مجاز باشه مثل 4.2.2.4 یا ...

روی سیستم سرویس دهنده این دستور رو بزنید تا آدرس name server یا name server ها رو دربیاریم .... اگر زیاد بود دو تای اولی کافیه ..

cat /etc/resolv.conf

خروجی برای من اینطوریه :

nameserver 10.0.0.2

که دقیقا همون رو (به همراه کلمه nameserver) توی سیستم گیرنده ذخیره کردم ...

در سمت گیرنده :

sudo gedit /etc/resolv.conf

و خروجی دستور قبل رو توش بنویسید و ذخیره کنید.

مرحله بعد باز هم روی سیستم گیرنده ، دستکاری کردن جدول مسیر یابیه .... باید سیستم سرویس دهنده رو به عنوان gateway تعریف کنیم ...

sudo route del  default

sudo route add default gw 192.168.0.5

من روی سیستم گیرنده eth0 رو down کردم ، چون دستور اول رو انجام ندادم وبسته ها به طور پیش فرض به این اینترفیس ارسال می شدن ، ولی اصولا مثل روش بالا باید مسیری که به eth0 منتهی می شد رو حذف می کردم ...

که باید با اجرای دستور route تنظیماتی که انجام دادید رو ببینید . برای من اینطوریه (البته همون خطی که تغییر دادیم رو فقط مینویسم) :

default    192.168.0.5    0.0.0.0        UG    0      0           0        bnep0

خوب در این مرحله باید بتونید هر سایتی رو پینگ بکنید ، مثلا :

ping www.yahoo.com

اشتراک فایلها

البته این فقط مربوط به بلوتوث نمیشه و در هر دو تا سیستمی که با هم شبکه شده باشن میشه اینکارو کرد. من از NFS برای اشتراک فایل استفاده میکنم اول باید سرویس ها ی لازم رو نصب کنیم :

sudo apt-get  install nfs-kernel-server nfs-common portmap

و بعد :

sudo dpkg-reconfigure portmap

به سوالی که می پرسه جواب منفی بدین...

بعد روی سیستمی که میخواد یک دایرکتوری رو به اشتراک بگذاره فایل exports رو باید ویرایش کنیم :

sudo gedit /etc/exports

برای هر دایرکتوری باید یک خط مشابه این بنویسیم :

/home/behnam 192.168.0.6(rw,no_root_squash,async,subtree_check)

من اینجا دایرکتوری home/behnam/ رو از سیستم local خودم با سیستم remote ای به شماره ip ای که بالا میبینین به اشتراک میگذارم.

بعد دستور زیر رو روی سیستم local اجرا میکنیم :

sudo exportfs -a

بعد میریم روی سیستم بعدی و یک mount point درست می کنیم :

sudo mkdir /media/shares

و بعد خیلی راحت مونت می کنیم :

sudo mount  192.168.0.5:/home/user/media/shares

اینجا از ip سیستم قبلی استفاده میشه... ممکنه اینجا یک خطا بگیرین mount.nfs internal error و.... که باز هم مربوط iptables میشه ، از روش قبلی روی fire starter استفاده کنین...

با این کار یک آیکون روی دسکتاپ ظاهر میشه ....

تموم شد . برای unmount هم که یا با کلیک راست یا با دستور زیر میشه اینکارو کرد :

sudo umount  192.168.0.5:/home/user

نکته

1- بجای user نام کاربری خود را وارد کنید

2- سرعت انتقال بلوتوث طبیعتا از lan بسیار پایینتر است پس برای اشتراک فایل های بزرگ از بلوتوث استفاده نکنید

3- برای اشتراک فایل ها یه راه گرافیکی هم هست که توی اوبونتو مخفی شده ... اول باید همون سرویس ها رو برای nfs نصب بکنیم و بعد alt+f2 و بنویسید shares-admin یه پنجره باز میشه که بعد از زدن دکمه unlock میشه دایرکتوری ها رو با nfs یا smb به اشتراک گذاشت 

  

گرد اوری و تالیف از: بهنام گلستانی

ویرایش و ویکی: حسن حبیبی

منبع :http://wiki.ubuntu-ir.org/bluetoothsharing 

تاریخ ارسال: سه‌شنبه 4 خرداد‌ماه سال 1389 ساعت 01:09 ب.ظ | نویسنده: مهندس | چاپ مطلب 1 نظر