la prima cosa che dobbiamo fare dopo aver installato openwrt sul nostro router, e' quella di aggiungere tutto cio' che ci serve
per far cio' dovremo collegare il router da configurare alla nostra rete o via cavo lan, o via wifi
anche se molte di quello che faremo e' possibile farlo via interfaccia grafica, personalmente sono piu' abituato a lavorare a riga di comando , quindi da ora in poi' vi guidero seguendo questa via, l' unica cosa che faremo da GUI e' quella di collegarci al router, che subito dopo l' installazione e' senza password, e seguendo il link del messaggio che ci appare in alto, impostare una password.
quindi da questo momento possiamo collegarci via ssh al router, in questo documento ove non espressamente indicato mi sto riferendo al router alice , quindi se vi interessa per altri router dovrete in alcuni posti (segnalati) cambiare qualcosa...
ssh root<at>192.168.1.1
ssh-keygen -f "/home/nome_account/.ssh/known_hosts" -R 192.168.1.1
openwrt centralizza tutte le configurazioni nella directory
/etc/config
quello che ci interessera' maggiormente sono i file:
wireless -> contiene la configurazione dell' interfaccia wifi
network -> contiene la configurazione delle interfacce lan
firewall -> continene la configurazione del firewall
la prima cosa che vi consiglio e' di backupparvi questi file in modo da avere sempre una copia originale
cp /etc/config/wireless /etc/config/wireless.originale cp /etc/config/network /etc/config/network.originale cp /etc/config/firewall /etc/config/firewall.originale
di defaul l' editor testo e' vi , quindi
i per abilitare la modalita' editor
esc w per salvare
esc q per uscire
esc q! per uscire senza salvare
ctrl-z per abbandonare
dd per cancellare una riga
saranno nostri amici i comandi :
logread -f per vedere i log
eventualmente ne vessimo di bisogno, i repository sono elencati dentro al file
/etc/opkg/distfeeds.conf /etc/opkg.conf
con openwrt-15.05-brcm63xx-generic-AGV2+W-squashfs-cfe.bin , non mi sono ritrovato questo file, quindi va aggiunto a manina
vi /etc/opkg/distfeeds.conf
qui' se utilizzate un' altra versione di openwrt o per un' altro router va corretta ogni singola riga col path corretto
dovrete sostituire chaos_calmer/15.05 con cosaltro state usando
dovrete sostituire brcm63xx con la vostra piattaforma
src/gz designated_driver_base http://downloads.openwrt.org/chaos_calmer/15.05/brcm63xx/generic/packages/base src/gz designated_driver_luci http://downloads.openwrt.org/chaos_calmer/15.05/brcm63xx/generic/packages/luci src/gz designated_driver_management http://downloads.openwrt.org/chaos_calmer/15.05/brcm63xx/generic/packages/management src/gz designated_driver_packages http://downloads.openwrt.org/chaos_calmer/15.05/brcm63xx/generic/packages/packages src/gz designated_driver_routing http://downloads.openwrt.org/chaos_calmer/15.05/brcm63xx/generic/packages/routing src/gz designated_driver_telephony http://downloads.openwrt.org/chaos_calmer/15.05/brcm63xx/generic/packages/telephony
alla data del 24/02/2016 ci sono dei seri problemi col server principale, quindi la band ha messo su un server mirror , istruzioni su https://wiki.openwrt.org/about/mirrors
quindi se non si aggiornano le liste file, cambiate distfeeds.conf adattandolo alle vostre esigenze, state attenti, non tutti i mirror contengono tutte le architetture, ad esempio sul garr.it manca il model alice (brcm63xx) che invece e' presente su feikfunt.net :
io ho preferito per comodita' logistica collegarmi via wifi, quindi devo impostare il router in modo che l' interfaccia wireless si colleghi al wifi di casa mia, e la parte di network affinche usi l' interfaccia wifi come WAN e richieda un' indirizzo ip al mio router casalingo
iniziamo col configurare la parte network, se volete potete cambiare l' ip da dare al router da 192.168.1.1 a quello che volete voi, ricordatevi che il file qui' sotto e' per alice gate v2 brcm63xx
vi /etc/config/network
config interface 'loopback' option ifname 'lo' option proto 'static' option ipaddr '127.0.0.1' option netmask '255.0.0.0' config globals 'globals' option ula_prefix 'fd41:1e87:9980::/48' config interface 'lan' option type 'bridge' option ifname 'eth1' option proto 'static' option ipaddr '192.168.1.1' option netmask '255.255.255.0' option ip6assign '60' config interface 'wan' # verra applicata a qualsiasi interfaccia che avra' il nome wan , la creeremo nel file wireless option proto 'dhcp' config interface 'wan6' option ifname 'eth0' option proto 'dhcpv6' config switch option name 'switch0' option reset '1' option enable_vlan '1' config switch_vlan option device 'switch0' option vlan '1' option ports '0 1 2 3 5'
l' ultima parte del file e' relativa allo switch fisico del router, in pratica crea la configurazione dello switch e assegna le porte da 0 a 5 (anche se in realta' ne abbiamo 4) tutte alla vlan 1, ossia senza id vlan , se volessimo assegnare una porta ad una vlan, basta duplicare questa parte e assegnarci la porta (avendo cura di rimuoverla dall' altra vlan, in questo esempio abbiamo assegnato la porta 2 alla vlan 2
config switch_vlan option device 'switch0' option vlan '2' option ports '2
quindi riavviare la rete
/etc/init.d/network restart
per connettersi via wifi al telefono, editiamo il file wireless, questo mio esempio e' basato sul router alice, adattatelo al vostro router, NON FATE COPIA INCOLLA, rischiate di brikkare il router
per poter modificare il file vi serve sapere :
l' SSID della vostra rete wifi
il canale sul quale trasmette
la password del wifi
config wifi-device 'radio0' option type 'mac80211' option channel '2' option hwmode '11g' option path 'pci0000:00/0000:00:01.0/ssb0:0' option txpower '13' option country 'IT' config wifi-iface option device 'radio0' option ssid 'ssid della rete wifi a cui ci si deve collegare' option mode 'sta' option encryption 'psk2' option key 'chiave del wifi' option network 'wan' # indica il nome che assegnamo all' interfaccia e che sara' utilizzato dentro al file network
cosi potrete collegarvi al wifi di casa ( ma anche a quello dell' hotspot del vostro cellulare nel caso siate fuori casa)
a questo punto possiamo riavviare il wifi per far collegare il router al nostro accesspoint
wifi off
wifi on
l interfaccia wan dovrebbe configurarsi con un' indirizzo ip automaticamente, eventualmente basta tirarla su con
ifup wan
riferimenti
https://wiki.openwrt.org/doc/uci/wireless
https://wiki.openwrt.org/doc/recipes/routedclient#usingmasquerade
quindi passiamo ad installare realmente i software che vogliamo, inziamo con aggiornare la lista del software disponibile dai repository
opkg update
quindi un po' di roba generica , ricordatevi che se avete una flash da 4 mb potrete installare veramente poco, scegliete con oculatezza cosa aggiungere
midnight commander per copiare file
tcpdump per fare un po' di debug sulla rete
nano , un editor alternativo con cui mi trovo piu' comodo
opkg install mc tcpdump nano
se vogliamo gestire qualcosa sulla porta usb, dovremo caricare tutto il sistema di gestione delle periferiche usb, almeno a livello di moduli
opkg install usbutils kmod-usb-core kmod-usb-uhci kmod-usb2 kmod-usb-ohci
quindi un bel reboot se no da errore
lsusb
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
lsusb
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 002: ID 12d1:1446 Huawei Technologies Co., Ltd. E1552/E1800/E173 (HSPA modem)
Bus 001 Device 003: ID 19d2:1405 ZTE WCDMA Technologies MSM
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
opkg list | grep Italian
che vi restituira' un elenco come :
luci-i18n-ahcp-it - git-15.248.30277-3836b45-1 - Translation for luci-app-ahcp - Italiano (Italian) luci-i18n-asterisk-it - git-15.248.30277-3836b45-1 - Translation for luci-app-asterisk - Italiano (Italian) luci-i18n-base-it - git-15.248.30277-3836b45-1 - Translation for luci-base - Italiano (Italian) luci-i18n-commands-it - git-15.248.30277-3836b45-1 - Translation for luci-app-commands - Italiano (Italian) luci-i18n-ddns-it - 2.2.4-1 - Translation for luci-app-ddns - Italiano (Italian) luci-i18n-diag-core-it - git-15.248.30277-3836b45-1 - Translation for luci-app-diag-core - Italiano (Italian) luci-i18n-diag-devinfo-it - git-15.248.30277-3836b45-1 - Translation for luci-app-diag-devinfo - Italiano (Italian) luci-i18n-firewall-it - git-15.248.30277-3836b45-1 - Translation for luci-app-firewall - Italiano (Italian) luci-i18n-freifunk-it - git-15.248.30277-3836b45-1 - Translation for luci-mod-freifunk - Italiano (Italian) luci-i18n-freifunk-policyrouting-it - git-15.248.30277-3836b45-1 - Translation for luci-app-freifunk-policyrouting - Italiano (Italian) luci-i18n-hd-idle-it - git-15.248.30277-3836b45-1 - Translation for luci-app-hd-idle - Italiano (Italian) luci-i18n-meshwizard-it - git-15.248.30277-3836b45-1 - Translation for luci-app-meshwizard - Italiano (Italian) luci-i18n-minidlna-it - git-15.248.30277-3836b45-1 - Translation for luci-app-minidlna - Italiano (Italian) luci-i18n-mmc-over-gpio-it - git-15.248.30277-3836b45-1 - Translation for luci-app-mmc-over-gpio - Italiano (Italian) luci-i18n-multiwan-it - git-15.248.30277-3836b45-1 - Translation for luci-app-multiwan - Italiano (Italian) luci-i18n-ntpc-it - git-15.248.30277-3836b45-1 - Translation for luci-app-ntpc - Italiano (Italian) luci-i18n-olsr-it - git-15.248.30277-3836b45-1 - Translation for luci-app-olsr - Italiano (Italian) luci-i18n-openvpn-it - git-15.248.30277-3836b45-1 - Translation for luci-app-openvpn - Italiano (Italian) luci-i18n-p2pblock-it - git-15.248.30277-3836b45-1 - Translation for luci-app-p2pblock - Italiano (Italian) luci-i18n-p910nd-it - git-15.248.30277-3836b45-1 - Translation for luci-app-p910nd - Italiano (Italian) luci-i18n-pbx-it - git-15.248.30277-3836b45-1 - Translation for luci-app-pbx - Italiano (Italian) luci-i18n-pbx-voicemail-it - git-15.248.30277-3836b45-1 - Translation for luci-app-pbx-voicemail - Italiano (Italian) luci-i18n-polipo-it - git-15.248.30277-3836b45-1 - Translation for luci-app-polipo - Italiano (Italian) luci-i18n-qos-it - git-15.248.30277-3836b45-1 - Translation for luci-app-qos - Italiano (Italian) luci-i18n-radvd-it - git-15.248.30277-3836b45-1 - Translation for luci-app-radvd - Italiano (Italian) luci-i18n-samba-it - git-15.248.30277-3836b45-1 - Translation for luci-app-samba - Italiano (Italian) luci-i18n-splash-it - git-15.248.30277-3836b45-1 - Translation for luci-app-splash - Italiano (Italian) luci-i18n-statistics-it - git-15.248.30277-3836b45-1 - Translation for luci-app-statistics - Italiano (Italian) luci-i18n-tinyproxy-it - git-15.248.30277-3836b45-1 - Translation for luci-app-tinyproxy - Italiano (Italian) luci-i18n-transmission-it - git-15.248.30277-3836b45-1 - Translation for luci-app-transmission - Italiano (Italian) luci-i18n-upnp-it - git-15.248.30277-3836b45-1 - Translation for luci-app-upnp - Italiano (Italian) luci-i18n-vnstat-it - git-15.248.30277-3836b45-1 - Translation for luci-app-vnstat - Italiano (Italian) luci-i18n-voice-core-it - git-15.248.30277-3836b45-1 - Translation for luci-app-voice-core - Italiano (Italian) luci-i18n-voice-diag-it - git-15.248.30277-3836b45-1 - Translation for luci-app-voice-diag - Italiano (Italian) luci-i18n-watchcat-it - git-15.248.30277-3836b45-1 - Translation for luci-app-watchcat - Italiano (Italian) luci-i18n-wol-it - git-15.248.30277-3836b45-1 - Translation for luci-app-wol - Italiano (Italian) luci-i18n-wshaper-it - git-15.248.30277-3836b45-1 - Translation for luci-app-wshaper - Italiano (Italian)
per ora, installiamo
opkg install luci-i18n-base-it luci-i18n-firewall-it luci-i18n-statistics-it
qui' abbiamo terminato con l' installazione generica, ora ci dobbiamo chiedere cosa vogliamo realizzare e con cosa ....
se volevamo fare un access point separato dalla nostra rete di casa , e' quasi tutto pronto, -> vai qui access point
se volevamo fare un convertitore da rete wireless a wifi e siamo partiti da un router con switch fisico, magari perche' abbiamo un decoder tipo il mysky che ha solo la porta ethernet, e' tutto fatto , non dobbiamo cambiare niente , nel caso invece stiamo usando qualcosa tipo un range extender tp-link -> vai qui client wifi
se vogliamo realizzare un router per una chiavetta umts, siamo a buon punto, dobbiamo solo capire la nostra chiavetta che tipo e' e proseguire
-
come dispositivo seriale , se la chiavetta si riconosce /dev/ttyUSB0 (12d1:1446 Huawei Technologies Co., Ltd. E1552/E1800/E173 (HSPA modem)
-
come dispositivo ethernet se la chiavetta si riconosce come cdc (19d2:1405 ZTE WCDMA Technologies MSM)
se vogliamo aggiungere una vpn con openvpn come client -> vai qui