首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将数据写入linux tun接口

问将数据写入linux tun接口
EN

Stack Overflow用户
提问于 2018-08-22 21:55:48
回答 1查看 299关注 0票数 0

我已经创建了一个linux tun接口,设置了ipaddr,广播等等。使用open/ioctl apis。这就是tun界面的样子,

TEST_TUN: mtu 1500 qdisc pfifo_fast状态未知组默认qlen 500链接/无TEST_TUN 45.45.45.1/24作用域全局TEST_TUN valid_lft永远永远preferred_lft

Tun_fd接收由虚拟主机写入的任何消息(绑定在addr 45.45.45.1:udp=7070上)(在tun设备创建期间返回的fd)。

如果tun_fd写入msg (虚拟主机上未接收到IP(dst=45.45.45.1)+transport(udp_dst=7070)+payload)。wireshark捕获显示内核端正在接收数据包,但虚拟主机未收到任何数据包。

内核没有将数据包转发到虚拟主机的原因可能是什么?

EN

回答 1

Stack Overflow用户

发布于 2021-05-26 22:43:37

是否已将tun设备设置为启动状态?

如果没有,你可以简单的通过..

代码语言:javascript
复制
$sudo ifconfig tun0 up

您也可以通过ioctle命令来执行此操作。

如果您的设备已处于启动状态,则linux destro必须启用转发功能。你可以通过..

代码语言:javascript
复制
#echo "1" > /proc/sys/net/ipv4/ip_forwarding

或

代码语言:javascript
复制
$sudo sysctl net.ipv4.ip_forward=1
$sudo sysctl -p

然后谈到路由,rules..you必须设置路由规则,以便通过虚拟接口捕获所有流量。

代码语言:javascript
复制
$sudo ip route 128/1 dev tun

此命令将在您的内核路由表中添加一条路由,所有流量将流经您的虚拟接口。

如果我没理解错的话,这可能会对你有帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51968513

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档