Windows.  Viruslar.  Noutbuklar.  Internet.  idora.  Utilitalar.  Haydovchilar

Etc papkasi quyidagi matnli fayllarni o'z ichiga olgan papka bo'lib, xostlar, lmhosts.sam, tarmoqlar, protokol, xizmatlar Windows XP va Windows 7 uchun etc papkasining standart tarkibidir.

etc papkasi haqida hamma narsa

etc jildini topish oddiy, "Ishga tushirish" - "Kompyuter" - "ni bosing. mahalliy disk C" - "Windows" - "System32" - "haydovchilar" - "va hokazo".

etc jildida qanday fayllar bor

Agar etc jildini yo'qotgan bo'lsangiz, Windows 7 va Windows 8 uchun etc jildini yuklab olishingiz mumkin.

Endi men etc jildining arxivini yuklab olib, etc jildini qanday tiklashni tasvirlab beraman, uni oching. Faqat nusxa ko'chiring va hokazo, qaerda bo'lishi kerakligini toping va joylashtiring. Windows 7 uchun etc papkasi Windows XP uchun etc papkasidan farq qilmaydi. Windows 7 da etc jildining mazmuni Windows 8 dan farq qiladi. Windows 8 da etc jildida yana ikkita fayl mavjud: hosts.backup va hosts.rollback. Windows 8 xostlar, lmhosts.sam, tarmoqlar, protokol, xizmatlar, hosts.backup va hosts.rollback kabilar papkasining to'liq mazmuni. Viruslar odatda ikkita faylning mazmunini o'zgartiradi xost fayli etc papkasida va etc papkasida xizmatlar faylida. Siz etc jildidagi fayllarni bloknot yordamida ochishingiz mumkin.

Tarmoq fayl xizmati protokoli ( tarmoq fayli Server, NFS) foydalanuvchini taqdim etish uchun ochiq standartdir masofaviy kirish fayl tizimlariga. Unga asoslanib, markazlashtirilgan fayl tizimlari kabi kundalik vazifalarni osonlashtiradi zaxira yoki viruslarni skanerlash va birlashtirilgan disk bo'limlarini saqlash ko'plab kichik, taqsimlanganlarga qaraganda osonroq.

Markazlashtirilgan saqlashni ta'minlashdan tashqari, NFS boshqa ilovalar, jumladan disksiz va nozik mijozlar, tarmoq klasteri va hamkorlikdagi vosita dasturlari uchun juda foydali ekanligini isbotladi.

Protokolning o'zini ham, uni amalga oshirish tafsilotlarini ham yaxshiroq tushunish amaliy muammolarni hal qilishni osonlashtiradi. Ushbu maqola NFSga bag'ishlangan bo'lib, ikkita mantiqiy qismdan iborat: birinchi navbatda, protokolning o'zi va uni ishlab chiqishda qo'yilgan maqsadlar tasvirlangan, so'ngra Solaris va UNIX da NFSni amalga oshirish.

HAMmasi QERDAN BOSHLANGAN...

NFS protokoli Sun Microsystems tomonidan ishlab chiqilgan va 1989 yilda Internetda RFC 1094 shaklida quyidagi nom ostida paydo bo'lgan: "Tarmoq fayl tizimi protokoli spetsifikatsiyasi" (Tarmoq). Fayl tizimi Protokol spetsifikatsiyasi, NFS). Shunisi qiziqki, Novellning o'sha paytdagi strategiyasi fayl xizmatlarini yanada yaxshilash edi. Yaqin vaqtgacha, uchun harakat esa ochiq kodlar hali kuchga ega emas edi, Quyosh o'zining sirlarini ochishga intilmadi tarmoq yechimlari, ammo, shunga qaramay, kompaniya boshqa tizimlar bilan o'zaro hamkorlikni ta'minlash muhimligini tushundi.

RFC 1094 ikkita original spetsifikatsiyani o'z ichiga olgan. Uni nashr qilish vaqtida Sun RFC 1813 "NFS Protocol Specification, Version 3" (NFS Version 3 Protocol Specification) da keltirilgan spetsifikatsiyaning navbatdagi, uchinchi versiyasini ishlab chiqdi. Ushbu protokolning 4-versiyasi RFC 3010 NFS protokoli spetsifikatsiyasining 4-versiyasida (NFS Version 4 Protocol) belgilangan.

NFS barcha turdagi UNIX xostlarida, Microsoft va Novell tarmoqlarida hamda AS400 va OS/390 kabi IBM yechimlarida keng qo'llaniladi. Tarmoq doirasidan tashqarida noma'lum, NFS, shubhasiz, platformadan mustaqil tarmoq fayl tizimi eng keng qo'llaniladi.

UNIX GENERATOR EDI

NFS platformadan mustaqil tizim bo'lsa-da, UNIX uning ajdodi hisoblanadi. Boshqacha qilib aytganda, ierarxik arxitektura va fayllarga kirish usullari, jumladan, fayl tizimining tuzilishi, foydalanuvchilar va guruhlarni aniqlash usullari va fayllar bilan ishlash UNIX fayl tizimiga juda o'xshash. Masalan, NFS fayl tizimi tuzilishi jihatidan bir xil fayl tizimi UNIX to'g'ridan-to'g'ri unga o'rnatilgan. Boshqa operatsion tizimlarda NFS bilan ishlashda foydalanuvchi identifikatorlari va fayl ruxsatlari xaritada ko'rsatiladi.

NFS

NFS tizimi mijoz-server arxitekturasida foydalanish uchun mo'ljallangan. Mijoz NFS serveri tomonidan eksport qilingan fayl tizimiga mijozdagi o'rnatish nuqtasi orqali kiradi. Bunday kirish odatda mijoz ilovasi uchun shaffofdir.

Ko'pgina mijoz-server tizimlaridan farqli o'laroq, NFS ma'lumot almashish uchun qo'ng'iroqlardan foydalanadi. masofaviy protseduralar (Masofaviy protsedura Qo'ng'iroqlar, RPC). Odatda, mijoz ma'lum portga ulanishni o'rnatadi va keyin protokolga muvofiq ma'lum bir harakatni bajarish uchun so'rov yuboradi. Masofaviy protsedura chaqiruvi bo'lsa, mijoz protsedura chaqiruvini yaratadi va keyin uni bajarish uchun serverga yuboradi. Batafsil tavsif NFS quyida taqdim etiladi.

Misol tariqasida, mijoz usr2 katalogini mahalliy ildiz fayl tizimiga o'rnatgan deylik:

/root/usr2/ -> masofaviy:/root/usr/

Agar mijoz ilovasi ushbu katalogning resurslariga muhtoj bo'lsa, u shunchaki so'rov yuboradi operatsion tizim Unda va fayl nomida va bu NFS mijozi orqali kirishni ta'minlaydi. Masalan, tarmoq protokollari haqida "hech narsa bilmaydigan" oddiy UNIX cd buyrug'ini ko'rib chiqing. Jamoa

CD /root/usr2/

ishchi katalogni masofaviy fayl tizimiga fayl tizimining masofaviy ekanligini "hatto bilmasdan" joylashtiradi (foydalanuvchi ham bilishi shart emas).

So'rovni qabul qilgandan so'ng, NFS serveri tekshiradi bu foydalanuvchi so'ralgan harakatni bajarish huquqiga ega va ijobiy javob bo'lsa, uni amalga oshiradi.

YAXSHI TANISHAYLIK

Mijoz nuqtai nazaridan NFS yordamida masofaviy fayl tizimini lokal ravishda o'rnatish jarayoni bir necha bosqichlardan iborat. Yuqorida aytib o'tilganidek, NFS mijozi uni serverda bajarish uchun masofaviy protsedura chaqiruvini yuboradi. Shuni esda tutingki, UNIX-da mijoz bitta dastur (montaj buyrug'i), server esa quyidagi minimal to'plamga ega bir nechta dasturlar sifatida amalga oshiriladi: port mapper xizmati (port mapper), mount daemon (mount demon) va NFS server .

Mijozning o'rnatish buyrug'i birinchi navbatda serverning port tarjimasi xizmati bilan bog'lanadi, u 111-portdagi so'rovlarni tinglaydi. Mijozning o'rnatish buyrug'ining aksariyat ilovalari NFSning bir nechta versiyalarini qo'llab-quvvatlaydi, bu esa mijoz va serverning umumiy protokol versiyasini topish ehtimolini oshiradi. Qidiruv eng qadimgi versiyadan boshlab amalga oshiriladi, shuning uchun umumiy topilganda, u avtomatik ravishda eng ko'p bo'ladi yangi versiya mijoz va server tomonidan qo'llab-quvvatlanadi.

(Ushbu material NFSning uchinchi versiyasiga qaratilgan, chunki u eng keng tarqalgan bu daqiqa. 4-versiya hali ko'pgina ilovalar tomonidan qo'llab-quvvatlanmaydi.)

Server portini tarjima qilish xizmati qo'llab-quvvatlanadigan protokol va o'rnatish demoni ishlayotgan portga muvofiq so'rovlarga javob beradi. Mijozning o'rnatish dasturi avval serverning mount demoniga ulanishni o'rnatadi va keyin unga RPC orqali o'rnatish buyrug'ini yuboradi. Agar ushbu protsedura muvaffaqiyatli bo'lsa, mijoz ilovasi NFS serveriga (port 2049) ulanadi va RFC 1813 da aniqlangan va 1-jadvalda keltirilgan 20 ta masofaviy protseduralardan biri yordamida masofaviy fayl tizimiga kiradi.

Ko'pgina buyruqlarning ma'nosi intuitivdir va hech qanday qiyinchilik tug'dirmaydi tizim ma'murlari. Tcdump yordamida ishlab chiqarilgan quyidagi ro'yxat test-fayl deb nomlangan faylni o'qish uchun UNIX cat buyrug'i tomonidan ishlatiladigan o'qish buyrug'ini ko'rsatadi:

10:30:16.012010 eth0 > 192.168.1.254. 3476097947 > 192.168.1.252.2049: 144 qidirish fh 32.0/ 224145 "test-fayl" 10:30:16.012010 eth0 > 192.168.1.254. 3476097947 > 192.168.1.252.2049: 144 qidirish fh 32.0/ 224145 "test-fayl" 10:30:16.012729 eth0 192.168.1.254.39402 qarang: f2.39402 rep. 22 4307 (DF) 10:30: 16.012729 eth0 192.168.1.254.3476097947: javob bering ok 128 qidirish fh 32.0/224307 (DF) 10:30:16.013124 eth0 > 192.168.1.254. 3492875163 > 192.168.1.252.2049: 140 o'qish fh 32.0/ 224307 4096 bayt @ 0 10:30:16.013124 eth0 > 192.168.1.254. 3492875163 > 192.168.1.252.2049: 140 oʻqildi fh 32.0/ 224307 4096 bayt @ 0 10:30:16.013650 eth0 192.168.1.252.2014 oʻqildi (DF31014) : 30:16.013650 eth0 192.168.1.254.3492875163 : javob OK 108 o'qing (DF)

NFS an'anaviy ravishda UDP orqali amalga oshirilgan. Biroq, NFS ning ba'zi versiyalari TCP ni qo'llab-quvvatlaydi (TCP qo'llab-quvvatlash protokol spetsifikatsiyasida belgilangan). TCP ning asosiy afzalligi ishonchsiz tarmoqlarda samaraliroq qayta uzatish mexanizmi hisoblanadi. (UDP holatida, agar xatolik yuzaga kelsa, u holda bir nechta UDP paketlaridan iborat to'liq RPC xabari qayta uzatiladi. TCP bilan faqat buzilgan fragment qayta uzatiladi.)

NFS KIRISH

NFS ilovalari odatda ruxsat berishning to'rtta usulini qo'llab-quvvatlaydi: foydalanuvchi/fayl atributlari orqali, almashish darajasida, asosiy tugun darajasida va boshqa kirish usullarining kombinatsiyasi sifatida.

Birinchi usul individual foydalanuvchi yoki guruh uchun fayl ruxsatlarining o'rnatilgan UNIX tizimiga tayanadi. Xizmatni soddalashtirish uchun foydalanuvchi va guruh identifikatsiyasi barcha NFS mijozlari va serverlarida izchil bo'lishi kerak. Xavfsizlikni diqqat bilan ko'rib chiqish kerak: NFS ular yaratilganda mo'ljallanmagan fayllarga beixtiyor ruxsat berishi mumkin.

Birgalikda resurslarga kirish fayl egaligi yoki UNIX imtiyozlaridan qat'i nazar, faqat ma'lum harakatlarga bo'lgan huquqlarni cheklash imkonini beradi. Masalan, NFS fayl tizimi bilan ishlash faqat o'qish bilan cheklanishi mumkin. NFS-ning aksariyat ilovalari ma'lum foydalanuvchilar va/yoki guruhlarga umumiy resurslar darajasida kirishni yanada cheklash imkonini beradi. Misol uchun, Inson resurslari guruhiga ma'lumotni ko'rishga ruxsat beriladi va boshqa hech narsa yo'q.

Magistral darajadagi kirish fayl tizimini faqat ma'lum tugunlarga o'rnatishga imkon beradi, bu odatda yaxshi fikr, chunki fayl tizimlari NFS-ni qo'llab-quvvatlaydigan har qanday tugunlarda osongina yaratilishi mumkin.

Birlashtirilgan kirish oddiygina yuqoridagi turlarni birlashtiradi (masalan, ma'lum bir foydalanuvchiga ruxsat berilgan umumiy darajadagi kirish) yoki foydalanuvchilarga NFSga faqat ma'lum bir xostdan kirish imkonini beradi.

NFS pingvin uslubi

Bu erda taqdim etilgan Linux bilan bog'liq material nfs-utils paketining 0.1.6 versiyasi bilan ta'minlangan 2.4.9 yadro versiyasiga ega Red Hat 6.2 tizimiga asoslangan. Yangi versiyalar ham mavjud: ushbu yozuv paytida, eng ko'p Oxirgi yangilanish nfs-utils to'plami 0.3.1 raqami edi. Uni quyidagi manzildan yuklab olish mumkin: .

Nfs-utils to'plami quyidagilarni o'z ichiga oladi bajariladigan fayllar: exportfs, lockd, mountd, nfsd, nfsstat, nhfsstone, rquotad, showmount va statd.

Afsuski, Linux ma'murlari uchun NFS qo'llab-quvvatlashi ba'zan chalkashtirib yuboradi, chunki ma'lum bir xususiyatning mavjudligi to'g'ridan-to'g'ri yadro va nfs-utils paketining versiya raqamlariga bog'liq. Yaxshiyamki, hozir bu sohada ishlar yaxshilanmoqda: so'nggi tarqatish to'plamlari ikkalasining ham so'nggi versiyalarini o'z ichiga oladi. Oldingi nashrlar uchun toʻliq roʻyxat uchun NFS-HOWTO ning 2.4-boʻlimiga qarang funksionallik yadro va nfs-utils paketining har bir kombinatsiyasi uchun mavjud tizimlar. Ishlab chiquvchilar paketning oldingi versiyalari bilan orqaga qarab muvofiqligini saqlab, xavfsizlik va dasturiy ta'minotdagi xatolarni tuzatishga katta e'tibor berishadi.

NFS-ni qo'llab-quvvatlash yadro kompilyatsiyasi vaqtida boshlanishi kerak. Agar kerak bo'lsa, yadroga NFS 3-versiyasi bilan ishlash qobiliyati ham qo'shilishi kerak.

Linuxconf-ni qo'llab-quvvatlaydigan tarqatishlar uchun NFS xizmatlarini mijozlar va serverlar uchun sozlash oson. Biroq, linuxconf yordamida NFS-ni o'rnatishning tezkor usuli qanday fayllar yaratilgan yoki tahrirlanganligi haqida ma'lumot bermaydi, bu tizim ishlamay qolganda ma'mur uchun bilishi juda muhimdir. Linuxda NFS arxitekturasi BSD versiyasi bilan erkin bog'langan, shuning uchun kerakli qo'llab-quvvatlash fayllari va dasturlarini BSD, Sun OS 2.5 yoki NFSning oldingi versiyalarida ishlaydigan ma'murlar uchun topish oson.

Ko'proq faylda bo'lgani kabi /etc/exports fayli dastlabki versiyalari BSD NFS mijozlari kirishiga ruxsat berilgan fayl tizimlarini belgilaydi. Bundan tashqari, u raqamni o'z ichiga oladi qo'shimcha funktsiyalar boshqaruv va xavfsizlik masalalari bilan bog'liq bo'lib, ma'murni vositalar bilan ta'minlash puxta sozlash. Bu matn fayli, yozuvlar, bo'sh satrlar yoki sharhlangan satrlardan iborat (sharhlar # bilan boshlanadi).

Aytaylik, biz mijozlarga Lefty xostidagi /home katalogiga faqat o‘qish uchun ruxsat bermoqchimiz. Bu /etc/exports-dagi quyidagi yozuvga mos keladi:

/uy (ro)

Bu erda biz tizimga rpc.mountd mount demoni yordamida qaysi kataloglarni taqdim etishimizni aytishimiz kerak:

# exportfs -r exportfs: /home (ro) da xost nomi ko'rsatilmagan, ogohlantirishdan qochish uchun *(ro) ni kiriting #

Ishga tushirilganda eksportfs buyrug'i /etc/exports ma'lum bir tugunga kirishni cheklamasligi haqida ogohlantiradi va /etc/exports dan /var/lib/nfs/etab-da mushuk bilan qaysi resurslarni ko'rish mumkinligini bildiruvchi tegishli yozuvni yaratadi:

# 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)

Etabda keltirilgan boshqa variantlar NFS tomonidan qo'llaniladigan standart sozlamalarni o'z ichiga oladi. Tafsilotlar quyida tavsiflanadi. /home katalogiga ruxsat berish uchun tegishli NFS xizmatlari ishga tushirilishi kerak:

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

Mount demoni (rpc.mountd) ishga tushgandan so'ng istalgan vaqtda so'rang alohida fayllar chiqish uchun mavjud bo'lsa, /proc/fs/nfs/exports faylining mazmunini ko'rishingiz mumkin:

# cat /proc/fs/nfs/exports # Versiya 1.0 # Path Client(Bayroqlar) # IP /home 192.168.1.252(ro,root_squash,async, wdelay) # 192.168.1.252 #

Xuddi shu narsani -e opsiyasi bilan showmount buyrug'i yordamida ko'rish mumkin:

# showmount -e Chaplar uchun eksport ro'yxati: /home (hamma) #

Biroz oldinga o'tsak, showmount buyrug'i barcha o'rnatilgan fayl tizimlarini aniqlash yoki boshqacha qilib aytganda, showmount buyrug'i bilan ishlaydigan tizim uchun qaysi xostlar NFS mijozlari ekanligini aniqlash uchun ham ishlatilishi mumkin. showmount -a buyrug'i mijozning barcha o'rnatish nuqtalarini ro'yxatga oladi:

# showmount -a Barcha o'rnatish nuqtalari chap tomonda: 192.168.1.252:/home #

Yuqorida ta'kidlab o'tilganidek, ko'pchilik NFS dasturlari ushbu protokolning turli versiyalarini qo'llab-quvvatlaydi. Linux ilovasi o'rnatish demoni uchun -N variantini belgilash orqali ishlaydigan NFS versiyalari ro'yxatini cheklash imkonini beradi. Masalan, NFS 3-versiyasini va faqat 3-versiyasini ishga tushirish uchun quyidagi buyruqni kiriting:

# rpc.mountd -N 1 -N 2

Tanlangan foydalanuvchilar buni noqulay deb bilishlari mumkin linux demoni NFS (rpc.nfsd) 1-versiya va 2-versiya paketlarini kutmoqda, ammo bu tegishli protokolni qoʻllab-quvvatlashni toʻxtatishning istalgan effektiga erishadi. Umid qilamizki, keyingi versiyalarni ishlab chiquvchilar kerakli tuzatishlarni kiritadilar va paketning tarkibiy qismlari o'rtasida ko'proq muvofiqlikka erishadilar. turli versiyalar protokol.

"PINGVINLAR BILAN suzish"

Yuqorida sozlangan Lefty, eksport qilingan NFS fayl tizimiga kirish yoqilgan Linuxga asoslangan, mijozning operatsion tizimiga bog'liq. Ko'pgina UNIX oilaviy operatsion tizimlari uchun o'rnatish uslubi asl Sun OS va BSD tizimlari yoki yangi Solaris bilan bir xil. Ushbu maqola Linux va Solarisga qaratilganligi sababli, yuqorida tavsiflangan NFS ning Linux versiyasiga ulanishni o'rnatish nuqtai nazaridan Solaris 2.6 mijoz konfiguratsiyasini ko'rib chiqaylik.

Solaris 2.6 dan meros bo'lib qolgan xususiyatlar bilan uni NFS mijozi sifatida sozlash oson. Bu faqat bitta buyruqni talab qiladi:

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

Keling, shunday da'vo qilaylik oldingi jamoa mount muvaffaqiyatli bo'lsa, parametrsiz o'rnatish buyrug'i quyidagilarni chiqaradi:

# mount / on /dev/dsk/c0t0d0s0 read/write/setuid/ largefiles on 3-sentabr 10:17:56 2001 ... ... /tmp/tmp2 on 192.168.1.254:/home read/ write/remote on Dushanba 3-sentabr 23:19:25 2001 yil

Foydalanuvchi Sunny hostida ls /tmp/tmp2 buyrug'ini kiritgandan so'ng, Lefty xostidagi tcpdump chiqishini tahlil qilaylik:

# tcpdump host lefty and host sunny -s512 06:07:43.490583 sunny.2191983953 > lefty.mcwrite.n.nfs: 128 getattr fh Unknown/1 (DF) 06:07:43.490678 lefty.ns.sunny. 2191983953: javob bering ok 112 getattr DIR 40755 ids 0/0 sz 0x000001000 (DF) 06:07:43.491397 sunny.2191983954 > lefty.mcwrite.nDF10101954 noma'lum. :07:4 3.491463 chap mcwrite.n.nfs > sunny.2191983954: javob bering ok 120 kirish c0001 (DF) 06:07:43.492296 00 (DF) 06:07:43.492417 lefty.mcwrite.n.n.n.nf: reply.mcwrite.n.n.n.nf: reply readdirplus ( DF)

Quyoshli tugun ls uchun fayl deskriptorini (fh) so'rashini ko'ramiz, unga Chap tugun javob sifatida OK ni yuboradi va katalog strukturasini qaytaradi. Keyin Sunny katalog mazmuni uchun ruxsatni tekshiradi (132 fh kirish) va Leftydan ruxsat olish uchun javob oladi. Keyin Quyoshli tugun readdirplus protsedurasi yordamida katalogning to‘liq mazmunini o‘qiydi. Masofaviy protsedura chaqiruvlari RFC 1813 da tasvirlangan va ushbu maqolaning boshida keltirilgan.

Masofaviy fayl tizimlariga kirish uchun buyruqlar ketma-ketligi juda oddiy bo'lsa-da, bir qator holatlar tizimning noto'g'ri o'rnatilishiga olib kelishi mumkin. Katalogni o'rnatishdan oldin o'rnatish nuqtasi allaqachon mavjud bo'lishi kerak, aks holda u mkdir buyrug'i yordamida yaratilishi kerak. Odatda mijoz tomonidagi xatolarning yagona sababi mahalliy o'rnatish katalogining yo'qligi hisoblanadi. Biroq, NFS bilan bog'liq muammolarning aksariyati mijoz va server o'rtasidagi nomuvofiqlik yoki noto'g'ri server konfiguratsiyasi bilan bog'liq.

Serverdagi muammolarni bartaraf etishning eng oson yo'li bu server ishlayotgan xostdan. Biroq, serverni sizning o'rniga kimdir boshqarsa, bu har doim ham mumkin emas. Tez yo'l tegishli server xizmatlari to'g'ri sozlanganligiga ishonch hosil qiling - rpcinfo buyrug'ini -p opsiyasi bilan ishlating. Solaris Sunny xostidan Linux xostida qaysi RPC jarayonlari ro'yxatdan o'tganligini aniqlashingiz mumkin:

# rpcinfo -p 192.168.1.254 dastur versiyalari proto-port xizmati 100000 2 tcp 111 rpcbind 100000 2 udp 111 rpcbind 100024 1 udp 692 status 10002440102 status 1000240102 4 oʻrnatish /100005 3 tcp 1024 oʻrnatish 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 #

E'tibor bering, bu erda versiya ma'lumotlari ham taqdim etiladi, bu tizim turli NFS protokollarini qo'llab-quvvatlashni talab qilganda juda foydali. Agar serverda biron bir xizmat ishlamayotgan bo'lsa, bu vaziyatni tuzatish kerak. Agar o'rnatish bajarilmasa, quyidagi rpcinfo -p buyrug'i serverdagi mountd xizmati ishlamay qolganligini bildiradi:

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

Rpcinfo buyrug'i ma'lum bir masofaviy jarayon faol yoki yo'qligini aniqlash uchun juda foydali. -p varianti kalitlarning eng muhimi hisoblanadi. Rpcinfo ning barcha xususiyatlari uchun man sahifasiga qarang.

Yana bir foydali vosita - nfsstat buyrug'i. Uning yordami bilan siz mijozlar eksport qilingan fayl tizimiga haqiqatan ham kiryaptimi yoki yo'qligini bilib olishingiz, shuningdek, protokol versiyasiga muvofiq statistik ma'lumotlarni ko'rsatishingiz mumkin.

Nihoyat, yana bitta narsa etarli foydali vosita Tizimning ishdan chiqishi sabablarini aniqlash tcpdump:

# tcpdump host lefty va host sunny -s512 tcpdump: eth0 06:29:51.773646 sunnyda tinglash lefty.mcwrite.n.nfs > sunny.2191984020: javob bering ok 116 qidirish XATO: Bunday fayl yoki katalog yo‘q (DF) 06:29:51.774593 sunny.2191984021 > lefty.mcwrite.n.nfs/known get1 DF) 06:29:51.774670 lefty.mcwrite.n.nfs > sunny.2191984021: javob bering ok 112 getattr DIR 40755 ids 0/0 sz 0x000001000 (DF) 019198402 (DF) 0191984021. lefty.mcwrite .n.nfs : 140 qidirish fh Noma'lum/1"test.c" (DF) 06:29:51.775357 lefty.mcwrite.n.nfs > sunny.2191984022: javob berish ok 116 qidirish XATOS: Bunday fayl yoki katalog yo‘q (DF) 06:29: 51.776029 sunny.2191984023 > lefty.mcwrite.n.nfs: 184 create fh Unknown/1 "test.c" (DF) 06:29:51.776169 lefty.mcwrite.n.nfs > sunny.2191984023 yaratish: lefty.mcwrite.n.nfs Ruxsat rad etildi (DF)

Sensorli test.c bayonoti bajarilgandan so'ng olingan yuqoridagi ro'yxat quyidagi harakatlar ketma-ketligini ko'rsatadi: birinchi navbatda sensorli buyruq test.c nomli faylga kirishga harakat qiladi, so'ngra xuddi shu nomdagi katalogni qidiradi va muvaffaqiyatsiz tugagandan so'ng. urinishsa, test.c faylini yaratishga harakat qiladi, bu ham muvaffaqiyatsiz bo'ladi.

Agar fayl tizimi o'rnatilgan bo'lsa, keng tarqalgan xatolarning aksariyati oddiy UNIX ruxsatnomalari bilan bog'liq. Sun'ning uid yoki NIS+ dan foydalanishi barcha fayl tizimlarida global ruxsatlarni o'rnatishdan qochadi. Ba'zi ma'murlar "ochiq" kataloglarni qo'llashadi, bu erda ularni o'qish uchun ruxsat "butun dunyo" ga beriladi. Biroq, xavfsizlik nuqtai nazaridan buning oldini olish kerak. Xavfsizlik bilan bog'liq muammolarni bir chetga surib qo'ysak, bu hali ham yomon amaliyot, chunki foydalanuvchilar kamdan-kam hollarda ma'lumotlarni hamma tomonidan o'qilishi uchun yaratadilar.

Imtiyozli foydalanuvchi (root) tomonidan NFS o'rnatilgan fayl tizimlariga kirishlari boshqacha ko'rib chiqiladi. Imtiyozli foydalanuvchiga cheksiz kirish huquqini bermaslik uchun imtiyozli foydalanuvchining so'rovlari xuddi "hech kim" foydalanuvchisi kabi ko'rib chiqiladi. Ushbu kuchli mexanizm foydalanuvchining global o'qiladigan va yoziladigan fayllarga imtiyozli kirishini cheklaydi.

NFS SERVER, SOLARIS VERSIYASI

Solaris-ni NFS-server sifatida ishlash uchun sozlash Linux-da bo'lgani kabi oson. Biroq, buyruqlar va fayl joylashuvi biroz farq qiladi. Solaris ishga tushganda, yuklash darajasi 3 ga yetganda, NFS xizmatlari avtomatik ravishda ishga tushadi va barcha fayl tizimlari eksport qilinadi. Ushbu jarayonlarni qo'lda boshlash uchun buyruqni kiriting:

#/usr/lib/nfs/mountd

O'rnatish demonini va NFS serverini ishga tushirish uchun quyidagilarni kiriting:

#/usr/lib/nfs/nfsd

2.6 versiyasidan boshlab, Solaris endi qaysi fayl tizimlarini eksport qilishni belgilash uchun eksport faylidan foydalanmaydi. Fayllar endi ulashish buyrug'i yordamida eksport qilinadi. Aytaylik, biz masofaviy xostlarga /export/home-ni o'rnatishga ruxsat bermoqchimiz. Buning uchun quyidagi buyruqni kiriting:

Ulashish -F nfs /export/home

Xavfsizlik choralari

LINUXDA XAVFSIZLIK

Ba'zi NFS tizim xizmatlari yoqilgan Linuxga asoslangan nazorat ro'yxatlari yoki jadvallar orqali kirishni cheklash uchun qo'shimcha mexanizmga ega. Ichki darajada ushbu mexanizm tcp_wrapper kutubxonasi yordamida amalga oshiriladi, u kirishni boshqarish ro'yxatlarini shakllantirish uchun ikkita fayldan foydalanadi: /etc/hosts.allow va /etc/hosts/deny. tcp_wrapper bilan ishlash qoidalarining to'liq ko'rinishi ushbu maqola doirasidan tashqarida, lekin asosiy tamoyil quyidagilardan iborat: moslashtirish avval etc/hosts.allow, keyin esa /etc/hosts bilan amalga oshiriladi. rad etish. Agar qoida topilmasa, so'ralgan tizim xizmati ko'rsatilmaydi. Oxirgi talabni bajarish va juda yuqori darajadagi xavfsizlikni ta'minlash uchun /etc/hosts.deny oxiriga quyidagi yozuvni qo'shishingiz mumkin:

HAMMA: Hammasi

Shundan so'ng, u yoki bu ish rejimini o'rnatish uchun /etc/hosts.allow dan foydalanish mumkin. Masalan, /etc/hosts fayli. Men ushbu maqolani yozishda foydalangan ruxsat quyidagi satrlarni o'z ichiga olgan:

qulflangan: 192.168.1.0/255.255.255.0 oʻrnatilgan: 192.168.1.0/255.255.255.0 port xaritasi: 192.168.1.0/255.255.255.0 rquotad: 1912.255.25.5.stat. 92 .168.1.0/255.255.255.0

Bu ilova darajasida ruxsat berishdan oldin tugunlarga qandaydir kirish imkonini beradi. IN Linuxga kirish ilova darajasida /etc/exports fayl boshqaruvlari. U quyidagi formatdagi yozuvlardan iborat:

Eksport katalogini (bo'sh joy) xost|tarmoq (variantlar)

"Eksport qilingan katalog" nfsd demoniga so'rovni qayta ishlashga ruxsat berilgan katalogdir. "Xost|Tarmoq" eksport qilinadigan fayl tizimiga kirish huquqiga ega bo'lgan xost yoki tarmoq bo'lib, "variantlar" nfsd demoni ushbu umumiy manbadan foydalanishga qanday cheklovlar qo'yishini belgilaydi - faqat o'qish uchun ruxsat yoki foydalanuvchi identifikatori xaritasi .

Quyidagi misol butun mcwrite.net domeniga /home/mcwrite.net saytiga faqat o‘qish uchun ruxsat beradi:

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

Ko'proq misollarni eksportchilar sahifasida topish mumkin.

SOLARISDA NFS SECURITY

Solaris-da NFS-ga kirishni ta'minlash qobiliyati Linux-ga o'xshaydi, ammo bu holda cheklovlar -o kaliti bilan almashish buyrug'idagi ma'lum variantlardan foydalangan holda o'rnatiladi. Quyidagi misol mcwrite.net domenidagi istalgan xostda /export/mcwrite.net ni faqat o‘qish uchun o‘rnatishni qanday yoqish mumkinligini ko‘rsatadi:

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

Share_nfs man sahifasi Solaris-dagi nazorat ro'yxatlari yordamida qanday ruxsat berish haqida batafsil ma'lumot beradi.

Internet resurslari

NFS va RPC "teshiklar"siz emas edi. Umuman olganda, NFS Internetda ishlatilmasligi kerak. NFS orqali istalgan turdagi kirishga ruxsat berib, xavfsizlik devorlarini "teshik" qila olmaysiz. Barcha RPC va NFS yamoqlari diqqat bilan kuzatilishi kerak va xavfsizlik ma'lumotlarining ko'p manbalari yordam berishi mumkin. Ikki eng mashhur manbalar Bugtraq va CERT:

Birinchisini kerakli ma'lumotlarni qidirishda muntazam ravishda ko'rish yoki davriy axborot byulleteniga obuna bo'lish mumkin. Ikkinchisi, ehtimol, boshqalarga qaraganda, unchalik tez emas, balki axborot xavfsizligiga bag'ishlangan ba'zi saytlarga xos bo'lgan juda to'liq hajmda va shov-shuvsiz ma'lumot beradi.

Nima bu amaliy foydalanish/etc/networks fayli? Men tushunganimdek, ushbu faylda tarmoq nomlarini ko'rsatish mumkin. Masalan:

[elektron pochta himoyalangan]:~# cat /etc/networks sukut bo‘yicha 0.0.0.0 orqaga qaytish 127.0.0.0 havola-local 169.254.0.0 google-dns 8.8.4.4 [elektron pochta himoyalangan]:~#

Biroq, agar men ushbu tarmoq nomini, masalan, ip yordam dasturida ishlatmoqchi bo'lsam, u ishlamaydi:

[elektron pochta himoyalangan]:~# ip route google-dns-ni 104.236.63.1 dev eth0 orqali qo'shish Xato: "google-dns" o'rniga inet prefiksi kutilmoqda. [elektron pochta himoyalangan]:~# IP route 8.8.4.4 ni 104.236.64.1 dev eth0 orqali qo'shing [elektron pochta himoyalangan]:~#

/etc/networks faylidan amaliy foydalanish nima?

2 Yechimlar "/etc/networks faylidan amaliy foydalanish" uchun veb-formalarni to'playdi.

Man sahifasida yozilganidek, /etc/networks fayli tarmoqlar uchun ramziy nomlarni tavsiflashi kerak. Tarmoq bilan bu oxirida .0 belgisi bo'lgan tarmoq manzilini bildiradi. Faqat qo'llab-quvvatlanadi oddiy tarmoqlar A, B yoki C sinflari.

Sizning misolingizda google-dns yozuvi noto'g'ri. Bu tarmoq A, B yoki C emas. Bu ip-manzil-host nomi munosabati, shuning uchun u /etc/hosts ga tegishli. Aslida standart yozuv ham mos kelmaydi.

Aytaylik, sizda 192.168.1.5 IP manzilingiz bor korporativ tarmoq. /etc/network-ga kirish quyidagicha bo'lishi mumkin:

Tashkilot nomi 192.168.1.0

Marshrut yoki netstat kabi yordamchi dasturlardan foydalanganda, bu tarmoqlar tarjima qilinadi (agar siz -n bayrog'i bilan ruxsatni bosmasangiz). Marshrut jadvali quyidagicha ko'rinishi mumkin:

Yadro IP marshrutlash jadvali Destination Gateway Genmask Flags Metric Ref Use 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

IP buyrug'i hech qachon kirish uchun xost nomidan foydalanmaydi, shuning uchun sizning misolingiz deyarli muhim emas. Shuningdek, siz tarmoq nomini emas, host nomini /etc/networks ga qo'yasiz!

/etc/networks-dagi yozuvlar (eskirgan) marshrut buyrug'i kabi raqamlarni nomlarga aylantirishga harakat qiladigan vositalar tomonidan qo'llaniladi. Tegishli yozuvsiz u ko'rsatadi:

# marshrut Yadro IP marshrutlash jadvali Destination Gateway Genmask Flags Metric Ref Use 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 00

Agar endi mylocalnet 192.168.0.0 qatorini /etc/networks ga qo'shsak:

# marshrut Yadro IP marshrutlash jadvali Destination Gateway Genmask Flags Metric Ref Use 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

Amalda, bu hech qachon qo'llanilmaydi.

Bor!


Ba'zan tarmoqlar va boshqa tizim xatolar windows xatolar Windows ro'yxatga olish kitobidagi muammolar bilan bog'liq bo'lishi mumkin. Bir nechta dasturlardan foydalanish mumkin tarmoqlar fayli, lekin bu dasturlar o'chirilganda yoki o'zgartirilganda, ba'zan "etim" (yaroqsiz) Windows ro'yxatga olish kitobi yozuvlari ortda qoladi.

Asosan, bu faylning haqiqiy yo'li o'zgartirilgan bo'lsa-da, uning noto'g'ri oldingi joylashuvi hali ham Windows ro'yxatga olish kitobida qayd etilganligini anglatadi. Windows ushbu noto'g'ri fayl ma'lumotnomasini (kompyuteringizdagi fayl joylashuvi) qidirishga harakat qilganda, tarmoqlar. Bundan tashqari, zararli dastur infektsiyasi bilan bog'liq ro'yxatga olish kitobi yozuvlarini buzgan bo'lishi mumkin Microsoft Windows. Shunday qilib, muammoning ildizini tuzatish uchun ushbu buzilgan Windows ro'yxatga olish kitobi yozuvlarini tuzatish kerak.

Yaroqsiz tarmoqlar kalitlarini olib tashlash uchun Windows ro'yxatga olish kitobini qo'lda tahrirlash tavsiya etilmaydi, agar siz shaxsiy kompyuter xizmati mutaxassisi bo'lmasangiz. Ro'yxatga olish kitobini tahrirlashda qilingan xatolar kompyuteringizni yaroqsiz holga keltirishi va operatsion tizimingizga tuzatib bo'lmaydigan zarar etkazishi mumkin. Haqiqatan ham, noto'g'ri joyga bitta vergul qo'yish ham kompyuteringizni ishga tushirishga to'sqinlik qilishi mumkin!

Ushbu xavf tufayli har qanday tarmoqlarni skanerlash va tuzatish uchun WinThruster (Microsoft Gold Certified Partner tomonidan ishlab chiqilgan) kabi ishonchli registrni tozalash vositasidan foydalanishni tavsiya etamiz. Ro'yxatga olish kitobini tozalash vositasidan foydalanish ro'yxatga olish kitobidagi noto'g'ri yozuvlarni, etishmayotgan fayllarga havolalarni (masalan, tarmoq xatosiga sabab bo'lgan) va ro'yxatga olish kitobidagi buzilgan havolalarni topish jarayonini avtomatlashtiradi. Har bir skanerdan oldin avtomatik ravishda yaratilgan zaxira nusxasi, bu sizga bir marta bosish bilan har qanday o'zgarishlarni bekor qilish imkonini beradi va sizni himoya qiladi mumkin bo'lgan zarar kompyuter. Eng yaxshi tomoni shundaki, ro'yxatga olish kitobidagi xatolarni tuzatish tizim tezligi va ish faoliyatini sezilarli darajada yaxshilashi mumkin.


Ogohlantirish: Agar siz bo'lmasangiz tajribali foydalanuvchi Kompyuter, Windows ro'yxatga olish kitobini qo'lda tahrirlashni TAVSIYA EMAS. Ro'yxatga olish kitobi muharriridan noto'g'ri foydalanish sabab bo'lishi mumkin jiddiy muammolar va talab Windows-ni qayta o'rnatish. Ro'yxatga olish kitobi muharriridan noto'g'ri foydalanish natijasida yuzaga keladigan muammolarni hal qilish mumkinligiga kafolat bermaymiz. Ro'yxatga olish kitobi muharriridan o'zingizning xavf-xataringiz ostida foydalanasiz.

Qo'lda tiklashdan oldin Windows ro'yxatga olish kitobi, ro'yxatga olish kitobining tarmoqlar qismini eksport qilish orqali zaxira nusxasini yaratishingiz kerak (masalan, Microsoft Windows):

  1. Tugmani bosing Boshlanishi.
  2. Kirish " buyruq"V qidiruv paneli... HAZI BOSMANG KIRISH!
  3. Kalitlarni ushlab turish CTRL-Shift klaviaturada bosing KIRISH.
  4. Kirish dialog oynasi ko'rsatiladi.
  5. bosing Ha.
  6. Qora quti miltillovchi kursor bilan ochiladi.
  7. Kirish " regedit" va bosing KIRISH.
  8. Ro'yxatga olish kitobi muharririda zaxira nusxasini yaratmoqchi bo'lgan tarmoqlar bilan bog'liq kalitni tanlang (masalan, Microsoft Windows).
  9. Menyuda Fayl tanlang Eksport.
  10. Roʻyxatga kiritilgan Saqlash Microsoft Windows kalitining zaxira nusxasini saqlamoqchi bo'lgan jildni tanlang.
  11. Dalada Fayl nomi zaxira fayli nomini kiriting, masalan, "Microsoft Windows zaxira nusxasi nusxa ko'chirish".
  12. Maydonga ishonch hosil qiling Eksport oralig'i qiymat tanlangan Tanlangan filial.
  13. bosing Saqlash.
  14. Fayl saqlanadi reg kengaytmasi bilan.
  15. Endi sizda tarmoqlaringizning zaxira nusxasi mavjud.

Ro'yxatga olish kitobini qo'lda tahrirlash bo'yicha keyingi qadamlar ushbu maqolada ko'rib chiqilmaydi, chunki ular tizimingizga zarar etkazishi mumkin. Agar siz ro'yxatga olish kitobini qo'lda tahrirlash haqida ko'proq ma'lumot olishni istasangiz, quyidagi havolalarga qarang.

Xayrli vaqt, aziz o'quvchilar. Men ikkinchi qismni e'lon qilaman. Joriy bo'limga e'tibor qaratilgan Linuxda tarmoqni amalga oshirish(Linuxda tarmoqni qanday o'rnatish, Linuxda tarmoqni qanday diagnostika qilish va Linuxda tarmoq quyi tizimini saqlash).

Ethernet tarmog'i uchun Linuxda TCP/IPni sozlash

Bilan ishlash uchun tarmoq protokollari Linuxda TCP/IP faqat bo'lishi kifoya orqaga qaytish interfeysi, lekin agar siz xostlarni bir-biri bilan birlashtirishingiz kerak bo'lsa, albatta, sizga tarmoq interfeysi, ma'lumotlarni uzatish kanallari (masalan, o'ralgan juftlik) kerak bo'lishi mumkin. tarmoq uskunalari. Bundan tashqari, odatda etkazib beriladigan (va hokazo) o'rnatilgan bo'lishi kerak. Shuningdek, u tarmoqqa (masalan, /etc/hosts) va tarmoqni qo'llab-quvvatlashga ega bo'lishi kerak.

Tarmoq sozlamalari

Keling, Linux tarmoq mexanizmlarini tushunishni tarmoqni qo'lda sozlash orqali, ya'ni qachondan boshlab boshlaylik IP manzili tarmoq interfeysi statik. Shunday qilib, tarmoqni o'rnatishda siz quyidagi parametrlarni hisobga olishingiz va sozlashingiz kerak:

IP manzili- maqolaning birinchi qismida aytib o'tilganidek - bu nuqta bilan ajratilgan to'rtta o'nlik raqam formatidagi mashinaning noyob manzili. Odatda, ishlayotganda mahalliy tarmoq, shaxsiy diapazonlardan tanlangan, masalan: 192.168.0.1

Subtarmoq niqobi- shuningdek, manzilning qaysi qismi tarmoq / pastki tarmoq manziliga va qaysi qismi xost manziliga tegishli ekanligini aniqlaydigan 4 kasrli raqam. Subtarmoq niqobi bu manzil qaysi quyi tarmoqqa tegishli ekanligini aniqlash uchun IP manzili bilan qo'shilgan (ikkilik shaklda) raqam. Masalan, 255.255.255.0 niqobli 192.168.0.2 manzili 192.168.0 pastki tarmoqqa tegishli.

Quyi tarmoq manzili- pastki tarmoq maskasi bilan aniqlanadi. Shu bilan birga, loopback interfeyslari uchun pastki tarmoqlar mavjud emas.

Efir manzili- pastki tarmoqdagi barcha xostlar tomonidan qabul qilinadigan eshittirish paketlarini yuborish uchun foydalaniladigan manzil. Odatda, u 255 xost qiymatiga ega bo'lgan pastki tarmoq manziliga teng, ya'ni 192.168.0 quyi tarmog'i uchun translyatsiya 192.168.0.255 bo'ladi, xuddi shunday, 192.168 pastki tarmoq uchun translyatsiya 192.168.255.255 bo'ladi. Loopback interfeyslari uchun translyatsiya manzili yo'q.

Gateway IP manzili tashqi dunyo bilan aloqa qilish uchun standart shlyuz bo'lgan mashinaning manzili. Agar kompyuter bir vaqtning o'zida bir nechta tarmoqqa ulangan bo'lsa, bir nechta shlyuzlar bo'lishi mumkin. Shlyuz manzili izolyatsiyalangan tarmoqlarda ishlatilmaydi (ulanmagan global tarmoq) chunki bu tarmoqlar tarmoqdan tashqarida paketlarni jo'natish uchun joy yo'q, xuddi shu narsa orqaga qaytish interfeyslari uchun ham amal qiladi.

Nom serverining IP manzili (DNS server)- xost nomlarini IP manzillarga aylantiruvchi server manzili. Odatda ISP tomonidan taqdim etiladi.

Linux tarmoq sozlamalari fayllari (konfiguratsiya fayllari)

Linuxda tarmoqni tushunish uchun men sizga "" maqolasini o'qishni maslahat beraman. Umuman olganda, hammasi linux ishi ga asoslangan bo'lib, u OS yuklanganda va uning avlodlarini ishlab chiqarganda tug'iladi, ular o'z navbatida barcha kerakli ishlarni bajaradi, xoh u bash yoki demon ishlaydi. Ha, va hammasi Linux yuklash tizim ishga tushirilganda / to'xtatilganda ketma-ket ishga tushiriladigan / to'xtatiladigan turli xil parametrlarga ega kichik yordamchi dasturlarni ishga tushirishning butun ketma-ketligi yozilgan. Linux tarmoq quyi tizimi xuddi shu tarzda boshlanadi.

Har bir Linux distributivida tarmoqni ishga tushirish mexanizmi biroz farq qiladi, ammo umumiy rasm, menimcha, o'qishdan keyin aniq bo'ladi. Agar siz ba'zilarining tarmoq quyi tizimining boshlang'ich skriptlariga qarasangiz Linux tarqatish keyin tarmoqni qanday sozlash kerak konfiguratsiya fayllari, bu ko'proq yoki kamroq aniq bo'ladi, masalan, Debian-da (biz ushbu taqsimotni asos qilib olamiz), skript tarmoqni ishga tushirish uchun javobgardir /etc/init.d/networking ko'rish orqali:

Net-server:~#cat /etc/init.d/networking #!/bin/sh -e ### BEGIN INIT INFO # Ta'minlaydi: tarmoqqa ulanish # Zarur-Boshlash: mountkernfs $local_fs # Kerakli-To'xtatish: $local_fs # kerak -Start: ifupdown # Should-Stop: ifupdown # Standart-Start: S # Standart-Stop: 0 6 # Qisqacha tavsif: Tarmoq interfeyslarini ko'tarish. ### END INIT INFO PATH="/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin" [ -x /sbin/ifup ] || chiqish 0. /lib/lsb/init-functions process_options() ( [ -e /etc/network/options ] || return 0 log_warning_msg "/etc/network/options hali ham mavjud va u E'tiborsiz qoldiriladi! Netbase ning README.Debian ni o'qing." ) check_network_file_systems() ( [ -e /proc/mounts ] || agar [ -e /etc/iscsi/iscsi.initramfs ] bo‘lsa, 0 qaytaring; keyin log_warning_msg "tarmoq interfeyslarini dekonfiguratsiya qilmayapti: iSCSI ildizi o‘rnatilgan." chiqish 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

o'rnatilgan tarmoq fayl tizimlarini tekshiradigan bir nechta funktsiyalarni topishingiz mumkin ( check_network_file_systems(), check_network_swap()), shuningdek, ba'zi tushunarsiz konfiguratsiyalar mavjudligini tekshirish /etc/network/options ( funktsiyasi process_options()), va eng pastki qismida, dizayn bo'yicha "$1" holati va kiritilgan parametrga muvofiq (start/stop/force-reload|qayta ishga tushirish yoki boshqa har qanday) muayyan harakatlarni amalga oshiradi. Bulardan juda muayyan harakatlar", start argumentining misoli funktsiya birinchi bo'lib ishga tushirilganligini ko'rsatadi jarayon_opsiyalari, keyin ibora jurnalga yuboriladi Tarmoq interfeyslarini sozlash, va buyruqni ishga tushiring ifup -a. Agar siz man ifup ga qarasangiz, ushbu buyruq fayldan konfiguratsiyani o'qishini ko'rishingiz mumkin /etc/network/interfaces va kalitga ko'ra -a parametrga ega bo'lgan barcha interfeyslarni ishga tushiradi avto.

Ifup va ifdown buyruqlari /etc/network/interfaces faylidagi interfeys ta'riflari asosida tarmoq interfeyslarini sozlash (yoki mos ravishda dekonfiguratsiya) uchun ishlatilishi mumkin.

-a, --hammasi
Ifup-ga berilsa, avtomatik deb belgilangan barcha interfeyslarga ta'sir qiling. Interfeyslar /etc/network/interfeyslarida belgilangan tartibda ko'tariladi. Ifdown ga berilgan bo'lsa, barcha belgilangan interfeyslarga ta'sir qiling. Interfeyslar hozirda davlat faylida ro'yxatga olingan tartibda tushiriladi. Faqat /etc/network/interfaces-da belgilangan interfeyslar o'chiriladi.

ip-server:~# cat /etc/network/interfaces # Ushbu fayl # tizimingizda mavjud bo'lgan tarmoq interfeyslarini va ularni qanday faollashtirishni tavsiflaydi. Qo'shimcha ma'lumot olish uchun interfeyslarga qarang(5). # Loopback tarmoq interfeysi auto lo iface lo inet loopback # Asosiy tarmoq interfeysi allow-hotplug eth0 iface eth0 inet dhcp allow-hotplug eth2 iface eth2 inet statik manzili 192.168.1.1 netmask 255.255.255.0 gateway 255.255.255.19.cast 1619.ad. .255

Ushbu konfiguratsiya qatorida ruxsat-hotplug Va avto sinonimlar va interfeyslar buyruq bo'yicha olib boriladi ifup -a. Bu, aslida, tarmoq quyi tizimining butun faoliyati zanjiri. Xuddi shunday, boshqa tarqatishlarda: RedHat va SUSE-da tarmoq skript tomonidan ishga tushiriladi /etc/init.d/network. Uni o'rganib chiqqandan so'ng, siz tarmoq konfiguratsiyasi qayerda joylashganligini xuddi shunday topishingiz mumkin.

/etc/hosts

Ushbu faylda ro'yxat mavjud IP manzillar Va ularga mos keladigan xost nomlari (manzillar).Fayl formati asosiy fayldan farq qilmaydi:

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

Tarixan, bu fayl DNS xizmati o'rnida ishlatilgan. Hozirda fayldan DNS xizmati oʻrniga ham foydalanish mumkin, lekin faqat sizning tarmogʻingizdagi mashinalar soni oʻnlab yoki yuzlab emas, balki birliklarda oʻlchanishi sharti bilan, chunki bu holda siz DNS xizmatini boshqarishingiz kerak boʻladi. har bir mashinada ushbu faylning to'g'riligi.

/etc/hostname

Ushbu fayl mavjud NetBIOS xost nomi:

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

Ushbu fayl mahalliy va boshqa tarmoqlarning nomlari va manzillarini saqlaydi. Misol:

Ip-server:~# cat /etc/networks sukut bo'yicha 0.0.0.0 orqaga qaytish 127.0.0.0 havola-lokal 169.254.0.0 uy-tarmoq 192.168.1.0

Ushbu fayldan foydalanganda tarmoqlar nomi bilan boshqarilishi mumkin. Masalan, marshrutni qo'shmang marshrut qo'shish 192.168.1.12 , A marshrut qo'shish.

/etc/nsswitch.conf

Fayl belgilaydi xost nomini qidirish tartibi/networks, quyidagi qatorlar ushbu sozlama uchun javobgardir:

Xostlar uchun: xostlar: fayllar dns Tarmoqlar uchun: tarmoqlar: fayllar

Parametr fayllar belgilangan fayllardan foydalanishni belgilaydi (/etc/hosts Va /etc/networks mos ravishda), parametr dns xizmatdan foydalanishni belgilaydi dns.

/etc/host.conf

Fayl hal qiluvchi uchun nomni aniqlash imkoniyatlarini belgilaydi

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

Bu fayl resolv kutubxonasiga faqat birinchisini emas, /etc/hosts faylida topilgan barcha joriy xost manzillarini qaytarishni aytadi.

/etc/resolv.conf

Ushbu fayl tarmoq nomi parametrlarini IP manzilga tarjima qilish mexanizmini belgilaydi. Oddiy tilda DNS sozlamalarini belgilaydi. Misol:

Ip-server:~# cat /etc/resolv.conf nom serveri 10.0.0.4 nom serveri 10.0.0.1 qidiruv domeni.local

Birinchi 2 qator DNS serverlarini ko'rsating. Uchinchi qator qidiruv domenlarini belgilaydi. Agar nomni hal qilishda ism FQDN nomi bo'lmasa, bu domen "end" sifatida almashtiriladi. Masalan, ping host buyrug'ini bajarishda pinglangan manzil host.domain.local ga o'zgartiriladi. Boshqa parametrlarni man resolv.conf da o'qish mumkin. Ko'pincha Linux ushbu faylning dinamik avlodidan foydalanadi. dasturlari /sbin/resolvconf. Ushbu dastur nom serverlarini dinamik ravishda ta'minlovchi xizmatlar o'rtasida vositachidir (masalan, DHCP mijozi) va nom server ma'lumotlaridan foydalanadigan xizmatlar. Dinamik ravishda yaratilgan fayldan foydalanish uchun /etc/resolv.conf, bu faylga ramziy havola qilishingiz kerak /etc/resolvconf/run/resolv.conf. Ba'zi tarqatishlarda yo'l boshqacha bo'lishi mumkin, bu albatta yoziladi man resolvconf.

Tarmoq konfiguratsiyasi

Asosiy konfiguratsiya fayllari bilan tanishib, siz . Buyruq allaqachon yuqorida aytib o'tilgan. ifup, agar pastga, lekin bu vositalar unchalik universal emas, masalan, RH taqsimotlarida bu buyruqlar sukut bo'yicha mavjud emas. Bundan tashqari, yangi tarqatishlarda iproute paketiga tegishli bo'lgan yangi yuqori darajadagi tarmoq boshqaruvi vositasi mavjud. Unga (iproute paketini) bag'ishlayman . Va hozirgi postda men buni ko'rib chiqmayman. Quyida tavsiflangan buyruqlar ga tegishli.

Shunday qilib, buyruq har qanday Linux tarqatishda ishlashiga ishonch hosil qilish uchun siz ikkita asosiy eski buyruqlardan foydalanishingiz kerak. Bu , va arp. Birinchi jamoa (mas'ul tarmoq interfeyslarini sozlash(ip, niqob, shlyuz), ikkinchi () - marshrutni sozlash, uchinchi (arp) - arp jadvalini boshqarish. Shuni ta'kidlashni istardimki, ushbu buyruqlarni tarmoq quyi tizimining standart SystemV ishga tushirish skriptini o'chirmasdan bajarish faqat tarmoq xizmatini birinchi qayta ishga tushirish / qayta ishga tushirishgacha o'zgarishlar kiritadi, chunki. agar siz bu haqda miyangiz bilan o'ylab ko'rsangiz, ssenariy ekanligini tushunishingiz mumkin /etc/init.d/networking keyingi ishga tushirishda u yuqoridagi konfiguratsiyalarni qayta o'qiydi va eski sozlamalarni qo'llaydi. Shunga ko'ra, sozlamalarni doimiy ravishda o'rnatishdan chiqish yo'li - tegishli parametrlarga ega ifconfig buyrug'i - tegishli tarmoq interfeysi konfiguratsiyasini kiritish yoki qo'lda tuzatish.

Xuddi shunday, agar buyruq bo'lsa etishmayotgan variantlar bilan ifconfig(masalan, faqat IP-manzil), keyin qolganlari avtomatik ravishda yakunlanadi (masalan, translyatsiya manzili sukut bo'yicha 255 bilan tugaydigan xost manzili bilan qo'shiladi va standart pastki tarmoq maskasi 255.255.255.0).

Marshrutlash zamonaviy yadrolardagi mavjud interfeyslar uchun yadro har doim avtomatik ravishda ko'tariladi. To'g'rirog'i, IP sozlamalari va ko'tarilgan interfeys ko'rinadigan pastki tarmoq bo'yicha tarmoqqa to'g'ridan-to'g'ri yo'nalishlar yadro tomonidan avtomatik ravishda shakllantiriladi. Bunday yozuvlar uchun maydon shlyuzi (shlyuz) chiqish interfeysi yoki * manzilini ko'rsatadi. Yadroning eski versiyalarida (marshrutlar avtomatik ravishda ko'tarila boshlagan yadro soni - men sizga aytmayman), marshrutni qo'lda qo'shish kerak edi.

Agar tashkil qilish kerak bo'lsa marshrutlar, keyin siz foydalanishingiz kerak. Ushbu buyruq yordamida marshrutlarni qo'shishingiz va o'chirishingiz mumkin, ammo bu faqat /etc/init.d/networkingni (yoki tarqatishdagi boshqa tarmoq skriptini) qayta ishga tushirmaguningizcha yordam beradi. Marshrutlarni avtomatik ravishda qo'shish uchun, xuddi ifconfig buyrug'idagi kabi, rc.local-ga marshrutlarni qo'shish uchun buyruqlar qo'shish yoki tegishli tarmoq interfeysi konfiguratsiyasini qo'lda tuzatish kerak (masalan, Deb - /etc/network/options).

Qanday qoidalar bilan tarmoqlarga marshrutlar shakllanadi, men borman

Linux tarmoq diagnostikasi

Linuxda ko'p sonli tarmoq diagnostikasi vositalari mavjud bo'lib, ular ko'pincha Microsoft-ga juda o'xshash. Men 3 ta asosiy tarmoq diagnostika yordam dasturini ko'rib chiqaman, ularsiz muammolarni aniqlash muammoli bo'ladi.

Menimcha, bu yordamchi dastur deyarli hamma uchun tanish. Ushbu yordamchi dasturning vazifasi yuborish deb atalmish ICMP paketlari buyruq parametrlarida ko'rsatilgan masofaviy server, server yuborilgan buyruqlarni qaytaradi va pingvaqtni hisoblash yuborilgan paket serverga etib borishi va qaytishi uchun talab qilinadi. Masalan:

# ping ya.ru PING ya.ru (87.250.251.3) 56(84) bayt ma'lumot. www.yandex.ru dan 64 bayt (87.250.251.3): icmp_seq=1 ttl=57 vaqt=42,7 ms www.yandex.ru (87.250.251.3): icmp_seq=3 ttl=57 vaqt=42,5 ms www.64 bayt .yandex.ru (87.250.251.3): icmp_seq=4 ttl=57 vaqt=42,5 ms 64 bayt www .yandex.ru dan (87.250.251.3): icmp_seq=5 ttl=57 vaqt=41,9 ms ya ^C --- .ru ping statistikasi --- 5 paket uzatildi, 5 ta qabul qilindi, 0% paket yo'qolishi, vaqt 4012ms rtt min/ avg/max/mdev = 41,922/42,588/43,255/0,500ms

Yuqoridagi misoldan ko'rinib turibdiki, ping bizga juda ko'p foydali ma'lumotlarni beradi. Eng avvalo, biz buni bilib oldik ya.ru xosti bilan aloqa o'rnatishimiz mumkin(ba'zida "ya.ru xosti bizda mavjud" deyishadi). Ikkinchidan, buni ko'ramiz DNS to'g'ri ishlayapti, chunki "pinged" nomi to'g'ri IP-manzilga aylantirildi (PING ya.ru (87.250.251.3)). Keyinchalik, dalada icmp_seq = yuborilgan paketlarning raqamlanishini o'rnating. Har bir yuborilgan paketga ketma-ket raqam beriladi va agar ushbu raqamlashda "bo'shliqlar" mavjud bo'lsa, bu bizga "ping" bilan ulanish barqaror emasligini va paketlar yuboriladigan serverni ham anglatishi mumkin. haddan tashqari yuklangan. Qiymat bo'yicha vaqt = ko'ramiz, paket qancha vaqt sayohat qildi 87.250.251.3 va orqaga. Ping yordam dasturini Ctrl+C tugmalarini bosib to'xtatishingiz mumkin.

Shuningdek, ping yordam dasturi Qizig'i shundaki, u sizga muammolar qayerda paydo bo'lganligini aniq ko'rish imkonini beradi. Aytaylik ping yordam dasturi xabarni ko'rsatadi tarmoqqa kirish mumkin emas yoki shunga o'xshash boshqa xabar. Bu, ehtimol, tizimingizning noto'g'ri konfiguratsiyasini ko'rsatadi. Bunday holda, muammo qayerda (mahalliy shaxsiy kompyuter o'rtasida yoki "tashqarida") paydo bo'lganligini bilish uchun ISP IP-manziliga paketlarni yuborishingiz mumkin. Agar siz marshrutizator orqali Internetga ulangan bo'lsangiz, uning IP-ga paketlarni yuborishingiz mumkin. Shunga ko'ra, agar muammo ushbu bosqichda paydo bo'lsa, bu mahalliy tizimning noto'g'ri konfiguratsiyasini yoki kabelning shikastlanishini ko'rsatadi, agar yo'riqnoma javob bersa va provayder serveri javob bermasa, muammo provayderning aloqa kanalida va hokazo. Va nihoyat, agar nomni IP ga o'tkazish muvaffaqiyatsiz tugasa, u holda IP orqali ulanishni tekshirishingiz mumkin, agar javoblar to'g'ri kelsa, muammo DNS da ekanligini taxmin qilishingiz mumkin.

Shuni ta'kidlash kerakki, ushbu yordamchi dastur har doim ham ishonchli diagnostika vositasi emas. Masofaviy server ICMP so'rovlariga javoblarni bloklashi mumkin.

traceroute

Oddiy qilib aytganda, jamoa chaqiriladi marshrut izi. Nomidan tushunganingizdek, ushbu yordamchi dastur paketlar xostga qaysi yo'nalishda ketganligini ko'rsatadi. traceroute yordam dasturi biroz o'xshash ping, lekin qiziqarliroq ma'lumotlarni ko'rsatadi. Misol:

# traceroute ya.ru traceroute to ya.ru (213.180.204.3), 30 hop max, 60 bayt paketlar .kubtelecom.ru (213.132.64.65) 2.761 ms 5.787 ms 5.777 ms 5.777 ms 5.7232325ru 4) 5.713 ms 5.701 ms 5.636 ms 4 (194.186.6.177) 81.430 ms 81.581 ms 81.687 ms 5 cat26.Moscow.gldn.net (194.186.10.118) 47.186.10.118 ms 47.8418.ms 213.33.201.230 (213.33.201.230) 43.322 ms 41.783 ms 41 106 milodiy 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) 46.5 ms.

Ko'rib turganingizdek, marshrutni 243-083-free.kubtelecom.ru (213.132.83.243) (Rossiyaning janubi) provayderining routeridan yakuniy xostga www.yandex.ru (213.180.204.3) orqali kuzatishingiz mumkin. Moskvada.

qazish

Ushbu yordamchi dastur DNS serverlariga so'rovlar yuboradi va belgilangan domen haqida ma'lumotni qaytaradi. Misol:

# dig @ns.kuban.ru roboti.ru ;<<>> DiG 9.3.6-P1<<>> @ns.kuban.ru roboti.ru ; (1 ta server topildi) ;; global variantlar: cmd ni chop etish;; javob oldi: ;; ->>SALOV<<- 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

qazish buyrug'i so'rov yubordi DNS server - ns.kuban.ru (@ns.kuban.ru- bu parametr ixtiyoriy, bu holda DNS haqidagi ma'lumotlar manbai serverdan tizim sozlamalaringizdan olinadi) domen nomi haqida roboti.ru. Natijada, men bo'limda ko'rishimiz mumkin bo'lgan javob oldim JAVOB BO'limi bo'limida domenning IP manzillari haqida ma'lumot HOKIMIYAT BO'limi deb atalmish haqida ma'lumot. nufuzli DNS serverlari. Pastki qismdagi uchinchi qator bizga qaysi server javob berganligini bildiradi.

Boshqa diagnostika yordam dasturlari

ping, dig va parametrlarga ega boshqa diagnostika yordam dasturlarini postda topish mumkin.

Yangi tarmoq kartasi ulanmoqda

Yangi tarmoq kartasini ulash va ishga tushirish bir necha bosqichdan iborat:

1. Kartaning jismoniy ulanishi

3. Yangi tarmoq kartasini aniqlash uchun tizim chiqishini ko'ring:

Keling, chiqishni ko'rib chiqaylik Yangi kartani ulashdan oldin:

Server:~# dmesg | grep eth [4.720550] e1000: eth0: e1000_probe: Intel(R) PRO/1000 tarmoq ulanishi [5.130191] e1000: eth1: e1000_probe: Intel(R) PRO/1000 tarmoq ulanishi [ 15.7:10002 e15.7:1001] g: NIC havolasi 1000 Mbit/s gacha to‘liq dupleks, Oqimni boshqarish: RX [15.681056] e1000: eth0: e1000_watchdog: NIC havolasi 1000 Mbit/s gacha to‘liq dupleks, oqimni boshqarish: RX

chiqish tizimda 2 ta eth1 va eth2 tarmoq kartalari mavjudligini ko'rsatadi. Uchinchisini ulaymiz va chiqishga qaraymiz:

Server:~# dmesg | grep eth [4.720513] e1000: eth0: e1000_probe: Intel(R) PRO/1000 tarmoq ulanishi [5.132029] e1000: eth1: e1000_probe: Intel(R) PRO/1000 tarmoq ulanishi [ 5:4_002] Intel(R) PRO/1000 e1000101 (R ) PRO/1000 tarmoq ulanishi [39.274875] udev: tarmoq interfeysi eth2 nomi eth3 ga oʻzgartirildi [39.287661] udev: tarmoq interfeysi eth1_rename_ren nomi eth2 ga oʻzgartirildi [ 45.670744] e1000: eth2: e1000 toʻliq: e100g. , Oqim nazorati: RX [46.237232] e1000: eth0: e1000_watchdog: NIC havolasi 1000 Mbit/s. Toʻliq dupleks, Oqim nazorati: RX [96.977468] e1000: eth3: e1000_watchdog: NIC havolasi yuqoriga koʻtarildi: FXps. Toʻliq nazorat R0x10

IN dmesg biz yangi tarmoq kartasi paydo bo'lganini ko'ramiz - eth3, aslida eth2, lekin udev qurilma menejeri tomonidan eth3 deb o'zgartirilgan va eth2 aslida o'zgartirilgan eth1 (udev haqida alohida postda gaplashamiz). dmesg-da yangi tarmog'imizning paydo bo'lishi bizga tarmoq kartasi ekanligini aytadi qo'llab-quvvatlanadi asosiy va to'g'ri qaror qildi. Qolgan yagona narsa - yangi interfeysni o'rnatish /etc/network/interfaces(Debian), chunki berilgan xarita boshlang'ich skript tomonidan ishga tushirilmagan /etc/init.d/network. ifconfig ushbu kartani ko'radi:

Server:~# ifconfig eth3 eth3 Link encap:Ethernet HWaddr 08:00:27:5f:34:ad inet6 manzili: fe80::a00:27ff:fe5f:34ad/64 Scope:Link UP ROADCAST RNNING MULTICAST MTUtric:150 MTUtric: 1 ta RX paketi: 311847 xato: 0 tushib ketdi: 0 haddan tashqari yuk: 0 kadr: 0 TX paketi: 126 xato: 0 tushib ketdi: 0 oshib ketdi: 0 tashuvchi: 0 ta to‘qnashuv: 0 txqueuelen: 1000 RX bayt: 104670651 (99,8 MiB: TX) 16184 (15,8 Kb)

lekin bundan tashqari - sozlanmaydi. Tarmoq kartasini qanday sozlash yuqorida muhokama qilingan.

Xulosa

Menimcha, bugun hammasi shu. Ushbu maqolani yozishni boshlaganimda, men bitta postga sig'aman deb o'yladim, lekin juda katta bo'lib chiqdi. Shuning uchun maqolani ikkiga bo'lishga qaror qilindi. Umuman olganda, men tarmoqni qanday sozlashni bosqichma-bosqich emas, balki printsipni bayon qilishga va tarmoqning Linuxda qanday boshlanishi va ishlashini tushunishni tushuntirishga harakat qildim. Umid qilamanki, men muvaffaqiyatga erishdim. Sizning sharhlaringiz va qo'shimchalaringizdan xursand bo'laman. Vaqt o'tishi bilan men maqolani to'ldiraman.

Agar xatolikni sezsangiz, matn qismini tanlang va Ctrl + Enter tugmalarini bosing
ULOSING: