Administrator
发布于 2026-05-17 / 1 阅读
0

Linux tun

1,Tun 工作在网络层的虚拟机网卡 发送数据 - 应用发送数据,经过内核协议栈TCP/IP,协议栈填写基本信息 - 再到虚拟网卡:tun设备(虚拟网卡配置好ip,路由表配置好) - vpnapp读取tun数据发送:作为数据发到物理网卡,内核协议栈 接收数据 - 物理网卡收到数据 - 内核协议栈解析,找到对应vpn, - 现在里面数据应该是:IP+端口+数据 - IP 对应tunx, 端口对应APP !\[2024-07-07T07:51:41.png\]\[1\] 2,正常流量 !\[2024-07-07T07:54:07.png\]\[2\] 3,tun !\[2024-07-07T08:00:29.png\]\[3\] 4,示例 程序A:真是的应用程序,程序B为VPN程序,A通过TUN发送程序 !\[2024-07-07T08:18:55.png\]\[4\] \[1\]: /usr/uploads/2024/07/871085358.png \[2\]: /usr/uploads/2024/07/3435296265.png \[3\]: /usr/uploads/2024/07/2341610205.png \[4\]: /usr/uploads/2024/07/2320750001.png vpn 原理,配置路由表:那些网站需要tun网卡处理 1,创建虚拟网卡tun0,tun\*\*不需要ip地址\*\*(tun接受流量包,其他程序处理它) 2,物理网卡接收数据,物理机作为网关,局域网流量也可接受,注意\*\*网卡开启混杂模式,\*\*ip link set tun0 promisc on 3,路由表转发(本机直接走路由表,到达tun) 4,tun处理,转发到物理网卡 监控获取TUN网卡流量 demo:/archives/608/ VPN内部应该就是这个。 在 vpn中,起到中转的作用,加一层IP, (内部服务对应的IP,IP(内网网站IP(数据)))数据加密或不加密,发送到物理网卡 在 代理中,加一层IP,(代理节点IP(要访问的IP(数据))数据加密或不加密。 流量包的目的地址是本机IP时,内核应该是有判断,根本不会到达网卡:应用-》内核-》应用 应用-》内核-》网卡-》物理线路-》网卡-》内核-》应用