这是在没有启用端口转发的路由器的背景下提出的。即不接受传入连接。仅接受传出连接。
我在一个论坛上看到有人说,每当你作为客户端位于路由器后面并连接到特定主机时,路由器上就会打开一个端口并转发所有试图连接到该端口的入站流量,无论流量的来源是什么,因此,当该连接打开时,它就像你为该端口设置端口转发一样不安全。换句话说,一些来自主机以外的其他地址的恶意第三方可以连接到该端口。
我的理解是,当我发起与主机的传出连接时,侦听端口仅限于与该主机地址的通信。换句话说,第三方的传入连接将无法访问该端口。然而,这个人似乎暗示只有防火墙才能做到这一点。这有点违反了我对连接如何工作以及路由器如何映射传出连接的侦听端口的理解(我本来想补充说我的知识中有很多漏洞可以违反,但后来我意识到这听起来真的很糟糕。)。
路由器是否会限制传出连接以与目标主机通信?或者,如果其他第三方尝试连接到该侦听端口,路由器是否也会转发来自非目标主机的通信?
答案1
我假设您的路由器在这里执行 NAT(大多数家用路由器都这样做)。在这种情况下,传入数据包只有在与当前 NAT 连接匹配时才会被转发,这意味着源和目标 IP 和端口必须全部匹配,因此您关于仅转发相关数据包的说法是正确的。
请注意,在这种情况下没有监听端口(即没有接受连接的进程) - 路由器只是路由和 NATing IP 数据包。
即使路由器盲目转发与连接无关的数据包,它们也会被目标机器丢弃,因为它们不是开放的 TCP 连接的一部分(并且不能有进程监听该端口,因为它正在用于传出连接)。