This shows you the differences between two versions of the page.
|
rl:labs:08:contents:09 [2020/12/01 16:05] iulia.florea |
rl:labs:08:contents:09 [2023/11/05 12:57] (current) vlad_iulius.nastase |
||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | ==== 9. [5p] Ștergere reguli adăugate ==== | + | ==== 09. [10p] Configurare persistentă rutare și NAT ==== |
| - | Pentru a permite tot traficul către stația ''green'', ștergeți pe stația ''host'' toate regulile ''iptables'' din lanțul ''FORWARD''. Folosiți opțiunea ''-F'' (//flush//) a comenzii ''iptables''. Practic revenim la situația inițială, fără reguli ''iptables'' pe stația ''host''. Folosiți comanda ''iptables -L FORWARD -n -v'' pentru a valida ștergerea regulilor din lanțul ''FORWARD''. | + | 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. |
| - | <hidden> | + | Pentru a configura în mod persistent rutarea pe stația ''host'', edităm fișierul ''/etc/sysctl.conf'' și decomentăm linia<code> |
| - | <solution> | + | net.ipv4.ip_forward=1 |
| - | <code bash> | + | </code> Astfel la fiecarea pornire a sistemului, rutarea va fi activată. |
| - | root@host:~# iptables -F FORWARD | + | |
| - | root@host:~# iptables -L FORWARD -n -v | + | <note important> |
| - | Chain FORWARD (policy ACCEPT 0 packets, 0 bytes) | + | 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> |
| - | pkts bytes target prot opt in out source destination | + | sysctl -p |
| - | root@host:~# | + | </code> pentru a aplica modificările din fișierul de configurare ''/etc/sysctl.conf''. |
| + | </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> | ||
| + | root@host:~# iptables-save > /etc/iptables-rules | ||
| </code> | </code> | ||
| - | </solution> | ||
| - | </hidden> | ||
| - | După ștergerea regulilor verificați funcționarea serviciilor telnet, FTP, SSH prin conectare de la stația ''red'' la stația ''green''. | + | 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> |
| + | root@host:~# cat /etc/network/interfaces | ||
| + | [...] | ||
| + | # The primary network interface | ||
| + | auto eth0 | ||
| + | iface eth0 inet dhcp | ||
| + | up iptables-restore < /etc/iptables-rules | ||
| + | </code> | ||
| + | |||
| + | După ce ați făcut toate configurările, reporniți stația ''host'': | ||
| - | <hidden> | ||
| - | <solution> | ||
| <code bash> | <code bash> | ||
| - | root@red:~# ftp green | + | Dashboard -> Drop Down in dreptul masinii virtuale -> Soft Reboot Instance |
| - | Connected to green. | + | </code> |
| - | 220 (vsFTPd 2.3.5) | + | |
| - | Name (green:root): ^C | + | |
| - | root@red:~# ssh green | ||
| - | root@green's password: | ||
| - | root@red:~# telnet green | + | În urma repornirii stației ''host'', va trebui sa rerulam scripturile de pregatire a infrastructurii pentru a recrea containerele. Vom vedea aplicată rutarea și regulile de NAT: (in cazul in care rutarea nu este activata, inseamna ca a fost suprascrisa de catre scripturile de pregatire a infrastructurii si va trebui s-o activati din nou)<code bash> |
| - | Trying 192.168.2.2... | + | root@host:~# sysctl net.ipv4.ip_forward |
| - | Connected to green. | + | net.ipv4.ip_forward = 1 |
| - | Escape character is '^]'. | + | root@host:~# iptables -t nat -L -n -v |
| - | Ubuntu 12.04.3 LTS | + | Chain PREROUTING (policy ACCEPT 30 packets, 5694 bytes) |
| - | green login: ^CConnection closed by foreign host. | + | 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) | ||
| + | pkts bytes target prot opt in out source destination | ||
| + | |||
| + | Chain POSTROUTING (policy ACCEPT 15 packets, 918 bytes) | ||
| + | pkts bytes target prot opt in out source destination | ||
| + | 1 40 MASQUERADE all -- * eth0 0.0.0.0/0 0.0.0.0/0 | ||
| </code> | </code> | ||
| - | </solution> | ||
| - | </hidden> | ||