NAT 客户端和服务器以及端口关闭

NAT 客户端和服务器以及端口关闭

假设我有一个客户端和服务器。客户端位于 NAT 后面,而服务器是公共的。

客户希望拥有会议与服务器。

假设客户端位于 192.168.1.1,NAT 位于 192.168.1.2 私有 IP 地址。NAT 位于 50.0.0.1,服务器位于 50.0.0.2 公有 IP 地址。

客户端向服务器发送 UDP/IP(希望与 TCP/IP 类似)数据包。此数据包的源 IP 为 192.168.1.1,源端口为 1000(随机选择),目标端口为 50.0.0.2,目标端口为 2000,因为这是应用程序在服务器上运行的端口。

TCP/IP 数据包到达 NAT,它将源 IP 更改为 50.0.0.1 和端口,假设为 5000(随机选择)并路由到服务器。

服务器发送目标IP为50.0.0.1、端口为5000的响应数据包。

NAT 将数据包的目标 IP 更改为 192.168.1.1,目标端口更改为 1000。

  1. 现在,服务器是否可以向同一个 IP 50.0.0.1 和端口 5000 发送许多 UDP/IP 数据包,并且所有数据包都将被转发到客户端 192.168.1.1 端口 1000?

  2. 如果是,那么 NAT 公共端的端口 5000 会将数据包转发到上述客户端多长时间?

  3. 只有数据包源 IP 为 50.0.0.2,源端口为 2000会转发给客户吗?

答案1

答案:

  1. 是的。
  2. 这取决于设备的 NAT 实现。在 Linux 中,可以通过以下方式进行调整编辑 /proc/sys/net/ipv4/netfilter/ip_conntrack_udp_*
  3. 是的 - 除非有被 NAT 识别的“相关”端口,在这种情况下会使用额外的 NAT 模块来计算出相关的端口(至少在 Linux 上)

相关内容