Differences

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

Link to this comparison view

rl:labs:09:contents:08 [2013/11/26 12:15]
razvan.deaconescu [08. Configurare persistentă rutare și NAT]
rl:labs:09:contents:08 [2023/11/05 13:09] (current)
vlad_iulius.nastase
Line 1: Line 1:
-==== 09Configurare persistentă rutare și NAT ====+==== 08[10p] Download FTP folosind curl (cu autentificare) ​====
  
-Configurările realizate până în acest moment sunt temporareLa 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 autentificareFiș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ă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șierTrebuie 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/  ​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 packets5694 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-- ​root root 5242880 Nov 26 20:03 ana-ftp-file-5M.dat
-       40 MASQUERADE ​ all  ​--  ​* ​     eth0    0.0.0.0/​0 ​           0.0.0.0/0+
 </​code>​ </​code>​
 +</​solution>​
 +</​hidden>​
rl/labs/09/contents/08.1385460928.txt.gz · Last modified: 2013/11/26 12:15 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