不太懂网络 NAT 的原理。
如果是对称型 NAT ,假设有两台主机 A 和 B
A 有公网 IPv4 没有 IPv6 ,B 只有一个 NAT IP, IPv4 NAT OUT. IPv6 NAT IN.
现在我希望让 A 通过这个 NAT OUT 的 IP 连接到 B ,但是又不太能通过反向连接的方式实现。也就是常见的内网穿透,因为一些网络审计的原因,从 B 到 A 没法走加速包加速,丢包严重,但是从 A 到 B 是有加速包的。
这种情况下有可能让 B 打个洞出来让 A 主动连接么?
1
kirafreedom 2 天前
我家里网络就是内网 ipv4 ,用 stun 穿透打开一个 ipv4 公网端口,在外面通过这个端口回家
|
2
mooyo OP @kirafreedom 我知道 NAT1 ,2 可以这样做,但是 NAT4 也行么?
|
3
basncy 2 天前
能跑通的第一个包是从 B 到 A ,可以再开个贴先解决审计丢包问题。
|
4
totoro625 2 天前
@mooyo #2 NAT4 只能靠猜测,历遍端口进行碰撞,参考: https://github.com/MikeWang000000/n4
|
5
yiranw09 2 天前
对称型 NAT 要怎么打洞?
靠猜吗... |
6
lmmir 2 天前
还有就是走 upnp
|
7
cmj2010 2 天前
To hit a 99.9% chance of success, we need each side to send 170,000 probes. At 100 packets/sec, that’s 28 minutes of trying before we can communicate.
source: https://tailscale.com/blog/how-nat-traversal-works |
8
v2er119 2 天前
B 提供 SSH Server
|
9
wanghanthu 2 天前
@yiranw09 UDP 可以靠穷举,TCP 估计是不现实了
|
10
superkkk 2 天前
要不让 b 连 a 开个 ssh 隧道?
|
11
n43635 1 天前
B 开 ssh 服务器,通过 frpc ( A 做服务端,B 做客户端)等将 ssh 端口映射到 A 上,A 再通过映射的 ssh 端口连接 B ,必要时可以使用 ssh 隧道
|
13
Ipsum 1 天前 via Android
B 需要至少主动向 A 发送一次数据,不然防火墙不会连接映射。如果只要是 B 主动发起的都吃不到加速包,那基本上可以放弃了。
|
14
dream2cast 2 小时 5 分钟前
NAT4 打洞在 EasyTier 中有个选项可以禁用的,不禁用的话,纯靠猜。NAT4 还有个 EasyInc 的类型,好像有规律,容易猜中一点。
|