La vedo come possibile alternativa a tinc o openvpn in bridge, quando non si vogliono/possono usare. Ho effettuato delle prove, va a velocità spaziale (ordini di grandezza superiori a tinc, che è in userspace). L'MTU disponibile al payload ip è 1500-20 (IP) -4 (GRE) -14 (ethernet), anche qui più favorevole che in tinc in modalità switch. Supportato da openwrt (ma poco o niente documentato), almeno dal 10.03.1 che ho io. lo svantaggio rispetto a tinc è che non è di tipo mesh plug&play, ma occorre configurare tutti gli endpoint. Altro svantaggio è che tutti gli endpoint devono avere ip statici (mentre in tinc ne basta solo uno statico). Ovviamente non c'è cifratura, a meno di non utilizzare ipsec (o dentro o fuori dal tunnel) ma guadagnamo appunto in velocità e latenza, soprattutto su apparati senza accelerazione di crypt. Se non si ha cifratura si è inoltre resistenti al NAT (basta girare i pacchetti sul firewall) e anche molte CPE economiche sono in grado di far passare il GRE abilitando il passtrough di PPTP.
Esempio, per mettere in bridge le ethernet di due host distanti tra di loro Sul nodo IP1: insmod ip_gre ip link add greth1 type gretap remote IP2 local any nopmtudisc ip addr add 0.0.0.0 dev greth1 ip link set dev greth1 up brctl addbr br0 brctl addif br0 greth1 brctl addif br0 eth0 ip link set dev br0 up Sul nodo IP2: insmod ip_gre ip link add greth1 type gretap remote IP1 local any ip addr add 0.0.0.0 dev greth1 ip link set dev greth1 up brctl addbr br0 brctl addif br0 greth1 brctl addif br0 eth0 ip link set dev br0 up Le reti su cui sono attestati i due host a questo punto saranno in grado di raggiungersi a vicenda e di avere lo stesso indirizzamento ip. Un'applicazione tipo potrebbe essere quella di avere due AP attestati a due ADSL diverse che escono da uno stesso gateway e mantengono lo stesso indirizzamento, captive portal etc. Come riferimento, ecco invece i parametri di creazione di un tunnel gre puro in routing (interoperabile con cisco, bsd, solaris,juniper etc. e che esiste da anni): ip tunnel add gre1 type gre remote IP1 local any ip addr add 0.0.0.0 dev greth1 ip link set dev gre1 up ip route add xx.xx.xx.xx/yy dev gre1 (occhio a non utilizzare gre0, che è la catchall del modulo gre e non può essere modificata. Qui l'MTU disponibile al payload ip incapsulato è molto favorevole: 1476, con overhead del GRE di solo 4 byte. PS: attenzione al rp_filter in sysctl.conf, deve essere a 0 per l'interfaccia gre Andando oltre, si può fare ip tunnel add ipip1 type ipip remote IP1 local any ip addr add 0.0.0.0 dev ipip1 ip link set dev ipip1 up ip route add xx.xx.xx.xx/yy dev ipip1 L'MTU è ora 1480, ma la mancanza di GRE ci rende incompatibili con tante belle cose inventate da Cisco ( e non supportato da linux se non come responder) quali il keepalive, che butta giù l'interfaccia (e quindi la rotta collegata) se il tunnel va down. _______________________________________________ Wireless mailing list Wireless@ml.ninux.org http://ml.ninux.org/mailman/listinfo/wireless