[RISOLTO] problema con rete Nattata Wind


72 posts   Page 1 of 3   1, 2, 3
by sean12 » Fri Feb 15, 2013 9:04 am
ciao a tutti,

non so se il mio problema è OT

(non sono molto esperto nella la programmazione LINUX)

ho un hardware per il monitoraggio installato in un campo, in questa zona prende come operatore telefonico solo wind e non c'è adsl.
Questo sistema di monitoraggio(che adesso chiamerò SM) è collegato in Lan all'indirizzo(192.168.0.5) ad un router Netgear MBRN3000 con chiavetta Wind, vorrei riuscire ad accedere in remoto al SM. Ho configurato il router con dyndns e quando la wind assegna in indirizzo IP pubblico riesco tranquillamente ad accedere in remoto al SM ma quando la Wind assegna un indirizzo IP privato (rete nattata) del tipo 10.x.x.x. non riesco ad accedere al SM.
Per aggirare questo problema mi hanno consigliato di acquistare un raspberry collegarlo al router e creare un tunnel VPN. Prima di acquistarlo per vedere se riesco a risolvere il problema sto facendo delle prove con una PC dove è installato Xubuntu . Ho installato Hamachi che mi assegna un IP virtuale e riesco a collegarmi in remoto tramite ssh alla macchina Xubuntu acnhe quando Wind assegna IP privati, adesso però come faccio a collegarmi in remoto al SM (che in locale si trova in 192.168.0.5)???

Grazie mille
Last edited by sean12 on Wed Mar 13, 2013 2:10 pm, edited 1 time in total.
Posts: 37
Joined: Fri Feb 15, 2013 8:31 am
by cil8 » Fri Feb 15, 2013 12:01 pm
ammesso che io abbia capito bene, potresti usare il port forward di ssh; immagino che il comando che usi per collegarti alla macchina Xubuntu (che diventerà un raspberry) sia:
Code: Select all
ssh <utente>@<ip virtuale macchina xubuntu>

per il port forward:
Code: Select all
ssh <utente>@<ip virtuale macchina xubuntu> -L <numero porta locale>:192.168.0.5:<numero porta del servizio sul SM>

dopodichè potrai raggiungere il servizio sul SM all'indirizzo locale sul tuo client 127.0.0.1:<numero porta locale>

spero di essermi spiegato in modo comprensibile.
Posts: 102
Joined: Tue Feb 14, 2012 10:47 am
by sean12 » Sat Feb 16, 2013 10:34 am
ciao e grazie mille per la risposta,

quello che vorrei e che una volta creato il tunnel VPN da casa digitando sul Browser ad esempio IPdelSMvirtualeHimachi:80 mi accede al Router che ho nel campo e IPdelSMvirtualeHimachi:8080 mi accede al SM.

tnks
Posts: 37
Joined: Fri Feb 15, 2013 8:31 am
by cil8 » Sat Feb 16, 2013 11:59 am
che comando usi per collegarti in ssh alla macchina xubuntu?
Posts: 102
Joined: Tue Feb 14, 2012 10:47 am
by sean12 » Sat Feb 16, 2013 12:22 pm
putty con windows
Posts: 37
Joined: Fri Feb 15, 2013 8:31 am
by cil8 » Sat Feb 16, 2013 4:21 pm
ah, ho capito. Putty va benissimo.
Devi configurare Putty per fare il tunnel da una porta locale della macchina su cui esso è in esecuzione verso la macchina xubuntu, e poi da lì raggiungere il servizio SM.
in Category, segui l'albero Connection -> SSH -> Tunnels. Poi sotto 'Add new forwarded port' metti:
Source: port 8080
Destination: <ip reale del SM>:8080

per <ip reale del SM> intendo l'ip della macchina che offre il servizio SM, che sia raggiungibile dal xubuntu (che immagino essere sulla stessa lan).

poi ti colleghi in ssh alla macchina xubuntu e, tenendo la connessione aperta, apri il browser e ti colleghi all'indirizzo 127.0.0.1:8080 e trovi la pagina web del SM.
Posts: 102
Joined: Tue Feb 14, 2012 10:47 am
by sean12 » Sat Feb 16, 2013 7:24 pm
per ip reale intendi 192.168.0.5 giusto? che sarebbe l'ip locale che il router assegna al SM, e non l'ip virtuale del SM che inserisco in putty in"session"--> HostName , e non intendi nemmeno l'ip privato(nattato) che la wind assegna alla rete sottoforma di 10.x.x.x.x?

perchè ho provato con 192.168.0.5 e digitando 127.0.0.1:8080 non funziona.
Le porte del router devono essere aperte a 8080 per l'ip 192.168.0.5 giusto? il protocollo va bene UDP/TCP?

ho provato anche con

Source port:80
Destination: 192.168.0.1:80

e digitando 127.0.0.1:80 non mi fa entrare nel router, nonostante ho abilitato l'accesso remoto su di esso. :x
Posts: 37
Joined: Fri Feb 15, 2013 8:31 am
by cil8 » Sat Feb 16, 2013 7:38 pm
per ip reale intendo quello. L'ip nattato di Wind lo ignoriamo visto che il problema del NAT lo salti usando Hamachi.
Domanda: se da Xubuntu volessi collegarti al SM usando il browser, quale url useresti?
Posts: 102
Joined: Tue Feb 14, 2012 10:47 am
by sean12 » Sat Feb 16, 2013 9:27 pm
192.168.0.5

Comunque domani riprovo che adesso li non c'è luce

Grazie
Posts: 37
Joined: Fri Feb 15, 2013 8:31 am
by cil8 » Sun Feb 17, 2013 7:38 am
riprova la stessa configurazione che avevo scritto prima cambiando:
Destination: 192.168.0.5:80
Posts: 102
Joined: Tue Feb 14, 2012 10:47 am
by sean12 » Wed Feb 20, 2013 11:37 am
ciao e grazie mille per il supporto sei stato davvero molto utile,

non funzionava perchè ogni tanto la connessione cade e l'ip cambia, e una volta caduta la connessione e poi di conseguenza riconnesso con un nuovo ip, non vedo più la macchina Xubuntu su hamachi. Se digito
Code: Select all
sudo hamachi login

mi dice che già sono connesso, ma in realtà sul PC da casa tramite Hamachi risulta che il PC con Xubuntu è offline. Se invece faccio su Xubuntu logout e poi login si connette con hamachi e tutto funziona :D

quindi mi servirebbe una procedura di controllo Hamachi così nel caso è offline riparte da solo.
allora io ho istallato hamachi seguendo una guida che ho trovato qui(ovviamente essendo per il momento xubuntu ho scaricato la versione ha 32bit)
Code: Select all
apt-get -y install --fix-missing lsb lsb-core
wget --no-check-certificate https://secure.logmein.com/labs/logmein-hamachi_2.1.0.86-1_armel.deb
dpkg --force-architecture --force-depends -i logmein-hamachi_2.1.0.86-1_armel.deb
rm logmein-hamachi_2.1.0.86-1_armel.deb

/etc/init.d/logmein-hamachi start


ho letto nelle varie guide che per far si che hamachi controlli ogni 10 minuti se è connesso bisogna mettere in sudo crontab -e:
*/10 * * * * /usr/bin/check-hamachi > /dev/null 2>&1

ma in /usr/bin/ non trovo il file check-hamachi. come mai?

è meglio lasciar perdere hamachi e passare a openVPN?qual'è il migliore tra i due?
Posts: 37
Joined: Fri Feb 15, 2013 8:31 am
by cil8 » Wed Feb 20, 2013 10:37 pm
non conosco abbastanza Hamachi per poterti supportare. Da quello che ho inteso però il pregio di Hamachi è la sua assoluta semplicità di configurazione al prezzo di un funzionamento non sempre ottimale.
OpenVPN sicuramente fa al caso tuo, ma credo sia parecchio complesso da configurare (un tentativo potresti comunque farlo). Io ho ripiegato su Tinc http://www.tinc-vpn.org , che funziona davvero bene, non immediato da configurare ma seguendo con attenzione la documentazione ce la si fa tranquillamente. Attenzione però che almeno una macchina nella tua VPN deve avere un indirizzo pubblico, anche raggiungibile con DNS dinamico. E questo forse vale anche per OpenVPN.

ciao
Posts: 102
Joined: Tue Feb 14, 2012 10:47 am
by sean12 » Fri Feb 22, 2013 10:45 am
facendo un pò di prove ho visto che bisogna far si che se la connessione cade e l'ip cambia bisogna far partire questo comando:

Code: Select all
/etc/init.d/logmein-hamachi restart


in rete ho visto qualche esempio per il check cambio IP, soltanto che loro usano http://checkip.dyndns.com/ ma con la Wind funziona solo quando ip è pubblico, invece quando ip è privato sotto forma di 10.0.0.0 facendo http://checkip.dyndns.com/ il risultato è un ip fasullo tipo 151.0.0.0. Per questo motivo non posso usare http://checkip.dyndns.com/
Lo script che ho trovato chiamato inforaspy è questo :
Code: Select all
#!/bin/bash

############ Parametri da impostare ############
user="pi"
############ Fine Parametri ############

ip_old="`tail /home/$user/.inforaspy`"
ip_now="`wget -qO- http://checkip.dyndns.org/ | sed "s/.*\([[:digit:]]*\.[[:digit:]]*\.[[:digit:]]*\.[[:digit:]]*\).*/\1/g"`"
echo $ip_now > /home/$user/.inforaspy
if [ "$ip_old" != "$ip_now" ]; then
echo "Ip pubblico raspberry cambiato il nuovo ip è"$ip_now
fi
exit



quindi invece di
Code: Select all
ip_now="`wget -qO- http://checkip.dyndns.org/ | sed "s/.*\([[:digit:]]*\.[[:digit:]]*\.[[:digit:]]*\.[[:digit:]]*\).*/\1/g"`"


devo interrogare la pagina di stato del modem e devo vedere l'ip assegnato e metterlo in ip_now

quindi ho fatto:

Codice: Seleziona tutto
wget http://192.168.0.1/Modem_status.htm --http-user='<user>' --http-password='<password>'


ed esaminando questo file trovo il mio ip sia nella riga 142 e sia nella riga 158:


Code: Select all
 
riga 140  <tr>
riga 141          <td width="50%"><b>Indirizzo IP </b></td>
riga 142      <td width="50%">MIOIP</td>
riga 143  </tr>
riga 144 
riga 145  <tr>
riga 146 
riga 147     <td width="50%"><b>Protocollo</b></td>
riga 148     <td width="50%">PPP</td>
riga 149  </tr>
riga 150 
riga 151  <tr>
riga 152     <td width="50%"><b>Subnet mask IP </b></td>
riga 153     <td width="50%">MIA SUBNET MASK IP</td>
riga 154  </tr>
riga 155  <!--
riga 156  <tr>
riga 157     <td width="50%"><b>Gateway Ip Address</b></td>
riga 158     <td width="50%">MIOIP</td>


adesso mi chiedo:
1-quale delle due righe devo considerare?
2-come faccio a mettere il contenuto di una delle due righe (cioè MIOIP) dentro a ip_now ?
Posts: 37
Joined: Fri Feb 15, 2013 8:31 am
by sean12 » Sat Feb 23, 2013 12:40 am
per il check-cambio-IP ho risolto in questo modo:

infatti non avevo pensato che, quando wind rilascia ip privati(10.0.0.0.0.), anche se con checkip.dyndns.org da un risultato fasullo, l'ip cambia comunque.
ad esempio se ho un ip tipo 10.22.322.12 e faccio checkip.dyndns.org il risultato fasullo è tipo 151.67.46.32, se in un secondo momento la connessione cade ed ho un nuovo ip tipo 10.33.441.55 facendo checkip.dyndns.org il risultato fasullo è tipo 151.67.46.32, quindi anche se i 2 ip sono fasulli, l'ip è cambiato quindi hamachi si riconnette

lo script chiamato checkip è:

Code: Select all
#!/bin/bash

user="tuouser"
ip_old="`tail /home/$user/hamachi/.checkip`"
ip_now="`wget -qO- http://checkip.dyndns.org/ | sed "s/.* \([[:digit:]]*\.[[:digit:]]*\.[[:digit:]]*\.[[:digit:]]*\).*/\1/g"`"
echo $ip_now > /home/$user/hamachi/.checkip
if [ "$ip_old" != "$ip_now" ]; then
 echo  $(date) "Ip pubblico raspberry cambiato!" $ip_now
 sudo /etc/init.d/logmein-hamachi restart
else  echo $(date) $ip_old
fi
exit


dopodiché l'ho reso eseguibile ogni 10 minuti in sudo crontab -e, inserendo la riga:
*/10 * * * * /home/user/hamachi/checkip
e tutto funziona.

Adesso diciamo che ho quasi risolto l'ultimo problema(e spero che sia veramente l'ultimo) e che ogni tanto dopo 1,2 anche 5 giorni il router si blocca, cioè la chiavetta lampeggia invece di essere fissa e il router non è connesso, quindi manualmente devo andare li e riavviare il router.
Quindi mi servirebbe uno script che nel caso non ci sia la connessione mi riavvia il router MBRN3000.
Pensavo di aver risolto con:

Code: Select all
#!/bin/bash
cd /tmp/
rm Modem_status.htm
wget http://192.168.0.1/Modem_status.htm --http-user='tuouser' --http-password='tuapassword'
if ( grep -r "0\.*" /tmp/Modem_status.htm );
then
GET http://tuouser:tuapassword@192.168.0.1/reboot.cgi
fi



ma non si riavvia correttamente, cioè:
se vado da browser alla pagina del router 192.168.0.1/reboot.cgi mi compare la solita pagina di caricamento con scritto "attendere...." e il router si riavvia, ma una volta finito il caricamento il router non si riesce a ricollegare.
Invece se sempre da browser vado alla pagina del modem 192.168.0.1 e poi in "Diagnostica" clicco su "riavvia"(che mi rimanda alla pagina 192.168.0.1/reboot.cgi), riappare la pagina con il caricamento, il router si riavvia e si ricollega correttamente.

Quindi mi servirebbe uno script che interagisce con una pagina htm e mi fa cliccare su "riavvia".
Ho visto un po di esempi con mechanize e python ma non sono riuscito a fare il riavvio.

Aprirò un nuovo topic visto che adesso il problema non è la rete nattata wind(almeno spero), e una volta finito e spero che averò risolto, farò un riassunto di tutto quello che ho fatto, per aiutare chi come me non riesce a collegarsi in remoto con Wind.

Grazie per l'aiuto
Posts: 37
Joined: Fri Feb 15, 2013 8:31 am
by naftaism » Sun Mar 03, 2013 2:40 pm
Ciao a tutti!
Innanzituto grazie per aver condiviso queste informazioni, leggendo ho risolto il mio problema!
Mi trovavo nella medesima situazione, con le stesse necessità:

Dvr da raggiungere da remoto, rete nattata wind... (e ho detto tutto!)

So che probabilmente è tardi, ma magari può tornare utile questo script che ho inserito nei crontab dell'utente root, controlla tramite un ping a google.it, se vi è connessione internet, nel caso assente, riavvia il network-manager ed in seguito riavvia il servizio logmein-hamachi ed effettua il login, attualmente mi manda pure dei messaggi alla chat di google (gtalk) tramite sendxmpp (vi rimando a questo link se può interessarvi https://www.ebower.com/docs/ubuntu-scripted-gtalk/):


Code: Select all
#!/bin/bash
if eval "ping -c 2 www.google.com" > /dev/null
then
        echo "Connesso."
        else
        service network-manager restart
        data=$(date +%a" "%d" "%B)
        ora=$(date +%H:%M:%S)
        echo "Network-Manager riavviato alle $ora del $data." >> /home/pi/log_connessioni.txt
        echo "" >> /home/pi/log_connessioni.txt

        #invio messaggi, eliminare o commentare le righe, se non necessario#

        sleep 5
        service logmein hamachi stop &&
        echo "Servizio logmein-hamachi stoppato." | sendxmpp -t -u mittente -o gmail.com destinatario &&
        service logmein hamachi start &&
        echo "Servizio logmein-hamachi reinizializzato." | sendxmpp -t -u mittente -o gmail.com destinatario &&
        hamachi login
        echo "Hamachi riavviato." | sendxmpp -t -u mittente -o gmail.com destinatario &&
       
        #invio messaggi finish#

fi


Per inserirlo nei crontab, basta editare il file tramite:
Code: Select all
sudo nano /etc/crontab
#grazie @costellazione per la correzione ;)
dopodicchè si può specificare l'intervallo di tempo, ad esempio per eseguirlo ogni 5 minuti:

Code: Select all
*/5 * * * * root /cartella/script/script_da_eseguire.sh


Ad ogni riconnessione, salva l'ora e la data, in un file di log situato nella home dell'utente pi (è facilmente personalizzabile cmq).
Spero di aver fatto cosa gradita, magari anche ad altre persone che in futuro leggeranno ed utilizzeranno quest'utilissimo post!

Naftaism.
Last edited by naftaism on Sat Mar 09, 2013 3:28 pm, edited 1 time in total.
Posts: 79
Joined: Fri Feb 22, 2013 8:53 pm
by costellazione » Thu Mar 07, 2013 11:18 am
Naftaism,
hai fatto cosa graditissima per un neofita Linux come me. Ma ringrazio anche Sean12 e cil8 per questo interessantissimo thread, grazie al quale ho potuto risolvere l'identico problema proposto.

Vorrei anch'io partecipare con un piccolissimo contributo.
Per quel poco che conosco di comandi immagino che quando hai postato
sudo /etc/crontab

volevi intendere
sudo nano /etc/crontab

Ti vorrei porre altre 2 domade che potrebbero aiutare i prossimi amici a capire meglio:
1) lo script che tu chiami "script_da_eseguire.sh" non dovrebbe essere reso eseguibile? Se la risposta è si, allora andrebbe bene il comando
chmod +x /directory/script_da_eseguire.sh

2) quando dici di inserire il comando in cronotab bisogna farlo da utente "root" o da utente "pi"?

Grazie
Posts: 2
Joined: Thu Mar 07, 2013 10:50 am
by sean12 » Fri Mar 08, 2013 10:11 pm
Ciao sono felice che vi è stato utile anche a voi :D , grazie anche a voi per il supporto.

a chi può interessare segnalo che per il riavvio automatico del router Netgear ho risolto in questo topic:

viewtopic.php?f=79&t=34791
Posts: 37
Joined: Fri Feb 15, 2013 8:31 am
by sean12 » Fri Mar 08, 2013 10:19 pm
ah... se ho tempo nei prossimi giorni vorrei provare a configurare openVPN invece di Hamachi, perchè da Tablet e Smartphone non c'è ancora l'app Hamachi, mentre openVPN si.
Se ho novità vi informo, nel caso c'è qualcuno interessato a collaborare fatemi sapere ;)
Posts: 37
Joined: Fri Feb 15, 2013 8:31 am
by naftaism » Sat Mar 09, 2013 3:27 pm
@sean12 Caspita è da una settimana che ci provo con openvpn... Purtroppo c'è bisogno di almeno un pc con ip fisso!

Io al momento altro non ho che due reti wind... nattate ovviemante a regola d'arte! Se scopri come bypassare hamachi, anzi chi per primo tra noi lo scopre, lo scriva! :D

@costellazione
Hai ragione, dovevo dare un sudo nano /etc/crontab ;)

Per quanto riguarda l'utente root, si, dico a cron di eseguirlo come root, di conseguenza non ho avuto necessità di dare i permessi al file, poichè in un certo senso li esegue ugualmente; ma se può servire ad essere più sicuro, meglio darli! Si può fare anche cosi: chmod 755 nome_file.sh!
Last edited by naftaism on Sat Mar 09, 2013 3:43 pm, edited 1 time in total.
Posts: 79
Joined: Fri Feb 22, 2013 8:53 pm
by naftaism » Sat Mar 09, 2013 3:41 pm
Scusate il doppio post!

Volevo dire a @sean12 che io son riuscito a far andare hamachi su android...

Ma la cosa è un po macchinosa... diciamo per me non lo è, io non ho installato linux appositamente per utilizzare hamachi, me lo trovavo già di mio...
(serve tablet o smartphone con permessi di root: ROOTATI)

Devi aver installato un sistema linux in chroot... vale a dire basta scaricare l'app dal market qualcosa di simile a "linux installer", c'è ne sono diversi sinceramente, puoi scegliere che sistema installare... In pratica scegli quale immagine scaricare...
è semplice come procedura ed è molto sicura poichè non scrive niente sul sistema.

Personalmente posso consigilare una "debian core" vale a dire 200 meda di download circa e circa 380 mega occupati a sistema installato. (solo terminale senza desktop, sufficente per hamachi)

Vi posto qualche link.
A sistema linux già installato, come installare hamachi:
http://techcornercdog918.blogspot.it/2011/07/how-to-hamachi-on-android.html

Una delle app da me testate per installare linux su di un terminale rootato (link al market):
https://play.google.com/store/apps/details?id=com.zpwebsites.linuxonandroid

Non ho scritto una guida su come installarlo, poichè l'app ne possiede già una, chiarissima e semplicissima!
Non è il massimo della soluzione, ma al momento è meglio di niente! Gira anche bene a mio parere!

Good luck! :D


Piccolo edit:
Sto provando (dopo un fresh install di linux su android) ad installare hamachi tramite il metodo scritto dallo stesso sean12 qualche post più in alto, al posto della guida da me linkata precdedentemente, inizialmente avevo provato con una distro che avevo scaricato troppo tempo fà, di conseguenza non potendo effettuare un apt-get update/dist-upgrade non era possibile installare lsb-core, ed avevo a disposizione solo lsb-base, ora sto scaricando una versione più recente di debian, se ci riesco, la procedura diventerà molto più semplice. Aggiornerò a breve...
Posts: 79
Joined: Fri Feb 22, 2013 8:53 pm
by sean12 » Sun Mar 10, 2013 10:59 am
Grandeee naftaism,

non ho ancora provato il tuo metodo e nemmeno openVPN, avrei alcune domande da farti(sperando che tra non troppo Hamachi rilasci un'app per android/iOS, anche se ne dubito):

1- da quello che dici openVPN su un server raspberry con rete dinamica wind non funziona perché l'ip deve essere statico? quindi senza che ci perdo tempo?
2- secondo te facendo il root di uno smartphone o tablet android si perde la garanzia? perchè in alcuni forum dicono di no e in altri di si! Avendo uno smartphone nuovo non vorrei rischiare :)
3-una volta fatto funzionare Hamachi su android (tramite Linux) non serve nemmeno un'app come putty, giusto? basta lanciare ssh da terminale?
Posts: 37
Joined: Fri Feb 15, 2013 8:31 am
by naftaism » Sun Mar 10, 2013 6:58 pm
Ciao sean12, la garanzia dicono che si perde, qual'ora il dispositivo non sia un nexus, e sopratutto se ha il bootloader sbloccato. Poi dipende... se tu dovessi mandarlo in assistenza, e riuscissi a ripristinare bootloader e rimetterci sopra la rom stock (originalissima purissima levissima) la garanzia non sarebbe invalidata. Ma se per assurdo il danno ad esempio sarebbe nel connettore usb o in qualcosa che ti impedisse di ripristinare tutto prima di rispedire, allora sarebbero uccelli per diabetici! :D

Per quanto riguarda hamachi, la procedura del link, funziona apparentemente, ma non effettua il login, poichè è una vecchia versione di hamachi, esattamente quella che esisteva prima che "logmein" prendesse il controllo di "hamachi" facendolo diventare "logmein-hamachi".
Ci sto lavorando, addirittura sono riuscito ad installare "Wheezy Raspbian", la stessa distro ufficiale disponibile per il RPI, ma ho ancora difficoltà con alcuni pacchetti, ma sento di essere vicinissimo alla soluzione, spero di potervi dare buone notizie al più presto!

Che altro dire, ah già!
Il problema non è l'ip statico o dinamico, il problema è l'ip pubblico e la possibilità di essere raggiunti dall'esterno, insomma nella nostra condizione non si può utilizzare! (non per niente siamo condannati ad usare hamachi al momento) Siamo windnattati/windannati...
Quindi niente openvpn, è un peccato perchè l'ho provata, altrove con adsl non wind, con ip pubblico e va una scheggia. Invito te e chiunque si voglia cimentare nella ricerca, a testare insieme a me, un servizio che sembra essere simile ad hamachi ma completamente supportato anche da android/ios tablet/telefoni: neorouter. http://www.neorouter.com
(scusate scrivo dal tablet e non riesco a usare il tag code/url, e non ricordo la sintassi per scriverlo a mano :D )
Non ho ancora capito cosa sia gratuito e cosa sia a pagamento... ho provato ad utilizzare "neorouter mesh" perchè "neorouter vpn" richiede un ip pubblico accessibile dall'esterno e solita pappardella...

A noi basterebbe poter stabilire una connessione ssh!

In ogni caso i miei test non li ho ancora completati, ricomincerò da zero con linux su android, stasera. Se non prima ci riesco, non son contento. Ovviamente metodi alternativi e meno macchinosi, sono la nostra priorità... Uniamo le forze che qualcosa la troviamo!

A presto aggiornamenti!


P.S.
Il client linux di neorouter, lavora da terminale, immaginiamo di utilizzarlo nel raspberry, sicuramente servirà uno script che lo lanci automaticamente, e che esegua il login alla rete virtuale qual'ora si verifchi un reboot dello stesso rasp, o se la connessione cadesse e venisse ripristinata.
Purtroppo quando viene lanciato, bisogna essere letteralmente davanti al pc, ed interaggire con la shell, poichè ci chiede, nome dominio, nome utente, password ecc ecc ecc...
Ho già una soluzione, utilizzare expect e spawn. Quindi niente paura, se scoprissimo che fa al caso nostro, creerei uno script apposito e lo condividerei!
Posts: 79
Joined: Fri Feb 22, 2013 8:53 pm
by naftaism » Sun Mar 10, 2013 10:15 pm
Funziona! Neorouter funziona!

Installate sul pc, a seconda della distribuzione win/linux/mac (o altro) il CLIENT MESH (non vpn):

https://secure.neorouter.com/Dashboard/createdomainhosted.aspx

Fate lo stesso pure su android, scaricando l'apposita apk dal sito, o direttamente dal market (google play).

Fatto questi due passaggi, non c'è bisogno di dire quanto siano importanti ovviamente,
si deve creare il vostro "dominio":

http://www.neorouter.com/downloads_nrmesh.html

Potete inserire qualunque nome non già utilizzato, e potete se volete, utilizzare come nick-name dell'admin, lo stesso nome utilizzato per la rete.

Fatto questo, non vi resta altro da fare che avviare il client, per esempio su linux (uguale per tutte le distro suppongo). Da terminale (locale):
Code: Select all
nrclientcmd


Dopodicche comparira qualcosa di simile a:
Code: Select all
Domain:


Digitate il nome del dominio precedentemente creato.
Ora comparirà un altra scritta:
Code: Select all
Username:


Inutile dire cosa dovete scrivere ;)
Eddai ve lo dico, l'username precedentemente specificato in fase di creazione del dominio, che nel mio caso è identico al nome della rete creata. Infine:
Code: Select all
Password:


Ovviamente la vostra password.

Fatto questo, dovreste essere connessi in un paio di secondi, se questo non avviene, ctrl+c e ridate il comando:
Code: Select all
nrclientcmd


Verificate che ciò che digitate sia corretto. Altrimenti date na controllata alla vostra connessione internet.

Supponendo di essere connessi, dovreste trovarvi di fronte ad un terminale con scritte simili a queste:

Code: Select all
NeoRouter Network Explorer - Nome_vostra_rete@nome_vostro_pc

> My Computers
  10.0.0.2        PC-PallinoPinco
  10.0.0.3        PC-PincoPallino

Available Commands: changeview, wakeonlan, setproxy, changepassword, quit
Enter command:


A questo punto, non è necessario fare altro su questo terminale, prendiamo il nostro tablet/smartphone Android, apriamo l'applicazione precedentemente installata, e compiliamo i vari campi: nome dominio, user, password. Clicchiamo dunque su "sign in".

Se tutto è stato fatto correttamente, dovrebbe spuntare la lista dei PC collegati alla rete.
NOTA BENE: i questa lista, spuntano solo e soltanto i pc, nessun tablet o telefono risulterà in tale lista, ma non ci interessa, abbiamo bisogno di accedere ai servici che un PC ha da offrirci, tra cui SSH oppure VNC (o qualsiasi altro tipo di servizio configurato su tale macchina).

1) A questo punto pigiamo (e teniamo premuto), con il dito che più preferiamo, sul "pc" nell'elenco, noterete il pinguino con accanto il nome della macchina, comparira una sorta di finestrella pop-up con la lista dei port-forwarding preconfigurati. Clicchiamo sulla voce che ci interessa: qualcosa di simile a ssh/22. (non ricordo quello predefinito che scritte riportava, poichè l'ho modificato e adesso vedo solo ssh/22... ma non dovrebbe essere difficoltoso trovare la voce giusta!). Una volta cliccatoci, si noterà una fugace scritta in sovrimpressione che riporterà qualcosa di simile a: "localhost:porta -> nomepc:22".

Il gioco è fatto. O meglio, adesso entra in ballo la vera e propria genialata:

Neorouter da per scontato che nel tablet/smartphone ci sia installato "connect bot".
Difatti, se lo si utilizza, e si scrive nei parametri:
ssh utente_pc@localhost:porta_che_neorouter_ci_assegna (probabilmente la 32973 o simile), la connessione funziona. Ma la parte sconveniente dov'è? A noi serve creare un tunnel e forwardare le porte che ci interessano... Quindi mettiamo da parte "connect bot", che a quanto ho capito non ci da la possibilità di fare quel che in genere si fa con "putty": il caro ssh tunnel; ed andiamo ad utilizzare il terminale di android, il nostro client ssh di fiducia!

per chi non lo avesse, è necessario installarlo, inoltre avete bisogno dei privilegi di root, a questo punto darò per scontato che abbiate tali requisiti. :arrow: CORREZZIONE: NON SERVONO PRIVILEGI DI ROOT :arrow: leggere la fine del post per chiarimenti!

2) Apriamo il terminale su android, dopo aver eseguito alla lettera il punto 1, e digitiamo:
Code: Select all
ssh user@localhost -p 32973 -L 80:192.168.1.100:80


Avremo come risposta che certe porte, possono essere forwardate solo da utente root. Di conseguenza digitiamo:
Code: Select all
su


Diventando cosi "super-user", o root.
ridiamo il precedente comando, dopodicchè se ci chiede di aggiungere l'host alla lista di host conosciuti digitiamo il classico yes. Fallirà ad aggiungerlo, non badateci, dopodicchè vi chiederà la password dell'utente, inseritela, et voilà, sarete connessi al vostro pc. Premete il tasto "home", o il tasto che vi fa "switchare" tra le applicazioni, mantenendo il terminale aperto e connesso via ssh in background: SENZA CHIUDERLO (come con putty su windows insomma!)
aprite il vostro browser e digitate:
Code: Select all
localhost:80 oppure 127.0.0.1:80

vi ritroverete di fronte la pagina del vostro router/dvr (o ciò che avete forwardato)!

Spiegazione del comando:
Code: Select all
ssh user@localhost -p 32973 -L 80:192.168.1.100:80


ssh: vabbè mi sembra ovvio, sorvoliamo...

user: nome utente che utilizzate su linux, ad esempio potete usare root, oppure "AjejeBrazorf".

localhost: si, dovete collegarvi a voi stessi, neorouter ci sta forwardando a sua volta!

-p sta a specificare la porta da utilizzare, la dovete cercare dentro il menu di neorouter, o fare attenzione alla scritta che compare quando si avvia il port-forwarding, ricordate il passaggio 1?

80: (il primo, sulla sinistra) è la porta locale su cui vogliamo immettere la porta remota, per comodità l'ho scritta identica a quella remota, ma fate attenzione, se avete servizi attivi come apache, teamviewer o simili che usano la porta 80, dovete specificarne una diversa, questa è peronalizzabile.

192.168.1.100 è l'indirizzo che dal pc utilizziamo per accedere da browser al nostro dvr, o al nostro router, è solo un esempio.

80: (il secondo, sulla destra) è la porta remota che vogliamo far diventare locale, in questo caso è la porta del router/dvr che fornisce i vari servizi.

A me ragazzi, ha funzionato alla grande!
La prima cosa che ho notato, è la velocità leggermente superiore ad hamachi...
Ho scoperto inoltre che le limitazioni che abbiamo utilizzando neorouter versione free, consistono solo nel non poter personalizzare la porta locale, ma detto tra noi: CHISSENE! :D

@sean12 Mi sa che rooti il telefono appena leggi :D Ne vale davvero la pena!

Concludo dicendo:

Per quanto riguarda hamachi su android tramite linux, sono ad un punto morto... per quanto riguarda questa guida, sono sicuro ci siano degli errori grammaticali e/o passaggi poco chiari, scrivete ogni dubbio e/o domanda, cercherò di essere il più chiaro possibile.

Intanto scrivo anche una lista di cose che sono prossimo a fare, una sorta di TODO list:

1) Capire come fare le stesse cose che sopra ho descritto ma tramite pc come client, e non usando android.

2) Verificare cosa succede in caso di disconnessione, ad esempio se il programma cerca di ricollegarsi automaticamente, o se si deve riavviare.

3) Nel caso si debba riavviare a mano, creerò uno script che sfrutti expect e spawn! (già usati da me in passato, per stabilire connessioni telnet al mio pc/router) Poichè si devon ridigitare ogni volta username/pass/dominio...

4) Stappare uno spumantello per festeggiare! :D


PICCOLO EDIT IMPORTANTISSIMO: NON SERVONO PRIVILEGI DI ROOT!

Basta modificare il comando
Code: Select all
ssh utente@localhost -p PORTA -L 80:192.168.1.100:80

in
Code: Select all
ssh utente@localhost -p PORTA -L 8000:192.168.1.100:80

Perchè? Perchè come appunto specificato per certe porte più piccole di 1024 (se non erro) sono necessari i privilegi di root, ma se al posto di usarne una "bassa", ne specifichiamo una più "alta" non ci sono problemi!

scusate ho scritto troppo velocemente, preso dall'entusiasmo, avevo fatto solo una prova con la porta 80 ;)
Last edited by naftaism on Mon Mar 11, 2013 3:10 pm, edited 1 time in total.
Posts: 79
Joined: Fri Feb 22, 2013 8:53 pm
by naftaism » Sun Mar 10, 2013 11:18 pm
Maledizione! Ragazzi scusatemi...

La versione per raspberry pi, è solo la "neorouter vpn". Non sembra esistere la "neorouter mesh".
Io prima di compromettere il raspberry, avevo ovviamente testato tutto su linux, ma dal mio pc, che monta debian 32 bit, e di cui esiste la versione corrispondente di neorouter mesh.
Ero convinto esistesse la versione mesh per rasp, ma a quanto pare esiste solo la versione vpn server/client, e quella non ci serve... avrebbe bisogno di ip pubblico...

Fine dei giochi... Sto cercando se ci son altre soluzioni.

Peccato davvero, funziona una meraviglia con android... Mi dispiace per l'entusiasmo inutile del post precedente, sto cercando di risolvere... Magari esiste e non è nella lista...

Avevo appena finito di creare lo script expect :cry:

Un altra cosa... un altra limitazione del programma free consiste nell'averla in prova per 14 giorni... dopodicchè il dominio viene chiuso... :evil:
Posts: 79
Joined: Fri Feb 22, 2013 8:53 pm
by naftaism » Mon Mar 11, 2013 1:48 am
Ragazzi, ho una notizia definitiva, non odiatemi per i miei molteplici post e cross post! Vi chiedo umilmente perdono.

STVAVOLTA E' DEFINITIVO!: HAMACHI SU ANDROID FUNZIONA.

Domani mattina scrivo una guida COMPLETA sul come fare ad installarlo!
E' più facile a farsi che a dirsi!

Ho trovato, anzi, ho reinventato un metodo che prende spunto da quello utilizzato nel 2009!

@sean12 Serve il root, stavolta è sicuro.Una volta rootato, il resto della procedura non è affatto complicato... Posso assicurartelo!

Sono le tre meno dieci, andrei a nanna, felice di sapere che ci son riuscito! A breve la guida!
Posts: 79
Joined: Fri Feb 22, 2013 8:53 pm