![通过多个主机的 SSH 隧道将流量转发到设备](https://linux22.com/image/1612629/%E9%80%9A%E8%BF%87%E5%A4%9A%E4%B8%AA%E4%B8%BB%E6%9C%BA%E7%9A%84%20SSH%20%E9%9A%A7%E9%81%93%E5%B0%86%E6%B5%81%E9%87%8F%E8%BD%AC%E5%8F%91%E5%88%B0%E8%AE%BE%E5%A4%87.png)
我正在尝试最小化面向公众的攻击面。仅允许来自特定 IP 地址的流量。我想阻止从公共端对远程 WAN/Edge 路由器管理端口的所有输入访问。因此,我想创建一个到私有端服务器的隧道,并将流量从那里转发到 WAN/Edge 路由器。我家里有一个动态 IP,但有一个 DigitalOcean Droplet 可以用于隧道传输,而隧道传输将始终是静态的。我相信 VPN 可以实现相同的结果,但我真的不想设置和维护 VPN,如果我可以确定隧道序列,SSH 隧道将允许我随意创建和拆除,也可以使用 SSH 密钥认证。所以我的连接看起来像这样。
WAN/边缘路由器上的目标端口是用户可定义的。因此,为了混淆目标,我们假设它是端口 3333。因此,从我的工作站,我将我的管理实用程序指向本地主机上的端口 3333。通过隧道将流量引导到 WAN/电缆调制解调器的内部接口。
家庭工作站(公用端口 3333)-> digital_ocean_jump_host -> [---> 使用防火墙/NAT 规则穿过目标网络 WAN/边缘路由器 --->] -> internal_jump_host -> 端口 3333 上的 WAN/边缘路由器的私有接口
经过多次 Google 查询和多次尝试,我还是无法让它正常工作。我最多只能通过 ssh 连接到内部服务器。
我可能遗漏了什么 SSH foo。理想情况下,我希望将隧道设为自动化服务。但两步过程是可以接受的。