[bglug] IPCop + OpenVPN 0.9.7 Net2Net

Simone Tiraboschi tira@sonic.it
Lun 9 Ott 2006 13:54:23 CEST


Ciao,
il comportamento riscontrato e corretto e prevedibile.

Premessa.
Una macchina Windows può adottare sostanzialmente due meccanismi 
distinti per generare l'elenco delle macchine in rete locale (il tuo 
"sogliare").
1. Configurazione Workgroup senza server WINS adatta solo per reti 
veramente piccole.
La tua macchina invia un messaggio broadcast (cioè diretto a tutte le 
macchine sulla stessa rete ethernet) in cui sostanzialmente chiede "Ci 
siete? Chi siete?".
Una per una le macchine che hanno ricevuto la richiesta ti rispondo con 
nome ed indirizzo. In reti piccole funziona abbastanza bene, in reti di 
una certe dimensione (IMHO > 10 client) è un delirio perché con 
client/rete sotto stress le macchine cominciano a non risponderti, 
oppure le risposte si accavallano o... Insomma cominci a sperimentare 
situazioni non deterministiche piuttosto fastidiose: da una macchina 
vedi tutti i client della rete, dall'altra no e cose simili.
2. All'accensione di una macchina questa informa un server della propria 
esistenza, quando vuoi ottenere l'elenco delle macchine in rete 
semplicemente chiedi a questo server l'elenco e questo immediatamente ti 
risponde. Sembrerebbe un normale DNS ma non è proprio così: Microsoft si 
è inventata un suo protocollo detto WINS (Windows Internet Name 
Service). Sostanzialmente anche questo fa una conversione 
NomeMacchina->IndirizzoIP. In Windows 2003 Server le cose sono 
leggermente cambiate ma ai nostri fini non è rilevante.

Fatti:
Il traffico di broadcast è confinato alla rete ethernet di origine.
Sostanzialmente hai due modi per unire due reti ethernet (via VPN o 
meno): Routing IP e Bridging. Non ti racconto neppure cosa sia il 
routing, il bridging è una tecnica per estendere la tua LAN ethernet 
tramite un'interfaccia virtuale trasportata su IP; con il bridging passa 
anche il traffico di broadcast ma questo è comunque molto inefficiente e 
si tende ad evitarlo.

La nomenclatua usata è TAP e TUN: il TAP è un'interfaccia ethernet 
virtuale su connessione bridge, il TUN è un link IP point-to-point.
Puoi fare bridging sia da una macchina Linux (brctl ma non IPCop non è 
banale) che da una Windows XP.
In termini di prestazioni è decisamente più efficiente fare routing che 
bridging e comunque anche facendo bridging si cerca di evitare di 
trasportare il traffico broadcast perché potresti farti da solo dei DDoS 
involontari.

Tu hai realizzato un tunnel IP e quindi correttamente il traffico 
broadcast non passa.

Raccomandazioni:
- se  hai due reti molto piccole limitati a cablare i nomi delle 
macchine nei file hosts (sia su windows che su linux): dovresti comunque 
farlo.
- se hai molte più macchine metti in piedi almeno un server WINS (anche 
con Samba3): lo dovresti fare anche a prescindere dalla VPN. Istruisci 
opportunamente i client windows via DHCP.


ciao

Simone







buldo ha scritto:
> Ciao a tutti,
> sono finalmente riuscito a creare un tunnel VPN tra 2 IPCop 1.4.11 
> tramite OpenVPN 0.9.7 seguendo l'ottimo e semplice tutorial disponibile 
> sul sito: http://www.zerina.de/?q=documentation/howto-net2net
> I due IPCop sono sulla stessa rete locale in DHCP, 192.168.0.2 e 
> 192.168.0.12, il router ha il firewall disabilitato e il problema che 
> ho, ammesso che sia un problema e non un errore da parte mia, e che 
> riesco a pingare i client collegati agli IPCop, ma non a "sfogliarli" 
> tramite "Esplora risorse". Esiste una soluzione?
> Questa è la configurazione:
> 
> 192.168.0.2 (red1) ------ roter (LAN) ------ 192.168.0.12 (red2)
>      |                                     |
>      |                                     |
> 10.0.1.1 (green1)                       10.0.0.1 (green2)
>      |                                     |
>      |                                     |
> 10.0.1.16 (Client1)                     10.0.0.16 (client2)
> 
> da 10.0.1.16: ping 10.0.0.16 OK
> da 10.0.0.16: ping 10.0.1.16 OK
> 
> 
> ------------------------------------------------------------------------
> 
>  



Maggiori informazioni sulla lista bglug