在今天的文章中我们将使用一种完全不同的方式,来实现对新的Windows Server 2008高级防火墙的类似配置,就是使用netsh这个工具以Windows命令行界面(CLI)的方式对防火墙进行配置。选择这种配置方式的理由有很多,让我们一起寻找答案吧。
了解Netsh advfirewall工具
在新的Windows 2008 Server中,你会看到一个更加高级的基于主机的防火墙。在上篇文章中我们已经提到它的一些新功能:
·新的图形化界面—现在通过一个管理控制台单元来配置这个高级防火墙。
·双向保护—对出站、入站通信进行过滤。
·与IPSEC更好的配合—现在防火墙规则和IPSec加密配置被集成到一个界面中。
·高级规则配置—你可以针对Windows Server上的各种对象创建防火墙规则,配置防火墙规则以确定阻止还是允许流量通过具有高级安全性的Windows防火墙。
Netsh是可以用于配置网络组件设置的命令行工具。具有高级安全性的Windows防火墙提供netsh advfirewall工具,可以使用它配置具有高级安全性的Windows防火墙设置。使用netsh advfirewall可以创建脚本,以便自动同时为IPv4和IPv6流量配置一组具有高级安全性的Windows 防火墙设置。还可以使用netsh advfirewall命令显示具有高级安全性的Windows防火墙的配置和状态。
为什么要使用命令行界面来配置一个Windows防火墙?
俗话说,萝卜青菜各有所爱。有的人喜欢使用图形化的管理单元来配置这个新的防火墙,有的人则更愿意通过命令行方式来完成他们的配置工作,理由如下:
·配置更快速—一旦你熟练掌握了如何使用netsh advfirewall命令,在配置防火墙的时候要比使用图形化界面速度快的多。
·可以编写脚本—使用这个工具你可以对一些常用的功能编写脚本。
·在图形化界面不可用时依然可以配置防火墙—和其他命令行工具一样,当图形化界面不可用的时候,例如在Windows Server 2008 Core模式下,你依然能够使用netsh advfirewall工具来对防火墙进行配置。
有哪些命令可用?
Netsh advfirewall的命令非常多,今天我们选择你必须掌握的几个最常见的命令介绍给大家。
1、help命令(或“?”)
虽然简单,但这却可能是最有用的命令。任何时候当你键入“?”命令的时候,你会看到和上下文相关的所有选项,如图1。
图1、netsh advfirewall的和help选项
2、consec(连接安全规则)命令
这个连接规则可以让你创建两个系统之间的IPSEC VPN。换句话说,consec规则能够让你加强通过防火墙的通信的安全性,而不仅仅是限制或过滤它。
这个命令会将你带入到连接安全配置模式,如下所示:
Netsh advfirewall>consec
Netsh advfirewall consec>
现在如果你键入“?”命令的话,你将会在netsh advfirewall consec中看到六个不同的命令(见图2)。
从这儿你可以看到你可以通过以下命令来修改安全规则:
此上下文中的命令:
·add命令可以让你添加新连接安全规则;
·delete命令让你删除所有匹配的连接安全规则;
·dump命令显示一个配置脚本;
·help可以显示命令列表。
·set命令让你为现有规则的属性设置新值。
图2、netsh advfirewall consec命令选项
show命令
要想查看防火墙现在的状况,你将必须使用这个show命令,再其下提供三个不同的命令可用。
·Show alias为你列出所有定义的别名;
·show helper列出所有顶层帮助者;
·Show mode命令可以钢珠你显示防火墙是在线还是离线。
3、Export命令
这个命令可以让你导出防火墙当前的所有配置到一个文件中。这个命令非常有用,因为你可以备份所有的配置到文件中,如果你对已经作出的配置不满意的话,可以随时使用这个文件来恢复到修改前的状态。
以下是一个应用示例:
netsh advfirewall export “c:\advfirewall.wfw”
4、Firewall命令
使用这个命令你可以增加新的入站和出站规则到你的防火墙中。它还可以让你修改防火墙中的规则。
图3、netsh advfirewall firewall
在firewall上下文命令中,你会看到四个重要的命令,分别是:
·Add命令让你增加入站和出站规则;
·Delete命令让你删除一条规则;
·Set命令为现有规则的属性设置新值;
·Show命令将显示一个指定的防火墙规则。
以下是增加和删除一个防火墙规则的示例:
增加一个针对messenger.exe的入站规则
netsh advfirewall firewall add rule name="allow messenger" dir=in program="c:\programfiles\messenger\msmsgs.exe” action=allow
删除针对本地21端口的所有入站规则:
netsh advfirewall firewall delete name rule name=all protocol=tcp localport=21
5、Import命令
Import命令让你可以从一个文件中导入防火墙的配置。这个命令可以让你把之前你使用export命令导出的防火墙配置再恢复回去。示例如下:
Netsh advfirewall import “c:\advfirewall.wfw”
6、Reset
这个命令让你重新设置防火墙策略到默认策略状态。使用这个命令的时候务必谨慎,因为一旦你键入这个命令并按下回车后,它将不再让你确认是否真要重设,直接恢复防火墙的策略。
示例命令如下:
Netsh advfirewall reset
7、Set命令
set命令将允许你修改防火墙的不同设置状态。相关的上下文命令有六个。
图4、netsh advfirewall set
·set allprofiles让你修改所有配置文件中的属性。
·set currentprofile 让你只修改活动配置文件中的属性。
·set domainprofile让你修改域配置文件中的属性。
·set global让你修改防火墙的全局属性。
·set privateprofile让你修改专用配置文件中的属性。
·set publicprofile让你修改公用配置文件中的属性。
·set store让你为当前交互式会话设置策略存储。
以下是使用set命令的一些例子:
·让防火墙关闭所有配置文件:
netsh advfirewall set allprofiles state off
·在所有配置文件中设置默认阻挡入站并允许出站通信:
netsh advfirewall set allprofiles firewallpolicy blockinbound,allowoutbound
·在所有配置文件中打开远程管理:
netsh advfirewall set allprofiles settings remotemanagement enable
·在所有配置文件中记录被断开的连接:
netsh advfirewall set allprofiles logging droppedconnections enable
8、Show命令
这个show命令将让你可以查看所有不同的配置文件中的设置和全局属性。
总结
在这篇文章中,我们了解了如何使用netsh advfirewall命令配置Windows 2008防火墙的一些基本命令。你可以自己来选择是使用图形界面还是使用命令行方式来配置你的防火墙。如果你掌握了命令行方式下的这些命令,命令行界面是一种快速的配置Windows 2008防火墙的方式