Come si condivide la propria ADSL?
Per condividere la propria ADSL bisogna far annunciare ad una delle antenne del proprio nodo (o al router OLSR principale nel caso di routing a terra) la rotta di default, anche conosciuta come "la zero".
Per fare queste modifiche è necessario connettersi via SSH sul proprio device.
Modificare il file olsrd.conf
# cd alla directory dove si trova il file olsrd.conf vi olsrd.conf
aggiungere 0.0.0.0 0.0.0.0 al blocco Hna4:
per i device che usano il file di olsr parsed (come AirOS)
Hna4 { [IP-TUASUBNET] 255.255.255.0 0.0.0.0 0.0.0.0 }
per i device che utilizzano il file di olsr uci
config Hna4 option netaddr 'TUA_SUBNET' option netmask '255.255.255.0' option netaddr '0.0.0.0' option netmask '0.0.0.0'
Modificare il Gateway
imposta l'indirizzo del tuo router ADSL come default gateway. Il tuo router deve essere raggiungibile da rete ninux!
Ad esempio su AirOS si può fare così:
vi /tmp/system.cfg
# modificando poi la riga del gateway route.1.gatway=[INDIRIZZO-IP-ROUTER-ADSL] # salva ed esci premendo :wq e poi enter
cfgmtd -f /tmp/system.cfg -p /etc -w && reboot
Impostare la rotta di default
Per impostare la rotta di default sia in AirOS che su OpenWRT bisogna dare il comando
ip -4 r a default via [INDIRIZZO-IP-ROUTER-ADSL] dev eth0
Per far eseguire questo comando all'avvio del device lo si deve inserire in uno degli script di avvio
Sul firmware Ninux per AirOS si fa così:
vi /etc/persisent/ninux
aggiungere il comando subito prima delle ultime due righe:
# ... altre impostazioni # ... ip -4 r a default via [INDIRIZZO-IP-ROUTER-ADSL] dev eth0 # fine del file ) &
per i device con OpenWRT è necessario inserire il comando
# ... altre impostazioni ip -4 r a default via [INDIRIZZO-IP-ROUTER-ADSL] dev eth0 # ... altre impostazioni exit 0
all'interno del file /etc/rc.local oppure configurare in maniera adeguata il file /etc/config/network
Far conoscere al router ADSL dov'è ninux
Avendo il router adsl la rotta di default del provider e conoscendo solo la sottorete locale occorre indicargli come raggiungere la rete ninux. Per far questo basta mandare la classe degli ip privati verso un router olsr nella nostra rete (antenna o router che sia). I router ADSL hanno spesso interfaccia grafica, cerciamo nei meandri qualcosa come "rotte statiche" o "static routes" e inseriamo:
Rete |
Netmask |
Gateway |
10.0.0.0 |
255.0.0.0 |
<ip antenna> |
192.168.0.0 |
255.255.0.0 |
<ip antenna> |
172.16.0.0 |
255.240.0.0 |
<ip antenna> |
Un problema può sorgere su alcuni router che effettuano NAT solo se la provenienza dei pacchetti è la sottorete locale. Proviamo a cercare tra le impostazioni del router adsl se c'è qualcosa che permetta il nat più esteso. Altrimenti si può ovviare a questo problema facendo fare un doppio NAT:
- - L'antenna fa NAT da ninux alla nostra rete locale - Il router ADSL farà NAT dalla rete locale a Internet
supponiamo che la nostra sottorete sia 10.233.233.0/24 e l'ip dell'antenna 10.233.233.1
iptables -A POSTROUTING -o eth0 ! -d 10.233.233.0/24 -j SNAT --to-source 10.233.233.1
è una zozzeria ma è il prezzo da pagare per usare hardware pensato per l'utente medio.
Riavviare e controllare
Una volta salvate tutte le impostazioni bisognerà riavviare il device.
Per controllare che il tutto funziona correttamente rientrate nell'antenna e provate a pingare un indirizzo su internet.
ssh root@[VOSTRO-IP] ping wiki.ninux.org