Differenze tra le versioni di "RoadWarrior"
(→Scopo) |
(Comincio a scrivere) |
||
Riga 23: | Riga 23: | ||
A questo punto ci si può collegare al router con il cavo ethernet. | A questo punto ci si può collegare al router con il cavo ethernet. | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | Info (by itec, da sistemare) | ||
+ | |||
+ | Il "RoadWarrior" è un router portatile che permette di condividere una connessione ad internet wireless, in modo sicuro. | ||
+ | |||
+ | Una volta collegato ad un hotspot fornisce facilmente connettività wireless a tutti i dispositivi già associati. | ||
+ | |||
+ | In presenza di captive portal basta collegarsi da un solo dispositivo per dare connettività a tutti gli altri. | ||
+ | |||
+ | E' presente anche una wireless sicura che dirotta tutto il traffico attraverso una VPN, per avere un'uscita verso internet criptata. | ||
+ | |||
+ | |||
+ | Per fare le prove ho usato un router AUKEY PB-W1, che è un router portatile con powerbanck integrato, wifi, ethernet e usb. | ||
+ | |||
+ | In alternativa si può usare un Hootoo Tripmate Nano, o qualsiasi altro router a patto che riesca a supportare OpenWRT e che abbia almeno 8MB di flash (necessaria per installare OpenVPN | ||
+ | |||
+ | |||
+ | |||
+ | Howto un po' incasinato: | ||
+ | |||
+ | - Inserire la parte di installazione di openwrt - | ||
+ | |||
+ | |||
+ | Collegarsi al router all'indirizzo 192.168.1.1, impostare la password e accedere ad internet andando su Network - Wifi. | ||
+ | Cercare una wifi conosciuta facendo scan sulla scheda di rete interna | ||
+ | |||
+ | |||
+ | Collegarsi al router in ssh (per gli utenti windows c'è Putty che funziona molto bene) | ||
+ | |||
+ | Installare i pacchetti dando i seguenti comandi: | ||
+ | opkg update | ||
+ | opkg install nano | ||
+ | opkg install luci-ssl | ||
+ | |||
+ | Voglio usare sue schede wifi, quella integrata per esporre le mie reti, una esterna per collegarsi all'hotspot che fornisce connettività. | ||
+ | |||
+ | Per il supporto periferiche usb ho dovuto installare i seguenti pacchetti: | ||
+ | opkg install kmod-usb-core kmod-usb-ohci kmod-usb2 | ||
+ | |||
+ | Per fargli riconoscere la mia scheda wifi "blueway" | ||
+ | opkg install kmod-rt2800-lib kmod-rt2800-usb kmod-rt2x00-lib kmod-rt2x00-usb | ||
+ | |||
+ | |||
+ | Riavviare per permettere al router di individuare la scheda. | ||
+ | Rientrando su Luci, andare su network - wifi e controllare se è apparsa la seconda interfaccia radio | ||
+ | |||
+ | Cancellare le reti, utilizzare la seconda scheda di rete per collegarsi ad internet | ||
+ | |||
+ | Configurare la lan con un ip statico (es 192.168.250.1) e dhcp server | ||
+ | |||
+ | Creare sull'interfaccia wifi 0 una rete master, e associarla alla lan in bridge. | ||
+ | |||
+ | Per comodità la chiameremo "Unsecure" in quanto dovrebbe girare il traffico direttamente sulla wan (l'hotspot) senza crittografia | ||
+ | |||
+ | |||
+ | |||
+ | Andare su System - system e configurare il nome del dispositivo (che apparirà anche nel nome file quando si salva la configurazione) | ||
+ | |||
+ | Volendo cambiare i server ntp (ntp1.inrim.it,ntp2.inrim.it) | ||
+ | |||
+ | |||
+ | Installare openvpn | ||
+ | |||
+ | opkg install openvpn-openssl | ||
+ | |||
+ | Creare un'interfaccia slan, con ip statico diverso dalla lan (es 192.168.251.1), interfaccia fisica slan, e con dhcp | ||
+ | |||
+ | Creare un'interfaccia swan, unmanaged, con interfaccia fisica tun0 | ||
+ | |||
+ | Vanno aggiunte queste righe su etc/config/network | ||
+ | |||
+ | config interface 'swan' | ||
+ | option ifname 'tun0' | ||
+ | option proto 'none' | ||
+ | |||
+ | config interface 'slan' | ||
+ | option proto 'static' | ||
+ | option ipaddr '192.168.251.1' | ||
+ | option netmask '255.255.255.0' | ||
+ | option _orig_ifname 'lan0' | ||
+ | option _orig_bridge 'false' | ||
+ | option type 'bridge' | ||
+ | option ifname 'slan' | ||
+ | |||
+ | Controllare che il dhcp sia attivo sull'interfaccia slan | ||
+ | |||
+ | Applicare le regole firewall [...] | ||
+ | |||
+ | Inserire queste righe su /etc/config/network | ||
+ | |||
+ | config zone | ||
+ | option input 'ACCEPT' | ||
+ | option output 'ACCEPT' | ||
+ | option name 'slan' | ||
+ | option network 'slan' | ||
+ | option forward 'REJECT' | ||
+ | |||
+ | config zone | ||
+ | option forward 'REJECT' | ||
+ | option output 'ACCEPT' | ||
+ | option input 'REJECT' | ||
+ | option masq '1' | ||
+ | option mtu_fix '1' | ||
+ | option network 'swan' | ||
+ | option name 'swan' | ||
+ | |||
+ | config rule | ||
+ | option target 'ACCEPT' | ||
+ | option family 'ipv4' | ||
+ | option proto 'udp' | ||
+ | option src 'slan' | ||
+ | option name 'Secure DHCP' | ||
+ | option dest_port '67-68' | ||
+ | |||
+ | config rule | ||
+ | option target 'ACCEPT' | ||
+ | option src 'slan' | ||
+ | option name 'Secure DNS' | ||
+ | option dest_port '53' | ||
+ | option family 'ipv4' | ||
+ | |||
+ | config forwarding | ||
+ | option dest 'swan' | ||
+ | option src 'slan' | ||
+ | |||
+ | |||
+ | Creare dentro a /etc/openvpn il file client.conf e aggiungere i certificati nella stessa cartella. | ||
+ | |||
+ | Il mio è così: | ||
+ | |||
+ | client | ||
+ | dev tun | ||
+ | proto tcp | ||
+ | |||
+ | remote [indirizzo del mio server] 443 | ||
+ | resolv-retry infinite | ||
+ | redirect-gateway def1 | ||
+ | nobind | ||
+ | |||
+ | persist-tun | ||
+ | persist-key | ||
+ | |||
+ | ca ca.crt | ||
+ | cert roadwarrior.crt | ||
+ | key roadwarrior.key | ||
+ | remote-cert-tls server | ||
+ | |||
+ | verb 3 | ||
+ | |||
+ | In questo modo openvpn parte all'avvio e cerca di connettersi al server | ||
+ | |||
+ | Ho creato 2 wlan sulla wifi integrata (radio1) bridgiate con lan e slan. Le ho chiamate secure e unsecure | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | Problemi noti: | ||
+ | |||
+ | Bisogna gestire il routing differente per le 2 lan. | ||
+ | "redirect-gateway def1" permette di aggiungere il routing per cui la slan funziona ma la lan non va + inoltre se si sconnette la vpn non si riconnette +, va fatto ripartire il servizio | ||
+ | Ho provato col policy routing, anche scriptando alla connessione della vpn: https://github.com/soehest/openvpn ma non funziona. | ||
+ | |||
+ | E' possibile accendere e spegnere il wifi con questo script (che avevo fatto partire con il connect della vpn, ma va in conflitto col routing | ||
+ | |||
+ | #!/bin/sh | ||
+ | |||
+ | #secure | ||
+ | uci set wireless.@wifi-iface[1].disabled='0' | ||
+ | wifi | ||
+ | #unsecure | ||
+ | uci set wireless.@wifi-iface[0].disabled='1' | ||
+ | wifi | ||
+ | |||
+ | exit 0 |
Versione delle 23:34, 27 ott 2015
Scopo
Questo progetto nasce dall'esigenza di portarsi sempre con se la propria rete anche quando si è in viaggio http://en.wikipedia.org/wiki/Road_warrior_%28computing%29
Avere sempre con se una rete wifi sicura e che i nostri dispositivi conoscono ci evita ogni volta di riconfigurarli.
Il sistema inoltre può essere reso modulare aggiungendo moduli che si connettono ad esempio in wifi, 3G o quello che preferiamo.
Aggiornamento firmware sul router
In questo caso utilizziamo un piccolo access point portatile su cui installiamo il firmware openwrt, il modello non è importante, quello che conta è che il dispositivo sia compatibile con questo firmware.
Di seguito la procedura per installare openwrt su HooToo, un access point a basso costo, con wifi interno, presa per la rete cablata, alimentato con usb, switch hardware.
L'installazione del firmware è riportata sul wiki di openwrt: http://wiki.openwrt.org/toh/hootoo/tripmate-nano.
Il dispositivo ha bisogno di una memoria usb esterna, ad esempio una chiavetta su cui appoggiare il file con il nuovo firmware.
Per caricare openwrt, spostare lo switch sul router nella posizione "mondo", inserire una chiavetta di memoria usb nello slot.
Collegarsi al router tramite wifi e sull'interfaccia web caricare il firmware openwrt.
Attendere 5 minuti di orologio scollegare l'alimentazione e ricollegarla.
A questo punto ci si può collegare al router con il cavo ethernet.
Info (by itec, da sistemare)
Il "RoadWarrior" è un router portatile che permette di condividere una connessione ad internet wireless, in modo sicuro.
Una volta collegato ad un hotspot fornisce facilmente connettività wireless a tutti i dispositivi già associati.
In presenza di captive portal basta collegarsi da un solo dispositivo per dare connettività a tutti gli altri.
E' presente anche una wireless sicura che dirotta tutto il traffico attraverso una VPN, per avere un'uscita verso internet criptata.
Per fare le prove ho usato un router AUKEY PB-W1, che è un router portatile con powerbanck integrato, wifi, ethernet e usb.
In alternativa si può usare un Hootoo Tripmate Nano, o qualsiasi altro router a patto che riesca a supportare OpenWRT e che abbia almeno 8MB di flash (necessaria per installare OpenVPN
Howto un po' incasinato:
- Inserire la parte di installazione di openwrt -
Collegarsi al router all'indirizzo 192.168.1.1, impostare la password e accedere ad internet andando su Network - Wifi.
Cercare una wifi conosciuta facendo scan sulla scheda di rete interna
Collegarsi al router in ssh (per gli utenti windows c'è Putty che funziona molto bene)
Installare i pacchetti dando i seguenti comandi:
opkg update opkg install nano opkg install luci-ssl
Voglio usare sue schede wifi, quella integrata per esporre le mie reti, una esterna per collegarsi all'hotspot che fornisce connettività.
Per il supporto periferiche usb ho dovuto installare i seguenti pacchetti:
opkg install kmod-usb-core kmod-usb-ohci kmod-usb2
Per fargli riconoscere la mia scheda wifi "blueway"
opkg install kmod-rt2800-lib kmod-rt2800-usb kmod-rt2x00-lib kmod-rt2x00-usb
Riavviare per permettere al router di individuare la scheda.
Rientrando su Luci, andare su network - wifi e controllare se è apparsa la seconda interfaccia radio
Cancellare le reti, utilizzare la seconda scheda di rete per collegarsi ad internet
Configurare la lan con un ip statico (es 192.168.250.1) e dhcp server
Creare sull'interfaccia wifi 0 una rete master, e associarla alla lan in bridge.
Per comodità la chiameremo "Unsecure" in quanto dovrebbe girare il traffico direttamente sulla wan (l'hotspot) senza crittografia
Andare su System - system e configurare il nome del dispositivo (che apparirà anche nel nome file quando si salva la configurazione)
Volendo cambiare i server ntp (ntp1.inrim.it,ntp2.inrim.it)
Installare openvpn
opkg install openvpn-openssl
Creare un'interfaccia slan, con ip statico diverso dalla lan (es 192.168.251.1), interfaccia fisica slan, e con dhcp
Creare un'interfaccia swan, unmanaged, con interfaccia fisica tun0
Vanno aggiunte queste righe su etc/config/network
config interface 'swan' option ifname 'tun0' option proto 'none' config interface 'slan' option proto 'static' option ipaddr '192.168.251.1' option netmask '255.255.255.0' option _orig_ifname 'lan0' option _orig_bridge 'false' option type 'bridge' option ifname 'slan'
Controllare che il dhcp sia attivo sull'interfaccia slan
Applicare le regole firewall [...]
Inserire queste righe su /etc/config/network
config zone option input 'ACCEPT' option output 'ACCEPT' option name 'slan' option network 'slan' option forward 'REJECT' config zone option forward 'REJECT' option output 'ACCEPT' option input 'REJECT' option masq '1' option mtu_fix '1' option network 'swan' option name 'swan' config rule option target 'ACCEPT' option family 'ipv4' option proto 'udp' option src 'slan' option name 'Secure DHCP' option dest_port '67-68'
config rule option target 'ACCEPT' option src 'slan' option name 'Secure DNS' option dest_port '53' option family 'ipv4' config forwarding option dest 'swan' option src 'slan'
Creare dentro a /etc/openvpn il file client.conf e aggiungere i certificati nella stessa cartella.
Il mio è così:
client dev tun proto tcp
remote [indirizzo del mio server] 443 resolv-retry infinite redirect-gateway def1 nobind
persist-tun persist-key
ca ca.crt cert roadwarrior.crt key roadwarrior.key remote-cert-tls server
verb 3
In questo modo openvpn parte all'avvio e cerca di connettersi al server
Ho creato 2 wlan sulla wifi integrata (radio1) bridgiate con lan e slan. Le ho chiamate secure e unsecure
Problemi noti:
Bisogna gestire il routing differente per le 2 lan. "redirect-gateway def1" permette di aggiungere il routing per cui la slan funziona ma la lan non va + inoltre se si sconnette la vpn non si riconnette +, va fatto ripartire il servizio Ho provato col policy routing, anche scriptando alla connessione della vpn: https://github.com/soehest/openvpn ma non funziona.
E' possibile accendere e spegnere il wifi con questo script (che avevo fatto partire con il connect della vpn, ma va in conflitto col routing
- !/bin/sh
- secure
uci set wireless.@wifi-iface[1].disabled='0' wifi
- unsecure
uci set wireless.@wifi-iface[0].disabled='1' wifi
exit 0