Differences

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

Link to this comparison view

rl:labs:08:contents:09 [2020/12/01 16:03]
iulia.florea removed
rl:labs:08:contents:09 [2023/11/05 12:57] (current)
vlad_iulius.nastase
Line 1: Line 1:
-==== 9. [10p] Permitere trafic SSH ====+==== 09. [10p] Configurare persistentă rutare și NAT ====
  
-În acest moment, traficul de la stația ''​red'' ​către celelalte stații din rețea este blocat.+Configurările realizate până în acest moment ​sunt temporare. La repornirea ​stației ''​host'' ​regulile de NAT se pierd. Dorim să configurăm în mod persistent rutarea și regulile NAT.
  
-Dorim să permitem traficul SSH **de la** stația ''​red'' ​**către** stația ​''​green''​. Adăugațo regulă corespunzătoare pe stația ''​host''​.+Pentru a configura în mod persistent rutarea pe stația ''​host''​, edităm fișierul ​''​/​etc/​sysctl.conf'' ​șdecomentăm linia<​code>​ 
 +net.ipv4.ip_forward=1 
 +</​code>​ Astfel la fiecarea pornire a sistemului, rutarea va fi activată.
  
-<hidden+<note important
-<solution+Rutarea nu se va activa în mod automat după ce decomentați linia din fișier. Trebuie să resetați sistemul sau să rulați comanda<code bash
-<code bash> +sysctl -p 
-root@host:​~#​ iptables -A FORWARD -s red -d green -p tcp --dport ssh -j ACCEPT+</​code>​ pentru a aplica modificările din fișierul de configurare ''/​etc/​sysctl.conf''​. 
 +</​note>​ 
 + 
 +Pentru a salva toate regulile ''​iptables''​ introduse în sistem se poate folosi comanda ''​iptables-save''​. În mod implicit aceste reguli sunt afișate pe consolă. Noi le vom salva în ''/​etc/​iptables-rules''​ folosind comanda:<code bash> 
 +root@host:​~#​ iptables-save > /​etc/​iptables-rules
 </​code>​ </​code>​
-</​solution>​ 
-</​hidden>​ 
  
-După ce ați adăugat regula, încercați realizarea unei conexiuni SSH de la stația ​''​red''​ la stația ''​green''​. ​Observați că nu se realizează conexiunea. +Regulile pot fi restaurate folosind comanda ​''​iptables-restore < /​etc/​iptables-rules''​. ​Așadar trebuie să configurăm sistemul să execute această comanda la pornireModul cel mai uzual pentru a face acest lucru este adăugarea acestei comenzi în fișierul de configurare al interfeței:​<code bash> 
- +root@host:~# cat /​etc/​network/​interfaces 
-<​hidden>​ +[...] 
-<​solution>​ +# The primary network interface 
-<code bash> +auto eth0 
-root@red:~# ssh green +iface eth0 inet dhcp 
-^C+        up iptables-restore < /​etc/​iptables-rules
 </​code>​ </​code>​
-</​solution>​ 
-</​hidden>​ 
  
-Afișați lista de reguli ''​iptables''​ de pe stația ''​host''​. De ce nu a reușit conexiunea? Țineți cont de ordinea regulilor afișate; sunt parcurse secvențial.+După ce ați făcut toate configurările,​ reporniți ​stația ''​host''​
  
-<​hidden>​ 
-<​solution>​ 
 <code bash> <code bash>
-root@host:​~#​ iptables ​-L FORWARD -n -v +Dashboard ​-> Drop Down in dreptul masinii virtuale ​-> Soft Reboot Instance
-root@host:​~#​ iptables -L FORWARD -n -v +
-Chain FORWARD (policy ACCEPT 0 packets, 0 bytes) +
- pkts bytes target ​    prot opt in     out     ​source ​              ​destination ​         +
-    6   360 REJECT ​    ​all ​ --  *      *       ​192.168.1.2 ​         0.0.0.0/​0 ​           reject-with icmp-port-unreachable +
-    0     0 ACCEPT ​    ​tcp ​ - ​* ​     *       ​192.168.1.2 ​         192.168.2.2 ​         tcp dpt:22+
 </​code>​ </​code>​
-Regulile sunt parcurse secvențial. Conform primei reguli, tot traficul transmis de stația ''​red''​ este blocat. A doua regulă nu mai este parcursă. Trebuie să mutăm a doua regulă pe prima poziție. 
-</​solution>​ 
-</​hidden>​ 
  
-Pentru rezolvarea problemei ștergeți regula ''​iptables''​ introdusă anterior și **inserați** regula pe stația ''​host''​. Pentru inserare folosiți opțiunea ''​-I'' ​ a comenzii ''​iptables''​. Verificați că acum conexiunea SSH între ''​red''​ și ''​green''​ va fi realizată. 
  
-<note hint> +În urma repornirii stației ''​host''​, va trebui sa rerulam scripturile de pregatire ​infrastructurii pentru ​recrea containerele. Vom vedea aplicată rutarea ​și regulile de NAT(in cazul in care rutarea nu este activata, inseamna ca a fost suprascrisa de catre scripturile de pregatire a infrastructurii si va trebui s-o activati din nou)<​code bash> 
-Pentru a șterge o regulă puteți folosi opțiunea ​''​-D''​ așcum ați făcut și la [[:rl:labs:08:contents:04|exercițiul 4]].+root@host:~# sysctl net.ipv4.ip_forward 
 +net.ipv4.ip_forward = 1 
 +root@host:~# iptables -t nat -L -n -v 
 +Chain PREROUTING (policy ACCEPT 30 packets, 5694 bytes) 
 + pkts bytes target ​    prot opt in     ​out ​    ​source ​              ​destination ​         
 +    0     0 DNAT       ​tcp ​ --  eth0   ​* ​      ​0.0.0.0/​0 ​           0.0.0.0/​0 ​           tcp dpt:10022 to:192.168.1.2:​22 
 +    0     0 DNAT       ​tcp ​ --  eth0   ​* ​      ​0.0.0.0/​0 ​           0.0.0.0/​0 ​           tcp dpt:20022 to:​192.168.2.2:​22 
 +    0     0 DNAT       ​tcp ​ --  eth0   ​* ​      ​0.0.0.0/​0 ​           0.0.0.0/​0 ​           tcp dpt:30022 to:​192.168.3.2:​22 
 +    0     0 DNAT       ​tcp ​ --  eth0   ​* ​      ​0.0.0.0/​0 ​           0.0.0.0/​0 ​           tcp dpt:10023 to:​192.168.1.2:​23 
 +    0     0 DNAT       ​tcp ​ --  eth0   ​* ​      ​0.0.0.0/​0 ​           0.0.0.0/​0 ​           tcp dpt:20023 to:​192.168.2.2:​23 
 +    0     0 DNAT       ​tcp ​ --  eth0   ​* ​      ​0.0.0.0/​0 ​           0.0.0.0/​0 ​           tcp dpt:30023 to:​192.168.3.2:​23
  
-Pentru a insera o regulă folosiți opțiunea ''​-I''​ urmată de numele lanțului (''​INPUT'',​ ''​OUTPUT''​ sau ''​FORWARD''​),​ urmată de indexul poziției unde doriți plasată regulă ​(1, 2, 3, ...și apoi urmată de specificarea regulii. +Chain INPUT (policy ACCEPT ​packets534 bytes
-</​note>​+ pkts bytes target ​    prot opt in     ​out ​    ​source ​              ​destination ​        
  
-<​hidden>​ +Chain OUTPUT (policy ​ACCEPT ​16 packets, 958 bytes) 
-<​solution>​ + pkts bytes target ​    prot opt in     ​out ​    ​source ​              ​destination ​        
-<code bash> +
-root@host:​~#​ iptables -D FORWARD -s red -d green -p tcp --dport ssh -j ACCEPT +
-root@host:​~#​ iptables -I FORWARD -s red -d green -p tcp --dport ssh -j ACCEPT+
  
-root@host:​~#​ iptables -L FORWARD -n -v +Chain POSTROUTING ​(policy ACCEPT ​15 packets, ​918 bytes)
-Chain FORWARD ​(policy ACCEPT ​packets, ​bytes)+
  pkts bytes target ​    prot opt in     ​out ​    ​source ​              ​destination ​          pkts bytes target ​    prot opt in     ​out ​    ​source ​              ​destination ​        
-    ​0     0 ACCEPT ​    ​tcp ​ --  *      *       ​192.168.1.2          192.168.2.2 ​         tcp dpt:22 +    1    ​40 MASQUERADE  ​all  --  *      ​eth0    ​0.0.0.0/​0 ​           ​0.0.0.0/0
-    6   360 REJECT ​    all  --  *      ​*       ​192.168.1.2 ​         ​0.0.0.0/​0 ​           ​reject-with icmp-port-unreachable ​    +
- +
-root@red:~# ssh -l student green +
-student@green'​s password:  +
-Welcome to Ubuntu 12.04.3 LTS (GNU/Linux 3.2.0-53-generic-pae i686) +
- +
- * Documentation: ​ https://​help.ubuntu.com/​ +
-Last login: Thu Nov 14 14:18:53 2013 from 192.168.1.2 +
-student@green:​~$ logout +
-Connection to green closed.+
 </​code>​ </​code>​
-</​solution>​ 
-</​hidden>​ 
rl/labs/08/contents/09.1606831421.txt.gz · Last modified: 2020/12/01 16:03 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