Jak połączyć się ze sterownikiem tuningu Linuksa
Trudno mi zrozumieć ten problem - próbuję napisać program, który będzie współdziałał ze sterownikiem tunelu Linux. Na bardzo podstawowym poziomie chcę po prostu utworzyć aplikację, która będzie w stanie przesyłać dane przez tunel sieciowy. Jednak zupełnie nie rozumiem, jak prawidłowo skonfigurować sterownik tunelu, aby to osiągnąć.
Rozwijam się na Ubuntu 9.04 i mam załadowany moduł jądra sterownika tunelu.
Istnieje urządzenie/dev/net/tun
, jednak nie ma/dev/tunX
pomysłowość. Nie mogę utworzyć tych urządzeń za pomocąifconfig
- kiedy biegnę/sbin/ifconfig tun0 up
na przykład pojawia się następujący błąd:
tun0: BŁĄD podczas pobierania flag interfejsu: Brak takiego urządzenia.
Jeśli spróbuję spojrzeć na/dev/net/tun
urządzenie, pojawia się następujący błąd:
cat: / dev / net / tun: deskryptor pliku w złym stanie.
Próba otwarcia/dev/tunX
za pomocą małego programu, w zasadzie prosty
<code>tun_fd = open( "/dev/tun0", O_RDWR ) </code>
zwraca -1: aplikacja działa jako root i nadal nie może otworzyć tego urządzenia tunelowego. Możliwe jest otwarcie/dev/net/tun
, jednak wydaje się, że nie generuje to nowego/dev/tunX
zamiast tego użyć urządzenia.
Podsumowując - w jaki sposób można napisać aplikację, która chce używać sterownika tunelu Linux? Wszelkie spostrzeżenia byłyby bardzo mile widziane.
Dzięki; ~ Robert