如何在Linux下用藍牙建立無線網(wǎng)絡
既然是技術活,那你就跟緊我,讓你立刻就能知道怎么在Linux下用藍牙建立無線網(wǎng)絡。
蘭牙下面的ip無線網(wǎng)路叫pan,蘭牙設備突出個人進距離電子設備的鏈接,用personal也不錯。和我們適用的一般的網(wǎng)路一樣,pan上面也有客戶機,router,hub。不過這些角色都是又蘭牙設備扮演的,而通過適當?shù)脑O置一個帶有蘭牙adapter的linux box 三個都可以作。
在說這個無線網(wǎng)路之前,先說說怎么讓linux支持蘭牙。
首先我們找到蘭牙linux的官方網(wǎng)站bluez。sourceforge。net
然后在這個頁面
http://bluez.sourceforge.net/download/download.html
下載
bluez-libs bluez-utils bluez-sdp bluez-pan
這幾個包。省下的幾個倒數(shù)2,3我們用不到,最后一個如果你有XXX硬件的話考慮一下(自己去bluez查查)
然后在http://www.holtmann.org/linux/kernel/
這個地方下載相應內核的補丁,我的是2.4.20的。
然后把你的內核打補丁,編譯,把蘭牙部分多出來的幾個模塊都選上反正是M,不占地方,如果你不確定具體哪個有用哪個沒用的話。
搞好內核之后逐一安裝上面下載的就個包,按照我list的順序哦。簡單的
./configure && make && make install 就可以了。
now we can R&R
首先加載內核模塊:
modprobe bluez (蘭牙支持)
modprobe hci_usb (usb蘭牙設備用的到。)
具體要加什么模塊可以看看 http://www.holtmann.org/linux/bluetooth/devices.html
找到你的設備需要什么模塊的支持。
modprobe l2cap
modprobe bnep (pan網(wǎng)路設備)
接著調用兩個守護進程。
hcid
sdpd
這個時候你可以用bluez-util自帶的工具看看你的設備
hciconfig
如果你的蘭牙裝上了并且被識別,會看到hci0這樣一個設備,如果你看到了花花綠綠的mac地址就是說明這個設備已經(jīng)啟動了,如果是00:00:00:00:。。。。
hciconfig hci0 up
啟動它,和ifconfig很象吧。呵呵
現(xiàn)在我們可以啟動PAN守護進程了,在開始之前先說說幾個名詞。
1. PANU ( pan里面的客戶機,就是PAN user了。呵呵)
2. GN 照我的理解就是pan里面的hub
具體看這個圖:
- +------+ +------+ +------+
- | PANU | | PANU | | PANU |
- +------+ +------+ +------+
- \ | /
- \ | /
- \ | /
- \ | /
- \ | /
- \ | /
- \ | /
- +---------+
- | GN |
- +---------+
- / | \
- / | \
- / | \
- / | \
- / | \
- / | \
- +------+ +------+ +------+
- | PANU | | PANU | | PANU |
- +------+ +------+ +------+
#p#
3. NAP,network access point,照我的理解就是可以作pan通向其他網(wǎng)路的router的東西。
這個東西我們會比較需要,結構入圖:
- +====================+
- | LAN Infrastructure |
- +====================+
- |
- |
- |
- +---------+
- | NAP |
- +---------+
- / | \
- / | \
- / | \
- / | \
- / | \
- / | \
- +------+ +------+ +------+
- | PANU | | PANU | | PANU |
- +------+ +------+ +------+
#p#
好了就我的情況來看,我的linux機上面有dsl,插了蘭牙usb,并且已經(jīng)驅動,我就要把這個機器設置成NAP來使得其他的設備(我的ipaq)可以用蘭牙鏈接到dsl上面。
首先設置我們的linux機為蘭牙的主機,在你的NAP或者GN機器上面要執(zhí)行這個命令
pand --master
然后,啟動pan的監(jiān)聽,并且適用NAP
pand --listen --role NAP
接著鏈接我的ipaq,這里的mac地址,你的設備上面怎么查我就不說了。自己搞定,如果是你linux機器上面的設備hciconfig里面是可以看到mac地址的。
pand --connect 00:04:3E:41:F2:39(要鏈接的PANU設備的蘭牙m(xù)ac) --service NAP
到此位置臺式機設置告一段落。我配置好了ipaq的pan,并且設定固定ip為10.0.0.2,網(wǎng)關為10.0.0.1,然后搜索鏈接蘭牙設備,很幸運,成功的鏈接到了,BlueZ(我的linux機的蘭牙設備名)設備上面的 group network。
在鏈接建立之后linux里面會多出一個bnep0的設備這個就是我們蘭牙鏈接的虛擬網(wǎng)卡了。
給他一個ip。
ifconfig bnep0 10.0.0.1
再ifconfig,呵呵多了一個bnep設備吧,用一個最常用的共享鏈接的方法:
iptables -t nat -A POSTROUTING -o ppp0 -s 10.0.0.1/24 -j MASQUERADE
OK,我的ipaq通過蘭牙可以上網(wǎng)了。
呵呵這里說說如果是另外一個linux機如何設置,假如我還有一個筆記本,也有一個蘭牙卡。想通過蘭牙上無線網(wǎng)路。
首先需要象前面linux機那樣設置好bluez的支持
然后在你的linux主機上面啟動NAP
pand --master
pand --listen --role NAP
pand --connect xx:xx:xx:xx(你筆記本的蘭牙m(xù)ac) --service NAP
接著在你的筆記本上面啟動PANU
pand --connect 00:37:5C:67:D3:02(你linux主機的蘭牙m(xù)ac) --service PANU
現(xiàn)在你的兩個機器應該在蘭牙上面連通了,下面建立ip鏈接
在主機 ifconfig bnep0 10.0.0.1
on laptop: ifconfig bnep0 10.0.0.2
設置網(wǎng)關和路由
主機:
iptables -t nat -A POSTROUTING -o ppp0(你鏈接internet的網(wǎng)路設備) -s 10.0.0.1/24 -j MASQUERADE
筆記本:
/sbin/route add -net default gw 10.0.0.1 netmask 0.0.0.0 metric 1 bnep0
不出意外你的筆記本就可以用蘭牙上無線網(wǎng)路了。
局我研究,usb蘭牙卡有些雜牌是很便宜的,比你在家里買一個無線router,再加筆記本一個無線網(wǎng)卡要便宜的多。所以如果你有一個筆記本象在家里上無線,用蘭牙是一個好選擇。呵呵。
通過文章我們可以學習到如何利用藍牙在Linux下建立無線網(wǎng)絡,希望對家有幫助。
【編輯推薦】
- Linux網(wǎng)絡配置工具大全
- Linux啟動全線提速指南
- 如何修改Linux主機名
- OpenSolaris后繼者初探:OpenIndiana的無線網(wǎng)絡管理
- 1.2.2 攻擊WPA加密無線網(wǎng)絡(3)
- 無線網(wǎng)絡安全攻防實戰(zhàn)進階
- 7.3.3 掃描藍牙設備(1)
- 7.3.1 識別及激活藍牙設備
- 7.2.4 藍牙的優(yōu)勢