AzureWindows云计算系统经验菜鸟

微软Azure云 IAAS故障排除与实战101:修改Azure虚拟机端口实战以及故障排除方法

为了避免一些端口暴露在公网上被扫描和破解,一些用户选择修改默认端口的方法提升安全性。在Azure云的虚拟机中我们同样可以做这样的操作,但是由于某些原因,客户可能会忘记在操作系统防火墙中添加自定义端口开放,这直接造成了无法连接虚拟机的状况。本次实验以Azure云的Windows虚拟机为测试环境,修改默认的3389端口,并介绍一些简单的快速的故障排除方法。

微软Azure云 IAAS故障排除与实战101:修改Azure虚拟机端口实战以及故障排除方法插图

[本文由Tim撰写,AndyX修改。本文的“Azure Portal”门户界面以英文为主,仅供参考。]

[本人中所有涉及到 Azure 的实验均在 Azure Global 国际版中进行配置,部分功能可能在 Azure 世纪互联版中受到限制]

[本文为AndyX.Net原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明!]

[如果本文章帮助到了您,请在记得在文章末尾“打赏”作者,感谢!]

 

初始化实验环境

  • OS:Windows Server 2019 Datacenter
  • VMName:TimRDPtest
  • VMSize:Standard_D2_v3
  • OSDisk:128GB, Standard HDD
  • NSG:默认(允许3389端口连入)
  • Windows防火墙:默认(开启)

 

修改Azure虚拟机端口实战

一、在Windows系统内使用注册表修改RDP远程桌面端口

1.1 打开【开始菜单】➡【运行】➡输入regedit或者regedt32打开【注册表管理器】微软Azure云 IAAS故障排除与实战101:修改Azure虚拟机端口实战以及故障排除方法插图1

1.2 定位到路径:Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp

微软Azure云 IAAS故障排除与实战101:修改Azure虚拟机端口实战以及故障排除方法插图2

1.3 选择十进制(Decimal),输入自定义端口号(例如本文中的自定义新端口12345)

微软Azure云 IAAS故障排除与实战101:修改Azure虚拟机端口实战以及故障排除方法插图3

关于“更改计算机上的远程桌面的侦听端口”的微软官方文档(中文),请参见链接:
https://docs.microsoft.com/zh-cn/windows-server/remote/remote-desktop-services/clients/change-listening-port

 

二、修改Windows 防火墙以及 Azure中的NSG规则

2.1 修改Windows防火墙

      进入Windows Firewall 选择 Advanced Settings

微软Azure云 IAAS故障排除与实战101:修改Azure虚拟机端口实战以及故障排除方法插图4

      选择Inbound Rules 新建New Rule

微软Azure云 IAAS故障排除与实战101:修改Azure虚拟机端口实战以及故障排除方法插图5

      配置防火墙规则(如下图)

  • 选择添加Port规则
  • 选择添加TCP协议,输入自定义端口号(例如12345)
  • 命名规则

微软Azure云 IAAS故障排除与实战101:修改Azure虚拟机端口实战以及故障排除方法插图6 微软Azure云 IAAS故障排除与实战101:修改Azure虚拟机端口实战以及故障排除方法插图7 微软Azure云 IAAS故障排除与实战101:修改Azure虚拟机端口实战以及故障排除方法插图8

关于“创建入站端口规则”的微软官方文档(中文),请参见链接:
https://docs.microsoft.com/zh-cn/windows/security/threat-protection/windows-firewall/create-an-inbound-port-rule

 

2.2 添加Azure云的NSG规则

       在Azure的VM界面(如本文的VM:TimRDPtest),选择Networking, 添加Network security group(NSG) TimRDPtest-vnet-NSG-CASG 和Network security group(NSG) TimRDPtest-nsg 规则。

       **请注意:这里默认有两个NSG(network security group 安全组),第一个隶属于VNet(虚拟网络)的NSG,第二个隶属于NIC(虚拟网卡)的NSG**

微软Azure云 IAAS故障排除与实战101:修改Azure虚拟机端口实战以及故障排除方法插图9

       添加自定义端口号,命名NSG规则(此时建议保留原始NSG的3389默认规则)。

      **请注意,这里填写的是Inbound入站规则,并且写入Destination目标地址**

微软Azure云 IAAS故障排除与实战101:修改Azure虚拟机端口实战以及故障排除方法插图10

       RDP 端口NSG部分到此修改完成。

       测试并验证RDP连接时请输入自定义端口号进行RDP访问(如下图)

微软Azure云 IAAS故障排除与实战101:修改Azure虚拟机端口实战以及故障排除方法插图11

关于“Azure创建、更改或删除网络安全组”的微软官方文档(中文),请参见链接:
https://docs.microsoft.com/zh-cn/azure/virtual-network/manage-network-security-group

 

关于针对由于修改RDP端口导致无法连接VM的故障与排除方法

针对于NSG设置的排查:

  1. 检查NSG规则是否存在
  2. 检查NSG规则是否属于Inbound
  3. 检查NSG规则是否指向Destination目标地址
  4. 若同时存在VNet和NIC的NSG,请检查两者是否都做了同样的设置

 

对只修改RDP端口未修改Guest OS 防火墙规则的VM进行故障排查

方法一:使用RunCommand关闭Windows防火墙(如下图)
  • 选择Operation
  • 选择Run Command
  • 选择RunPowerShellScript

填入并运行 Powershell 命令关闭Windows防火墙:

Set-NetFirewallProfile -All -Enabled false

微软Azure云 IAAS故障排除与实战101:修改Azure虚拟机端口实战以及故障排除方法插图12 微软Azure云 IAAS故障排除与实战101:修改Azure虚拟机端口实战以及故障排除方法插图13

 

方法二: 使用Serial Console(串行控制台)关闭Windows防火墙(如下图)
  • 输入 cmd 配置cmd命令
  • 输入 ch -si 1 切换到cmd命令1
  • 输入 UserName, Password进入Guest OS,  Domian留空

微软Azure云 IAAS故障排除与实战101:修改Azure虚拟机端口实战以及故障排除方法插图14 微软Azure云 IAAS故障排除与实战101:修改Azure虚拟机端口实战以及故障排除方法插图15 微软Azure云 IAAS故障排除与实战101:修改Azure虚拟机端口实战以及故障排除方法插图16

成功使用Serial Console(串行控制台)登录到Windows后:

  • 输入 powershell 进入powershell 命令模式
  • 输入 Set-NetFirewallProfile -All -Enabled false 关闭防火墙
  • 输入 exit 退出powershell 命令模式

微软Azure云 IAAS故障排除与实战101:修改Azure虚拟机端口实战以及故障排除方法插图17

输入cmd命令  netsh advfirewall show allprofiles 来验证防火墙是否被关闭

微软Azure云 IAAS故障排除与实战101:修改Azure虚拟机端口实战以及故障排除方法插图18

关于“如何使用Serial Console(串行控制台)进行Windows故障排查”的微软官方文档(中文),请参见链接:
https://docs.microsoft.com/zh-cn/azure/virtual-machines/troubleshooting/serial-console-windows

 

(全文完)

 

文章撰写:Tim Wang,来自AndyX.Net ,由AndyX修改并发布。

文章遵循 CC 4.0 BY-SA 版权协议,若需转载本文,请标注来源与链接:原创内容AndyX.Net版权所有

https://andyx.net/azurelab_101_change_ports_and_troubleshooting_on_azure_virtual_machine/