Zadaci za samostalan rad – Modul 18 – Linux mreže
Rešenja se nalaze u
/resenja/modul-18/05-zadaci-resenja.md— pokušajte da rešite zadatke samostalno pre nego što pogledate rešenja.
Nivo: Početni
Zadatak 1. Objasnite zašto moderne Linux distribucije koriste predvidljiva imena interfejsa (npr. ens33) umesto starog eth0.
Zadatak 2. Koju komandu biste pokrenuli da vidite status i MAC adresu mrežnih interfejsa, bez IP informacija?
Zadatak 3. Objasnite razliku između ping na Linux-u i ping na Windows-u u pogledu podrazumevanog broja poslatih paketa.
Nivo: Srednji
Zadatak 4. Objasnite zašto promena napravljena preko ip addr add nestaje nakon restarta sistema, i koje rešenje biste predložili za trajnu izmenu.
Zadatak 5. Napišite Netplan YAML konfiguraciju koja postavlja statičku adresu 10.0.0.50/24 na interfejsu ens33, sa gateway-om 10.0.0.1 i DNS serverom 1.1.1.1.
Zadatak 6. Objasnite zašto se sudo netplan try preporučuje umesto sudo netplan apply kada se konfiguracija menja preko udaljene SSH veze.
Zadatak 7. Objasnite zašto se autentifikacija preko SSH ključa smatra bezbednijom od autentifikacije preko lozinke.
Zadatak 8. Objasnite zašto je kritično dodati SSH pravilo u UFW pre uključivanja firewall-a na serveru kome se pristupa preko udaljene SSH veze.
Nivo: Napredni
Zadatak 9. Objasnite razliku između ss/netstat provere i provere dostupnosti porta sa drugog uređaja, i zašto obe provere mogu dati različite rezultate za isti servis.
Zadatak 10. Objasnite konceptualnu razliku između iptables i nftables, i zašto se nftables smatra efikasnijim.
Zadatak 11. Data je situacija: administrator ručno edituje /etc/resolv.conf na Ubuntu Server-u i promena nestaje nakon restarta. Objasnite zašto se ovo dešava i koje je ispravno rešenje.
Zadatak 12. Objasnite zašto je dig korisniji alat od nslookup pri dijagnostici sporih DNS odgovora, navodeći konkretnu informaciju koju dig prikazuje, a nslookup ne prikazuje na isti direktan način.
Praktičan zadatak u laboratorijskoj vežbi
Zadatak 13. Proširite laboratorijsku vežbu ovog modula instalacijom fail2ban (opisano u Dodatnom izazovu) i dokumentujte tačan izlaz sudo fail2ban-client status sshd nakon namernih neuspešnih pokušaja prijave sa test adrese.
Zadatak zasnovan na izlazu komande
Zadatak 14. Dat je sledeći skraćen izlaz na Ubuntu Server-u:
$ ip addr show enp0s3
2: enp0s3: <BROADCAST,MULTICAST> mtu 1500 qdisc fq_codel state DOWN
link/ether 08:00:27:aa:bb:cc brd ff:ff:ff:ff:ff:ff
Na osnovu ovog izlaza odgovorite: (a) šta govori reč „DOWN" u ovom kontekstu? (b) da li je razumno očekivati da ovaj interfejs ima IP adresu prikazanu u izlazu? (c) koju komandu biste pokrenuli da administrativno uključite ovaj interfejs?
Zadatak 15. Dat je sledeći skraćen izlaz sudo ufw status verbose:
Status: active
Default: deny (incoming), allow (outgoing), disabled (routed)
To Action From
-- ------ ----
22/tcp (OpenSSH) ALLOW IN Anywhere
443/tcp ALLOW IN Anywhere
Korisnik prijavljuje da ne može da pristupi veb aplikaciji na portu 80 (HTTP, ne HTTPS) na ovom serveru. Na osnovu ovog izlaza odgovorite: (a) da li je ovo očekivano ponašanje, i zašto? (b) koju komandu biste dodali da rešite problem? (c) da li „Default: deny (incoming)" znači da je sav dolazni saobraćaj blokiran, ili samo onaj koji ne odgovara nijednom eksplicitnom pravilu?
Zadatak 16. Objasnite zašto se u laboratorijskoj vežbi ovog modula testira prijava preko SSH ključa (Korak 7) pre nego što se PasswordAuthentication onemogući u konfiguraciji, umesto da se oba koraka urade odjednom.
📖 Prikaži rešenje
Rešenja zadataka za samostalan rad – Modul 18 – Linux mreže
Nivo: Početni
Zadatak 1. Predvidljiva imena kodiraju fizičku lokaciju uređaja (PCI slot, port), obezbeđujući da isti fizički interfejs uvek dobije isto ime čak i nakon dodavanja/uklanjanja druge mrežne kartice — sprečava zabunu koja bi nastala ako bi se redosled detekcije uređaja promenio, za razliku od starijeg eth0/eth1 sistema.
Zadatak 2. ip link show.
Zadatak 3. Linux ping radi kontinuirano dok se ručno ne prekine (Ctrl+C), osim ako se ne koristi -c <broj> prekidač; Windows ping po podrazumevanom ponašanju šalje tačno 4 paketa i zatim sam prestaje.
Nivo: Srednji
Zadatak 4. ip addr add menja samo trenutno aktivno stanje jezgra u memoriji, ne trajni konfiguracioni fajl — promena nestaje nakon restarta. Rešenje: definisati istu adresu trajno u Netplan YAML konfiguraciji (/etc/netplan/).
Zadatak 5.
network:
version: 2
ethernets:
ens33:
dhcp4: false
addresses:
- 10.0.0.50/24
routes:
- to: default
via: 10.0.0.1
nameservers:
addresses: [1.1.1.1]
Zadatak 6. netplan try automatski vraća prethodnu, funkcionalnu konfiguraciju ako nova konfiguracija ne bude eksplicitno potvrđena u kratkom vremenskom roku — sprečava da administrator ostane trajno zaključan van servera preko SSH-a ako nova konfiguracija sadrži grešku koja prekida mrežnu vezu.
Zadatak 7. Autentifikacija preko ključa koristi kriptografski par ključeva koji je praktično nemoguće pogoditi brute-force napadom, a privatni ključ nikada ne napušta korisnikov uređaj tokom procesa autentifikacije — za razliku od lozinke koja se može pogoditi, iskopirati ili presresti.
Zadatak 8. UFW podrazumevano odbija sav dolazni saobraćaj koji nije eksplicitno dozvoljen — ako SSH port nije prethodno dozvoljen, uključivanje firewall-a odmah prekida trenutnu SSH sesiju administratora, potencijalno zahtevajući fizički pristup serveru za ispravku.
Nivo: Napredni
Zadatak 9. ss/netstat proverava da li servis lokalno sluša na portu, sa perspektive samog servera. Provera sa drugog uređaja testira da li je taj port zaista dostupan preko mreže. Rezultati se mogu razlikovati jer servis može ispravno slušati lokalno, ali firewall (UFW) na serveru (ili neki uređaj na mreži) može blokirati dolazni saobraćaj ka tom portu, čineći ga nedostupnim spolja iako lokalno „radi".
Zadatak 10. iptables koristi odvojene alate za različite protokole (iptables za IPv4, ip6tables za IPv6, arptables, ebtables), sa sekvencijalnom obradom kroz više odvojenih modula. nftables objedinjuje sve to u jedan jedinstven framework sa konzistentnom sintaksom, koristeći efikasniju internu implementaciju (jedinstvena virtuelna mašina u jezgru) — otuda veća efikasnost.
Zadatak 11. Na modernim Ubuntu sistemima, /etc/resolv.conf se automatski generiše od strane systemd-resolved servisa na osnovu Netplan konfiguracije — ručne izmene se prepisuju pri sledećem restartu/osvežavanju. Ispravno rešenje je izmena DNS servera direktno u Netplan YAML fajlu (nameservers sekcija), ne u /etc/resolv.conf.
Zadatak 12. dig prikazuje „Query time" polje koje direktno kvantifikuje koliko dugo je DNS upit trajao — nslookup ne prikazuje ovu informaciju na isti direktan način, čineći dig korisnijim za dijagnostiku sporih DNS odgovora.
Praktičan zadatak u laboratorijskoj vežbi
Zadatak 13. Nakon instalacije fail2ban i namernih neuspešnih pokušaja prijave (npr. sa pogrešnim korisničkim imenom, jer je lozinka već onemogućena), sudo fail2ban-client status sshd prikazuje rastući broj „Currently failed"/„Total failed" pokušaja, i nakon dostizanja praga (podrazumevano obično 5 pokušaja), test adresa se pojavljuje u „Banned IP list" sekciji, potvrđujući da je fail2ban automatski reagovao.
Zadatak zasnovan na izlazu komande
Zadatak 14. (a) „DOWN" znači da interfejs nije administrativno aktivan (ekvivalent Cisco shutdown stanja, Modul 7) — fizička veza ili administrativno stanje sprečavaju normalan rad. (b) Ne, nije razumno očekivati IP adresu — interfejs u stanju DOWN obično nema (ili ne koristi) dodeljenu IP adresu, jer ne može da šalje/prima saobraćaj. (c) sudo ip link set enp0s3 up (privremeno) ili ispravka Netplan konfiguracije i netplan apply (trajno).
Zadatak 15. (a) Da, ovo je očekivano ponašanje — UFW izlaz eksplicitno pokazuje da su dozvoljeni samo portovi 22 (SSH) i 443 (HTTPS); port 80 (HTTP) nije naveden, pa je podrazumevano blokiran. (b) sudo ufw allow 80/tcp. (c) „Default: deny (incoming)" znači da se sav dolazni saobraćaj koji ne odgovara nijednom eksplicitnom „ALLOW" pravilu odbacuje — nije ograničeno samo na portove koji su izričito „deny"-ovani, već je to podrazumevano ponašanje za sve što nije eksplicitno dozvoljeno.
Zadatak 16. Ako bi se PasswordAuthentication no postavilo pre potvrde da SSH ključ zaista radi, i ako ključ iz nekog razloga nije ispravno postavljen (npr. greška u kopiranju, pogrešne dozvole na .ssh folderu), administrator bi izgubio svaki način da se prijavi preko SSH-a — ni lozinkom (onemogućena) ni ključem (ne radi) — zahtevajući fizički/konzolni pristup serveru za ispravku. Testiranje ključa pre onemogućavanja lozinke obezbeđuje da uvek postoji bar jedan funkcionalan način pristupa u svakom trenutku procesa.