簡介
本文說明如何使用ACI 1.2(x)版本在兩個端點組(EPG)之間將應用虛擬交換機(AVS)交換機與採用路由/轉至模式的自適應安全虛擬裝置(ASAv)單防火牆部署為L4-L7服務圖,以建立客戶端到伺服器的通訊。
必要條件
需求
思科建議您瞭解以下主題:
- 已配置訪問策略,介面處於啟用狀態並處於服務狀態
- 已配置EPG、橋接域(BD)和虛擬路由和轉發(VRF)
採用元件
本文中的資訊係根據以下軟體和硬體版本:
硬體和軟體:
- UCS C220 - 2.0(6d)
- ESXi/vCenter - 5.5
- ASAv - asa-device-pkg-1.2.4.8
- AVS - 5.2.1.SV3.1.10
- APIC - 1.2(1i)
- 分葉/主幹 — 11.2(1i)
- 已下載裝置軟體包*.zip
功能:
- AVS
- ASAv
- EPG、BD、VRF
- 存取控制清單(ACL)
- L4-L7服務圖
- vCenter
本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除(預設)的組態來啟動。如果您的網路運作中,請確保您瞭解任何指令可能造成的影響。
設定
網路圖表
如圖所示,

組態
AVS初始設定建立VMware vCenter域(VMM整合)2
附註:
- 您可以在單個域下建立多個資料中心和分散式虛擬交換機(DVS)條目。但是,您只能為每個資料中心分配一個Cisco AVS。
- Cisco ACI版本1.2(1i)和Cisco AVS版本5.2(1)SV3(1.10)支援使用Cisco AVS部署服務圖。 整個服務圖配置是在思科應用策略基礎架構控制器(思科APIC)上執行的。
- 僅在具有虛擬區域網(VLAN)封裝模式的虛擬機器管理器(VMM)域上支援使用Cisco AVS的服務虛擬機器(VM)部署。但是,計算VM(提供者和使用者VM)可以是具有虛擬可擴展LAN(VXLAN)或VLAN封裝的VMM域的一部分。
- 另請注意,如果使用本地交換,則不需要組播地址和池。如果未選擇本地交換,則必須配置組播池,並且AVS交換矩陣範圍組播地址不應是組播池的一部分。所有源自AVS的流量將採用VLAN或VXLAN封裝。
導覽至VM Networking > VMWare > Create vCenter Domain,如下圖所示:

如果您使用埠通道或VPC(虛擬埠通道),建議將vSwitch策略設定為使用Mac固定。
之後,APIC應將AVS交換機配置推送到vCenter,如下圖所示:

在APIC上,您可以注意到VXLAN通道端點(VTEP)位址已指派給AVS的VTEP連線埠群組。無論使用哪種連線模式(VLAN或VXLAN),都會分配此地址

在vCenter中安裝Cisco AVS軟體
- 使用此連結從CCO下載vSphere安裝套件(VIB)
注意:在本例中,我們使用ESX 5.5,表1 ,顯示了ESXi 6.0、5.5、5.1和5.0的相容性表
表1 - ESXi 6.0、5.5、5.1和5.0的主機軟體版本相容性

在ZIP檔案中,有3個VIB檔案(每個ESXi主機版本各一個),請選擇一個適用於ESX 5.5的VIB檔案,如下圖所示:

- 將VIB檔案複製到ESX Datastore — 這可以通過CLI完成,也可以直接從vCenter完成
附註:如果主機上存在VIB檔案,請使用esxcli software vib remove命令將其刪除。
esxcli software vib remove -n cross_cisco-vem-v197-5.2.1.3.1.5.0-3.2.1.vib
或者直接瀏覽Datastore。
esxcli software vib install -v /vmfs/volumes/datastore1/cross_cisco-vem-v250-5.2.1.3.1.10.0-3.2.1.vib —maintenance-mode —no-sig-check

- 虛擬乙太網路模組(VEM)啟動後,可以將主機新增到AVS中:
在Add Host to vSphere Distributed Switch對話方塊中,選擇連線到枝葉交換機的虛擬NIC埠(在本示例中,僅移動vmnic6),如下圖所示:

- 按一下下一步
- 在Network Connectivity(網路連線)對話方塊中,按一下Next(下一步)
- 在虛擬機器網路對話方塊中,按一下下一步
- 在「準備完成」對話方塊中,按一下「完成」
附註:如果使用多個ESXi主機,所有主機都需要運行AVS/VEM,以便它們可以從標準交換機管理到DVS或AVS。
這樣,AVS整合已經完成,我們可以繼續部署L4-L7 ASAv:
ASAv初始設定
- 下載Cisco ASAv裝置包並將其匯入APIC:
導覽至L4-L7 Services > Packages > Import Device Package,如下圖所示:

- 如果一切正常,您可以看到匯入的裝置包正在展開L4-L7 Service Device Types資料夾,如下圖所示:

繼續之前,在執行實際的L4-L7整合之前,需要先確定安裝的幾個方面:
有兩種管理網路:帶內管理和帶外(OOB),它們可用於管理不屬於基本以應用為中心的基礎設施(ACI)的裝置(枝葉、主幹或apic控制器),包括ASAv、負載均衡器等。
在這種情況下,ASAv的OOB是使用標準vSwitch部署的。對於裸機ASA或其他服務裝置和/或伺服器,請將OOB管理埠連線到OOB交換機或網路,如下圖所示。

ASAv OOB管理埠管理連線需要使用ESXi上行鏈路埠通過OOB與APIC通訊。在對映vNIC介面時,網路介面卡1始終匹配ASAv上的管理0/0介面,其餘的資料平面介面從網路介面卡2啟動。
表2顯示了網路介面卡ID和ASAv介面ID的一致性:
表2

- 通過File>Deploy OVF(Open Virtualization Format)Template中的嚮導部署ASAv VM
- 如果要將獨立ESX Server或asav-vi for vCenter,請選擇asav-esxi。在這種情況下,使用vCenter。

- 通過安裝嚮導,接受條款和條件。在嚮導的中間,您可以確定多個選項,如主機名、管理、ip地址、防火牆模式和其他與ASAv相關的特定資訊。請記住對ASAv使用OOB管理,因為在這種情況下,在使用VM網路(標準交換機)時,您需要保持介面管理0/0,而介面GigabitEthernet0-8是預設網路埠。






- 如圖所示,某些管理配置已推送到ASAv防火牆。配置管理員使用者名稱和密碼。APIC使用此使用者名稱和密碼登入並配置ASA。ASA應能連線到OOB網路,並能夠訪問APIC。
username admin password <device_password> encrypted privilege 15

此外,從全域性配置模式啟用http伺服器:
http server enable
http 0.0.0.0 0.0.0.0管理
L4-L7,用於APIC中的ASAv整合:
- 登入到ACI GUI,點選將部署服務圖的租戶。展開導航窗格底部的L4-L7服務,按一下右鍵L4-L7裝置,然後按一下Create L4-L7裝置以開啟嚮導
— 託管模式
— 防火牆服務
— 虛擬裝置
— 通過單個節點連線到AVS域
-ASAv型號
— 路由模式(GoTo)
— 管理地址(必須與之前分配給Mgmt0/0介面的地址匹配)
- 預設使用HTTPS作為APIC,使用最安全的協定與ASAv通訊

對於第一部分,使用前面部分中顯示的表2,將網路介面卡ID與您要使用的ASAv介面ID正確匹配。路徑是指允許進出防火牆介面的物理埠、埠通道或VPC。在這種情況下,ASA位於ESX主機中,其中兩個介面的傳入和傳出相同。在物理裝置中,防火牆(FW)的內部和外部將是不同的物理埠。
在第二部分中,必須始終定義群集介面(即使未使用群集HA),這是因為,對象模型在mIf介面(裝置包上的元介面)、LIf介面(葉介面,如外部、內部、內部等)和CIf(具體介面)之間存在關聯。 必須在裝置集群配置中配置L4-L7具體裝置,該抽象稱為邏輯裝置。邏輯裝置具有對映到具體裝置上的具體介面的邏輯介面。
在本示例中,將使用以下關聯:
Gi0/0 = vmnic2 = ServerInt/provider/server > EPG1
Gi0/1 = vmnic3 = ClientInt/consumer/client > EPG2

附註:對於故障切換/HA部署,GigabitEthernet 0/8已預配置為故障切換介面。
裝置狀態應為「穩定」,並且您應準備好部署功能配置檔案和服務圖模板
服務圖廟
首先,為ASAv建立功能配置檔案,但在此之前,您需要在該資料夾下建立功能配置檔案組,然後建立L4-L7服務功能配置檔案,如下圖所示:


- 從下拉選單中選擇WebPolicyForRoutedMode Profile,然後繼續配置防火牆上的介面。從現在起,這些步驟是可選的,以後可以實施/修改。這些步驟可以在部署的幾個不同階段執行,具體取決於服務圖的可重複使用或自定義方式。
在本練習中,路由防火牆(轉到模式)要求每個介面都有一個唯一的IP地址。標準ASA配置還具有介面安全級別(外部介面不太安全,內部介面更安全)。 您也可以根據自己的要求更改介面名稱。本示例中使用預設值。
- 展開Interface Specific Configuration,為ServerInt新增IP地址和安全級別,對於IP地址x.x.x.x/y.y.y.y或x.x.x.x/yy,格式如下。對ClientInt介面重複此過程。

附註:您還可以修改預設訪問清單設定並建立自己的基本模板。預設情況下,RoutedMode模板將包含HTTP和HTTPS規則。在本練習中,SSH和ICMP將新增到允許的外部訪問清單。


- 將裝置集群拖放到右側,形成消費者和提供商之間的關係,選擇路由模式和先前建立的功能配置檔案。

- 檢查模板是否有故障。模板建立為可重複使用,然後必須將其應用於特定EPG等。
- 要應用模板,請按一下右鍵並選擇應用L4-L7服務圖模板

- 定義哪個EPG將位於消費方和提供方側。在本練習中,AVS-EPG2是消費者(客戶端),AVS-EPG1是提供商(伺服器)。 請記住,未應用任何過濾器,這將允許防火牆根據此嚮導的最後一部分中定義的訪問清單執行所有過濾。
- 按一下下一步

- 驗證每個EPG的BD資訊。在這種情況下,EPG1是IntBD DB上的提供商,EPG2是BD ExtBD上的消費者。EPG1將在防火牆介面ServerInt上連線,EPG2將在介面ClientInt上連線。兩個FW介面將成為每個EPG的DG,因此流量始終被迫通過防火牆。
- 按一下下一步

- 在Config Parameters部分,按一下All Parameters,並驗證是否有需要更新/配置的RED指示燈。在輸出中(如圖所示),可以看到存取清單上的順序遺漏。這等效於您將在show ip access-list X中看到的行順序。

- 您也可以驗證從前面定義的功能配置檔案中分配的IP編址,如果有需要,這裡是一個更改資訊的好機會。設定好所有引數後,按一下「Finish」,如下圖所示:


驗證
- 建立「服務」圖形後需要驗證的一個重要事項是,建立消費者/提供商關係時使用了正確的Meta聯結器。在「Function Connector Properties(功能聯結器屬性)」下驗證。

附註:從AVS動態池為防火牆的每個介面分配一個encap-vlan。驗證沒有故障。


- 新合約在EPG下分配。從現在起,如果您需要修改訪問清單中的任何內容,則必須使用提供程式EPG的第4-7層服務引數完成更改。

- 在vCenter上,您還可以驗證影子EPG已分配到每個防火牆介面:

在本測試中,我讓2個EPG與標準合約進行通訊,這些2個EPG位於不同的域和不同的VRF中,因此先前已配置它們之間的路由洩漏。在插入服務圖後,當防火牆在2個EPG之間設定路由和過濾時,這可以簡化一些操作。以前在EPG和BD下配置的DG現在與合約一樣被刪除。只有L4-L7推行的合約應保留在EPG下。

刪除標準合約後,您可以確認流量現在流經ASAv,每次客戶端向伺服器傳送請求時,命令show access-list應顯示規則的命中計數,該計數會遞增。

在枝葉上,應該學習客戶端、伺服器VM以及ASAv介面的終端

檢視連線到VEM的兩個防火牆介面。
ESX-1

ESX-2

最後,如果知道源EPG和目標EPG的PC標籤,也可以在枝葉級別驗證防火牆規則:

可以將篩選器ID與枝葉上的PC標籤匹配以驗證FW規則。

附註:EPG PCTags/Sclass從不直接通訊。通過L4-L7服務圖插入建立的影子EPG中斷通訊或將通訊捆綁在一起。
Client to Server通訊正常。


疑難排解
未分配VTEP地址
驗證是否已在AEP下檢查基礎架構VLAN:

不支援的版本
驗證VEM版本是否正確並支援適當的ESXi VMWare系統。
~ # vem version
Running esx version -1746974 x86_64
VEM Version: 5.2.1.3.1.10.0-3.2.1
OpFlex SDK Version: 1.2(1i)
System Version: VMware ESXi 5.5.0 Releasebuild-1746974
ESX Version Update Level: 0
VEM和交換矩陣通訊不起作用
- Check VEM status
vem status
- Try reloading or restating the VEM at the host:
vem reload
vem restart
- Check if there’s connectivity towards the Fabric. You can try pinging 10.0.0.30 which is (infra:default) with 10.0.0.30 (shared address, for both Leafs)
~ # vmkping -I vmk1 10.0.0.30
PING 10.0.0.30 (10.0.0.30): 56 data bytes
--- 10.0.0.30 ping statistics ---
3 packets transmitted, 0 packets received, 100% packet loss
If ping fails, check:
- Check OpFlex status - The DPA (DataPathAgent) handles all the control traffic between AVS and APIC (talks to the immediate Leaf switch that is connecting to) using OpFlex (opflex client/agent).
All EPG communication will go thru this opflex connection.
~ # vemcmd show opflex
Status: 0 (Discovering)
Channel0: 0 (Discovering), Channel1: 0 (Discovering)
Dvs name: comp/prov-VMware/ctrlr-[AVS]-vCenterController/sw-dvs-129
Remote IP: 10.0.0.30 Port: 8000
Infra vlan: 3967
FTEP IP: 10.0.0.32
Switching Mode: unknown
Encap Type: unknown
NS GIPO: 0.0.0.0
you can also check the status of the vmnics at the host level:
~ # esxcfg-vmknic -l
Interface Port Group/DVPort IP Family IP Address Netmask Broadcast MAC Address MTU TSO MSS Enabled Type
vmk0 Management Network IPv4 10.201.35.219 255.255.255.0 10.201.35.255 e4:aa:5d:ad:06:3e 1500 65535 true STATIC
vmk0 Management Network IPv6 fe80::e6aa:5dff:fead:63e 64 e4:aa:5d:ad:06:3e 1500 65535 true STATIC, PREFERRED
vmk1 160 IPv4 10.0.32.65 255.255.0.0 10.0.255.255 00:50:56:6b:ca:25 1500 65535 true STATIC
vmk1 160 IPv6 fe80::250:56ff:fe6b:ca25 64 00:50:56:6b:ca:25 1500 65535 true STATIC, PREFERRED
~ #
- Also on the host, verify if DHCP requests are sent back and forth:
~ # tcpdump-uw -i vmk1
tcpdump-uw: verbose output suppressed, use -v or -vv for full protocol decode
listening on vmk1, link-type EN10MB (Ethernet), capture size 96 bytes
12:46:08.818776 IP truncated-ip - 246 bytes missing! 0.0.0.0.bootpc > 255.255.255.255.bootps: BOOTP/DHCP, Request from 00:50:56:6b:ca:25 (oui Unknown), length 300
12:46:13.002342 IP truncated-ip - 246 bytes missing! 0.0.0.0.bootpc > 255.255.255.255.bootps: BOOTP/DHCP, Request from 00:50:56:6b:ca:25 (oui Unknown), length 300
12:46:21.002532 IP truncated-ip - 246 bytes missing! 0.0.0.0.bootpc > 255.255.255.255.bootps: BOOTP/DHCP, Request from 00:50:56:6b:ca:25 (oui Unknown), length 300
12:46:30.002753 IP truncated-ip - 246 bytes missing! 0.0.0.0.bootpc > 255.255.255.255.bootps: BOOTP/DHCP, Request from 00:50:56:6b:ca:25 (oui Unknown), length 300
此時,可以確定ESXi主機和枝葉之間的交換矩陣通訊不能正常工作。可以在枝葉端檢查某些驗證命令以確定根本原因。
leaf2# show cdp ne
Capability Codes: R - Router, T - Trans-Bridge, B - Source-Route-Bridge
S - Switch, H - Host, I - IGMP, r - Repeater,
V - VoIP-Phone, D - Remotely-Managed-Device,
s - Supports-STP-Dispute
Device-ID Local Intrfce Hldtme Capability Platform Port ID
AVS:localhost.localdomainmain
Eth1/5 169 S I s VMware ESXi vmnic4
AVS:localhost.localdomainmain
Eth1/6 169 S I s VMware ESXi vmnic5
N3K-2(FOC1938R02L)
Eth1/13 166 R S I s N3K-C3172PQ-1 Eth1/13
leaf2# show port-c sum
Flags: D - Down P - Up in port-channel (members)
I - Individual H - Hot-standby (LACP only)
s - Suspended r - Module-removed
S - Switched R - Routed
U - Up (port-channel)
M - Not in use. Min-links not met
F - Configuration failed
-------------------------------------------------------------------------------
Group Port- Type Protocol Member Ports
Channel
-------------------------------------------------------------------------------
5 Po5(SU) Eth LACP Eth1/5(P) Eth1/6(P)通過Po5連線的ESXi中使用了2個埠
leaf2# show vlan extended
VLAN Name Status Ports
---- -------------------------------- --------- -------------------------------
13 infra:default active Eth1/1, Eth1/20
19 -- active Eth1/13
22 mgmt:inb active Eth1/1
26 -- active Eth1/5, Eth1/6, Po5
27 -- active Eth1/1
28 :: active Eth1/5, Eth1/6, Po5
36 common:pod6_BD active Eth1/5, Eth1/6, Po5
VLAN Type Vlan-mode Encap
---- ----- ---------- -------------------------------
13 enet CE vxlan-16777209, vlan-3967
19 enet CE vxlan-14680064, vlan-150
22 enet CE vxlan-16383902
26 enet CE vxlan-15531929, vlan-200
27 enet CE vlan-11
28 enet CE vlan-14
36 enet CE vxlan-15662984
從上面的輸出中可以看到,Infra Vlan不允許通過,也不允許通過指向ESXi主機(1/5-6)的上行鏈路埠。 這表示在APIC上配置了介面策略或交換機策略的配置錯誤。
檢查兩者:
Access Policies > Interface Policies > Profiles Access Policies > Switch Policy > Profiles 在這種情況下,介面配置檔案連線到錯誤的AEP(用於DVS的舊AEP),如下圖所示:
為AVS設定正確的AEP後,現在我們可以看到通過枝葉上的正確Unlinks(解除連結)可以看到Infra Vlan:
leaf2# show vlan extended
VLAN Name Status Ports
---- -------------------------------- --------- -------------------------------
13 infra:default active Eth1/1, Eth1/5, Eth1/6,
Eth1/20, Po5
19 -- active Eth1/13
22 mgmt:inb active Eth1/1
26 -- active Eth1/5, Eth1/6, Po5
27 -- active Eth1/1
28 :: active Eth1/5, Eth1/6, Po5
36 common:pod6_BD active Eth1/5, Eth1/6, Po5
VLAN Type Vlan-mode Encap
---- ----- ---------- -------------------------------
13 enet CE vxlan-16777209, vlan-3967
19 enet CE vxlan-14680064, vlan-150
22 enet CE vxlan-16383902
26 enet CE vxlan-15531929, vlan-200
27 enet CE vlan-11
28 enet CE vlan-14
36 enet CE vxlan-15662984
and Opflex connection is restablised after restarting the VEM module:
~ # vem restart
stopDpa
VEM SwISCSI PID is
Warn: DPA running host/vim/vimuser/cisco/vem/vemdpa.213997
Warn: DPA running host/vim/vimuser/cisco/vem/vemdpa.213997
watchdog-vemdpa: Terminating watchdog process with PID 213974
~ # vemcmd show opflex
Status: 0 (Discovering)
Channel0: 14 (Connection attempt), Channel1: 0 (Discovering)
Dvs name: comp/prov-VMware/ctrlr-[AVS]-vCenterController/sw-dvs-129
Remote IP: 10.0.0.30 Port: 8000
Infra vlan: 3967
FTEP IP: 10.0.0.32
Switching Mode: unknown
Encap Type: unknown
NS GIPO: 0.0.0.0
~ # vemcmd show opflex
Status: 12 (Active)
Channel0: 12 (Active), Channel1: 0 (Discovering)
Dvs name: comp/prov-VMware/ctrlr-[AVS]-vCenterController/sw-dvs-129
Remote IP: 10.0.0.30 Port: 8000
Infra vlan: 3967
FTEP IP: 10.0.0.32
Switching Mode: LS
Encap Type: unknown
NS GIPO: 0.0.0.0
相關資訊
應用程式虛擬交換器安裝
Cisco Systems, Inc.思科應用虛擬交換機安裝指南5.2(1)SV3(1.2)版
使用VMware部署ASAv
Cisco Systems, Inc.思科自適應安全虛擬裝置(ASAv)快速入門手冊9.4
「使用思科以應用為中心的基礎設施設計服務圖」白皮書
「使用思科以應用為中心的基礎設施設計服務圖」白皮書
技術支援與文件 - Cisco Systems