SWE / SRE / Frontend · System Design / 基础

TikTok Port Forwarding 与 Tunneling:映射和封装

用 SSH 本地转发说明端口映射,再解释隧道不必天然加密。

题目重点:用 SSH 本地转发说明端口映射,再解释隧道不必天然加密。

题意与假设

这道练习题保留了面经中值得训练的核心约束,并将需要澄清的条件单独列出。现场拿到变体时,先和面试官确认这些条件。

  • 概念比较不假定某个产品;只访问已授权目标,绑定范围和认证需明确。

解题路线

  1. port forwarding把某个监听地址/端口的连接转到另一端点,可由NAT、代理或SSH实现;tunneling把协议/数据通过另一个载体传输。二者可同时成立。
  2. SSH本地转发连接本地监听,经SSH通道到远端再访问目标;目标视角连接来源和DNS解析位置要说明。
  3. 隧道包括多种机制,不都加密。VPN/SSH等提供的安全来自协议与配置,不来自“tunnel”名称。
  4. 限制监听到所需地址,避免无意暴露内部服务;核对目标端ACL、认证、网络路径和连接超时。

手动走一遍

本地127.0.0.1某端口经SSH访问远端内网数据库,是端口转发同时承载在加密隧道中。简单路由器端口NAT映射可转发连接,却没有自动加密应用数据。

规模与取舍

封装增加头部与处理开销,MTU下降可能影响大包;吞吐取决于链路、加密和代理,不能保证原速。

易错点与追问

容易失分的边界

  • 转发一定加密。
  • 所有隧道都只处理一个TCP端口。
  • 监听0.0.0.0不评估暴露。

继续深挖

  • 本地/远程/动态转发有什么区别?
  • 隧道成功但应用失败如何排查?
✓已复制微信号!