配对由两个防火墙隔开的两个通信进程

网络工程 纳特 防火墙 ip 转发表
2022-02-28 07:42:13

假设您在一个网络中有 4 个进程(没有防火墙)并且您看到(主机名 A、B、C、D):

From A:1 -> C:3
From B:2 -> D:4

因此,您知道 A 与 C 通信,B 与 D 通信。

现在假设 A,B 在数据中心 1 (D1) 中,C,D 在数据中心 2 (D2) 中。D1 和 D2 都有防火墙。现在他们正在通信,但你看不到来自 netstat 的链接,因为有类似的东西

From A:1 -> D1 Firewall:X
From D2 Firewall:Q -> C:3
From B:2 -> D1 Firewall:Y
From D2 Firewall:W -> D:4

A 仍在与 C(端口 1 到 3)通信,B 仍在与 D(端口 2 到 4)通信。我想在 netstat (A:1-C:3 amd B:2-D:4) 中看到“翻译”版本。我想在自己的代码中执行此操作,因此我无法使用其他一些企业网络软件,也无法访问防火墙。这是可行的吗?我可以以某种方式从 netstat 中提取这些信息吗?

1个回答

如果您的防火墙执行 NAT(它确实不必这样做来提供安全性!NAT != Security),那么您的会话在每个段上看起来都会不同:

  • 在第一个数据中心中,您将 A:1 作为源,D2-Firewall:Q 作为目标
  • 使用 NAT 通过 D1-Firewall 后,您将看到 D1-Firewall:X 作为源和 D2-Firewall:Q 作为目标
  • 使用 NAT 通过 D2-Firewall 后,您将看到 D1-Firewall:X 作为源,C:3 作为目标

NAT 真的搞砸了调试和可见性。根据您查看的位置,源地址和目标地址和端口将完全不同......在 D1 中,您只会看到 D2 NAT 框,它后面的所有内容都将被隐藏,反之亦然。