This shows you the differences between two versions of the page.
rl:labs:07:contents:08 [2020/11/18 21:12] iulia.florea created |
rl:labs:07:contents:08 [2023/11/05 12:44] (current) vlad_iulius.nastase |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ==== 08. [10p] Depanare problemă de conectivitate ==== | + | ==== 8. [10p] Permitere trafic SSH ==== |
- | Ne propunem să depanăm o problemă de conectivitate. Pentru a "genera" problema rulați scriptul de pregătire cu argumentul ''9'':<code host> | + | În acest moment, traficul SSH către stația ''green'' este blocat. |
- | root@host:~# ./rl-lab-07-prepare 9 | + | |
- | </code> | + | |
- | <note tip> | + | Dorim să permitem traficul SSH **de la** stația ''red'' **către** stația ''green''. Adăugați o regulă corespunzătoare pe stația ''host''. |
- | Pentru depanare, primul pas recomandat este afișarea tabelei de rutare. Tabela de rutare vă va ajuta pentru depanare în cazul în care anumite intrări sunt absente sau configurate greșit. | + | |
- | </note> | + | |
- | Verificați conectivitatea între toate stațiile din topologie. Observați că nu există conectivitate între nici o stație și stația ''blue''. Rezolvați problemele de conectivitate la stația ''blue''. | + | <hidden> |
+ | <solution> | ||
+ | <code bash> | ||
+ | root@host:~# iptables -A FORWARD -s red -d green -p tcp --dport ssh -j ACCEPT | ||
+ | </code> | ||
+ | </solution> | ||
+ | </hidden> | ||
- | <note important> | + | După ce ați adăugat regula, încercați realizarea unei conexiuni SSH de la stația ''red'' la stația ''green''. Observați că nu se realizează conexiunea. |
- | Nu schimbați adresele IP deja configurate. Doar identificați și soluționați problemele. | + | |
- | </note> | + | |
<hidden> | <hidden> | ||
<solution> | <solution> | ||
- | Interfața ''eth0'' a stației ''blue'' este dezactivată. Acest lucru se poate vedea prin consultarea tabelei de rutare:<code bash> | + | <code bash> |
- | root@blue:~# ip route show | + | root@red:~# ssh green |
- | root@blue:~# | + | ^C |
- | </code> | + | |
- | și prin urmărirea configurației de nivel 2:<code bash> | + | |
- | root@blue:~# ip link show dev eth0 | + | |
- | 55: eth0: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast state DOWN qlen 1000 | + | |
- | link/ether 00:16:3e:32:0f:ae brd ff:ff:ff:ff:ff:ff | + | |
</code> | </code> | ||
+ | </solution> | ||
+ | </hidden> | ||
- | Reactivarea interfeței ''eth0'' a stației ''blue'' se realizează folosind comanda:<code> | + | Afișați lista de reguli ''iptables'' de pe stația ''host''. De ce nu a reușit conexiunea? Țineți cont de ordinea regulilor afișate; sunt parcurse secvențial. |
- | root@blue:~# ip link set dev eth0 up | + | |
- | root@blue:~# ip link show dev eth0 | + | |
- | 55: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 | + | |
- | link/ether 00:16:3e:32:0f:ae brd ff:ff:ff:ff:ff:ff | + | |
- | </code> | + | |
- | În urma acestei comenzi stația ''blue'' va fi conectată la stația ''host''. | + | |
- | În continuare nu există conectivitate între stația ''blue'' și stațiile ''red'' și ''green''. Afișarea tabelei de rutarea ne indică absența //default gateway//. Configurăm //default gateway// cu ajutorul comenzii:<code> | + | <hidden> |
- | root@blue:~# ip route add default via 15.15.15.1 | + | <solution> |
- | root@blue:~# ip route show | + | <code bash> |
- | default via 15.15.15.1 dev eth0 | + | root@host:~# iptables -L FORWARD -n -v |
- | 15.15.15.0/24 dev eth0 proto kernel scope link src 15.15.15.2 | + | root@host:~# iptables -L FORWARD -n -v |
+ | Chain FORWARD (policy ACCEPT 0 packets, 0 bytes) | ||
+ | pkts bytes target prot opt in out source destination | ||
+ | 6 360 REJECT all -- * * 192.168.1.2 0.0.0.0/0 reject-with icmp-port-unreachable | ||
+ | 0 0 ACCEPT tcp -- * * 192.168.1.2 192.168.2.2 tcp dpt:22 | ||
</code> | </code> | ||
+ | Regulile sunt parcurse secvențial. Conform primei reguli, tot traficul transmis de stația ''red'' este blocat. A doua regulă nu mai este parcursă. Trebuie să mutăm a doua regulă pe prima poziție. | ||
+ | </solution> | ||
+ | </hidden> | ||
- | În acest moment există conectivitate completă la nivelul topologiei. | + | Pentru rezolvarea problemei ștergeți regula ''iptables'' introdusă anterior și **inserați** regula pe stația ''host''. Pentru inserare folosiți opțiunea ''-I'' a comenzii ''iptables''. Verificați că acum conexiunea SSH între ''red'' și ''green'' va fi realizată. |
+ | |||
+ | <note hint> | ||
+ | Pentru a șterge o regulă puteți folosi opțiunea ''-D''. | ||
+ | |||
+ | Pentru a insera o regulă folosiți opțiunea ''-I'' urmată de numele lanțului (''INPUT'', ''OUTPUT'' sau ''FORWARD''), urmată de indexul poziției unde doriți plasată regulă (1, 2, 3, ...) și apoi urmată de specificarea regulii. | ||
+ | </note> | ||
+ | |||
+ | <hidden> | ||
+ | <solution> | ||
+ | <code bash> | ||
+ | root@host:~# iptables -D FORWARD -s red -d green -p tcp --dport ssh -j ACCEPT | ||
+ | root@host:~# iptables -I FORWARD -s red -d green -p tcp --dport ssh -j ACCEPT | ||
+ | |||
+ | root@host:~# iptables -L FORWARD -n -v | ||
+ | Chain FORWARD (policy ACCEPT 0 packets, 0 bytes) | ||
+ | pkts bytes target prot opt in out source destination | ||
+ | 0 0 ACCEPT tcp -- * * 192.168.1.2 192.168.2.2 tcp dpt:22 | ||
+ | 6 360 REJECT all -- * * 192.168.1.2 0.0.0.0/0 reject-with icmp-port-unreachable | ||
+ | |||
+ | root@red:~# ssh -l student green | ||
+ | student@green's password: | ||
+ | Welcome to Ubuntu 12.04.3 LTS (GNU/Linux 3.2.0-53-generic-pae i686) | ||
+ | |||
+ | * Documentation: https://help.ubuntu.com/ | ||
+ | Last login: Thu Nov 14 14:18:53 2013 from 192.168.1.2 | ||
+ | student@green:~$ logout | ||
+ | Connection to green closed. | ||
+ | </code> | ||
</solution> | </solution> | ||
</hidden> | </hidden> |