簡介
本檔案介紹使用FDQN對象時,網域名稱系統(DNS)在思科調適型安全裝置(ASA)上的運作方式。
必要條件
需求
思科建議您瞭解Cisco ASA。
採用元件
為了明確在模擬生產環境中ASA上配置多個完全限定域名(FQDN)時DNS的運行情況,設定了一個具有一個面向Internet的介面和一個連線到ESXi伺服器上託管的PC裝置的ASAv。此模擬使用ASAv臨時代碼9.8.4(10)。
本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除(預設)的組態來啟動。如果您的網路運作中,請確保您瞭解任何指令可能造成的影響。
網路圖表
拓撲設定如下所示。
背景資訊
在ASA上配置多個完全限定的域名對象時,嘗試訪問FQDN對象中定義的任何URL的終端使用者將觀察ASA傳送的多個DNS查詢。本文旨在更好地瞭解為什麼會觀察到這種行為。
設定
客戶端PC配置了這些IP、子網掩碼和名稱伺服器以進行DNS解析。
在ASA上配置了兩個介面:一個內部介面,其安全級別為100,PC連線到該介面;一個外部介面,其連線到網際網路。
這裡,Gig0/1介面是介面IP為10.197.223.9的外部介面,而Gig0/3介面是介面IP為10.10.10.1的內部介面,並且連線到另一端的PC。
在ASA上配置DNS設定,如下所示:
為www.facebook.com、www.google.com、www.instagram.com和www.twitter.com配置4個FQDN對象。
在ASA外部介面上設定捕獲以捕獲DNS流量。然後在客戶端PC上嘗試從瀏覽器訪問www.google.com。
你觀察什麼?請看一下封包擷取。
此處您會看到,即使您嘗試只解析www.google.com,也會針對所有FQDN對象發出DNS查詢。
現在,請檢視DNS快取如何用於ASA上的IP,以瞭解發生這種情況的原因。
- 然後,DNS伺服器會解析PC請求,並返回一個IP,表明google.com位於指定位置。
- 然後PC發起與google.com解析IP地址的TCP連線。但是,當資料包到達ASA時,它沒有表明允許或拒絕指定IP的ACL規則。
- 但是,ASA知道它有4個FQDN對象,並且任何FQDN對象都可能解析為相關IP。
- 因此,ASA會傳送所有FQDN對象的DNS查詢,因為它不知道哪個FQDN對象可以解析到相關的IP。(這就是觀察到多個DNS查詢的原因)。
- DNS伺服器使用相應的IP地址解析FQDN對象。FQDN對象可以解析為客戶端解析的同一公共IP地址。否則,ASA會為與客戶端嘗試到達的IP地址不同的IP地址建立動態訪問清單條目,因此ASA最終丟棄資料包。例如,如果使用者將google.com解析為10.0.113.1,並且ASA將其解析為10.0.113.2,則ASA會為10.0.113.2建立新的動態訪問清單條目,使用者將無法訪問該網站。
- 下次收到請求解析特定IP的請求時,如果該特定IP儲存在ASA上,它將不再查詢所有FQDN對象,因為此時會出現動態ACL條目。
- 如果客戶端擔心ASA傳送的大量DNS查詢,請增加DNS計時器到期時間,並且如果終端主機嘗試訪問DNS快取中的目標IP地址。如果PC請求的IP未儲存在ASA DNS快取中,則會傳送DNS查詢以解析所有FQDN對象。
- 如果要減少DNS查詢數量,一個可能的解決方法是減少FQDN對象數量或定義將FQDN解析到的整個公共IP範圍,但這首先會破壞FQDN對象的用途。Cisco Firepower威脅防禦(FTD)是處理此使用案例的更好解決方案。
驗證
為了驗證每個FQDN對象解析到的ASA DNS快取中存在哪些IP,可以使用命令ASA# sh dns。
相關資訊