設定 Windows 防火牆時,我常會被公用、私人、網域這三個網路位置(Network Location)迷惑...

印象中新增網卡或連上新網路時,Windows 會跳出詢問決定公用或私人,然後防火牆設定得網域、私人、公用三種分開管理。三者有什麼差別?為什麼跟防火牆關聯這麼深?我一知半解,決定今天花了點時間搞清楚。

Windows 會在第一次連上某個網路時詢問「Do you want to allow your PC to be discoverable by other PCs and devices on this network? /是否要允許您的電腦被這個網路上的其他電腦裝置探索?」決定是否開啟檔案分享,進而影響套用的防火牆規則。網路位置可事後變更,共有三種選項:

  • 公用網路 Public Network
    所有網路第一次連上的預設選項,假設此電腦直接連上 Internet 或公開網路,與其他電腦間不受保護,因此 Windows 防火牆會啟用較嚴格的防護措施,阻擋大部分應用程式及服務,如網路分享、網路印表機... 等。
  • 私人網路 Private Network
    適用住家或小型辦公網路,或是你信任同網路上的主機及裝置,允許網路磁碟機、印表機分享,並會啟用網路探索功能,允許被其他電腦找到。
  • 網域網路 Domain Network
    適用於電腦透過該網路加入 AD 網域時,因被視為較可信任的受控內部網路,管制上再寬鬆一些。

簡單來說,Windows 防火牆設定規則時可限定適用網路位罝,精準設定開放範圍,像是若電腦同時接兩塊網卡,一塊接內網(私人網路)、一塊接外網(公用網路),可做不同設定。

例如,當我開放「私人網路」的檔案及印表機分享功能:

對映到防火牆規則,TCP 445 Port 的 File and Printer Sharing (SMB-in) 規則有兩條,一個適用 Domain、Public,一個適用 Private。因為我只在私人網路開啟,只有 Private 藍色那條被啟用(前面有綠色打勾):

換句話說,防火牆可針對公用、私人、網域做不同設定,網卡連上的網路指定為公用、私人或網域(需加入 AD 網域),便會套用不同的防火牆規則,就這麼簡單,但我拖到今天才搞懂。結案。

【延伸閱讀】

【同場加映】使用 Powershell 查詢、變更網路位置,以及啟用檔案印表機分享:

# 查詢網卡名稱作為 InterfaceAlias 參數
Get-NetAdapter 
# 查詢 Ethernet 這個網路的 Profile
Get-NetConnectionProfile -InterfaceAlias Ethernet 
# 改為 Private 公用
Set-NetConnectionProfile -InterfaceAlias Ethernet -NetworkCategory 'Private' 
# 啟用 Private 的檔案印表機分享存取
Set-NetFirewallRule -DisplayGroup 'File and Printer Sharing' -Enabled True -Profile 'Private'


Comments

# by C

感謝用心分享,目前正在學習相關知識中,您的文章幫助很多,真心感謝

Post a comment