又是许久没有写博客了,这次来分享一篇自救的手记,提醒各位做事情之前千万要想清楚!否则后果真不是每个人都能承受得起的!


    事情是这样的,开始的时候本来想在Azure的虚机上测试下防火墙有没有生效,于是顺其然想到的就是建立防火墙规则之后,使用telnet之类的工具在远程测试下端口是否还能ping通,这种测试方法除了要求windows防火墙要开启允许规则之外,还需要要求NSG上也开通对应的规则,想想还是挺麻烦的,有什么比较简单的方法吗?不由想到NSG上本来就已经开通了3389的规则了,不如拿3389来测试下吧。想想自己还真是挺聪明的,居然能想到这种办法


    于是啥也没多想,三下五除二就把防火墙规则加上了,点击确定之后突然发现傻眼了,端口是不通了,但是我自己也没办法远程了,愣了足足有2秒钟,难道这机器就这么废了?这当然不是我的风格,但是有啥办法能解现在的局呢?


    情况就是,windows内部防火墙把3389 block掉了,导致不管是远程还是内网都没办法RDP到服务器,同时机器也是不加域的,也没添加过啥白名单,PowerShell也没办法远程执行命令,想想还真是有点麻烦


    灵机一动之下,突然想到系统层面没办法解决问题,可以在云平台层面想办法,就算远程执行powershell因为凭证等原因无法实现,但是可以通过平台提供的功能把这事做了,其中最简单的办法就是通过custom script extension来做,思路也很简单,准备好删除防火墙规则的PS脚本,直接通过custom script extension上传到服务器,然后再执行即可


    试了一下果然能够成功!终于把服务器给救回来了,下边来分享下做法


    首先看下现在确实没办法远程到3389了

    IT男自救指南之Azure custom script extension应用_防火墙


    接下来准备好自救的脚本!其实非常简单,就一句话,删除之前造孽的规则即可

    IT男自救指南之Azure custom script extension应用_云_02

    接下来到云平台创建script extension

    IT男自救指南之Azure custom script extension应用_脚本_03

    

    选择我们准备好的script

    IT男自救指南之Azure custom script extension应用_脚本_04



    之后可以看到script已经成功provision!IT男自救指南之Azure custom script extension应用_云_05

    再看之前害人不浅的防火墙规则

    IT男自救指南之Azure custom script extension应用_防火墙_06


    刷新一下就不见了!

    IT男自救指南之Azure custom script extension应用_脚本_07


    自救成功!下回可别这么作死了