340 likes | 576 Views
Linux networking. dr. sc. Tomaž Beriša Andrej Caplić Marko Šiftar (aka. Šifo). Linux networking. po čemu je drukčiji od XYZ networking-a isti protokoli drugačiji alati, implementacija i filozofija zašto i kada koristiti Linux, a ne XYZ koje su alternative? Mac OS Windows
E N D
Linux networking dr. sc. Tomaž Beriša Andrej Caplić Marko Šiftar (aka. Šifo)
Linux networking • po čemu je drukčiji od XYZ networking-a • isti protokoli • drugačiji alati, implementacija i filozofija • zašto i kada koristiti Linux, a ne XYZ • koje su alternative? • Mac OS • Windows • BSD (OpenBSD, NetBSD, FreeBSD)
Radni primjer:Linux wireless router + ADSL gateway • Na primjeru ćemo demonstrirati konfiguraciju wireless routera na linuxu
Što ćemo proći • prepoznavanje uređaja i njihovih naziva • bridge dva uređaja • dodjeljivanje IP adrese i parametara vezanih za IP • DHCP • tablice usmjeravanja (routing) • DNS - konfiguracija i provjera • provjera povezanosti • podešavanje wireless sučelja • NAT, firewall i port forwarding • Korisni alati
Što nećete čuti danas • instalacija linuxa • instalacija drivera mrežne opreme • kompiliranje kernela • specifičnosti konfiguracije ADSL modema za pojedini ISP
0. Kako je linux prepoznao uređaje • alat “dmesg” • linux nomenklatura mrežnih sučelja • prepoznali smo sljedeće: • eth0 - sučelje na koje je spojen ADSL modem • eth1 - 802.11a/b/g sučelje • eth2 - Ethernet sučelje
1. Napraviti bridge 802.11a/b/g i Ethernet sučelja • alat “brctl” • brctl addbr br0 • brctl addif br0 eth1 • brctl addif br0 eth2
1a. Dodijeliti IP adresu br0 • alat “ifconfig” • ifconfig eth2, ifconfig eth2:1 • ifconfig br0 up • ifconfig br0 192.168.1.1 netmask 255.255.255.0
2. Saznati IP adresu ADSL modema • ovisno o konfiguraciji - PPPoE, router mode, ... • alat “ifconfig” • ifconfig -a • pretpostavimo da je modem dobio IP adresu 161.53.19.115
2a. Ako nije dodiljena IP adresa sučelju eth0 • potrebnu je adresu zatražiti od DHCP poslužitelja (ovisno o postavkama mreže) • često je dovoljan alat “dhclient” • dhclient eth0
3. Provjeriti routing tablice • alat “route” • route -n • po potrebi, dodati default gateway • route add default gateway 161.53.19.1
4. Jesu li DNS poslužitelji ispravni? • datoteka /etc/resolv.conf (dhclient popunjava datoteku ako dobije informacije) • format datoteke: nameserver IP_adresa\n
5a. Provjeriti ADSL link - povezanost • alat “ping” • npr. ping 161.53.19.1; ping 161.53.72.23 (www.fer.hr)
5b. Provjeriti ADSL link - DNS • alat “nslookup” • nslookup www.fer.hr
6. Konfiguracija 802.11a/b/g sučelja • alat “iwconfig” - konfiguracija “wireless extensions” pojedinih mrežnih sučelja • iwconfig eth1 essid LokalneMreze mode Master key "nekiWEPkey"
7. Provjera 802.11a/b/g i Ethernet sučelja • alat “iwlist” • na računalu Laptop: • iwlist eth1 scanning - vidimo da LokalneMreze postoje • iwconfig eth1 essid LokalneMreze • ručno postavljanje IP adrese, gateway-a, DNS poslužitelja (ifconfig, route, /etc/resolv.conf) • ping 192.168.1.1; ping 161.53.72.23 • slično na Ethernet sučelju (bez iwlist i iwconfig)
7. Javne/privatne IP adrese • ping 161.53.72.23 • privatne adrese - zašto ihuopće koristimo? • 10.0.0.0/8 • 172.16.0.0/12 • 192.168.0.0/16 • kako od lokalne do javne mreže? -> NAT
8. NAT, Firewall i port forwarding • Obzirom da samo modem ima javnu adresu - NAT (masquerading) • Zaštita - firewall (packet filtering) • Ako izvana želite do računala unutar vaše lokalne mreže - port forwarding (posljedica NAT-a)
Q: Kako to postići? • A: Netfilter = “Linux packet filtering framework” za kernele 2.4.x i 2.6.x • Što je kernel? • Što je Netfilter?
Netfilter • Netfilter je “framework” koji pruža skup procedura u linux kernelu za presretanje i manipulaciju mrežnih paketa • 3 glavne komponente • connection tracking - omogućuje praćenje konteksta paketa • packet filtering (stateful i stateless) • Network Address Translation
Struktura Netfiltera • 4 osnovne Netfilter tabele • filter - uvijek se koristi • Nat - promjena SA i DA polja u zaglavlju IP paketa • Mangle – promjena kompletnih zaglavlja • Raw – postavljanje iznimki • Svaka tabela ima svoje chainove - lance (predodređene i korisnički definirane) • Svaki lanac ima skup elemenata pravilo+radnja i policy
Predodređeni lanci • svaka tabela ima neke od sljedećih lanaca (unaprijed definirani) • PREROUTING • INPUT • FORWARD • OUTPUT • POSTROUTING
Pravila i radnje • otkud naziv lanac? • skup pravila koji ima redoslijed • ako paket odgovara pravilu - tada se postupa sukladno definiranoj radnji tog pravila (ACCEPT, DROP, REJECT, … ) • ako niti jedno pravilo nije zadovljeno, tada se sa paketom postupa sukladno policy tog lanca
Modificiranje Netfilter tabela, lanaca i pravila • alat “iptables” • u biti default-ni Ubuntu firewall • “čita” podatke samo u zaglavlju paketa • iptables -t <tabela> -P <lanac> <policy> • iptables -t filter -L -n -v • iptables -t nat -L -n -v
9.1. Korisni alati i datoteke - traceroute • alat “traceroute” • ispis puta do odredišta • traceroute www.google.com
9.2. Korisni alati i datoteke - netstat • alat “netstat” • ispis aktivnih veza, routing tabela, statistike sučelja, masq veza i multicast članstva • netstat -a
9.3. Korisni alati i datoteke - ipcalc • alat “ipcalc” • IP netmask, broadcast, itd. kalkulator • ipcalc 161.53.19.1
9.4. Korisni alati i datoteke - nmap • alat “nmap” • “alat za istraživanje mreže, sigurnosni alat i alat za pretragu portova” • nmap -sP <rasponIPadresa> • nmap -v -A <IPadresa> • nmap -O <IPadresa>
9.6. Korisni alati i datoteke - logovi • datoteke • /var/log/syslog • /var/log/messages • alat “dmesg”
10. “Borbeni” komplet literature za daljnje učenje • Running linux, O’Reilly Media • autori: Matt Welsh, Matthias Kalle Dalheimer, Terry Dawson, Lar Kaufman • Linux network administrator’s guide, O’Reilly Media • autori: Tony Bautts, Terry Dawson, Gregor N. Purdy • Internet - tzv. HOWTO tutoriali • tldp.org/HOWTO
Laboratorijske vježbe • Laboratorij: C8-20 (FER, c-zgrada, 8. kat, Zavod za telekomunikacije) • Dva ciklusa lab. vježbi + provjera znanja iz laboratorija na kraju semestra; • Dva ciklusa lab. vježbi: • Prvi ciklus: 31.03. - 11.04.2014. (2 tjedna = 4 sata) • Drugi ciklus: 19.05. - 06.06.2014. (3 tjedna = 6 sati) • Laboratorij je otvorenog tipa; • Studenti vježbe mogu raditi samostalno ili u manjim grupama (2 do 3 studenta); • Svaki student je obvezannavesti vrijeme rada u laboratoriju >> koristiti popis na vratima laboratorija; • Skripta za lab. vježbe bit će dostupna na službenoj web stranici predmeta od 27. ožujka 2014.
Laboratorijske vježbe Hvala na pažnji! Pitanja?