我有一台防火墙后面的计算机、一台家用台式机和一台服务器。我可以从防火墙后面的计算机反向建立 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 网关上有一个防火墙阻止或不转发到专用网络。