同一个 local_addr, 对不同 remote_addr 进行访问, 某些对称型 NAT 是可以猜测出口地址的, 比如电信家宽:
访问 xxxx:1234:
2023-08-27 17:25:56 - server/src/main.rs:76 -> Server started on xxxx:1234
2023-08-27 17:25:59 - core/src/server.rs:77 -> [STUN] connection accepted: addr=x.113.51.76:2100
2023-08-27 17:25:59 - core/src/server.rs:77 -> [STUN] connection accepted: addr=x.113.51.76:2100
2023-08-27 17:26:01 - core/src/server.rs:77 -> [STUN] connection accepted: addr=x.113.51.76:2103
访问 xxxx:9999:
2023-08-27 17:25:52 - server/src/main.rs:76 -> Server started on xxxx:9999
2023-08-27 17:25:59 - core/src/server.rs:77 -> [STUN] connection accepted: addr=x.113.51.76:2101
2023-08-27 17:26:01 - core/src/server.rs:77 -> [STUN] connection accepted: addr=x.113.51.76:2104
2023-08-27 17:26:02 - core/src/server.rs:77 -> [STUN] connection accepted: addr=x.113.51.76:2108
但是中国移动测试下来, 似乎是对 remote_addr 进行了哈希, 随机分区:
访问 xxxx:1234:
2023-08-27 17:29:01 - server/src/main.rs:76 -> Server started on xxxx:1234
2023-08-27 17:29:37 - core/src/server.rs:77 -> [STUN] connection accepted: addr=x.136.53.79:6039
2023-08-27 17:29:41 - core/src/server.rs:77 -> [STUN] connection accepted: addr=x.136.53.79:6039
2023-08-27 17:29:42 - core/src/server.rs:77 -> [STUN] connection accepted: addr=x.136.53.79:6040
访问 xxxx:9999:
2023-08-27 17:28:18 - server/src/main.rs:76 -> Server started on xxxx:9999
2023-08-27 17:29:39 - core/src/server.rs:77 -> [STUN] connection accepted: addr=x.136.53.79:51701
2023-08-27 17:29:42 - core/src/server.rs:77 -> [STUN] connection accepted: addr=x.136.53.79:51702
2023-08-27 17:29:44 - core/src/server.rs:77 -> [STUN] connection accepted: addr=x.136.53.79:51703
这就导致 STUN 不起作用, 如何破敌?
1
pagxir 2023-08-27 17:39:47 +08:00
不是有 IPv6 么
|
2
totoro625 2023-08-27 20:33:47 +08:00 1
可以尝试进入光猫管理员界面关闭防火墙、设置对应主机为 DMZ 主机后尝试一下
镇江移动修改后是 NAT1 ,UDP 打洞正常 |
3
laozhoubuluo 2023-08-27 21:26:38 +08:00 via Android 1
手机卡的 IPv4 网络一般都是 NAT4 模式的,两个 NAT4 的打洞一般来说无法成功。
建议尝试 IPv6 打洞或者考虑自有服务器转发。 |