Differences

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

Link to this comparison view

rl:labs:09:contents:02 [2013/11/17 13:05]
mihai.carabas [02. Formatul pachetelor după translatare]
rl:labs:09:contents:02 [2023/11/05 13:06] (current)
vlad_iulius.nastase
Line 1: Line 1:
-==== 02. Formatul pachetelor după translatare ​====+==== 02. [10p] Port forwarding pentru accesare serviciu web ====
  
-Dorim să observăm cum arată antetul IP al pachetelor ce sunt generate ​de stațiile ''​red''​''​green'' ​și ''​blue'' ​și au ca destinație o rețea din Internet. Pentru acest lucru vom folosi utilitarul ​de captură ​''​tcpdump''​.+Pe stația ''​red''​ este instalat un server de HTTP pe care dorim să îl accesăm de pe stația ''​fep.grid.pub.ro''​. Pentru acest lucru trebuie trebuie să redirectați portul ​''​8080'' ​de pe stația ​''​host''​ spre portul ''​80''​ de pe stația ​''​red'' ​folosind DNAT (vezi [[rl:​labs:​08:​contents:​05|]]).
  
-Intrați pe stația ​''​red''​ și porniți comanda ​''​ping''​ către ''​8.8.8.8.''​:<code bash> +Pentru testare, deschideți terminal ​pe ''​fep.grid.pub.ro''​ și accesați site-ul ​''​http://10.9.X.Y:8080''​ (înlocuiți cu IP-ul) prin intermediul utilitarului ​''​curl''​. ​Vă va apărea un cod HTML cu mesajul //​Laboratorul 10 - pe red//Exemplu: <code bash> 
-root@host:​~#​ go red +student@mjolnir:~$ ssh -X mihai.carabas@fep.grid.pub.ro 
-[...] +mihai.carabas@fep.grid.pub.ro's password
-root@red:~# ping 8.8.8.8 + 
-PING 8.8.8.8 ​(8.8.8.8) 56(84) bytes of data. +[your.name@fep-62-2 ~]$ curl http://10.9.X.Y:8080
-64 bytes from 8.8.8.8: icmp_req=1 ttl=127 time=42.0 ms +
-</​code>​ +
-Deschideți un nou terminal către ​''​host''​. ​**NU** închideți comanda ''​ping''​ de pe ''​red''​În terminalul nou deschis de pe ''​host''​ executați comanda:<code bash> +
-root@host:~# tcpdump ​-i eth0 dst 8.8.8.8 +
-tcpdump: verbose output suppressed, use -v or -vv for full protocol decode +
-listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes +
-12:59:20.976707 IP host.local > google-public-dns-a.google.comICMP echo request, id 625, seq 6, length 64 +
-12:59:21.977708 IP host.local > google-public-dns-a.google.comICMP echo request, id 625, seq 7, length 64+
 </​code>​ </​code>​
  
-Observați că adresa IP sursă este ''​host.local''​ chiar dacă stația ''​red''​ este cea care execută comanda ''​ping''​ și generează pachetele ​de tip ''​ICMP echo request''​+<​hidden>​ 
- +<​solution>​ 
-Porniț''​tcpdump''​ pe interfaț''​veth-red''​ în loc de ''​eth0'':​ <code bash> +Introducem regula ​de tip ''​DNAT'' ​în lanțul ''​PREROUTING''​ pe stația ''​host'' ​și validăm introducerea acestei reguli:<code bash> 
-0 packets dropped by kernel +root@host:​~# ​iptables -t nat -A PREROUTING ​-i eth0 -p tcp --dport 8080 -j DNAT --to-destination 192.168.1.2:80 
-root@host:​~# ​tcpdump ​-i veth-red dst 8.8.8.8 +root@host:~# iptables ​-t nat -L PREROUTING ​--
-tcpdumpverbose output suppressed, use -v or -vv for full protocol decode +Chain PREROUTING ​(policy ACCEPT 0 packetsbytes) 
-listening on veth-red, link-type EN10MB ​(Ethernet)capture size 65535 bytes + pkts bytes target ​    prot opt in     ​out ​    ​source ​              ​destination ​         
-13:​01:​12.557692 IP red > google-public-dns-a.google.comICMP echo request, id 626, seq 6, length 64 +    2   120 DNAT       ​tcp  ​--  ​eth0 ​  ​* ​      0.0.0.0/0            0.0.0.0/​0 ​           tcp dpt:8080 to:192.168.1.2:80
-13:01:13.559726 IP red > google-public-dns-a.google.comICMP echo request, id 626, seq 7, length 64+
 </​code>​ </​code>​
-Observați că pe interfața veth-red adresa ​IP sursă este cea a lui ''​red''​Motivul este reprezentat ​de faptul că pachetele ce intră ​pe intefața ''​veth-red''​ sunt capturate înainte de rutare, iar procesul NAT este aplicat **după rutare** (vezi [[rl:​labs:​09:​contents:​01|]]+Accesăm URL-ul %%http://<​adresa-ip-mv>:​8080/​index.html%% din browser-ul grafic (Firefox, Chrome) ​de pe stația fizică și apare mesajul //​Laboratorul 10 pe red//
- +</​solution>​ 
-Repetați testele de mai sus pentru stația ''​green''​.+</​hidden>​
rl/labs/09/contents/02.1384686339.txt.gz · Last modified: 2013/11/17 13:05 by mihai.carabas
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