2

是否可以在 nat 之后向设置在 nat 后面的主机发送回显请求。所有的 echo-r​​equest 都不包含目标主机的端口,因此如果有多个主机使用相同的外部 ip 地址,nat 将如何将 echo-r​​equest 转发到特定主机

4

1 回答 1

3

大多数现代 NAT/数据包过滤实现都是有状态的。这意味着他们对这个词的概念connection比旧的无国籍变体更广泛。这使他们能够处理使用额外连接(例如 FTP)的更复杂的协议,以及像ICMP这样的无连接协议。

对于 ICMP 数据包,echo请求包含一个ID保留在回复中的字段。虽然它的 16 位有点限制,但它允许与来自 IP 标头的源 IP 地址结合使用,以便对echo每个回复对应的请求具有相当高的置信度。

编辑:

至于以 NAT 实现背后的特定主机为目标,这通常是不可能的。您或许能够:

  • 将所有 ICMP 流量重定向到一台内部主机以仅监控该一台主机。

  • 使用echo请求数据包的“填充”数据字节来提供某种主机标识符。例如,在某些 Linux 系统上的-p选项允许设置该字段。ping不过,这绝不是标准的。

一般来说,NAT 应该对外界隐藏它背后的主机,但任何转发的 IP 连接除外。

于 2011-01-22T18:13:38.173 回答