Tag: 隧道

如何与Linux tun驱动程序进行交互

我很难解决这个问题 – 我正在尝试编写一个与Linux隧道驱动程序交互的程序。 在一个非常基础的层面上,我只想创建一个能够通过网络隧道传输数据的应用程序。 但是,我完全不知道如何正确设置隧道驱动程序以实现此目的。 我在Ubuntu 9.04上开发,我加载了隧道驱动程序内核模块。 存在设备/dev/net/tun ,但是没有/dev/tunX设备。 我无法使用ifconfig创建这些设备 – 每当我运行/sbin/ifconfig tun0 up ,例如,我收到以下错误: 获取接口标志时的tun0:ERROR:没有这样的设备。 如果我尝试查看/dev/net/tun设备,则会显示以下错误: cat:/ dev / net / tun:文件描述符处于错误状态。 尝试通过一个小程序打开/dev/tunX ,基本上是一个简单的 tun_fd = open( “/dev/tun0”, O_RDWR ) 返回-1:应用程序以root身份运行,但仍无法打开此隧道设备。 可以打开/dev/net/tun ,但是这似乎不会生成要使用的新/dev/tunX设备。 总而言之 – 如何编写希望使用Linux隧道驱动程序的应用程序? 任何见解将不胜感激。 谢谢; 〜罗伯特