如果我在PC上端口转发80端口UDP,可以从其他笔记本电脑访问端口80吗?
如果我在PC上端口转发80端口UDP,可以从其他笔记本电脑访问端口80吗?
Answers:
您在这里问两个不同的问题。
您可以将同一端口号转发给2个不同的内部IP地址吗?
不,考虑一下。如果数据包到达您的外部地址和UDP端口80(假设你只有一个外部IP地址),如何将你的路由器知道这两个内部IP地址应该被转发到?
如果要托管两个不同的服务,则每个服务都需要一个单独的端口。
如果我在PC上端口转发80端口UDP,可以从其他笔记本电脑访问端口80吗?
是。端口转发通常只影响在您端具有端口80的数据包。当有人尝试连接到您时,您的路由器将看到:
但是从路由器的角度来看,传出连接(当您访问其他地方的网页时)会使它反向。
因此,端口转发根本不会影响那些端口转发。
(顺便说一下,HTTP通常在TCP上运行。只有Chrome的QUIC实验使用UDP。)
您可以将同一端口号转发给2个不同的内部IP地址吗?
是的,您绝对可以使用UDP进行操作,并且一定程度上可以使用TCP进行操作。
由于UDP是无连接的无状态协议,因此您可以侦听特定的端口,一旦数据包到达,您就可以将其复制并发送到两个不同的内部目标。由于没有握手或状态跟踪,所有目的地都将能够成功接收那些数据包。Samplicator是可以为您执行此操作的程序之一。请注意,按照其定义,这不是纯端口转发。
这对于TCP来说是可能的,但是有一些限制-您可以侦听特定的端口,并且一旦数据包到达,您就可以将其转发到池中的特定内部主机。TCP使用连接,因此一旦将初始数据包转发到特定的内部主机,现在就必须将此会话中的其余数据包转发到同一内部主机。
通过使用此技术,您可以使多个后端服务器处理到一个外部目标的请求。
如果我在PC上端口转发80端口UDP,可以从其他笔记本电脑访问端口80吗?
这个问题有点不清楚。如果将流量从外部地址转发到内部主机之一,则仅凭此事实并不能阻止您从内部网络访问同一端口。
假设您将端口80从转发A
到B
。同时C
将能够直接访问80端口,B
而不会出现任何问题。
A (external IP)
|
---------
| |
B C
您不能将同一端口同时转发到多个IP,我什至没有看到路由器/管理型交换机甚至可以让您做到这一点,而无需发送回配置错误消息。您可以为多个IP设置它,但一次只能启用一个转发规则。因此,您可以禁用一个启用其他功能,反之亦然,但这是一种浪费。如果您要通过LAN的外部IP地址访问LAN计算机上的特定端口/服务,则只需担心转发端口。假设您要在两台局域网PC上运行两台Web服务器并且能够一直访问它们,那么最简单的方法是更改服务的端口,一个监听80端口,另一个监听在8080或您想要的端口上。99%的服务将允许您在所需的任何端口上进行托管/侦听。如果不指定端口,它将回退到服务默认值。还有其他更高级的处理方法,但这是最简单的方法,任何说不同需求的人都可以回到网络学校,而不考虑或将高级方法称为“端口转发”。
您的路由器如何知道转发地址?由于NAT。
如果您购买域,则可以将该域名设置为计算机名称和NETBIOS名称。
例如,必须在两个内部不同但内部端口相同的外部端口上托管网站的两台不同计算机以域命名,否则您必须在内部DNS服务器上设置两个域,同时将内部IP添加到其记录中,路由器连接到该IP,每次有人尝试连接到域名(不是公共IP地址)路由器NAT将相应地转发连接。
您不能将完全相同的端口转发到同一网络上的多个IP,但是只要内部端口不同,就可以使用相同的外部端口,反之亦然。