Differences

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

Link to this comparison view

rl:labs:08:contents:07 [2013/11/20 21:50]
razvan.deaconescu
rl:labs:08:contents:07 [2023/11/05 12:56] (current)
vlad_iulius.nastase
Line 1: Line 1:
-==== 7. [10p] Permitere trafic SSH ====+==== 07. [10p] Format de pachete la port forwarding ​====
  
-În acest moment, traficul ​de la stația ''​red'' ​către celelalte stații din rețea este blocat.+La exercițiul [[rl:​labs:​09:​contents:​03|]] am observat cum se modifică adresa IP sursă și portul sursă în cazul translatării ​de adrese. La port forwarding vom observa cum se modifică adresa IP destinație (de aici și numele DNAT: ''​Destination NAT''​).
  
-Dorim să permitem ​traficul SSH **de la** stația ''​red'' ​**către** ​stația ''​green''​. ​Adăugați o regulă corespunzătoare ​pe stația ''​host''​.+Vom captura ​traficul SSH inițiat din exterior către ​stația ''​red''​, prin intermediul portului ''​10022''​ al stației ''​host''​. ​Este vorba de traficul înainte de //port forwarding//​. Pentru aceasta, ​pe stația ''​host'' ​vom folosi comanda<​code bash> 
 +root@host:​~#​ tcpdump -n -i eth0 tcp dst port 10022 -w /​home/​student/​portfwd_eth0_output.pcap 
 +</​code>​
  
-<​solution ​-hidden>​ +Pe un alt terminal, tot pe stația ''​host''​ capturăm traficul **după** //port forwarding//,​ pe interfața ''​veth-red''​ către portul SSH (''​22''​) al stației red. Pe stația ''​host''​ folosim comanda<code bash> 
-<code bash> +root@host:​~# ​tcpdump ​-n -i veth-red tcp dst port 22 -w /​home/​student/​portfwd_veth-red_output.pcap
-root@host:​~# ​iptables ​-A FORWARD ​-red -d green -p tcp --dport ssh -j ACCEPT+
 </​code>​ </​code>​
-</​solution>​ 
  
-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. +Pentru ​genera trafic, de pe ''​fep.grid.pub.ro''​ realizăm o conexiune SSH la stația ''​host'' ​pe portul ''​10022'',​ conexiune ce va fi redirectată ​la portul ''​22''​ al stației ''​red''​:<code bash> 
- +mihai.carabas@fep:​~$ ssh -l student $ADRESA_IP_VM -p 10022 
-<​solution -hidden>​ +root@host.local'​s password:  
-<code bash> +[...] 
-root@red:​~# ​ssh green +root@red:​~# ​
-^C+
 </​code>​ </​code>​
-</​solution>​ 
  
-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.+<note important>​ 
 +Pentru ​vizualiza capturile salvate în cele două fișiere copiați-le la voi local (pe calculatorul vostru) folosind ​''​scp'' ​și deschideți-le cu utilitarul ​''​wireshark''​.
  
-<solution -hidden>+<spoiler (click pentru expandare) Copiere fișiere din VM pe local>
 <code bash> <code bash>
-root@host:​~#​ iptables -L FORWARD -n -v 
-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>​ 
-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>​ 
  
-Pentru rezolvarea problemei ștergețregula ''​iptables''​ introdusă anterior ​și **inserați** regula pe stația ''​host''​Pentru inserare folosițopțiunea ''​-I'' ​ a comenzii ''​iptables''​Verificați că acum conexiunea SSH între ''​red''​ și ''​green''​ va fi realizată.+$USER_FEP@fep:​~$ scp -~/​.ssh/​openstack.key student@$ADRESA_IP_VM:​portfwd_eth0_output.pcap ./   # Dacă fișierul pf_eth0_output.pcap se află în directorul /​home/​student/​ 
 +$USER_FEP@fep:​~$ scp -~/​.ssh/​openstack.key student@$ADRESA_IP_VM:​portfwd_veth-red_output.pcap ./   # Dacă fișierul pf_veth-red_output.pcap se află în directorul /​home/​student/​
  
-<​solution ​-hidden>​ +student@lab-EG207-EG208:~$ scp $USER_FEP@fep.grid.pub.ro:portfwd_eth0_output.pcap ./  ​Dacă fișierul portfwd_eth0_output.pcap se află în home-ul utilizatorului de pe fep. 
-<code bash> +student@lab-EG207-EG208:~$ scp $USER_FEP@fep.grid.pub.ro:portfwd_veth-red_output.pcap ./  ​Dacă fișierul portfwd_veth-red_output.pcap se află în home-ul utilizatorului de pe fep.
-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 +</​code>​ 
-Chain FORWARD (policy ACCEPT 0 packets, 0 bytes) +</​spoiler> ​ 
- pkts bytes target ​    prot opt in     ​out ​    ​source ​              ​destination ​         +</note>
-    0     0 ACCEPT ​    ​tcp ​ --  *      *       ​192.168.1.2 ​         192.168.2.2 ​         tcp dpt:22 +
-    ​6 ​  360 REJECT ​    ​all ​ --  *      *       ​192.168.1.2 ​         0.0.0.0/0            reject-with icmp-port-unreachable ​   ​+
  
-root@red:~# ssh -l student green +<​note>​ 
-student@green's password:  +Exemplu instalare și pornire ''​Wireshark'​' (pe sisteme Debian): 
-Welcome to Ubuntu 12.04.3 LTS (GNU/Linux 3.2.0-53-generic-pae i686+<code bash> 
- +student@mjolnir:~$ apt-get install wireshark 
- * Documentation ​https://​help.ubuntu.com/​ +student@mjolnir:~$ wireshark portfwd_eth0_output.pcap & 
-Last loginThu Nov 14 14:18:53 2013 from 192.168.1.2 +student@mjolnir:~$ wireshark portfwd_veth-red_output.pcap &
-student@green:~$ logout +
-Connection to green closed.+
 </​code>​ </​code>​
-</solution>+</note> 
 + 
 +În capturile realizate de comenzile de mai sus, observăm cum se translatează adresa IP și portul destinație din perechea ''<​$ADRESA_IP_VM,​ 10022>''​ în perechea ''<​192.168.1.2,​ 22>''​.
rl/labs/08/contents/07.1384977056.txt.gz · Last modified: 2013/11/20 21:50 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