V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  FaiChou  ›  全部回复第 10 页 / 共 80 页
回复总数  1589
1 ... 6  7  8  9  10  11  12  13  14  15 ... 80  
@leonshaw #11 我理解的应该没错吧,在 linux/unix 中一切设备和 I/O 操作都是通过文件描述符抽象的。"把读到的 IP 包按 VPN 协议封装后发出去" 发出去也需要经过物理网口吧,那最终也是需要经过绑定这个物理网口的 "eth0" 网络接口。所以应该是 app network->utun->eth0->network
@leonshaw 嗯 谢谢,我大概写一下这个 **4 处理后的请求转发到其他网口** 这个逻辑:

```c
// 创建两个套接字
int utun_sock = socket(AF_INET, SOCK_STREAM, 0);
int eth0_sock = socket(AF_INET, SOCK_STREAM, 0);

// 绑定 utun_sock 到 utun 的 IP 地址
struct sockaddr_in utun_addr;
// 初始化 utun_addr
bind(utun_sock, (struct sockaddr *)&utun_addr, sizeof(utun_addr));

// 绑定 eth0_sock 到 eth0 接口
setsockopt(eth0_sock, SOL_SOCKET, SO_BINDTODEVICE, "eth0", strlen("eth0"));

// 读取数据并转发
char buffer[2048];
while (1) {
// 从 utun_sock 读取数据
int n = read(utun_sock, buffer, sizeof(buffer));
if (n <= 0) {
// 错误处理
break;
}

// 将数据写入 eth0_sock
int m = write(eth0_sock, buffer, n);
if (m <= 0) {
// 错误处理
break;
}
}

```

大概是这样吧。
@lcdtyph 谢谢,之前一直搞不懂 netstat -rn 给出的这个结果,你一讲我明白了:

default 192.168.11.1 UGScg en0
default link#25 UCSIg utun3
1 198.18.0.1 UGSc utun10
2/7 198.18.0.1 UGSc utun10
4/6 198.18.0.1 UGSc utun10
8/5 198.18.0.1 UGSc utun10
16/4 198.18.0.1 UGSc utun10
32/3 198.18.0.1 UGSc utun10
64/2 198.18.0.1 UGSc utun10
100.64/10 link#25 UCS utun3
@julyclyde 哈哈 标题起得草率了,没有回去读一遍。原意是想表达某些应用比如 clashxpro 是如何将它新建的 utun interface 起到接管整个系统网络请求的。
222 天前
回复了 FaiChou 创建的主题 Windows Windows 每次开机后打开网站会断网
@CEEC 应该和小米路由器没关系,局域网内其他设备没遇到过,包括其他三台 Windows+2 台 Mac 还有若干手机。
用的软路由接的路由器。
222 天前
回复了 FaiChou 创建的主题 Windows Windows 每次开机后打开网站会断网
试了一下,并不是切换一下网络就好了。后面使用时候还可能会再遇到。。
用的都是 edge 。
来啦 抽奖+++ 最喜欢吃石榴了。
加油,不过说句实在的,这功能和 UI ,不值这个价。。
来啦来啦
分母
分母+1
69JH7XKX7XKJ 已用谢谢
谢谢 APAF6ARHPA4E 已用。
赞啊 最爱吃猕猴桃了

分母+1
ZmFpY2hvdS56aEBnbWFpbC5jb20=
@Kinnikuman 洗鼻子也试过,没啥效果。早上洗鼻子,出门,然后就开始不停流鼻涕了。
@shingle #14 推特 API: ZmFpY2hvdS56aEBnbWFpbC5jb20=
1 ... 6  7  8  9  10  11  12  13  14  15 ... 80  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3822 人在线   最高记录 6543   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 34ms · UTC 10:18 · PVG 18:18 · LAX 03:18 · JFK 06:18
Developed with CodeLauncher
♥ Do have faith in what you're doing.