Differences

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

Link to this comparison view

rl:labs:06:contents:07 [2021/01/19 14:23]
iulia.florea
rl:labs:06:contents:07 [2023/11/15 11:27] (current)
laura.ruse [07. [10p] Depanare problemă de conectivitate]
Line 1: Line 1:
-==== 07. [30pInstanțe EC2 ====+==== 07. [10pDepanare problemă de conectivitate ​====
  
-În EC2 Dashboard (in sus avem Services->​ Compute -> EC2) , alegem secțiunea //​Instances//​ și opțiunea **Launch Instance**. +Ne propunem să depanăm ​problemă de conectivitate
- +Pentru a "​genera"​ problema rulați scriptul ​de pregătire cu noul argument ​''​ex7'':​<code host
-Alegem ​imagine de mașină virtuală (AMI - Amazon Machine Image) din secțiunea **Choose AMI**. Folosiți imaginea **RL_AWS2**, ​de la My AMIs (meniul din stânga). +root@host:​~#​ start_lab ip ex7 
- +</code>
-Pentru ​**Instance Type** alegem astfel: +
-  * Pentru instanțFrontend - t3a.xlarge ([[https://​docs.aws.amazon.com/​AWSEC2/​latest/​UserGuide/​using-eni.html|avem nevoie de 4 interfețe de rețea]]) +
-  * Pentru Red, Green șBlue - t2.micro (permite maxim 2 interfețe ​de rețea, dar noi oricum folosim doar una) +
- +
-Prima dată creăm cele 3 instanțe Red, Green, Blue. Vom incepe ​cu instanta Red. În secțiunea **Configure Instance Details**:​ +
-  * Alegem VPC-ul //​student<​X>​_//​VPC +
-  * Alegem subnet-ul corespunzător stației Red +
- +
-Selectăm secțiunea //Configure Security Group// și alegem astfel: +
-  * pentru prima mașină creată, alegem //Create a new security group//, punem un nume descriptiv (''​student<​X>​_sec_public''​) și modificăm a.î. regula de Inbound la SSH să fie permisă doar pentru IP-urile din Politehnică (''​141.85.0.0/​16''​). Regulile de whitelist după IP sunt o practică recomandată pentru protejarea serverelor împotriva atacatorilor externe. +
-  * Pentru celelalte instanțe alegem //Select an existing security group// și selectăm grupul creat anterior. +
- +
-{{ :rl:​labs:​06:​aws_security_group_whitelist.png?​700 |}} +
- +
-Ne vom ocupa mai târziu de restul de reguli. +
- +
-Apăsăm **Review and Launch -Launch**. La acest nivel nu ne interesează setările pentru Storage și Tags. +
- +
-Avem nevoie de o pereche de chei pentru a ne putea conecta la instanța pe care o creăm (alegem **Create a new key pair** și îi dăm numele ​//​student<​X>_//RL_lab. **Descărcați cheia privată**). +
- +
-Îi dăm un nume instanței nou create (am început cu Red). Continuăm cu Green și Blue într-un mod similar.+
  
-<​note>​ +<​note ​tip
-Pentru ​următoarele instanțe alegem să folosim Security Group-ul si perechea ​de chei pe care le-am creat anterior  ​+Pentru ​depanare, primul pas recomandat este afișarea tabelei ​de rutare. Tabela de rutare vă va ajuta pentru depanare în cazul în care anumite intrări sunt absente sau configurate greșit.
 </​note>​ </​note>​
  
-Din Meniul din stânga, secțiunea //​Network&​Security//,​ alegem **Network interfaces**Ne dorim ca instanța Frontend să aibă câte interfață și în rețelele cu Red, Green, Blue+Verificați conectivitatea între toate stațiile din topologieObservați că nu există conectivitate între nici stație și stația ''​blue''​. Rezolvați problemele de conectivitate la stația ''​blue''​ de pe stația ''​host''​.
  
-Mai întâi denumim interfețele de rețea create o dată cu instanțele pentru a fi mai ușor de lucrat cu ele. 
- 
-Alegem **Create Network Interface**. Adăugăm descrieri sugestive și alegem subnet-ul potrivit pentru fiecare interfață nou creată. De asemenea, alegem security group-ul creat anterior. Obținem: 
- 
-{{ :​rl:​labs:​06:​contents:​network_interfaces.png?​700 |}} 
- 
-Ne întoarcem în secțiunea Instances. Instanței Frontend îi adăugăm cele trei interfețe de rețea create mai devreme (**Actions -> Networking -> Attach Network Interface**). 
- 
-<note warning>​Nu uitați să denumiți fiecare resursă nou-creată folosind prefixul student<​X>​_,​ unde X este ID-ul username-ului vostru.</​note>​ 
 <note important>​ <note important>​
-Fiecare instanță va avea atașată automat o interfață de rețea implicită (//Primary network interface//​) cu subnet-ul pe care l-ați ales din wizard. +Identificați și soluționați problemele.
- +
-Din păcate, AWS nu tag-uiește numele acestei interfețe cu cel al instanței, așa că **va trebui să căutațși să dați manual numele acestei interfețe** pentru a nu le încurca între voi imediat după ce creați o instanță. Puteți s-o găsiți ușor apăsând click pe eth0 din descrierea instanței (la Instances, click pe resursă șapar jos aceste detalii).+
 </​note>​ </​note>​
  
-Pentru a ne putea conecta la stația Frontendtrebuie să îi alocăm o adresă IP publică statică  ​(așa cum am învățat la începutul laboratorului- vezi exercițiul 2Asociem adresa IP publică statică interfeței de rețea corespunzătoare subnet-ului public.+<​hidden>​ 
 +<​solution>​ 
 +O datăavem aceiași problemă ca la ex6 (interfațveth-blue are configurată adresa ''​15.15.15.0/​32''​). Corectăm în felul următor: 
 +<​code>​ 
 +root@host:​~#​ip address delete 15.15.15.0/​32 dev veth-blue 
 +root@host:​~#​ip address add 15.15.15.1/24 dev veth-blue 
 +</​code>​
  
-<note+Interfața ''​blue-eth0''​ a stației ''​blue''​ este dezactivată. Acest lucru se poate vedea prin consultarea tabelei de rutare:<code bash
-Subnet-ul public are conexiune la Internet direct ​prin intermediul Internet Gateway-ului. +root@blue:​~#​ ip route show 
-</note>+root@blue:​~#​  
 +</​code>​ 
 +și prin urmărirea configurației de nivel 2:<code bash> 
 +root@blue:​~#​ ip link show dev blue-eth0 
 +55: blue-eth0: <​BROADCAST,​MULTICAST>​ mtu 1500 qdisc pfifo_fast state DOWN qlen 1000 
 +    link/ether 00:​16:​3e:​32:​0f:​ae brd ff:​ff:​ff:​ff:​ff:​ff 
 +</code>
  
-Ne conectăm prin ssh la instanța Frontend ​folosind comanda ​(în cazul Linux):+Reactivarea interfeței ''​blue-eth0'' ​stației ''​blue''​ se realizează ​folosind comanda:<​code>​ 
 +root@blue:​~#​ ip link set dev blue-eth0 up 
 +root@blue:​~#​ ip link show dev blue-eth0 
 +55: blue-eth0: <​BROADCAST,​MULTICAST,​UP,​LOWER_UP>​ mtu 1500 qdisc pfifo_fast state UP qlen 1000 
 +    link/ether 00:​16:​3e:​32:​0f:​ae brd ff:​ff:​ff:​ff:​ff:​ff 
 +</​code>​
  
-<​code ​bash+Observăm că adresa IP are masca ''/​32''​. Corectăm:​ 
-ssh -i [private_key] ec2-user@[ip_public]+<​code>​ 
 +root@blue:​~#​ ip address delete 15.15.15.2/​32 dev blue-eth0 
 +root@blue:~# ip address add 15.15.15.2/​24 dev blue-eth0
 </​code>​ </​code>​
-<note warning> 
-Schimbați permisiunile asupra cheii private (''​chmod 700 RL_lab.pem''​) 
-</​note>​ 
  
-Pe Windows, dacă folosiți Putty, ​va trebui să convertiți cheia SSH într-un format acceptat urmând [[https://​docs.aws.amazon.com/​AWSEC2/​latest/​UserGuide/​putty.html|ghidul de aici]].+În urma acestei comenzi stația ''​blue'' ​va fi conectată la stația ''​host''​.
  
-Pentru a ne putea conecta prin ssh de pe Frontend ​și la celelalte instanțe, va trebui să copiem cheia privată ​de pe stația locală pe Frontend: +În continuare nu există conectivitate între stația ''​blue'' ​și stațiile ''​red''​ și ''​green''​. Afișarea tabelei ​de rutarea ne indică absența //default gateway//. Configurăm //default gateway// cu ajutorul comenzii:<​code>​ 
-<​code ​bash+root@blue:~# ip route add default via 15.15.15.1 
-# pe Linux+root@blue:~# ip route show 
-scp -i [private_key] [private_key] ec2-user@[ip_public]:~+default via 15.15.15.1 dev blue-eth0  
 +15.15.15.0/​24 dev blue-eth0 ​ proto kernel ​ scope link  src 15.15.15.2
 </​code>​ </​code>​
-(pe Windows, puteți folosi WinSCP) 
- 
-Verificați conectivitatea la Internet pe cele 4 instanțe (Frontend, Red, Green, Blue). ​ 
- 
- 
- 
-<note important>​Pentru ca tinem la feedback, va rugam sa completati acest [[https://​docs.google.com/​document/​d/​1aFM25FqS8QuWku-EILhXciiW91q_l7zRy9LClT9rrcM/​edit?​usp=sharing|formular]] de feedback anonim</​note>​ 
- 
  
 +În acest moment există conectivitate completă la nivelul topologiei.
 +</​solution>​
 +</​hidden>​
rl/labs/06/contents/07.1611059018.txt.gz · Last modified: 2021/01/19 14:23 by iulia.florea
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