Differences

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

Link to this comparison view

rl:labs:12:contents:02 [2014/01/09 16:47]
razvan.deaconescu [02. [15p] Configurare server de PPPoE]
rl:labs:12:contents:02 [2024/01/06 19:23] (current)
vlad_iulius.nastase [02. [20p] Configurare eBGP]
Line 1: Line 1:
-==== 02. [15p] Configurare ​server de PPPoE ====+====== 02. [20p] Configurare ​eBGP ======
  
-Pentru a putea autentifica stațiile ''​red'',​ ''​green''​ și ''​blue'' ​vom folosi ​stația ''​host'' ​pe post de server de autentificare. Pentru ​acest lucru vom instala un server ​de PPPoE:<​code ​bash+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%%''​. 
-root@host:~apt-get update + 
-root@host:~apt-get install pppoe+Pentru ​a activa și configura procesul de BGP al router-ului ​vom folosi comanda ​de mai jos: 
 +<​code>​ 
 +LOND_routerconfigure terminal 
 +LOND_router(config)router bgp <X> 
 +LOND_router(config-router)#
 </​code>​ </​code>​
 +unde ''​%%<​X>​%%''​ este numărul grupei/​AS-ului. Observăm schimbarea prompt-ului,​ sugerând modul de configurare actual.
  
-<note important>​ +Î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: 
-Încărcați modulul ​de kernel ​''​pppoe''​ pe stația ''​host''​:<​code ​bash+ 
-root@host:~modprobe pppoe+<​code>​ 
 +LOND_router#​ 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 
 + 
 +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 
 + 
 +LOND_router(config-router)#
 </​code>​ </​code>​
-În general, acest pas nu este necesar pentru că este realizat automat. În situația noastră însă, containerele nu pot încărca automat modulul pentru că nu au permisiuni de alterare a nucleului. De aceea încărcăm modulul de kernel în sistemul fizic și va fi ulterior prezent și în containere. 
 </​note>​ </​note>​
  
-Configurarea serverului de PPPoE presupuneminimaldoi pași+Pentru a seta ''​%%router-id%%''​-ulvom folosi comanda ''​%%bgp router-id A.B.C.D%%''​astfel
-  - configurarea credențialelor pentru fiecare client PPPoE (username și parolă+<​code>​ 
-  configurarea spațiului de adrese IP disponibile clienților PPPoE +LOND_router(config-router)# bgp router-id 180.22.0.<​X>​ 
-Un client PPPoE este o stație ce solicită o adresă IP pentru conectare.+LOND_router(config-router)# 
 +</​code>​
  
-În cazul PPP(oE) există două protocoale de autentificare:​ CHAP (//Challenge-Handshake Authentication Protocol// șPAP (//Password Authentication Protocol//)Întrucât CHAP este considerat mai sigur, vom folosi CHAP.+În continuare, va trebui să configurăm vecinul la care ne conectăm ​(IXP-ul). **Urmăriț[[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**
  
-Configurarea credențialelor CHAP pentru clienții PPPoE este realizată ​în fișierul ''​/​etc/​ppp/​chap-secrets''​. ​Vom configura parole și nume de utilizator simple, cu uz didacticconținând chiar numele stațiilorÎntr-un scenariu real, parolele vor fi complexe ​pentru a preveni ghicirea lor. Edităm fișierul ​''/​etc/​ppp/​chap-secrets'' ​cu parolele pentru conturile celor trei stații de tip container; acesta va avea în final forma de mai jos:<​code ​bash+IXP-ul ​este în AS-ul 22 și are adresa IP ''​%%180.22.0.22%%''​. 
-root@host:~cat /​etc/​ppp/​chap-secrets +</​note>​ 
-# Secrets for authentication ​using CHAP + 
-# client ​       server ​ secret ​                 IP addresses +În finalva 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%%''​**. 
-red             ​* ​      ​red ​                    * + 
-green           ​* ​      ​green ​                  * +Putem verifica starea procesului ​de BGP astfel: 
-blue            *       ​blue ​                   *+<​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>​ </​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**
  
-Cele patru coloane din cadrul fișierului ''/​etc/​ppp/​chap-secrets''​ reprezintă:​ +Pentru ​anula efectul unei comenzi o putem prefixa cu ''​%%no %%''​.
-  * prima coloană (''​client''​) este username-ul clientului (''​red'',​ ''​green'',​ ''​blue''​);​ +
-  * doua coloană (''​server''​) se referă la serverul PPP ce va fi folosi autentificarea (în cazul nostru am folosit ''​*'',​ adică orice server, implicit și cel de PPPoE); +
-  * a treia coloană (''​secret''​) este parola (''​red'',​ ''​green'',​ ''​blue''​);​ +
-  * a patra coloană (''​IP addresses''​) se referă la adresele IP ce pot folosi aceste credențiale și este folosită în general în conexiuni VPN peste Internet (am folosit ​''​*'' ​întrucât în cazul PPPoE nu avem adresă IP sursă; este folosit direct protocolul Ethernet).+
  
-Pentru ​fiecare conexiune PPPoE dorim să alocăm automat adresele IP clienților. Serverul ​de PPPoE poate face acest lucru implicit fără a mai fi nevoie instalarea unui server de DHCP. Trebuie să definim spațiul de adrese IP în fișierul ''/​etc/​ppp/​ipaddress_pool''​ la fel ca mai jos:<​code ​bash+Pentru ​a reporni procesul ​de BGP putem folosi următoarea comandă: 
-root@host:~cat /​etc/​ppp/​ipaddress_pool +<​code>​ 
-192.168.0.2-5+LOND_routerclear bgp * 
 +LOND_router#​
 </​code>​ </​code>​
-Modul în care definim spațiul de adrese IP esteprima adresă IP alocabilă urmată de caracterul ''​-''​ și limita superioară a ultimului octet.+</​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
  
-După configurarea credențialelor de autentificare șa spațiului ​de adresevom putea porni serverul ​de PPPoE și vom verifica pornirea sa:<​code ​bash+Total number of neighbors 1 
-root@host:~pppoe-server -C isp -L 192.168.0.1 -p /​etc/​ppp/​ipaddress_pool -I br0 -O /​etc/​ppp/​options +LOND_router#​ 
-root@host:~# ps -ef | grep pppoe-server +</​code>​ 
-root     ​10706 ​    ​1 ​ 0 Dec29 ?        ​00:00:00 pppoe-server ​-C isp -L 192.168.0.-/etc/ppp/ipaddress_pool -I br0 -O /etc/ppp/options+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_routerping 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=ttl=64 time=10.3 ms 
 +64 bytes from 21.0.2.2icmp_seq=2 ttl=64 time=4.14 ms 
 +64 bytes from 21.0.2.2icmp_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>​ </​code>​
-Semnificația parametrilor este după cum urmează: 
-   * ''​-C isp''​ - numele serverului PPPoE; 
-   * ''​-L 192.168.0.1''​ - adresa IP a serverului de PPPoE (cu aceasta adresă vor comunica stațiile de tip client); 
-   * ''​-p /​etc/​ppp/​ipaddress_pool''​ - fișierul în care este specificat spațiul de adrese IP ce vor fi furnizate clienților;​ 
-   * ''​-I br0''​ - interfața pe care ascultă (în acest caz este interfața de tip bridge ''​br0'',​ interfață la care sunt conectate toate containerele);​ 
-   * ''​-O /​etc/​ppp/​options''​ - opțiunile serverului PPPoE; le vom folosi pe cele implicite. 
  
-<note important>​ +Afișați tabela de rutare și observați noua intrare obținută prin BGP. 
-Dacă, pe parcursul laboratorului,​ aveți probleme la configurarea PPPoE, este posibil să fie nevoie să reporniți serverul:<​code ​bash+<​code>​ 
-root@host:~pkill -f pppoe-server +LOND_routershow ip route 
-root@host:​~#​ pppoe-server ​-C isp -L 192.168.0.1 -p /etc/ppp/​ipaddress_pool -I br0 -O /​etc/​ppp/​options+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>​ </​code>​
-</note>+ 
 +<​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.1389278821.txt.gz · Last modified: 2014/01/09 16:47 by razvan.deaconescu
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