LAB – VXVLAN pierwsze podjeście

Ostatnio uczestniczyłem w ciekawym webbinarium zorganizowane przy forum CCIE.pl pod tytułem DCI “po nowemu” – prezentację prowadził Piotr Jabłoński.

Piotr pokazywał jak w dzisiejszych czasach można wykorzystać technologię VXVLAN do rozciągania L2 pomiędzy DataCenter lub w samym DC.

Po obejrzeniu stwierdziłem że trzeba zbudować laba i zobaczyć z czym się to je VXVLAN. Wstępnie VXVLAN zacząłem poznawać przy nauce Vmware NSX – wkrótce może jakiś wpis pojawi się w tym temacie też.

W chwili wolnej zbudowałem lab zgodnie z poniższym diagramem:

vxvlan02

całość uruchomiłem na laptopie z wykorzystanie Vmware Workstation. Poniżej opiszę jak to uruchomić. Pokażę jak z wykorzystanie Cisco CSR1000v oraz Cisco ASAv można poznać wykorzystanie oraz zrozumieć działanie VXVLAN

Krok 1.

Uruchamiamy nasze wirtualki – ponieżej pokaże jak uruchomić CSR1000v pod Worksation. Cisco ASAv pokazałem we wpisie Instalacja ASAv w Labie

Importujemy Maszynę z CSR1000v do naszego Workstation:

csr01

Klikamy Open a Virtual Machine  w nowym oknie wybieramy nasz polik OVA

csr02

po kliknięciu otwórz, w nowym oknie wpisujemy nazwę dla naszego Routera taka nazwa będzie wyświetlana w Inventory, w Storage path podajemy gdzie mają być przechowywane pliki wirtualnej maszyny.

csr03

Po kliknięciu Import rozpocznie się proces importu

csr04

po zakończeniu uruchamiamy wirtualną maszynę

csr05

przy pierwszym uruchomieniu musimy kliknąć dowolnym klawiszem tak aby rozpoczął proces uruchomienia.

csr06

Po zakończeniu możemy powtórzyć dla kolejnych 2 CSR’ów oraz ASAv proces.

Krok 2.

Przygotowanie Workstation do Laba

Tworzymy Lan Segmenty, tak aby były możliwe połączenia, zgodnie z diagramem wyżej.

csr07

Krok 3

Konfigurujemy je zgodnie z założeniami które są poniżej

Cisco CSR100v01
Interfejs  adresacja  opis
Gi 1 10.10.30.2/24 Połączenie z CSR1000v03 nasz Core
Gi 2 unatged połączenie do PC1
Gi 3 192.168.220.11/24 nasza adresacja wykorzystywana do MGMT. Interfejs w VRF MGMT
Lo0 1.1.1.1/32 Nasz adres loopback 0

Konfiguracja:

dla Interfejsu Gi1:

interface GigabitEthernet1
 description csrv01<-->csrv03
 ip address 10.10.30.1 255.255.255.0
 negotiation auto
 no sh

dla Loopback 0

interface Loopback0
 ip address 1.1.1.1 255.255.255.255

Gi 3

ip vrf mgmt
 description mgmt
exit
interface GigabitEthernet3
 description MGMT
 ip vrf forwarding mgmt
 ip address 192.168.220.11 255.255.255.0
 no sh
end

Cisco CSR100v02
Interfejs  adresacja  opis
Gi 1 10.10.40.2/24 Połączenie z CSR1000v03 nasz Core
Gi 2 unatged połączenie do PC2
Gi 3 192.168.220.12/24 nasza adresacja wykorzystywana do MGMT. Interfejs w VRF MGMT
Lo0 2.2.2.2/32 Loopback 0

Konfiguracja:

dla Interfejsu Gi1:

interface GigabitEthernet1
 description csrv02<-->csrv03
 ip address 10.10.40.1 255.255.255.0
 negotiation auto
 no sh

dla Loopback 0

interface Loopback0
 ip address 2.2.2.2 255.255.255.255

Gi 3

ip vrf mgmt
 description mgmt
exit
interface GigabitEthernet3
 description MGMT
 ip vrf forwarding mgmt
 ip address 192.168.220.12 255.255.255.0
 no sh
end
Cisco CSR100v03
Interfejs  adresacja  opis
Gi 1 10.10.20.2/24 Połączenie z ASAv01
Gi 2 10.10.30.2/24 Połączenie z CSR1000v01
Gi 3 10.10.40.224 Połączenie z CSR1000v02
Gi 4 192.168.220.10/24 nasza adresacja wykorzystywana do MGMT. Interfejs w VRF MGMT
Lo0 3.3.3.3/32 Loopback 0

Konfiguracja:

Gi1:

interface GigabitEthernet1
 ip address 10.10.20.2 255.255.255.0
 no sh

Gi2:

interface GigabitEthernet2
 ip address 10.10.30.2 255.255.255.0

Gi3:

interface GigabitEthernet3
 ip address 10.10.40.2 255.255.255.0

Gi4:

ip vrf mgmt
 description mgmt
exit
interface GigabitEthernet4
 description MGMT
 ip vrf forwarding mgmt
 ip address 192.168.220.10 255.255.255.0
 no sh
end

dla Loopback 0

interface Loopback0
 ip address 3.3.3.3 255.255.255.255
Cisco ASAv01
Interfejs  adresacja  opis
Gi 0/1 192.168.1.75/24 Out – nasz styk z internetem
Gi 0/2 10.10.20.1/24 Połączenie z CSR1000v03

Konfiguracja:

Gi 0/1

interface GigabitEthernet0/0
 nameif out
 security-level 0
 ip address 192.168.1.75 255.255.255.0
 no sh

Gi 0/2

interface GigabitEthernet0/1
 nameif lan
 security-level 0
 ip address 10.10.20.1 255.255.255.0
 no sh

 

Krok 4

Konfigurujemy routing pomiędzy urządzeniami w mym przypadku wykorzystuję OSPF

CSRv01:

router ospf 1
 network 1.1.1.1 0.0.0.0 area 0
 network 10.10.30.0 0.0.0.255 area 0

CSRv02:

router ospf 1
 network 2.2.2.2 0.0.0.0 area 0
 network 10.10.40.0 0.0.0.255 area 0

CSRv03:

router ospf 1
 network 3.3.3.3 0.0.0.0 area 0
 network 10.10.20.0 0.0.0.255 area 0
 network 10.10.30.0 0.0.0.255 area 0
 network 10.10.40.0 0.0.0.255 area 0

ASAv01:

router ospf 1
 network 10.10.20.0 255.255.255.0 area 0

Sprawdzamy działanie OSPF’a

CSRv01

csr1000v01#show ip route 
Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area 
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2
       i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
       ia - IS-IS inter area, * - candidate default, U - per-user static route
       o - ODR, P - periodic downloaded static route, H - NHRP, l - LISP
       a - application route
       + - replicated route, % - next hop override, p - overrides from PfR

Gateway of last resort is not set

      1.0.0.0/32 is subnetted, 1 subnets
C        1.1.1.1 is directly connected, Loopback0
      2.0.0.0/32 is subnetted, 1 subnets
O        2.2.2.2 [110/3] via 10.10.30.2, 00:05:00, GigabitEthernet1
      3.0.0.0/32 is subnetted, 1 subnets
O        3.3.3.3 [110/2] via 10.10.30.2, 00:05:10, GigabitEthernet1
      10.0.0.0/8 is variably subnetted, 4 subnets, 2 masks
O        10.10.20.0/24 [110/2] via 10.10.30.2, 00:05:00, GigabitEthernet1
C        10.10.30.0/24 is directly connected, GigabitEthernet1
L        10.10.30.1/32 is directly connected, GigabitEthernet1
O        10.10.40.0/24 [110/2] via 10.10.30.2, 00:05:00, GigabitEthernet1

CSRv02

csr1000v02#show ip route 
Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area 
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2
       i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
       ia - IS-IS inter area, * - candidate default, U - per-user static route
       o - ODR, P - periodic downloaded static route, H - NHRP, l - LISP
       a - application route
       + - replicated route, % - next hop override, p - overrides from PfR

Gateway of last resort is not set

      1.0.0.0/32 is subnetted, 1 subnets
O        1.1.1.1 [110/3] via 10.10.40.2, 00:13:31, GigabitEthernet1
      2.0.0.0/32 is subnetted, 1 subnets
C        2.2.2.2 is directly connected, Loopback0
      3.0.0.0/32 is subnetted, 1 subnets
O        3.3.3.3 [110/2] via 10.10.40.2, 00:13:31, GigabitEthernet1
      10.0.0.0/8 is variably subnetted, 6 subnets, 3 masks
O        10.10.20.0/24 [110/2] via 10.10.40.2, 00:13:21, GigabitEthernet1
O        10.10.30.0/24 [110/2] via 10.10.40.2, 00:13:31, GigabitEthernet1
C        10.10.40.0/24 is directly connected, GigabitEthernet1
L        10.10.40.1/32 is directly connected, GigabitEthernet1
C        10.20.20.12/30 is directly connected, GigabitEthernet2
L        10.20.20.13/32 is directly connected, GigabitEthernet2

CSRv03

core-csrv03#show ip route 
Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area 
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2
       i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
       ia - IS-IS inter area, * - candidate default, U - per-user static route
       o - ODR, P - periodic downloaded static route, H - NHRP, l - LISP
       a - application route
       + - replicated route, % - next hop override, p - overrides from PfR

Gateway of last resort is not set

      1.0.0.0/32 is subnetted, 1 subnets
O        1.1.1.1 [110/2] via 10.10.30.1, 00:14:18, GigabitEthernet2
      2.0.0.0/32 is subnetted, 1 subnets
O        2.2.2.2 [110/2] via 10.10.40.1, 00:14:08, GigabitEthernet3
      3.0.0.0/32 is subnetted, 1 subnets
C        3.3.3.3 is directly connected, Loopback0
      10.0.0.0/8 is variably subnetted, 6 subnets, 2 masks
C        10.10.20.0/24 is directly connected, GigabitEthernet1
L        10.10.20.2/32 is directly connected, GigabitEthernet1
C        10.10.30.0/24 is directly connected, GigabitEthernet2
L        10.10.30.2/32 is directly connected, GigabitEthernet2
C        10.10.40.0/24 is directly connected, GigabitEthernet3
L        10.10.40.2/32 is directly connected, GigabitEthernet3

ASAv

asav01# show route 

Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area 
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2
       i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
       ia - IS-IS inter area, * - candidate default, U - per-user static route
       o - ODR, P - periodic downloaded static route, + - replicated route
Gateway of last resort is 192.168.1.1 to network 0.0.0.0

S*    0.0.0.0 0.0.0.0 [1/0] via 192.168.1.1, out
O        1.1.1.1 255.255.255.255 [110/12] via 10.10.20.2, 00:15:18, lan
O        2.2.2.2 255.255.255.255 [110/12] via 10.10.20.2, 00:15:18, lan
O        3.3.3.3 255.255.255.255 [110/11] via 10.10.20.2, 00:15:18, lan
C        10.10.20.0 255.255.255.0 is directly connected, lan
L        10.10.20.1 255.255.255.255 is directly connected, lan
O        10.10.30.0 255.255.255.0 [110/11] via 10.10.20.2, 00:15:18, lan
O        10.10.40.0 255.255.255.0 [110/11] via 10.10.20.2, 00:15:18, lan
C        192.168.1.0 255.255.255.0 is directly connected, out
L        192.168.1.75 255.255.255.255 is directly connected, out
Krok 5

Uruchamiamy PIM

Na każdym z routerów CSR wykonujemy komendy

ip multicast-routing distributed
ip pim bidir-enable
ip pim rp-address 3.3.3.3 bidir

oraz na każdym interfejsie włączamy PIM

interface Loopback0
 ip pim sparse-mode
interface GigabitEthernet1
 ip pim sparse-mode

a na CSRv03 dodatkowe na GigabitEthernet 2 i 3

interface GigabitEthernet2
 ip pim sparse-mode
interface GigabitEthernet3
 ip pim sparse-mode

sprawdzamy dostępność sąsiedztwo w PIM

csr1000v01#show ip pim neighbor 
PIM Neighbor Table
Mode: B - Bidir Capable, DR - Designated Router, N - Default DR Priority,
      P - Proxy Capable, S - State Refresh Capable, G - GenID Capable,
      L - DR Load-balancing Capable
Neighbor          Interface                Uptime/Expires    Ver   DR
Address                                                            Prio/Mode
10.10.30.2        GigabitEthernet1         00:07:35/00:01:32 v2    1 / DR B S P G
csr1000v02#show ip pim neighbor 
PIM Neighbor Table
Mode: B - Bidir Capable, DR - Designated Router, N - Default DR Priority,
      P - Proxy Capable, S - State Refresh Capable, G - GenID Capable,
      L - DR Load-balancing Capable
Neighbor          Interface                Uptime/Expires    Ver   DR
Address                                                            Prio/Mode
10.10.40.2        GigabitEthernet1         00:00:11/00:01:32 v2    1 / DR B S P G
core-csrv03#show ip pim neighbor 
PIM Neighbor Table
Mode: B - Bidir Capable, DR - Designated Router, N - Default DR Priority,
      P - Proxy Capable, S - State Refresh Capable, G - GenID Capable,
      L - DR Load-balancing Capable
Neighbor          Interface                Uptime/Expires    Ver   DR
Address                                                            Prio/Mode
10.10.20.1        GigabitEthernet1         00:09:37/00:01:42 v2    1 / B G
10.10.30.1        GigabitEthernet2         00:09:38/00:01:28 v2    1 / B S P G
10.10.40.1        GigabitEthernet3         00:01:38/00:01:35 v2    1 / B S P G

 

Krok 6

Przechodzimy do właściwej konfiguracji w pierwszym etapie będziemy konfigurować VXVLAN pomiędzy CSRv02 i CSRv01 na tych dwóch urządzeniach będziemy wykonywać poniższe komendy:

w pierwszej kolejności definiujemy port udp do używania w vxvlan jest to konfiguracja opcjonalna według dokumentacji Cisco.

vxlan udp port 4444

tworzymy interfejs NVE (Network Virtualization Endpoint) gdzie definiujemy:

vni id jest id VXVLAN mamy duży wybór od 4096 do 16 milonów a dokładnie w zakresie 4096-16777215

mcast-group – wybieramy nasz adres multicast dla zdefiniowanego VNI

interface nve1
 no ip address
 member vni 6666 mcast-group 239.100.100.100
 source-interface Loopback0

po wykonaniu powyższego polecenia możemy sprawdzić dostępność peerów w nve

csr1000v01#show nve peers 
Interface  Peer-IP          VNI        Peer state   
   nve1    2.2.2.2          6666       -
csr1000v02#show nve peers 
Interface  Peer-IP          VNI        Peer state   
   nve1    1.1.1.1          6666       -
krok 7

Konfigurujemy bridge pomiędzy siecią fizyczną a siecią wirtualną czy konfigurujemy port który będzie miał dostęp do vxvlan

w tej chwili mamy dwie stacje z Windows 7, chcemy aby widziały się wzajemnie na tym kroku. PC1 ma adres 192.168.220.10 a PC2 192.168.220.20.

Na tych samych urządzeniach co wyżej konfigurowaliśmy interfejs NVE, teraz konfigurujemy port GI 2 tak aby był untagged

CSRv01

interface GigabitEthernet2
 description csrv01<-->PC1
 no ip address
 no sh
 service instance 6666 ethernet
  encapsulation untagged
exit
exit

tworzymy bridge domain – będzie nam łączyć vxvlan 6666 z portem Gi2

bridge-domain 6666 
 member vni 6666
 member GigabitEthernet2 service-instance 6666

CSRv02

interface GigabitEthernet2
 description csrv02<-->PC2
 no ip address
 no sh
 service instance 6666 ethernet
  encapsulation untagged
exit
exit

tworzymy bridge domain – będzie nam łączyć vxvlan 6666 z portem Gi2

bridge-domain 6666 
 member vni 6666
 member GigabitEthernet2 service-instance 6666

po wykonaniu tych kroków logujemy się na któregoś z PC i starmy się pingować drugiego, a na routerach CSRv01 i CSRv02 powinniśmy widzieć mac adresy w bridge-domain

csr1000v01#show bridge-domain 6666
Bridge-domain 6666 (2 ports in all)
State: UP                    Mac learning: Enabled
Aging-Timer: 300 second(s)
    GigabitEthernet2 service instance 6666
    vni 6666
   AED MAC address    Policy  Tag       Age  Pseudoport
   0   000C.29B8.7ABF forward dynamic   289  nve1.VNI6666, VxLAN 
                                             src: 1.1.1.1 dst: 2.2.2.2
   0   000C.2990.8ACD forward dynamic   287  GigabitEthernet2.EFP6666
csr1000v02#show bridge-domain 6666
Bridge-domain 6666 (2 ports in all)
State: UP                    Mac learning: Enabled
Aging-Timer: 300 second(s)
    GigabitEthernet2 service instance 6666
    vni 6666
   AED MAC address    Policy  Tag       Age  Pseudoport
   0   000C.29B8.7ABF forward dynamic   252  GigabitEthernet2.EFP6666
   0   000C.2990.8ACD forward dynamic   213  nve1.VNI6666, VxLAN 
                                             src: 2.2.2.2 dst: 1.1.1.1

Sprawdzamy jak wygląda status NVE

csr1000v02#show nve interface nve 1 detail 
Interface: nve1, State: Admin Up, Oper Up Encapsulation: Vxlan
source-interface: Loopback0 (primary:2.2.2.2 vrf:0)
   Pkts In   Bytes In   Pkts Out  Bytes Out
       156      25307         28       3361

 

Krok 8

Przyszła pora na konfigurację Cisco ASAv

Konfigurujemy port udp dla VXVLAN

vxlan port 4444

włączamy multicast

multicast-routing

Konfigurujemy interfejs NVE

nve 1
 encapsulation vxlan
 source-interface lan

na interfejsie GigiaEthernet 0/1 włączamy komunikację VXVLN

interface GigabitEthernet0/1
 nve-only

przyszła pora na konfigurację interfejsu VNI i podłączenie do naszego segmentu vxvlan. Nadajemy IP które będzie dla PC1 i PC2 gateway do Internetu.

interface vni1
 segment-id 6666
 nameif vxvlan6666
 security-level 0
 ip address 192.168.200.1 255.255.255.0 
 vtep-nve 1
 mcast-group 239.100.100.100
 no sh


po wykonanu tych kroków sprawdzamy czy w NVE widzimy nowe sąsiedztwo oraz czy w bridge-domain widzimy mac adresy PC1,PC2, oraz GW

csr1000v01#show nve peers 
Interface  Peer-IP          VNI        Peer state   
   nve1    2.2.2.2          6666       -         
   nve1    10.10.20.1       6666       -
csr1000v01#show bridge-domain 6666
Bridge-domain 6666 (2 ports in all)
State: UP                    Mac learning: Enabled
Aging-Timer: 300 second(s)
    GigabitEthernet2 service instance 6666
    vni 6666
   AED MAC address    Policy  Tag       Age  Pseudoport
   0   000C.29B8.7ABF forward dynamic   245  nve1.VNI6666, VxLAN 
                                             src: 1.1.1.1 dst: 2.2.2.2
   0   000C.2927.C9A1 forward dynamic   299  nve1.VNI6666, VxLAN 
                                             src: 1.1.1.1 dst: 10.10.20.1
   0   000C.2990.8ACD forward dynamic   245  GigabitEthernet2.EFP6666
csr1000v02#show nve peers 
Interface  Peer-IP          VNI        Peer state   
   nve1    10.10.20.1       6666       -         
   nve1    1.1.1.1          6666       -         



csr1000v02#show bridge-domain 6666
Bridge-domain 6666 (2 ports in all)
State: UP                    Mac learning: Enabled
Aging-Timer: 300 second(s)
    GigabitEthernet2 service instance 6666
    vni 6666
   AED MAC address    Policy  Tag       Age  Pseudoport
   0   000C.29B8.7ABF forward dynamic   300  GigabitEthernet2.EFP6666
   0   000C.2927.C9A1 forward dynamic   300  nve1.VNI6666, VxLAN 
                                             src: 2.2.2.2 dst: 10.10.20.1
   0   000C.2990.8ACD forward dynamic   174  nve1.VNI6666, VxLAN 
                                             src: 2.2.2.2 dst: 1.1.1.1
asav01# show nve 1 summary 
nve 1, source-interface "lan" is up
 Encapsulation: vxlan
 Number of configured static peer VTEPs: 0
 Number of discovered peer VTEPs: 2
 Number of VNIs attached to nve 1: 1
asav01# show arp vtep-mapping 
        vxvlan6666 192.168.200.20 000c.29b8.7abf 360 2.2.2.2
        vxvlan6666 192.168.200.10 000c.2990.8acd 2154 1.1.1.1
Krok 9

Konfigurujemy NAT na Cisco ASAv tak aby stacje mogły dostać się do Internetu i sprawdzamy dostęp do Neta.

NAT:

nat (vxvlan6666,out) source dynamic any interface

ACL’ka

access-list vxvlan6666_access_in extended permit ip any any

ze PC1 lub PC2 sprawdzamy czy możemy dostać się do Internetu

vxvlan01

 

Linki:

MultiCast na Cisco 

Cisco ASA VXLAN

Cisco CSR1000v VXVLAN

Wątek na CCIE.pl

Pasjonat komputerowy od zawsze oraz maniak w zakresie sieci, wirtualizacji oraz bezpieczeństwa IT. Kompetentny inżynier z dużym doświadczeniem w realizacji projektów informatycznych i telekomunikacyjnych. Wieloletni administrator IT, który utrzymuje systemy informatyczne dostosowując je do wymogów biznesowych z zapewnieniem dostępności 24/7/365.
Posts created 126

Related Posts

Begin typing your search term above and press enter to search. Press ESC to cancel.

Back To Top