Newsgroup: it.comp.os.linux.iniziare
Titolo: Re: Creare interfaccia tap e compatibilità TUN/TAP Universal Driver

 trovare un howto...
esattamente come fai con una ethernet
modprobe tun
ifconfig tap0 192.168.bla.bla 
ciao

 per la cronaca, in /dev/net/ ho il device tun ma niente tap...
]zac[
ehm ... una lettura a un qualche how-to per le interfaccie tun/tap sarebbe
fortemente consigliato.
Sotto trovi lo scrip di avvio dei servizi che uso per avviare e configurare
una interfaccia tun/tap e uno switch virtuale per far comunicare più
macchine virtuali fra loro e con l'host e le sue risorse, puoi estrarre
facilmente quello che ti interessa e/o trarne uno spunto.
In sintesi, vde-switch sfrutta il modulo tun/tap per creare l'interfaccia
tap0 a cui si connette.
Altrimenti è il programma di virtualizzazione che provvede a usare il modulo
tun/tap e creare l'interfaccia tap0 (ma, se non ha un suo switch virtuale,
con notevoli complicazioni nella comunicazione e nell'utilizzo delle 
risorse dell'host e del/dei guest virtuali.
-------------------------
#! /bin/bash
#
# gdb-vde_qemu: Start/Stop the vde for qemu
#
# chkconfig: 2345 99 10
# description: Vde for qemu
# processname: gdb-vde_qemu
# config: /etc/?
# pidfile: /var/run/gdb-vde_qemu.pid
# Source function library.
. /etc/init.d/functions
RETVAL=0
# See how we were called.
PATH=$PATH:/usr/local/bin
MemShm="900"
ServName="gdb-vde_qemu"
ServDes="Vde for qemu"
prog="vde_switch"
ProgRun="/var/run/"$ServName".pid"
ProgSock="/tmp/vde_qemu.ctl"
IPSwitch="192.168.0.254"
MaskSwitch="255.255.255.0"
start(){
    local ServPid MntTmpFs SizeTmpFs
# Imposta la memoria condivisa
    MntTmpFs=`mount|grep tmpfs`
    SizeTmpFs=${MntTmpFs##*=}
    if [ "$MntTmpFs" != "$SizeTmpFs" ]; then
        SizeTmpFs=${SizeTmpFs%%m*}
    else
        SizeTmpFs="0"
    fi
    if [ "$SizeTmpFs" -lt "$MemShm" ]; then
#       umount /dev/shm
        mount -t tmpfs -o size=$MemShm"m" none /dev/shm
        echo "Impostato memoria condivisa da "$SizeTmpFs" a "$MemShm" Mb"
    fi
# Carica il modulo di accelerazione kqemu
    if ! lsmod | grep kqemu > /dev/null; then
        modprobe kqemu
        echo "Caricato il modulo di accelerazione kqemu"
    fi
    echo -n $"Starting $ServDes: (tap0 $IPSwitch)"
    ServPid=`pidfileofproc $ServName`
    if [ "$ServPid" ]; then
        RETVAL=1
    else
# Carica il modulo 'tun'
        if ! lsmod | grep tun > /dev/null; then
            modprobe tun
# Wait for the module to be loaded
            while ! lsmod |grep -q "^tun"; do echo Waiting for tun device;sleep 1;
done
        fi
# Start tap switch
        daemon $prog -tap tap0 -sock $ProgSock -m 0770 -daemon -pidfile $ProgRun
-M /tmp/vde.mgmt
        RETVAL=$?
        if [ $RETVAL -eq 0 ]; then
            chgrp users $ProgSock && chgrp users "$ProgSock/ctl" && chmod 760
"$ProgSock/ctl"
            ifconfig tap0 $IPSwitch netmask $MaskSwitch
        fi
    fi
    echo
    [ $RETVAL -eq 0 ] && touch "/var/lock/subsys/"$ServName
    return $RETVAL
}
stop(){
    echo -n $"Stopping $ServDes: "
    ifconfig tap0 down
    killproc $ServName -HUP
# Remove the control socket
    rm -f /tmp/vde.*
    RETVAL=$?
    sleep 0.2
    modprobe -r tun
    modprobe -r kqemu
    echo
    [ $RETVAL -eq 0 ] && rm -f "/var/lock/subsys/"$ServName
    return $RETVAL
}       
case "$1" in
    start)
        start ;;
    stop)
        stop ;;
    restart)
        stop
        start
        ;;
    status)
        status $prog ;;
    *)
        echo $"Usage: $0 {start|stop|restart|status}"
        exit 1
esac
exit $?

 c**** di scheda tap1, ed il resto verrebbe da sè. Operazione che, ne
]zac[
No, no, il tuo problema è eseguire esattamente le istruzioni (creare una
interfaccia tap senza che sia agganciata a qualcosa è completamente
inutile) o trovare della documentazione migliore.
Auguri.