Halo, habr. Saat ini saya adalah ketua kursus untuk kursus Network Engineer di OTUS.
Untuk mengantisipasi dimulainya pendaftaran baru untuk kursus
Ada banyak sekali materi tentang cara kerja VxLAN EVPN, jadi saya ingin mengumpulkan berbagai tugas dan praktik untuk memecahkan masalah di pusat data modern.
Pada bagian pertama dari seri teknologi VxLAN EVPN, saya ingin melihat cara mengatur konektivitas L2 antar host di atas struktur jaringan.
Semua contoh akan dilakukan pada Cisco Nexus 9000v, yang dirakit dalam topologi Spine-Leaf. Kami tidak akan membahas pengaturan jaringan Underlay di artikel ini.
- Jaringan yang mendasari
- Peering BGP untuk keluarga alamat l2vpn evpn
- Menyiapkan NVE
- Menekan-arp
Jaringan yang mendasari
Topologi yang digunakan adalah sebagai berikut:
Mari kita atur pengalamatan di semua perangkat:
Spine-1 - 10.255.1.101
Spine-2 - 10.255.1.102
Leaf-11 - 10.255.1.11
Leaf-12 - 10.255.1.12
Leaf-21 - 10.255.1.21
Host-1 - 192.168.10.10
Host-2 - 192.168.10.20
Mari kita periksa apakah ada konektivitas IP di antara semua perangkat:
Leaf21# sh ip route
<........>
10.255.1.11/32, ubest/mbest: 2/0 ! Leaf-11 доступен чеерз два Spine
*via 10.255.1.101, Eth1/4, [110/81], 00:00:03, ospf-UNDERLAY, intra
*via 10.255.1.102, Eth1/3, [110/81], 00:00:03, ospf-UNDERLAY, intra
10.255.1.12/32, ubest/mbest: 2/0 ! Leaf-12 доступен чеерз два Spine
*via 10.255.1.101, Eth1/4, [110/81], 00:00:03, ospf-UNDERLAY, intra
*via 10.255.1.102, Eth1/3, [110/81], 00:00:03, ospf-UNDERLAY, intra
10.255.1.21/32, ubest/mbest: 2/0, attached
*via 10.255.1.22, Lo0, [0/0], 00:02:20, local
*via 10.255.1.22, Lo0, [0/0], 00:02:20, direct
10.255.1.101/32, ubest/mbest: 1/0
*via 10.255.1.101, Eth1/4, [110/41], 00:00:06, ospf-UNDERLAY, intra
10.255.1.102/32, ubest/mbest: 1/0
*via 10.255.1.102, Eth1/3, [110/41], 00:00:03, ospf-UNDERLAY, intra
Mari kita periksa apakah domain VPC telah dibuat dan kedua switch telah melewati pemeriksaan konsistensi dan pengaturan pada kedua node sama:
Leaf11# show vpc
vPC domain id : 1
Peer status : peer adjacency formed ok
vPC keep-alive status : peer is alive
Configuration consistency status : success
Per-vlan consistency status : success
Type-2 consistency status : success
vPC role : primary
Number of vPCs configured : 0
Peer Gateway : Disabled
Dual-active excluded VLANs : -
Graceful Consistency Check : Enabled
Auto-recovery status : Disabled
Delay-restore status : Timer is off.(timeout = 30s)
Delay-restore SVI status : Timer is off.(timeout = 10s)
Operational Layer3 Peer-router : Disabled
vPC status
----------------------------------------------------------------------------
Id Port Status Consistency Reason Active vlans
-- ------------ ------ ----------- ------ ---------------
5 Po5 up success success 1
Mengintip BGP
Terakhir, Anda dapat melanjutkan ke pengaturan jaringan Overlay.
Sebagai bagian dari artikel, perlu untuk mengatur jaringan antar host, seperti yang ditunjukkan pada diagram di bawah ini:
Untuk mengkonfigurasi jaringan Overlay, Anda perlu mengaktifkan BGP pada switch Spine dan Leaf dengan dukungan untuk keluarga l2vpn evpn:
feature bgp
nv overlay evpn
Selanjutnya, Anda perlu mengonfigurasi peering BGP antara Leaf dan Spine. Untuk menyederhanakan pengaturan dan mengoptimalkan distribusi informasi perutean, kami mengonfigurasi Spine sebagai server Route-Reflector. Kami akan menulis semua Leaf di konfigurasi menggunakan templat untuk mengoptimalkan pengaturan.
Jadi settingan di Spine terlihat seperti ini:
router bgp 65001
template peer LEAF
remote-as 65001
update-source loopback0
address-family l2vpn evpn
send-community
send-community extended
route-reflector-client
neighbor 10.255.1.11
inherit peer LEAF
neighbor 10.255.1.12
inherit peer LEAF
neighbor 10.255.1.21
inherit peer LEAF
Pengaturan pada saklar Leaf terlihat serupa:
router bgp 65001
template peer SPINE
remote-as 65001
update-source loopback0
address-family l2vpn evpn
send-community
send-community extended
neighbor 10.255.1.101
inherit peer SPINE
neighbor 10.255.1.102
inherit peer SPINE
Di Spine, mari kita periksa peering dengan semua switch Leaf:
Spine1# sh bgp l2vpn evpn summary
<.....>
Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd
10.255.1.11 4 65001 7 8 6 0 0 00:01:45 0
10.255.1.12 4 65001 7 7 6 0 0 00:01:16 0
10.255.1.21 4 65001 7 7 6 0 0 00:01:01 0
Seperti yang Anda lihat, tidak ada masalah dengan BGP. Mari beralih ke pengaturan VxLAN. Konfigurasi lebih lanjut hanya akan dilakukan pada sisi Leaf pada sakelar. Tulang belakang hanya bertindak sebagai inti jaringan dan hanya terlibat dalam transmisi lalu lintas. Semua pekerjaan enkapsulasi dan penentuan jalur hanya terjadi pada sakelar Leaf.
Menyiapkan NVE
NVE - antarmuka virtual jaringan
Sebelum memulai penyiapan, mari kenali beberapa terminologi:
VTEP - Titik Akhir Terowongan Vitual, perangkat tempat terowongan VxLAN dimulai atau diakhiri. VTEP belum tentu merupakan perangkat jaringan apa pun. Server yang mendukung teknologi VxLAN juga dapat bertindak sebagai server. Dalam topologi kami, semua sakelar Leaf adalah VTEP.
VNI - Indeks Jaringan Virtual - pengidentifikasi jaringan dalam VxLAN. Sebuah analogi dapat ditarik dengan VLAN. Namun terdapat beberapa perbedaan. Saat menggunakan fabric, VLAN menjadi unik hanya dalam satu switch Leaf dan tidak ditransmisikan melalui jaringan. Namun setiap VLAN dapat memiliki nomor VNI yang terkait dengannya, yang sudah dikirimkan melalui jaringan. Seperti apa bentuknya dan bagaimana penggunaannya akan dibahas lebih lanjut.
Mari aktifkan fitur agar teknologi VxLAN berfungsi dan kemampuan untuk mengaitkan nomor VLAN dengan nomor VNI:
feature nv overlay
feature vn-segment-vlan-based
Mari konfigurasikan antarmuka NVE, yang bertanggung jawab atas pengoperasian VxLAN. Antarmuka ini bertanggung jawab untuk merangkum frame dalam header VxLAN. Anda dapat menggambar analogi dengan antarmuka Tunnel untuk GRE:
interface nve1
no shutdown
host-reachability protocol bgp ! используем BGP для передачи маршрутной информации
source-interface loopback0 ! интерфейс с которого отправляем пакеты loopback0
Pada saklar Leaf-21 semuanya dibuat tanpa masalah. Namun, jika kita memeriksa output dari perintah tersebut show nve peers
, maka itu akan kosong. Di sini Anda perlu kembali ke konfigurasi VPC. Kami melihat Leaf-11 dan Leaf-12 bekerja berpasangan dan disatukan oleh domain VPC. Ini memberi kita situasi berikut:
Host-2 mengirimkan satu frame menuju Leaf-21 sehingga mentransmisikannya melalui jaringan menuju Host-1. Namun, Leaf-21 melihat bahwa alamat MAC Host-1 dapat diakses melalui dua VTEP sekaligus. Apa yang harus dilakukan Leaf-21 dalam kasus ini? Bagaimanapun, ini berarti bahwa sebuah loop dapat muncul di jaringan.
Untuk mengatasi situasi ini, kita memerlukan Leaf-11 dan Leaf-12 untuk juga bertindak sebagai satu perangkat di dalam pabrik. Solusinya cukup sederhana. Pada antarmuka Loopback tempat kita membangun terowongan, tambahkan alamat sekunder. Alamat Sekunder harus sama di kedua VTEP.
interface loopback0
ip add 10.255.1.10/32 secondary
Jadi, dari sudut pandang VTEP lain, kita mendapatkan topologi berikut:
Artinya, sekarang terowongan akan dibangun antara alamat IP Leaf-21 dan IP virtual antara dua Leaf-11 dan Leaf-12. Sekarang tidak akan ada masalah dalam mempelajari alamat MAC dari dua perangkat dan lalu lintas dapat berpindah dari satu VTEP ke VTEP lainnya. Manakah dari dua VTEP yang akan memproses lalu lintas ditentukan menggunakan tabel routing di Spine:
Spine1# sh ip route
<.....>
10.255.1.10/32, ubest/mbest: 2/0
*via 10.255.1.11, Eth1/1, [110/41], 1d01h, ospf-UNDERLAY, intra
*via 10.255.1.12, Eth1/2, [110/41], 1d01h, ospf-UNDERLAY, intra
10.255.1.11/32, ubest/mbest: 1/0
*via 10.255.1.11, Eth1/1, [110/41], 1d22h, ospf-UNDERLAY, intra
10.255.1.12/32, ubest/mbest: 1/0
*via 10.255.1.12, Eth1/2, [110/41], 1d01h, ospf-UNDERLAY, intra
Seperti yang Anda lihat di atas, alamat 10.255.1.10 segera tersedia melalui dua Next-hop.
Pada tahap ini, kita telah membahas konektivitas dasar. Mari beralih ke pengaturan antarmuka NVE:
Ayo segera aktifkan Vlan 10 dan kaitkan dengan VNI 10000 di setiap Leaf untuk host. Mari kita siapkan terowongan L2 antar host
vlan 10 ! Включаем VLAN на всех VTEP подключенных к необходимым хостам
vn-segment 10000 ! Ассоциируем VLAN с номер VNI
interface nve1
member vni 10000 ! Добавляем VNI 10000 для работы через интерфейс NVE. для инкапсуляции в VxLAN
ingress-replication protocol bgp ! указываем, что для распространения информации о хосте используем BGP
Sekarang mari kita periksa beberapa rekan dan tabel untuk BGP EVPN:
Leaf21# sh nve peers
Interface Peer-IP State LearnType Uptime Router-Mac
--------- --------------- ----- --------- -------- -----------------
nve1 10.255.1.10 Up CP 00:00:41 n/a ! Видим что peer доступен с secondary адреса
Leaf11# sh bgp l2vpn evpn
Network Next Hop Metric LocPrf Weight Path
Route Distinguisher: 10.255.1.11:32777 (L2VNI 10000) ! От кого именно пришел этот l2VNI
*>l[3]:[0]:[32]:[10.255.1.10]/88 ! EVPN route-type 3 - показывает нашего соседа, который так же знает об l2VNI10000
10.255.1.10 100 32768 i
*>i[3]:[0]:[32]:[10.255.1.20]/88
10.255.1.20 100 0 i
* i 10.255.1.20 100 0 i
Route Distinguisher: 10.255.1.21:32777
* i[3]:[0]:[32]:[10.255.1.20]/88
10.255.1.20 100 0 i
*>i 10.255.1.20 100 0 i
Di atas kita hanya melihat rute tipe rute EVPN 3. Jenis rute ini berbicara tentang rekan (Daun), tetapi di mana host kita?
Masalahnya adalah informasi tentang host MAC dikirimkan melalui rute EVPN tipe 2
Untuk melihat host kami, Anda perlu mengkonfigurasi tipe rute EVPN 2:
evpn
vni 10000 l2
route-target import auto ! в рамках данной статьи используем автоматический номер для route-target
route-target export auto
Mari kita ping dari Host-2 ke Host-1:
Firewall2# ping 192.168.10.1
PING 192.168.10.1 (192.168.10.1): 56 data bytes
36 bytes from 192.168.10.2: Destination Host Unreachable
Request 0 timed out
64 bytes from 192.168.10.1: icmp_seq=1 ttl=254 time=215.555 ms
64 bytes from 192.168.10.1: icmp_seq=2 ttl=254 time=38.756 ms
64 bytes from 192.168.10.1: icmp_seq=3 ttl=254 time=42.484 ms
64 bytes from 192.168.10.1: icmp_seq=4 ttl=254 time=40.983 ms
Dan di bawah ini kita dapat melihat bahwa tipe rute 2 dengan alamat MAC host muncul di tabel BGP - 5001.0007.0007 dan 5001.0008.0007
Leaf11# sh bgp l2vpn evpn
<......>
Network Next Hop Metric LocPrf Weight Path
Route Distinguisher: 10.255.1.11:32777 (L2VNI 10000)
*>l[2]:[0]:[0]:[48]:[5001.0007.0007]:[0]:[0.0.0.0]/216 ! evpn route-type 2 и mac адрес хоста 1
10.255.1.10 100 32768 i
*>i[2]:[0]:[0]:[48]:[5001.0008.0007]:[0]:[0.0.0.0]/216 ! evpn route-type 2 и mac адрес хоста 2
* i 10.255.1.20 100 0 i
*>l[3]:[0]:[32]:[10.255.1.10]/88
10.255.1.10 100 32768 i
Route Distinguisher: 10.255.1.21:32777
* i[2]:[0]:[0]:[48]:[5001.0008.0007]:[0]:[0.0.0.0]/216
10.255.1.20 100 0 i
*>i 10.255.1.20 100 0 i
Selanjutnya, Anda dapat melihat informasi rinci tentang Pembaruan, di mana Anda menerima informasi tentang MAC Host. Di bawah ini bukan seluruh keluaran perintah.
Leaf21# sh bgp l2vpn evpn 5001.0007.0007
BGP routing table information for VRF default, address family L2VPN EVPN
Route Distinguisher: 10.255.1.11:32777 ! отправил Update с MAC Host. Не виртуальный адрес VPC, а адрес Leaf
BGP routing table entry for [2]:[0]:[0]:[48]:[5001.0007.0007]:[0]:[0.0.0.0]/216,
version 1507
Paths: (2 available, best #2)
Flags: (0x000202) (high32 00000000) on xmit-list, is not in l2rib/evpn, is not i
n HW
Path type: internal, path is valid, not best reason: Neighbor Address, no labe
led nexthop
AS-Path: NONE, path sourced internal to AS
10.255.1.10 (metric 81) from 10.255.1.102 (10.255.1.102) ! с кем именно строим VxLAN тоннель
Origin IGP, MED not set, localpref 100, weight 0
Received label 10000 ! Номер VNI, который ассоциирован с VLAN, в котором находится Host
Extcommunity: RT:65001:10000 SOO:10.255.1.10:0 ENCAP:8 ! Тут видно, что RT сформировался автоматически на основе номеров AS и VNI
Originator: 10.255.1.11 Cluster list: 10.255.1.102
<........>
Mari kita lihat seperti apa bingkai saat melewati pabrik:
Menekan-ARP
Hebat, kami sekarang memiliki komunikasi L2 antara tuan rumah dan kami bisa menyelesaikannya di sana. Namun, tidak semuanya sesederhana itu. Selama kita memiliki sedikit host, tidak akan ada masalah. Tapi mari kita bayangkan situasi di mana kita memiliki ratusan dan ribuan host. Masalah apa yang mungkin kita hadapi?
Masalah ini adalah lalu lintas BUM (Broadcast, Unknown Unicast, Multicast). Pada artikel ini, kami akan mempertimbangkan opsi untuk menangani lalu lintas siaran.
Generator siaran utama dalam jaringan Ethernet adalah host itu sendiri melalui protokol ARP.
Nexus mengimplementasikan mekanisme berikut untuk menangani permintaan ARP - supres-arp.
Fitur ini berfungsi sebagai berikut:
- Host-1 mengirimkan permintaan APR ke alamat Broadcast jaringannya.
- Permintaan tersebut mencapai saklar Leaf dan alih-alih meneruskan permintaan ini lebih jauh ke fabric menuju Host-2, Leaf merespons sendiri dan menunjukkan IP dan MAC yang diperlukan.
Dengan demikian, permintaan Siaran tidak sampai ke pabrik. Tapi bagaimana cara kerjanya jika Leaf hanya mengetahui alamat MAC?
Semuanya cukup sederhana, rute EVPN tipe 2, selain alamat MAC, dapat mengirimkan kombinasi MAC/IP. Untuk melakukan ini, Anda perlu mengkonfigurasi alamat IP di VLAN di Leaf. Timbul pertanyaan, IP apa yang harus saya setting? Di nexus dimungkinkan untuk membuat alamat terdistribusi (sama) di semua switch:
feature interface-vlan
fabric forwarding anycast-gateway-mac 0001.0001.0001 ! задаем virtual mac для создания распределенного шлюза между всеми коммутаторами
interface Vlan10
no shutdown
ip address 192.168.10.254/24 ! на всех Leaf задаем одинаковый IP
fabric forwarding mode anycast-gateway ! говорим использовать Virtual mac
Jadi, dari sudut pandang host, jaringan akan terlihat seperti ini:
Mari kita periksa BGP l2route evpn
Leaf11# sh bgp l2vpn evpn
<......>
Network Next Hop Metric LocPrf Weight Path
Route Distinguisher: 10.255.1.11:32777 (L2VNI 10000)
*>l[2]:[0]:[0]:[48]:[5001.0007.0007]:[0]:[0.0.0.0]/216
10.255.1.21 100 32768 i
*>i[2]:[0]:[0]:[48]:[5001.0008.0007]:[0]:[0.0.0.0]/216
10.255.1.10 100 0 i
* i 10.255.1.10 100 0 i
* i[2]:[0]:[0]:[48]:[5001.0008.0007]:[32]:[192.168.10.20]/248
10.255.1.10 100 0 i
*>i 10.255.1.10 100 0 i
<......>
Route Distinguisher: 10.255.1.21:32777
* i[2]:[0]:[0]:[48]:[5001.0008.0007]:[0]:[0.0.0.0]/216
10.255.1.20 100 0 i
*>i 10.255.1.20 100 0 i
* i[2]:[0]:[0]:[48]:[5001.0008.0007]:[32]:[192.168.10.20]/248
*>i 10.255.1.20 100 0 i
<......>
Dari keluaran perintah Anda dapat melihat bahwa pada rute EVPN tipe 2, selain MAC, sekarang kita juga melihat alamat IP host.
Mari kita kembali ke pengaturan supres-arp. Pengaturan ini diaktifkan untuk setiap VNI secara terpisah:
interface nve1
member vni 10000
suppress-arp
Kemudian timbul beberapa kerumitan:
- Agar fitur ini berfungsi, diperlukan ruang di memori TCAM. Berikut contoh pengaturan untuk supres-arp:
hardware access-list tcam region arp-ether 256
Pengaturan ini memerlukan lebar ganda. Artinya, jika Anda menyetel 256, maka Anda perlu mengosongkan 512 di TCAM. Menyiapkan TCAM berada di luar cakupan artikel ini, karena menyiapkan TCAM hanya bergantung pada tugas yang diberikan kepada Anda dan mungkin berbeda dari satu jaringan ke jaringan lainnya.
- Penerapan supres-arp harus dilakukan pada semua switch Leaf. Namun, kerumitan dapat muncul saat mengonfigurasi pasangan Leaf yang berada di domain VPC. Jika TCAM diubah, konsistensi antar pasangan akan rusak dan satu node mungkin tidak dapat beroperasi. Selain itu, reboot perangkat mungkin diperlukan untuk menerapkan pengaturan perubahan TCAM.
Oleh karena itu, Anda perlu mempertimbangkan dengan cermat apakah, dalam situasi Anda, layak menerapkan pengaturan ini ke pabrik yang sedang berjalan.
Ini mengakhiri bagian pertama dari seri ini. Pada bagian selanjutnya kita akan melihat perutean melalui fabric VxLAN dengan pemisahan jaringan menjadi VRF yang berbeda.
Dan sekarang saya mengundang semua orang untuk melakukannya
Sumber: www.habr.com