WindowsServer2012系统中防火墙的建立关于NetshadvfirewallNetsh,网络服务shell是一个命令行脚本工具,可用于在本地计算机与远程计算机上对多种网络服务配置进行管理。Netsh提供了单独的命令提示符,可以在交互模式或非交互模式下使用。具有高级安全性的Windows防火墙提供netshadvfirewall工具,可以使用它配置具有高级安全性的Windows防火墙设置。使用netshadvfirewall可以创建脚本,以便自动同时为IPv4和IPv6流量配置一组具有高级安全性的Windows防火墙设置。还可以使用netshadvfirewall命令显示具有高级安全性的Windows防火墙的配置和状态。你可以针对PPPCloud箭头上WindowsServer2012的各种对象创建防火墙规则,配置防火墙规则以确定阻止还是允许流量通过具有高级安全性的Windows防火墙。NetshAdvfirewall命令Netsh上下文是网络服务shell中的顶级上下文,不管操作的是哪一级上下文,都可以使用命令“..”返回到上一级上下文。如果当前级内某子上下文是可用的,则可以键入该子上下文名,来访问该子上下文及其命令。NetshAdvfirewall上下文可以用于查看与管理高级安全windows防火墙的设置。以下是NetshAdvfirewall上下文中可用的命令:?:显示命令列表consec:切换到netshadvfirewallconsec上下文dump:显示上下文中设置配置脚本export:将当前策略导出到文件firewall:切换到netshadvfirewallfirewall上下文import:将策略文件导入到当前策略库mainmode:切换到netshadvfirewallmainmode上下文monitor:切换到更改到netshadvfirewallmonitor上下文reset:将策略重置为默认的out-of-box策略set:设置每个配置文件或全局设置show:显示配置文件或全局属性创建规则:使用firewall命令你可以增加新的入站和出站规则到你的防火墙中。它还可以让你修改防火墙中的规则。如果你输入以下内容,你可以查看到当前的所有规则:netshadvfirewallfirewallshowrulename=all显示效果如下:如果你想替换另一套规则或想重新开始,你可以通过全部删除将规则设置回默认:netshadvfirewallfirewallshowrulename=all或netshadvfirewallreset显示效果如下:reset命令让你重新设置防火墙策略到默认策略状态。使用这个命令的时候务必谨慎,因为一旦你键入这个命令并按下回车后,它将不再让你确认是否真要重设,直接恢复防火墙的策略。一个基本的防火墙在firewall上下文命令中,你会看到四个重要的命令,分别是:Add命令让你增加入站和出站规则;Delete命令让你删除一条规则;Set命令为现有规则的属性设置新值;Show命令将显示一个指定的防火墙规则。以下是增加和删除一个防火墙规则的示例:增加一个针对messenger.exe的入站规则netshadvfirewallfirewalladdrulename=allowmessengerdir=inprogram=c:\programfiles\messenger\msmsgs.exe”action=allow删除针对本地21端口的所有入站规则:netshadvfirewallfirewalldeleterulename=allprotocol=tcplocalport=21显示效果如下图:目前的规则允许所有的连接,包括传入和传出。没有任何安全措施,当我们建立IPtable的时候,记住一旦一个信息包被接受,拒绝或者丢弃,不会有进一步的规则处理,因此在前面的规则优先于后面的规则。在创建规则的时候,我们一定要确保防止自己不小心阻止了SSH(通过该方法我们可以连接到服务器)。假设我们想要阻止所有传入的传输,除了两个常见的端口:SSH22端口和web80端口。我们继续用下面的命令允许在指定端口上的所有传输:netshadvfirewallfirewalladdnamerulename=allprotocol=tcplocalport=22netshadvfirewallfirewalladdnamerulename=allprotocol=tcplocalport=80在这个命令中,protocol选项表示连接的协议,本例为TCP,localport指定信息包传输的端口号。当我们已经确保想要的传输可以通过防火墙后,最后我们可以阻断所有剩下的传输访问我们的虚拟服务器。因为这是列表中的最后一条规则,所有匹配IPTable中任何先前规则的所有传输将不会受到影响,并且会按先前的设置处理。让我们建立一条规则来阻止所有剩下的传输:netshadvfirewallsetallprofilesfirewallpolicyblockinbound,blockoutbound我们可以通过输入show命令来查看规则的详细内容netshadvfirewallfirewallshowrulename=alldir=intype=dynamic保存规则export命令可以让你导出防火墙当前的所有配置到一个文件中。这个命令非常有用,因为你可以备份所有的配置到文件中,如果你对已经作出的配置不满意的话,可以随时使用这个文件来恢复到修改前的状态:netshadvfirewallexport“c:\advfirewallpolicy.pol”Import命令让你可以从一个文件中导入防火墙的配置。这个命令可以让你把之前你使用export命令导出的防火墙配置再恢复回去netshadvfirewallimport“c:\advfirewallpolicy.pol”内容源于PPPCloud官网教程参考:《windows命令行详解手册》WilliamR.Stanek著