注意是轻量应用服务器,想使用7788端口做一个ssh转发的反向代理,然后使用autossh做了设置。命令是这样
autossh -M 12345 -gfnNTR 公网ip:7788:localhost:22 root@公网ip -o ServerAliveInterval=300
,然后命令执行成功后,云服务器和被代理的服务器都有对应的线程。
但是查看云服务器的对应端口,发现如下图所示,代理的端口没问题,但是地址只能是本机的。
联系工程师,说是不能使用公网ip来指定端口,我就把公网ip换成内网ip,命令执行成功之后,还是这个样子。然后工程师也没办法了。 不知道这里的各位大佬能否给点建议。我的防火墙配置是这样的。或者说轻量应用服务器本来就不能打开这些端口呢。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
在阿里云的轻量应用服务器上配置端口转发和使用autossh时,确实存在一些限制和最佳实践需要考虑。根据你的描述,你遇到了端口绑定到公网IP的问题,以及工程师建议不能直接使用公网IP来指定端口。这里有几个可能的原因和解决方向:
网络模型理解:轻量应用服务器通常采用NAT(网络地址转换)模式,这意味着你的服务器实际操作的是内网IP,而公网IP是通过NAT映射出来的。直接在命令中使用公网IP尝试绑定端口通常是不可行的,因为系统看到的是内网IP。
正确的配置方式:当你按照工程师的建议将公网IP替换为内网IP后,理论上应该能够成功建立SSH隧道,但你提到问题依旧。确保你的autossh命令中使用的是目标服务器的内网IP而非公网IP,并且确认两台服务器之间的内网通信是畅通的。正确的命令格式应类似于:
autossh -M 12345 -gfnNTR 内网目标IP:7788:localhost:22 root@内网目标IP -o ServerAliveInterval=300
这里假设你从一台服务器向另一台服务器建立反向代理。
安全组与防火墙设置:确保轻量应用服务器的安全组规则允许入站和出站流量通过7788端口。同时,检查服务器的操作系统层面(如iptables)是否有相应的防火墙规则阻止了连接。你已经展示了部分防火墙配置,但请确认所有涉及的服务器(包括源和目标)上的防火墙规则都已正确设置。
NAT映射:如果需要从互联网访问这个7788端口,你需要在轻量应用服务器的管理控制台上设置端口转发,将公网的7788端口映射到服务器的内网IP和对应的端口上。
诊断工具:使用netstat
或ss
命令检查端口是否被正确监听,并使用traceroute
或mtr
等工具检查网络路径,以排除网络层面上的问题。
联系阿里云支持:如果上述步骤均无法解决问题,建议再次联系阿里云的技术支持,并提供详细的错误信息、日志以及你尝试过的所有配置细节。有时候,特定的服务器配置或网络环境因素需要内部技术支持介入分析。
综上所述,问题可能在于配置细节、网络模型的理解或是安全策略的设定,逐一排查并调整相应设置应该是解决此问题的关键。