Newsgroup: it.comp.reti.locali
Titolo: VPN e routing

Ciao,
supponiamo di avere una situazione schematizzata come segue:
- A: PC dietro firewall/NAT; il firewall permette di uscire soltanto sulla
porta 80;
- B: PC dietro router/NAT; nessuna restrizione sull'uscita.
Attraverso Hamachi, ho impostato una VPN tra A e B.
E' possibile fare in modo che:
mi trovo su A, apro determinati programmi che non escono sulla 80 (ad
esempio: FTP), in automatico viene usata la connessione di B (tutti i dati
viaggiano sulla VPN).
Il sistema operativo di A e' Windows XP. Il sistema operativo di B (ma non
credo che c'entri) e' Windows XP.
Come posso fare?
Grazie
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 dati viaggiano sulla VPN).
no, pero' puoi ruotare tutto il traffico sulla vpn. Dovrai alzare una 
rotta statica che usi per l'host dove termini il gw originale, e 
riconfigurare il default gw sull'altro endpoint della vpn.
ciao,
-- 
oggei

Alessandro -oggei- Ogier ha scritto:

Scusa ma non mi torna.
[- A: PC dietro firewall/NAT; il firewall permette di uscire soltanto sulla
porta 80;
- B: PC dietro router/NAT; nessuna restrizione sull'uscita.]
Su A ho due connessioni di rete (una fittizia):
- ho una rete locale (su cui posso uscire solo sulla 80)
- ho una VPN (che si appoggia sulla rete locale per uscire su Internet)
Su B ho due connessioni di rete (una fittizia):
- ho una rete locale (nessuna restrizione)
- ho una VPN (che si appoggia sulla rete locale per uscire su Internet)
Su A e su B, entrambe le connessioni di rete hanno un gateway etc.
Ora, su A, come posso dire che Windows deve instradare TUTTO il traffico 
sulla VPN e non sulla rete locale? Pur non disabilitando la rete locale, 
altrimenti la VPN *non* funziona.
Grazie

Michele ha scritto:

ci sono delle guide semplici che spiegano il tutto?
oppure un libro semplice ma ben fatto che spieghi tutto sulle reti NAT 
porte etc?

 altrimenti la VPN *non* funziona.
infatti *non* devi /disabilitarla/, devi *riconfigurare* il routing.
diciamo che A ha un $IP_A e un $VPN_IP_A, e B un $IP_B e un $VPN_IP_B
al momento la rete su A avra' almeno come gateway predefinito un ip sulla 
lan di $IP_A, quindi:
0.0.0.0/0
 via $GW_A
devi prima di tutto configurare una rotta statica verso $IP_B, che usi 
$GW_A, a quel punto puoi togliere il $GW_A come default e mettere 
$VPN_IP_B.
Per usare la formattazione di 'route print' nelle parti rilevanti:
Rete    Netmask:          Gateway:
$IP_B   255.255.255.255   $GW_A
Predefinito: $VPN_IP_B
quindi matchi il "vecchio default gw" per il traffico verso l'altro 
endpoint reale col quale termini la vpn, e tutto il resto gira dentro.
se usi openvpn puoi farlo configurando opportunamente le cose, credo 
anche con altri software.
ciao,
-- 
oggei

 altrimenti la VPN *non* funziona.
Ovvio. Devi prima mettere, su A, una host route statica per raggiungere l'IP
pubblico di B, in modo che l'IP privato di B attraverso la VPN sia
raggiungibile. Questa host route puntera' probabilmente a quello che A vede
come default gateway.
Fatto questo, puoi togliere il default gateway di A e sostituirlo con l'IP
virtuale di B (che sara' ancora raggiungibile grazie alla route statica che
hai messo prima).
Prima di fare tutto scriviti la tabella di routing di A in modo che se
qualcosa va storto tu possa poi ripristinarla.
Ovviamente, B deve avere il routing attivato e, da qualche parte, bisognera'
pure che gli IP privati vengano nattati.

 
Ok. Tutto questo come si fa da Windows? Con il comando route?
Grazie

Michele wrote:

Con il comando route. route /help ti mostra la sintassi. 
(suppongo che la VPN esca da A sulla porta 80, altrimenti non vedo come
potrebbe funzionare se tutto il resto e' bloccato per A)
Dovrai fare qualcosa del genere su A:
route print
(per vedere com'e' attualmente: magari scrivitela e segnati i numeri delle
interfacce che appaiono all'inizio)
route add $ip_pubblico_di_B  mask 255.255.255.255  $default_gw_di_A if
$interfaccia_fisica_di_A
(tutto sulla stessa riga)
route delete 0.0.0.0   (occhio: se sei collegato da remoto questo potrebbe
                        disconnetterti!!)
e infine
route add 0.0.0.0 mask 0.0.0.0  $ip_privato_di_B  if $interfaccia_vpn_di_A
...e spera che il tuo network admin non cominci a fare analisi del
traffico :-)
Ciao