[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