wklaczynski Napisano Listopad 27, 2008 Zgłoszenie Share Napisano Listopad 27, 2008 We wcześniejszym moim poście opisałem sposób konfiguracji sieci PAN na Fedorze 7, od tego czasu uległo kilka zmian co do tej usługi, nie jestem pewien co do wersji fedory 8-9, ale postanowiłem ponownie umieścić opis konfiguracji modyfikując go dla Fedora 10, gdzie cała sprawa wygląda nieco inaczej, ponieważ część funkcjonalności zostało przekazane do pakietu bluez. W tym miejscu krótko opiszę instalację interfejsu bluetooth na naszej fedorce, ponieważ to już całkiem inny temat. Ale aby przejść dalej należy to wykonać i mieć już zainstalowaną usługę bluetooth, hidd i inne narzędzia. Zazwyczaj fedora instaluje większość domyślnie podczas instalacji systemu, ale może się trafić wiele wyjątków. A więc jeżeli nie ma zainstalowanych poniższych pakietów w naszym systemie, to należy je ściągnąć z repo fedory i zainstalować. Aby można było wiele funkcji wycisnąć z telefonu i fedorki powinny być zainstalowane poszczególne pakiety: bluez-libs libbtctl openobex openobex-apps obexftp #ja używam gnome a więc: bluez-gnome gnome-bluetooth gnome-bluetooth-libs Między innymi dzięki powyższym pakietom można przesłać pliki( za pomocą menu wyślij w nautilus), można listować katalogi telefonu (podając w nautilus path obex:///), i wiele innych pożytecznych rzeczy. Jak wszystko jest ok, w tace systemowej pojawia się ikona sygnalizująca bluetooth, należy ustawić czas kiedy urządzenie staje się niewidoczne na nigdy, wciskając prawy przycisk myszki na ikonce sygnalizującej pracę bluetooth. Teraz możemy sprawdzić adres MAC naszego adaptera bluetooth używając funkcji hcitool: [root@localhost ~]# hcitool dev Devices: hci0 00:14:85:96:9A:9B Jeśli urządzenie ma adres MAC złożony z samych jedynek lub zer np: 11:11:11:11:11:11, 00:00:00:00:00:00, to znaczy że możemy sobie już dać spokój, takie urządzenia nie posiadają unikalnych adresów i nie ma szans, że będą działać, tym bardziej adres 11:11:... który zachowuje się jak multicast nie da się przyłączyć do mostka, a po rozłączeniu zawiesi komputer. W takim wypadku należy wybrać się do sklepu i zakupić urządzenie które posiada legalne MAC adresy. Można teraz sprawdzić czy telefon paruje się z naszym komputerem, w tym celu należy w telefonie wykryć urządzenia bluetooth i wykonać wszystkie czynności połączeniowe. Jeżeli wszystko możemy rozpocząć ustawienia sieci. Kolejnym etapem jest dodanie interfejsu mostu pan1 ponieważ usługa Network Service pakietu bluez poszukuje tego tego interfejsu aby montować interfejsy bnep0...bnepn , w tym celu należy dodać plik "/etc/sysconfig/network-scripts/ifcfg-pan1 i wystartować ten interfejs, za pomocą narzędzi konfiguracji sieci lub komendy ifup pan1 DEVICE=pan1 TYPE=Bridge BOOTPROTO=none IPADDR=10.0.244.1 NETMASK=255.255.255.0 ONBOOT=yes Teraz należy skonfigurować serwer DHCP, ponieważ telefon będzie potrzebował informacji o naszej sieci które pobiera z serwera dhcp. Jeżeli nie ma zainstalowanego pakietu dhcp w naszym systemie, to ściągamy go z repozytorium fedory i instalujemy. Serwer dhcp w momencie startowania wymaga istnienia interfejsów i adresów IP, które zostały ujęte w jego konfiguracji , w tym celu powstał powyższy interfejs mostek pan0, który łączy się wraz ze startem systemu i do niego będą się przyłączały interfejsy tworzone przez usługę pand, ponieważ interfejsy bnep pojawiają się jedynie w czasie połączenia telefonu z komputerem, i nie mogą być użyte w konfiguracji serwera dhcpd . Aby ustawić serwer dhcpd należy wy edytować plik "/etc/dhcpd.conf". Następnie wystartować serwer dhcpd i sprawdzić czy w pliku "/var/lib/messages" nie ma żadnych błędów, usługę dhcpd należy ustawić tak aby startowała wraz z systemem. ddns-update-style interim; ddns-updates on; allow client-updates; one-lease-per-client true; allow bootp; option T150 code 150 = string; subnet 10.0.244.0 netmask 255.255.255.0 { range 10.0.244.2 10.0.244.128; interface pan0; default-lease-time 600; max-lease-time 7200; option domain-name "sabasoft.pl"; option subnet-mask 255.255.255.0; option broadcast-address 10.0.244.255; option routers 10.0.244.1; option domain-name-servers 213.241.79.37, 83.238.255.76; option time-offset -3600; option ntp-servers 10.0.244.1; } Teraz można zrobić maskaradę na iptables: "iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE", Zezwolić na ruch po porcie 80 i 433. Włączyć ruting pakietów edytując plik "etc/sysctl.conf" i ustawić wartość net.ipv4.ip_forward = 1, aby nie restartować systemu po ustawieniu sysctl.conf można wykonać "echo 1 >/proc/sys/net/ipv4/ip_forward" w terminalu. Maskaradę można także ustawić używając graficznego edytora "Zapora Sieciowa". To są wszystkie standardowe czynności jakie się wykonuje udostępniając internet w sieci lokalnej. Ja powyższy krok wykonałem inaczej, za pomocą proxy, ten sam serwer proxy wykorzystuję do łączenia się z internetem przeglądarką internetową, dzięki temu mogę spokojnie oglądać strony zasypane reklamami w flash player, które przykrywają ekran nie dając się wyłączyć i innych wrednych rzeczy serwowanych z netu, słowem można się w fajny sposób pozbyć spamu. Aby skonfigurować serwer proxy należy ściągnąć pakiet privoxy, dostępny jest w repo fedory, następnie otworzyć plik "/etc/privoxy/config" i zmienić wpis w linii: listen-address 1270.0.1:8118 na listen-address :8118 tak aby można było używać z wszystkich interfejsów. Jeżeli nie ma linii to dopisać. Zezwolić na ruch po porcie 8118 protokołu TCP i UDP. Wystartować usługę privoxy i ustawić tak aby startowała z systemem. Każdy telefon ustawia się inaczej, ja mam Sony Ericson K800i, u mnie po dodaniu urządzeń i sparowaniu urządzeń, wykonałem połącz. Ustawienia->Łączność->Bluetooth->Moje Urządzenia->Nowe urządzenie Następnie dodałem profil komputer w Profilach Internetowych, jako Łącz używając wskazałem zaskandowany komputer w poprzednim kroku. W związku z tym, że używałem proxy po dodaniu profilu wy edytowałem połączenie i zaznaczyłem łączenie za pomocą proxy wpisując adres interfejsu pan0 "10.0.244.1" i port "8118", podobnie ustawiłem Ustawienia Java. Oczywiście należy pamiętać aby dodany profil był wybrany. Przy stosowaniu samej maskarady nie należy ustawiać proxy. Ustawienia->Łączność->Ustaw. Internetowe Po ustawieniu tego wszystkiego można uruchomić przeglądarkę w telefonie, zamiast kuli sygnalizującej połączenie GPRS powinny pojawić się jedynie strzałki przy bluetooth, następnie pojawić się wybrana strona w przeglądarce. Jak wszystko jest poprawne w messages mam log: Nov 27 16:34:58 localhost avahi-daemon[2586]: Withdrawing address record for fe80::214:85ff:fe96:9a9b on bnep0. Nov 27 16:34:58 localhost kernel: pan1: port 1(bnep0) entering disabled state Nov 27 16:34:58 localhost kernel: device bnep0 left promiscuous mode Nov 27 16:34:58 localhost kernel: pan1: port 1(bnep0) entering disabled state Nov 27 16:35:04 localhost bluetoothd[2311]: Added new connection: bnep0 Nov 27 16:35:04 localhost kernel: device bnep0 entered promiscuous mode Nov 27 16:35:04 localhost bluetoothd[2311]: bridge pan1: interface bnep0 added Nov 27 16:35:04 localhost kernel: pan1: port 1(bnep0) entering learning state Nov 27 16:35:05 localhost avahi-daemon[2586]: Registering new address record for fe80::214:85ff:fe96:9a9b on bnep0.*. Nov 27 16:35:19 localhost kernel: pan1: topology change detected, propagating Nov 27 16:35:19 localhost kernel: pan1: port 1(bnep0) entering forwarding state Nov 27 16:35:33 localhost dhcpd: DHCPDISCOVER from 00:1a:75:a5:d3:c3 via pan1 Nov 27 16:35:34 localhost dhcpd: DHCPOFFER on 10.0.244.2 to 00:1a:75:a5:d3:c3 via pan1 Nov 27 16:35:34 localhost dhcpd: DHCPREQUEST for 10.0.244.2 (10.0.244.1) from 00:1a:75:a5:d3:c3 via pan1 Nov 27 16:35:34 localhost dhcpd: DHCPACK on 10.0.244.2 to 00:1a:75:a5:d3:c3 via pan1 Nov 27 16:40:32 localhost dhcpd: DHCPREQUEST for 10.0.244.2 from 00:1a:75:a5:d3:c3 via pan1 Nov 27 16:40:32 localhost dhcpd: DHCPACK on 10.0.244.2 to 00:1a:75:a5:d3:c3 via pan1 Nov 27 16:45:32 localhost dhcpd: DHCPREQUEST for 10.0.244.2 from 00:1a:75:a5:d3:c3 via pan1 Nov 27 16:45:32 localhost dhcpd: DHCPACK on 10.0.244.2 to 00:1a:75:a5:d3:c3 via pan1 Nov 27 16:50:31 localhost dhcpd: DHCPREQUEST for 10.0.244.2 from 00:1a:75:a5:d3:c3 via pan1 Nov 27 16:50:31 localhost dhcpd: DHCPACK on 10.0.244.2 to 00:1a:75:a5:d3:c3 via pan1 Nov 27 16:55:30 localhost dhcpd: DHCPREQUEST for 10.0.244.2 from 00:1a:75:a5:d3:c3 via pan1 Nov 27 16:55:30 localhost dhcpd: DHCPACK on 10.0.244.2 to 00:1a:75:a5:d3:c3 via pan1 Nov 27 16:55:42 localhost yum: Installed: bluez-gnome-analyzer-1.8-8.fc10.x86_64 Nov 27 16:55:43 localhost yum: Installed: bluez-hcidump-1.42-2.fc10.x86_64 Nov 27 16:55:43 localhost yum: Installed: bluez-gstreamer-4.17-2.fc10.x86_64 Nov 27 17:00:28 localhost dhcpd: DHCPREQUEST for 10.0.244.2 from 00:1a:75:a5:d3:c3 via pan1 Nov 27 17:00:28 localhost dhcpd: DHCPACK on 10.0.244.2 to 00:1a:75:a5:d3:c3 via pan1 Nov 27 17:05:28 localhost dhcpd: DHCPREQUEST for 10.0.244.2 from 00:1a:75:a5:d3:c3 via pan1 Nov 27 17:05:28 localhost dhcpd: DHCPACK on 10.0.244.2 to 00:1a:75:a5:d3:c3 via pan1 Nov 27 17:09:45 localhost dhcpd: DHCPRELEASE of 10.0.244.2 from 00:1a:75:a5:d3:c3 via pan1 (found) Nov 27 17:09:45 localhost avahi-daemon[2586]: Withdrawing address record for fe80::214:85ff:fe96:9a9b on bnep0. Nov 27 17:09:45 localhost kernel: pan1: port 1(bnep0) entering disabled state Nov 27 17:09:45 localhost kernel: device bnep0 left promiscuous mode Nov 27 17:09:45 localhost kernel: pan1: port 1(bnep0) entering disabled state Nov 27 17:09:45 localhost bluetoothd[2311]: Added new connection: bnep0 Nov 27 17:09:45 localhost kernel: device bnep0 entered promiscuous mode Nov 27 17:09:45 localhost bluetoothd[2311]: bridge pan1: interface bnep0 added Nov 27 17:09:45 localhost kernel: pan1: port 1(bnep0) entering learning state Nov 27 17:09:47 localhost avahi-daemon[2586]: Registering new address record for fe80::214:85ff:fe96:9a9b on bnep0.*. Nov 27 17:10:00 localhost kernel: pan1: topology change detected, propagating Nov 27 17:10:00 localhost kernel: pan1: port 1(bnep0) entering forwarding state Nov 27 17:10:15 localhost dhcpd: DHCPDISCOVER from 00:1a:75:a5:d3:c3 via pan1 Nov 27 17:10:16 localhost dhcpd: DHCPOFFER on 10.0.244.2 to 00:1a:75:a5:d3:c3 via pan1 Nov 27 17:10:16 localhost dhcpd: DHCPREQUEST for 10.0.244.2 (10.0.244.1) from 00:1a:75:a5:d3:c3 via pan1 Nov 27 17:10:16 localhost dhcpd: DHCPACK on 10.0.244.2 to 00:1a:75:a5:d3:c3 via pan1 Powodzenia! Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
lulo Napisano Styczeń 12, 2009 Zgłoszenie Share Napisano Styczeń 12, 2009 Niestety...po mimo wykonania wszystkich w/w i opisanych czynności (bez błędu krok po kroku...wielokrotnie): 1.nie udało się podnieść interfejsu pan0 (domaga się brctl...czyli plik z nieujętego w poradniku pakietu bridge-utils) 2. nawet po zainstalowania w/w pakieetu i automatycznym tworzeniu interfejsu pan0 i tak nie dochodzi do utworzenia bnep0 oraz tym samym pan1 (oczywiście adresy serwerów DNS stosowne do mojej UPC...ale nawet przy podaniu tych z np. neostrady zero sukcesu) 3. typowe komunikaty w /var/log/messages: Jan 12 13:45:49 localhost bluetoothd[3830]: Added new connection: bnep0 Jan 12 13:45:49 localhost bluetoothd[3830]: Can't add bnep0 to the bridge pan1: No such device(19) Jan 12 13:46:22 localhost bluetoothd[3830]: link_key_request (sba=xx:xx:xx:xx:xx:xx, dba=yy:yy:yy:yy:yy:yy) oczywiście zamiast faktycznych numerów użyłem xx i yy...oba interfejsy (w telefonie i w kluczu USB broadcom) są z unikatowym numerem MAC i pod wingrozą udaje się uzyskać dzięki nim w/w typ połączenia internetowego) 4. ponadto skoro już jest zainstalowany bridge-utils wynik stosownego polecenia #"brctl show" jest następujący: bridge name bridge id STP enabled interfaces pan0 8000.000000000000 no Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
Rekomendowane odpowiedzi
Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto
Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.
Zarejestruj nowe konto
Załóż nowe konto. To bardzo proste!
Zarejestruj sięZaloguj się
Posiadasz już konto? Zaloguj się poniżej.
Zaloguj się