2011-01-22 122 views
1

是有可能发送一个回波请求来设置背后后NAT 的主机。所有的回声请求不成立的目标主机的端口,所以如果有多个主机使用相同的外部IP地址如何将NAT能够回声请求转发到特定的主机是否可以通过nat从nat外部ping?

回答

2

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

对于ICMP数据包,echo请求包含ID字段,该字段保留在答复中。虽然它的16位有一定的限制,但它允许与来自IP报头的源IP地址相比,对每个回复所对应的请求具有相当高的置信度。

编辑:

作为一个NAT后面实施针对特定的主机,这通常是不可能的。您可能能够:

  • 重定向所有ICMP流量到一台内部主机只监控一台主机。

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

一般来说,NAT应该隐藏来自世界的主机,除了任何转发的IP连接。

+0

是的,这将解决传出的回显请求,其中nat表能够创建发送者的内部IP地址和发送的回显消息之间的映射。但是我想问一个你想ping一台设置在nat后面的主机的情况。在这种情况下,如何将一个主机与另一个主机区分开来? – David 2011-01-22 19:34:14