05-mDNS網關配置
本章節下載: 05-mDNS網關配置 (291.07 KB)
mDNS(multicast Domain Name System,組播域名係統)網關用於在大規模網絡中實現跨VLAN/VSI的mDNS服務發現。mDNS網關可以記錄網絡中所有可用的服務列表,並應答mDNS用戶終端的服務請求。同時,mDNS網關還支持mDNS服務主動發現和訪問權限控製等功能。
如圖1-1所示,典型的mDNS組網模型中包括四類實體:mDNS終端用戶設備、mDNS服務提供設備、mDNS網關和mDNS中繼。下麵將以不同VLAN間的mDNS設備互相通信的組網環境為例,介紹各實體的涵義及作用。
圖1-1 mDNS組網模型圖
mDNS終端用戶設備通過mDNS協議訪問網絡中提供mDNS服務的設備,如蘋果公司生產的終端設備等。
mDNS服務提供設備為mDNS終端用戶設備提供服務的設備,如支持mDNS協議的打印機和Apple TV等。
mDNS網關能夠記錄網絡中的mDNS服務提供設備的信息,應答mDNS終端用戶設備的服務請求。在連接mDNS服務提供設備的網絡設備(Device B)上開啟mDNS網關功能後,Device B將作為mDNS網關幫助mDNS終端用戶設備發現其它VLAN中的mDNS服務提供設備。
如果mDNS終端用戶設備與mDNS網關處於不同網段,則需要部署mDNS中繼設備,來實現mDNS報文跨網段轉發,以保證mDNS終端用戶設備和mDNS服務提供設備可以互通。關於mDNS中繼的詳細描述,請參見“三層技術-IP業務配置指導”中的“mDNS中繼”。
mDNS網關能夠通過管理員設定的策略來管理終端用戶設備和服務提供設備,實現mDNS協議在大規模網絡中的應用。mDNS策略中包含用戶VLAN/VSI和服務VLAN/VSI,用來保證某些用戶VLAN/VSI中的終端用戶設備隻能訪問對應服務VLAN/VSI中服務提供設備。
mDNS網關的作用包括:
· 響應代答
· 服務發現
在mDNS網關已經獲取到mDNS終端用戶設備需要查詢的服務時,mDNS網關的任務是響應代答。當mDNS網關發現mDNS終端用戶設備查詢的服務資源表項中有關於此服務的信息時,將直接向終端用戶設備發送響應報文,稱為響應代答。
圖1-2 mDNS網關相應代答過程圖
以不同VLAN間的mDNS設備互相通信的組網環境為例,當管理員在mDNS網關上創建mDNS策略,並配置用戶VLAN和服務VLAN的對應關係後,mDNS網關進行響應代答過程如圖1-2所示:
(1) mDNS服務提供設備發送mDNS應答報文,在網絡中通告其支持的服務。
(2) mDNS網關收到mDNS應答報文後,就會建立mDNS服務提供設備的mDNS服務資源表項,包括服務實例名和服務類型等信息。
(3) mDNS終端用戶設備向mDNS網關發送關於mDNS服務提供設備提供的服務的查詢報文。
(4) mDNS網關查詢策略表,根據mDNS終端用戶設備的用戶VLAN查詢對應的服務VLAN是否存在服務提供設備,如果有,則向mDNS終端用戶設備發送應答報文;如果沒有,則進行服務發現操作。mDNS終端用戶設備收到應答報文後即可獲取提供Apple TV或打印機服務的設備信息。
mDNS網關收到mDNS終端用戶設備的組播查詢報文後,先根據策略表找到和mDNS終端用戶所在用戶VLAN對應的服務VLAN,再從服務VLAN查找mDNS終端用戶設備請求的服務資源表項。但某些情況下,mDNS網關可能無法查詢到對應的服務資源表項。這時,mDNS網關需要對指定服務進行服務查詢。mDNS網關會向用戶VLAN對應的服務VLAN列表轉發查詢報文,如果收到關於此服務的應答報文,就會將此服務的信息添加到mDNS服務資源表項,然後回複應答報文給mDNS終端用戶設備。
圖1-3 mDNS網關服務發現過程圖
以不同VLAN間的mDNS設備互相通信的組網環境為例,mDNS網關進行服務發現過程如圖1-3所示:
(1) mDNS網關收到iPad發出的一個對打印機服務的查詢報文。
(2) mDNS網關根據mDNS策略中用戶VLAN和服務VLAN的對應關係,在對應的服務VLAN中查找mDNS服務資源表項,發現表項內沒有關於打印機服務的內容。mDNS網關就根據mDNS策略向對應的服務VLAN轉發mDNS請求報文。
(3) 打印機收到mDNS網關發送的mDNS請求報文後,回複mDNS應答報文。
(4) mDNS網關收到應答報文後,將服務信息記錄到mDNS服務資源表項中,再發送mDNS應答報文給mDNS終端用戶設備。
和mDNS相關的協議規範有:
RFC 6762:Multicast DNS
mDNS網關配置任務如下:
(1) 開啟mDNS網關功能
(2) (可選)創建mDNS網關策略
(3) (可選)配置允許mDNS網關學習的mDNS服務類型
(4) (可選)配置mDNS網關信任設備的地址
(5) (可選)配置mDNS網關發送報文的源IP地址
(6) (可選)開啟mDNS網關的服務定時探測功能
(1) 進入係統視圖。
system-view
(2) 開啟mDNS網關功能。
mdns gateway enable
缺省情況下,mDNS網關功能處於關閉狀態。
在mDNS網關上,管理員創建mDNS網關策略後,需根據實際組網環境配置VLAN或VSI信息。
根據用戶的VLAN或VSI信息,可以訪問對應mDNS網關策略內服務VLAN和服務VSI內的服務資源。例如一條mDNS網關策略存在多個服務VLAN和服務VSI,則mDNS網關收到匹配該條策略的用戶請求報文後,會在該策略中所有的服務VLAN和服務VSI中查詢用戶請求的服務。
如果未配置任何mDNS網關策略,mDNS網關收到mDNS終端用戶設備發送的請求報文後,會查找記錄的所有服務資源信息,並將查詢到的服務資源應答mDNS終端用戶設備。
如果mDNS網關上存在mDNS網關策略,當收到的mDNS終端用戶設備不屬於任何mDNS網關策略中的用戶VLAN或用戶VSI,則mDNS網關不處理該請求。
(1) 進入係統視圖。
system-view
(2) 創建mDNS網關策略,並進入mDNS網關策略視圖。
mdns gateway policy policy-name
(3) 配置服務VLAN。
service vlan vlan-id-list
缺省情況下,未配置任何服務VLAN。
(4) 配置服務VSI。
service vsi vsi-name
缺省情況下,未配置任何服務VSI。
(5) 配置用戶VLAN。
user vlan vlan-id-list
缺省情況下,未配置任何用戶VLAN。
(6) 配置用戶VSI。
user vsi vsi-name
缺省情況下,未配置任何用戶VSI。
缺省情況下,mDNS網關允許學習所有預定義類型的服務。學習大量的服務資源信息會占用mDNS網關設備的大量內存空間,且網絡中很多服務資源可能也不常用。因此,管理員可以根據網絡中的需求配置允許mDNS網關學習的服務類型。配置本命令後,mDNS網關隻學習允許mDNS網關學習的服務類型,其它服務類型不會學習。
(1) 進入係統視圖。
system-view
(2) 配置允許mDNS網關學習的mDNS服務類型。
mdns gateway permit service-type { predefined-service-type | user-defined user-defined-service-type } [ max-entry-count count ]
缺省情況下,mDNS網關允許學習所有的mDNS服務類型。
在mDNS組網中,可能存在一些攻擊設備仿冒mDNS信任設備發送偽造的mDNS報文的情況,偽造的mDNS攻擊報文會對mDNS網關設備資源造成浪費,對網絡安全造成威脅。為了解決這個問題,管理員可以通過本命令將信任的mDNS中繼配置為信任的mDNS設備,mDNS網關隻有收到信任mDNS中繼發送過來的mDNS單播請求報文,才會進行處理;對於非信任設備發送的mDNS報文直接丟棄。
(1) 進入係統視圖。
system-view
(2) 配置mDNS網關信任設備的地址。
mdns gateway trust device-ip ip-address [ vpn-instance vpn-instance-name ]
缺省情況下,未配置mDNS網關信任設備的地址。
當mDNS網關向某個VLAN/VSI內發送mDNS探測報文或轉發/應答mDNS請求報文時,需要使用該VLAN接口/VSI接口的主IP地址作為mDNS探測報文、轉發請求報文或應答報文的源IP地址。如果VLAN接口/VSI接口上未配置IP地址,則mDNS網關無法發送mDNS探測報文。如果mDNS網關設備上接入大量VLAN/VSI,為每個VLAN接口/VSI接口都配置一個IP地址,會極大浪費IP地址資源。執行本命令配置了mDNS網關轉發mDNS報文的源地址後,當mDNS網關向某個VLAN/VSI內發送mDNS探測報文或轉發/應答mDNS請求報文時,會將mDNS報文的源地址修改為該地址,再向VLAN/VSI內發送探測報文或轉發/應答mDNS請求報文。
(1) 進入係統視圖。
system-view
(2) 進入VLAN視圖。
vlan vlan-id
(3) 配置mDNS網關發送報文的源IP地址。
mdns gateway source ip { interface interface-type interface-number | ip-address }
缺省情況下,使用VLAN出接口的主IP地址作為mDNS網關發送報文的源IP地址。
(1) 進入係統視圖。
system-view
(2) 進入VSI視圖。
vsi vsi-id
(3) 配置mDNS網關發送報文的源IP地址。
mdns gateway source ip { interface interface-type interface-number | ip-address }
缺省情況下,使用VSI出接口的主IP地址作為mDNS網關發送報文的源IP地址。
mDNS服務提供設備接入網絡時,會主動通告自己的服務。mDNS網關設備接入網絡後,會收到後續接入網絡的mDNS服務提供設備通告的服務信息。但對於網絡中已經存在服務提供設備,服務提供設備不會再主動通告自己的服務,mDNS網關也就無法獲取到服務信息。在mDNS網關上開啟了服務定時探測功能後,mDNS網關會定時主動探測網絡中的服務提供設備,根據收到的應答報文,及時更新網關上的服務信息列表。
(1) 進入係統視圖。
system-view
(2) 進入VLAN視圖。
vlan vlan-id
(3) 開啟mDNS網關的服務定時探測功能,並設置探測的時間間隔。
mdns gateway probe interval interval
缺省情況下,mDNS網關的服務定時探測功能處於關閉狀態。
(1) 進入係統視圖。
system-view
(2) 進入VSI視圖。
vsi vsi-id
(3) 開啟mDNS網關的服務定時探測功能,並設置探測的時間間隔。
mdns gateway probe interval interval
缺省情況下,mDNS網關的服務定時探測功能處於關閉狀態。
在完成上述配置後,在任意視圖下執行display命令可以顯示配置後mDNS網關的運行情況,通過查看顯示信息驗證配置的效果。
在用戶視圖下執行reset命令清除mDNS網關的相關信息。
表1-1 mDNS網關顯示和維護
操作 |
命令 |
顯示mDNS網關的配置信息 |
display mdns gateway |
顯示mDNS網關的策略信息 |
display mdns gateway policy [ policy-name ] |
顯示mDNS網關學習到的服務類型資源信息 |
display mdns gateway service { all | predefined-service-type | user-defined user-defined-service-type | vlan vlan-id | vsi vsi-name } |
顯示mDNS網關的報文統計信息 |
display mdns gateway statistics |
清除mDNS網關學習到的服務類型資源信息 |
reset mdns gateway service { all | predefined-service-type | user-defined user-defined-service-type | vlan vlan-id | vsi vsi-name } |
清除mDNS網關的報文統計信息 |
reset mdns gateway statistics |
如圖1-4所示,某學校內部網絡使用mDNS協議為教師和學生提供服務,mDNS網絡中包括Apple TV和打印機兩種mDNS服務。學生和教師的iPad使用Apple TV和打印機服務。現要求學生隻能使用打印機服務;教師則可以使用Apple TV和打印機服務。mDNS網關需要定時探測學校網絡內的mDNS服務信息。
圖1-4 mDNS網關基本組網圖
# 開啟mDNS網關功能。
<Device> system-view
[Device] mdns gateway enable
# 創建名稱為student的mDNS網關策略。
[Device] mdns gateway policy student
# 配置名稱為student的mDNS策略的用戶VLAN為10,服務VLAN為30。
[Device-mdns-gateway-policy-student] user vlan 10
[Device-mdns-gateway-policy-student] service vlan 30
[Device-mdns-gateway-policy-student] quit
# 創建名稱為teacher的mDNS網關策略。
[Device] mdns gateway policy teacher
# 配置名稱為teacher的mDNS策略的用戶VLAN為20,服務VLAN為30和40。
[Device-mdns-gateway-policy-teacher] user vlan 20
[Device-mdns-gateway-policy-teacher] service vlan 30 40
[Device-mdns-gateway-policy-teacher] quit
# 配置mDNS網關允許學習printer和Apple TV的服務。
[Device] mdns gateway permit service-type airplay
[Device] mdns gateway permit service-type raop
[Device] mdns gateway permit service-type printer
# 配置mDNS網關在VLAN 10內發送報文的源地址為192.168.1.1。
[Device] vlan 10
[Device-vlan10] mdns gateway source ip 192.168.1.1
[Device-vlan10] quit
# 配置mDNS網關在VLAN 20內發送報文的源地址為192.168.2.1。
[Device] vlan 20
[Device-vlan20] mdns gateway source ip 192.168.2.1
[Device-vlan20] quit
# 在VLAN 30內開啟mDNS網關的服務定時探測功能,並設置探測的時間間隔為600秒。
[Device] vlan 30
[Device-vlan30] mdns gateway probe interval 600
[Device-vlan30] quit
# 在VLAN 40內開啟mDNS網關的服務定時探測功能,並設置探測的時間間隔為600秒。
[Device] vlan 40
[Device-vlan40] mdns gateway probe interval 600
[Device-vlan40] quit
# 顯示mDNS網關的配置信息。
[Device] display mdns gateway
mDNS gateway status: Enabled
mDNS gateway source IP:
VLAN 10: 192.168.1.1
VLAN 20: 192.168.2.1
mDNS gateway probe is enabled in the following VLANs: 30, 40
mDNS gateway probe is enabled in the following VSIs:
# 顯示mDNS網關學到的服務資源信息。
[Device] display mdns gateway service all
Instance name Service type VLAN/VSI name TTL Pro IP
Apple TV airplay 40 120 TCP 192.168.2.100
Apple TV raop 40 120 TCP 192.168.2.100
Printer printer 30 120 TCP 192.168.1.100
Total mDNS gateway services: 3
配置完成後,VLAN 10內學生的iPad客戶端隻能訪問VLAN 30內的打印機服務,VLAN 20內教師的iPad客戶端可以訪問VLAN 30內的打印機服務和VLAN 40內的Apple TV服務。
mDNS網關無法收到mDNS中繼轉發的報文。
可能有以下幾個原因:
· 設備上未開啟mDNS網關功能;
· 配置的信任設備地址不是發送報文的mDNS中繼的地址。
(1) 執行display mdns gateway命令,查看當前的配置信息。如果mDNS網關功能未開啟,則執行mdns gateway enable命令開啟mDNS網關功能。
(2) 執行display current-configuration命令,查看配置過信任設備地址。如果未將發送報文的mDNS中繼配置為信任設備的地址,則需要執行mdns gateway trust device-ip命令進行添加。
不同款型規格的資料略有差異, 詳細信息請向具體銷售和400谘詢。H3C保留在沒有任何通知或提示的情況下對資料內容進行修改的權利!