配置LLDP或CDP报文触发MAC认证实现IP话机接入交换机示例
LLDP或CDP报文触发MAC认证介绍
缺省情况下,设备在接收到DHCP/ARP/DHCPv6/ND报文后均能触发对用户进行MAC认证。如果客户端配置了静态IPv4地址,此时客户端与设备间没有DHCP或ARP报文,需要通过LLDP或CDP报文触发MAC认证。IP话机接入认证时,IP话机发出的LLDP或CDP协商报文不带VLAN TAG,报文进入接入交换机时会打上数据VLAN的TAG,由于配置了任意报文触发MAC认证,话机会先从数据VLAN认证上线。协商好语音VLAN后,话机再从语音VLAN认证上线,需要配置MAC迁移和迁移前探测功能。
组网需求
如图2-71所示,Switch下行连接数据业务和语音业务,Switch使用VLAN 200传输语音报文,使用VLAN 100传输数据报文。IP Phone和PC串行接入Switch。用户对语音通话质量较敏感,需要提高语音数据流的传输优先级,以保证用户的通话质量。
配置思路
- 在Switch上创建VLAN,并配置各接口加入VLAN,实现二层互通。VLAN200作为语音VLAN,VLAN100作为数据VLAN且作为GE1/0/1的缺省VLAN。
- 配置Voice VLAN功能。
- 配置AAA认证域和MAC认证。
- 配置MAC迁移功能。
- RADIUS模板内配置的IP地址和共享密钥要和RADIUS服务器上保持一致。
- RADIUS服务器配置参见相应服务器文档中的MAC认证的配置举例。
操作步骤
- 配置Switch为NAC统一模式
设备默认为统一模式。传统模式与统一模式相互切换后,管理员必须保存配置后重启设备,新配置模式的各项功能才能生效。
<HUAWEI> system-view [HUAWEI] authentication unified-mode
- 配置Switch的VLAN和接口
# 创建VLAN并开启LLDP功能。
[HUAWEI] sysname Switch [Switch] vlan batch 100 200 300 [Switch] lldp enable //全局开启LLDP功能
# 配置接口GE0/0/1的PVID及允许通过的数据VLAN。
[Switch] interface gigabitethernet 0/0/1 [Switch-GigabitEthernet0/0/1] port link-type hybrid [Switch-GigabitEthernet0/0/1] port hybrid pvid vlan 100 [Switch-GigabitEthernet0/0/1] port hybrid untagged vlan 100 [Switch-GigabitEthernet0/0/1] quit [Switch] interface vlanif 100 [Switch-Vlanif100] ip address 192.168.100.10 24 [Switch-Vlanif100] quit [Switch] interface vlanif 200 [Switch-Vlanif200] ip address 192.168.200.10 24 [Switch-Vlanif200] quit
# 配置Switch连接RADIUS服务器的接口GE0/0/2为Access类型接口,并将其加入VLAN300。
[Switch] interface gigabitethernet 0/0/2 [Switch-GigabitEthernet0/0/2] port link-type access [Switch-GigabitEthernet0/0/2] port default vlan 300 [Switch-GigabitEthernet0/0/2] quit [Switch] interface vlanif 300 [Switch-Vlanif300] ip address 192.168.1.20 24 [Switch-Vlanif300] quit
- 配置Voice VLAN和OUI地址。
[Switch] voice-vlan mac-address 0004-0D00-0000 mask ffff-ff00-0000 //该OUI对应IP Phone的MAC地址,组网中请以实际为准 [Switch] interface gigabitethernet 0/0/1 [Switch-GigabitEthernet0/0/1] voice-vlan 200 enable //配置语音VLAN为200 [Switch-GigabitEthernet0/0/1] voice-vlan legacy enable //配置Voice VLAN兼容CDP功能使设备将Voice VLAN信息封装在CDP报文中通告给IP电话 [Switch-GigabitEthernet0/0/1] stp edged-port enable //配置接口为边缘端口 [Switch-GigabitEthernet0/0/1] port hybrid tagged vlan 200 [Switch-GigabitEthernet0/0/1] voice-vlan remark-mode mac-address //配置Voice VLAN按照话机的MAC地址识别语音报文 [Switch-GigabitEthernet0/0/1] poe legacy enable //开启PoE交换机Switch对PD设备的兼容性检测功能,防止无法为非标准PD设备供电 [Switch-GigabitEthernet0/0/1] lldp tlv-enable med-tlv network-policy voice-vlan vlan 200 //配置LLDP_MED分配给IP话机的语音VLAN [Switch-GigabitEthernet0/0/1] lldp compliance cdp txrx //使能接口与支持CDP协议的语音设备互通前的信息交互功能 [Switch-GigabitEthernet0/0/1] quit
- 配置到服务器区的静态路由(假设服务器区连接Switch的IP地址为192.168.2.20)。
[Switch] ip route-static 192.168.2.0 255.255.255.0 192.168.2.20
- 配置AAA。
# 创建并配置RADIUS服务器模板“rd1”。
[Switch] radius-server template rd1 [Switch-radius-rd1] radius-server authentication 192.168.2.30 1812 [Switch-radius-rd1] radius-server shared-key cipher Example@2012 [Switch-radius-rd1] quit
# 创建AAA认证方案“abc”并配置认证方式为RADIUS。
[Switch] aaa [Switch-aaa] authentication-scheme abc [Switch-aaa-authen-abc] authentication-mode radius [Switch-aaa-authen-abc] quit
# 创建认证域“example.com”,并在其上绑定AAA认证方案“abc”与RADIUS服务器模板“rd1”。
[Switch-aaa] domain example.com [Switch-aaa-domain-example.com] authentication-scheme abc [Switch-aaa-domain-example.com] radius-server rd1 [Switch-aaa-domain-example.com] quit [Switch-aaa] quit
# 测试用户是否能够通过RADIUS模板的认证。(已在RADIUS服务器上配置了测试用户test,用户密码Example2012)
[Switch] test-aaa test Example2012 radius-template rd1 Info: Account test succeeded.
- 配置MAC认证。
# 配置MAC接入模板“m1”,开启任意报文触发MAC认证功能。
MAC接入模板中,MAC认证用户的用户名和密码默认均为不带分隔符“-”的MAC地址。需要保证RADIUS服务器上配置的MAC用户名和密码格式与接入设备上的保持一致。
[Switch] mac-access-profile name m1 [Switch-mac-access-profile-m1] authentication trigger-condition dhcp arp dhcpv6 nd any-l2-packet [Switch-mac-access-profile-m1] quit
# 配置认证模板“p1”,并在其上绑定MAC接入模板“m1”、指定认证模板下用户的强制认证域为“example.com”。
[Switch] authentication-profile name p1 [Switch-authen-profile-p1] mac-access-profile m1 [Switch-authen-profile-p1] access-domain example.com force [Switch-authen-profile-p1] quit
# 在接口GE0/0/1上绑定认证模板“p1”,使能MAC认证。
[Switch] interface gigabitethernet 0/0/1 [Switch-GigabitEthernet0/0/1] authentication-profile p1 [Switch-GigabitEthernet0/0/1] quit
- 配置MAC迁移和迁移前探测功能。
[Switch] authentication mac-move enable vlan all [Switch] authentication mac-move detect enable
- 验证配置结果
IP Phone能正常上线并实现清晰的语音通话,PC能正常上线。
配置文件
Switch的配置文件
# sysname Switch # voice-vlan mac-address 0004-0d00-0000 mask ffff-ff00-0000 # vlan batch 100 200 300 # access-user arp-detect vlan 100 ip-address 192.168.100.10 mac-address 00e0-fc12-3456 access-user arp-detect vlan 200 ip-address 192.168.200.10 mac-address 00e0-fc12-3456 # authentication-profile name p1 mac-access-profile m1 access-domain example.com force authentication mac-move enable vlan all authentication mac-move detect enable # radius-server template rd1 radius-server shared-key cipher %^%#4*SO-2u,Q.\1C~%[eiB77N/^2wME;6t%6U@qAJ9:%^%# radius-server authentication 192.168.2.30 1812 weight 80 # aaa authentication-scheme abc authentication-mode radius domain example.com authentication-scheme abc radius-server rd1 # interface Vlanif300 ip address 192.168.1.20 255.255.255.0 # interface GigabitEthernet0/0/1 port link-type hybrid voice-vlan 200 enable voice-vlan remark-mode mac-address voice-vlan legacy enable port hybrid pvid vlan 100 port hybrid tagged vlan 200 port hybrid untagged vlan 100 stp edged-port enable authentication-profile p1 poe legacy enable lldp tlv-enable med-tlv network-policy voice-vlan vlan 200 lldp compliance cdp txrx # interface GigabitEthernet0/0/2 port link-type access port default vlan 300 # ip route-static 192.168.1.0 255.255.255.0 192.168.2.20 # mac-access-profile name m1 authentication trigger-condition dhcp arp dhcpv6 nd any-l2-packet # return