You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure DC/OS快速启动中SSH Tunnel无法正常工作的技术问询

我来帮你一步步排查这个SSH隧道转发的问题——这种情况通常是隧道配置细节、网络规则或者本地/远端的端口冲突导致的,咱们逐一梳理:

排查步骤

1. 确认隧道端口映射的正确性

DC/OS控制面板默认绑定在集群master节点的80(HTTP)或443(HTTPS)端口,你需要先核对隧道命令的映射逻辑:

  • 如果用Windows 10的OpenSSH,正确的命令格式应该是:
    ssh -L 8080:<master-node-internal-ip>:80 <azure-username>@<master-node-public-ip> -i <private-key-path>
    
    重点注意:master节点要用内网IP而非公网IP,公网IP的防火墙会限制直接访问节点内部服务;同时本地端口(比如8080)不能被其他程序占用,可通过Windows命令netstat -ano | findstr :8080检查端口占用情况。

2. 检查Azure网络安全组(NSG)规则

你需要确保:

  • master节点的NSG允许集群内部流量访问80/443端口(SSH隧道转发本质是节点内部的访问请求)
  • 本地机器到master节点公网IP的22端口是开放的(你能执行隧道命令,这条大概率没问题,但可以再确认下NSG的入站规则)

3. 验证隧道是否真的在转发流量

隧道命令执行成功不代表流量能正常转发,你可以做两个验证:

  • 本地执行telnet localhost 8080,如果能成功连接,说明本地监听端口正常;如果连接失败,要么是隧道未正确建立,要么是本地端口被占用
  • SSH登录到master节点,执行netstat -an | findstr :80,查看是否有来自本地SSH进程的连接(隧道建立后,master节点的SSH服务会和本地建立转发通道)

4. PuTTY配置的细节核对

如果你用PuTTY创建隧道,别漏了这些细节:

  • 在Connection > SSH > Tunnels面板,Source port填本地端口(比如8080),Destination填<master-node-internal-ip>:80
  • 选择Local和Auto选项,点击Add后再保存会话并连接
  • 连接成功后,PuTTY的日志会显示类似“Local port 8080 forwarding to :80”的提示,没有的话说明隧道未正确添加

5. 排查本地浏览器的干扰因素

有时候浏览器的代理设置、缓存或插件会影响本地端口的访问:

  • 关闭浏览器的代理设置,或者用隐私窗口访问http://localhost:8080
  • 尝试用curl命令测试:curl http://localhost:8080,看是否能返回DC/OS的页面内容

6. 确认DC/OS服务的运行状态

如果以上都没问题,那可能是DC/OS本身的服务未正常启动:

  • SSH登录到master节点,执行systemctl status dcos-mesos-master和systemctl status dcos-ui,检查这些核心服务是否处于running状态

内容的提问来源于stack exchange,提问作者user2332995

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 07:21:39