Esperimenti wifi

From NinuxBO
Jump to: navigation, search

Un pò off topic, ma nemmeno tanto, mi sono messo a sperimentare un modo per utilizzare uno degli access point già installati con Lime per vedere meglio come funzionano alcune cose e risparmiare un pò di energia, volevo infatti evitare di tenere accesi due access point.

Contents

Scopo dell'esperimento

Usare un access point di quelli che montiamo a terra per diffondere il segnale a 2.4 Giga (ma questo è solo un dettaglio, non ci sono motivi per non farlo anche in altri access point) come access point anche per la rete wifi di casa mia.

Il piano è molto semplice ma..... l'access point su cui ho fatto esperimenti ha una sola porta di rete (configurata per la lan per rendere raggiungibile via ssh openwrt).

Da esperimenti e verifiche precedenti modificare da interfaccia web compromette la configurazione di Lime e quindi meglio iniziare a sperimentare a mano.

Non sono un mago nel networking e quindi qualche passaggio richiede studio.

La situazione di partenza

La rete Lime di Ninux Bologna utilizza ip 10.51.x.x, la mia rete di casa 192.168.1.x. Le due reti pur risiedendo sullo stesso ap devono rimanere separate almeno per ora. In futuro mi piacerebbe poter navigare su Ninux dal mio telefonino agganciato alla wifi di casa ma evitare che chi si aggancia a Ninux usi la mia connessione ad internet.

Lime configura le interfacce wifi in bridge con la ethernet e con bat0

root@NinuxBoNode-2b19e1:~# brctl show
bridge name	bridge id		STP enabled	interfaces
br-lan		7fff.10feed2b19e2	no		eth1
                                                       wlan0_ap
                                                       bat0

C'è un dhcp che rilascia ip per la rete 10.51.x.x e potrebbe andare in conflitto con il mio modem.

Anygw sembra abbia qualche problema con le modifiche.

La mia rete usa una chiave wpa2 mentre ninux è open.

Varie ed eventuali.

Metodo di sperimentazione

Per evitare di fare danni e dover resettare o ricaricare il firmware sull'ap ho preferito testare le modifiche più "rischiose" con questo metodo:

comando; sleep 600; reboot

In questo modo una modifica ad esempio al bridge che compromette la connessione all'access point non viene scritta su file quindi basta un reboot per ripristinare alla situazione precedente, inoltre se qualcosa va storto basta attendere 10 minuti per l'esecuzione del comando schedulato. Se invece tutto va a buon fine un control+C evita il reboot e si possono proseguire gli esperimenti.

Aggiungere un ssid a Lime

Evitare le modifiche da interfaccia web!!!, qui riporto solamente la configurazione finale, ma i test inizialmente li ho fatto usando i comandi da cli

root@NinuxBoNode-01dff6:~# cat /etc/config/wireless 
config wifi-device 'radio0'
       option type 'mac80211'
       option channel '11'
       option hwmode '11g'
       option path 'pci0000:00/0000:00:00.0'
       option htmode 'HT20'
       option disabled '0'
       option txpower '16'
       option country 'IT'
 config wifi-iface 'lm_wlan0_ap_radio0'
       option mode 'ap'
       option device 'radio0'
       option ifname 'wlan0_ap'
       option network 'lan'
       option ssid 'NinuxBO'
       option mesh_mesh_fwding '0'
       option mesh_mesh_id 'LiMe'
config wifi-iface 'c_wlan0_ap_radio0'
       option mode 'ap'
       option device 'radio0'
       option ifname 'wlan0_ap_c'
       option ssid 'Cast'
       option mcast_rate '24000'
       option encryption 'psk2'
       option key 'xxxxxxxxxxxxxxxxxxx'
       option short_preamble '1'
config wifi-iface 'lm_wlan0_adhoc_radio0'
       option mode 'adhoc'
       option device 'radio0'
       option ifname 'wlan0_adhoc'
       option network 'lm_net_wlan0_adhoc'
       option mesh_mesh_fwding '0'
       option mesh_mesh_id 'LiMe'
       option bssid 'de:d1:c0:c0:d1:ce'
       option mcast_rate '24000'
       option ssid 'NinuxBO-mesh'

Ora basta riavviare l'access point e si avrà un nuovo ssid chiamato Cast che fa riferimento all'interfaccia c_wlan0_ap_radio0

root@NinuxBoNode-01dff6:~# ifconfig wlan0_ap_c
wlan0_ap_c Link encap:Ethernet  HWaddr 6E:72:51:00:DF:F6  
         inet6 addr: fe80::6c72:51ff:fe00:dff6/64 Scope:Link
         UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
         RX packets:960279 errors:0 dropped:0 overruns:0 frame:0
         TX packets:1302872 errors:0 dropped:0 overruns:0 carrier:0
         collisions:0 txqueuelen:1000 
         RX bytes:95694703 (91.2 MiB)  TX bytes:1127964695 (1.0 GiB)

Ora una modifica al file di configurazione di lime /etc/config/lime, un commento sulla riga di anygw che ha iniziato a dare messaggi di errore durante i test. Non ho indagato fino in fondo.

#list protocols anygw 

Ed uno script che viene sesguito all'avvio dell'access point, ho preferito fare uno script in modo che aggiornando il firmware poi mi basterà copiare questo script per riattivare le modifiche. Inoltre può essere lanciato a mano se se ne prevede un uso sporadico.

root@NinuxBoNode-01dff6:~# cat /etc/init.d/Cast
#!/bin/sh /etc/rc.common
# Copyright (C) 2006 OpenWrt.org
START=97
start() {
 brctl delif br-lan eth0                    #Toglie l'interfaccia eth0 dal bridge (quello usato da Lime)
 brctl addbr br-priv                        #Crea un nuovo bridge chiamato br-priv
 brctl addif br-priv eth0                   #Aggiunge eth0 al bridge br-priv, questa interfaccia va collegata via cavo al mio modem
 brctl addif br-priv wlan0_ap_c             #Aggiunge wlan0_ap_c al bridge br-priv, su questa interfaccia c'è l'ssid creato per la mia rete domestica
 ifconfig br-priv 192.168.1.252             #Indirizzo assegnato all'interfaccia eth0 per gestire l'ap dalla mia rete domestica
 brctl show                                 #Tre comandi di display  per vedere se è tutto ok
 ifconfig br-priv
 route -n
}

Proviamo se lo script funziona

/etc/init.d/Cast start

Ora va attivato con il comando

/etc/init.d/Cast enable

Per quanto riguarda il dhcp nel mio caso l'ho completamente disattivato al momento usandone uno esterno perchè ho attivo un captive portal che fa anche da dns.

/etc/ini.t/dnsmasq disable

Conclusioni finali

L'access point collegato al modem mi serve per ripetere il segnale wifi verso il giardino.

Finora avevo un access point in casa che però all'esterno aveva un segnale non buonissimo per vari motivi, mentre avevo un ottimo segnale ninux avendo un access point da esterni. Ora il segnale wifi è perfetto.

Non avendo ancora una rete sviluppata e con pochi servizi si corre il rischio che un nodo con un problema possa rimanere offline per qualche tempo prima che qualcuno se ne accorga, se l'access point è usato anche per altro è più facile accorgersi di eventuali problemi.

Personal tools
Namespaces

Variants
Actions
Navigation
Tools