Простая программка для проверки открытия туннеля:
/* open_tun0 */
#include <fcntl.h>
#include <stdio.h>
int main()
{
int fd;
fd = open("/dev/tun0", O_RDWR);
printf("%d\n", fd);
if (fd == -1)
perror("/dev/tun0");
return 0;
}
Создаю tun0-интерфейс:
# ifconfig tun0 create
# open_tun0
3
# chown dummy /dev/tun0
# su dummy
$ open_tun0
-1
/dev/tun0: Operation not permitted
Тоже самое делаю в OpenBSD (только там чуть по-другому интерфейс создаётся):
# ifconfig tun0 group tun
# open_tun0
3
# chown dummy /dev/tun0
# su dummy
$ open_tun0
3
Почему в NetBSD не хочет открываться, хотя права выданы?



