Differences

This shows you the differences between two versions of the page.

Link to this comparison view

rl:labs:12:contents:02 [2024/01/04 02:24]
viorel.mocanu [02. [10p] VPC Networks]
rl:labs:12:contents:02 [2024/01/06 19:23] (current)
vlad_iulius.nastase [02. [20p] Configurare eBGP]
Line 1: Line 1:
-====== 02. [10pVPC Networks ​======+====== 02. [20pConfigurare eBGP ======
  
-După accesarea proiectului,​ proiectul va avea atașat un **VPC network** numit default, care are alocat subnet-urile ​implicite pentru fiecare regiune+Vom configura eBGP pe router-ul LOND. Vom exporta către IXP rețeaua noastră (''​%%X.0.0.0/​8%%''​) ​și vom importa tot ce primim de la IXP. IXP-ul este configurat astfel încât să exporte toate rutele primite de la AS-urile ​vecine. Pentru conectarea la IXP vom folosi rețeaua ''​%%180.22.0.0/​24%%''​.
  
-{{ :rl:​labs:​12:​contents:​vpc-network.png?700 |}}+Pentru a activa și configura procesul de BGP al router-ului vom folosi comanda de mai jos: 
 +<​code>​ 
 +LOND_router#​ configure terminal 
 +LOND_router(config)#​ router bgp <X> 
 +LOND_router(config-router)#​ 
 +</​code>​ 
 +unde ''​%%<​X>​%%''​ este numărul grupei/​AS-ului. Observăm schimbarea prompt-ului, sugerând modul de configurare actual.
  
-<note tip>Care era subrețeua folosită de Google Cloud pentru range-urile predefinite din fiecare regiune ? </​note>​+În general, avem opțiunea să configurăm un ''​%%router-id%%''​. Acest lucru poate influența criteriile ​de alegere a rutei în BGP. Pentru moment, nu e neapărat necesar, dar îl vom seta ca fiind IP-ul către IXP. Pe interfața ''​%%ixp_22%%''​ (către IXP) a router-ului ''​%%LOND%%''​ este deja configurată o adresă IP. Pentru a afla adresele IP de pe interfețe putem folosi comanda de mai jos:
  
-Avem nevoie de cel puțin un VPC custom pe care îl putem crea apăsând pe butonul **CREATE VPC NETWORK** aflat sub câmpul de căutare. +<​code>​ 
-În pagina de creare a unui nou VPC trebuie să completăm următoarele detalii: +LOND_router#​ show interface brief 
-  - Numele VPC-ului (doar caractere mici, cifre și cratimă sunt acceptate) și opțional o descriere ​student$X$-vpc-<​name>​ (student1-vpc-frontend) +Interface ​      ​Status ​ VRF             ​Addresses 
-  ​Numele unui subnet definit în interiorul acestui VPC (aceleași limitări ca mai sus la caracterele acceptate) ​student$X$-frontend (student1-frontend) +--------- ​      ------  ---             --------- 
-  ​Regiunea (este important să cream toate subnet-urile din acest laborator în aceeași regiune, preferabil **europe-west1**) +dns_<​X> ​        ​up ​     default ​        198.0.0.<X>/24 
-  ​- ​Range-ul de adrese IP din subnet ​10.$X$.0.0/​24 ​(unde $X$ e id-ul de student ) +ixp_22 ​         up      default ​        ​180.22.0.<​X>/​24 
-  - Regulile de firewall aplicate pe VPC (nu uitați să bifați regulile de permitere **SSH** cel puțin)Vom edita regulile mai târziu pentru fiecare VPC.+lo              up      default ​        <​X>​.151.0.1/24 
 +port_BERL ​      ​up ​     default ​        <X>​.0.2.2/​24 
 +port_PARI ​      ​up ​     default ​        <​X>​.0.1.1/24 
 +ssh             ​up ​     default ​        ​158.<​X>​.10.1/​16
  
 +LOND_router#​
 +</​code>​
 +<note tip>
 +Pentru a folosi comenzi de tipul ''​%%show%%''​ fără a părăsi modul de configurare actual, acestea pot fi prefixate cu ''​%%do%%''​.
 +<​code>​
 +LOND_router(config-router)#​ do show interface brief
 +Interface ​      ​Status ​ VRF             ​Addresses
 +--------- ​      ​------ ​ ---             ​---------
 +dns_<​X> ​        ​up ​     default ​        ​198.0.0.<​X>/​24
 +ixp_22 ​         up      default ​        ​180.22.0.<​X>/​24
 +lo              up      default ​        <​X>​.151.0.1/​24
 +port_BERL ​      ​up ​     default ​        <​X>​.0.2.2/​24
 +port_PARI ​      ​up ​     default ​        <​X>​.0.1.1/​24
 +ssh             ​up ​     default ​        ​158.<​X>​.10.1/​16
  
-{{ :rl:labs:12:contents:create-vpc-network.png?​500 ​|}}+LOND_router(config-router)#​ 
 +</​code>​ 
 +</​note>​ 
 + 
 +Pentru a seta ''​%%router-id%%''​-ul,​ vom folosi comanda ''​%%bgp router-id A.B.C.D%%'',​ astfel: 
 +<​code>​ 
 +LOND_router(config-router)#​ bgp router-id 180.22.0.<​X>​ 
 +LOND_router(config-router)#​ 
 +</​code>​ 
 + 
 +În continuare, va trebui să configurăm vecinul la care ne conectăm (IXP-ul). **Urmăriți [[https://​docs.frrouting.org/​en/​latest/​bgp.html#​clicmd-neighbor-PEER-remote-as-ASN|documentația comenzii]] și configurați IXP-ul ca peer**. 
 +<note tip> 
 +**Hint** 
 + 
 +IXP-ul este în AS-ul 22 și are adresa IP ''​%%180.22.0.22%%''​. 
 +</​note>​ 
 + 
 +În final, va trebui să configurăm rețeaua pe care vrem să o exportăm. **Urmăriți [[https://​docs.frrouting.org/​en/​latest/​bgp.html#​clicmd-network-A.B.C.D-M|documentația comenzii]] pentru a exporta rețeaua ''​%%<​X>​.0.0.0/​8%%''​**. 
 + 
 +Putem verifica starea procesului de BGP astfel: 
 +<​code>​ 
 +LOND_router(config-router)#​ do show bgp summary 
 + 
 +IPv4 Unicast Summary: 
 +BGP router identifier 180.22.0.1, local AS number 1 vrf-id 0 
 +BGP table version 1 
 +RIB entries 1, using 192 bytes of memory 
 +Peers 1, using 14 KiB of memory 
 + 
 +Neighbor ​       V         ​AS ​  ​MsgRcvd ​  ​MsgSent ​  ​TblVer ​ InQ OutQ  Up/Down State/​PfxRcd ​  ​PfxSnt 
 +180.22.0.22 ​    ​4 ​        ​22 ​        ​6 ​        ​5 ​       0    0    0 00:​02:​51 ​    ​(Policy) (Policy) 
 + 
 +Total number of neighbors 1 
 +LOND_router(config-router)# 
 +</​code>​ 
 +<note important>​ 
 +Putem observa în dreptul coloanelor ''​%%State/​PfxRcd%%''​ și ''​%%PxfSnt%%''​ textul ''​%%(Policy)%%''​Acest lucru înseamnă că nu exportăm și nu importăm rute datorită lipsei filtrelor. **Urmăriți [[https://​docs.frrouting.org/​en/​latest/​bgp.html#​clicmd-bgp-ebgp-requires-policy|documentația]] pentru a rezolva problema**. 
 + 
 +**Hint** 
 + 
 +Pentru a anula efectul unei comenzi o putem prefixa cu ''​%%no %%''​. 
 + 
 +Pentru a reporni procesul de BGP putem folosi următoarea comandă: 
 +<​code>​ 
 +LOND_router#​ clear bgp * 
 +LOND_router#​ 
 +</​code>​ 
 +</​note>​ 
 + 
 +Verificați iar starea procesului BGP. 
 +<​code>​ 
 +LOND_router#​ show bgp summary 
 + 
 +IPv4 Unicast Summary: 
 +BGP router identifier 180.22.0.1, local AS number 1 vrf-id 0 
 +BGP table version 2 
 +RIB entries 3, using 576 bytes of memory 
 +Peers 1, using 14 KiB of memory 
 + 
 +Neighbor ​       V         ​AS ​  ​MsgRcvd ​  ​MsgSent ​  ​TblVer ​ InQ OutQ  Up/Down State/​PfxRcd ​  ​PfxSnt 
 +180.22.0.22 ​    ​4 ​        ​22 ​       20        23        0    0    0 00:​01:​58 ​           1        2 
 + 
 +Total number of neighbors 1 
 +LOND_router#​ 
 +</​code>​ 
 +Verificați conectivitatea de pe router-ul ''​%%LOND%%''​ către un IP din AS 21 (este preconfigurat),​ sau către unul din IP-urile de pe router-ul ''​%%LOND%%''​ din AS-urile colegilor. 
 +<​code>​ 
 +LOND_router#​ ping 21.0.2.2 
 +PING 21.0.2.2 (21.0.2.2) 56(84) bytes of data. 
 +64 bytes from 21.0.2.2: icmp_seq=1 ttl=64 time=10.3 ms 
 +64 bytes from 21.0.2.2: icmp_seq=2 ttl=64 time=4.14 ms 
 +64 bytes from 21.0.2.2: icmp_seq=3 ttl=64 time=4.13 ms 
 +^C 
 +--- 21.0.2.2 ping statistics --- 
 +3 packets transmitted,​ 3 received, 0% packet loss, time 2003ms 
 +rtt min/​avg/​max/​mdev = 4.132/​6.202/​10.332/​2.920 ms 
 +LOND_router#​ 
 +</​code>​ 
 + 
 +Afișați tabela de rutare și observați noua intrare obținută prin BGP. 
 +<​code>​ 
 +LOND_router#​ show ip route 
 +Codes: K - kernel route, C - connected, S - static, R - RIP, 
 +       O - OSPF, I - IS-IS, B - BGP, E - EIGRP, N - NHRP, 
 +       T - Table, v - VNC, V - VNC-Direct, A - Babel, D - SHARP, 
 +       F - PBR, f - OpenFabric,​ 
 +       > - selected route, * - FIB route, q - queued, r - rejected, b - backup 
 + 
 +<​...>​ 
 +B>* 21.0.0.0/8 [20/0] via 180.22.0.21,​ ixp_22, weight 1, 00:05:57 
 +<​...>​ 
 +LOND_router#​ 
 +</​code>​ 
 + 
 +<​hidden>​ 
 +Pentru AS 2 
 +<​code>​ 
 +root@g2-proxy ~> ./goto.sh LOND router 
 +Warning: Permanently added '​158.2.10.1'​ (ECDSA) to the list of known hosts. 
 + 
 +Hello, this is FRRouting (version 7.5.1). 
 +Copyright 1996-2005 Kunihiro Ishiguro, et al. 
 + 
 +LOND_router#​ configure terminal 
 +LOND_router(config)#​ router bgp 2 
 +LOND_router(config-router)#​ bgp router-id 180.22.0.2 
 +LOND_router(config-router)#​ no bgp ebgp-requires-policy 
 +LOND_router(config-router)#​ neighbor 180.22.0.22 remote-as 22 
 +LOND_router(config-router)#​ address-family ipv4 unicast 
 +LOND_router(config-router-af)#​ network 2.0.0.0/8 
 +LOND_router(config-router-af)#​ neighbor 180.22.0.22 activate 
 +LOND_router(config-router-af)#​ exit-address-family 
 +LOND_router(config-router)#​ exit 
 +LOND_router(config)#​ exit 
 +LOND_router#​ show bgp sum 
 + 
 +IPv4 Unicast Summary: 
 +BGP router identifier 180.22.0.2, local AS number 2 vrf-id 0 
 +BGP table version 2 
 +RIB entries 3, using 576 bytes of memory 
 +Peers 1, using 14 KiB of memory 
 + 
 +Neighbor ​       V         ​AS ​  ​MsgRcvd ​  ​MsgSent ​  ​TblVer ​ InQ OutQ  Up/Down State/​PfxRcd ​  ​PfxSnt 
 +180.22.0.22 ​    ​4 ​        ​22 ​        ​5 ​        ​5 ​       0    0    0 00:​00:​33 ​           2        2 
 + 
 +Total number of neighbors 1 
 +LOND_router#​ 
 +</​code>​ 
 +Comanda ''​%%neighbor 180.22.0.2 activate%%''​ e opțională by default dacă folosim ''​%%address-family ipv4 unicast%%''​. 
 + 
 +**În textul laboratorului trebuie să dea ''​%%no bgp ebgp-requires-policy%%''​ după ce s-a stabilit conexiunea. După comanda asta trebuie restabilită conexiunea cu ''​%%clear bgp *%%''​ în afara modului de config.** 
 + 
 +</​hidden>​
rl/labs/12/contents/02.1704327893.txt.gz · Last modified: 2024/01/04 02:24 by viorel.mocanu
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0