Автор Тема: Bluetooth pan връзка между два компютъра  (Прочетена 3744 пъти)

alabal

  • Напреднали
  • *****
  • Публикации: 2173
  • cat /earth/europe/bg/sofia | grep Nacamura
    • Профил
Братя, ТБС и ЯБС!
Опитвам се да направя мрежа между лаптоп и десктоп с помощта на две bluetooth устройства и PAN, но срещнах много странни проблеми и в крайна сметка не успях. Въпросът ми е някой успявал ли е и как. Ако има някое полезно howto или идея ще бъда много благодарен, защото може и да избегна опъването на допълнителни кабели или покупка на разни wireless устройства.

И тъй направих почти всичко което ми попадна като howto и в крайна сметка приключвах в една и съща точка. Каква е схемата:
Десктоп:  OS Fedora 7 (Moonshine)
bluetooth - един от типичните боклучави Bluesoleil - работи добре, но все пак от време на време "заспива" и трябва да си говорим глупости, за да го "събудим".
мрежова карта eth1 - към света (и моето ISP), адрес 10.20.50.15
мрежова карта eth0 - към лаптопа и още един компютър, адрес 10.0.0.1
Лаптоп: Asus F3F, OS Fedora 8 Test-3
bluetooth Toshiba, 2.0 ECR
мрежова карта - адрес 10.0.0.15
wlan, който е открит и активен, но не се използва.
Идеята ми бе да направя NAP, както в това howto. Ето я и схемата:
                      
             +====================+
              Десктоп | eth1 (10.20.50.15) |
              +====================+
                                   |
             +------------------------------------------+
                             |   NAP |                        
                bnep0 или pan0 (10.10.0.1)  
            +------------------------------------------+
                             /          \
                            /             \
                           /               \
                  +------+             +----------+
                 | PANU |           | PANU |
           Лаптоп - bnep0       Машина X -  bnep0    
                10.10.0.15         xxx.xxx.xxx.xxx
               +-----------+          +-----------+

В конфигурационните файлове на pand съответно за двата хоста е записано следното:
Десктоп /etc/sysconfig/pand:
PANDARGS='--master --listen --role NAP'
Лаптоп /etc/sysconfig/pand:
PANDARGS='--role PANU --search NAP'
След service pand start се появят и двете устройства bnep0 на двата хоста.
Използвах два скрипта за десктопа и лаптопа в /etc/sysconfig/network-scripts/ifcfg-bnep0:
Цитат
DEVICE=bnep0
MTU=1500
TYPE=Ethernet
BOOTPROTO=static
ONBOOT=no
NETMASK=255.255.255.0
IPADDR=10.10.0.1

(съответно за bnep0 на лаптопа IP-то е 10.10.0.15)
Добавих и шлюз за новите мрежи, но дори между устройствата - нямаше пинг.
Изключително странно беше, че пинг се появяваше само ако дам следното:
ifconfig bnep0 promiscuous
И въпреки, че успявах да ping-а устройствата, ping към другите мрежови карти нямаше!
Изпробвах няколко правила за forward, които намерих из разни документи но никое не свърши работа (признавам, че от тях не разбирам почти нищо)!


Опитах и с bridge - pan0, направен по следния начин:
Цитат
ifconfig pan0 10.10.0.1
brctl setfd pan0 0
brctl stp pan0 off
brctl addif pan0 eth1

При опит да добавя bnep0, обаче ми даваше грешка, че устройството не може да бъде добавено, поради грешен аргумент.
Добавих и скрипт в /etc/bluetooth/pan/dev-up, описан съответно с --devup при pand:
Цитат
#!/bin/sh
   brctl addif pan0 $1   # $1 is the new if name, passed by 'pand'
   ifconfig $1 0.0.0.0

Според tail -f /var/log/messages нямаше грешки при изпълняване на скрипта, но отново същата грешка - няма ping освен в promiscuous mode и не се "чуват" други устройства.
Активен

It makes you awful glad that you were born a man.

acidrain

  • Напреднали
  • *****
  • Публикации: 119
    • Профил
Bluetooth pan връзка между два компютъра
« Отговор #1 -: Nov 03, 2007, 09:04 »
  Make your Arch Linux a Bluetooth Access Point не съм го пробвал все още
Активен

Все идет по плану

alabal

  • Напреднали
  • *****
  • Публикации: 2173
  • cat /earth/europe/bg/sofia | grep Nacamura
    • Профил
Bluetooth pan връзка между два компютъра
« Отговор #2 -: Nov 03, 2007, 22:11 »
Благодаря, братко за идеята - работи, дори под Fedora се пуска с пет-шест реда.
Обаче нещо се държи нестабилно и основния заподорзян е Blusoleil - като, че ли при постоянна работа заопочва да дава фира. Ще го тествам още малко и ще пиша какво е станало.
Активен

It makes you awful glad that you were born a man.

alabal

  • Напреднали
  • *****
  • Публикации: 2173
  • cat /earth/europe/bg/sofia | grep Nacamura
    • Профил
Bluetooth pan връзка между два компютъра
« Отговор #3 -: Nov 04, 2007, 14:51 »
И тъй! Вече работи нормално, макар и с малки странности при пускането му.
Засега е тествано само между двата хоста, които съм описал в първото съобщение, т.е. само с Fedora.
Първо, настройките на bluetooth. И на двата хоста hcid.conf трябва да изглежда така:
Цитат
# HCId options
options {
        autoinit yes;
        security auto;   #трябва да бъде променено от user на auto, за
да не въвеждате на ръка pin

        pairing multi;
        passkey "12345";  # и на двата хоста passkey трябва да е еднакъв, желателно е да се състои само от цифри
}

device {
        name "Desktop0";
        # Local device class
        class 0x120104;  # този номер означава "Desktop", "Laptop" е class 0x000100

        iscan enable; pscan enable;

        lm accept, master;  # на хоста, който "доставя интернета трябва да бъде добавено и "master", на другите трябва да остане само lm accept;

        lp rswitch,hold,sniff,park;
}


На Десктопа (master) /etc/sysconfig/dund трябва да изглежда така:
Цитат
cat /etc/sysconfig/dund
DUNDARGS='-s -p -A -E call dun'

-s означава dund да "слуша" за LAP връзки;
-p е persist - постоянна връзка, ако връзката е прекратена dund ще търси нова връзка;
-A ще "поиска" аутентификация (passkey) от заявилия връзка хост;
-E (encrypt) - осигурява криптиране на връзката.
На laptop-а (или хоста, който трябва да се свърже към master) нещата трябва да изглеждат така:
 
Цитат
cat /etc/sysconfig/dund

DUNDARGS='-c 11:11:11:11:11:11  -p -A -E'

където
-c е  --connect или "свържи се с устройство с MAC 11:11:11:11:11:11
За да открием MAC адреса на master трябва да се изпълни:
Цитат
hcitool scan

Scanning ...
        11:11:11:11:11:11       Desktop


Остава да направим настройките на ppp и да опишем peers.
За осъществяване на връзката и на двата хоста е достатъчно да запишем в /etc/ppp/options следните настройки:
Цитат
cat /etc/ppp/options

noauth nodeflate nobsdcomp lock
noipdefault
usepeerdns


За мрежа от два хоста на Desktop (master) трябва да бъде създаден следния файл:
Цитат
cat /etc/ppp/peers/dun

noauth nodeflate nobsdcomp lock
mtu 1500
mru 1500
10.10.0.1:10.10.0.15
silent
proxyarp
local
netmask 255.255.255.0

Остава само да бъдат стартирани услугите и на двата хоста:
#service bluetooth start
#service dund start
В резултат и на двете места ще се "появят" две нови устройства ppp0 на Desktop (master) ppp0 ще има адрес 10.10.0.1, а на лаптопа (remote) 10.10.0.15.
Остава само на laptop-а да бъде добавен шлюз:
Цитат
route add default gw 10.10.0.1

Вече би трябвало да има "връзка" между двата хоста, например ssh може да се използва.
И тук при мен се появи следната странност.
Каквито и правила да добавях за iptables нета на laptop (remote) се държеше изключително странно - ако има ping за abv.bg, то нямаше за gmail.com или mod.bg и обратното.
Решението (мисля, че е не е особено качествено, но друго не намерих) се оказа да "изключа" "излишните" мрежови устройства - eth0 и на двата хоста.
#ifconfig eth0 down
На Desktop eth0 е мрежовата карта за "върешната" ми минимрежа от два хоста, а на laptop-а eth0 е мрежовата ми карта.  За щастие eth0 на Desktop-a може да бъде "изключена"  през ssh от laptop-a.

И един съвет - никога, ама никога не си вземайте bluetooth от магазин за телефони. Купете го от магазин за компютърна техника. Искайте той да поддържа (а не да е compatible - съвместим) с bluetooth протокол 2.1 или минимум 2.0 + EDR (Enhanced Data Rate). Класа на устройството може да е I - обхват 100 m или II - 10 m - вие решавате колко ви трябва, но ако е 100 m, ви е необходима задължително аутентификация и криптиране. Вероятно подобно устройство от клас II струва над 30 лв. И не си купувайте за връзка компютър - компютър Bluesoleil - при по-голямо разстояние между компютрите може да губи връзка, да не говорим че всички устройства имат един и същ MAC адрес - 11:11:11:11:11:11 - т.е. на практика нямат.
Активен

It makes you awful glad that you were born a man.

Подобни теми
Заглавие Започната от Отговора Прегледи Последна публикация
bluetooth под линукс - яка програмка
Настройка на хардуер
deyanmf 3 4349 Последна публикация Apr 29, 2004, 17:52
от deyanmf
Bluetooth driver
Настройка на хардуер
veskov__ 1 3936 Последна публикация Dec 11, 2007, 09:56
от vaklin
Bluetooth
Настройка на хардуер
bashi1 1 2298 Последна публикация Dec 16, 2007, 23:05
от Gaara
Bluetooth
Кошче
emilvaklinov 2 3488 Последна публикация Mar 06, 2008, 08:42
от neter
Bluetooth headset
Настройка на хардуер
gizi_ 0 3032 Последна публикация Jun 05, 2008, 18:34
от gizi_