端口转发是单向的还是双向的?在外部端口发出的请求被转发到内部端口;明白了。响应的路由如何?

端口转发是单向的还是双向的?在外部端口发出的请求被转发到内部端口;明白了。响应的路由如何?

端口转发是单向的还是双向的?在外部端口发出的请求被转发到内部端口;明白了。响应怎么样?响应是否再次通过相同的端口转发,或者响应是从本地网络上的设备到路由器,然后直接到客户端(发出请求的客户端)(无需再次通过相同的端口转发)?

下面的图片能解释端口转发吗?

在此处输入图片描述

答案1

某种程度上是双向的,某种程度上是单向的。根据您的问题和图片,我认为您使用的是 NAT。

假设用户的源 IP 为 111.111.111.111,请求从端口 7777 发出

您的公共 IP 是 49.207.10.38,您的边缘路由器或代理正在监听端口 80

您的内部路由器的私有 IP 192.168.1.254

您的内部服务器的 IP 是 192.168.1.100

  1. 用户到达您的路由器或代理:111.111.111.111:7777 -> 49.207.10.38:80
  2. NAT 将公共 IP 转换为内部私有 IP:它不是从 49.207.10.38 发送内部数据包,而是以 192.168.1.254 发送,这样内部节点就可以回复路由器。
  3. 您的路由器将数据包重定向到内部服务器:192.168.1.254.7777 -> 192.168.1.100:80
  4. 内部服务器处理请求并将页面内容应答至源服务器(现在是内部路由器):192.168.1.100:80 -> 192.168.1.254:7777
  5. 路由器应用 NAT 转换以便将其发送回原始请求者,但是现在,NAT 还将其内部 IP 转换为公共 IP,以便公共用户可以从公共互联网访问它(它将以 49.207.10.38 而不是 192.168.1.254 作为源包):49.207.10.38:80 -> 111.111.111.111:7777

话虽如此,请记住:

  • 如果请求从端口 7777 发往端口 80,则答案将从端口 80 发送到端口 7777

  • 如果你将服务器放在私有网络中,则需要使用 NAT 将私有 IP 伪装成公共路由器 IP

相关内容