Cómo interactuar con el controlador de tun de Linux

Me está costando resolver este problema, estoy intentando escribir un programa que interactúe con el controlador del túnel de Linux. A un nivel muy básico, simplemente quiero crear una aplicación que pueda transferir datos a través de un túnel de red. Sin embargo, no sé cómo configurar correctamente el controlador del túnel para lograr esto.

Estoy desarrollando en Ubuntu 9.04, y tengo el módulo del kernel del controlador del túnel cargado.

Existe el dispositivo/dev/net/tun, sin embargo no hay/dev/tunX dispositivos No puedo crear estos dispositivos usandoifconfig - cuando corro/sbin/ifconfig tun0 up, por ejemplo, me sale el siguiente error:

tun0: ERROR al obtener indicadores de interfaz: no existe tal dispositivo.

Si intento mirar el/dev/net/tun dispositivo, se presenta el siguiente error:

cat: / dev / net / tun: descriptor de archivo en mal estado.

Intentando abrir/dev/tunX A través de un pequeño programa, básicamente, un simple

<code>tun_fd = open( "/dev/tun0", O_RDWR )
</code>

devuelve -1: la aplicación se ejecuta como root y aún no puede abrir este dispositivo de túnel. Es posible abrir/dev/net/tunSin embargo, esto no parece generar un nuevo/dev/tunX dispositivo para utilizar en su lugar.

Entonces, en resumen, ¿cómo se hace para escribir una aplicación que desea utilizar el controlador de túnel de Linux? Cualquier idea sería muy apreciada.

Gracias; ~ Robert

Respuestas a la pregunta(3)

Su respuesta a la pregunta