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/tun
Sin 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