SXCE tun/tap et quelques champignons s'il vous plait!
Par eau le mercredi 22 avril 2009, 00:42 - geeking - Lien permanent
J'ai besoin d'openvpn et le tun(7M) c'est pas vraiment ce que je pensais etre un device tun... Alors apres avoir joue avec tun(7M) pour constater que j'avais pas ce que je voulais, j'ai un peu cherche et voila vite fait un ptit resume...
D'abord un "tutorial" etape par etape pour l'installation d'OpenVPN avec OpenSolaris... bon ok faut un driver tuntap "externe", mais bon...
Ensuite on rencontre des tites merdes genre :
# make install ld -64 -r -o tun tun.o ld -64 -r -o tap tap.o /usr/bin/ginstall -c -m 644 -o root -g root if_tun.h /usr/include/net /usr/bin/ginstall -c -m 644 -o root -g root tun /usr/kernel/drv/amd64 /usr/bin/ginstall -c -m 644 -o root -g root tap /usr/kernel/drv/amd64 /usr/bin/ginstall -c -m 644 -o root -g root tun.conf /usr/kernel/drv /usr/bin/ginstall -c -m 644 -o root -g root tap.conf /usr/kernel/drv /usr/sbin/rem_drv tun >/dev/null 2>&1 /usr/sbin/rem_drv tap >/dev/null 2>&1 /usr/sbin/add_drv tun devfsadm: driver failed to attach: tun Warning: Driver (tun) successfully added to system but failed to attach /usr/sbin/add_drv tap devfsadm: driver failed to attach: tap Warning: Driver (tap) successfully added to system but failed to attach
et GnaGNAGnagnagnaGnaAGnA!!
Apr 22 00:16:45 deep genunix: [ID 370954 kern.notice] symbol tun_ppa: Apr 22 00:16:45 deep genunix: [ID 780480 kern.notice] value 0xffffffffc0347950 does not fit Apr 22 00:16:45 deep genunix: [ID 286029 kern.notice] relocation error: R_AMD64_32: Apr 22 00:16:45 deep genunix: [ID 720415 kern.notice] file /usr/kernel/drv/amd64/tap: Apr 22 00:16:45 deep genunix: [ID 370954 kern.notice] symbol tun_ppa: Apr 22 00:16:45 deep genunix: [ID 780480 kern.notice] value 0xffffffffc0347950 does not fit Apr 22 00:16:45 deep genunix: [ID 286029 kern.notice] relocation error: R_AMD64_32: Apr 22 00:16:45 deep genunix: [ID 720415 kern.notice] file /usr/kernel/drv/amd64/tap: Apr 22 00:16:45 deep genunix: [ID 370954 kern.notice] symbol tun_ppa: Apr 22 00:16:45 deep genunix: [ID 780480 kern.notice] value 0xffffffffc0347950 does not fit Apr 22 00:16:45 deep genunix: [ID 399259 kern.notice] do_relocations: /usr/kernel/drv/amd64/tap do_relocate failed Apr 22 00:16:45 deep genunix: [ID 603676 kern.notice] tap error doing relocations Apr 22 00:20:52 deep genunix: [ID 286029 kern.notice] relocation error: R_AMD64_32: Apr 22 00:20:52 deep genunix: [ID 720415 kern.notice] file /platform/i86pc/kernel/drv/amd64/tun: Apr 22 00:20:52 deep genunix: [ID 370954 kern.notice] symbol : Apr 22 00:20:52 deep genunix: [ID 780480 kern.notice] value 0xfffffffff82ee590 does not fit Apr 22 00:20:52 deep genunix: [ID 286029 kern.notice] relocation error: R_AMD64_32: Apr 22 00:20:52 deep genunix: [ID 720415 kern.notice] file /platform/i86pc/kernel/drv/amd64/tun: Apr 22 00:20:52 deep genunix: [ID 370954 kern.notice] symbol tun_ppa:
Bon hop hop on prends son cerveau, on tente de l'allumer (il est a peu pres minuit...).. apres etre passe par la, puis la...
j'ai finalement abouti ICI et la houra!
J'ai modifie qqes details dans le Makefile du driver Tun/Tap "externe" vite fait... Makefile:
[...] CC = cc LD = ld DEFS = -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DTUN_VER=\"1.1\ 04/22/2009\" CFLAGS = $(DEFS) -O2 -D_KERNEL -I. -m64 -xmodel=kernel ADD_DRV = /usr/sbin/add_drv REM_DRV = /usr/sbin/rem_drv DRV_DIR = /usr/kernel/drv/amd64 DRV_CONF_DIR = /usr/kernel/drv [...]
et on dit merci a -xmodel=kernel
..
au passage je suis tombe sur ces deux choses aussi..
- http://opensolaris.org/os/article/2005-03-31_inside_opensolaris__solaris_driver_programming/
- http://docs.sun.com/app/docs/doc/817-5789
Et c'est apres m'etre pris la tete 20 minutes ( alors que je suis une grosse feignasse...) que je vois que qqun avait aussi resolu le 'blem ici
au final on finit par avoir:
Apr 22 00:37:52 deep tun: [ID 654686 kern.notice] Universal TUN/TAP device driver ver 1.1 04/22/2009 (C) 1999-2000 Maxim Krasnyansky Apr 22 00:37:52 deep pcplusmp: [ID 805372 kern.info] pcplusmp: ide (ata) instance 1 irq 0xf vector 0x44 ioapic 0x8 intin 0xf is bound to cpu 1 Apr 22 00:37:52 deep pseudo: [ID 129642 kern.info] pseudo-device: tun0 Apr 22 00:37:52 deep genunix: [ID 936769 kern.info] tun0 is /pseudo/tun@0 Apr 22 00:37:53 deep tap: [ID 654686 kern.notice] Universal TUN/TAP device driver ver 1.1 04/22/2009 (C) 1999-2000 Maxim Krasnyansky Apr 22 00:37:53 deep pcplusmp: [ID 805372 kern.info] pcplusmp: ide (ata) instance 1 irq 0xf vector 0x44 ioapic 0x8 intin 0xf is bound to cpu 0 Apr 22 00:37:53 deep pseudo: [ID 129642 kern.info] pseudo-device: tap0 Apr 22 00:37:53 deep genunix: [ID 936769 kern.info] tap0 is /pseudo/tap@0
youpi.
NB: j'utilise le compilo sun.

Commentaires
Beautiful!!! You truly have an eye for colour. kbzaia 918984