我无法设置TUN界面。我搜索到的每个地方都说设备应该扎根。 我在我的ubuntu 14.04系统上设置了proxyserver
static int get_interface(char *name) {
int interface = open("/dev/net/tun", O_RDWR | O_NONBLOCK);
struct ifreq ifr;
memset(&ifr, 0, sizeof(ifr));
ifr.ifr_flags = IFF_TUN | IFF_NO_PI;
strncpy(ifr.ifr_name, name, sizeof(ifr.ifr_name));
if (ioctl(interface, TUNSETIFF, (void *)&ifr) < 0) {
perror("Cannot get TUN interface");
exit(1);
}
return interface;
}
答案 0 :(得分:0)
检查您的设备名称(即ifr.ifr_name)。另一个过程可能使用同一设备。例如,您可能正在尝试使用tun0,并且另一个进程已经打开它。