轉自:http://blog.51cto.com/jimshu/590411
Windows 防火牆通過阻止未授權用戶通過 Internet 或網絡訪問您的計算機來幫助保護計算機。
Windows 2008 和 Windows Vista 及后續版本都修改了安全策略,防火牆默認阻止了未經允許的訪問。
一、服務
1、查看服務
打開“管理工具”--“服務”,可以找到名為“Windows Firewall”的服務。
在Windows Server 2003操作系統中,如果停止這個服務,將允許所有的外部連接,即打開了所有的端口。但是,Windows Server 2008和Windows Vista及后續版本,顛覆了這一原則,即:如果停止這個服務,將拒絕所有的外部連接請求(關閉所有的端口)。
2、從控制面板打開防火牆管理界面
3、基本操作(不推薦)
在這種“基本模式”下,如果需要允許某些程序通過防火牆,可以針對該應用程序開放其所需的端口。
4、高級安全Windows防火牆(推薦)
(1)如果是 Windows Server 2008 操作系統,直接在“管理工具”中打開“高級安全Windows防火牆”。
(2)如果是Windows 7 操作系統,默認情況下“管理工具”是隱藏的。可以通過“搜索程序和文件”(超級搜索)功能打開。
(3)通過控制面板也可以打開“高級安全Windows防火牆”。
二、關閉防火牆(不推薦)
為了圖省事,特別是在測試環境中,如果想關閉防火牆,應該按以下操作。(請勿停止Windows Firewall服務,不然會禁用所有的入站請求)
(1)模式一:基本模式下的操作
(2)模式二:高級安全 Windows 防火牆
三、為SQL Server 開放端口
1. 啟用SQL Server默認實例所需的端口
SQL Server服務器(默認實例)默認使用TCP1433端口為客戶端建立連接,但是在安裝SQL Server的過程中並不會自動打開這個端口。在安裝時會有一個警告。
為了開放端口,我們使用“高級安全 Windows 防火牆”。
在左側的列表中,選擇“入站規則”,在最右側的任務列表中選擇“新建規則”。
在“該規則應用於TCP還是UDP”中選擇“TCP”,然后在“該規則應用於所有本地端口還是特定端口”中選擇“特定本地端口”,然后輸入端口號(數字)。
在本例中,可以輸入多個端口,中間用逗號隔開。Windows 7 和 Windows Server 2008 R2 還允許開放連續的端口,例如:5100-5200。
說明1:TCP5022端口用在SQL Server的鏡像(MIRROR)技術中。此處僅為示例,如果未啟用鏡像功能,則無需打開TCP5022。
說明2:TCP5022端口也用在SQL Server 2012的“AlwaysOn可用性組”技術中。此處僅為示例,如果未啟用“AlwaysOn可用性組”,則無需打開TCP5022。
2. 啟用SQL Server Browser所需的端口
當SQL Server 的實例使用了動態端口時,如果客戶端應用程序不知道這個實例的端口,就需要查詢實例所在的計算機上的“SQL Server Browser”服務。 SQL Server Browser這個偵聽器只偵聽UDP1434端口,因此需要添加相應的端口。
四、允許Ping的回顯請求
在日常使用時,我們經常使用Ping命令去查看網絡上是否存在另一台計算機,或者檢測網絡是否通暢。
ICMP是Internet Control Message Protocol,即Internet控制報文協議。它是TCP/IP協議族的一個子協議,用於在IP主機、路由器之間傳遞控制消息。控制消息是指網絡通不通、主機是否可達、路由是否可用等網絡本身的消息。Ping的過程實際上就是ICMP協議工作的過程。
但是,Windows Server 2008 和 Windows 7 默認不開放此端口。一般情況下,僅在以下2種情形才會開放Ping所需的端口。
1. 此服務器為域控制器
如果此服務器被提升為域控制器,Active Direcotry服務將強行打開一系列的端口,允許域的其它服務器和客戶端進行連接,其中就包括了ICMPv4回顯請求。
2. 手動添加入站規則,允許ICMPv4回顯請求
如果這台計算機不是域控制器(或者是Windows7),就需要手動添加入站規則,允許ICMPv4回顯請求。