开发者社区 问答 正文

轻量应用服务器,使用7788端口做反向代理,防火墙中打开了7788端口,但是仍然无法外网访问

  注意是轻量应用服务器,想使用7788端口做一个ssh转发的反向代理,然后使用autossh做了设置。命令是这样

autossh -M 12345 -gfnNTR 公网ip:7788:localhost:22 root@公网ip -o ServerAliveInterval=300

,然后命令执行成功后,云服务器和被代理的服务器都有对应的线程。

  但是查看云服务器的对应端口,发现如下图所示,代理的端口没问题,但是地址只能是本机的。

image.png

  联系工程师,说是不能使用公网ip来指定端口,我就把公网ip换成内网ip,命令执行成功之后,还是这个样子。然后工程师也没办法了。   不知道这里的各位大佬能否给点建议。我的防火墙配置是这样的。或者说轻量应用服务器本来就不能打开这些端口呢。 image.png

展开
收起
西电dzc 2020-05-15 15:16:25 1819 分享 版权
阿里云 AI 助理回答

在阿里云的轻量应用服务器上配置端口转发和使用autossh时,确实存在一些限制和最佳实践需要考虑。根据你的描述,你遇到了端口绑定到公网IP的问题,以及工程师建议不能直接使用公网IP来指定端口。这里有几个可能的原因和解决方向:

  1. 网络模型理解:轻量应用服务器通常采用NAT(网络地址转换)模式,这意味着你的服务器实际操作的是内网IP,而公网IP是通过NAT映射出来的。直接在命令中使用公网IP尝试绑定端口通常是不可行的,因为系统看到的是内网IP。

  2. 正确的配置方式:当你按照工程师的建议将公网IP替换为内网IP后,理论上应该能够成功建立SSH隧道,但你提到问题依旧。确保你的autossh命令中使用的是目标服务器的内网IP而非公网IP,并且确认两台服务器之间的内网通信是畅通的。正确的命令格式应类似于:

    autossh -M 12345 -gfnNTR 内网目标IP:7788:localhost:22 root@内网目标IP -o ServerAliveInterval=300
    

    这里假设你从一台服务器向另一台服务器建立反向代理。

  3. 安全组与防火墙设置:确保轻量应用服务器的安全组规则允许入站和出站流量通过7788端口。同时,检查服务器的操作系统层面(如iptables)是否有相应的防火墙规则阻止了连接。你已经展示了部分防火墙配置,但请确认所有涉及的服务器(包括源和目标)上的防火墙规则都已正确设置。

  4. NAT映射:如果需要从互联网访问这个7788端口,你需要在轻量应用服务器的管理控制台上设置端口转发,将公网的7788端口映射到服务器的内网IP和对应的端口上。

  5. 诊断工具:使用netstatss命令检查端口是否被正确监听,并使用traceroutemtr等工具检查网络路径,以排除网络层面上的问题。

  6. 联系阿里云支持:如果上述步骤均无法解决问题,建议再次联系阿里云的技术支持,并提供详细的错误信息、日志以及你尝试过的所有配置细节。有时候,特定的服务器配置或网络环境因素需要内部技术支持介入分析。

综上所述,问题可能在于配置细节、网络模型的理解或是安全策略的设定,逐一排查并调整相应设置应该是解决此问题的关键。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答