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

关于连接Azure私有IP Ubuntu VM及访问其上Web应用的技术咨询

问题解答

1. 连接私有IP虚拟机的其他方案

除了Azure Bastion,还有以下几种可行方案:

  • VPN路由校验与修正:你提到已连接企业VPN但仍无法访问,核心问题大概率是路由配置缺失。检查本地设备路由表,确保Azure虚拟机所在VNET的私有IP段路由指向企业VPN网关;同时确认Azure VPN网关已将VNET路由正确发布到本地网络,完成后即可直接通过SSH连接虚拟机私有IP。
  • 跳转机(Jump Box)部署:在同一VNET内部署一台带公网IP的虚拟机(或通过Bastion连接该跳转机),先登录跳转机,再从跳转机SSH到目标私有IP虚拟机。需配置跳转机的NSG规则:允许本地来源访问22端口,同时允许跳转机访问目标虚拟机的22端口。
  • Azure CLI内置SSH代理:使用Azure CLI的代理功能直接连接,无需虚拟机有公网IP,命令格式:
    az vm ssh --name <VM_NAME> --resource-group <RG_NAME> --proxy-ssh
    
    前提是Azure CLI拥有对应资源权限,且虚拟机已配置SSH密钥或启用Azure AD登录。
  • 自定义SSH端口转发:通过可访问的中间节点(如跳转机)建立隧道,将本地端口映射到目标虚拟机的22端口,示例命令:
    # 本地端口2222映射到目标VM的22端口
    ssh -L 2222:<目标VM私有IP>:22 <跳转机用户名>@<跳转机公网IP>
    
    之后本地执行ssh localhost:2222即可连接目标虚拟机。

2. 访问同一虚拟机上的Web应用(host:port)

根据场景不同,可选择以下方案:

  • VPN直接访问:确保VPN路由配置正确后,直接在本地浏览器或客户端工具中输入http://<目标VM私有IP>:<端口>。需提前确认:NSG允许该端口的入站流量(来源可设为VPN网段或VNET内部),且虚拟机本地防火墙(如ufw)已开放对应端口。
  • Azure Bastion端口转发:利用Bastion的端口转发功能映射本地端口到虚拟机的Web端口,命令格式:
    az network bastion tunnel --name <BASTION_NAME> --resource-group <RG_NAME> --target-resource-id <VM资源ID> --port <Web应用端口> --local-port <本地端口>
    
    执行后访问http://localhost:<本地端口>即可访问Web应用。
  • 跳转机端口转发:通过跳转机建立端口转发,将本地端口映射到虚拟机的Web端口,示例命令:
    ssh -L 8080:<目标VM私有IP>:<Web端口> <跳转机用户名>@<跳转机公网IP>
    
    之后访问http://localhost:8080即可连接到虚拟机上的Web应用。
  • Azure应用网关(Application Gateway):如果Web应用需要对外提供服务,可部署应用网关到同一VNET,将后端池配置为目标虚拟机的私有IP和Web端口。通过应用网关的公网IP或自定义域名访问Web应用,此方案无需暴露虚拟机公网IP,还能提供负载均衡、WAF防护等功能。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 04:10:19