新的 Azure 门户(无端点)如何从防火墙后面使用 RDP 连接到 VM
New Azure portal (no End Points) how to connect to VM with RDP from behind a firewall
我已经在新的 Azure 门户中创建了一个 VM(非经典,使用资源管理器),但我需要从防火墙后面进行连接。
我找到了很多文章来解释如何通过编辑 RDP 的端点设置来解决它,但是在新门户中没有这样的东西!
入站和出站规则只是我理解的防火墙规则,它什么也没给出。
我已经从家里连接到它并尝试将 RDP 侦听端口更改为未被防火墙阻止的端口,并具有以下功能 shell 脚本:
Set-ItemProperty -Path "HKLM:\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" -Name "PortNumber" -Value 443
重启虚拟机,更改了门户上的 default-allow-rdp 入站规则,但仍然无法连接。
您的公司网络似乎不允许 RDP 的出站连接源自公司防火墙内。这本身与 Azure VM 没有任何关系。但是,更改 Azure VM 上的 RDP 侦听端口应该可以很好地解决这个问题。也许,与其将其更改为使用通常用于 SSL/TLS 连接的端口 443,不如尝试将 RDP 端口更改为非标准端口。
您始终可以将 EndPoint 配置为将外部端口 XXXX 映射到内部 3389。
在新门户中,打开云服务/VM,转到设置并选择端点。您可以添加一个并设置 Public 和专用端口(Public 是您要从计算机连接到的端口,而私有端口是 VM 公开的端口)。
如果您使用 Resource Manager 模型创建了 VM,访问它的方法是,使用包含您的 VM 名称的搜索框。你应该找到一组物品,其中一个有一个蓝色的小盾牌(网络安全组)。一旦你 select 它,在设置窗格中,select 入站安全规则 :
你应该可以在那里自定义它。
遇到同样的问题并解决如下:
- 在 azure dashbord 上,VM 相关的安全接口,添加安全
打开 443 端口的入站规则。
- 在虚拟机上通过注册表编辑器将 RDP 端口更改为 443:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TerminalServer\WinStations\RDP-Tcp\PortNumber
- 在虚拟机防火墙上,添加开放443端口的入站规则
- 重新启动 VM 并连接到 IP:443
- 为了不松开与 VM 的连接,我建议安装 Ultra VNC,这样您就可以使用替代的 VM 控制点。
如果您使用资源管理器 (non-classic) 创建 VM,则您没有 Endpoints 配置,也无法按照 Matias 的回答中所述配置端口(以获取您的azure VM 通过防火墙中允许的端口)。
遗憾的是,并非所有 VM 模板都可用于 VM Classic 界面。我真的很想知道 azure 这里的限制是什么。
事实上,即使使用来自 Matias 的经典 VM 解决方案也不起作用 - 我部署了另一个具有经典界面的 VM,按照描述配置了端点,但仍然无法从防火墙后面连接。但它在其他任何地方都可以正常工作,我什至不需要更改 rdp 侦听器端口,当我在 Endpoint 中更改它时它会自动更改。
我找到的唯一可行的解决方案是使用 putty 和 SSH 隧道从公司防火墙后面的计算机连接到我的 azure non-classic VM 上的 443 端口。
以下是步骤:
在 Putty 中创建到 your_azurevm_ip:443 的连接
然后去
连接 -> SSH -> 隧道,将端口映射为 L49999 -> localhost:3389
您需要将任何免费的 SSH 服务器安装到 Azure VM(我使用的是 freeSSHd),并添加用于隧道的授权帐户
从 putty 建立连接并输入 SSH 凭据后,您使用 rdp 连接到 localhost:49999 并通过 SSH 隧道转发到 3389 本地 VM 端口
虽然很难看,但至少可以用。
我已经在新的 Azure 门户中创建了一个 VM(非经典,使用资源管理器),但我需要从防火墙后面进行连接。
我找到了很多文章来解释如何通过编辑 RDP 的端点设置来解决它,但是在新门户中没有这样的东西!
入站和出站规则只是我理解的防火墙规则,它什么也没给出。
我已经从家里连接到它并尝试将 RDP 侦听端口更改为未被防火墙阻止的端口,并具有以下功能 shell 脚本:
Set-ItemProperty -Path "HKLM:\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" -Name "PortNumber" -Value 443
重启虚拟机,更改了门户上的 default-allow-rdp 入站规则,但仍然无法连接。
您的公司网络似乎不允许 RDP 的出站连接源自公司防火墙内。这本身与 Azure VM 没有任何关系。但是,更改 Azure VM 上的 RDP 侦听端口应该可以很好地解决这个问题。也许,与其将其更改为使用通常用于 SSL/TLS 连接的端口 443,不如尝试将 RDP 端口更改为非标准端口。
您始终可以将 EndPoint 配置为将外部端口 XXXX 映射到内部 3389。
在新门户中,打开云服务/VM,转到设置并选择端点。您可以添加一个并设置 Public 和专用端口(Public 是您要从计算机连接到的端口,而私有端口是 VM 公开的端口)。
如果您使用 Resource Manager 模型创建了 VM,访问它的方法是,使用包含您的 VM 名称的搜索框。你应该找到一组物品,其中一个有一个蓝色的小盾牌(网络安全组)。一旦你 select 它,在设置窗格中,select 入站安全规则 :
你应该可以在那里自定义它。
遇到同样的问题并解决如下:
- 在 azure dashbord 上,VM 相关的安全接口,添加安全 打开 443 端口的入站规则。
- 在虚拟机上通过注册表编辑器将 RDP 端口更改为 443: HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TerminalServer\WinStations\RDP-Tcp\PortNumber
- 在虚拟机防火墙上,添加开放443端口的入站规则
- 重新启动 VM 并连接到 IP:443
- 为了不松开与 VM 的连接,我建议安装 Ultra VNC,这样您就可以使用替代的 VM 控制点。
如果您使用资源管理器 (non-classic) 创建 VM,则您没有 Endpoints 配置,也无法按照 Matias 的回答中所述配置端口(以获取您的azure VM 通过防火墙中允许的端口)。 遗憾的是,并非所有 VM 模板都可用于 VM Classic 界面。我真的很想知道 azure 这里的限制是什么。
事实上,即使使用来自 Matias 的经典 VM 解决方案也不起作用 - 我部署了另一个具有经典界面的 VM,按照描述配置了端点,但仍然无法从防火墙后面连接。但它在其他任何地方都可以正常工作,我什至不需要更改 rdp 侦听器端口,当我在 Endpoint 中更改它时它会自动更改。
我找到的唯一可行的解决方案是使用 putty 和 SSH 隧道从公司防火墙后面的计算机连接到我的 azure non-classic VM 上的 443 端口。 以下是步骤:
在 Putty 中创建到 your_azurevm_ip:443 的连接 然后去 连接 -> SSH -> 隧道,将端口映射为 L49999 -> localhost:3389
您需要将任何免费的 SSH 服务器安装到 Azure VM(我使用的是 freeSSHd),并添加用于隧道的授权帐户
从 putty 建立连接并输入 SSH 凭据后,您使用 rdp 连接到 localhost:49999 并通过 SSH 隧道转发到 3389 本地 VM 端口 虽然很难看,但至少可以用。