PDA

View Full Version : [Linux] Bridge eth0+tap0, vbox naviga ma host fedora non accede più alla rete...


Remoz
07-02-2008, 09:55
Ciao!! Dovrebbe essere una cosa da poco, ma non sono riuscito a risolvere googlando...
Ho installato vbox su fedora 6, ho seguito tutti i passaggi per mettere in rete la macchina virtuale (XP Pro) attraverso l'interfaccia host, in modo da assegnargli un ip sulla rete come fosse un computer vero.
con openvpn ho creato il tap0, ho uppato sia tap0 che eth0 con ifconfig in modalità promisc, ho creato il bridge br0 con brctl, e ci ho messo dentro le due precedenti interfacce...
Ora XP Pro è correttamente connesso alla rete locale, e naviga.. ma l'host Fedora invece è isolato... Si rimette a navigare solo se tolgo l'eth0 dal bridge..
Non capisco come dire a Fedora di continuare ad utilizzare eth0 attraverso il bridge per andare sulla rete... help!! :help:

Grazie a tutti, ciau! ;)

gurutech
07-02-2008, 10:37
ciao,
per creare una tap0 può risultare più conveniente usare tunctl piuttosto che openvpn.
tunctl fa parte del pacchetto uml-utilities (questo almeno su ubuntu, ma sono sicuro che su fedora si chiami in modo simile)
con tunctl puoi creare una tap0 e dargli i diritti per essere letta da un certo utente, es:

root@notebook:/home/gianluca/openvpn/cs# tunctl -u gurutech
Set 'tap0' persistent and owned by uid 1000


a quel punto puoi fare

brctl addbr br0
brctl addif br0 eth0
ifconfig eth0 0.0.0.0 promisc up

ora per navigare da fedora, devi far si che l'indirizzo ip che di solito davi a eth0 sia dato a br0*, per cui se ad esempio usavi dhcp

dhclient br0

(non sono sicuro che in fedora si chiami dhclient, una volta in redhat era pump, vedi un po' te)
oppure se sei con ip statico

ifconfig br0 a.b.c.d netmask 255.x.y.z up

a questo punto aggiungi il tap0 al bridge

brctl addif br0 tap0
ifconfig tap0 0.0.0.0 promisc up


e poi avvii la macchina virtuale.

* perchè si aggiunge tap0 DOPO il dhclient? perchè in questo modo br0 si presenta in rete con LO STESSO mac address di eth0 (utile se hai una reservation nel DHCP.