This shows you the differences between two versions of the page.
rl:labs:09:contents:08 [2014/12/11 11:33] mihai.carabas [08. [10p] Port forwarding pentru telnet] |
rl:labs:09:contents:08 [2023/11/05 13:09] (current) vlad_iulius.nastase |
||
---|---|---|---|
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@fep:~# 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> | ||
+ | <hidden> | ||
<solution -hidden> | <solution -hidden> | ||
- | Adăugăm cele trei noi reguli pentru redirectarea ''telnet'' și validăm adăugarea lor:<code bash> | + | Comanda de descărcare este:<code bash> |
- | root@host:~# iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 10023 -j DNAT --to-destination 192.168.1.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 20023 -j DNAT --to-destination 192.168.2.2:23 | + | % Total % Received % Xferd Average Speed Time Time Time Current |
- | root@host:~# iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 30023 -j DNAT --to-destination 192.168.3.2:23 | + | Dload Upload Total Spent Left Speed |
- | root@host:~# iptables -t nat -L PREROUTING -n -vChain PREROUTING (policy ACCEPT 0 packets, 0 bytes) | + | 100 5120k 100 5120k 0 0 37.5M 0 --:--:-- --:--:-- --:--:-- 39.3M |
- | pkts bytes target prot opt in out source destination | + | root@host:~# ls -l ana-ftp-file-5M.dat |
- | 2 120 DNAT tcp -- eth0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:10022 to:192.168.1.2:22 | + | -rw-r--r-- 1 root root 5242880 Nov 26 20:02 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 | + | |
- | 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> |