Poglavlje 5 Konfiguracija mreže Tabela sadržaja 5.1 Uvod: netconfig je vaš prijatelj 5.2 Podešavanje mrežnog hardvera 5.3 TCP/IP podešavanje 5.4 PPP 5.5 Bežično 5.6 Mrežni sustavi datoteka 5.1 Uvod: netconfig je vaš prijatelj Kada prvi put instalirate Slackware, instalacijski program pozove netconfig program. netconfig pokušava izvršiti sljedeće funkcije za vas: Pita vas ime vašeg računala i ime domena za vaše računalo. Daje vam kratko objašnjenje raznih vrsta shema za adresiranje, kaže kada se trebaju koristiti i pita vas koju shemu IP adresiranja želite koristiti za podešavanje vaše mrežne kartice: Statička IP DHCP Loopback Zatim vam nudi automatsko pronalaženje mrežne kartice koje će podesiti. netconfig će uspješno odraditi 80% posla podešavanja i konfiguriranja vašeg LAN spajanja ako mu dopustite. Obratite pažnju da vam savjetujemo da pregledate konfiguracijsku datoteku iz nekoliko razloga: 1. Nikada ne biste trebali vjerovati programu za podešavanje koji konfigurira vaše računalo. Ako koristite program za podešavanje, trebali biste osobno pregledati konfiguraciju. 2. Ako i dalje učite upravljanje Slackware i Linux sistemom, čitanje ispravne konfiguracije može biti od pomoći. Makar ćete znati kako konfiguracija treba izgledati. Ovo će vam dozvoliti da ispravite probleme uslijed pogrešne konfiguracije sustava kasnije u budućnosti. 5.2 Podešavanje mrežnog hardvera Pošto ste odlučili da želite dovesti svoju Slackware mašinu na neku vrstu mreže, prva stvar koja vam je potrebna je Linux kompatibilna mrežna kartica. Morati ćete malo obratiti pažnju kako biste bili sigurni da je kartica zaista Linux kompatibilna (molim vas, pogledajte Projekt Dokumentacije Linux-a i/ili dokumentaciju kernela radi informacije o trenutnom statusu vaše predložene mrežne kartice). Kao opće pravilo, vjerovatno ćete biti ugodno iznenađeni brojem mrežnih kartica koje su podržane pod nešto modernijim kernelima. Pošto smo to naglasili, ipak ću predložiti da se obratite nekoj od mnogih listi hardvera kompatibilnog sa Linux-om (kao što su Linkovi hardverske kompatibilnosti grupe GNU/Linux početnika i Hardverski HOWTO Projekta Dokumentacije Linux-a) koje su dostupne na Internetu prije nego što kupite karticu. Malo vremena provedenog u istraživanju vam može sačuvati dane ili čak tjedne za pokušaje podešavanja kartice koja čak uopće nije kompatibilna sa Linux-om. Kada posjetite liste Linux hardverske kompatibilnosti koje su dostupne na Internetu ili pogledate dokumentaciju za kernel instaliranu na vašoj mašini, biti će mudro da zabilježite koji kernel modul trebate koristiti radi podrške vašoj mrežnoj kartici. 5.2.1 Učitavanje mrežnih modula Kernel moduli koji trebaju biti podignuti pri startanju sustava se učitavaju iz datoteke rc.modules u /etc/rc.d ili pomoću kernelovog automatskog učitavanja modula koje se starta preko /etc/rc.d/rc.hotplug. Podrazumjevana datoteka rc.modules uključuje odjeljak uređaja za mrežu. Ako otvorite rc.modules i pogledate u taj dio, primjetiti ćete da ona prvo provjerava izvršnu datoteku rc.netdevice u /etc/rc.d/. Ovu skripta je napravljena ukoliko setup uspješno pronađe vaše mrežne uređaje tokom instalacije. Ispod tog ?if? bloka se nalazi lista mrežnih uređaja i modprobe linija, sve zakomentirane. Pronađite vaš uređaj i skinite oznaku za komentar sa odgovarajuće modprobe linije, pa onda snimite datoteku. Izvršavanje rc.modules kao root bi sada trebalo učitati upravljački program za vaš mrežni uređaj (kao i bilo koji drugi modul koji je izlistan, a nije zakomentiran). Primjetite da neki moduli (kao što je ne2000 upravljački program) zahtjevaju parametre; budite sigurni da ste izabrali ispravnu liniju. 5.2.2 LAN (10/100/1000Base-T i Base-2) kartice Ovaj naslov podrazumjeva sve interne PCI i ISA mrežne kartice. Pogonski programi za ove kartice se pružaju preko kernelovih modula koji se mogu učitati, kao što je objašnjeno u prethodnom dijelu. /sbin/netconfig bi trebao pronaći vašu karticu i uspješno podesiti vašu rc.netdevice datoteku. Ako se ovo ne dogodi, najvjerovatnije modul koji pokušavate učitati za datu karticu nije odgovarajući (nije nečuveno da različite generacije istog modela kartice od nekih proizvođača zahtjevaju različite module). Ukoliko ste sigurni da je modul kojeg pokušavate učitati onaj pravi, sljedeće što trebate razmotriti je dokumentacija za taj modul, kako biste otkrili da se možda ne zahtjevaju posebni parametri tokom učitavanja modula. 5.2.3 Modemi Kao i LAN kartice, modemi mogu doći sa raznim opcijama povezivanja sa računalom. Sve do nedavno, većina modema su bili 8 ili 16-o bitne ISA kartice. Uz trud Intela i skoro svih proizvođača matičnih ploča ISA sabirnice su u potpunosti izbačene, pa je sada normalno da su većina modema ili vanjski koji se povezuju na serijski ili USB port, ili da su interni PCI modemi. Ukoliko želite da vaš modem radi sa Linux-om, VEOMA je važno istražiti kakav je modem kojeg želite nabaviti, posebno ako razmatrate uzeti PCI modem. Mnogi, ako ne i svi, PCI modemi dostupni u prodavaonicama su WinModemi. WinModemu nedostaje nešto osnovnog hardvera na samoj pločici modema: fukncije koje obavlja ovaj hardver se prebacuju na glavni procesor pomoću upravljačkog programa za modem i Windows operativnog sustava. Ovo znači da oni nemaju standardno serijsko sučelje kojeg PPPD očekuje da vidi kada pokušava pozvati vašeg Internet davatelja usluga. Ako želite buti apsolutno sigurni da će modem kojeg ćete kupiti raditi u Linux-u, uzmite vanjski hardverski modem koji se povezuje na serijski port vašeg PC-ja. Ovi garantirano rade bolje i biti će manji problem za instaliranje i održavanje, iako im je potrebno vanjsko napajanje i često su skuplji. Postoji nekoliko Internet stranica koji pružaju upravljačke programe i podršku za podešavanje WinModema. Neki korisnici su prijavili kako su uspješno konfigurirali i instalirali upravljačke programe za razne WinModeme, uključujući tu Lucent, Conexant i Rockwell čipsete. Pošto potreban softver za ove uređaje nije uključen kao dio Slackware-a, i razlikuje se od upravljačkog programa do upravljačkog programa, nećemo detaljno pričati o njima. 5.2.4 PCMCIA Kao dio vaše Slackware instalacije ponuđena vam je prilika da instalirate pcmcia paket (u ?A? seriji paketa). Ovaj paket u sebi sadrži programe i datoteke koji su potrebni za rad sa PCMCIA karticama pod Slackware-om. Važno je zapamtiti da pcmcia paket instalira samo opće programe koji su potrebni za rad sa PCMCIA karticama pod Slackware-om. On NE instalira nijedan upravljački program ili modul. Dostupni upravlječki programi i moduli će biti u /lib/modules/`uname -r`/pcmcia mapi. Možda ćete morati malo eksperimentirati kako biste otkrili koji će modul raditi sa vašom mrežnom karticom. Morati ćete urediti /etc/pcmcia/network.opts (za Ethernet kartice) ili /etc/pcmcia/wireless.opts (ukoliko imate bežičnu mrežnu karticu). Kao i većina Slackware konfiguracijskih datoteka, i ova dva imaju dobre komentare i trebalo bi biti lako odrediti koje promjene treba napraviti. 5.3 TCP/IP podešavanje Do ovog trenutka, vaša mrežna kartica bi trebala biti fizički instalirana u vaše računalo i svi potrebni kernelovi moduli bi trebali biti učitani. Još uvijek nećete moći komunicirati preko vaše mrežne kartice, ali sve informacije o mrežnom uređaju se mogu dobiti pomoću ifconfig -a. # ifconfig -a eth0 Link encap:Ethernet HWaddr 00:A0:CC:3C:60:A4 UP BROADCAST NOTRAILERS RUNNING MULTICAST MTU:1500 Metric:1 RX packets:110081 errors:1 dropped:0 overruns:0 frame:0 TX packets:84931 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:100 RX bytes:114824506 (109.5 Mb) TX bytes:9337924 (8.9 Mb) Interrupt:5 Base address:0x8400 lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:2234 errors:0 dropped:0 overruns:0 frame:0 TX packets:2234 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:168758 (164.8 Kb) TX bytes:168758 (164.8 Kb) Ako biste samo ukucali /sbin/ifconfig bez sufiksa -a, ne biste vidjeli sučelje eth0, pošto vaša mrežna kartica još uvek nema valjanu IP adresu ili rutu. Iako postoji mnogo različitih načina podešavanja mreže, svi oni se mogu podijeliti na dva tipa: statički i dinamički. Statičke mreže se podešavaju tako da svaki nod (geek izraz za stvar sa IP adresom) uvijek ima istu IP adresu. Dinamičke mreže se podešavaju tako da se IP adrese nodova kontroliraju od strane jednog servera koji se zove DHCP server. 5.3.1 DHCP DHCP (akronim od Dynamic Host Configuration Protocol), je način na koji IP adresa može biti određena računalu prilikom startanja. Kada se pokrene DHCP klijent, on onda šalje zahtjev na lokalnu mrežu koji je namjenjen DHCP serveru da mu dodjeli IP adresu. DHCP server ima skup (ili opseg) IP adresa koje su dostupne. Server će odgovoriti na ovaj zahtjev sa IP adresom iz skupa, zajedno sa vremenom izdavanja (lease time). Jednom kada vrijeme izdavanja za datu IP adresu istekne, klijent mora opet kontaktirati server i ponoviti pregovor. Klijent će prihvatiti IP adresu od servera i podesiti će zahtjevano sučelje sa tom IP adresom. Međutim, postoji jedan zgodan trik kojeg DHCP klijenti koriste prilikom pregovora za IP adresu koja će im biti dodjeljena. Klijent će zapamtiti posljednju dodjeljenu IP adresu, i tražiti će da mu server opet dodjeli posljednju dodjeljivanu IP adresu opet prilikom pregovora. Ako je moguće, server će to učiniti, ali ako nije, dodjeljuje se nova adresa. Pa tako, pregovor sliči na sljedeći razgovor: Klijent: Ima li DHCP server dostupan na mreži? Server: Da, ima. Ovdje sam. Klijent: Meni treba IP adresa. Server: Možeš uzeti 192.168.10.10 na 19200 sekundi. Klijent: Hvala. Klijent: Ima li DHCP server dostupan na mreži? Server: Da, ima. Ovdje sam. Klijent: Meni treba IP adresa. Posljednji put kad smo razgovarali, dobio sam 192.168.10.10; Mogu li je dobiti opet? Server: Da, možeš (ili Ne, ne možeš: uzmi 192.168.10.12 umjesto te). Klijent: Hvala. DHCP klijent u Linux-u je /sbin/dhcpcd. Ukoliko otvorite /etc/rc.d/rc.inet1 u vašem omiljenom uređivaču teksta primijetiti ćete da se /sbin/dhcpcd poziva oko sredine skripte. Ovo će imati za rezultat razgovor koji je prikazan gore. dhcpcd će također pratiti količinu vremena koja je prošla od izdavanja trenutne IP adrese i automatski će kontaktirati DHCP server sa zahtjevom da se izdavanje obnovi kada je neophodno. DHCP također može kontrolirati dodatne informacije kao što je ntp server koji se treba koristiti itd. Podešavanje DHCP-a na Slackware-u je jednostavno. Samo pokrenite netconfig i izaberite DHCP kada vam bude ponuđen. Ako imate više od jednog NIC-a i ne želite da eth0 bude konfiguriran kao DHCP, samo otvorite datoteku /etc/rc.d/rc.inet1.conf i promijenite potrebnu varijablu za vaš NIC u to ?YES?. 5.3.2 Statička IP Statičke IP adrese su fiksne adrese koje se mijenjaju samo ukoliko im se to ručno naredi. One se koriste u slučajevima kada administrator ne želi mjenjati IP informaciju, a takvi slučajevi su interni serveri na LAN mreži, bilo koji server koji je povezan na Internet, i mrežni ruteri. Sa statičkim IP adresiranjem vi dodjeljujete adresu i ostavljate je takvom. Druga računala znaju da ste uvijek na toj određenoj IP adresi i mogu vas kontaktirati uvijek preko te adrese. 5.3.3 /etc/rc.d/rc.inet1.conf Ako planirate dodijeljivanje IP adrese vašoj novom Slackware računalu, možete to učiniti ili preko netconfig skripte, ili možete upisati u datoteku /etc/rc.d/rc.inet1.conf. U /etc/rc.d/rc.inet1.conf , primijetiti ćete: # Primary network interface card (eth0) IPADDR[0]="" NETMASK[0]="" USE_DHCP[0]="" DHCP_HOSTNAME[0]="" Pa onda dalje na dnu: GATEWAY="" U ovom slučaju, naš zadatak je samo da stavimo ispravne informacije između navodnika. Ove promijenjive se pozivaju u /etc/rc.d/rc.inet1 prilikom startanja kako bi se podesila mrežna sučelja. Za svaki NIC jednostavno unesite ispravnu IP informaciju, ili stavite ?YES? za USE_DHCP. Slackware će podešavati sučelja sa infomacijama dostupnim ovdje navedenim redom. DEFAULT_GW promjenjiva postavlja podrazumjevanu rutu za Slackware. Sva komunikacija između vašeg i drugih računala na Internetu mora proći kroz taj gateway ukoliko za njih nije specifirana druga ruta. Ako koristite DHCP, najčešće nećete morati ništa unositi ovdje, pošto će DHCP server naznačiti koji se gateway treba koristiti. 5.3.4 /etc/resolv.conf U redu, znači vi imate IP adresu, imate podrazumjevani gateway, ali čemu sve to ako ne možete prevoditi imena u IP adrese? Niko ne želi kucati 72.9.234.112 u svoj Internet preglednik kako bi došao do www.slackbook.org. Poslije svega, tko bi drugi osim autora zapamtio tu IP adresu? Trebamo podesiti DNS, ali kako? Tada u igru ulazi /etc/resolv.conf. Dobre su šanse da već imate dobre opcije u /etc/resolv.conf. Ukoliko podešavate mrežnu spajanje pomoću DHCP-a, DHCP server će podesiti ovu datoteku umjesto vas. (Tehnički, DHCP server samo kaže dhcpcd-u što tu da stavi, a ovaj ga posluša). Ukoliko trebate ručno podesiti listu DNS servera, morati ćete urediti datoteku /etc/resolv.conf. Ispod je primjer: # cat /etc/resolv.conf nameserver 192.168.1.254 search lizella.net Prva linija je jednostavna. Direktiva nameserver govori kojim DNS serverima se šalju upiti. Zbog potrebe ovo su uvijek IP adrese. Tu možete staviti koliko hoćete servera. Slackware će sretno pitati jednog za drugim sve dok jedan ne vrati odgovor. Druga linija je malo zanimljivija. Direktiva search nam daje listu imena domena koja se podrazumjevaju svaki put kada se napravi DNS upit. Ovo vam dopušta kontaktiranje mašine samo po prvom djelu njenog FQDN (potpuno kvalificiranog imena domena). Na primjer, ukoliko bi ?slackware.com? bio u vašoj search stazi, mogli biste doći do http://store.slackware.com tako što biste naredili vašem pregledniku da ide na http://store. # ping -c 1 store PING store.slackware.com (69.50.233.153): 56 data bytes 64 bytes from 69.50.233.153 : icmp_seq=0 ttl=64 time=0.251 ms 1 packets transmitted, 1 packets received, 0% packet loss round-trip min/avg/max = 0.251/0.251/0.251 ms 5.3.5 /etc/hosts Sada kada imamo DNS koji radi, što ako hoćemo zaobići naš DNS server, ili dodati DNS unos za računalo koje nije u DNS-u? Slackware koristi često voljenu datoteku /etc/hosts u kojem se nalazi lokalna lista DNS imena i IP adresa kojima oni odgovaraju. # cat /etc/hosts 127.0.0.1 localhost locahost.localdomain 192.168.1.101 redtail 172.14.66.32 foobar.slackware.com Ovdje možete vidjeti da localhost ima IP adresu 127.0.0.1 (uvek rezervirana za localhost), redtail može biti kontaktiran na 192.168.1.101, i foobar.slackware.com je 172.14.66.32. 5.4 PPP Mnogi ljudi se i dalje spajaju na Internet preko neke vrste dialup spajanja. Najčešća metoda je PPP, iako se povremeno koristi i SLIP. Podešavanje vašeg sustava s PPP-om sa udaljenim serverom je prilično jednostavno. Mi smo uključili nekoliko alata koji će vam pomoći u podešavanju. 5.4.1 pppsetup U Slackware-u se nalazi program sa imenom pppsetup koji podešava vaše računalo da koristi vaš dialup nalog. Izgled mu je sličan našem netconfig programu. Da biste pokrenuli program, budite sigurni da ste prijavljeni kao root. Onda ukucajte pppsetup kako biste ga pokrenuli. Program će vam postaviti niz pitanja za koje ćete mu vi dati potrebne odgovore. Stvari kao što su vaš modem uređaj, inicijalizacijska naredba za modem, broj telefona Internet davatelja usluga. Neke postavke će imati podrazumjevane vrijednosti koje možete prihvatiti u većini slučajeva. Kada se program izvrši, on će napraviti ppp-go program i ppp-off program. Ovi se koriste da pokrenu i zaustave, PPP konekciju. Ova dva programa se nalaze u /usr/sbin i potrebne su im root privilegije kako bi se pokrenuli. 5.4.2 /etc/ppp Za većinu korisnika, pokretanje pppsetup će biti dovoljno. Međutim, mogu se dogoditi slučajevi da želite promijeniti neke vrijednosti koje koristi PPP demon. Sve informacije za podešavanje se nalaze u /etc/ppp. Ovo je lista čemu služe te datoteke: ip-down Ova skripta se izvrši od strane pppd-a poslije prekidanja PPP veze. ip-up Ova skripta se izvrši od strane pppd-a kada se uspješno uspostavi PPP veza. U ovu datoteku stavite sve komande koje želite izvršiti poslije uspješnog spajanja. options Opće opcije konfiguracije za pppd. options.demand Opće opcije konfiguracije za pppd kad se pokrene u demand dialing modu. pppscript Komande koje se šalju modemu. pppsetup.txt Zabilješka što ste sve unjeli kada ste pokrenuli pppsetup. Note Većina ovih datoteka neće biti ovdje sve dok ne pokrenete pppsetup. 5.5 Bežično Bežično umrežavanje je i dalje relativno nova stvar u svijetu računala, iako brzo napreduje kako mnogi ljudi kupuju prijenosna računala i žele mrežu u pokretu, bez potrebe da se muče sa nekim starim kablovima. Ovaj trend se ne usporava. Nažalost, bežično umrežavanje još uvijek nije jako podržano u Linux-u kao što je tradicionalno umrežavanje žicama. Postoje tri osnovna koraka podešavanja 802.11 bežičnih mrežnih kartica: 1. Hardverska podrška za bežičnu karticu 2. Podešavanje da se kartica spoji na bežični access point 3. Podešavanje mreže 5.5.1 Hardverska podrška Hardverska podrška za bežičnu karticu se pruža preko kernela, bilo u vidu modula ili kao ugrađena u kernel. Većina novijih mrežnih kartica je podržano preko kernel modula, pa ćete htjeti pronaći odgovarajući kernel modul i da ga učitate iz /etc/rc.d/rc.modules. netconfig možda neće detektirati vašu bežičnu karticu, pa ćete vjerovatno morati samo znati koja je. Pogledajte http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/ za više informacija o kernel modulima za razne bežične kartice. 5.5.2 Podešavanje bežičnih postavki Većina ovog posla se radi preko iwconfig, pa kao i uvijek pročitajte man stranicu za iwconfig ukoliko vam je potrebno još informacija. Prvo, željeti ćete podesiti vaš bežični access point. Oni se prilično razlikuju u svojoj terminologiji, i načinu podešavanja, tako da ćete možda morati malo prilagoditi svom hardveru. Biti će vam potrebne makar sljedeće infomacije: Domena ID, ili ime mreže (tzv. ESSID od strane iwconfig) Kanal koji WAP koristi Postavke enkripcije, uključujući sve ključeve koji se koriste (ako može heksadecimalne) Upozorenje UPOZORENJE ZA WEP. WEP je prilično nesiguran, ali je mnogo bolji od ničega. Ukoliko želite veću mjeru sigurnosti vaše bežične mreže, trebali biste istražiti VPN-ove ili IPSec, oboje su izvan opsega ovog dokumenta. Takođe ćete možda željeti podesiti vaš WAP da ne reklamira svoju domenu ID / ESSID. Detaljna rasprava o bežičnim pravilima je izvan opsega ovog dijela, ali brza pretraga na Google-u će vam dati više nego što biste željeli znati. Jednom kada ste skupili potrebne informacije, i pretpostavljajući da ste koristili modprobe kako biste učitali odgovarajući kernel upravljački program, možete urediti rc.wireless.conf i dodati vaše postavke. Datoteka rc.wireless.conf je malo nesređena. Najlakše je da izmjenite generički dio sa vašim ESSDID, KEY i CHANNEL koje zahtjeva vaša kartica. (Pokušajte ne staviti CHANNEL, i ako radi, odlično; ako ne, postavite odgovarajući CHANNEL.) Imena promijenjivih u rc.wireless.conf odgovaraju parametrima za iwconfig i čita ih rc.wireless pa ih koristi za odgovarajuće iwconfig komande. Ako imate heksadecimalni ključ, to je idealno, pošto onda možete biti prilično sigurni da će se vaš WAP i iwconfig složiti oko ključa. Ako imate samo string, ne možete biti sigurni kako će vaš WAP to prevesti u heksadecimalni ključ, pa može biti potrebno nešto nagađanja (ili dobavite ključ vašeg WAP-a u heksadecimalnom formatu). Kada ste izmjenjili rc.wireless.conf, pokrenite rc.wireless kao root, pa onda pokrenite rc.inet1, opet kao root. Možete testirati vašu bežičnu mrežu sa standardnim alatima za testiranje kao što je ping, zajedno sa iwconfig. Ukoliko imate žičano mrežno sučelje možete iskoristiti naredbu ifconfig da ga isključite dok testirate vašu bežičnu mrežu kako biste bili sigurni da nema miješanja. Također, možete testirati vaše postavke prilikom ponovnog podizanja. Sada kada ste vidjeli kako urediti /etc/rc.d/rc.wireless za podrazumjevanu mrežu, bliže ćemo pogledati iwconfig i način na koji on radi. Ovo će vas naučiti brzi put da se podesi wifi za slučajeve kada se nađete u Internet kafe-u, kafiću ili na nekom drugom mjestu sa bežičnom mrežom, a želite se spojiti. Prvi korak je da kažete vašem bežičnom NIC-u kojoj mreži ćete se priključiti. Budite sigurni da ste zamijenili ?eth0? sa imenom mrežnog sučelja koje koristi vaša kartica i ?mynetwork? sa essid koji želite koristiti. Da, mi znamo da ste toliko pametni. Sljedeće ćete trebati naznačiti enkripcijski ključ (ako treba) koji se koristi na bežičnoj mreži. Na kraju, naznačite koji kanal se koristi (ako treba). # iwconfig eth0 essid "mynetwork" # iwconfig eth0 key XXXXXXXXXXXXXXXXXXXXXXXXXXX # iwconfig eth0 channel n 5.5.3 Podešavanje mreže Ovo se radi na potpuno isti način kao i kod žičanih mreža. Jednostavno se pozovote na prethodne dijelove ovog poglavlja. 5.6 Mrežni sustavi datoteka Do sada biste trebali imati funkcionalnu TCP/IP konekciju do vaše mreže. Trebali biste biti u stanju ping-ati druga računale na vašoj internoj mreži i, ako ste podesili odgovarajući gateway, također ping-ati računala na samom Internetu. Kao što znamo, cijela poanta dovođenja računala na Internet je pristup informacijama. Dok neki ljudi možda umrežavaju računalo iz čistog zadovoljstva, većina ljudi želi dijeliti datoteke itd. Oni žele pristup dokumentima na Internetu. Imati instaliranog i funkcionalnog TCP/IP na vašem novom Slackware sustavu je korak do tog cilja, ali samo sa instaliranim TCP/IP, funkcionalnost će biti samo osnovna. Da bismo dijelili datoteke, morati ćemo ih prenositi tamo i nazad koristeći ili FTP ili SCP. Ne možemo gledati datoteke na našem novom Slackware računalu iz Network Neighborhood ili My Network Places mape na Windows računalima. Željeli bismo jednostavno pristupati datotekama na drugim Unix računalima. Idealno, željeli bismo da možemo koristiti mrežni sustav datoteka radi transparentnog pristupa našim datotekama na drugim računalima. Programi koje koristimo za interakciju sa informacijama koje se nalaze na našim računalima stvarno nemaju potrebu da znaju na kojem računalu je snimljena određena datoteka; oni samo moraju znati da postoji i kako da dođu do nje. Onda je obaveza operativnog sustava da osigura pristup toj datoteci kroz dostupne sustave datoteka i mrežne sustave datoteka. Dva najčešće korištena mrežna sustava datoteka su SMB (implementiran u Sambi) i NFS. 5.6.1 SMB/Samba/CIFS SMB (akronim od Server Message Block) je nasljednik starijeg NetBIOS protokola koji se na početku koristio u IBM-u na njihovim LAN Menadžer proizvodima. Microsoft je uvijek bio prilično zainteresiran za NetBIOS i njegove nasljednike (NetBEUI, SMB i CIFS). Samba projekt postoji od 1991. godine, kada je napisan da se poveže IBM PC koji je koristio NetBIOS sa Unix serverom. Ovih dana, SMB je preferirana metoda za dijeljenje datoteka i pisačkih servisa preko mreže za doslovno cijeli civilizirani svijet zato što ga Windows podržava. Sambin-a konfiguracijska datoteka je /etc/samba/smb.conf; jedan od najbolje komentiranih i dokumentiranih konfiguracijskih datoteka koji ćete ikad sresti. Primjeri dijeljenja su podešeni da vidite i modificirate prema vašim potrebama. Ukoliko vam je potrebna veća kontrola onda je man stranica na smb.conf nezaobilazna. Pošto je Samba tako dobro dokumentirana, mi nećemo prepisivati ovdje dokumentaciju. Ipak ćemo, međutim, brzo pokriti osnove. smb.conf je podijeljen na više dijelova: jedan dio po dijeljenoj stvari, i globalni dio za postavljanje opcija koje će biti svuda primjenjivane. Neke opcije su važeće samo u globalnom dijelu; neke su važeće samo izvan globalnog dijela. Zapamtite da globalna sekcija može biti ignorirana bilo kojom drugom sekcijom. Obratite se man stranicama za više informacija. Najvjerovatnije ćete morati urediti vašu smb.conf datoteku da bi odgovarao vašim mrežnim postavkama. Savjetujem da prepravite stavke navedene ispod: [global] # workgroup = NT-Domain-Name or Workgroup-Name, eg: LINUX2 workgroup = MYGROUP Promjenite ime radne grupe (workgoup) da bi bilo isto kao ime radne grupe ili ime domena kojeg koristite lokalno. # server string is the equivalent of the NT Description field server string = Samba Server Ovo će biti ime vašeg Slackware računala prikazano u mapi Network Neighborhood (ili My Network Places). # Security mode. Most people will want user level security. See # security_level.txt for details. NOTE: To get the behaviour of # Samba-1.9.18, you'll need to use "security = share". security = user Skoro sigurno ćete htjeti primjeniti sigurnost na nivou korisnika na vašem Slackware sustavu. # You may wish to use password encryption. Please read # ENCRYPTION.txt, Win95.txt and WinNT.txt in the Samba # documentation. # Do not enable this option unless you have read those documents encrypt passwords = yes Ako enkriptiranje lozinki nije uključeno, nećete moći koristiti Sambu sa sistemima NT 4.0, Win2k, WinXP i Win2003. Prethodne verzije Windows operativnog sustava nisu zahtjevale enkripciju za dijeljenje datoteka. SMB je autentifikacijski protokol, što znači da morate dati ispravno korisničko ime i lozinku kako biste koristili ovaj servis. Samba serveru govorimo koja su korisnička imena i lozinke ispravni pomoću smbpasswd naredbe. smbpasswd uzima nekoliko čestih opcija kojim mu govorite da li da doda tradicionalne korisnike ili da doda korisničke mašine (SMB zahtjeva da dodate računarska NetBIOS imena kao korisnička računala, ograničavajući na kojim se računalima netko može autentificirati). Dodavanje korisnika u /etc/samba/private/smbpasswd fajl. # smbpasswd -a user Dodavanje imena računala u /etc/samba/private/smbpasswd fajl. # smbpasswd -a -m machine Važno je zapamtiti da dato korisničko ime ili računalo već moraju postojati u /etc/passwd datoteci. Ovo možete postići jednostavno sa adduser naredbom. Primjetite da kada koristite adduser naredbu da dodate ime računala, morate imenu dodati znak za dolar (?$?). Međutim, ovo se ne treba raditi sa smbpasswd. smbpasswd sam doda znak za dolar. Pogrešno unošenje imena računala na ovaj način sa adduser komandom će rezultirati sa greškama kada pokušate dodati ime računala u Sambu. # adduser machine$ 5.6.2 Mrežni sustav datoteka (NFS) NFS (akronim od Network File System) je originalno napisan u Sun-u za njihov Solaris, implementaciju Unix-a. Dok je značajno jednostavniji za podešavanje u usporedbi sa SMB-om, također je značajno nesigurniji. Primarna nesigurnost u NFS-u je što je lako otkriti identifikacije korisnika i grupa od jedne mašine ka drugoj. NFS je neautentifikacijski protokol. Buduće verzije NFS protokola se upravo pripremaju sa fokusom na sigurnost, ali to nije slučaj u trenutku pisanja. Konfiguracijom NFS-a se vlada iz /etc/exports datoteke. Kada učitate podrazumjevanu /etc/exports datoteku u uređivač, vidjeti ćete praznu datoteku sa dvije linije komentara na vrhu. Morati ćemo dodati po liniju u ovu datoteku za svaki direktorij kojeg želimo izvoziti, sa listingom klijentskih radnih stanica kojima će biti dozvoljeno da mu pristupe. Na primjer, ukoliko želimo izvesti direktorij /home/foo za radnu stanicu Bar, jednostavno ćemo dodati liniju: /home/foo Bar(rw) u naš /etc/exports. Ispod ćete naći primjer iz man stranice za exports datoteku: # primer /etc/exports fajla / master(rw) trusty(rw,no_root_squash) /projects proj*.local.domain(rw) /usr *.local.domain(ro) @trusted(rw) /home/joe pc001(rw,all_squash,anonuid=150,anongid=100) /pub (ro,insecure,all_squash) Kao što vidite, postoje dostupne razne opcije, ali većina bi trebala biti prilično jasna iz ovog primjera. NFS radi pod pretpostavkom da dati korisnik na jednoj mašini u mreži ima isti ID korisnika (UID) na svim mašinama preko mreže. Kada se napravi pokušaj čitanja ili pisanja sa NFS klijenta na NFS server, UID se šalje kao dio zahtjeva za čitanje/pisanje. UID se koristi na isti način kao da je čitanje/pisanje došlo sa same lokalne mašine. Kao što vidite, ako bi netko mogao specificirati dati UID kada pristupa resursima na udaljenom sistemu, Loše Stvari (tm) bi mogle i sigurno će se dogoditi. Kao zaštita od ovoga, svaki direktorij se montira sa root_squash opcijom. Ovo mapira UID svih korisnika koji tvrde da su root na drugačiji UID, time sprečavajući root pristup datotekama i direktorijima u izvezenom direktoriju. Izgleda da je opcija root_squash uključena podrazumjevano kao sigurnosna mjera, ali autori savjetuju da je navedete u vašoj /etc/exports datoteci. Također možete izvesti direktorij direktno sa naredbene linije na serveru koristeći exportfs naredbu na sljedeći način: # exportfs -o rw,no_root_squash Bar:/home/foo Ova linija izvozi direkotorij /home/foo na računalo ?Bar? i daje računalu Bar dozvole za čitanje i pisanje. Dodatno, NFS server neće pozvati root_squash, što znači da svaki korisnik na Bar računalu sa UID ?0? (rootov UID) će imati iste privilegije kao root na serveru. Sintaksa doista izgleda čudno (posebno kada je direktorij specificiran računalo:/direktorijum/datoteka sintaksom, pozivate se na datoteku u direktoriju na datom računalu). Naći ćete više informacija u man stranici za exports datoteku.