使用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:programfilesmessengermsmsgs.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