Kas yra tinklo failas sistemoje windows. Kas turėtų būti tinklų faile

Geras laikas, mieli skaitytojai. Skelbiu antrą dalį. Dabartinis skyrius skirtas tinklo diegimas Linux sistemoje(kaip nustatyti tinklą Linux sistemoje, kaip diagnozuoti tinklą Linux sistemoje ir prižiūrėti tinklo posistemį Linux sistemoje).

TCP/IP konfigūravimas sistemoje „Linux“, skirtas Ethernet tinklui

Norint dirbti su TCP / IP tinklo protokolais Linux sistemoje, pakanka turėti tik kilpos sąsaja, bet jei reikia derinti hostus tarpusavyje, žinoma, reikia tinklo sąsajos, duomenų perdavimo kanalų (pavyzdžiui, vytos poros), galbūt kokios nors tinklo įrangos. Be to, būtina turėti įdiegtą (ir tt), paprastai tiekiama . Jis taip pat turi turėti tinklą (pvz., /etc/hosts) ir tinklo palaikymą.

Ryšio nustatymai

Pradėkime suprasti „Linux“ tinklo mechanizmus rankiniu būdu sukonfigūruodami tinklą, tai yra, nuo atvejo, kai IP adresas tinklo sąsaja statinis. Taigi, nustatydami tinklą, turite atsižvelgti ir sukonfigūruoti šiuos parametrus:

IP adresas- kaip jau minėta pirmoje straipsnio dalyje - tai unikalus mašinos adresas, keturių dešimtainių skaičių, atskirtų taškais, formatu. Paprastai dirbant vietinis tinklas, pasirinktas iš privačių diapazonų, pavyzdžiui: 192.168.0.1

Potinklio kaukė- taip pat 4 dešimtainiai skaičiai, nurodantys, kuri adreso dalis nurodo tinklo / potinklio adresą, o kuri - pagrindinio kompiuterio adresą. Potinklio kaukė yra skaičius, kuris pridedamas (dvejetaine forma) su IP adresu, siekiant išsiaiškinti, kuriam potinkliui priklauso adresas. Pavyzdžiui, adresas 192.168.0.2 su kauke 255.255.255.0 priklauso potinkliui 192.168.0.

Potinklio adresas- nustatoma pagal potinklio kaukę. Tuo pačiu metu nėra atgalinių sąsajų potinklių.

Transliacijos adresas- adresas, naudojamas siunčiant transliavimo paketus, kuriuos priims visi potinklio pagrindiniai kompiuteriai. Paprastai jis yra lygus potinklio adresui, kurio pagrindinio kompiuterio reikšmė yra 255, ty 192.168.0 potinklyje transliacija bus 192.168.0.255, panašiai, 192.168 potinklyje, transliacija bus 192.168.255.255. Atgalinės sąsajos transliacijos adreso nėra.

Šliuzo IP adresas yra įrenginio adresas, kuris yra numatytasis ryšio su išoriniu pasauliu vartai. Jei kompiuteris vienu metu prijungtas prie kelių tinklų, gali būti keli šliuzai. Šliuzo adresas nenaudojamas izoliuotuose tinkluose (neprijungtuose prie WAN), nes šie tinklai neturi kur siųsti paketų už tinklo ribų, tas pats pasakytina ir apie loopback sąsajas.

Vardų serverio IP adresas (DNS serveris)- serverio, kuris konvertuoja pagrindinio kompiuterio pavadinimus į IP adresus, adresas. Paprastai teikia IPT.

„Linux“ tinklo nustatymų failai (konfigūracijos failai)

Norėdami suprasti „Linux“ tinklą, tikrai patarčiau perskaityti straipsnį „“. Apskritai, visas Linux darbas yra pagrįstas, kuris gimsta, kai OS paleidžiama ir sukuria jos palikuonis, kurios savo ruožtu atlieka visą reikalingą darbą, nesvarbu, ar tai veikia bash, ar demonas. Taip, ir visa „Linux“ įkrova yra pagrįsta, kuri nusako visą mažų paslaugų paleidimo su įvairiais parametrais seką, kuri nuosekliai paleidžiama / sustabdoma, kai sistema paleidžiama / sustoja. „Linux“ tinklo posistemis paleidžiamas taip pat.

Kiekvienas Linux platinimas turi šiek tiek skirtingą tinklo inicijavimo mechanizmą, bet bendras vaizdas, manau, perskaičius bus aiškus. Jei pažvelgsite į kai kurių tinklo posistemio pradžios scenarijus Linux platinimas, tada, kaip nustatyti tinklo konfigūraciją naudojant konfigūracijos failus, bus daugiau ar mažiau aišku, pavyzdžiui, Debian'e (mes remsimės šiuo paskirstymu), scenarijus yra atsakingas už tinklo inicijavimą /etc/init.d/networking peržiūrint, kuri:

Tinklo serveris:~#cat /etc/init.d/networking #!/bin/sh -e ### PRADĖTI INFORMACIJĄ # Pateikiama: tinklo kūrimas # Reikalingas - Pradėti: mountkernfs $local_fs # Reikalingas - Stop: $local_fs # Reikėtų -Start: ifupdown # Turėtų-Stop: ifupdown # Default-Start: S # Default-Stop: 0 6 # Trumpas aprašymas: Pakelkite tinklo sąsajas. ### END INIT INFO PATH="/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin" [ -x /sbin/ifup ] || išėjimas 0. /lib/lsb/init-functions process_options() ( [ -e /etc/network/options ] || return 0 log_warning_msg "/etc/network/options vis dar egzistuoja ir jis bus IGNOREMAS! Skaitykite README.Debian of netbase." ) check_network_file_systems() ( [ -e /proc/mounts ] || grąžina 0, jei [ -e /etc/iscsi/iscsi.initramfs ]; then log_warning_msg "nedekonfigūruojamos tinklo sąsajos: prijungta iSCSI šaknis." išeiti 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

galite rasti keletą funkcijų, kurios tikrina prijungtas tinklo failų sistemas ( check_network_file_systems(), check_network_swap()), taip pat patikrinti, ar egzistuoja kažkokia dar nesuprantama konfigūracija /etc/network/options ( funkcija proceso_parinktys()), o pačiame apačioje pagal dizainą korpusas "$1" in ir pagal įvestą parametrą (start/stop/force-reload|restart ar bet koks kitas) atlieka tam tikrus veiksmus. Iš šių labai tam tikrus veiksmus“, pradžios argumento pavyzdys rodo, kad funkcija paleidžiama pirmiausia proceso_parinktys, tada frazė siunčiama į žurnalą Tinklo sąsajų konfigūravimas ir paleiskite komandą ifup -a. Jei pažvelgsite į man ifup , pamatysite, kad ši komanda nuskaito konfigūraciją iš failo /etc/network/interfaces ir pagal raktą -a paleidžia visas sąsajas, turinčias parametrą automatinis.

Komandos ifup ir ifdown gali būti naudojamos tinklo sąsajoms sukonfigūruoti (arba atitinkamai dekonfigūruoti), remiantis sąsajos apibrėžimais faile /etc/network/interfaces.

-a, -visi
Jei suteikta ifup, paveiks visas sąsajas, pažymėtas auto. Sąsajos pateikiamos tokia tvarka, kokia jos yra apibrėžtos /etc/network/interfaces. Jei nurodyta ifdown, paveiks visas apibrėžtas sąsajas. Sąsajos sumažinamos ta tvarka, kokia jos šiuo metu yra išvardytos būsenos faile. Bus sumažintos tik sąsajos, apibrėžtos /etc/network/interfaces.

ip-server:~# cat /etc/network/interfaces # Šiame faile aprašomos jūsų sistemoje prieinamos tinklo sąsajos # ir kaip jas suaktyvinti. Norėdami gauti daugiau informacijos, žr. sąsajas (5). # The loopback tinklo sąsaja auto lo iface lo inet loopback # Pirminė tinklo sąsaja allow-hotplug eth0 iface eth0 inet dhcp allow-hotplug eth2 iface eth2 inet statinis adresas 192.168.1.1 tinklo kaukė 255.255.255.1 .9 broadcast .9 .216way. 1.255

Šioje konfigūracijos eilutėje leisti-hotplug Ir automatinis yra sinonimai, o sąsajos bus pateiktos pagal komandą ifup -a. Tiesą sakant, tai yra visa tinklo posistemio veikimo grandinė. Panašiai ir kituose platinimuose: RedHat ir SUSE tinklas paleidžiamas pagal scenarijų /etc/init.d/network. Išnagrinėję jį, taip pat galite sužinoti, kur yra tinklo konfigūracija.

/etc/hosts

Šiame faile yra sąrašas IP adresai Ir juos atitinkantys pagrindinio kompiuterio vardai (adresai).Failo formatas nesiskiria nuo pagrindinio failo:

IP serveris:~# 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

Istoriškai šis failas buvo naudojamas vietoj DNS paslaugos. Šiuo metu failas gali būti naudojamas ir vietoj DNS paslaugos, tačiau tik su sąlyga, kad jūsų tinkle esančių mašinų skaičius matuojamas vienetais, o ne dešimtimis ar šimtais, nes tokiu atveju turėsite valdyti šio failo teisingumą kiekviename įrenginyje.

/etc/hostname

Šiame faile yra NetBIOS pagrindinio kompiuterio pavadinimas:

IP serveris: ~# cat /etc/hostname ip-server

Šiame faile saugomi vietinių ir kitų tinklų pavadinimai ir adresai. Pavyzdys:

IP serveris: ~# 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

Naudojant šį failą, tinklus galima valdyti pagal pavadinimą. Pavyzdžiui, nepridėkite maršruto maršruto pridėjimas 192.168.1.12 , A maršruto pridėjimas.

/etc/nsswitch.conf

Failas apibrėžia pagrindinio kompiuterio vardo paieškos tvarka/networks, už šį nustatymą atsakingos šios eilutės:

Kompiuteriams: hostai: failai dns Tinklams: tinklai: failai

Parametras failus nurodo naudoti nurodytus failus (/etc/hosts Ir /etc/networks atitinkamai), parametras dns nurodo naudotis paslauga dns.

/etc/host.conf

Failas nurodo sprendiklio pavadinimo skyros parinktis

IP serveris: ~# cat /etc/host.conf multi on

Šis failas nurodo resolv bibliotekai grąžinti visus galiojančius pagrindinio kompiuterio adresus, rastus /etc/hosts faile, o ne tik pirmąjį.

/etc/resolv.conf

Šis failas apibrėžia tinklo pavadinimo į IP adresą vertimo mechanizmo parametrus. Paprasta kalba apibrėžia DNS nustatymus. Pavyzdys:

IP serveris: ~# cat /etc/resolv.conf vardų serveris 10.0.0.4 vardų serveris 10.0.0.1 paieška domain.local

Pirmos 2 eilutės nurodyti DNS serverius. Trečioje eilutėje nurodomi paieškos domenai. Jei sprendžiant pavadinimą pavadinimas nėra FQDN vardas, tada šis domenas pakeičiamas kaip „pabaiga“. Pavyzdžiui, vykdant ping host komandą, pinguotas adresas konvertuojamas į host.domain.local. Kitus parametrus galima perskaityti man resolv.conf. Labai dažnai Linux naudoja dinaminę šio failo generaciją, naudodama vadinamąją. programas /sbin/resolvconf.Ši programa yra tarpininkas tarp paslaugų, kurios dinamiškai teikia vardų serverius (pvz., DHCP klientas) ir paslaugas naudojant vardų serverio duomenis. Norėdami naudoti dinamiškai sugeneruotą failą /etc/resolv.conf, turite padaryti šį failą simboline nuoroda į /etc/resolvconf/run/resolv.conf. Kai kuriuose platinimuose kelias gali būti kitoks, tai tikrai bus įrašyta vyras resolvconf.

Tinklo konfigūracija

Susipažinę su pagrindiniais konfigūracijos failais, galite peržiūrėti . Komanda jau buvo paminėta aukščiau. jei up, jei žemyn, tačiau šios priemonės nėra gana universalios, pavyzdžiui, RH paskirstymuose šios komandos pagal numatytuosius nustatymus nepasiekiamos. Be to, nauji platinimai turi naują aukšto lygio tinklo valdymo įrankį - , kuris priklauso iproute paketui. Jam (iproute paketui) skirsiu . Ir dabartiniame įraše aš to nesvarstysiu. Toliau aprašytos komandos priklauso .

Taigi, norėdami būti tikri, kad komanda veiks bet kuriame „Linux“ paskirstyme, turite naudoti dvi pagrindines senamadiškas komandas. Tai yra , ir arp. Pirmoji komanda (atsakinga už tinklo sąsajų nustatymas(ip, kaukė, vartai), antras () - maršruto parinkimas, trečias (arp) – arp lentelių valdymas. Norėčiau pastebėti, kad šių komandų vykdymas neišjungus standartinio tinklo posistemio SystemV paleisties scenarijaus atliks pakeitimus tik iki pirmojo tinklo paslaugos perkrovimo / paleidimo iš naujo, nes. jei galvoji apie tai savo smegenimis, gali suprasti, kad scenarijus /etc/init.d/networking kitą kartą paleidus, jis perskaitys aukščiau pateiktas konfigūracijas ir pritaikys senus nustatymus. Atitinkamai, išeitis visam laikui nustatyti parametrus yra komanda ifconfig su atitinkamais parametrais - įveskite arba rankiniu būdu pataisykite atitinkamas tinklo sąsajos konfigūracijas.

Panašiai, jei komanda ifconfig su trūkstamomis parinktimis(pavyzdžiui, tik IP adresas), tada likusieji užpildomi automatiškai (pavyzdžiui, transliacijos adresas pagal numatytuosius nustatymus pridedamas su pagrindinio kompiuterio adresu, kuris baigiasi 255, o numatytoji potinklio kaukė yra 255.255.255.0).

Maršrutas galimoms sąsajoms šiuolaikiniuose branduoliuose visada automatiškai iškeliamas branduolio. Tiksliau, tiesioginius maršrutus į tinklą pagal IP nustatymus ir potinklį, į kurį atrodo iškilusi sąsaja, automatiškai formuoja branduolys. Tokių įrašų lauko šliuzas (šliuzas) rodo išvesties sąsajos adresą arba *. Senesnėse branduolio versijose (branduolio, nuo kurio maršrutai pradėjo kilti automatiškai, numeris - aš jums nesakysiu), maršrutą reikėjo pridėti rankiniu būdu.

Jei reikia organizuoti maršrutai, tuomet reikia naudoti . Galite pridėti ir pašalinti maršrutus naudodami šią komandą, bet vėlgi, tai padės tik tol, kol iš naujo paleisite /etc/init.d/networking (arba kitą tinklo scenarijų jūsų paskirstyme). Norint, kad maršrutai būtų įtraukti automatiškai, būtina, kaip ir naudojant komandą ifconfig, pridėti komandas maršrutams pridėti prie rc.local arba ranka pataisyti atitinkamas tinklo sąsajos konfigūracijas (pvz., Deb - /etc/network/options).

Pagal kokias taisykles formuojami maršrutai į tinklus, Aš už

Linux tinklo diagnostika

„Linux“ sistemoje yra daug tinklo diagnostikos įrankių, dažnai labai panašių į „Microsoft“. Apsvarstysiu 3 pagrindines tinklo diagnostikos priemones, be kurių bus sunku nustatyti problemas.

Manau, kad šis įrankis yra žinomas beveik visiems. Šios paslaugos užduotis yra siuntimas vadinamasis ICMP paketai nuotolinio serverio, kuris bus nurodytas komandos parametruose, serveris grąžina išsiųstas komandas ir pinglaiko skaičiavimas reikalingas, kad išsiųstas paketas pasiektų serverį ir sugrįžtų. Pavyzdžiui:

# ping ya.ru PING ya.ru (87.250.251.3) 56 (84) baitai duomenų. 64 baitai iš www.yandex.ru (87.250.251.3): icmp_seq=1 ttl=57 laikas=42.7 ms iš www.yandex.ru (87.250.251.3): icmp_seq=3 ttl=57 laikas=42.5 ms iš www.64 ms .yandex.ru (87.250.251.3): icmp_seq=4 ttl=57 laikas=42.5 ms 64 baitai iš www .yandex.ru (87.250.251.3): icmp_seq=5 ttl=57 laikas=41.9 ms ^C .ru ping statistika --- 5 paketai perduoti, 5 priimti, 0% paketų praradimas, laikas 4012ms rtt min/ avg/max/mdev = 41.922/42.588/43.255/0.500ms

Kaip matyti iš aukščiau pateikto pavyzdžio, ping suteikia mums daug naudingos informacijos. Pirmiausia, mes tai sužinojome galime užmegzti ryšį su priegloba ya.ru(kartais jie sako, kad "ya.ru priegloba yra mums prieinama"). Antra, mes tai matome DNS veikia tinkamai, nes „pinguotas“ pavadinimas buvo teisingai konvertuotas į IP adresą (PING ya.ru (87.250.251.3)). Toliau, lauke icmp_seq = nustatyti išsiųstų paketų numeraciją. Kiekvienam išsiųstam paketui iš eilės priskiriamas numeris, o jei šioje numeracijoje yra „spragų“, tai mums parodys, kad ryšys su „pinguojamu“ yra nestabilus, be to, tai gali reikšti, kad serveris, į kurį siunčiami paketai. yra perkrautas. Pagal vertę laikas = mes matome, kiek laiko keliavo paketas iki 87.250.251.3 ir atgal. Galite sustabdyti ping paslaugų programą paspausdami Ctrl + C.

Taip pat ping programaįdomus tuo, kad gali tiksliai pamatyti, kur kilo problemos. Tarkim ping programa rodo pranešimą tinklas nepasiekiamas ar kitą panašų pranešimą. Tai greičiausiai rodo neteisingą jūsų sistemos konfigūraciją. Tokiu atveju galite siųsti paketus IPT IP adresu, kad išsiaiškintumėte, kur iškyla problema (tarp vietinio kompiuterio ar "už"). Jei esate prisijungę prie interneto per maršrutizatorių, galite siųsti paketus į jo IP. Atitinkamai, jei problema atsiranda jau šiame etape, tai rodo neteisingą vietinės sistemos konfigūraciją arba kabelio pažeidimą, jei maršrutizatorius reaguoja, o teikėjo serveris ne, tada problema yra teikėjo ryšio kanale ir pan. Galiausiai, jei pavadinimo konvertavimas į IP nepavyksta, galite patikrinti ryšį per IP, jei atsakymai teisingi, galite atspėti, kad problema yra DNS.

Reikėtų pažymėti, kad ši priemonė ne visada yra patikima diagnostikos priemonė. Nuotolinis serveris gali blokuoti atsakymus į ICMP užklausas.

traceroute

Paprastais žodžiais tariant, komanda vadinama maršruto pėdsakas. Kaip galite suprasti iš pavadinimo, ši programa parodys, kokiu maršrutu paketai nukeliavo į pagrindinį kompiuterį. traceroute naudingumasšiek tiek panašus į ping, bet rodoma įdomesnė informacija. Pavyzdys:

# traceroute ya.ru traceroute to ya.ru (213.180.204.3), maks. 30 apynių, 60 baitų paketai .kubtelecom.ru (213.132.64.65) 2,761 ms 5,787 ms 5,787 ms 5,787 ms 5.787 ms. ) 5.713 ms 5,701 ms 5,636 ms 4 (194.186.6.177) 81,430 ms 81,581 ms 81,687 ms 5 kat. 213.33.201.230 (213.33.201.230) 43.322 ms 41.783 ms 41 106 ms 7 carmine-red-vlan602.yandex.net (87.250. 242.206) 41.199 ms 42.578 ms 42.610 ms 8 www.yandex.ru (213.180.204.3) 56.27.218 ms

Kaip matote, galite atsekti maršrutą nuo teikėjo maršruto parinktuvo 243-083-free.kubtelecom.ru (213.132.83.243) (Rusijos pietuose) iki galutinio prieglobos adresu www.yandex.ru (213.180.204.3) Maskvoje.

kasti

Ši programa siunčia užklausas į DNS serverius ir pateikia informaciją apie nurodytą domeną. Pavyzdys:

# dig @ns.kuban.ru roboti.ru ;<<>> DiG 9.3.6-P1<<>> @ns.kuban.ru roboti.ru ; (rastas 1 serveris); pasaulinės parinktys: print cmd ;; gavau atsakymą: ;; ->>ANTRAŠTĖ<<- 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

kasimo komanda išsiuntė prašymą DNS serveris - ns.kuban.ru (@ns.kuban.ru- šis parametras yra neprivalomas, tokiu atveju informacijos apie DNS šaltinis bus paimtas iš serverio iš jūsų sistemos nustatymų) apie domeno pavadinimą roboti.ru. Dėl to gavau atsakymą, kuriame matome skyriuje ATSAKYMŲ SKYRIUS informaciją apie domeno IP adresus, skiltyje VALDYMO SKYRIUS informacija apie vadinamąją. autoritetingus DNS serverius. Trečioje eilutėje iš apačios nurodoma, kuris serveris pateikė atsakymą.

Kitos diagnostikos priemonės

ping, dig ir kitas diagnostikos priemones su parametrais rasite įraše.

Naujos tinklo plokštės prijungimas

Naujos tinklo plokštės prijungimas ir paleidimas susideda iš kelių žingsnių:

1. Fizinis kortelės prijungimas

3. Peržiūrėkite sistemos išvestį, kad aptiktų naują tinklo plokštę:

Pažiūrėkime išvestį PRIEŠ prijungiant naują kortelę:

Serveris:~# dmesg | grep eth [ 4.720550] e1000: eth0: e1000_probe: Intel(R) PRO/1000 tinklo jungtis [ 5.130191] e1000: eth1: e1000_probe: Intel(R) PRO/1000 tinklo jungtis] ​​8 102:07 0_watchdog: NIC nuoroda yra Iki 1000 Mbps pilnas dvipusis, srauto valdymas: RX [ 15.681056] e1000: eth0: e1000_watchdog: NIC ryšys yra iki 1000 Mbps pilnas dvipusis, srauto valdymas: RX

išvestis rodo, kad sistemoje yra 2 tinklo plokštės eth1 ir eth2. Sujungiame trečiąjį ir žiūrime į išvestį:

Serveris:~# dmesg | grep eth [ 4.720513] e1000: eth0: e1000_probe: „Intel(R) PRO/1000 Network Connection [ 5.132029] e1000: eth1: e1000_probe: Intel(R) PRO/1000“ tinklo jungtis [ 620:04:5] _zondas: Intel(R ) PRO/1000 tinklo ryšys [ 39.274875] udev: tinklo sąsaja pervardyta į eth2 į eth3 [ 39.287661] udev: tinklo sąsaja pervardyta eth1_rename_ren į eth2 [ 45.670744] e1000: eth270744] e1000: eth2: NICwae Full Link isbogpsd0: NICwae plex, srauto valdymas: RX [ 46.237232] e1000: eth0: e1000_watchdog: NIC jungtis yra iki 1000 Mbps Full Duplex, srauto valdymas: RX [ 96.977468] e1000: eth3: e1000_watchdog: NIC Duplex Control10 Rblow : Full Duplex

IN dmesg matome, kad atsirado nauja tinklo plokštė - eth3, kuri iš tikrųjų yra eth2, bet udev įrenginių tvarkytuvė jį pervadino į eth3, o eth2 iš tikrųjų yra pervadintas eth1 (apie udev kalbėsime atskirame įraše). Mūsų naujojo tinklo atsiradimas dmesg mums sako, kad tinklo plokštė palaikoma esminis ir teisingas nusprendė. Liko tik nustatyti naują sąsają /etc/network/interfaces(Debian), nes pateiktas žemėlapis nebuvo inicijuotas pradžios scenarijaus /etc/init.d/network. ifconfig mato šią kortelę:

Serveris:~# ifconfig eth3 eth3 Nuorodos encap:Ethernet HWaddr 08:00:27:5f:34:ad inet6 addr: fe80::a00:27ff:fe5f:34ad/64 Taikymo sritis:Nuoroda UP TRANSLIAVIMAS VYKDANT MULTICAST MTUtric:1 1 RX paketai: 311847 klaidos: 0 atmestas: 0 viršijimas: 0 kadras: 0 TX paketai: 126 klaidos: 0 atmestas: 0 viršijimas: 0 nešiklis: 0 susidūrimai: 0 txqueuelen: 1000 RX baitai: 104670651 (99,8 MiB) TX bytes: 16184 (15,8 KiB)

bet be to - nekonfigūruoja. Kaip sukonfigūruoti tinklo plokštę, buvo aptarta aukščiau.

Santrauka

Manau, tai viskas šiai dienai. Kai pradėjau rašyti šį straipsnį, galvojau, kad tilpsiu į vieną įrašą, bet jis pasirodė didžiulis. Todėl buvo nuspręsta straipsnį padalinti į dvi dalis. Iš viso bandžiau išdėstyti ne žingsnis po žingsnio, kaip sukurti tinklą, o išdėstyti principą ir paaiškinti, kaip tinklas prasideda ir veikia Linux sistemoje. Labai tikiuosi, kad man pavyko. Džiaugsiuosi jūsų komentarais ir papildymais. Laikui bėgant straipsnį papildysiu.

Sujungę tinklą, turėtumėte pasiruošti paprastai adreso paieškai pagal pavadinimą naudodami failą /etc/hosts. Jei neketinate naudoti DNS ar NIS, turite įdėti visus pagrindinius kompiuterius pagrindinio kompiuterio failą.

Net jei norite naudoti DNS arba NIS, faile /etc/hosts taip pat galite turėti tam tikrą pavadinimų poaibį. Pvz., jei norite ieškoti vardo net tada, kai tinklo sąsajos neveikia, pvz., įkrovos metu. Tai ne tik patogumo reikalas, bet ir leidžia naudoti simbolinius pagrindinio kompiuterio pavadinimus rc scenarijuose. Taigi, keisdami IP adresus, turėsite tik nukopijuoti atnaujintą hosts failą į visus įrenginius, o ne redaguoti daug rc failų. Paprastai visus vietinius pavadinimus ir adresus įtrauksite į pagrindinius kompiuterius, pridėdami juos prie bet kurio šliuzo ir NIS serverio, jei jis naudojamas.

Be to, tikrindami turėtumėte įsitikinti, kad vardų serveris naudoja tik informaciją iš hosts failo. DNS arba NIS programinėje įrangoje gali būti pavyzdinių failų, kurie naudojant gali duoti keistų rezultatų. Norėdami priversti visas programas naudoti tik /etc/hosts, kai ieškote pagrindinio kompiuterio IP adreso, turite redaguoti /etc/host.conf failą. Komentuokite visas eilutes, prasidedančias raktinių žodžių tvarka, ir įklijuokite eilutę:

užsakyti šeimininkus

Vardų serverio bibliotekos konfigūracija bus išsamiai aprašyta 6 skyriuje.

Prieglobos faile yra vienas įrašas kiekvienoje eilutėje, kurį sudaro IP adresas, pagrindinio kompiuterio pavadinimas ir pasirenkamas slapyvardžių sąrašas. Laukai atskiriami tarpais arba tabuliavimo ženklais, adreso laukas turi prasidėti pirmame stulpelyje. Viskas, kas po simbolio #, laikoma komentaru ir nepaisoma.

Pagrindinio kompiuterio pavadinimas gali būti visiškai apibrėžtas arba susijęs su vietiniu domenu. Jei naudojate vale, į hosts įvestumėte visiškai apibrėžtą pavadinimą, vale.vbrew.com , taip pat patį vale, kad būtų žinomas ir oficialus pavadinimas, ir trumpesnis vietinis pavadinimas.

Žemiau pateikiamas Virtualios alaus daryklos prieglobos failo pavyzdys. Du specialūs pavadinimai, vlager-if1 ir vlager-if2, nurodo abiejų sąsajų, naudojamų vlager , adresus.

Kuo praktiškai naudingas failas /etc/networks? Kiek suprantu, šiame faile galima nurodyti tinklų pavadinimus. Pavyzdžiui:

[apsaugotas el. paštas]:~# cat /etc/networks numatytasis 0.0.0.0 loopback 127.0.0.0 link-local 169.254.0.0 google-dns 8.8.4.4 [apsaugotas el. paštas]:~#

Tačiau jei bandau naudoti šį tinklo pavadinimą, pavyzdžiui, ip paslaugų programoje, jis neveiks:

[apsaugotas el. paštas]:~# ip maršrutas pridėti google-dns per 104.236.63.1 dev eth0 Klaida: tikimasi inet prefikso, o ne "google-dns". [apsaugotas el. paštas]:~# IP maršrutas pridėti 8.8.4.4 per 104.236.64.1 dev eth0 [apsaugotas el. paštas]:~#

Kuo praktiškai naudingas failas /etc/networks?

2 sprendimai renka žiniatinklio formas, skirtas „praktiniam /etc/networks failo naudojimui“

Kaip parašyta vadovo puslapyje, faile /etc/networks turi būti aprašyti simboliniai tinklų pavadinimai. Naudojant tinklą, tai reiškia tinklo adresą, kurio pabaigoje yra .0. Palaikomi tik paprasti A, B arba C klasės tinklai.

Jūsų pavyzdyje google-dns įrašas neteisingas. Tai nėra tinklas A, B ar C. Tai IP adreso ir pagrindinio kompiuterio pavadinimo ryšys, todėl jis priklauso /etc/hosts . Tiesą sakant, numatytasis įrašas taip pat nesutampa.

Tarkime, kad jūsų įmonės tinklo IP adresas yra 192.168.1.5. Įrašas /etc/network gali būti:

Įmonės pavadinimas 192.168.1.0

Kai naudojate tokias paslaugas kaip maršrutas arba netstat , šie tinklai išverčiami (nebent jūs užblokuojate leidimą naudodami -n vėliavėlę). Maršruto lentelė gali atrodyti taip:

Branduolio IP maršruto parinkimo lentelė Paskirties šliuzas Genmask Flags Metric Ref Naudoti Iface numatytasis 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 niekada nenaudoja pagrindinio kompiuterio pavadinimo įvestiei, todėl jūsų pavyzdys vargu ar svarbus. Taip pat į /etc/networks įdedate pagrindinio kompiuterio pavadinimą, o ne tinklo pavadinimą!

Įrašus /etc/networks naudoja įrankiai, kurie bando konvertuoti skaičius į vardus, pvz., (pasenusi) maršruto komanda. Be tinkamo įrašo rodoma:

# maršrutas Branduolio IP maršruto parinkimo lentelė Paskirties šliuzas Genmask Flags Metric Ref Naudoti Iface numatytasis 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

Jei dabar į /etc/networks pridėsime eilutę mylocalnet 192.168.0.0:

# maršrutas Branduolio IP maršruto parinkimo lentelė Paskirties šliuzas Genmask Žymės Metrika Nuoroda Naudoti Iface numatytasis 192.168.1.254 0.0.0.0 UG 0 0 0 eth0 mylocalnet * 255.255.254.0 U 0 0 0 eth0

Praktiškai tai niekada nenaudojama.

Pirmyn!

Tinklo failų serverio (NFS) protokolas yra atviras standartas, suteikiantis vartotojui nuotolinę prieigą prie failų sistemų. Jo pagrindu centralizuotos failų sistemos leidžia lengviau atlikti kasdienes užduotis, tokias kaip atsarginių kopijų kūrimas ar virusų tikrinimas, o sujungtus disko skaidinius lengviau prižiūrėti nei daugelį mažų ir paskirstytų.

Be centralizuotos saugyklos, NFS pasirodė esąs labai naudingas kitoms programoms, įskaitant bediskos ir plonuosius klientus, tinklo grupavimą ir bendradarbiavimo tarpinę programinę įrangą.

Geresnis supratimas apie patį protokolą ir jo įgyvendinimo detales padės lengviau spręsti praktines problemas. Šis straipsnis yra skirtas NFS ir susideda iš dviejų loginių dalių: pirmiausia aprašomas pats protokolas ir jo kūrimo metu iškelti tikslai, o vėliau – NFS diegimas Solaris ir UNIX.

KUO VISKAS PRASIDĖJO...

NFS protokolą sukūrė „Sun Microsystems“ ir jis pasirodė internete 1989 m. kaip RFC 1094 tokiu pavadinimu: Tinklo failų sistemos protokolo specifikacija (NFS). Įdomu pastebėti, kad tuo metu „Novell“ strategija buvo toliau tobulinti failų paslaugas. Dar visai neseniai, kol atvirojo kodo judėjimas dar įsibėgėjo, „Sun“ nenorėjo atskleisti savo tinklo sprendimų paslapčių, tačiau jau tada įmonė suprato sąveikumo su kitomis sistemomis svarbą.

RFC 1094 buvo dvi originalios specifikacijos. Paskelbimo metu „Sun“ kūrė kitą, trečiąją specifikacijos versiją, pateiktą RFC 1813 „NFS protokolo specifikacija, 3 versija“ (NFS 3 versijos protokolo specifikacija). Šio protokolo 4 versija apibrėžta RFC 3010 NFS protokolo specifikacijos 4 versijoje (NFS 4 versijos protokolas).

NFS plačiai naudojamas visų tipų UNIX pagrindiniuose kompiuteriuose, Microsoft ir Novell tinkluose bei IBM sprendimuose, tokiuose kaip AS400 ir OS/390. Nežinoma už tinklo ribų, NFS, be abejo, yra plačiausiai naudojama nuo platformos nepriklausoma tinklo failų sistema.

UNIX BUVO GENERATORIAUS

Nors NFS yra nuo platformos nepriklausoma sistema, UNIX yra jos protėvis. Kitaip tariant, hierarchinė architektūra ir prieigos prie failų metodai, įskaitant failų sistemos struktūrą, būdus, kuriais identifikuojami vartotojai ir grupės bei kaip tvarkomi failai, yra labai panašūs į UNIX failų sistemą. Pavyzdžiui, NFS failų sistema, savo struktūra identiška Failų sistema UNIX yra montuojamas tiesiai ant jo. Kai dirbate su NFS kitose operacinėse sistemose, vartotojo tapatybės ir failų teisės yra susietos.

NFS

NFS sistema sukurta naudoti kliento-serverio architektūroje. Klientas pasiekia failų sistemą, kurią eksportavo NFS serveris, per kliento prijungimo tašką. Tokia prieiga paprastai yra skaidri kliento programai.

Skirtingai nuo daugelio klientų / serverių sistemų, NFS keičiasi informacija naudoja nuotolinius procedūrų iškvietimus (RPC). Paprastai klientas užmezga ryšį su žinomu prievadu ir tada pagal protokolą siunčia užklausą atlikti tam tikrą veiksmą. Nuotolinio procedūrų iškvietimo atveju klientas sukuria procedūros iškvietimą ir siunčia jį į serverį vykdyti. Išsamus NFS aprašymas bus pateiktas toliau.

Pavyzdžiui, tarkime, kad klientas įdiegė usr2 katalogą vietinėje šakninėje failų sistemoje:

/root/usr2/ -> nuotolinis:/root/usr/

Jei kliento programai reikia šio katalogo išteklių, ji tiesiog siunčia operacinei sistemai užklausą dėl jos ir failo pavadinimo, kuris suteikia prieigą per NFS klientą. Pavyzdžiui, apsvarstykite paprastą UNIX cd komandą, kuri „nieko nežino“ apie tinklo protokolus. Komanda

CD /root/usr2/

įdės darbo katalogą į nuotolinę failų sistemą „net nežinodamas“ (vartotojui irgi nereikia žinoti), kad failų sistema yra nuotolinė.

NFS serveris, gavęs užklausą, patikrins, ar duotas vartotojas turi teisę atlikti prašomą veiksmą ir, jei atsakymas bus teigiamas, jį atliks.

SUSIŽINKIME GERIAU

Kliento požiūriu, nuotolinės failų sistemos įdiegimo vietoje naudojant NFS procesas susideda iš kelių žingsnių. Kaip jau minėta, NFS klientas pateiks nuotolinės procedūros iškvietimą, kad ją įvykdytų serveryje. Atminkite, kad UNIX klientas yra viena programa (montavimo komanda), o serveris iš tikrųjų yra įdiegtas kaip kelios programos su tokiu minimaliu rinkiniu: prievado žemėlapio paslauga (prievadų sudarytojas), prijungimo demonas (montavimo demonas) ir NFS serveris.

Kliento komanda mount pirmiausia susisiekia su serverio prievado vertimo tarnyba, kuri klauso užklausų 111 prievade. Dauguma kliento mount komandos diegimų palaiko kelias NFS versijas, todėl yra didesnė tikimybė, kad klientas ir serveris suras bendrą protokolo versiją. Paieška vykdoma pradedant nuo seniausios versijos, todėl suradus bendrą, ji automatiškai taps naujausia kliento ir serverio palaikoma versija.

(Ši medžiaga yra skirta trečiajai NFS versijai, nes ji šiuo metu yra labiausiai paplitusi. Ketvirtoji versija dar nepalaikoma daugelyje diegimų.)

Serverio prievado vertimo paslauga atsako į užklausas pagal palaikomą protokolą ir prievadą, kuriame veikia prijungimo demonas. Kliento prijungimo programa pirmiausia užmezga ryšį su serverio prijungimo demonu ir tada siunčia jam komandą mount per RPC. Jei ši procedūra sėkminga, kliento programa prisijungia prie NFS serverio (2049 prievadas) ir, naudodama vieną iš 20 nuotolinių procedūrų, apibrėžtų RFC 1813 ir išvardytų 1 lentelėje, pasiekia nuotolinę failų sistemą.

Daugumos komandų reikšmė yra intuityvi ir nesukelia sunkumų sistemos administratoriams. Šis sąrašas, sudarytas naudojant tcdump, iliustruoja skaitymo komandą, kurią naudoja UNIX cat komanda, kad nuskaitytų failą, pavadintą testo failas:

10:30:16.012010 eth0 > 192.168.1.254. 3476097947 > 192.168.1.252.2049: 144 lookup fh 32.0/ 224145 "bandomasis failas" 10:30:16.012010 eth0 > 192.168.1.254. 3476097947 > 192.168.1.252.2049: 144 lookup fh 32.0/ 224145 „bandomasis failas“ 10:30:16.012729 eth0 192.168.1.254.3947 rep. 22 4307 (DF) 10:30: 16.012729 eth0 192.168.1.254.3476097947: atsakyti gerai 128 lookup fh 32.0/224307 (DF) 10:30:16.013124 eth0 > 192.168.1.254. 3492875163 > 192.168.1.252.2049: 140 skaityti fh 32.0 / 224307 4096 baitai @ 0 10:30:16.013124 eth0 > 192.168.1.254. 3492875163 > 192.168.1.252.2049: 140 skaityti fh 32.0/ 224307 4096 baitai @ 0 10:30:16.013650 eth0 192.168.1.258 rep.731ok1:8 : 30:16.013650 eth0 192.168.1.254.3492875163 : atsakyti gerai, 108 skaitykite (DF)

NFS tradiciškai buvo įdiegtas per UDP. Tačiau kai kurios NFS versijos palaiko TCP (TCP palaikymas apibrėžtas protokolo specifikacijoje). Pagrindinis TCP privalumas – efektyvesnis retransliavimo mechanizmas nepatikimuose tinkluose. (UDP atveju, jei įvyksta klaida, pakartotinai persiunčiamas visas RPC pranešimas, susidedantis iš kelių UDP paketų. Naudojant TCP, pakartotinai persiunčiamas tik sugadintas fragmentas.)

PRIEIGA PRIE NFS

NFS diegimas paprastai palaiko keturis prieigos suteikimo būdus: naudojant vartotojo / failo atributus, bendrinimo lygiu, pagrindinio mazgo lygiu ir kaip kitų prieigos metodų derinys.

Pirmasis metodas yra pagrįstas įmontuotu UNIX sistema failų leidimai atskiram vartotojui ar grupei. Siekiant supaprastinti priežiūrą, vartotojų ir grupių identifikavimas turi būti nuoseklus visuose NFS klientuose ir serveriuose. Reikia atidžiai apsvarstyti saugumą: NFS gali netyčia suteikti prieigą prie failų, kurie nebuvo numatyti juos kuriant.

Bendra prieiga prie išteklių leidžia apriboti teises tik tam tikriems veiksmams, nepaisant failo nuosavybės ar UNIX privilegijų. Pavyzdžiui, darbas su NFS failų sistema gali būti apribotas tik skaitymui. Dauguma NFS įdiegimų leidžia dar labiau apriboti prieigą bendrinamų išteklių lygiu konkretiems vartotojams ir (arba) grupėms. Pavyzdžiui, žmogiškųjų išteklių grupei leidžiama peržiūrėti informaciją ir nieko daugiau.

Pagrindinio lygio prieiga leidžia prijungti failų sistemą tik tam tikruose mazguose, o tai paprastai yra gera idėja, nes failų sistemas galima lengvai sukurti bet kuriuose mazguose, palaikančiuose NFS.

Kombinuota prieiga tiesiog sujungia pirmiau nurodytus tipus (pavyzdžiui, bendrinimo lygio prieiga su prieiga, suteikta konkrečiam vartotojui) arba leidžia vartotojams pasiekti NFS tik iš konkretaus pagrindinio kompiuterio.

NFS PINGVINO STILIUS

Čia pateikiama su Linux susijusi medžiaga yra pagrįsta Red Hat 6.2 sistema su 2.4.9 branduolio versija, kuri pristatoma kartu su nfs-utils paketo 0.1.6 versija. Taip pat yra naujesnių versijų: šio rašymo metu naujausias paketo nfs-utils atnaujinimas yra 0.3.1. Jį galima atsisiųsti adresu:.

nfs-utils pakete yra ši informacija vykdomuosius failus: exportfs, lockd, mountd, nfsd, nfsstat, nhfsstone, rquotad, showmount ir statd.

Deja, NFS palaikymas kartais glumina Linux administratorius, nes konkrečios funkcijos prieinamumas tiesiogiai priklauso nuo branduolio ir paketo nfs-utils versijų numerių. Laimei, dabar viskas šioje srityje gerėja: naujausiuose platinimo rinkiniuose yra naujausios abiejų versijos. Ankstesnių leidimų išsamų sąrašą rasite NFS-HOWTO 2.4 skyriuje funkcionalumą sistemos galimos kiekvienam branduolio ir nfs-utils paketo deriniui. Kūrėjai palaiko atgalinį paketo suderinamumą su ankstesnėmis versijomis, daug dėmesio skirdami saugumui ir programinės įrangos klaidų taisymui.

NFS palaikymas turi būti pradėtas branduolio kompiliavimo metu. Jei reikia, prie branduolio taip pat turi būti pridėta galimybė dirbti su 3 NFS versija.

Distribucijose, palaikančiuose linuxconf, lengva konfigūruoti NFS paslaugas tiek klientams, tiek serveriams. Tačiau greitas būdas nustatyti NFS naudojant linuxconf nesuteikia informacijos apie tai, kokie failai buvo sukurti ar redaguoti, o tai labai svarbu administratoriui žinoti sistemos gedimo atveju. NFS architektūra Linux sistemoje yra laisvai susieta su BSD versija, todėl administratoriams, naudojantiems BSD, Sun OS 2.5 arba ankstesnes NFS versijas, lengva rasti reikalingus palaikymo failus ir programas.

Failas /etc/exports, kaip ir ankstesnėse BSD versijose, nurodo failų sistemas, kurias NFS klientai gali pasiekti. Be to, jame yra skaičius papildomos funkcijos susiję su valdymo ir saugumo klausimais, suteikiant administratoriui įrankį koreguoti. Tai tekstinis failas, susidedanti iš įrašų, tuščių eilučių arba komentuojamų eilučių (komentarai prasideda #).

Tarkime, kad norime suteikti klientams tik skaitymo prieigą prie /home katalogo Lefty priegloboje. Tai atitiktų šį /etc/exports įrašą:

/namai (ro)

Čia turime pasakyti sistemai, kuriuos katalogus padarysime prieinamus naudodami rpc.mountd mount demoną:

# exportfs -r exportfs: /home (ro) nenurodytas pagrindinio kompiuterio pavadinimas, įveskite * (ro), kad išvengtumėte įspėjimo #

Kai vykdoma, komanda exportfs įspėja, kad /etc/exports neriboja prieigos prie konkretaus mazgo, ir sukuria atitinkamą įrašą /var/lib/nfs/etab iš /etc/exports, nurodantį, kuriuos išteklius galima peržiūrėti naudojant 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)

Kitos etab parinktys apima numatytuosius nustatymus, kuriuos naudoja NFS. Išsami informacija bus aprašyta toliau. Norint suteikti prieigą prie /home katalogo, reikia paleisti atitinkamas NFS paslaugas:

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

Bet kuriuo metu paleidus prijungimo demoną (rpc.mountd), galite pasiteirauti apie atskirus failus, kuriuos galima išvesti, peržiūrėdami failo /proc/fs/nfs/exports turinį:

# cat /proc/fs/nfs/exports # Version 1.0 # Path Client (Flags) # IPs /home 192.168.1.252(ro,root_squash,async, wdelay) # 192.168.1.252 #

Tą patį galima peržiūrėti naudojant komandą showmount su parinktimi -e:

# showmount -e Eksportuoti sąrašą lefty: /home (visi) #

Žvelgiant į priekį, komanda showmount taip pat gali būti naudojama visoms prijungtoms failų sistemoms nustatyti arba, kitaip tariant, išsiaiškinti, kurie pagrindiniai kompiuteriai yra NFS klientai sistemoje, kurioje vykdoma showmount komanda. Komanda showmount -a parodys visus kliento prijungimo taškus:

# showmount -a Visi tvirtinimo taškai kairėje pusėje: 192.168.1.252:/home #

Kaip minėta aukščiau, dauguma NFS diegimų palaiko įvairias šio protokolo versijas. „Linux“ diegimas leidžia apriboti veikiančių NFS versijų sąrašą, nurodant prijungimo demono parinktį -N. Pavyzdžiui, norėdami paleisti NFS 3 versiją ir tik 3 versiją, įveskite šią komandą:

# rpc.mountd -N 1 -N 2

Išrankiems vartotojams gali pasirodyti nepatogu, kad Linux sistemoje NFS demonas (rpc.nfsd) laukia 1 ir 2 versijų paketų, nors taip pasiekiamas norimas efektas – nepalaikomas atitinkamas protokolas. Tikėkimės, kad kitų versijų kūrėjai atliks reikiamus pataisymus ir galės pasiekti didesnį paketo komponentų nuoseklumą skirtingų protokolo versijų atžvilgiu.

„PLAUKIS SU PINGVINAIS“

Prieiga prie anksčiau sukonfigūruotos Lefty, Linux pagrindu sukurtos NFS eksportuojamų failų sistemos priklauso nuo kliento operacinės sistemos. Daugumos operacinių sistemų nustatymų stilius UNIX šeimos atitinka originalios Sun OS ir BSD sistemų arba naujesnės Solaris stilių. Kadangi šiame straipsnyje pagrindinis dėmesys skiriamas „Linux“ ir „Solaris“, pažvelkime į „Solaris 2.6“ kliento konfigūraciją ryšio su aukščiau aprašyta NFS Linux versija užmezgimo požiūriu.

Dėl funkcijų, paveldėtų iš Solaris 2.6, lengva sukonfigūruoti, kad ji veiktų kaip NFS klientas. Tam reikia tik vienos komandos:

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

Darant prielaidą, kad ankstesnė mount komanda buvo sėkminga, tada mount komanda be parinkčių išves šiuos duomenis:

# mount / on /dev/dsk/c0t0d0s0 read/write/setuid/ largefiles pirmadienis Sep 3 10:17:56 2001 ... ... /tmp/tmp2, 192.168.1.254:/home read/ write/remote on 2001 m. rugsėjo 3 d., pirmadienis, 23:19:25

Išanalizuokime tcpdump išvestį Lefty priegloboje po to, kai vartotojas įvedė komandą ls /tmp/tmp2 Sunny pagrindiniame kompiuteryje:

# tcpdump host lefty ir host sunny -s512 06:07:43.490583 sunny.2191983953 > lefty.mcwrite.n.nfs: 128 getattr fh Unknown/1 (DF) 06:07:43.490678 lefty.nnnymncwrite. 2191983953: atsakymas gerai 112 getattr DIR 40755 ids 0/0 sz 0x000001000 (DF) 06:07:43.491397 saulėtas.2191983954 > lefty.mcwrite.n.nfs070 f:1/39070 f:1/390 :4 3.491463 kairysis . mcwrite.n.nfs > sunny.2191983954: atsakymas gerai 120 prieiga c0001 (DF) 06:07:43.492296 00 (DF) 06:07:43.492417 lefty.mcwrite.n.n.nfs rep03 read951988 lus ( DF)

Matome, kad „Sunny“ mazgas prašo ls failo deskriptoriaus (fh), į kurį „Lefty“ mazgas atsakydamas siunčia „OK“ ir grąžina katalogo struktūrą. Tada Sunny patikrina leidimą katalogo turiniui (132 prieiga fh) ir gauna atsakymą iš Lefty. Tada „Sunny“ mazgas nuskaito visą katalogo turinį naudodamas readdirplus procedūrą. Nuotoliniai procedūrų iškvietimai aprašyti RFC 1813 ir išvardyti šio straipsnio pradžioje.

Nors komandų seka norint pasiekti nuotolines failų sistemas yra labai paprasta, dėl daugelio aplinkybių sistema gali būti prijungta neteisingai. Prieš prijungiant katalogą, prijungimo taškas jau turi būti, priešingu atveju jis turi būti sukurtas naudojant komandą mkdir. Paprastai vienintelė klaidų priežastis kliento pusėje yra vietinio prijungimo katalogo nebuvimas. Tačiau dauguma problemų, susijusių su NFS, kyla dėl kliento ir serverio neatitikimo arba neteisingos serverio konfigūracijos.

Paprasčiausias serverio trikčių šalinimo būdas yra priegloba, kurioje veikia serveris. Tačiau kai kas nors kitas administruoja serverį vietoj jūsų, tai ne visada įmanoma. Greitas būdasįsitikinkite, kad atitinkamos serverio paslaugos sukonfigūruotos teisingai – naudokite komandą rpcinfo su parinktimi -p. Iš „Solaris Sunny“ pagrindinio kompiuterio galite nustatyti, kurie RPC procesai yra užregistruoti „Linux“ pagrindiniame kompiuteryje:

# rpcinfo -p 192.168.1.254 programos versijos proto prievado paslauga 100000 2 tcp 111 rpcbind 100000 2 udp 111 rpcbind 100024 1 udp 692 būsena 100024 1 tcp 100024 1 tcp status 10 69 40 10 dp /100005 3 tcp 1024 mountd 100003 2 udp 2049 nfs 100003 3 udp 2049 nfs 100021 1 udp 1026 nlockmgr 100021 3 udp 1026 nlockmgr 100021 4 udp 1026 nlockmgr #

Atkreipkite dėmesį, kad čia taip pat pateikiama informacija apie versiją, kuri yra gana naudinga, kai sistemai reikalingas įvairių NFS protokolų palaikymas. Jei kuri nors paslauga neveikia serveryje, ši situacija turėtų būti ištaisyta. Jei prijungti nepavyksta, ši komanda rpcinfo -p parodys, kad mountd paslauga serveryje neveikia:

# rpcinfo -p 192.168.1.254 programa vers proto prievado paslauga 100000 2 tcp 111 rpcbind ... ... 100021 4 udp 1026 nlockmgr #

Komanda rpcinfo yra labai naudinga norint sužinoti, ar aktyvus tam tikras nuotolinis procesas. Parinktis -p yra svarbiausias iš jungiklių. Žr. žinyno puslapyje visas rpcinfo funkcijas.

Kitas naudingas įrankis yra nfsstat komanda. Su jo pagalba galite sužinoti, ar klientai iš tikrųjų pasiekia eksportuojamų failų sistemą, taip pat rodyti statistinę informaciją pagal protokolo versiją.

Galiausiai, dar vienas gana naudingas įrankis sistemos gedimų priežastims nustatyti yra tcpdump:

# tcpdump priegloba lefty ir host sunny -s512 tcpdump: klauso eth0 06:29:51.773646 sunny.2191984020 > lefty.mcwrite.n.nfs: 140 lookup fh Unknown/1"test.c" (DF93) :506 lefty.mcwrite.n.nfs > sunny.2191984020: atsakyti gerai 116 paieška KLAIDA: nėra tokio failo ar katalogo (DF) 06:29:51.774593 sunny.2191984021 > lefty.mcwrite.n.nfs/getattr1 (Unknown DF) 06:29:51.774670 lefty.mcwrite.n.nfs > sunny.2191984021: atsakyti gerai 112 getattr DIR 40755 ids 0/0 sz 0x000001000 (DF) 06:29:2019 kairėje 7.25.2019 mcwrite .n.nfs : 140 lookup fh Unknown/1"test.c" (DF) 06:29:51.775357 lefty.mcwrite.n.nfs > sunny.2191984022: atsakyti gerai 116 paieška KLAIDA: nėra tokio failo ar katalogo (DF) 06:29: 51.776029 saulėtas.2191984023 > lefty.mcwrite.n.nfs: 184 sukurti fh Unknown/1 "test.c" (DF) 06:29:51.776169 lefty.mcwrite.n.nfs > sunny.2191981:2040ok2191981 Leidimas atmestas (DF)

Aukščiau pateiktame sąraše, gautame įvykdžius teiginį touch test.c, rodoma tokia veiksmų seka: pirma, jutiklinė komanda bando pasiekti failą, pavadintą test.c, tada ieško katalogo tokiu pačiu pavadinimu ir nesėkmingai bando sukurti failą test.c , kuris taip pat nepavyksta.

Jei failų sistema yra prijungta, dauguma dažniausiai pasitaikančių klaidų yra susijusios su įprastais UNIX leidimais. Sun naudojant uid arba NIS+ neleidžia nustatyti leidimų visame pasaulyje visose failų sistemose. Kai kurie administratoriai praktikuoja „atvirus“ katalogus, kuriuose leidimai juos skaityti suteikiami „visam pasauliui“. Tačiau saugumo sumetimais to reikėtų vengti. Nepaisant saugumo problemų, tai vis dar yra bloga praktika, nes vartotojai retai kuria duomenis, siekdami, kad juos galėtų skaityti visi.

Privilegijuoto vartotojo (root) prieiga prie NFS prijungtų failų sistemų traktuojama skirtingai. Kad būtų išvengta neribotos prieigos suteikimo privilegijuotam vartotojui, privilegijuoto vartotojo užklausos traktuojamos taip, lyg jos būtų pateiktos naudotojo „niekas“. Šis galingas mechanizmas riboja privilegijuotą vartotojo prieigą prie visame pasaulyje skaitomų ir įrašomų failų.

NFS SERVERIS, SOLARIS VERSIJA

Sukonfigūruoti „Solaris“, kad jis veiktų kaip NFS serveris, taip pat paprasta, kaip ir naudojant „Linux“. Tačiau komandos ir failų vietos šiek tiek skiriasi. Kai Solaris paleidžiamas, kai pasiekiamas 3 įkrovos lygis, automatiškai paleidžiamos NFS paslaugos ir eksportuojamos visos failų sistemos. Norėdami pradėti šiuos procesus rankiniu būdu, įveskite komandą:

#/usr/lib/nfs/mountd

Norėdami paleisti prijungimo demoną ir NFS serverį, įveskite:

#/usr/lib/nfs/nfsd

Pradedant nuo 2.6 versijos, Solaris nebenaudoja eksporto failo, kad nurodytų, kurias failų sistemas eksportuoti. Dabar failai eksportuojami naudojant bendrinimo komandą. Tarkime, kad norime leisti nuotoliniam kompiuteriui prijungti /export/home. Norėdami tai padaryti, įveskite šią komandą:

Bendrinti -F nfs /export/home

Apsaugos priemonės

SAUGUMAS LINUX

Kai kurios Linux pagrįstos NFS sistemos paslaugos turi papildomą mechanizmą, leidžiantį apriboti prieigą per valdymo sąrašus arba lenteles. Vidiniame lygmenyje šis mechanizmas įgyvendinamas naudojant biblioteką tcp_wrapper, kuri naudoja du failus prieigos kontrolės sąrašams sudaryti: /etc/hosts.allow ir /etc/hosts/deny. Išsami darbo su tcp_wrapper taisyklių apžvalga nepatenka į šio straipsnio taikymo sritį, tačiau pagrindinis principas yra toks: pirmiausia derinama su etc/hosts.allow, o paskui su /etc/hosts. paneigti. Jei taisyklė nerandama, prašoma sistemos paslauga nepateikiama. Norėdami išvengti paskutinio reikalavimo ir užtikrinti labai aukštą saugos lygį, /etc/hosts.deny pabaigoje galite pridėti šį įrašą:

VISI: Visi

Po to /etc/hosts.allow gali būti naudojamas tam ar kitam veikimo režimui nustatyti. Pavyzdžiui, failas /etc/hosts. leisti, kurią naudojau rašydamas šį straipsnį, buvo šios eilutės:

lockd: 192.168.1.0/255.255.255.0 mountd: 192.168.1.0/255.255.255.0 portmap: 192.168.1.0/255.255.255.0 rquotad: 191.5.5/568. 2 .168.1.0/255.255.255.0

Tai leidžia gauti tam tikrą prieigą prie mazgų prieš suteikiant prieigą programos lygmenyje. IN Linux prieiga programos lygiu failo valdikliai /etc/exports. Jį sudaro tokio formato įrašai:

Eksportuoti katalogą (tarpą) priegloba|tinklas (parinktys)

„Eksportuotas katalogas“ yra katalogas, kurio užklausą nfsd demonui leidžiama apdoroti. „Host|Network“ yra priegloba arba tinklas, turintis prieigą prie eksportuotos failų sistemos, o „parinktys“ nustato, kokius apribojimus nfsd demonas taiko šio bendrinamo šaltinio naudojimui – tik skaitymo prieiga arba vartotojo ID susiejimas.

Šis pavyzdys suteikia visam mcwrite.net domenui tik skaitymo prieigą prie /home/mcwrite.net:

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

Daugiau pavyzdžių rasite eksportavimo vadovo puslapyje.

NFS SAUGUMAS SOLARIS

„Solaris“ sistemoje galimybė suteikti NFS prieigą yra panaši į „Linux“, tačiau šiuo atveju apribojimai nustatomi naudojant tam tikras bendrinimo komandos parinktis su jungikliu -o. Šiame pavyzdyje parodyta, kaip įgalinti tik skaitymo /export/mcwrite.net prijungimą bet kuriame mcwrite.net domeno pagrindiniame kompiuteryje:

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

Share_nfs vadovo puslapyje išsamiai aprašoma, kaip suteikti prieigą naudojant „Solaris“ valdymo sąrašus.

Interneto ištekliai

NFS ir RPC neapsiėjo be „skylių“. Apskritai, NFS neturėtų būti naudojamas internete. Negalite „pradurti“ ugniasienės, leisdami bet kokią prieigą per NFS. Visi RPC ir NFS pataisymai turėtų būti atidžiai stebimi, todėl gali padėti daugybė saugos informacijos šaltinių. Du populiariausi šaltiniai yra Bugtraq ir CERT:

Pirmąjį galima reguliariai peržiūrėti ieškant reikalingos informacijos arba užsiprenumeruoti periodinį naujienlaiškį. Antrasis pateikia, ko gero, ne taip greitai, lyginant su kitais, bet gana visa apimtimi ir be sensacingumo užuominos, būdingos kai kurioms informacijos saugumui skirtoms svetainėms.


Kartais tinklų ir kitų „Windows“ sistemos klaidų gali būti susijusios su „Windows“ registro problemomis. Tinklų failą gali naudoti kelios programos, tačiau pašalinus arba pakeitus šias programas kartais lieka našlaičių (negaliojančių) „Windows“ registro įrašų.

Iš esmės tai reiškia, kad nors tikrasis failo kelias galėjo būti pakeistas, jo buvusi neteisinga vieta vis dar įrašoma „Windows“ registre. Kai „Windows“ bando ieškoti šios neteisingos failo nuorodos (failų vietos kompiuteryje), tinklai. Be to, kenkėjiškų programų infekcija gali sugadinti registro įrašus, susijusius su Microsoft Windows. Taigi šiuos sugadintus „Windows“ registro įrašus reikia pataisyti, kad būtų išspręsta problemos esmė.

Nerekomenduojama rankiniu būdu redaguoti „Windows“ registro, kad būtų pašalinti netinkami tinklų raktai, nebent esate kompiuterių paslaugų profesionalas. Dėl klaidų, padarytų redaguojant registrą, jūsų kompiuteris gali tapti netinkamas naudoti ir padaryti nepataisomą žalą jūsų operacinei sistemai. Tiesą sakant, net vienas kablelis netinkamoje vietoje gali neleisti jūsų kompiuteriui paleisti!

Dėl šios rizikos labai rekomenduojame naudoti patikimas registro valymo priemones, pvz., WinThruster (sukūrė Microsoft Gold Certified Partner), kad nuskaitytumėte ir taisytumėte bet kokius tinklus. Naudodamas registro valiklį automatizuoja netinkamų registro įrašų, trūkstamų failų nuorodų (pvz., sukeliančių tinklų klaidą) ir neveikiančių nuorodų registre paiešką. Prieš kiekvieną nuskaitymą automatiškai sukuriamas atsarginė kopija, kuri leidžia vienu spustelėjimu atšaukti bet kokius pakeitimus ir apsaugo jus nuo galimos žalos kompiuteriui. Geriausia tai, kad registro klaidų taisymas gali žymiai pagerinti sistemos greitį ir našumą.


Įspėjimas: Jei nesate patyręs vartotojas PC, NEREKOMENDUOJAME redaguoti Windows registro rankiniu būdu. Neteisingai naudojant registro rengyklę gali kilti rimtų problemų ir reikės iš naujo įdiegti „Windows“. Negarantuojame, kad bus išspręstos problemos, kilusios dėl netinkamo registro rengyklės naudojimo. Registro rengyklę naudojate savo pačių rizika.

Prieš atkuriant rankiniu būdu Windows registras, turite sukurti atsarginę kopiją eksportuodami registro tinklų dalį (pvz., „Microsoft Windows“):

  1. Spustelėkite mygtuką Pradėkite.
  2. įveskite " komandą"V paieškos juosta... DAR NESPAUSKITE ENTER!
  3. Laikant raktus CTRL-Shift klaviatūroje paspauskite ENTER.
  4. Bus rodomas prieigos dialogo langas.
  5. Spustelėkite Taip.
  6. Juodas langelis atsidaro mirksinčiu žymekliu.
  7. įveskite " regedit“ ir paspauskite ENTER.
  8. Registro rengyklėje pasirinkite su tinklais susijusį raktą (pvz., Microsoft Windows), kurio atsarginę kopiją norite sukurti.
  9. Meniu Failas pasirinkite Eksportuoti.
  10. Į sąrašą įtraukta Išsaugoti pasirinkite aplanką, kuriame norite išsaugoti „Microsoft Windows“ rakto atsarginę kopiją.
  11. Lauke Failo pavadinimasįveskite atsarginės kopijos failo pavadinimą, pvz., „Microsoft Windows Backup“.
  12. Įsitikinkite, kad laukas Eksporto diapazonas pasirinkta vertė Pasirinkta šaka.
  13. Spustelėkite Sutaupyti.
  14. Failas bus išsaugotas su plėtiniu .reg.
  15. Dabar turite atsarginę savo tinklų kopiją.

Kiti rankinio registro redagavimo veiksmai šiame straipsnyje nebus aprašyti, nes jie gali sugadinti jūsų sistemą. Jei norite gauti daugiau informacijos apie registro redagavimą rankiniu būdu, žr. toliau pateiktas nuorodas.

mob_info