■ 河南 劉景云
編者按: 對于思科的無線解決方案來說,包括多種不同的類型,其中的Flex Connect是比較常用的技術,即無線控制器位于中心站點,分支站點存在很多AP,分支和中心之間通過WLAN連接,通過Flex Connect技術,中心可以控制分支機構的AP,這些AP可以實現本地轉發,而無需經過WLAN由中心WLC進行轉發。因此說,Flex Connect是分支機構和遠程辦公室部署的無線解決方案。
Flex Connect可通過WAN鏈路,在中心配置和控制分支機構的AP,在分支機構本地轉發數據,并執行本地身份驗證操作。當然,還可設定AP中某些SSID的VLAN的流量由本地轉發,某些SSID的VLAN流量進行中心轉發。這樣,如果和中心的無線控制器失去聯系,可以將這些流量進行本地轉發,當恢復聯系時,依然可以將相關的流量進行中心轉發。
Flex Connect包含兩種運行模式,包括連接模式(Connected Mode)和獨立模式(Standalone Mode),分別對應可以連接到WLC和無法連接到WLC的情形。
注意:對于獨立模式來說,AP是可以獨立連接3A服務器進行身份驗證的。值得說明的是,中心轉發指的是數據流量通過WAPCAP隧道傳到WLC進行轉發,本地轉發指的是數據流量經過本地有線接口直接進入本地交換網絡。
在本例中通過簡單的實驗網絡,來說明Flex Connect的實現方法。
在中心存在SW 1交換機,在其G0/1端口連接思科某款無線控制器,在交換機上執行“ip routing”命令,開啟路由功能。執行“interface FastEthernet 0/2”,“switchport trunk encapsulation dot1q”,“s w i t c h p o r t m o d e trunk”,“spanning-tree portfast trunk”命令,配置FastEthernet 0/2端口,該接口通過模擬網絡和分支機構中的交換機連 接。 執 行“interface GigabitEthernet 0/1”,“s w i t c h p o r t t r u n k encapsulation dot1q”,“switchport mode trunk”,“spanning-tree portfast trunk” 命 令, 配 置GigabitEthernet 0/1接口,其和WLC進行連接。
執 行“i n t e r f a c e F a s t E t h e r n e t 0/2 0”,“switchport access vlan 10”,“switchport mode access”,“spanningtree portfast”命 令,配置FastEthernet0/20接口,該端口和中心站點的客戶機連接。執行“vlan 10”,“name Management”,“vlan 100”,“name linkclient”,“ip dhcp pool vlan 10”,“network 10.1.1.0 255.255.255.0 defaultroute 10.1.1.254”,“interface vlan 10”,“ip address 10.1.1.254 2 5 5.2 5 5.2 5 5.0”,“interface vlan 100”,“ip address 100.1.1.254 255.255.255.0”命令,配置VLAN 10/100的屬性以及地址池信息。執行“ip route 200.1.1.0 255.255.255.0 100.1.1.253”命令,配置路由信息,讓分支站點的AP可以順利訪問WLC。在中心存在ISE服務器和網管主機,用來進行管理和授權。
在分支機構中存在AP1,其G0端口連接到SW2交換機上的G1/0/3端口上,兩臺交換機跨WAN進行連接。在模擬環境中使用其G1/0/2端口和SW 1的F0/10端口連接。在該交換機上開啟路由功能,創建VLAN 10/100/200/300,其中的VLAN 10用于網管,VLAN 100用于管理AP,VLAN 200用于管理客戶,VLAN 300用來管理相關的服務器。執行“interface GigabitEthernet 1/0/2”,“s w i t c h p o r t m o d e t r u n k”,“i n t e r f a c e GigabitEthernet 1/0/3”,“switchport trunk native vlan 100”,“switchport mode trunk” 命 令, 配置相應的端口。執行“interface vlan 100”,“ip address 100.1.1.253 255.255.255.0”,“ip route 0.0.0.0 0.0.0.0 10.1.1.254”命 令,配 置VLAN100的SVI以 及 路由信息。使用類似的命令,來配置VLAN 200/300的 SVI信 息。 執 行“ip dhcp pool crachap”,“network 100.1.1.0 255.255.255.0 defaultroute 100.1.1.254”,“address 100.1.1.1 hardware-address xxxx.xxxx.xxx.xxxx”,“option 43 hex xxxx.xxxx.xxxx”命令,為分支站點的AP配置地址池,并指明中心站點WLC的位置。執行“ip dhcp pool forclient”,“network 200.1.1.0 255.255.255.0 defaultroute 200.1.1.254”命令,配置客戶端地址池。

圖1 AP屬性編輯窗口
經過底層配置后,讓AP關聯到WLC上。打開WLC管理界面,選擇上述AP,在其編輯界面的“General”面板中的“AP Mode”列表中選擇“FlexConnect”項,讓其既可以進行中心轉發,也可以支持本地轉發。在WLC管理界面工具欄上點擊“WLAN”按鈕,在“Create New”欄右側點擊“Go”按鈕,創建新的WLAN,輸入其名稱(例如“FlexConnect1”)和SSID信息等內容。點擊“Apply”按鈕,在其屬性窗口中的“General”面板中 的“Status”欄 中 選 擇“Enabled”項將其激活。對于AP來說,如果其開啟了很多個SSID,并且不同的SSID對應不同的VLAN,那么當其開啟了Flex Connect之后,與其連接的交換機的端口必然需要開啟Trunk,這樣不同VLAN的流量就會經由該Trunk通道接入有線網絡。在頂部工具欄上點擊“CONTROLLER”項,在 左側 選 擇“Interfaces”項,在右側點擊“New”按鈕,創建名為“vlan100”的接口,使其和VLAN100綁定,并為其配置合適的IP(例如“100.1.1.252”),網關(例如“100.1.1.253”),DHCP 服 務器等信息。
創建名為“denynet”的接口,使其和VLAN 500綁定,其地址隨意設置,主要用于防止用戶隨意接入。注意,AP通過DHCP獲取IP的VLAN只能是Native VLAN,便于其得到地址和WLC進行通訊。在上述SW 2交換機上執行“sh run inter g1/0/3”命令,可以看到其通過VLAN 10得到地址并注冊到WLC上。在WLC管理界面打開AP屬性窗口,在“FlexConnect”面板(如圖1)中選擇“VLAN Support”項,開啟AP的Trunk功能。在“Native VLAN”欄中輸入本地 VLAN編號(例如“100”),點擊“VLAN Mapping”按鈕,查看該AP的所有的SSID在中心站點映射的VLAN信息,可以根據需要進行調整。點擊“Apply”按鈕保存信息。

圖2 默認組屬性窗口
當然,如果使用FlexConnect技 術 的AP比較多,就需要使用FlexConnect Group方式進行集中配置。建議為每個分支機構創建一個FlexConnect Group,把相關的AP都放進去,之后在該FlexConnect Group中執行注冊激活Trunk/設置Native VLAN/執行VLAN映射/設置Radius服務器等操作。如果AP無法聯系WLC以及3A服務器等設備,也可以在AP中設置認證策略。
在WLC管理界面頂部點擊“WIRELESS”項,在左側選擇“FlexConnect Groups”項,在右側點擊“New”按鈕,輸入新的FlexConnect Group的組名(例如“FCG1”)。
注意:所有的AP都會默認放入名為“default-flexgroup”的組中。
在該組中點擊“FlexConnect AP”鏈接,選擇所需的AP,在打開窗口中的“New Group Name”列表中選擇上述“FCG1”組名,點擊“Move”按鈕,可以將這些AP移動到新建的組中。這里為了簡單起見,使用默認組。
在該組的編輯界面的“WAN VLAN mapping” 面板(如 圖 2)中 選 擇“VLAN Support”項,激活該組中的所有AP的Trunk功能。在“Native VLAN ID”欄中輸入“100”,設 置 所 有 AP的本地VLAN編號。在上述名為“FlexConnect1”的 WLAN的屬性窗口中的“General”面 板 中 的“Interface/Interface Group” 列 表中 選 擇“vlan100”接 口。在“Security”面 板 中 的“Layer2”標簽中的“PSK”欄中選擇“Enable”項,輸入預共享密鑰。
在“Advanced” 面板 中 的“FlexConnect Local Switch”欄中選擇“Enabled”項,表示該WLAN的流量是本地轉發的。當分支站點客戶端進行連接時,就會進入VLAN100網絡。
注意:如果AP本地不存在這個VLAN(例如VLAN 500)的話,就會進入交換機所配置的Native VLAN。
如 果 在“Interface/Interface Group”列表中選擇“denynet”接口,那么在客戶端連接時,因為分支AP中根本沒有與之關聯的VLAN,那么客戶端就無法獲取可用的IP。也就是說,在WLC上配置的VLAN,在分支站點AP上也必須存在同樣的VLAN,在分支交換機上還必須存在相應的VLAN/Trunk/Native VLAN/SVI等信息,客戶端才可以順利接入網絡。
為了實現更好的安全控制,可以使用3A服務器來實現。在WLC管理界面頂部點擊“SECURITY”項,在左側選擇“AAA”-“RADUIS”-“Authentication” 項,在右側點擊“New”按鈕,在“Server IP Address”欄中輸入ISE服務器的地址(例 如 10.1.1.30),在“Shared Secret”欄中輸入認證密碼。在“Support for CoA”列表中選擇“Enabled”項。在左側選擇“Accounting”項,點擊“New”按鈕,輸入相同的ISE服務器地址和密碼(如圖3)。

圖3 設置3A服務器地址
再按照上述方法,在WLC中創建名為“Flexconnect2”的WLAN,使其和名為“SSID2”的SSID綁定。然后將其激活,在其屬性界 面 中 的“Interface/Interface Group” 列 表中 選 擇“denynet”接 口,在“Security”面板中看到其默認采用的就是DOT1X方 式,在“AAA Server”標簽 中 的 的“Server1” 欄中選擇上述3A服務器地址。在“Advanced”面板中的“Allow AAA Override”欄中選擇“Enabled”項,在“FlexConnect Local Auth”欄中選擇“Enabled”項。
打 開 上 述“defaultflex-group”的組編輯界面,在“WLAN VLAN mapping”面板中如果選擇“Override VLAN on AP”項,表示禁止在分支站點的AP配置VLAN等信息,只允許在WLC上進行配置,之后將配置信息推送給AP。如果不選擇該項,那么既可以在WLAN上配置也可以在AP上配置,而且AP優先級為高。在“WLAN VLAN Mapping”欄中輸入上述WLAN的ID,在“VLAN ID”欄中輸入“200”,點擊“Add”按鈕,表示在WLC上創建了VLAN 200,并將兩者進行映射,之后將其推送到分支站點的AP上,使其也擁有該VLAN。
進入分支站點AP管理界 面,執 行“sh ip inter brie”命令,可以看到已經創建了該VLAN。如果沒有授權或者授權了不存在的VLAN,在默認情況下,當客戶連接到該WLAN后,都會自動進入VLAN 200中。
注意:關于配置的優先級是存在順序的,即從3A Override授 權/Override VLAN on AP/AP/FlexConnect Group/WLAN下映射接口為序,其優先級依次降低。
登 錄 到ISE管 理界面,在工具欄上點擊“Administration”-“Network Devices”項,點擊“Add”按鈕,分別添加AP以及WLC設備。
點 擊 菜 單“Policy”-“Results” 項, 在 左 側選 擇“Authorization”-“Authorization Profiles”項,在右側點擊“Add”按鈕,添加所需的授權規則。 點 擊 菜 單“Policy”-“Authorization”項,在列表中添加合適的規則,例如針對指定名稱的SSID授予其可以連接到VLAN 200等。這樣,當分支站點的用戶連接到“SSID2”后,就可以進入VLAN 200中了。
值得說明的是,不管采用何種方法,要想順利連接,必須分支站點的AP上創建相應的VLAN方可。
當然,為了解決授權了不存在的VLAN,客戶也可以連接的問題,可以換一種方法來解決,只需打開“ACL Mapping”面板,在“AAA VLAN-ACL mapping”標簽中的“Vlan Id”欄中輸入具體的VLAN號,直接點擊“Apply”按鈕,也可以在分支站點AP上創建了指定的VLAN。
在上述名為“Flexconnect2”的 WLAN的屬性窗口中的“Advanced”面板中選擇“Vlan based Central Switching”項,表示啟用基于中心轉發的VLAN模式。即針對該WLAN的一部分流量可以中心轉發另一部分可以本地轉發。
在連接模式下(即可以達到中心站點WLC和RADIUS服務器)下,而且WLAN關聯的是不可達的接口(例如“denynet”)情況下,如果RADIUS授權的VALN只存在于WLC本地,那么實際轉發的是RADIUS授權的Vlan,使用的是中心轉發和中心認證。
如果RADIUS授權的VALN同時存在于WLC和分支站點的AP本地,或者其只存在于分支站點AP本地,那么實際轉發的是RADIUS授權的Vlan,使用的都是中心轉發和AP本地認證。如果RADIUS授權的Vlan在WLC和分支站點AP上都不存在,那么實際轉發的是與該WLAN關聯的不可達的接口,使用的是中心轉發和中心認證。如果RADIUS沒有授權Vlan,那么實際轉發的是不可達的接口,使用的是中心轉發和AP本地認證。
對于獨立模式(即中心站點WLC不可達,但是RADIUS服務器可達),而且WLAN關聯的是不可達接口情況下,如果RADIUS授權的VLAN存在于AP本地,那么實際轉發的就是該VLAN。如果RADIUS授權的VALN在AP上不存在或者根本沒有授權的話,那么實際轉發的都是不可達的接口。
對于連接模式來說,均通過WLC進行認證。而且對于獨立模式來說,采用的都是中心認證和AP本地轉發方式。當使用了不同的轉發功能后,在WLC管理界面頂部點擊“MONITOR”項,在左側選擇“Clients”項,在右側選擇某個客戶的MAC地址項,在“Data Switching”和“Authentication”欄中顯示數據轉發方式和認證模式。
對于獨立模式來說,均通過本地AP進行認證。
為了實現訪問控制,可以用ACL列表約束客戶行為。對于FlexConnect來說,需要使用專用的ACL列表。之后需要將FlexConnect訪問列表推送到AP上,才可以讓其發揮作用。在WLC管理界面上部點擊“WIRELESS”項,在左側選擇“FlexConnect ACLs”項,在右側點擊“New”按鈕,輸入ACL列表名稱(例如“FCacl”),來創建該 ACL。在列表中點擊該ACL項目,在其編輯界面點擊“Add New Rule”按鈕,在規則編輯窗口中輸入其序號、源等。
例如,本規則是禁止其訪問某個IP。在創建一個規則,作用是放行所有流量。打開上述默認FlexConnect Group默認組編輯窗口,在“ACL mapping”面板中的“AAA VLAN-ACL mapping”標簽(如圖4)中標簽中的“Vlan Id”欄中輸入具體的VLAN號,點擊“Add”按鈕,在其下選擇對應的ACL列表即可。這樣,即可將這些ACL列表推送到AP上。
注 意:如 果 在“Ingress ACL”和“Egress ACL”列表中選擇“none”項,點擊“Apply”按鈕,就相當于在AP上創建了指定的VLAN。

圖3 設置3A服務器地址
也可以通過授權方式來使用ACL列表,方法是在“Policies” 面 板 中 的“Policy ACL”列表中選擇所需的 ACL項,點擊“Add”按鈕,就可以將其放置到AP上。之后在ISE管理界 面 中 點 擊“Policy”-“Results”項,在 左 側選 擇“Authorization”-“A u t h o r i z a t i o n Profiles”項,點擊“Add”按鈕創建新的授權規則,在“Common Tasks”欄中選擇“Airespace ACL Name”欄中輸入和目標ACL相同的名稱。這樣,當客戶端連接到AP后,就會受到該ACL的控制。
利 用FlexConnect的隧道分割技術,可將由中心站點獲取的IP通過NAT/PAT映射到本地IP上,實現既可訪問中心站點也可訪問本地站點的要求。在WLC管理界面創建名 為“Tunnel1” 的 WLAN,使其和名為“SSIDTunnel”的SSID綁定。在其屬性窗口中的“General”面板中的“Interface/Interface Group” 列 表 中 選 擇“Management”項,即使用用于管理的Vlan(這里為Vlan 10)。按照上述方法使用預共享模式,輸入對應密鑰。
在“Advanced”面 板 中不 要 選 擇“FlexConnect Local Switching” 項,使其流量既可中心轉發,也可本地轉發。在客戶端使用Cisco AnyConnect Secure Mobility Client等工具連接該SSID,雖然可以連接成功,可以訪問中心站點地址,但在訪問分支站點的某個網絡設備(例如其IP為192.138.1.100等)時卻失敗。為此可按照上述方法創建一個FlexConnect ACL 列 表(例 如“FCA2”),在其中創建一條規則,在“Source”列 表 中 選 擇“Any”, 在“Destination”列表中選擇“IP Address”項,輸入本地目標地址(例如“192.138.1.100”),在“Action”列 表 中 選 擇“Permit”項。
這樣,可對指定的流量進行本地轉發。在上述默認“default-flex-group”的組編 輯 界 面 中 的“ACL Mapping”面板中打開“WLANACL mapping” 標 簽, 在“Local Split ACL mapping”欄中的“WLAN ID”欄中輸入上述名為“Tunnel1”的WLAN的 編 號,在“Local Split ACL”列表中選擇上述FlexConnect ACL項。點擊“Add”按鈕,添加。這樣,就實現了隧道分割功能。