配置VXLAN网络实现VXLAN报文携带用户组信息的业务随行示例
组网需求
通常在配置业务随行的网络中,用户接入的认证点和组策略执行点在同一个设备上,这会导致在用户认证点需要配置对应组在整个网络的策略,不利于策略的规划。而且用户假设从其他的认证点接入的话,若该认证点未配置相应的组策略,就会影响用户的授权。为解决这个问题,可以在用户接入设备和网络资源接入设备间构建VXLAN网络。用户通过认证被分配到一个安全组后,当通过VXLAN隧道访问网络资源时,VXLAN报文携带了用户的组信息,在网络资源所在的接入设备报文被解封装,设备识别出用户的安全组,可以通过本地配置的组策略对用户进行授权。
如图1-73所示,用户的认证点在VTEP2上,需要指定用户访问邮件服务器的策略。这时可以在VTEP2和VTEP3间配置VXLAN网络,将用户在VTEP2上授权的组信息通过VXLAN报文携带到VTEP3,在VTEP3上配置访问本地邮件服务器的组策略。
本举例中VXLAN隧道侧接口以X系列单板为例。
数据准备
设备 |
VXLAN隧道 |
BD |
VNI |
Source IP |
Peer IP |
---|---|---|---|---|---|
VTEP1 |
VTEP1—>VTEP2 |
10 |
2010 |
10.1.1.2 |
10.2.2.2 |
VTEP1—>VTEP3 |
20 |
2020 |
10.1.1.2 |
10.3.3.2 |
|
VTEP2 |
VTEP2—>VTEP1 |
10 |
2010 |
10.2.2.2 |
10.1.1.2 |
VTEP3 |
VTEP3—>VTEP1 |
20 |
2020 |
10.3.3.2 |
10.1.1.2 |
项目 |
数据 |
说明 |
---|---|---|
VTEP2 |
RADIUS认证服务器:
|
配置RADIUS服务器,以便获取终端用户的上下线信息。认证服务器和计费服务器的端口号必须与RADIUS服务器的认证端口和计费端口一致。在Agile Controller-Campus中RADIUS认证和计费端口固定为1812和1813。 |
RADIUS计费服务器:
|
||
XMPP密码:Admin@123 |
与Agile Controller-Campus配置一致。 |
|
Agile Controller-Campus |
交换机IP地址:192.168.2.1 |
VTEP2上GE1/0/1的IP地址。 |
RADIUS参数:
|
与VTEP2上配置的一致。 |
|
XMPP密码:Admin@123 |
与VTEP2上配置一致。 |
|
账户: 访客:
|
在授权中将guest授权给访客组。 |
|
安全组: 访客组 邮件服务器:192.168.20.100 |
- |
|
认证前域 |
DNS服务器 |
访客认证通过前能够将域名发往DNS服务器进行解析。 |
PC的网关地址 |
192.168.10.10 |
- |
配置思路
- 配置路由协议,保证网络三层互通。
- 配置VXLAN网络。
- 在VTEP2、VTEP3上配置VXLAN接入部署方式。
- 配置VXLAN隧道。
- 在VTEP1配置VXLAN三层网关。
- 在VTEP2上配置接入认证功能。
- 在VTEP3上配置访问控制功能。
- 配置Agile Controller-Campus。
在VXLAN网络部署业务随行功能时,用户的安全组建议通过Agile Controller-Campus进行授权。
操作步骤
- 将配置模式切换为统一模式。
使用业务随行功能的设备必须切换为统一模式,切换时设备会自动重启。
<HUAWEI> system-view [HUAWEI] sysname VTEP2 [VTEP2] authentication unified-mode
- 配置路由协议。
# 配置VTEP1各接口IP地址。配置OSPF时,注意需要配置设备上的32位Loopback接口地址。
<HUAWEI> system-view [HUAWEI] sysname VTEP1 [VTEP1] interface loopback 1 [VTEP1-LoopBack1] ip address 10.1.1.2 32 [VTEP1-LoopBack1] quit [VTEP1] interface gigabitethernet 1/0/1 [VTEP1-GigabitEthernet1/0/1] undo portswitch [VTEP1-GigabitEthernet1/0/1] ip address 192.168.2.2 24 [VTEP1-GigabitEthernet1/0/1] quit [VTEP1] interface gigabitethernet 1/0/2 [VTEP1-GigabitEthernet1/0/2] undo portswitch [VTEP1-GigabitEthernet1/0/2] ip address 192.168.3.2 24 [VTEP1-GigabitEthernet1/0/2] quit [VTEP1] interface gigabitethernet 1/0/3 [VTEP1-GigabitEthernet1/0/3] undo portswitch [VTEP1-GigabitEthernet1/0/3] ip address 192.168.11.1 24 [VTEP1-GigabitEthernet1/0/3] quit [VTEP1] ospf router-id 10.1.1.2 [VTEP1-ospf-1] area 0 [VTEP1-ospf-1-area-0.0.0.0] network 10.1.1.2 0.0.0.0 [VTEP1-ospf-1-area-0.0.0.0] network 192.168.2.0 0.0.0.255 [VTEP1-ospf-1-area-0.0.0.0] network 192.168.3.0 0.0.0.255 [VTEP1-ospf-1-area-0.0.0.0] network 192.168.11.0 0.0.0.255 [VTEP1-ospf-1-area-0.0.0.0] quit [VTEP1-ospf-1] quit
# 配置VTEP2各接口IP地址。
[VTEP2] interface loopback 1 [VTEP2-LoopBack1] ip address 10.2.2.2 32 [VTEP2-LoopBack1] quit [VTEP2] interface gigabitethernet 1/0/1 [VTEP2-GigabitEthernet1/0/1] undo portswitch [VTEP2-GigabitEthernet1/0/1] ip address 192.168.2.1 24 [VTEP2-GigabitEthernet1/0/1] quit [VTEP2] ospf router-id 10.2.2.2 [VTEP2-ospf-1] area 0 [VTEP2-ospf-1-area-0.0.0.0] network 10.2.2.2 0.0.0.0 [VTEP2-ospf-1-area-0.0.0.0] network 192.168.2.0 0.0.0.255 [VTEP2-ospf-1-area-0.0.0.0] quit [VTEP2-ospf-1] quit
# 配置VTEP3各接口IP地址。
<HUAWEI> system-view [HUAWEI] sysname VTEP3 [VTEP3] interface loopback 1 [VTEP3-LoopBack1] ip address 10.3.3.2 32 [VTEP3-LoopBack1] quit [VTEP3] interface gigabitethernet 1/0/1 [VTEP3-GigabitEthernet1/0/1] undo portswitch [VTEP3-GigabitEthernet1/0/1] ip address 192.168.3.1 24 [VTEP3-GigabitEthernet1/0/1] quit [VTEP3] ospf router-id 10.3.3.2 [VTEP3-ospf-1] area 0 [VTEP3-ospf-1-area-0.0.0.0] network 10.3.3.2 0.0.0.0 [VTEP3-ospf-1-area-0.0.0.0] network 192.168.3.0 0.0.0.255 [VTEP3-ospf-1-area-0.0.0.0] quit [VTEP3-ospf-1] quit
# OSPF成功配置后,VTEP之间可通过OSPF协议发现对方的Loopback接口的IP地址,并能互相ping通。以VTEP2 ping VTEP3的显示为例。
[VTEP2] ping 10.3.3.2 PING 10.3.3.2: 56 data bytes, press CTRL_C to break Reply from 10.3.3.2: bytes=56 Sequence=1 ttl=255 time=240 ms Reply from 10.3.3.2: bytes=56 Sequence=2 ttl=255 time=5 ms Reply from 10.3.3.2: bytes=56 Sequence=3 ttl=255 time=5 ms Reply from 10.3.3.2: bytes=56 Sequence=4 ttl=255 time=14 ms Reply from 10.3.3.2: bytes=56 Sequence=5 ttl=255 time=5 ms --- 10.3.3.2 ping statistics --- 5 packet(s) transmitted 5 packet(s) received 0.00% packet loss round-trip min/avg/max = 5/53/240 ms
- 配置VXLAN网络。
在VTEP2、VTEP3上配置VXLAN接入部署方式。
# 配置VTEP2。
[VTEP2] vlan 10 [VTEP2-vlan10] quit [VTEP2] bridge-domain 10 [VTEP2-bd10] l2 binding vlan 10 [VTEP2-bd10] vxlan vni 2010 [VTEP2-bd10] quit [VTEP2] interface gigabitethernet 1/0/2 [VTEP2-GigabitEthernet1/0/2] port link-type access [VTEP2-GigabitEthernet1/0/2] port default vlan 10 [VTEP2-GigabitEthernet1/0/2] quit
# 配置VTEP3。
[VTEP3] vlan 20 [VTEP3-vlan20] quit [VTEP3] bridge-domain 20 [VTEP3-bd20] l2 binding vlan 20 [VTEP3-bd20] vxlan vni 2020 [VTEP3-bd20] quit [VTEP3] interface gigabitethernet 1/0/2 [VTEP3-GigabitEthernet1/0/2] port link-type access [VTEP3-GigabitEthernet1/0/2] port default vlan 20 [VTEP3-GigabitEthernet1/0/2] quit
配置VXLAN隧道。
# 配置VTEP1。
[VTEP1] bridge-domain 10 [VTEP1-bd10] vxlan vni 2010 [VTEP1-bd10] quit [VTEP1] bridge-domain 20 [VTEP1-bd20] vxlan vni 2020 [VTEP1-bd20] quit [VTEP1] interface nve 1 [VTEP1-Nve1] source 10.1.1.2 [VTEP1-Nve1] vni 2010 head-end peer-list 10.2.2.2 [VTEP1-Nve1] vni 2020 head-end peer-list 10.3.3.2 [VTEP1-Nve1] quit
# 配置VTEP2。
[VTEP2] interface nve 1 [VTEP2-Nve1] source 10.2.2.2 [VTEP2-Nve1] vni 2010 head-end peer-list 10.1.1.2 [VTEP2-Nve1] quit
# 配置VTEP3。
[VTEP3] interface nve 1 [VTEP3-Nve1] source 10.3.3.2 [VTEP3-Nve1] vni 2020 head-end peer-list 10.1.1.2 [VTEP3-Nve1] quit
在VTEP1上配置VXLAN三层网关。
# 配置VTEP1。
[VTEP1] interface vbdif 10 [VTEP1-Vbdif10] ip address 192.168.10.10 24 [VTEP1-Vbdif10] quit [VTEP1] interface vbdif 20 [VTEP1-Vbdif20] ip address 192.168.20.10 24 [VTEP1-Vbdif20] quit
- VTEP2交换机上配置NAC。
# 配置与RADIUS服务器对接参数。
[VTEP2] radius-server template policy //创建RADIUS服务器模板“policy” [VTEP2-radius-policy] radius-server authentication 192.168.11.10 1812 //配置RADIUS认证服务器的IP地址和认证端口1812 [VTEP2-radius-policy] radius-server accounting 192.168.11.10 1813 //配置计费服务器的IP地址和认证端口1813 [VTEP2-radius-policy] radius-server shared-key cipher Admin@123 //配置RADIUS共享密钥 [VTEP2-radius-policy] quit [VTEP2] radius-server authorization 192.168.11.10 shared-key cipher Admin@123 //配置授权服务器的IP地址和密钥 [VTEP2] aaa [VTEP2-aaa] authentication-scheme auth //创建认证方案auth [VTEP2-aaa-authen-auth] authentication-mode radius //认证方式RADIUS [VTEP2-aaa-authen-auth] quit [VTEP2-aaa] accounting-scheme acco //创建计费方案acco [VTEP2-aaa-accounting-acco] accounting-mode radius //计费方式RADIUS [VTEP2-aaa-accounting-acco] accounting realtime 15 //计费周期15分钟 [VTEP2-aaa-accounting-acco] quit [VTEP2-aaa] domain default //进入default域,绑定RADIUS服务器模板、认证方案和计费方案 [VTEP2-aaa-domain-default] radius-server policy [VTEP2-aaa-domain-default] authentication-scheme auth [VTEP2-aaa-domain-default] accounting-scheme acco [VTEP2-aaa-domain-default] quit [VTEP2-aaa] quit
# 配置NAC功能。
802.1X接入模板默认采用EAP认证方式。请确保RADIUS服务器支持EAP协议,否则无法处理802.1X认证请求。
[VTEP2] dot1x-access-profile name d1 [VTEP2-dot1x-access-profile-d1] quit [VTEP2] free-rule-template name default_free_rule [VTEP2-free-rule-default_free_rule] free-rule 1 destination ip 192.168.11.20 mask 24 source ip any //确保终端用户认证前能访问DNS服务器 [VTEP2-free-rule-default_free_rule] quit [VTEP2] authentication-profile name p1 [VTEP2-authen-profile-p1] dot1x-access-profile d1 [VTEP2-authen-profile-p1] access-domain default [VTEP2-authen-profile-p1] quit [VTEP2] interface gigabitethernet 1/0/2 [VTEP2-GigabitEthernet1/0/2] authentication-profile p1 [VTEP2-GigabitEthernet1/0/2] quit
- VTEP3交换机上配置ACL。
[VTEP3] acl 6000 [VTEP3-acl-ucl-6000] rule 10 deny ip source ucl-group 1 destination 192.168.20.100 0 [VTEP3-acl-ucl-6000] quit [VTEP3] traffic-filter inbound acl 6000
- 配置与Agile Controller-Campus对接的XMPP参数,使能业务随行功能。
[VTEP2] group-policy controller 192.168.11.10 password Admin@123 src-ip 192.168.2.1 [VTEP2] quit <VTEP2> save
- Agile Controller-Campus配置。
- 验证配置结果。
# 上述配置成功后,在VTEP2、VTEP3和VTEP1上执行命令display vxlan vni可查看到VNI的状态是Up;执行命令display vxlan tunnel可查看到VXLAN隧道的信息。以VTEP1显示为例。
<VTEP1> display vxlan vni VNI BD-ID State ----------------------------------------- 2010 10 up 2020 20 up ----------------------------------------- Number of vxlan vni bound to BD is : 2 VNI VRF-ID ----------------------------------------- ----------------------------------------- Number of vxlan vni bound to VPN is : 0
<VTEP1> display vxlan tunnel Tunnel ID Source Destination State Type ---------------------------------------------------------------------------- 4026531842 10.1.1.2 10.2.2.2 up static 4026531841 10.1.1.2 10.3.3.2 up static ---------------------------------------------------------------------------- Number of vxlan tunnel : Total : 2 Static: 2 L2 dynamic: 0 L3 dynamic: 0
# 配置完成后,不同网段用户通过VXLAN网关可以互通。
# 用户从VTEP2接入并完成认证后,不可以访问邮件服务器。
配置文件
VTEP1的配置文件
# sysname VTEP1 # bridge-domain 10 vxlan vni 2010 bridge-domain 20 vxlan vni 2020 # interface GigabitEthernet1/0/1 undo portswitch ip address 192.168.2.2 255.255.255.0 # interface GigabitEthernet1/0/2 undo portswitch ip address 192.168.3.2 255.255.255.0 # interface GigabitEthernet1/0/3 undo portswitch ip address 192.168.11.1 255.255.255.0 # interface LoopBack1 ip address 10.1.1.2 255.255.255.255 # interface Vbdif10 ip address 192.168.10.10 255.255.255.0 # interface Vbdif20 ip address 192.168.20.10 255.255.255.0 # interface Nve1 source 10.1.1.2 vni 2010 head-end peer-list 10.2.2.2 vni 2020 head-end peer-list 10.3.3.2 # ospf 1 router-id 10.1.1.2 area 0.0.0.0 network 10.1.1.2 0.0.0.0 network 192.168.2.0 0.0.0.255 network 192.168.3.0 0.0.0.255 network 192.168.11.0 0.0.0.255 # return
VTEP2的配置文件
# sysname VTEP2 # vlan batch 10 # authentication-profile name p1 dot1x-access-profile d1 access-domain default # group-policy controller 192.168.11.10 password %^%#(K2]5P#C6'97.pR(gFv$K$KbGYN}R1Y76~K^;AP&%^%# src-ip 192.168.2.1 # radius-server template policy radius-server shared-key cipher %^%#teXm2B&.1O0:cj$OWPq7@!Y\!%}dC3Br>p,}l\L.%^%# radius-server authentication 192.168.11.10 1812 weight 80 radius-server accounting 192.168.11.10 1813 weight 80 radius-server authorization 192.168.11.10 shared-key cipher %^%#FKIlCKv=f(AgM-G~W"}G.C\%;b'3A/zz-EJV;vi*%^%# # free-rule-template name default_free_rule free-rule 1 destination ip 192.168.11.20 mask 255.255.255.0 source ip any # aaa authentication-scheme auth authentication-mode radius accounting-scheme acco accounting-mode radius accounting realtime 15 domain default authentication-scheme auth accounting-scheme acco radius-server policy # bridge-domain 10 l2 binding vlan 10 vxlan vni 2010 # interface GigabitEthernet1/0/1 undo portswitch ip address 192.168.2.1 255.255.255.0 # interface GigabitEthernet1/0/2 port link-type access port default vlan 10 authentication-profile p1 # interface LoopBack1 ip address 10.2.2.2 255.255.255.255 # interface Nve1 source 10.2.2.2 vni 2010 head-end peer-list 10.1.1.2 # ospf 1 router-id 10.2.2.2 area 0.0.0.0 network 10.2.2.2 0.0.0.0 network 192.168.2.0 0.0.0.255 # dot1x-access-profile name d1 # return
VTEP3的配置文件
# sysname VTEP3 # vlan batch 20 # acl number 6000 rule 10 deny ip source ucl-group 1 destination 192.168.20.100 0 # bridge-domain 20 l2 binding vlan 20 vxlan vni 2020 # interface GigabitEthernet1/0/1 undo portswitch ip address 192.168.3.1 255.255.255.0 # interface GigabitEthernet1/0/2 port link-type access port default vlan 20 # interface LoopBack1 ip address 10.3.3.2 255.255.255.255 # interface Nve1 source 10.3.3.2 vni 2020 head-end peer-list 10.1.1.2 # ospf 1 router-id 10.3.3.2 area 0.0.0.0 network 10.3.3.2 0.0.0.0 network 192.168.3.0 0.0.0.255 # traffic-filter inbound acl 6000 # return