如何与Linux tun驱动程序进行接口

如何与Linux tun驱动程序进行接口,第1张

概述我很难想出这个问题 – 我正在尝试编写一个与 Linux隧道驱动程序交互的程序.在一个非常基本的层面上,我只想创建一个能够通过网络隧道传输数据的应用程序.但是,为了完成这一点,我完全失去了如何正确设置隧道驱动程序. 我正在Ubuntu 9.04开发,并且我加载了隧道驱动程序内核模块. 存在设备/ dev / net / tun,但是没有/ dev / tunX设备.我无法使用ifconfig创建这 我很难想出这个问题 – 我正在尝试编写一个与 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隧道驱动程序的应用程序?任何见解将不胜感激.

谢谢;
〜罗伯特

解决方法 阅读 /usr/src/linux/Documentation/networking/tuntap.txt.

你应该打开/ dev / net / tun设备.打开fd后的ioctl将创建tun0(或任何您想要命名的)网络接口. linux的网络接口不对应任何/ dev / *设备.

总结

以上是内存溢出为你收集整理的如何与Linux tun驱动程序进行接口全部内容,希望文章能够帮你解决如何与Linux tun驱动程序进行接口所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/1045651.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-24
下一篇 2022-05-24

发表评论

登录后才能评论

评论列表(0条)

保存