加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

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

发布时间:2020-12-13 18:41:33 所属栏目:Linux 来源:网络整理
导读:我很难想出这个问题 – 我正在尝试编写一个与 Linux隧道驱动程序交互的程序.在一个非常基本的层面上,我只想创建一个能够通过网络隧道传输数据的应用程序.但是,为了完成这一点,我完全失去了如何正确设置隧道驱动程序. 我正在Ubuntu 9.04开发,并且我加载了隧道
我很难想出这个问题 – 我正在尝试编写一个与 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 / *设备.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读