Šta je mrežni fajl u windows-u. Šta bi trebalo biti u mrežnoj datoteci

Dobar provod, dragi čitaoci. Objavljujem drugi dio. Trenutni odjeljak se fokusira na implementacija mreže u linuxu(kako postaviti mrežu u Linuxu, kako dijagnosticirati mrežu u Linuxu i održavati mrežni podsistem u Linuxu).

Konfiguriranje TCP/IP-a na Linuxu za Ethernet umrežavanje

Za rad sa TCP/IP mrežnim protokolima u Linuxu dovoljno je imati samo loopback interfejs, ali ako trebate međusobno kombinirati hostove, naravno, potreban vam je mrežni interfejs, kanali za prijenos podataka (na primjer, upredeni par), eventualno neka vrsta mrežne opreme. Također, potrebno je imati instaliran (, itd.), koji se obično isporučuje u . Također treba imati mrežu (na primjer /etc/hosts) i mrežnu podršku.

Mrežne postavke

Počnimo sa razumijevanjem Linux mrežnih mehanizama ručnim konfiguriranjem mreže, odnosno od slučaja kada IP adresa mrežni interfejs statički. Dakle, prilikom postavljanja mreže morate uzeti u obzir i konfigurirati sljedeće parametre:

IP adresa- kao što je već spomenuto u prvom dijelu članka - ovo je jedinstvena adresa mašine, u formatu četiri decimalna broja odvojena tačkama. Obično, kada radite na lokalnoj mreži, bira se iz privatnih raspona, na primjer: 192.168.0.1

Subnet maska- također, 4 decimalna broja koja određuju koji dio adrese se odnosi na mrežnu/podmrežnu adresu, a koji dio na adresu hosta. Maska podmreže je broj koji se dodaje (u binarnom obliku) sa IP adresom kako bi se saznalo kojoj podmreži adresa pripada. Na primjer, adresa 192.168.0.2 sa maskom 255.255.255.0 pripada podmreži 192.168.0.

Adresa podmreže- određuje maska ​​podmreže. U isto vrijeme, ne postoje podmreže za loopback interfejse.

Adresa za emitovanje- adresa koja se koristi za slanje paketa emitovanja koje će primiti svi hostovi na podmreži. Obično je jednak adresi podmreže sa vrijednošću hosta 255, odnosno za podmrežu 192.168.0 emitiranje će biti 192.168.0.255, slično, za podmrežu 192.168, emitiranje će biti 192.168.255.255. Ne postoji adresa emitiranja za sučelje povratne petlje.

IP adresa mrežnog prolaza je adresa mašine koja je podrazumevani gateway za komunikaciju sa spoljnim svetom. Može postojati više mrežnih prolaza ako je računar povezan na više mreža u isto vrijeme. Adresa mrežnog prolaza se ne koristi na izolovanim mrežama (nisu povezane na WAN), jer te mreže nemaju gdje poslati pakete van mreže, isto vrijedi i za loopback interfejse.

IP adresa servera imena (DNS server)- adresa servera koji konvertuje imena hostova u IP adrese. Obično pruža ISP.

Linux fajlovi mrežnih postavki (konfiguracijski fajlovi)

Da biste razumjeli umrežavanje u Linuxu, svakako bih vam savjetovao da pročitate članak "". Općenito, sav rad na Linuxu se zasniva na tome što se rađa kada se OS pokrene i proizvodi svoje potomke, koji zauzvrat obavljaju sav potreban posao, bilo da se radi o bash-u ili demonu. Da, i čitavo pokretanje Linuxa je zasnovano na tome, koji precizira čitav niz pokretanja malih uslužnih programa sa različitim parametrima koji se sekvencijalno pokreću/zaustavljaju kada se sistem pokrene/zaustavi. Linux mrežni podsistem počinje na isti način.

Svaka Linux distribucija ima malo drugačiji mehanizam inicijalizacije mreže, ali mislim da će cjelokupna slika biti jasna nakon čitanja. Ako pogledate početne skripte mrežnog podsustava bilo koje Linux distribucije, tada će kako konfigurirati mrežu pomoću konfiguracijskih datoteka postati više ili manje jasno, na primjer, u Debianu (ovu distribuciju uzimamo kao osnovu), skripta je odgovoran za inicijalizaciju mreže /etc/init.d/networking gledanjem koje:

Net-server:~#cat /etc/init.d/networking #!/bin/sh -e ### POČNI INIT INFORMACIJE # Pruža: umrežavanje # Obavezni početak: mountkernfs $local_fs # Obavezno zaustavljanje: $local_fs # Trebalo bi -Start: ifupdown # Treba-Stop: ifupdown # Zadano-Start: S # Zadano-Stop: 0 6 # Kratak opis: Podignite mrežna sučelja. ### END INIT INFO PATH="/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin" [ -x /sbin/ifup ] || izlaz 0 . /lib/lsb/init-functions process_options() ( [ -e /etc/network/options ] || return 0 log_warning_msg "/etc/network/options i dalje postoji i bit će ZAGNOSOVANO! Pročitajte README.Debian od netbase." ) check_network_file_systems() ( [ -e /proc/mounts ] || vrati 0 ako [ -e /etc/iscsi/iscsi.initramfs ]; zatim log_warning_msg "ne dekonfiguriše mrežna sučelja: iSCSI root je montiran." izlaz 0 fi exec 9<&0 < /proc/mounts while read DEV MTPT FSTYPE REST; do case $DEV in /dev/nbd*|/dev/nd*|/dev/etherd/e*) log_warning_msg "not deconfiguring network interfaces: network devices still mounted." exit 0 ;; esac case $FSTYPE in nfs|nfs4|smbfs|ncp|ncpfs|cifs|coda|ocfs2|gfs|pvfs|pvfs2|fuse.httpfs|fuse.curlftpfs) log_warning_msg "not deconfiguring network interfaces: network file systems still mounted." exit 0 ;; esac done exec 0<&9 9<&- } check_network_swap() { [ -e /proc/swaps ] || return 0 exec 9<&0 < /proc/swaps while read DEV MTPT FSTYPE REST; do case $DEV in /dev/nbd*|/dev/nd*|/dev/etherd/e*) log_warning_msg "not deconfiguring network interfaces: network swap still mounted." exit 0 ;; esac done exec 0<&9 9<&- } case "$1" in start) process_options log_action_begin_msg "Configuring network interfaces" if ifup -a; then log_action_end_msg $? else log_action_end_msg $? fi ;; stop) check_network_file_systems check_network_swap log_action_begin_msg "Deconfiguring network interfaces" if ifdown -a --exclude=lo; then log_action_end_msg $? else log_action_end_msg $? fi ;; force-reload|restart) process_options log_warning_msg "Running $0 $1 is deprecated because it may not enable again some interfaces" log_action_begin_msg "Reconfiguring network interfaces" ifdown -a --exclude=lo || true if ifup -a --exclude=lo; then log_action_end_msg $? else log_action_end_msg $? fi ;; *) echo "Usage: /etc/init.d/networking {start|stop}" exit 1 ;; esac exit 0

možete pronaći nekoliko funkcija koje provjeravaju montirane mrežne sisteme datoteka ( check_network_file_systems(), check_network_swap()), kao i provjeru postojanja neke još nerazumljive konfiguracije /etc/network/options ( funkcija process_options()), a na samom dnu, po dizajnu slučaj "$1" u i u skladu sa unesenim parametrom (start/stop/force-reload|restart ili bilo koji drugi) vrši određene radnje. Od ovih veoma određene radnje", primjer startnog argumenta pokazuje da se funkcija prva pokreće process_options, zatim se fraza šalje u dnevnik Konfigurisanje mrežnih interfejsa, i pokrenite naredbu ifup -a. Ako pogledate man ifup, možete vidjeti da ova komanda čita konfiguraciju iz datoteke /etc/network/interfaces i prema ključu -a pokreće sva sučelja koja imaju parametar auto.

Naredbe ifup i ifdown se mogu koristiti za konfiguriranje (ili, respektivno, dekonfiguriranje) mrežnih sučelja na osnovu definicija interfejsa u datoteci /etc/network/interfaces.

-a, --sve
Ako se da ifup-u, utiče na sva sučelja označena kao auto. Interfejsi se prikazuju redosledom kojim su definisani u /etc/network/interfaces. Ako se da ifdown, utječe na sva definirana sučelja. Interfejsi se spuštaju redoslijedom kojim su trenutno navedeni u datoteci stanja. Samo interfejsi definisani u /etc/network/interfaces će biti oboreni.

ip-server:~# cat /etc/network/interfaces # Ova datoteka opisuje mrežna sučelja dostupna na vašem sistemu # i kako ih aktivirati. Za više informacija pogledajte interfejsi(5). # Loopback mrežno sučelje auto lo iface lo inet loopback # Primarno mrežno sučelje dopusti-hotplug eth0 iface eth0 inet dhcp dopusti-hotplug eth2 iface eth2 inet statička adresa 192.168.1.1 netmask 255.25.185.25.25.18.2.

U ovoj liniji konfiguracije dozvoli hotplug I auto su sinonimi i interfejsi će biti pokrenuti na komandu ifup -a. To je, zapravo, cijeli lanac rada mrežnog podsistema. Slično, u drugim distribucijama: u RedHat-u i SUSE-u, mreža se pokreće skriptom /etc/init.d/network. Nakon što ste ga ispitali, na sličan način možete pronaći gdje se nalazi mrežna konfiguracija.

/etc/hosts

Ovaj fajl sadrži listu IP adrese I imena hostova koja im odgovaraju (adrese).Format datoteke se ne razlikuje od glavne datoteke:

Ip-server:~# cat /etc/hosts # ip host.in.domain host 127.0.0.1 localhost 127.0.1.1 ip-server.domain.local ip-server 192.168.1.1 ip-server.domain.local ip-server 192.168.1.1 ip-server.domain.local ip-server.

Istorijski gledano, ova datoteka se koristila umjesto DNS usluge. Trenutno se datoteka može koristiti i umjesto DNS servisa, ali samo pod uslovom da se broj mašina na vašoj mreži mjeri u jedinicama, a ne u desetinama ili stotinama, jer ćete u tom slučaju morati kontrolisati ispravnost ove datoteke na svakoj mašini.

/etc/hostname

Ovaj fajl sadrži NetBIOS ime hosta:

Ip-server:~# cat /etc/hostname ip-server

Ova datoteka pohranjuje imena i adrese lokalnih i drugih mreža. primjer:

Ip-server:~# cat /etc/networks default 0.0.0.0 loopback 127.0.0.0 link-local 169.254.0.0 home-network 192.168.1.0

Kada koristite ovu datoteku, mrežama se može upravljati po imenu. Na primjer, dodajte rutu ne ruta add 192.168.1.12 , A ruta add.

/etc/nsswitch.conf

Fajl definira redoslijed traženja imena hosta/networks, sljedeće linije su odgovorne za ovu postavku:

Za hostove: hostove: datoteke dns Za mreže: mreže: datoteke

Parametar datoteke specificira korištenje navedenih datoteka (/etc/hosts I /etc/networks odnosno), parametar dns specificira korištenje usluge dns.

/etc/host.conf

Datoteka specificira opcije razlučivanja imena za rezolver

Ip-server:~# cat /etc/host.conf multi on

Ova datoteka govori biblioteci razrješenja da vrati sve važeće adrese hosta koje se nalaze u /etc/hosts datoteci, a ne samo prvu.

/etc/resolv.conf

Ova datoteka definira parametre mehanizma prevođenja imena mreže u IP adresu. Običnim jezikom definiše DNS postavke. primjer:

Ip-server:~# cat /etc/resolv.conf nameserver 10.0.0.4 nameserver 10.0.0.1 search domain.local

Prva 2 reda označavaju DNS servere. Treći red specificira domene pretraživanja. Ako, prilikom rješavanja imena, ime nije FQDN ime, tada se ovaj domen zamjenjuje kao "kraj". Na primjer, kada se izvršava naredba ping host, pingovana adresa se pretvara u host.domain.local. Ostali parametri se mogu pročitati u man resolv.conf. Vrlo često Linux koristi dinamičko generiranje ove datoteke, koristeći tzv. programe /sbin/resolvconf. Ovaj program je posrednik između usluga koje dinamički pružaju servere imena (na primjer, DHCP klijent) i usluge koje koriste podatke servera imena. Za korištenje dinamički generirane datoteke /etc/resolv.conf, morate napraviti ovu datoteku simboličkom vezom na /etc/resolvconf/run/resolv.conf. U nekim distribucijama put može biti drugačiji, to će svakako biti zapisano man resolvconf.

Mrežna konfiguracija

Nakon što ste se upoznali s glavnim konfiguracijskim datotekama, možete pogledati . Komanda je već pomenuta gore. ifup, ifdown, ali ovi alati nisu baš univerzalni, na primjer, u RH distribucijama, ove naredbe nisu dostupne po defaultu. Osim toga, nove distribucije imaju novi alat za upravljanje mrežom visokog nivoa - , koji pripada iproute paketu. Njemu (paket iproute) ću posvetiti . I u sadašnjem postu to neću razmatrati. Naredbe opisane u nastavku pripadaju .

Dakle, da biste bili sigurni da će naredba raditi u bilo kojoj Linux distribuciji, trebate koristiti dvije osnovne staromodne komande. Ovo je , i arp. Prvi tim (odgovoran za postavljanje mrežnih interfejsa(IP, maska, gateway), sekunda () - postavljanje rutiranja, treći (arp) - upravljanje arp stolom. Želio bih napomenuti da će izvršenje ovih naredbi bez onemogućavanja standardne SystemV skripte za pokretanje mrežnog podsistema unijeti promjene samo do prvog ponovnog pokretanja/ponovnog pokretanja mrežnog servisa, jer. ako razmislite o tome svojim mozgom, možete razumjeti da je scenario /etc/init.d/networking pri sljedećem pokretanju, ponovo će pročitati gornje konfiguracije i primijeniti stare postavke. U skladu s tim, izlaz za trajno postavljanje postavki je ili ifconfig komanda sa odgovarajućim parametrima - uđite ili ručno ispravite odgovarajuće konfiguracije mrežnog interfejsa.

Slično, ako naredba ifconfig sa nedostajućim opcijama(na primjer, samo IP adresa), a zatim se ostalo dovršava automatski (na primjer, adresa za emitiranje se dodaje prema zadanim postavkama s adresom domaćina koja se završava na 255, a zadana maska ​​podmreže je 255.255.255.0).

Routing za dostupne interfejse u modernim kernelima uvek automatski podiže kernel. Ili bolje rečeno, kernel automatski formira direktne rute do mreže prema IP postavkama i podmreži u koju izgleda podignuti interfejs. Polje gateway (gateway) za takve unose pokazuje adresu izlaznog interfejsa ili *. U starijim verzijama kernela (broj kernela iz kojeg su rute počele automatski rasti - neću vam reći), bilo je potrebno ručno dodati rutu.

Ako postoji potreba za organizovanjem rute, onda morate koristiti . Možete dodavati i uklanjati rute pomoću ove naredbe, ali opet, ovo će pomoći samo dok ponovo ne pokrenete /etc/init.d/networking (ili drugu mrežnu skriptu u vašoj distribuciji). Da bi se rute automatski dodavale potrebno je, kao i kod naredbe ifconfig, dodati komande za dodavanje ruta u rc.local, ili ručno ispraviti odgovarajuće konfiguracije mrežnog interfejsa (npr. u Deb - /etc/network/options).

Po kojim pravilima formiraju se rute do mreža, Ja sam za

Linux mrežna dijagnostika

U Linuxu postoji veliki broj alata za mrežnu dijagnostiku, često vrlo sličnih Microsoftovim. Razmotrit ću 3 glavna mrežna dijagnostička uslužna programa, bez kojih će biti problematično identificirati probleme.

Mislim da je ovaj uslužni program poznat skoro svima. Posao ovog uslužnog programa je da slanje takozvani ICMP paketi udaljenom serveru, koji će biti specificiran u parametrima komande, server vraća poslane komande, i pingodbrojavanje vremena potrebno da poslani paket stigne do servera i vrati se. Na primjer:

# ping ya.ru PING ya.ru (87.250.251.3) 56(84) bajtova podataka. 64 bajta sa www.yandex.ru (87.250.251.3): icmp_seq=1 ttl=57 vreme=42,7 ms sa www.yandex.ru (87.250.251.3): icmp_seq=3 ttl=57 vreme=42,5 ms sa www 64 .yandex.ru (87.250.251.3): icmp_seq=4 ttl=57 vrijeme=42,5 ms 64 bajta sa www .yandex.ru (87.250.251.3): icmp_seq=5 ttl=57 vrijeme=41,9 ms ya ^C .ru ping statistika --- 5 paketa preneto, 5 primljeno, 0% gubitka paketa, vreme 4012ms rtt min/ avg/max/mdev = 41.922/42.588/43.255/0.500ms

Kao što se može vidjeti iz gornjeg primjera, ping nam daje mnogo korisnih informacija. Kao prvo, to smo saznali možemo uspostaviti vezu sa hostom ya.ru(ponekad kažu da nam je "ya.ru host dostupan"). Drugo, vidimo to DNS radi ispravno, jer je "pingovano" ime ispravno konvertovano u IP adresu (PING ya.ru (87.250.251.3)). Dalje, na terenu icmp_seq= postavljanje numeracije poslanih paketa. Svakom poslanom paketu se sekvencijalno dodeljuje broj, a ako postoje „praznine“ u ovoj numeraciji, to će nam reći da je veza sa „pingovanim“ nestabilna, a može značiti i da server na koji se paketi šalju je preopterećen. Po vrijednosti vrijeme= vidimo, koliko je dugo putovao paket do 87.250.251.3 i nazad. Možete zaustaviti uslužni program za ping pritiskom na Ctrl+C.

također, ping uslužni program zanimljivo po tome što vam može omogućiti da vidite tačno gdje su nastali problemi. Recimo ping uslužni program prikazuje poruku mreža nije dostupna ili drugu sličnu poruku. Ovo najvjerovatnije ukazuje na pogrešnu konfiguraciju vašeg sistema. U tom slučaju, možete poslati pakete na IP adresu ISP-a da biste saznali gdje se problem javlja (između lokalnog računara ili "izvan"). Ako ste povezani na Internet preko rutera, tada možete slati pakete na njegovu IP adresu. Shodno tome, ako se problem pojavi već u ovoj fazi, to ukazuje na pogrešnu konfiguraciju lokalnog sistema ili oštećenje kabla, ako ruter reaguje, a server provajdera ne, onda je problem u komunikacijskom kanalu provajdera itd. Konačno, ako konverzija imena u IP ne uspije, onda možete provjeriti vezu preko IP-a, ako odgovori budu tačni, onda možete pretpostaviti da je problem u DNS-u.

Treba napomenuti da ovaj uslužni program nije uvijek pouzdan dijagnostički alat. Udaljeni server može blokirati odgovore na ICMP zahtjeve.

traceroute

Jednostavno rečeno, tim se zove trasiranje rute. Kao što možete razumjeti iz imena, ovaj uslužni program će pokazati kojom rutom su paketi otišli do hosta. uslužni program traceroute donekle slično ping, ali prikazuje zanimljivije informacije. primjer:

# traceroute ya.ru traceroute do ya.ru (213.180.204.3), 30 skokova max, 60 bajtnih paketa .kubtelecom.ru (213.132.64.65) 2.761 ms 5.787 ms 5.777 ms 5.777 ms 5.777 ms 5.777 .com . 32 . ms 5.701 ms 5.636 ms 4 ms 81.581 ms 81.687 ms 5 cat26.Moscow.gldn.net (194.186.10.118) 47.789 ms 47.888 ms 48.0128 ms 48.0121 ms 48.0121 32.32 .32.32 .32.32 .32.32 ms 783 ms 41.106 neto (87.250. 242.206) 41.199 ms 42.578 ms 42.610 ms 8 www.yandex.ru (213.180.204.3) 43.185 ms 42.126 ms 42.679 ms

Kao što vidite, možete pratiti rutu od rutera provajdera 243-083-free.kubtelecom.ru (213.132.83.243) (jug Rusije) do konačnog hosta na www.yandex.ru (213.180.204.3) u Moskvi.

dig

Ovaj uslužni program šalje upite DNS serverima i vraća informacije o navedenoj domeni. primjer:

# dig @ns.kuban.ru roboti.ru ;<<>> DiG 9.3.6-P1<<>> @ns.kuban.ru roboti.ru ; (pronađen 1 server) ;; globalne opcije: print cmd ;; dobio odgovor: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 64412 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 0 ;; QUESTION SECTION: ;roboti.ru. IN A ;; ANSWER SECTION: roboti.ru. 448 IN A 72.52.4.90 ;; AUTHORITY SECTION: roboti.ru. 345448 IN NS ns1.sedoparking.com. roboti.ru. 345448 IN NS ns2.sedoparking.com. ;; Query time: 102 msec ;; SERVER: 62.183.1.244#53(62.183.1.244) ;; WHEN: Thu Feb 17 19:44:59 2011 ;; MSG SIZE rcvd: 94

komandu dig poslao zahtjev DNS server - ns.kuban.ru (@ns.kuban.ru- ovaj parametar nije obavezan, u ovom slučaju izvor informacija o DNS-u će biti preuzet sa servera iz postavki vašeg sistema) o nazivu domene roboti.ru. Kao rezultat toga, dobio sam odgovor, koji možemo vidjeti u odjeljku SEKCIJA ZA ODGOVORE informacije o IP adresama domene, u odjeljku ODELJENJE VLASTI informacije o tzv. autoritativni DNS serveri. Treći red odozdo nam govori koji server je dao odgovor.

Drugi dijagnostički uslužni programi

ping, dig i druge dijagnostičke uslužne programe sa parametrima možete pronaći u postu.

Povezivanje nove mrežne kartice

Povezivanje i pokretanje nove mrežne kartice svodi se na nekoliko koraka:

1. Fizička veza kartice

3. Pogledajte izlaz za sistem da otkrije novu mrežnu karticu:

Hajde da vidimo izlaz PRIJE povezivanja nove kartice:

Server:~# dmesg | Grep Et [4.720550] E1000: ETH0_PROBE: Intel (R) Pro / 1000 mrežna veza [5.130191] E1000: ETH1: E1000_PROBE: Intel (R) Pro / 1000 mrežna veza [15.285527] E1000: ETH2: E1000_WatchDog: NIC veza je Up 1000 Mbps Full Duplex, Kontrola protoka: RX [ 15.681056] e1000: eth0: e1000_watchdog: NIC veza je do 1000 Mbps Full Duplex, Kontrola protoka: RX

izlaz pokazuje da sistem ima 2 mrežne kartice eth1 i eth2. Povezujemo treći i gledamo izlaz:

Server:~# dmesg | grep eth [ 4.720513] e1000: eth0: e1000_probe: Intel(R) PRO/1000 mrežna veza [ 5.132029] e1000: eth1: e1000_probe: Intel(R) PRO/1000_probe: Intel(R) PRO/1000_probe: Intel(R) PRO/1000:0 Intel(R) PRO/1000. ) PRO/1000 mrežna konekcija [ 39.274875] udev: preimenovano mrežno sučelje eth2 u eth3 [ 39.287661] udev: preimenovano mrežno sučelje eth1_rename_ren u eth2 [ 45.670744] e1000: eth1_rename_ren to eth2 [ 45.670744] e1000: 1000: 1000: 1000: 1000: 1000: 1000: 1000: 1000: 1000: 1000:00:00 1000:00:00:01 [ 46.237232] e1000: eth0: e1000_watchdog: NIC veza je povećana 1000 Mbps puni dupleks, kontrola protoka: RX [ 96.977468] e1000: eth3: e1000_watchdog: e1000_watchdog: e1000_watchdog: potpuna kontrola veze NIC: 1000 Mbps puna kontrola: N.

IN dmesg vidimo da se pojavila nova mrežna kartica - eth3, koja je zapravo eth2, ali ju je udev device manager preimenovao u eth3, a eth2 je zapravo preimenovani eth1 (o udevu ćemo govoriti u posebnom postu). Pojava naše nove mreže u dmesg nam govori da je mrežna kartica podržano jezgro i ispravno odlučila. Jedino što je preostalo je postaviti novi interfejs /etc/network/interfaces(Debian) jer data mapa nije inicijalizirana od strane start skripte /etc/init.d/network. ifconfig vidi ovu kartu:

Server:~# ifconfig eth3 eth3 Link encap:Ethernet HWaddr 08:00:27:5f:34:ad inet6 addr: fe80::a00:27ff:fe5f:34ad/64 Opseg:Link UP BROADCAST RUNNING MULTICAST MTU:1 1 RX paketa:311847 grešaka:0 ispuštenih:0 prekoračenja:0 okvira:0 TX paketa:126 grešaka:0 ispuštenih:0 prekoračenja:0 nosioca:0 kolizija:0 txqueuelen:1000 RX bajtova:104670651 (99.8 miB) TX 16184 (15,8 KiB)

ali osim toga - ne konfiguriše. O tome kako konfigurirati mrežnu karticu raspravljalo se gore.

Sažetak

Mislim da je to sve za danas. Kada sam počeo da pišem ovaj članak, mislio sam da ću stati u jedan post, ali se ispostavilo da je ogroman. Stoga je odlučeno da se članak podijeli na dva dijela. Sve u svemu, pokušao sam da navedem, ne korak po korak, kako konfigurirati mrežu, već da navedem princip i objasnim razumijevanje kako se mreža pokreće i radi u Linuxu. Zaista se nadam da sam uspeo. Bit će mi drago vašim komentarima i dopunama. S vremenom ću dopuniti članak.

Nakon što podmrežete svoju mrežu, trebali biste se pripremiti za jednostavno traženje adrese po imenu koristeći /etc/hosts datoteku. Ako za ovo nećete koristiti DNS ili NIS, morate staviti sve hostove u hosts fajl.

Čak i ako želite da koristite DNS ili NIS, možete imati i neki podskup imena u /etc/hosts. Na primjer, ako želite da imate neku vrstu traženja imena čak i kada mrežna sučelja nisu pokrenuta, na primjer u vrijeme pokretanja. Ovo nije samo pitanje pogodnosti, već vam takođe omogućava da koristite simbolička imena hostova u rc skriptama. Stoga, kada mijenjate IP adrese, morat ćete samo kopirati ažurirani hosts fajl na sve mašine umjesto da uređujete puno rc datoteka. Obično ćete staviti sva lokalna imena i adrese u hostove tako što ćete ih dodati na bilo koji gateway i NIS server ako se koriste.

Također, prilikom provjere, trebali biste se uvjeriti da server imena koristi samo informacije iz datoteke hosts. DNS ili NIS softver može imati uzorke datoteka koje mogu dati čudne rezultate kada se koriste. Da biste prisilili sve aplikacije da isključivo koriste /etc/hosts kada traže IP adresu hosta, morate urediti /etc/host.conf datoteku. Komentirajte sve redove koji počinju redoslijedom ključnih riječi i zalijepite redak:

naručite domaćine

Konfiguracija biblioteke servera imena će biti detaljno opisana u 6. poglavlju.

Datoteka hosts sadrži jedan unos po redu, koji se sastoji od IP adrese, imena hosta i opcione liste alijasa. Polja su odvojena razmacima ili tabulatorima, polje adrese mora početi u prvoj koloni. Sve nakon simbola # tretira se kao komentar i ignorira.

Ime hosta može biti potpuno kvalificirano ili relativno u odnosu na lokalnu domenu. Za vale, u hosts biste unijeli potpuno kvalificirano ime, vale.vbrew.com , kao i sam vale, tako da su poznati i službeni naziv i kraće lokalno ime.

Primjer hosts datoteke za Virtual Brewery je dat u nastavku. Dva posebna imena, vlager-if1 i vlager-if2 , specificiraju adrese za oba sučelja koja se koriste na vlager .

Koja je praktična upotreba datoteke /etc/networks? Koliko sam shvatio, moguće je specificirati nazive mreže u ovoj datoteci. Na primjer:

[email protected]:~# cat /etc/networks default 0.0.0.0 loopback 127.0.0.0 link-local 169.254.0.0 google-dns 8.8.4.4 [email protected]:~#

Međutim, ako pokušam koristiti ovo ime mreže, na primjer u ip uslužnom programu, ne radi:

[email protected]:~# ip ruta dodati google-dns preko 104.236.63.1 dev eth0 Greška: očekuje se inet prefiks umjesto "google-dns". [email protected]:~# ip ruta dodati 8.8.4.4 preko 104.236.64.1 dev eth0 [email protected]:~#

Koja je praktična upotreba datoteke /etc/networks?

2 Rješenja prikupljaju web obrazac za “praktičnu upotrebu /etc/networks datoteke”

Kao što je napisano u man stranici, datoteka /etc/networks treba da opisuje simbolička imena za mreže. Kod mreže, to znači mrežnu adresu sa .0 na kraju. Podržane su samo jednostavne mreže klase A, B ili C.

U vašem primjeru, unos google-dns je pogrešan. To nije mreža A, B ili C. To je odnos ip-adresa-ime hosta, tako da pripada /etc/hosts. U stvari, ni zadani unos se ne podudara.

Recimo da imate IP adresu 192.168.1.5 iz vaše korporativne mreže. Unos u /etc/network može biti:

Naziv preduzeća 192.168.1.0

Kada koristite uslužne programe kao što su route ili netstat, ove mreže se prevode (osim ako ne potisnete dozvolu sa -n zastavicom). Tabela rutiranja bi mogla izgledati ovako:

Tablica rutiranja IP jezgra Odredište Gateway Genmask Flags Metrička referenca Upotreba Iface default 192.168.1.1 0.0.0.0 UG 0 0 0 eth0 corpname * 255.255.255.0 U 0 0 0 eth0

Komanda ip nikada ne koristi ime hosta za unos, tako da vaš primjer nije bitan. Također stavljate ime hosta u /etc/networks, a ne ime mreže!

Unosi u /etc/networks koriste alati koji pokušavaju da konvertuju brojeve u imena, kao što je (zastarela) komanda rute. Bez odgovarajućeg unosa, prikazuje:

# ruta Kernel IP tablica rutiranja Odredište Gateway Genmask Flags Metric Ref Upotreba Iface default 192.168.1.254 0.0.0.0 UG 0 0 0 eth0 192.168.0.0 * 255.255.254.0 U 0 0 0

Ako sada dodamo red mylocalnet 192.168.0.0 u /etc/networks:

# ruta Kernel IP tablica rutiranja Odredište Gateway Genmask Flags Metric Ref Upotreba Iface default 192.168.1.254 0.0.0.0 UG 0 0 0 eth0 mylocalnet * 255.255.254.0 U 0 0 0 eth0

U praksi se to nikada ne koristi.

Idi!

Protokol Network File Server (NFS) je otvoreni standard za pružanje korisniku daljinskog pristupa sistemima datoteka. Na osnovu toga, centralizirani sistemi datoteka olakšavaju obavljanje svakodnevnih zadataka kao što su sigurnosne kopije ili provjere virusa, a konkatenirane particije diska se lakše održavaju od mnogih malih i distribuiranih.

Osim što obezbjeđuje centraliziranu pohranu, NFS se pokazao vrlo korisnim za druge aplikacije, uključujući klijente bez diska i tanke klijente, mrežno klasterisanje i međuverski softver za saradnju.

Bolje razumijevanje samog protokola i detalja njegove implementacije će olakšati rješavanje praktičnih problema. Ovaj članak je posvećen NFS-u i sastoji se iz dva logična dela: prvo se opisuje sam protokol i ciljevi postavljeni tokom njegovog razvoja, a zatim implementacija NFS-a u Solarisu i UNIX-u.

GDJE JE SVE POČELO...

NFS protokol je razvio Sun Microsystems i pojavio se na Internetu 1989. godine kao RFC 1094 pod sljedećim naslovom: Specifikacija protokola mrežnog sistema datoteka (NFS). Zanimljivo je napomenuti da je strategija Novell-a u to vrijeme bila daljnje poboljšanje usluga datoteka. Sve donedavno, dok je pokret otvorenog koda još bio u punom zamahu, Sun nije želio otkriti tajne svojih mrežnih rješenja, ali je čak i tada kompanija shvatila važnost interoperabilnosti sa drugim sistemima.

RFC 1094 je sadržavao dvije originalne specifikacije. U vrijeme objavljivanja, Sun je razvijao sljedeću, treću verziju specifikacije, koja je izložena u RFC 1813 "Specifikacija NFS protokola, verzija 3" (NFS Verzija 3 Protocol Specification). Verzija 4 ovog protokola je definirana u RFC 3010 specifikaciji NFS protokola verzije 4 (NFS verzija 4 protokola).

NFS se široko koristi na svim tipovima UNIX hostova, Microsoft i Novell mrežama i IBM rješenjima kao što su AS400 i OS/390. Nepoznat izvan domena mreže, NFS je vjerovatno najšire korišteni sistem mrežnih datoteka nezavisan od platforme.

UNIX JE BIO GENERATOR

Iako je NFS sistem nezavisan od platforme, UNIX je njegov predak. Drugim riječima, hijerarhijska arhitektura i metode pristupa datotekama, uključujući strukturu sistema datoteka, načine na koje se identifikuju korisnici i grupe i kako se rukuje datotekama, vrlo su slični UNIX sistemu datoteka. Na primjer, NFS sistem datoteka, koji je po strukturi identičan UNIX sistemu datoteka, montira se direktno na njega. Kada radite sa NFS-om na drugim operativnim sistemima, mapiraju se korisnički identiteti i dozvole datoteka.

NFS

NFS sistem je dizajniran da se koristi u klijent-server arhitekturi. Klijent pristupa sistemu datoteka koji izvozi NFS server preko tačke montiranja na klijentu. Takav pristup je obično transparentan za klijentsku aplikaciju.

Za razliku od mnogih klijent/server sistema, NFS koristi Remote Procedure Calls (RPC) za razmenu informacija. Obično klijent uspostavlja vezu sa poznatim portom i zatim, u skladu sa protokolom, šalje zahtev za izvršenje određene radnje. U slučaju udaljenog poziva procedure, klijent kreira poziv procedure i zatim ga šalje serveru na izvršenje. Detaljan opis NFS će biti predstavljen u nastavku.

Kao primjer, pretpostavimo da je klijent montirao usr2 direktorij na lokalni korijenski sistem datoteka:

/root/usr2/ -> daljinski:/root/usr/

Ako su klijentskoj aplikaciji potrebni resursi ovog direktorija, ona jednostavno šalje zahtjev operativnom sistemu za nju i za ime datoteke, što omogućava pristup preko NFS klijenta. Na primjer, uzmite u obzir jednostavnu UNIX cd naredbu, koja "ne zna ništa" o mrežnim protokolima. Tim

CD /root/usr2/

će radni direktorij postaviti na udaljeni sistem datoteka bez "čak i saznanja" (korisnik ne mora ni znati) da je sistem datoteka udaljen.

Po prijemu zahteva, NFS server će proveriti da li dati korisnik ima pravo da izvrši traženu radnju i, ako je odgovor pozitivan, izvršiće je.

UPOZNAJMO SE BOLJE

Sa stanovišta klijenta, proces lokalnog montiranja udaljenog sistema datoteka pomoću NFS-a sastoji se od nekoliko koraka. Kao što je već pomenuto, NFS klijent će poslati poziv udaljene procedure da bi je izvršio na serveru. Imajte na umu da je u UNIX-u klijent jedan program (komanda mount), dok je server zapravo implementiran kao nekoliko programa sa sljedećim minimalnim skupom: usluga mapiranja porta (port mapper), mount demon (mount daemon) i NFS server.

Klijentova komanda mount prvo komunicira sa serverskom uslugom prevođenja porta, koja osluškuje zahtjeve na portu 111. Većina implementacija klijentove naredbe mount podržava više verzija NFS-a, što čini vjerojatnijim da će klijent i server pronaći zajedničku verziju protokola. Pretraga se vrši počevši od najstarije verzije, tako da kada se pronađe zajednička, automatski će postati najnovija verzija koju podržavaju klijent i server.

(Ovaj materijal je fokusiran na treću verziju NFS-a, jer je trenutno najčešća. Četvrta verzija još nije podržana u većini implementacija.)

Usluga prevođenja porta servera odgovara na zahtjeve prema podržanom protokolu i portu na kojem je pokrenut demon za montiranje. Klijentov program za montiranje prvo uspostavlja vezu sa serverovim demonom za montiranje, a zatim mu šalje naredbu za montiranje preko RPC-a. Ako je ova procedura uspješna, tada se klijentska aplikacija povezuje na NFS server (port 2049) i, koristeći jednu od 20 udaljenih procedura definiranih u RFC 1813 i navedenih u Tabeli 1, pristupa udaljenom sistemu datoteka.

Značenje većine naredbi je intuitivno i ne izaziva nikakve poteškoće sistemskim administratorima. Sljedeći popis, proizveden pomoću tcdump, ilustruje naredbu za čitanje koju koristi UNIX cat naredba za čitanje datoteke pod nazivom test-file:

10:30:16.012010 eth0 > 192.168.1.254. 3476097947 > 192.168.1.252.2049: 144 traženje fh 32.0/ 224145 "test-file" 10:30:16.012010 eth0 > 192.168.1.254. 3476097947 > 192.168.1.252.2049: 144 traženje fh 32.0/ 224145 "test-datoteka" 10:30:16.012729 eth0 192.168.1.252.2049) (DF) traži fh 32.0/ 224145 "test-datoteka" 10:30:16.012729 eth0 192.168.1.254.792 fh 32.168.1.254.791. eth0 192.168.1.254.3476097947 : odgovor ok 128 traži fh 32.0/224307 (DF) 10:30:16.013124 eth0 > 192.168.1.254. 3492875163 > 192.168.1.252.2049: 140 čitanje fh 32.0/ 224307 4096 bajtova @ 0 10:30:16.013124 eth0 > 192.168.1.254. 3492875163 > 192.168.1.252.2049: 140 čitanje fh 32.0/ 224307 4096 bajtova @ 0 10:30:16.013650 eth0 192.168.1.252.2049: 192.168.1.258.4010.168.1.258.40.168.1.258. 875163 : odgovor ok 108 pročitano (DF )

NFS se tradicionalno implementira preko UDP-a. Međutim, neke verzije NFS-a podržavaju TCP (TCP podrška je definirana u specifikaciji protokola). Glavna prednost TCP-a je efikasniji mehanizam retransmisije u nepouzdanim mrežama. (U slučaju UDP-a, ako dođe do greške, onda se kompletna RPC poruka, koja se sastoji od nekoliko UDP paketa, ponovo prenosi. Kod TCP-a se ponovo prenosi samo oštećeni fragment.)

PRISTUP NFS-u

NFS implementacije obično podržavaju četiri metode odobravanja pristupa: preko atributa korisnika/datoteke, na nivou deljenja, na nivou glavnog čvora i kao kombinacija drugih metoda pristupa.

Prva metoda se oslanja na ugrađeni UNIX sistem dozvola za datoteke za pojedinačnog korisnika ili grupu. Da bi se pojednostavilo održavanje, identifikacija korisnika i grupe treba da bude konzistentna na svim NFS klijentima i serverima. Sigurnost se mora pažljivo razmotriti: NFS može nenamjerno odobriti pristup datotekama koji nisu bili predviđeni kada su kreirani.

Zajednički pristup resursima vam omogućava da ograničite prava samo na određene radnje, bez obzira na vlasništvo datoteke ili UNIX privilegije. Na primjer, rad sa NFS sistemom datoteka može biti ograničen samo na čitanje. Većina implementacija NFS-a omogućava vam dalje ograničavanje pristupa na nivou zajedničkih resursa na određene korisnike i/ili grupe. Na primjer, grupi ljudskih resursa je dozvoljeno da vidi informacije i ništa više.

Pristup na glavnom nivou omogućava vam da montirate sistem datoteka samo na određene čvorove, što je generalno dobra ideja jer se sistemi datoteka mogu lako kreirati na svim čvorovima koji podržavaju NFS.

Kombinovani pristup jednostavno kombinuje gore navedene tipove (na primer, pristup na nivou deljenja sa pristupom dodeljenim određenom korisniku) ili omogućava korisnicima da pristupe NFS-u samo sa određenog hosta.

NFS PINGVIN STIL

Materijal koji se odnosi na Linux ovdje predstavljen je baziran na Red Hat 6.2 sistemu sa verzijom kernela 2.4.9, koji se isporučuje sa verzijom 0.1.6 paketa nfs-utils. Postoje i novije verzije: u vrijeme pisanja ovog teksta, najnovije ažuriranje paketa nfs-utils je 0.3.1. Može se preuzeti na: .

Paket nfs-utils sadrži sljedeće binarne datoteke: exportfs, lockd, mountd, nfsd, nfsstat, nhfsstone, rquotad, showmount i statd.

Nažalost, podrška za NFS ponekad je zbunjujuća za Linux administratore, jer dostupnost određene funkcije direktno zavisi od brojeva verzija i kernela i nfs-utils paketa. Na sreću, stvari se sada poboljšavaju u ovoj oblasti: najnoviji kompleti za distribuciju uključuju najnovije verzije oba. Za prethodna izdanja, odeljak 2.4 NFS-HOWTO pruža kompletnu listu sistemskih funkcionalnosti dostupnih za svaku kombinaciju kernela i nfs-utils paketa. Programeri održavaju kompatibilnost paketa sa prethodnim verzijama, obraćajući mnogo pažnje na sigurnost i ispravljanje softverskih grešaka.

NFS podrška mora biti pokrenuta u vrijeme kompilacije kernela. Ako je potrebno, mogućnost rada sa NFS verzijom 3 također se mora dodati kernelu.

Za distribucije koje podržavaju linuxconf, lako je konfigurirati NFS usluge i za klijente i za servere. Međutim, brz način postavljanja NFS-a pomoću linuxconf-a ne pruža informacije o tome koje su datoteke kreirane ili uređene, što je veoma važno da administrator zna u slučaju kvara sistema. Arhitektura NFS-a na Linux-u je slabo povezana sa BSD verzijom, tako da je potrebno lako pronaći potrebne datoteke podrške i programe za administratore koji koriste BSD, Sun OS 2.5 ili starije verzije NFS-a.

Datoteka /etc/exports, kao u ranijim verzijama BSD-a, specificira sisteme datoteka kojima je NFS klijentima dozvoljen pristup. Osim toga, sadrži niz dodatnih funkcija koje se odnose na pitanja upravljanja i sigurnosti, pružajući administratoru alat za fino podešavanje. Ovo je tekstualna datoteka koja se sastoji od unosa, praznih redova ili komentiranih redova (komentari počinju s #).

Recimo da želimo klijentima dati pristup samo za čitanje /home direktoriju na Lefty hostu. Ovo bi odgovaralo sljedećem unosu u /etc/exports:

/home (ro)

Ovdje moramo reći sistemu koje direktorije ćemo učiniti dostupnim pomoću rpc.mountd mount demona:

# exportfs -r exportfs: Ime hosta nije navedeno u /home (ro), upišite *(ro) da biste izbjegli upozorenje #

Kada se pokrene, naredba exportfs upozorava da /etc/exports ne ograničava pristup određenom čvoru i kreira odgovarajući unos u /var/lib/nfs/etab iz /etc/exports koji vam govori koje resurse možete vidjeti s cat:

# cat /var/lib/nfs/etab /home (ro,async,wdelay,hide,secure,root_squash, no_all_squash,subtree_check, secure_locks, mapping=identity,anonuid= -2,anongid=-2)

Ostale opcije navedene u etab uključuju zadane postavke koje koristi NFS. Detalji će biti opisani u nastavku. Da biste odobrili pristup /home direktorijumu, moraju se pokrenuti odgovarajuće NFS usluge:

# portmap # rpc.mountd # rpc.nfsd # rpc.statd # rpc.rquotad

U bilo kom trenutku nakon pokretanja demona za montiranje (rpc.mountd), možete se raspitati o pojedinačnim datotekama dostupnim za izlaz gledanjem sadržaja datoteke /proc/fs/nfs/exports:

# cat /proc/fs/nfs/exports # Verzija 1.0 # Putanja Klijent (Zastavice) # IP-ovi /home 192.168.1.252(ro,root_squash,async, wdelay) # 192.168.1.252 #

Isto se može pogledati pomoću naredbe showmount s opcijom -e:

# showmount -e Izvezi listu za ljevaka: /home (svi) #

Idemo malo naprijed, naredba showmount se također može koristiti za određivanje svih montiranih sistema datoteka, ili drugim riječima, da se sazna koji su hostovi NFS klijenti za sistem koji pokreće naredbu showmount. Naredba showmount -a će ispisati sve klijentske tačke montiranja:

# showmount -a Sve tačke montiranja na lijevoj strani: 192.168.1.252:/home #

Kao što je gore navedeno, većina NFS implementacija podržava različite verzije ovog protokola. Linux implementacija vam omogućava da ograničite listu verzija NFS-a koje će se izvoditi navođenjem opcije -N za demona mount. Na primjer, da pokrenete NFS verziju 3, i to samo verziju 3, unesite sljedeću naredbu:

# rpc.mountd -N 1 -N 2

Izbirljivim korisnicima može biti nezgodno što na Linuxu NFS demon (rpc.nfsd) čeka pakete verzije 1 i verzije 2, iako se time postiže željeni efekat nepodržavanja odgovarajućeg protokola. Nadajmo se da će programeri narednih verzija izvršiti potrebne korekcije i da će moći postići veću konzistentnost između komponenti paketa u odnosu na različite verzije protokola.

"PLIVANJE SA PINGVINIMA"

Pristup gore konfigurisanom Lefty, Linux-baziranom NFS sistemu datoteka za izvoz zavisi od operativnog sistema klijenta. Stil instalacije za većinu operativnih sistema UNIX porodice je isti kao i originalni Sun OS i BSD sistemi ili noviji Solaris. Pošto se ovaj članak fokusira i na Linux i na Solaris, pogledajmo Solaris 2.6 klijentsku konfiguraciju sa stanovišta uspostavljanja veze sa Linux verzijom NFS-a koju smo opisali gore.

Sa funkcijama naslijeđenim od Solarisa 2.6, lako ga je konfigurirati da djeluje kao NFS klijent. Ovo zahtijeva samo jednu naredbu:

# mount -F nfs 192.168.1.254:/home /tmp/tmp2

Pod pretpostavkom da je prethodna naredba mount uspjela, tada će naredba mount bez opcija dati sljedeće:

# mount / on /dev/dsk/c0t0d0s0 read/write/setuid/ largefiles na Mon Sep 3 10:17:56 2001 ... ... /tmp/tmp2 na 192.168.1.254:/home read/ write/remote on Pon, Sep 3 23:19:25 2001

Analizirajmo tcpdump izlaz na Lefty hostu nakon što je korisnik unio komandu ls /tmp/tmp2 na Sunny hostu:

# tcpdump host lefty i host sunny -s512 06:07:43.490583 sunny.2191983953 > lefty.mcwrite.n.nfs: 128 getattr fh Unknown/1 (DF) 06:07:43.490678 sunny.nfcw > sunny.nfs 2191983953: odgovor u redu 112 getattr DIR 40755 id 0/0 sz 0x000001000 (DF) 06:07:43.491397 mcwrite.n.nfs > sunny.2191983952: sunny.2191983952: odgovor sunny.2191983952: sunny.2191983952: 60 pristup. .mcwrite.n.nfs: 152 readdirplus fh 0.1/16777984 1048 bajtova @ 0x000000000 (DF) 06:07:43.492417 lefty.mcwrite.n.nfs > sunny.2155190 čitaj ok.21551:0

Vidimo da Sunny čvor traži deskriptor fajla (fh) za ls, na koji Lefty čvor šalje OK kao odgovor i vraća strukturu direktorija. Sunny zatim provjerava dozvolu za sadržaj direktorija (132 pristup fh) i prima odgovor dozvole od Leftyja. Sunny čvor zatim čita puni sadržaj direktorija koristeći readdirplus proceduru. Pozivi udaljenih procedura opisani su u RFC 1813 i navedeni su na početku ovog članka.

Iako je redoslijed naredbi za pristup udaljenim sistemima datoteka vrlo jednostavan, brojne okolnosti mogu uzrokovati da se sistem nepravilno montira. Prije montiranja direktorija, tačka montiranja već mora postojati, inače se mora kreirati pomoću naredbe mkdir. Obično je jedini uzrok grešaka na strani klijenta nedostatak lokalnog direktorija za montiranje. Većina problema povezanih s NFS-om, međutim, duguje svoje porijeklo neusklađenosti između klijenta i servera ili neispravnoj konfiguraciji servera.

Najlakši način za rješavanje problema na serveru je sa hosta na kojem server radi. Međutim, kada neko drugi administrira server umjesto vas, to nije uvijek moguće. Brz način da osigurate da su odgovarajuće serverske usluge pravilno konfigurisane je da koristite naredbu rpcinfo sa opcijom -p. Sa Solaris Sunny hosta možete odrediti koji su RPC procesi registrirani na Linux hostu:

# rpcinfo -p 192.168.1.254 program vers proto port service 100000 2 tcp 111 rpcbind 100000 2 udp 111 rpcbind 100024 1 udp 692 status 100024 status 100024 status 100024 u 0 0 ud1 0 0 ud 0 0 ud 0 0 ud 0 0 ud 0 0 ud 1 49 nfs 100003 3 udp 2049 nfs 100021 1 udp 1026 nlockmgr 100021 3 udp 1026 nlockmgr 100021 4 udp 1026 nlockmgr #

Imajte na umu da su informacije o verziji takođe navedene ovdje, što je prilično korisno kada sustav zahtijeva podršku za različite NFS protokole. Ako bilo koja usluga ne radi na serveru, onda ovu situaciju treba ispraviti. Ako montiranje ne uspije, sljedeća naredba rpcinfo -p će vam reći da je usluga mountd na serveru neaktivna:

# rpcinfo -p 192.168.1.254 program vers proto port service 100000 2 tcp 111 rpcbind ... ... 100021 4 udp 1026 nlockmgr #

Komanda rpcinfo je vrlo korisna za otkrivanje da li je određeni udaljeni proces aktivan. Opcija -p je najvažnija od prekidača. Pogledajte man stranicu za sve karakteristike rpcinfo.

Još jedan koristan alat je naredba nfsstat. Uz njegovu pomoć možete saznati da li klijenti zaista pristupaju izvezenom sistemu datoteka, kao i prikazati statističke podatke prema verziji protokola.

Konačno, još jedan prilično koristan alat za određivanje uzroka kvarova sistema je tcpdump:

# tcpdump host lefty i host sunny -s512 tcpdump: slušanje na eth0 06:29:51.773646 sunny.2191984020 > lefty.mcwrite.n.nfs: 140 pretraga fh Unknown/1"test.c":179:59 lefty.mcwrite.n.nfs > sunny.2191984020: odgovor ok 116 traži GREŠKA: Nema takve datoteke ili direktorija (DF) 06:29:51.774593 sunny.2191984021 > lefty.mcwrite.n.nfs: 12 Nepoznato (fh8) DF) 06:29:51.774670 lefty.mcwrite.n.nfs > sunny.2191984021: odgovor ok 112 getattr DIR 40755 id 0/0 sz 0x000001000 (DF) sunny.2191984021: odgovor ok 112 getattr DIR 40755 id 0/0 sz 0x000001000 (DF) sunny.2191984021 : 140 lookup fh Unknown/1"test.c" (DF) 06:29:51.775357 lefty.mcwrite.n.nfs > sunny.2191984022: odgovor ok 116 traži GREŠKA: Nema takve datoteke ili direktorija (DF) 06:29: 51.776029 sunny.2191984023 > lefty.mcwrite.n.nfs: 184 kreiraj fh Unknown/1 "test.c" (DF) 06:29:51.776169 lefty.mcwrite.n.nfs > sunny.2291984 kreiraj ERROR: 229198 Dozvola odbijena (DF)

Gornji listing, dobijen nakon izvršavanja naredbe touch test.c, pokazuje sljedeći slijed radnji: prvo, touch komanda pokušava pristupiti datoteci pod nazivom test.c, zatim traži direktorij s istim imenom, a nakon neuspješnog pokušava da kreira datoteku test.c, što takođe ne uspeva.

Ako je sistem datoteka montiran, većina uobičajenih grešaka se odnosi na normalne UNIX dozvole. Sunčevo korišćenje uid-a ili NIS+ izbegava globalno postavljanje dozvola na svim sistemima datoteka. Neki administratori praktikuju "otvorene" direktorije, gdje se dozvole da ih čitaju daju "cijelom svijetu". Međutim, ovo treba izbjegavati iz sigurnosnih razloga. Bezbjednosne brige na stranu, ovo je još uvijek loša praksa jer korisnici rijetko kreiraju podatke s namjerom da ih učine čitljivim svima.

Pristupi privilegovanog korisnika (root) sistemima datoteka montiranim na NFS se različito tretiraju. Kako bi se izbjeglo odobravanje neograničenog pristupa privilegovanom korisniku, zahtjevi privilegovanog korisnika se tretiraju kao da su od korisnika "nitko". Ovaj moćni mehanizam ograničava pristup privilegovanim korisnicima globalno čitljivim i upisljivim datotekama.

NFS SERVER, SOLARIS VERZIJA

Konfiguriranje Solarisa da djeluje kao NFS server je jednostavno kao i sa Linuxom. Međutim, naredbe i lokacije datoteka se malo razlikuju. Kada se Solaris pokrene, kada se dostigne nivo pokretanja 3, NFS usluge se automatski pokreću i svi sistemi datoteka se izvoze. Za ručno pokretanje ovih procesa unesite naredbu:

#/usr/lib/nfs/mountd

Da pokrenete demona za montiranje i NFS server, otkucajte:

#/usr/lib/nfs/nfsd

Počevši od verzije 2.6, Solaris više ne koristi datoteku za izvoz da odredi koje sisteme datoteka treba izvesti. Fajlovi se sada izvoze pomoću naredbe share. Pretpostavimo da želimo dozvoliti udaljenim hostovima da montiraju /export/home. Da biste to učinili, unesite sljedeću naredbu:

Dijeli -F nfs /export/home

Sigurnosne mjere

SIGURNOST U LINUX-u

Neke NFS sistemske usluge zasnovane na Linuxu imaju dodatni mehanizam za ograničavanje pristupa preko kontrolnih lista ili tabela. Na internom nivou, ovaj mehanizam je implementiran pomoću biblioteke tcp_wrapper, koja koristi dva fajla za formiranje liste kontrole pristupa: /etc/hosts.allow i /etc/hosts/deny. Iscrpni pregled pravila za rad sa tcp_wrapper je izvan okvira ovog članka, ali osnovni princip je sljedeći: uparivanje se prvo vrši sa etc/hosts.allow, a zatim sa /etc/hosts. poricati. Ako pravilo nije pronađeno, tražena sistemska usluga se ne prikazuje. Da biste zaobišli posljednji zahtjev i pružili vrlo visok nivo sigurnosti, možete dodati sljedeći unos na kraj /etc/hosts.deny:

SVI: Svi

Nakon toga, /etc/hosts.allow se može koristiti za postavljanje ovog ili onog načina rada. Na primjer, datoteka /etc/hosts. allow , koji sam koristio prilikom pisanja ovog članka, sadržavao je sljedeće redove:

Zaključano: 192.168.1.0/255.255.255.0 montiran: 192.168.1.0/255.255.255.0 Portmap: 192.168.1.0/255.255.255.0 255.255.255.0 rquotad.255.255.0 rquotad.255.255.0 rquotad.255.255.0 rquotad.1.25.1.5.1.5.1.5. 25.1.0/ 25.1.0/25.1

Ovo omogućava neku vrstu pristupa čvorovima prije odobravanja pristupa na sloju aplikacije. Na Linuxu, pristup na razini aplikacije kontrolira /etc/exports fajl. Sastoji se od unosa u sljedećem formatu:

Izvoz direktorija (prostor) host|mreža(opcije)

"Izvezeni direktorij" je direktorij za koji nfsd demon može obraditi zahtjev. "Host|Network" je host ili mreža koja ima pristup izvezenom sistemu datoteka, a "opcije" određuju koja ograničenja nfsd demon nameće na korištenje ovog zajedničkog resursa - pristup samo za čitanje ili mapiranje korisničkog id-a.

Sljedeći primjer daje cijeloj domeni mcwrite.net pristup samo za čitanje na /home/mcwrite.net:

/home/mcwrite.net *.mcwrite.net(ro)

Više primjera možete pronaći na stranici upravljanja izvozom.

NFS SIGURNOST U SOLARISU

U Solarisu, mogućnost pružanja NFS pristupa je slična Linuxu, ali u ovom slučaju ograničenja se postavljaju korištenjem određenih opcija u naredbi za dijeljenje s prekidačem -o. Sljedeći primjer pokazuje kako omogućiti montiranje /export/mcwrite.net samo za čitanje na bilo kojem hostu u domeni mcwrite.net:

#share -F nfs -o ro=.mcwrite.net/export/ mcwrite.net

Uputska stranica share_nfs sadrži detalje o tome kako odobriti pristup korištenjem kontrolnih lista na Solarisu.

Internet resursi

NFS i RPC nisu bili bez "rupa". Uopšteno govoreći, NFS ne treba koristiti na Internetu. Ne možete "probiti" firewall dozvoljavajući pristup bilo koje vrste putem NFS-a. Sve RPC i NFS zakrpe treba pažljivo pratiti, a brojni izvori sigurnosnih informacija mogu pomoći. Dva najpopularnija izvora su Bugtraq i CERT:

Prvi se može redovno pregledavati u potrazi za potrebnim informacijama ili se pretplatiti na periodični bilten. Drugi pruža, možda, ne tako brze, u poređenju sa drugima, informacije, ali u prilično zaokruženom obimu i bez trunke senzacionalizma, karakteristične za neke sajtove posvećene informacionoj bezbednosti.


Ponekad mreže i druge greške sistema Windows mogu biti povezane sa problemima u Windows registru. Nekoliko programa može koristiti mrežnu datoteku, ali kada se ti programi uklone ili promijene, ponekad ostaju bez roditelja (nevažeći) unosi u Windows registrator.

U osnovi, to znači da iako je stvarna putanja do datoteke možda promijenjena, njena pogrešna bivša lokacija je i dalje zabilježena u Windows registru. Kada Windows pokuša da pronađe ovu netačnu referencu datoteke (lokacije datoteka na vašem računaru), mreže. Osim toga, infekcija zlonamjernim softverom je možda oštetila unose registra povezane s Microsoft Windows. Stoga, ove oštećene stavke Windows registra treba popraviti kako bi se riješio korijen problema.

Ručno uređivanje Windows registra radi uklanjanja nevažećih mrežnih ključeva se ne preporučuje osim ako ste stručnjak za PC servis. Greške napravljene prilikom uređivanja registra mogu učiniti vaš računar neupotrebljivim i uzrokovati nepopravljivu štetu vašem operativnom sistemu. Zapravo, čak i jedan zarez na pogrešnom mjestu može spriječiti pokretanje vašeg računara!

Zbog ovog rizika, toplo preporučujemo korištenje pouzdanog čistača registra kao što je WinThruster (razvijen od strane Microsoft Gold Certified Partner) za skeniranje i popravak svih mreža. Korištenje čistača registra automatizira proces pronalaženja nevažećih unosa u registratoru, referenci datoteka koje nedostaju (poput one koja uzrokuje grešku vaše mreže) i neispravnih veza unutar registra. Sigurnosna kopija se automatski kreira prije svakog skeniranja, što vam omogućava da poništite sve promjene jednim klikom i štiti vas od mogućeg oštećenja vašeg računala. Najbolji dio je što ispravljanje grešaka u registru može drastično poboljšati brzinu i performanse sistema.


Upozorenje: Osim ako niste napredni korisnik računara, NE preporučujemo ručno uređivanje Windows registra. Nepravilna upotreba Registry Editora može dovesti do ozbiljnih problema i zahtijevati da ponovo instalirate Windows. Ne jamčimo da se problemi nastali zbog zloupotrebe Registry Editora mogu riješiti. Uređivač registra koristite na vlastitu odgovornost.

Prije nego što ručno popravite Windows registrator, morate napraviti sigurnosnu kopiju izvozom dijela registra koji se odnosi na mreže (na primjer, Microsoft Windows):

  1. Kliknite na dugme Počni.
  2. unesite " komanda" V traka za pretragu... NEMOJTE JOŠ PRITISATI ENTER!
  3. Držanje ključeva CTRL-Shift na tastaturi pritisnite ENTER.
  4. Biće prikazan dijalog za pristup.
  5. Kliknite Da.
  6. Crna kutija se otvara treptavim kursorom.
  7. unesite " regedit" i pritisnite ENTER.
  8. U uređivaču registra odaberite ključ vezan za mreže (npr. Microsoft Windows) za koji želite da napravite sigurnosnu kopiju.
  9. Na meniju File izaberite Izvoz.
  10. Listed Sačuvaj u izaberite fasciklu u koju želite da sačuvate rezervnu kopiju ključa Microsoft Windows.
  11. Na terenu Ime dokumenta unesite naziv datoteke sigurnosne kopije, kao što je "Microsoft Windows Backup".
  12. Pobrinite se za polje Opseg izvoza odabrana vrijednost Odabrana grana.
  13. Kliknite Sačuvaj.
  14. Fajl će biti sačuvan sa ekstenzijom .reg.
  15. Sada imate rezervnu kopiju svojih mreža.

Sljedeći koraci za ručno uređivanje registra neće biti obuhvaćeni u ovom članku, jer će vjerovatno oštetiti vaš sistem. Ako želite više informacija o ručnom uređivanju registra, pogledajte donje veze.

mob_info