又是许久没有写博客了,这次来分享一篇自救的手记,提醒各位做事情之前千万要想清楚!否则后果真不是每个人都能承受得起的!
事情是这样的,开始的时候本来想在Azure的虚机上测试下防火墙有没有生效,于是顺其然想到的就是建立防火墙规则之后,使用telnet之类的工具在远程测试下端口是否还能ping通,这种测试方法除了要求windows防火墙要开启允许规则之外,还需要要求NSG上也开通对应的规则,想想还是挺麻烦的,有什么比较简单的方法吗?不由想到NSG上本来就已经开通了3389的规则了,不如拿3389来测试下吧。想想自己还真是挺聪明的,居然能想到这种办法
于是啥也没多想,三下五除二就把防火墙规则加上了,点击确定之后突然发现傻眼了,端口是不通了,但是我自己也没办法远程了,愣了足足有2秒钟,难道这机器就这么废了?这当然不是我的风格,但是有啥办法能解现在的局呢?
情况就是,windows内部防火墙把3389 block掉了,导致不管是远程还是内网都没办法RDP到服务器,同时机器也是不加域的,也没添加过啥白名单,PowerShell也没办法远程执行命令,想想还真是有点麻烦
灵机一动之下,突然想到系统层面没办法解决问题,可以在云平台层面想办法,就算远程执行powershell因为凭证等原因无法实现,但是可以通过平台提供的功能把这事做了,其中最简单的办法就是通过custom script extension来做,思路也很简单,准备好删除防火墙规则的PS脚本,直接通过custom script extension上传到服务器,然后再执行即可
试了一下果然能够成功!终于把服务器给救回来了,下边来分享下做法
首先看下现在确实没办法远程到3389了
接下来准备好自救的脚本!其实非常简单,就一句话,删除之前造孽的规则即可
接下来到云平台创建script extension
选择我们准备好的script
之后可以看到script已经成功provision!
再看之前害人不浅的防火墙规则
刷新一下就不见了!
自救成功!下回可别这么作死了