前言
在去年我完成了 DN42 网络的搭建后,为了方便管理和安全,我在各个节点都安装了 podman 和 ufw。而这个决定,将我代入了一个深渊巨坑之中。
表象
我的网络架构还是比较简单的:
graph TD
A[LAX RR]
B[HKG]
C[AMS]
D[DEU]
E[Homelab]
subgraph Full-mesh Overlay
A <--> B
A <--> C
A <--> D
end
A <--> E
四个主要节点使用 wg 组成 full-mesh 网络,其中 LAX 节点作为 Router Reflector, Homelab 仅与 HKG 建立了 p2p.
而在此后的很长一段时间里,我经常遇到一些奇怪的问题:
为什么我 ping/trace 不通对方的 IP,即使是建立了 Peer 也不行?
又为什么我抓包发现,对面可以 ping/trace 通我,但我却不能,而且抓包没有一个回包的。
1
2
3
4 traceroute 172.20.62.161
1 10.22.44.8 122ms # NAT 网关
2 172.20.62.171 125ms # SessNetwork
3 * * * # 之后全超时又又为什么我在 LAX 节点上可以 ping/trace 通,但在 HKG 节点上却 ping/trace 不通?
诊断
我先是考虑过 ufw 防火墙