This shows you the differences between two versions of the page.
rl:labs:09:contents:08 [2013/11/26 12:14] razvan.deaconescu [08. Configurarea persistentă rutare și NAT] |
rl:labs:09:contents:08 [2023/11/05 13:09] (current) vlad_iulius.nastase |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ==== 08. Configurare persistentă rutare și NAT ==== | + | ==== 08. [10p] Download FTP folosind curl (cu autentificare) ==== |
- | 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. | + | 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''. |
- | Pentru a configura în mod persistent rutarea pe stația ''host'', edităm fișierul ''/etc/sysctl.conf'' și decomentăm linia<code< | + | 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''. |
- | net.ipv4.ip_forward=1 | + | |
- | </code> Astfel la fiecarea pornire a sistemului, rutarea va fi activată. | + | |
- | <note important> | + | <note tip> |
- | 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 | + | URL-ul folosit va fi ''%%ftp://red/ana-ftp-file-5M.dat%%''. Va fi relativ la directorul home al utilizatorului autentificat. |
- | sysctl -p | + | |
- | </code> pentru a aplica modificările din fișierul de configurare ''/etc/sysctl.conf''. | + | 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. |
</note> | </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> | + | <hidden> |
- | root@host:~# iptables-save > /etc/iptables-rules | + | <solution -hidden> |
+ | Comanda de descărcare este:<code bash> | ||
+ | root@host:~# curl -u ana:student ftp://red/ana-ftp-file-5M.dat -o ana-ftp-file-5M.dat | ||
+ | % Total % Received % Xferd Average Speed Time Time Time Current | ||
+ | Dload Upload Total Spent Left Speed | ||
+ | 100 5120k 100 5120k 0 0 37.5M 0 --:--:-- --:--:-- --:--:-- 39.3M | ||
+ | root@host:~# ls -l ana-ftp-file-5M.dat | ||
+ | -rw-r--r-- 1 root root 5242880 Nov 26 20:02 ana-ftp-file-5M.dat | ||
</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) | ||
- | Regulile pot fi restaurate folosind comanda ''iptables-restore < /etc/iptables-rules''. Așadar trebuie să configurăm sistemul să execute această comanda la pornire. Modul cel mai uzual pentru a face acest lucru este adăugarea acestei comenzi în fișierul de configurare al interfeței:<code bash> | + | 100%[======================================>] 5,242,880 --.-K/s in 0.03s |
- | root@host:~# cat /etc/network/interfaces | + | |
- | [...] | + | |
- | # The primary network interface | + | |
- | auto eth0 | + | |
- | iface eth0 inet dhcp | + | |
- | up iptables-restore < /etc/iptables-rules | + | |
- | </code> | + | |
- | + | ||
- | În urma resetării sistemului vom vedea aplicată rutarea și regulile de NAT:<code bash> | + | |
- | 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 | + | |
- | + | ||
- | Chain INPUT (policy ACCEPT 2 packets, 534 bytes) | + | |
- | pkts bytes target prot opt in out source destination | + | |
- | Chain OUTPUT (policy ACCEPT 16 packets, 958 bytes) | + | 2013-11-26 20:03:38 (156 MB/s) - `ana-ftp-file-5M.dat' saved [5242880] |
- | pkts bytes target prot opt in out source destination | + | |
- | Chain POSTROUTING (policy ACCEPT 15 packets, 918 bytes) | + | root@host:~# ls -l ana-ftp-file-5M.dat |
- | pkts bytes target prot opt in out source destination | + | -rw-r--r-- 1 root root 5242880 Nov 26 20:03 ana-ftp-file-5M.dat |
- | 1 40 MASQUERADE all -- * eth0 0.0.0.0/0 0.0.0.0/0 | + | |
</code> | </code> | ||
+ | </solution> | ||
+ | </hidden> |