This shows you the differences between two versions of the page.
|
rl:labs:09:contents:08 [2014/12/11 11:23] mihai.carabas [08. [10p] Port forwarding pentru telnet] |
rl:labs:09:contents:08 [2024/11/21 23:00] (current) laura.ruse [08. [10p] Download FTP folosind curl (cu autentificare)] |
||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | ==== 08. [10p] Port forwarding pentru telnet ==== | + | ==== 08. [10p] Download FTP folosind curl (cu autentificare) ==== |
| - | În cadrul exercițiilor anterioare am activat //port forwarding// pentru serviciul SSH. Dorim ca stațiile ''red'', ''green'' și ''blue'' să fie accesibile și prin ''telnet'' din Internet astfel: | + | Ne propunem să folosim curl pentru descărcarea unui fișier FTP însă folosind autentificare. Fișierul căutat se găsește în directorul home al utilizatorului ''ana'' de pe red și se numește ''ana-ftp-file-5M.dat''. Utilizatorul ''ana'' are parola ''student''. |
| - | * ''red'' să poată fi accesat folosind portul 10023 | + | |
| - | * ''green'' să poată fi accesat folosind portul 20023 | + | |
| - | * ''blue'' să poată fi accesat folosind portul 30023 | + | |
| - | Realizați configurațiile necesare pentru a permite //port forwarding// pentru ''telnet'' așa cum este descris mai sus. | + | Pe stația ''host'' folosiți ''curl'' pentru a descărca, prin FTP, fișierul ''ana-ftp-file-5M.dat'' din directorul home al utilizatorului ''ana''. |
| - | <note> | + | <note tip> |
| - | Exercițiul este academic. Nu este indicată folosirea ''telnet'' cu atât mai puțin //port forwarding// peste ''telnet'' din rațiuni de securitate. | + | URL-ul folosit va fi ''%%ftp://red/ana-ftp-file-5M.dat%%''. Va fi relativ la directorul home al utilizatorului autentificat. |
| - | </note> | + | |
| - | + | ||
| - | Testați de pe fep.grid.pub.ro folosind comanda ''telnet'':<code bash> | + | |
| - | mihai.carabas@efp:~# telnet $ADRESA_IP_MV <port-redirectat> | + | |
| - | </code> | + | |
| - | <note important> | + | Pentru autentificarea ca utilizatorul ''ana'' în ''curl'', folosiți opțiunea ''%%--user%%''. Vedeți informații în pagina de manual a utilitarului ''curl''. Comanda trebuie să fie neinteractivă: trebuie să furnizați în linia de comandă și utilizatorul șî parola. |
| - | Există o latență de circa 10-15 secunde din momentul conectării până la apariția promptului ''telnet''. Așteptați să apară promptul și apoi autentificați-vă cu username ''student'' și parolă ''student'' pentru a valida conectivitatea. | + | |
| </note> | </note> | ||
| - | <solution -hidden> | + | <hidden> |
| - | Adăugăm cele trei noi reguli pentru redirectarea ''telnet'' și validăm adăugarea lor:<code bash> | + | <solution> |
| - | root@host:~# iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 10023 -j DNAT --to-destination 192.168.1.2:23 | + | Comanda de descărcare este:<code bash> |
| - | root@host:~# iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 20023 -j DNAT --to-destination 192.168.2.2:23 | + | root@host:~# curl -u ana:student ftp://red/ana-ftp-file-5M.dat -o ana-ftp-file-5M.dat |
| - | root@host:~# iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 30023 -j DNAT --to-destination 192.168.3.2:23 | + | % Total % Received % Xferd Average Speed Time Time Time Current |
| - | root@host:~# iptables -t nat -L PREROUTING -n -vChain PREROUTING (policy ACCEPT 0 packets, 0 bytes) | + | Dload Upload Total Spent Left Speed |
| - | pkts bytes target prot opt in out source destination | + | 100 5120k 100 5120k 0 0 37.5M 0 --:--:-- --:--:-- --:--:-- 39.3M |
| - | 2 120 DNAT tcp -- eth0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:10022 to:192.168.1.2:22 | + | root@host:~# ls -l ana-ftp-file-5M.dat |
| - | 3 180 DNAT tcp -- eth0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:20022 to:192.168.2.2:22 | + | -rw-r--r-- 1 root root 5242880 Nov 26 20:02 ana-ftp-file-5M.dat |
| - | 8 480 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 | + | |
| </code> | </code> | ||
| + | Comanda echivalentă ''wget'' este:<code bash> | ||
| + | root@host:~# wget --user="ana" --password="student" ftp://red/ana-ftp-file-5M.dat | ||
| + | --2013-11-26 20:03:38-- ftp://red/ana-ftp-file-5M.dat | ||
| + | => `ana-ftp-file-5M.dat' | ||
| + | Resolving red (red)... 192.168.1.2 | ||
| + | Connecting to red (red)|192.168.1.2|:21... connected. | ||
| + | Logging in as ana ... Logged in! | ||
| + | ==> SYST ... done. ==> PWD ... done. | ||
| + | ==> TYPE I ... done. ==> CWD not needed. | ||
| + | ==> SIZE ana-ftp-file-5M.dat ... 5242880 | ||
| + | ==> PASV ... done. ==> RETR ana-ftp-file-5M.dat ... done. | ||
| + | Length: 5242880 (5.0M) (unauthoritative) | ||
| - | Testăm aplicarea celor trei reguli prin folosirea comenzii ''telnet'' pe stația fizică către porturile respectiv ''10023'', ''20023'', ''30023'':<code bash> | + | 100%[======================================>] 5,242,880 --.-K/s in 0.03s |
| - | razvan@einherjar:~$ telnet $ADRESA_IP_VM 10023 | + | |
| - | [...] | + | |
| - | red login: student | + | |
| - | Password: | + | |
| - | [...] | + | |
| - | student@red:~$ | + | |
| - | razvan@einherjar:~$ telnet $ADRESA_IP_VM 20023 | + | 2013-11-26 20:03:38 (156 MB/s) - `ana-ftp-file-5M.dat' saved [5242880] |
| - | [...] | + | |
| - | green login: student | + | |
| - | Password: | + | |
| - | [...] | + | |
| - | student@green:~$ | + | |
| - | razvan@einherjar:~$ telnet $ADRESA_IP_VM 30023 | + | root@host:~# ls -l ana-ftp-file-5M.dat |
| - | [...] | + | -rw-r--r-- 1 root root 5242880 Nov 26 20:03 ana-ftp-file-5M.dat |
| - | blue login: student | + | |
| - | Password: | + | |
| - | [...] | + | |
| - | student@blue:~$ | + | |
| </code> | </code> | ||
| </solution> | </solution> | ||
| + | </hidden> | ||