实战mDNS协议配置与管理

2019-04-03 05:06河南郭建伟
网络安全和信息化 2019年3期
关键词:工具栏列表按钮

■ 河南 郭建伟

编者按:对于DNS域名服务来说,大家都比较熟悉,DNS其实基于单播的UDP协议,使用的端口号是53,其主要功能是对域名进行解析,帮助用户获取实际的IP。DNS主要针对静态IP发挥作用,很适用于传统网络。但是在有些情况下,网络设备的IP是由DHCP服务器动态分配的,当移动设备接入物联网络后,其中的程序就会要发送广播或者组播的方式,来探测网络中相关设备的域名和IP信息,这就需要使用到mDNS技术。

mDNS协议的特点和作用

mDNS(Multicast DNS,即多播DNS)可以在没有传统DNS服务器的情况下,使用组播的方法,让网络中的设备之间可以相互发现和发送数据,其使用的端口为UDP 5353。mDNS其实本基于单播的DNS服务的作用几乎相同,其遵从DNS协议,使用现有的DNS信息结构和资源记录类型。mDNS可以在IP和主机名之间双向解析,更重要的是,利用mDNS技术,可以发现网络中目标设备提供了哪些服务

mDNS使用的是D类的地址进行组播,具体的地址范围从222.0.0.0到239.255.255.255,通常使用的组播地址为224.0.0.254。

mDNS是不能跨越网段的,只能工作在局域网内部,设备名称必须以“.local”结尾,当开启了mDNS服务后,当设备接入网络后,会自动向局域网中的所有主机组播一个消息,告知自己的名称和IP地址。其他使用了mDNS的主机也会进行应答,告知自己的域名和IP。

当需要使用目标主机提供的服务时,可以通过mDNS查询对应主机域名的IP,目标设备收到报文后会以组播方式进行应答,告知自身提供的服务类型。在彼此应答过程中,其他的主机也会据此进行记录,更新自身的DNS缓存信息。

Bonjour协议功能介绍

对于某些企业来说,会基于mDNS进行来发,例如苹果公司就在mDNS协议的基础上开发了名为Bonjour的私有协议,在mDNS协议的基础上进行了相应的扩展,可以在局域网中发现对应的苹果设备。

使用Bonjour协议,设备之间可以自动组播各自的服务信息,并监听其他苹果设备的服务器信息,可以更加智能化的在局域网中发现所需的系统和服务。

当一个苹果设备接入网络后,会向全网通告自己的设备信息(例如域名,IP地址,在特定端口开放的服务,认证方式等),当某设备需要使用某种服务时,会向全网发起查询,来探测是否存在自己所需的服务,并要求相关设备反馈其主机名和IP,以及服务类型和端口号等信息。

Bonjour支持的常用的应用包括AirPlay(提供视频服务),iPhoto(图片服务),Safari(浏览服务),iTunes(音频服务)等。

例如,对于Bonjour查询来说,在数据包会使用诸如“_raop._tcp.local”,“airp lay.tcp.local”之类的特定字符串,在通告数据包中显示诸如“_roap”的协议类型和与之对应的端口号,以及主机名和IP等信息。

了解目标设备的开放的端口后,发起者就会和该端口建立TCP连接,来进行Apple私有的非标准的RTSP协商,这有些类似于HTTP协商,并在协商的端口上进行进行数据的传输。

利用控制器实现灵活管理

如果网络中存在诸如思科控制设备(例如无线控制器等)的话,那么情况就会发生变化。控制器会监听网络中所有mDNS的通告信息,并将其全部收集下来。这样,当iPhone等设备发起查询时,实际上是由控制器进行回应的。

在控制器的协调下,可以有效解决Bonjour协议无法跨网段的问题。正常情况下,Bonjour协议只能运作在一个VLAN的直连网络中,因为组播是无法跨网的。

在控制器的帮助下,会将不同VLAN中的信息(例如目标设备的IP等)推送给客户。有了这些信息,客户就可以顺利访问其他VLAN中的设备提供的的服务了。更重要的是,控制器还可以根据实际情况,对客户访问进行有效控制。当多个设备分别提供不同的服务时,控制器可以使用授权的方法决定哪些服务可以提供给客户使用,哪些服务是禁止提供给客户的。这样,大大提高了操作的安全性和灵活性。

准备实验环境

这里就以实际的例子,来说明如何对客户进行授权管理,使其只能发现和使用指定设备上的特定服务。例如在网络中存在AP,WLC无线控制器,ISE等思科设备,对某个VLAN(例如VLAN 100)进行管控,在该VLAN中存在名为“SSID1”和“SSID2”的两个热点,分别连接智能电视和Apple平板设备。登录到WLC控制器,在其管理界面工具栏上点击“SECURITY”项,在左侧点击“AAA”→“RADIUS”→“Authen tication”项,在右侧点击“N ew…”按钮,在打开窗口中的“Server IP Address(Ipv4/Ipv6)”栏中输入ISE设备的管理口IP,在“Shared Secret”栏输入其管理密码。

在“Support for CoA”列表中选择“Enable”项,激活CoA授权改变功能。这是为了适应ISE自动识别机制,当新设备接入后,可能刚开始并无有效识别,而将其分配到隔离网络中。因为和自动识别关联的扫描操作可能较慢,这样当稍后将其识别后,ISE判断其满足入网条件后,会要求其重新认证,并发送COA信息修改授权,允许其正常接入网络。点击“Apply”按钮保存配置。在左侧点击“RADIUS”→“Accounting”项,在右侧输入ISE的管理端口IP和管理密码,激活审计功能。

创建所需的WLAN项目

在工具栏上点击“WLANs”项,在列表中选择“Create New”项,点击“Go”按钮,在“Type”列表中选择“WLAN”项,输入其名称和SSID号(例如“SSID1”),点击“Apply”按钮,在其属性窗口中的“General”面板中的“Status”栏中 选择“Enabled”项将其激活,在“Security”面板中的“Layer 2”标签中的“layer 2 Security”列表中选择“WPA+WPA2”箱,激活该认证功能。在“Authentication Key Management”栏中选择“PSK”项,在“PSK Format”栏中输入预共享密钥。

点击“Apply”按钮,创建该WLAN项目。同理,创建另一个WLAN项目,对应的SSID名称为“SSID2”,在其属性窗口中的“Security”面板中的“AAA Server”标签中的“Server1”栏中输入ISE设备的管理口IP。在“Advanced”面板中 的“Allow AAA Override”栏中 选 择“Enabled”项,激活3A认证服务。在“DHCP Addr.Assignment”栏中选择“Required”项,激活DHCP地址自动分配功能。在“NAC State”列表中选择“ISE NAC”项,点击“Apply”按钮,保存保存配置信息。

在ISE中添加设备和用户

登录到ISE的管理界面,点击工具栏中的“Administration”→“Netwo rk Devices”项。

在左侧选择“Network Devices”项。

在右侧点击“Generate PAC”按钮,在打开界面中点击“Add”按钮,输入设备的名称(例如“Dev1”)。

这里针对的是无线控制器,在“IP Address”输入其管理端口的IP地址。

在“RADIUS Authenticat ion Settings”面板中的“*Shared Secret”栏中输入WLC设备的管理员密码。点击“Submit”按钮提交操作。

点击工具栏上的“Administr

ation”→“Indentities”项,点击“Add”按钮,分别创建名 为“guanli”和“User1”的用户。

使用mDNS协议发现设备

图1 激活组播功能

在智能电视上搜索到名为“SSID”的热点,输入对应的密钥加入进来。在Apple平板设备上搜索到名为“SSID2”的热点,在认证窗口中输入预设的账户(例如“guanli”)和密码键入进来。在默认情况下,平板是无法发现智能电视以及其中的诸如AirPlay等服务的。在WLC控制器管理界面工具栏上点击“CONTROLLER”项,在左侧选择“Multicast”项,在右侧选择“Enable Global Multicast Mode”,“Enable MLD Snooping”和“Enable IGMP Snooping”项,激活组播功能(如图1)。在左侧选择“General”项,在右侧的“Broadcast Forwarding”列表中选择“Enabled”项,启用广播发送功能。

在“AP Multicast Mode”列表中选择“Multicast”项,选择AP组播模式,并输入合适的组播地址(例如“239.1.1.1”)。 在“DNS Server IP”栏中输入合适的DNS服务器地址,点击“Apply”按钮保存配置信息。在左侧左侧选择“mDNS”→“Gereral”项,在右侧选择“mDNS Global Snooping”项,激活嗅探功能,可以让设备探测到网络中存在哪些服务。并且在发送请求时,控制器会对其进行回应。在“Server Name”栏中可以选择所需的服务,包括AirTunes,Airplay,Googlecast,HP Photosmart Print,HomeSharing,Printer-IPP,Printer-LPD等。点击左侧的“mDNS”-“Domain Names”项,可以发现已经显示电视设备。之后苹果平板上忽略网络并重新连接,就可以发现该设备了。

实现mDNS的授权管理

在左侧点击“mDNS”→“Profiles”项,在右侧显示名为“defaultmdns-profile”的默认配置项目。为了便于使用,这里创建自定义的配置文件。点击“New…”按钮,输入自定义项目名称(例如“Custprofile1”)项,在其属性窗口(如图2)中的“Service Name”列表中只选择所需的服务(例如“Airplay”等),点击“Add”按钮将其添加进来。按照同样的方法,可以添加多个服务。同理,可以创建其他的配置项目(例如“Custprofile2”),为其指定所需的服务。

图2 mDNS授权管理窗口

为了实现授权管理,需要在ISE管理界面工具栏上点击“Policy”→“Results”项。

在左侧点击“Authorization”→“Au thorization Profiles”项,在右侧点击“Add”按钮。

在打开界面中输入授权项目的名称(例如“Auth1”),在“Advanced Attribtes Settings”面板中的第一行中的第二列中输入“mDNS-pr ofile-name=Custprofile”,在第二行的第二列中输入“role= Custprofile1”,授权了mDNS的配置文件为上述“Custprofile1”项目。

对应的,点击ISE管理界面中的“Policy”→“Authorizatio n”项,创建对应的认证策略(例如名称为“Auguanli”),将上述“Auth1”授权项目和“guanli”账户绑定起来。同理,可以创建其他的授权项目(例如“Auth2”),使其指向“Custprofile2”,同 时创建名为“Auyonghu”的认证项目,将“Auth2”授权项目和“user1”账户绑定起来。在WLC的管理界面工具栏上点击“MONITOR”项,在左侧点击“Clients”项,在右侧点击上述平板设备,在其属性窗口中的“General”面板中的“mDNS Profile Name”栏中显示名为“Custprofile1”的授权项目。

使用策略实现安全访问

经过上述操作,是能够发现网络的相关设备以及其提供的服务的。在有些情况下,出于安全性的考虑,希望对其进行更加深入的控制,例如只能让客户使用指定的服务。就需要使用控制策略加以实现。在左侧点击“mDNS”→“Policies”项,在右侧选择“mdns Plocy”项,激活控制策略功能。虽然WLC设备提供了默认的Policy策略,但是其无法满足我们的实际需求。

在左侧点击“mDNS”→“mDNS Policies”项,在右侧点击“Add Group”按钮,输入新的Policy策略的名称(例 如“Policy1”),在其属性窗口中的“MAC ADDRES”栏中输入目标设备(例如智能电视)的MAC地址,输入其设备名称,点击“Add”按钮将其添加到列表中。在“LOCATION TYPE”列表中可以选择“AP Group”,“AP Name”,“AP Location”等项,来设置该设备所属AP组/AP名称以及AP的位置等信息。

在“Role name”栏 中输入合适的授权项目(例如“Custprofile1”),这需要和在ISE中的授权配置信息一致。点击“Apply”按钮,保存策略信息。这样,在规定的授权条件下,当存在多台网络时,设备客户就只能发现和访问指定的设备。

注意:在协议级别可以使用mDNS Profile进行控制,在设备级别可以使用mDNS Policy进行控制。

猜你喜欢
工具栏列表按钮
当你面前有个按钮
“玩转”西沃白板
学习运用列表法
扩列吧
死循环
列表画树状图各有所长
内心不能碰的按钮
设计一种带工具栏和留言功能的记事本
2011年《小说月刊》转载列表
轻松DIY:用好IE8浏览器中的自定义功能等