Azure Firewall (2) Azure Firewall網絡排錯過程 Windows Azure Platform 系列文章目錄

  《Windows Azure Platform 系列文章目錄

 

  記錄一下今天遇到的一個問題:

 

  問題描述:

  • 客戶在Azure有若干臺虛擬機,客戶想知道這些虛擬機是否還有公網的訪問,具體訪問外網的IP和具體的流量分別是多少。
  • 客戶在Azure上部署了虛擬機和Azure防火牆
    • 從Internet訪問到Azure環境,具體的流量是:Internet -> Azure防火牆公網IP -> Azure負載均衡器內網IP -> Azure虛擬機
    • 從Azure環境訪問到Internet,是設置了路由表,把0.0.0.0/0的流量,下一條指向到Azure Firewall的內網IP。具體的流量是:Azure虛擬機 -> 路由表 -> Azure 防火牆內網IP -> Internet

 

  配置過程:

  • 直接使用Azure Network Watcher裏的NSG Flow Log,針對這些虛擬網絡子網所在的網絡安全組,設置NSG Flow Log,並推送到Log Analytics裏

 

  發現問題:

  • 客戶在使用NSG Flow Log的時候,發現過去1小時內,所有虛擬機的入站流量和出站流量,分別是21MB和42MB。如下圖:

 

  • 但是客戶使用Azure Firewall防火牆的網卡信息,發現防火牆的網卡信息,入站流量和出站流量總和,一共是184MB。和所有虛擬機網卡上的流量出入很大。

 

  排錯過程:

  1.檢查發現,Azure Firewall開啓了DNS Proxy,因此除了正常的數據交互流量之外,Firewall IP的流量應該還包括DNS 解析的流量。

  2.我們開啓了Firewall的診斷日誌,並將診斷日誌發送到Log Analytic

  3.檢查Firewall的Log Analytics信息,具體的Kusto語法

 

AzureDiagnostics
| where Category == "AzureFirewallDnsProxy"
| project msg_s, UDPSize=split(msg_s, " ")[9],Response=split(msg_s, " ")[-2]
| summarize request=sum(toint(UDPSize)),response=sum(toint(Response))

  4.執行結果:

 

    

  4.我們再次檢查Azure防火牆的出站流量,發現出站流量約50MB。截圖略。

  5.NSG和DNS 的字節總數爲21412509 Byte + 364568 Byte 約等於 33MB  ,根據NSG流日誌的定義,這些字節數爲TCP/UDP層的字節數,NSG 的流日誌記錄簡介 - Azure Network Watcher | Azure Docs,不包括IP報頭。

  https://docs.azure.cn/zh-cn/network-watcher/network-watcher-nsg-flow-logging-overview

 

  6.所以NSG和Firewall DNS 統計出來的數據,實際確實會小於IP 指標的Byte Count統計的字節數。

  IP 指標的Byte Count說明,參見:Azure Monitor supported metrics by resource type - Azure Monitor | Microsoft Docs  

 

  

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章