Si les uml tools sont installés, uml_net
peut faire tout le travail de configuration de l'hôte pour vous.
Ajouter
/UML/Kernels/Wifi/linux-2.4.24/linux ubd0=cow1,/UML/FileSystems/fs02/rootfs eth0=tuntap,,,192.168.100.254
Un nouveau dispositif Tap apparaît sur l'hôte à pour chaque machine UML, configuré avec l'adresse indiquée au lancement de l'UML.
L'adresse MAC des machines UML est FE:FD:00:00:00:00 (note : contrairement au cas où on utilise l'uml_switch, cette fois le fait que plusieurs machines partagent la même adresse MAC ne semble pas poser de problème). Il est possible de préciser l'adresse MAC d'une UML à son lancement :
/UML/Kernels/Wifi/linux-2.4.24/linux ubd0=cow1,/UML/FileSystems/fs02/rootfs eth0=tuntap,,10:00:00:00:00:11,192.168.100.254
L'hôte et les UML se voient.
Note sur les problèmes de sécurité :
Lorsque l'adresse IP de l'UML est modifiée dans l'UML, uml_net va modifier les tables de routage et d'ARP de l'hôte en conséquence. Cela peut être utilisé par un utilisateur malveillant dans l'UML pour se faire passer pour le serveur de noms ou le serveur de mail par exemple, et l'hôte volera alors les paquets destinés à ces serveurs et les passera à l'UML. S'il y a un risque qu'un utilisateur dans une des UML soit malveillant, il vaut mieux utiliser tuntap sans uml_net (voir ci-dessous).
Il est possible de se passer de l'aide d'uml_net
(qui introduit un problème de sécurité, voir ci-dessus) en configurant soi-même l'hôte (à faire en root) :
tunctl
en indiquant l'UID de l'utilisateur qui lancera l'UML(voir dernière section de cette page)ifconfig tap0 192.168.100.254 up
)echo 1 > /proc/sys/net/ipv4/ip_forward route add -host 192.168.100.11 dev tap0 echo 1 > /proc/sys/net/ipv4/conf/tap0/proxy_arp arp -Ds 192.168.100.11 eth0 pub(note : cette configuration doit être refaite à chaque boot de l'hôte, cela vaut donc le coup d'écrire un petit script...)
/dev/net/tun
. Si ce n'est pas le cas, le plus simple est de faire chmod 666 /dev/net/tun
. Il semble qu'autoriser l'écriture à tous ne pose pas de problème de sécurité. En revanche cela peut être la source d'une attaque de dénis de service (n'importe qui peut maintenant créer autant de dispositifs Tap qu'il souhaite, même si ensuite il ne peut pas les configurer)./UML/Kernels/Wifi/linux-2.4.24/linux ubd0=cow2,/UML/FileSystems/fs02/rootfs eth0=tuntap,tap0
).