<?xml version="1.0" encoding="utf-8"?><!DOCTYPE article  PUBLIC '-//OASIS//DTD DocBook XML V4.4//EN'  'http://www.docbook.org/xml/4.4/docbookx.dtd'><article><articleinfo><title>RiseUp_VPN</title><revhistory><revision><revnumber>6</revnumber><date>2013-01-25 13:44:00</date><authorinitials>193.205.142.202</authorinitials></revision><revision><revnumber>5</revnumber><date>2013-01-25 13:43:29</date><authorinitials>193.205.142.202</authorinitials></revision><revision><revnumber>4</revnumber><date>2013-01-25 13:42:19</date><authorinitials>193.205.142.202</authorinitials></revision><revision><revnumber>3</revnumber><date>2013-01-25 13:40:43</date><authorinitials>193.205.142.202</authorinitials></revision><revision><revnumber>2</revnumber><date>2013-01-25 13:15:47</date><authorinitials>193.205.142.202</authorinitials></revision><revision><revnumber>1</revnumber><date>2013-01-25 13:07:54</date><authorinitials>193.205.142.202</authorinitials></revision></revhistory></articleinfo><section><title>Redirigere il traffico proveniente da una subnet verso RiseUP</title><para>Qui spiegheremo come configurare un tunnel vpn verso <ulink url="http://ninux.org/RiseUp_VPN/RiseUp#">RiseUp</ulink> su OpenWRT come descritto in queste slide: <ulink url="http://wiki.ninux.org/Presentazioni?action=AttachFile&amp;do=get&amp;target=VPN+RiseUp.odp"/> </para><para>Partiamo da un router OpenWRT già configurato con olsr funzionante. Il router suddetto ha come default gateway assegnato una router connesso a internet e il traffico proveniente dall'hotspot deve transitare per forza attraverso il nostro router per poter uscire su internet (annunciamo la 0.0.0.0/0 fra le hna del router OpenWRT). </para><para>Iniziamo preparando il router OpenWRT installando i pacchetti necessari: </para><screen><![CDATA[iptables (solitamente già installato)
openvpn]]></screen><para>Accediamo alla shell SSH del nostro router e diamo i seguenti comandi: </para><screen><![CDATA[opkg update
opkg install openvpn]]></screen><para>A questo punto scarichiamo il file <ulink url="http://wiki.ninux.org/RiseUp_VPN?action=AttachFile&amp;do=get&amp;target=openvpn.zip"/> All'interno troveremo: </para><screen><![CDATA[riseup.ovpn (file di configurazione per openvpn specifico per riseup)
riseup_auth.txt (contiene nostro nome utente, password o secret per VPN RiseUP)
RiseupCA.pem (certificato vpn riseup)
ruvpnrouteadd.sh (piccolo script che viene lanciato alla fine dell'avvio di openvpn ed abilita il traffico internet a passare per riseup)]]></screen><para>Questi file devono essere copiati nella cartella /etc/openvpn/ del nostro router, l'unica modifica che dovremo fare e sostituire all'interno di riseup_auth.txt i valori username e password/secret con quelli forniti da RiseUP. </para><para>A questo punto andiamo nel nostro file di configurazione di olsr, solitamente si può trovare in /etc/config/olsrd. Dovremo aggiungere o sostituire (nel caso fossero già presenti) le seguenti 2 righe sotto option Ipversion nel file di configurazione: </para><screen><![CDATA[        option IpVersion '4'
        option 'RtTable' '222'
        option 'RtTableDefault' '223']]></screen><para>Fino a questo punto tutte le modifiche fatte sono comuni per la maggior parte degli scenari possibili, adesso vedremo come creare la configurazione specifica per i vari casi. </para><para>Supponiamo che la subnet assegnata alla radio del nostro Hotspot sia la 10.135.3.0/24 </para><para>Il nostro default Gateway è il 10.135.2.1 </para><para>Con la precedenti configurazioni abbiamo specificato: </para><para>le rotte interne a Ninux verranno inserite nella tabella 222 </para><para>la default fornita da olsr sarà inserita nella tabella 223 </para><para>la default fornita dal tunnel VPN verso RiseUP sarà inserita enlla tabella 235 </para><para>modifichiamo il file /etc/rc.local del nostro router in questo modo: </para><para>eliminiamo l'ultima riga in cui è presente </para><screen><![CDATA[exit 0]]></screen><para>aggiungiamo subito dopo i seguenti comandi: </para><screen><![CDATA[openvpn /etc/openvpn/riseup.ovpn > /dev/null 2>&1 &
]]><![CDATA[
# tables:
# 222 -> olsr
# 223 -> olsr default
# 235 -> vpn
]]><![CDATA[
sleep 5
]]><![CDATA[
ip route add blackhole 10.0.0.0/8
ip route add blackhole 172.16.0.0/12
ip route add blackhole 192.168.0.0/16
ip route add blackhole 176.62.53.0/24
]]><![CDATA[
ip route add 198.252.153.26 via 10.135.2.1 dev eth0 #openvpn riseup
]]><![CDATA[
ip rule add from all lookup 222 pref 1000           #ninux network
ip rule add from 10.135.3.0/24 lookup 234 pref 2000 #hotspot subnet to ninux
ip rule add from 10.135.3.0/24 lookup 235 pref 2500 #hotspot subnet to the Inter
]]><![CDATA[
iptables -A POSTROUTING -t nat -o tun0 -j MASQUERADE
]]><![CDATA[
exit 0]]></screen><para>Modifichiamo indirizzo del nostro default gateway e della subnet dell'hotspot al file rc.local con quelli del nostro caso specifico. Salviamo. Riavviate il router. </para><para>Se abbiamo configurato tutto correttamente il traffico proveniente dall'hotspot verrà reindirizzato verso RiseUP. Enjoy! </para><para>Ringrazio Clauz per il supporto nella configurazione. </para></section></article>