[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: openvpn - alcuni dubbi



Il 10/01/2014 01:19, Ennio-Sr ha scritto:
> 
> Ciao a tutti!
> 
> Sto cercando di capire, da un punto di visto pratico, come funziona
> openvpn. Ho letto un poco qui e là (man, wiki, faq) ma le idee mi si
> confondono sempre più ;(
> Poco fa, rileggendo il man, sezione 'examples' ho letto che: [libera
> traduzione] "prima ancora di lanciare questi  esempi dovrete avere
> installato openvpn su due macchine che possano essere connesse in rete
> tra loro [letter. 'two machine with network connectivity between them'].
> 
> Mi chiedo di quale 'network' si parli: una LAN, una WAN, il WEB? Se lo
> riferisco ad una rete domestica (LAN) mi chiedo se abbia senso,

infatti non ne ha, a meno che tu non abbia una lan mostruosa e non
voglia creare dei canali tra due sottoreti normalmente non connesse.

> ritenendo (erroneamente???) che il collegamento tra due PC sulla stessa
> rete domestica siano già sicuri (magari con ssl). Oppure il traffico di
> una rete domestica viene 'visto' anche dall'esterno?
> 
> Se invece si parla di WEB, mi chiedo se sia possibile raggiungere un PC
> "A" (a valle di un router che riceve un IP dinamico da Telecom-Alice) da
> un PC "B" connesso (via Wi-Fi) a Internet, ad es. tramite  un
> "WebCubeNew" della Tre. [E' il mio caso concreto con il quale sto
> sperimentando, ma non mi riesce di raggiungere il PC "A", sebbene abbia
> tolto ogni firewall (almeno così credo) al router (Netgear DG834GT).

infatti; io posso accedere alla lan dell'ufficio da casa, semplicemente
istruendo il router a inoltrare la porta che uso per il collegamento.
Quando avevo il router di Alice, usavo uno script che rilevava l'ip
pubblico e - se cambiato - me lo spediva per email, mentre con Fastweb
basta istruire il router ad usare un indirizzo dynDNS. Ovviamente, se
usi un incapsulamento, non hai bisogno di fare nulla sul router del client.

> 
> L'altra grossa curiosità (almeno per il momento) è: 
> il pacchetto openvpn installato su "A", ossia:
> openvpn_2.1.3-2+squeeze1_i386.deb
> contiene una serie di scripts che inserisce nella subdir 'easy-rsa', 
> mentre quello installato su "B":
> openvpn_2.1.3-2+squeeze2_powerpc.deb
> mette quegli scripts in /usr/share/doc/openvpn/examples/easy-rsa.
> Ho manualmente creato su "B" una situazione analoga a quella presente in
> "A", ma (dopo avervi naturalmente trasferito i file .crt e .key creati
> in "A") ottengo un errore di autenticazione quando tento di avviare (su
> "B") openvpn.

l'autenticazione tramite certificati e' certamente cosa saggia: se
guardi i log del server noterai un bel po' di tentativi falliti di
intrusione, ma richiede una procedura un po' laboriosa. In ogni caso,
trovi una guida qui:

http://openvpn.net/index.php/open-source/documentation/miscellaneous/77-rsa-key-management.html


> 
> Infine (si fa per dire ...), quand'anche io fossi riuscito ad avviare
> openvpn su entrambi i PC e questi si 'parlassero tra loro' (ping), in
> che modo potrei, da "B", navigare su "A"? Potrei, forse, indicare nella
> riga del browser 'http://ip-di-A' o dovrei usare (da linea di comando in
> console) $ ssh "A" ?

Fondamentalmente i due modi, uno semplice (una connessione punto-punto),
uno intermedio (connessioni punto-punto con un pool di client) e uno
complesso (il server fa da router sulla sua rete); io ho una
punto-punto, con la quale posso:

- entrare via ssh sul server, e da li' accendere ed entrare - sempre
  via ssh - sulle altre macchine;
- accedere a egroupware che gira sul server OpenVPN, o su altre
  eventuali applicazioni web residenti sul server.

In pratica, quando attivo il client sul mio portatile, compare una nuova
interfaccia di rete. Per esempio, se il DHCP ha assegnato un indirizzo
192.168.1.21, all'attivazione mi compare anche l'interfaccia 10.0.1.1
(e' quindi fondamentale che la rete del server non sia 192.168.1.0), e
posso loggarmi su "utente@10.0.1.2"

Come esempio, ti mostro i file di configurazione del server e del client
(punto-punto semplice):

_Server:_
dev tun
port 443
proto tcp-server
ifconfig 10.0.1.2 10.0.1.1
tls-server
dh /etc/openvpn/dh1024.pem
ca /etc/openvpn/ca.crt
cert /etc/openvpn/server.crt
key /etc/openvpn/server.key
verb 3
log /etc/openvpn/openvpn.log

_Client:_
dev tun
remote tuo_utente.no-ip.biz 443
proto tcp-client
ifconfig 10.0.1.1 10.0.1.2
tls-client
ca /etc/openvpn/ca.crt
cert /etc/openvpn/client.crt
key /etc/openvpn/client.key
verb 3
log /etc/openvpn/openvpn.log

In questo caso, io ho usato un tunnel tcp sulla porta 443. Se hai creato
correttamente i certificati del server e del client (magari usando una
terza macchina - anche virtuale - che fa' da CA) non ti resta che
configurare il port-forwarding sul router e procedere.

-- 
Hofstadter's Law:
"It always takes longer than you expect, even when you take into account
Hofstadter's Law."


Reply to: