This shows you the differences between two versions of the page.
rl:labs:08:contents:06 [2013/11/20 21:05] razvan.deaconescu [6. Blocare completă a traficului] |
rl:labs:08:contents:06 [2023/11/05 12:55] (current) vlad_iulius.nastase |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ==== 6. Blocare completă a traficului ==== | + | ==== 06. [10p] Extindere port forwarding ==== |
- | Pentru început verificați că stația ''red'' poate accesa alte stații din rețea. Rulați comanda<code bash> | + | Dorim să accesăm din Internet/exterior stațiile ''green'' și ''blue'' prin SSH folosindu-ne de stația ''host''. Vom folosi: |
- | ping green | + | * portul ''20022'' de pe stația ''host'' pentru a face //port forwarding// pe portul 22 al stației ''green''; |
- | </code> | + | * portul ''30022'' de pe stația ''host'' pentru a face //port forwarding// pe portul 22 al stației ''blue''. |
+ | |||
+ | |||
+ | Pe modelul [[:rl:labs:09:contents:05|exercițiului anterior]], realizați configurarea necesară pentru această extindere de port forwarding. Verificați prin conectare de pe ''fep.grid.pub.ro'' (echivalentul Internet-ului/exteriorului) pe porturile respectiv ''20022'' și ''30022'' de pe stația ''host''. | ||
+ | |||
+ | <note tip> | ||
+ | Pentru a afla adresele IP ale stațiilor ''green'' și ''blue'' rulați comanda de afișare a configurării interfeței ''eth0'' pe fiecare stație. Verificați, pentru siguranța, faptul că există conectivitate între ele și stația ''host''. | ||
+ | </note> | ||
- | Asocierile între porturi și protocoale (''21'' și FTP, ''22'' și SSH, ''23'' și telnet) sunt cele implicite. Acest lucru nu împiedică însă un administrator să configureze un serviciu să asculte pe un port diferit de cel implicit. Pentru a preveni transferul de fișiere și conectare de la distanță pe stația ''red'' vom bloca accesul la toate porturile. Pentru aceasta vom configura stația ''host'' pentru a bloca **întreg** traficul de la stația ''red''. Pentru blocarea **întregului** trafic rulați comanda<code bash> | + | <hidden> |
- | iptables -A FORWARD -s red -j REJECT | + | <solution> |
+ | Adăugăm cele două reguli noi pentru //port forwarding//:<code bash> | ||
+ | root@host:~# iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 20022 -j DNAT --to-destination 192.168.2.2:22 | ||
+ | root@host:~# iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 30022 -j DNAT --to-destination 192.168.3.2:22 | ||
+ | root@host:~# iptables -t nat -L PREROUTING -n -v | ||
+ | Chain PREROUTING (policy ACCEPT 0 packets, 0 bytes) | ||
+ | pkts bytes target prot opt in out source destination | ||
+ | 1 60 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 | ||
</code> | </code> | ||
- | Comanda blochează întreg traficul **de la** stația ''red'' (opțiunea ''-s'') pe care stația ''host'' l-ar fi rutat (lanțul ''FORWARD''). | + | Verificăm conectivitatea către cele două noi stații de pe ''fep.grid.pub.ro'':<code bash> |
+ | razvan@einherjar:~$ ssh $ADRESA_IP_MV -p 20022 | ||
+ | root@host.local's password: | ||
+ | [...] | ||
+ | root@green:~# | ||
- | Verificați că stația ''red'' nu poate accesa alte stații. Rulați comanda<code bash> | + | razvan@einherjar:~$ ssh $ADRESA_IP_MV -p 30022 |
- | ping green | + | root@host.local's password: |
+ | [...] | ||
+ | root@blue:~# | ||
</code> | </code> | ||
- | Observați că nu mai sosesc pachete de răspuns (sunt respinse de stația ''host''), deci traficul de la stația ''red'' este blocat. | + | </solution> |
+ | </hidden> |