假设我使用 OpenVPN 协议加密我的网络流量。VPN 使用哪个端口?
是否加密流量只通过 443 或 80?(HTTPS/HTTP)
或者 VPN 创建使用自己的港口寄送包裹?
答案1
视情况而定吨实施 VPN 的协议种类繁多,既有标准协议也有专有协议。其中一些协议故意使用端口 443(通常伪装成 TLS),但大多数协议并不使用。
请注意,只有一些 VPN 协议完全使用 TCP – 大多数使用 UDP(具有独立于 TCP 的端口)或其他协议(如 GRE),因为通常应避免在另一个 TCP 内隧道化 TCP/IP。
OpenVPN 是一种常用的协议,支持通过 TCP 或 UDP 使用,其官方分配的端口是 1194,但服务器所有者可以自由选择其他端口。因此,虽然 UDP/1194 是默认选择,但许多人实际上在 TCP/443 上运行 OpenVPN 服务器,以便他们可以穿过公共 wifi 网络上的限制性防火墙。
一些其他协议专门使用 UDP,例如 WireGuard(它没有“标准”端口 - 服务器运营商必须选择一个。)
还有一些混合协议,它们使用 TCP 作为“控制”连接,但使用 UDP 作为数据通道。OpenConnect / Cisco AnyConnect 协议就是这样一个例子,它使用常规 HTTPS(通常在端口 443 上)进行初始握手,然后转向通过 UDP 的 DTLS(尽管也通常在端口 443 上)——尽管它能配置为通过 TCP 发送所有数据,并且如果 UDP 不可用,则完全通过 TCP/443 运行。
(同样,PPTP 使用 TCP 端口 1723 作为其控制通道,但使用 GRE 作为实际隧道 - GRE 既不是 TCP 也不是 UDP,甚至没有像 TCP/UDP 那样的端口。)