![SSH 隧道连接到防火墙后面的盒子](https://linux22.com/image/501804/SSH%20%E9%9A%A7%E9%81%93%E8%BF%9E%E6%8E%A5%E5%88%B0%E9%98%B2%E7%81%AB%E5%A2%99%E5%90%8E%E9%9D%A2%E7%9A%84%E7%9B%92%E5%AD%90.png)
我有一台防火墙后面的计算机、一台家用台式机和一台服务器。我可以从防火墙后面的计算机反向建立 SSH 隧道到服务器,然后
ssh localhost -p some_port
在服务器上,但如果我尝试
ssh my_server -p some_port
从家里。我已禁用 iptables 以确保这不是防火墙问题,但这没有帮助。
我需要做什么才能使我的三人服务器正常运行?
理想情况下,我希望将某些请求的 http 端口转发到防火墙后面的机器。
答案1
如果您已经有与服务器的反向 ssh 隧道,您可能正在寻找“-g”选项。
-g Allows remote hosts to connect to local forwarded ports.
否则,只有本地主机才被允许使用您的隧道。
答案2
答案3
我不太明白你的问题,或者说,问题是什么以及你想要实现什么。另外,这不是一个编码问题,但我会尝试深入研究它。
您是否想从防火墙外部通过服务器通过 SSH 将 TCP 连接隧道传输到 computer_behind_firewall?并且此 SSH 连接失败?如果是这样,您应该tcpdump tcp PORT
在服务器上运行以查看是否真的没有数据包到达。如果它们到达,则您的 sshd 或 TCP 包装器配置为不接受来自外部的连接(检查 /etc/ssh/sshd_config、/etc/hosts.deny 和 /etc/hosts.allow)。还要查看 /var/log 中的日志文件。如果没有数据包到达,则在发送端或服务器 LAN 网关上有一个防火墙阻止或不转发到专用网络。