diff --git a/mn_MN.UTF-8/books/handbook/desktop/chapter.sgml b/mn_MN.UTF-8/books/handbook/desktop/chapter.sgml index d5c6323919..4fbf4568e5 100644 --- a/mn_MN.UTF-8/books/handbook/desktop/chapter.sgml +++ b/mn_MN.UTF-8/books/handbook/desktop/chapter.sgml @@ -1,1122 +1,1105 @@ Кристоф Жунье Хувь нэмэр болгон оруулсан Цагаанхүүгийн Ганболд Орчуулсан Ширээний програмууд Ерөнхий агуулга FreeBSD нь текст боловсруулагч програмууд болон хөтчүүд зэрэг ширээний төрөл бүрийн хэрэглээний програмуудыг ажиллуулж чаддаг. Эдгээр програмуудын ихэнх нь багц хэлбэрээр юм уу эсвэл портуудын цуглуулгаас автоматаар бүтээгдэж болно. Шинэ хэрэглэгчдийн олонхи нь эдгээр хэрэглээний програмуудыг өөрийн компьютер дээр суулгахыг хүсдэг. Энэ бүлэгт зарим нэг түгээмэл хэрэглэгддэг ширээний програмуудыг портуудын цуглуулга болон тэдгээрийн багцуудаас хүндрэлгүйгээр суулгах талаар зааварлах болно. Портуудаас програмуудыг суулгахад тэдгээрийг эхээс эмхэтгэдэг гэдгийг анхаарна уу. Энэ нь таны машины (машинуудын) процесс хийх хүч болон юу эмхэтгэж байгаагаас хамаарч их удаан ажиллаж болох юм. Эхээс бүтээх нь саад болмоор их хугацаа шаардаж байвал та портын цуглуулгад байгаа ихэнх програмуудыг урьдчилан бүтээсэн багцуудаас суулгаж болно. FreeBSD нь Линуксийн хоёртын хэлбэртэй нийцтэй ажиллах боломжийг хангадаг учраас Линуксд эхлэн хөгжүүлэгдсэн олон програмуудыг ашиглах боломжтой байдаг. Линуксийн ямар ч хэрэглээний програмыг суулгахаасаа өмнө -ийг уншихыг зөвлөж байна. Линуксийн хоёртын хэлбэртэй нийцтэй байдлыг ашиглаж байгаа ихэнх портуудын нэр linux- гэж эхэлсэн байгаа. Жишээ нь &man.whereis.1; тушаалын тусламжтайгаар ямар нэг портыг хайж байхдаа үүнийг санаарай. Нийтлэлийн энэ хэсгээс цааш ямар нэг Линуксийн хэрэглээний програмуудыг суулгахын өмнө таныг Линуксийн хоёртын хэлбэртэй нийцтэй байдлыг идэвхжүүлсэн байгаа гэж тооцох болно. Энэ бүлэгт доорх хэсгүүдийн тухай ярих болно: Хөтчүүд (Mozilla, Opera, Firefox, Konqueror зэрэг) Бүтээмж ( KOffice, AbiWord, The GIMP, OpenOffice.org зэрэг) Бичиг баримт үзүүлэгчид (&acrobat.reader;, gv, Xpdf, GQview зэрэг) Санхүү ( GnuCash, Gnumeric, Abacus зэрэг) Энэ бүлгийг уншихаасаа өмнө, та дараах зүйлсийг мэдэх шаардлагатай: Гуравдагч талуудын нэмэлт програмуудыг хэрхэн суулгах талаар мэдэх (). Линуксийн нэмэлт програм хангамжуудыг хэрхэн суулгах талаар мэдэх (). Мультимедиа орчны тохиргооны тухай мэдээллийг -с уншина уу. Хэрэв та цахим захидал тохируулж ашиглахыг хүсвэл -т хандана уу. Хөтчүүд хөтчүүд вэб FreeBSD нь тодорхой хөтөч урьдчилан суулгагдсан байдаггүй. Харин портын цуглуулгын www сан суулгахад бэлэн олон хөтчүүдийг агуулдаг. Танд бүгдийг эмхэтгэх хугацаа байхгүй бол (энэ нь зарим тохиолдолд маш их хугацаа шаардаж болно) тэдгээрийн олонхи нь багц хэлбэрээр байдаг. KDE болон GNOME нь HTML хөтчүүдээр хангадаг. Эдгээр бүрэн гүйцэд ширээний програмуудыг хэрхэн суулгаж тохируулах талаар дэлгэрэнгүй мэдээллийг -с лавлана уу. Хэрэв та хөнгөн чанарын хөтчүүдийг хайж байгаа бол портын цуглуулгаас www/dillo, www/links, эсвэл www/w3m зэргүүдийг судалж үзэх хэрэгтэй. Энэ хэсэг эдгээр програмуудыг авч үзэх болно: Програмын нэр Шаардлагатай эх үүсвэрүүд Портоос суулгах Гол хамаарлууд Mozilla их хүнд Gtk+ Opera бага хөнгөн FreeBSD болон Линуксийн хувилбарууд байдаг. Линуксийн хувилбар нь Линуксийн хоёртын нийцтэй байдал болон linux-openmotif-с хамаардаг. Firefox дунд зэрэг хүнд Gtk+ Konqueror дунд зэрэг хүнд KDE сангууд Mozilla Mozilla Mozilla нь FreeBSD уруу бүрэн хөрвүүлэгдсэн, орчин үеийн, тогтвортой хөтөч юм. Энэ нь стандартад маш нийцсэн HTML үзүүлэх хөдөлгүүрийн боломжтой байдаг. Мөн захидал болон мэдээний уншигчтай байдаг. Энэ нь бүр HTML зохиогчтой байдаг бөгөөд таныг вэб хуудас өөрөө бичих төлөвлөгөөтэй байгаа тохиолдолд хэрэг болж болох юм. &netscape;-ийн хэрэглэгчид Communicator цуглуулгатай адил болохыг олж харах болно. Учир нь хоёр хөтөч хоёулаа хөгжүүлэлтийн ижил түүхийг хуваалцдаг болохоор тэр юм. 233MHz-с бага CPU хурдтай эсвэл 64MB-аас бага RAM-тай удаан машинууд дээр Mozilla нь бүрэн гүйцэд ашиглагддаг байхын тулд хэтэрхий их нөөц шаардаж болох юм. Оронд нь энэ бүлгийн хойхно тайлбарласан Opera хөтчийг та харин үзэж болох юм. Хэрэв та Mozilla-г эмхэтгэж чадахгүй юм уу эсвэл ерөөсөө эмхэтгэхийг хүсэхгүй байгаа бол FreeBSD GNOME баг танд зориулаад үүнийг хийчихсэн байдаг. Ердөө л дараах тушаалаар сүлжээнээс багцыг суулгана: &prompt.root; pkg_add -r mozilla Хэрэв багц байхгүй бөгөөд танд хангалттай хугацаа болон дискний зай байгаа бол Mozilla-ийн эхийг авч, эмхэтгэн, өөрийн систем дээр суулгаж болно. Үүнийг дараах тушаалуудаар хийж болно: &prompt.root; cd /usr/ports/www/mozilla &prompt.root; make install clean Mozilla порт нь root зөвшөөрлүүдээр хром бүртгэлийн тохируулгыг ажиллуулан зөв эхэлж байгааг баталгаажуулдаг. Гэхдээ, хэрэв та хулганы дохионууд зэрэг нэмэлт зүйлсийг татаж авахыг хүсэж байгаа бол тэдгээрийг зөв суулгахын тулд root эрхээр Mozilla-г ажиллуулах ёстой. Mozilla-ийн суулгацыг дууссаны дараа та дахиж root хэрэглэгч болох шаардлагагүй. Та доор дурдсаныг бичин Mozilla-г хөтөч хэлбэрээр эхлүүлж болно: &prompt.user; mozilla Доор үзүүлсэн шиг та үүнийг захидал болон мэдээ уншигч маягаар шууд эхлүүлж болно: &prompt.user; mozilla -mail Firefox Firefox Firefox нь Mozilla-ийн код дээр суурилсан дараагийн үеийн хөтөч юм. Mozilla нь хөтөч, захидлын клиент, чалчих клиент зэрэг олон програмуудыг багтаасан бүрэн гүйцэд програмуудын цуглуулга юм. Firefox нь зөвхөн хөтөч бөгөөд энэ нь түүнийг илүү жижиг, хурдан болгодог байна. Доор дурдсаныг бичин багцыг суулгана: &prompt.root; pkg_add -r firefox Эх кодоос эмхэтгэхийг та илүүд үзэж байгаа бол портын цуглуулгыг бас ашиглаж болох юм: &prompt.root; cd /usr/ports/www/firefox &prompt.root; make install clean Firefox, Mozilla болон &java; залгаас (plugin) Энэ хэсэгт болон дараагийнхад бид таныг Firefox юм уу эсвэл Mozilla-г аль хэдийн суулгасан гэж тооцох болно. &os; Сан нь Sun Microsystems компанитай Java Runtime Environment (&jre;) буюу Жавагийн Ажиллах үеийн орчин болон Java Development Kit (&jdk;) буюу Жавагийн Хөгжүүлэх хэрэгслийн хоёртын файлуудыг түгээх лицензтэй байдаг. &os;-д зориулсан хоёртын багцууд нь &os; Сан вэб сайтад байдаг. Firefox эсвэл Mozilla-д &java; дэмжлэгийг нэмэхийн тулд та java/javavmwrapper портыг суулгах хэрэгтэй. Дараа нь хаягаас Diablo &jre; багцыг татан авч &man.pkg.add.1; тушаалаар суулгах хэрэгтэй. Өөрийн хөтчийг эхлүүлж байрлал оруулдаг мөрөнд about:plugins гэж бичин Enter дарна. Суулгагдсан залгаасуудын талаар хуудас үзүүлэгдэх бөгөөд &java; залгаас тэнд одоо байх ёстой. Хэрэв тийм биш бол root хэрэглэгчээр дараах тушаалыг ажиллуулна: &prompt.root; ln -s /usr/local/diablo-jre1.5.0/plugin/i386/ns7/libjavaplugin_oji.so \ /usr/local/lib/browser_plugins/ дараа нь өөрийн хөтчийг дахин дуудна. Firefox, Mozilla болон ¯omedia; &flash; залгаас (plugin) ¯omedia; &flash; залгаас нь &os;-д байдаггүй. Гэхдээ залгаасын Линукс хувилбарыг ажиллуулах програм хангамжийн давхарга (гүйцэтгэл хялбаршуулагч) байдаг. Энэ хялбаршуулагч нь бас &adobe; &acrobat; залгаас, &realplayer; залгаас болон өөр олныг дэмждэг. - www/linuxpluginwrapper портыг + www/nspluginwrapper портыг суулгана. Энэ порт нь emulators/linux_base-г - шаарддаг бөгөөд энэ нь их том порт юм. Портын харуулсан заавруудыг дагаж өөрийн - /etc/libmap.conf файлыг зөвөөр тохируулах хэрэгтэй! - Жишээ тохиргоонууд - /usr/local/share/examples/linuxpluginwrapper/ - санд суусан байдаг. + шаарддаг бөгөөд энэ нь их том порт юм. Дараагийн алхам бол www/linux-flashplugin7 портыг суулгах - явдал юм. Залгаас суулгагдсаны дараа өөрийн хөтчийг эхлүүлж байрлал оруулдаг - мөрөнд about:plugins гэж бичин Enter - дарна. Байгаа бүх залгаасуудтай жагсаалт гарч ирэх ёстой. - - Хэрэв &flash; залгаас байхгүй байгаа бол энэ нь ихэнхдээ симболын холбоос - байхгүйгээс болдог. root хэрэглэгчээр дараах - тушаалуудыг ажиллуулна: - - &prompt.root; ln -s /usr/local/lib/npapi/linux-flashplugin/libflashplayer.so \ - /usr/local/lib/browser_plugins/ -&prompt.root; ln -s /usr/local/lib/npapi/linux-flashplugin/flashplayer.xpt \ - /usr/local/lib/browser_plugins/ + явдал юм. Энэ порт суулгагдсаны дараа залгаасыг хэрэглэгч бүрийн хувьд + nspluginwrapper-г ашиглан суулгах ёстой: - Хэрэв та хөтчөө дахин эхлүүлбэл залгаас одоо өмнө дурдсан жагсаалтад - гарч ирэх ёстой. - - - linuxpluginwrapper нь зөвхөн - &i386; системийн архитектур дээр ажилладаг. - + &prompt.user; nspluginwrapper -v -a -i + Тэгээд өөрийн хөтчийг эхлүүлж байрлал оруулдаг + мөрөнд about:plugins гэж бичин Enter + дарна. Байгаа бүх залгаасуудтай жагсаалт гарч ирэх ёстой. Opera Opera Opera нь өргөн боломжуудтай стандартад нийцсэн хөтөч юм. Энэ нь өөртөө бүтээгдсэн захидал болон мэдээ уншигч, IRC клиент, RSS/Atom уншигч болон өөр олон боломжуудыг агуулдаг. Эдгээрээс гадна Opera нь харьцангуй хөнгөн бөгөөд маш хурдан юм. Энэ нь хоёр хэлбэрээр байдаг нь: эх FreeBSD хувилбар болон Линуксийн эмуляц дээр ажилладаг хувилбар юм. Opera-ийн FreeBSD хувилбараар вэб үзэхийн тулд багцыг суулгана: &prompt.root; pkg_add -r opera Зарим нэг FTP сайтуудад бүх багцууд байдаггүй боловч портын цуглуулгыг ашиглан доор дурдсаныг бичин Opera-г авч болно: &prompt.root; cd /usr/ports/www/opera &prompt.root; make install clean Opera-ийн Линукс хувилбарыг суулгахын тулд дээрх жишээний opera гэсний оронд linux-opera гэж солих хэрэгтэй. Adobe &acrobat.reader; зэрэг зөвхөн Линуксд байдаг залгаасуудын хэрэглээг шаардах тохиолдолд Линуксийн хувилбар нь ашигтай байдаг. Бусад талаараа FreeBSD болон Линуксийн хувилбарууд нь ажиллагааны хувьд адилхан байдаг. Konqueror Konqueror Konqueror нь KDE-ийн нэг хэсэг боловч үүнийг KDE-ийн гадна талд x11/kdebase3-ийг суулган бас ашиглаж болох юм. Konqueror ердийн нэг хөтчөөс илүү бөгөөд файлын менежер болон мультимедиа үзүүлэгч болж чаддаг. Konqueror нь бас залгаасуудын олонлогтой ирдэг бөгөөд эдгээрийг misc/konq-plugins сангаас суулгах боломжтой байдаг. Konqueror бас &flash;-г дэмждэг бөгөөд Konqueror дээр &flash;-ийн дэмжлэгтэй болох талаар Хэрхэн Хийх заавар нь хаягт байдаг. Бүтээмж Бүтээмжтэй холбоотой болоод ирэхээрээ, шинэ хэрэглэгчид ихэвчлэн сайн оффисийн цуглуулга эсвэл нөхөрсөг текст боловсруулагчийг хайдаг. KDE зэрэг зарим ширээний орчнууд нь хэдийгээр оффисийн цуглуулгатай байдаг боловч анхдагч бүтээмжийн багц байдаггүй билээ. FreeBSD нь таны ширээний орчноос хамааралгүйгээр хэрэгтэй бүгдийг хангадаг. Энэ хэсэг нь эдгээр програмуудыг авч үзэх болно: Програмын нэр Шаардлагатай эх үүсвэрүүд Портоос суулгах Гол хамаарлууд KOffice бага хүнд KDE AbiWord бага хөнгөн Gtk+ эсвэл GNOME Gimp бага хүнд Gtk+ OpenOffice.org их асар их &jdk; 1.4, Mozilla KOffice KOffice оффисийн цуглуулга KOffice KDE-ийн хүрээнийхэн KDE-ээс гадна ашиглагдаж болох оффисийн цуглуулгатай өөрийн ширээний орчинг өгдөг. Энэ нь бусад оффисийн цуглуулгад байдаг дөрвөн стандарт бүрэлдэхүүнийг агуулдаг. KWord нь текст боловсруулагч, KSpread нь хүснэгттэй ажилладаг програм, KPresenter нь танилцуулгуудыг удирддаг бөгөөд Kontour нь график баримтуудыг зурахыг зөвшөөрнө. Хамгийн сүүлчийн KOffice-г суулгахаасаа өмнө та KDE-ийн хамгийн шинэчлэгдсэн хувилбартай эсэхээ шалгаарай. KOffice-ийг багц хэлбэрээр суулгахын тулд дараах тушаалыг ажиллуулна: &prompt.root; pkg_add -r koffice Хэрэв багц байхгүй бол та портын цуглуулгыг ашиглаж болно. Жишээ нь KDE3-д зориулж KOffice-г суулгахын тулд доор дурдсаныг ажиллуулна: &prompt.root; cd /usr/ports/editors/koffice-kde3 &prompt.root; make install clean AbiWord AbiWord AbiWord нь µsoft; Word-той төстэй харагдаж, санагддаг, чөлөөтэй, текст боловсруулагч програм юм. Энэ нь бичиг, захидал, тайлан, сануулга гэх зэргүүдийг бичихэд тохиромжтой юм. Энэ нь маш хурднаас гадна олон боломжуудыг агуулдаг бөгөөд хэрэглэгчид маш хялбар байдаг. AbiWord нь µsoft;-ийн .doc зэрэг арилжааныхыг оруулаад олон файлын хэлбэршилтүүдийг импорт болон экспорт хийж чаддаг. AbiWord нь багц хэлбэрээр байдаг. Та дараах тушаалыг ажиллуулан үүнийг суулгаж болно: &prompt.root; pkg_add -r abiword Хэрэв багц байхгүй бол үүнийг портын цуглуулгаас эмхэтгэж болно. Портын цуглуулга шинэчлэгдсэн байх ёстой. Үүнийг ингэж хийж болно: &prompt.root; cd /usr/ports/editors/abiword &prompt.root; make install clean GIMP GIMP Зургийг зохиох эсвэл дүрс тодруулах тохиолдолд GIMP нь маш нарийн, зурагтай ажиллах програм юм. Энэ нь энгийн будах програм эсвэл чанартай, фото зураг тодруулах цуглуулга болгон ашиглагдаж болох юм. Энэ нь олон тооны нэмэлт залгаасыг (plug-ins) дэмждэг бөгөөд скрипт хийх интерфэйсийн боломжуудтай байдаг. GIMP нь төрөл бүрийн файлын хэлбэршилтүүдийг уншиж, бичиж чаддаг. Энэ нь сканнер болон зөөврийн цахим төхөөрөмжтэй (tablet) холбогдох боломжийг дэмждэг. Та энэ тушаалыг ажиллуулан багцыг суулгаж болно: &prompt.root; pkg_add -r gimp Хэрэв таны FTP сайт энэ багцгүй байгаа бол та портын цуглуулгыг ашиглаж болно. Портын цуглуулгын graphics сан бас Gimp Manual програмыг агуулдаг. Энд тэдгээрийг хэрхэн суулгах талаар үзүүлэв: &prompt.root; cd /usr/ports/graphics/gimp &prompt.root; make install clean &prompt.root; cd /usr/ports/graphics/gimp-manual-pdf &prompt.root; make install clean Портын цуглуулгын graphics сан GIMP-ийн хөгжүүлэлтийн хувилбарыг graphics/gimp-devel санд агуулдаг. Gimp Manual-ийн HTML хувилбар нь graphics/gimp-manual-html санд байдаг. OpenOffice.org OpenOffice.org оффисийн цуглуулга OpenOffice.org OpenOffice.org нь бүх шаардлагатай програмуудыг бүрэн гүйцэд оффисийн бүтээмжийн цуглуулгадаа агуулсан байдаг: энд текст боловсруулагч, хүснэгттэй ажиллах програм, танилцуулгын менежер, болон зургийн програмыг дурдаж болно. Уг програмын хэрэглэгчийн интерфэйс нь бусад оффисийн цуглуулгуудтай их төстэй бөгөөд төрөл бүрийн файлын хэлбэршилтүүдийг импорт, экспорт хийж чаддаг байна. Энэ нь интерфэйсүүд, алдаа шалгагчид болон тольнуудыг оролцуулаад хэд хэдэн өөр хэлнүүд дээр байдаг. OpenOffice.org-ийн текст боловсруулагч нь эх XML файлын хэлбэршилтийг зөөвөрлөгдөх боломж ба уян хатан чанарыг сайжруулах зорилгоор ашигладаг. Хүснэгттэй ажиллах програм нь макро хэлний боломжтой бөгөөд гаднах мэдээллийн баазуудтай холбогдох боломжтой байдаг. OpenOffice.org нь аль хэдийн тогтвортой болсон бөгөөд &windows;, &solaris;, Линукс, FreeBSD, болон &macos; X дээр ажилладаг. OpenOffice.org-ийн тухай илүү мэдээллийг OpenOffice.org вэб сайтаас олж болно. FreeBSD-тэй холбоотой мэдээлэл болон багцуудыг шууд татаж авахын тулд FreeBSD OpenOffice.org Хөрвүүлэх Багийн вэб сайтыг ашиглана уу. OpenOffice.org-ийг суулгахын тулд доор дурдсаныг ажиллуулна: &prompt.root; pkg_add -r openoffice.org &os;-ийн -RELEASE хувилбарыг ажиллуулж байхад энэ нь ажиллах ёстой. Үгүй бол та тохирох багцыг татан авч &man.pkg.add.1; ашиглан суулгахын тулд &os;-ийн OpenOffice.org Хөрвүүлэх Багийн вэб хаягт хандах хэрэгтэй. Одоогийн хувилбар болон хөгжүүлэлтийн хувилбар нь энд татаж авагдахаар байрладаг. Багц суулгагдсаны дараа OpenOffice.org-ийг ажиллуулахын тулд та ердөө л дараах тушаалыг бичих хэрэгтэй: &prompt.user; openoffice.org Эхний удаа ажиллуулахад танаас зарим нэг асуултууд асуух бөгөөд .openoffice.org2 сан таны гэрийн санд үүсгэгдэх болно. Хэрэв OpenOffice.org багцууд байхгүй бол портыг эмхэтгэх сонголт танд бас байдаг. Гэхдээ энэ нь дискний асар их зай болон эмхэтгэх хугацаа ихийг шаардана гэдгийг та санаж байх ёстой шүү. &prompt.root; cd /usr/ports/editors/openoffice.org-2 &prompt.root; make install clean Хэрэв та локалчлагдсан хувилбарыг бүтээхийг хүсэж байгаа бол түрүүчийн тушаалын мөрийг дараах мөрөөр солих хэрэгтэй: &prompt.root; make LOCALIZED_LANG=your_language install clean Та your_language мөрийг зөв хэлний ISO кодоор солих хэрэгтэй. Дэмжигдсэн хэлний кодуудын жагсаалт портын санд байх files/Makefile.localized файлд байдаг. Үүнийг хийсний дараа OpenOffice.org-г дараах тушаалаар ажиллуулж болно: &prompt.user; openoffice.org Бичиг баримт үзүүлэгчид Баримтын зарим нэгэн шинэ хэлбэршилтүүд &unix;-ийг бий болсон цагаас эхлэн түгээмэл болсон билээ. Тэдгээрийн шаарддаг стандарт үзүүлэгчид үндсэн системд байхгүй байж болох юм. Бид тэдгээр үзүүлэгчдийг хэрхэн суулгахыг энэ хэсэгт үзэх болно. Энэ хэсэг нь эдгээр програмуудыг авч үзэх болно: Програмын нэр Шаардлагатай эх үүсвэрүүд Портоос суулгах Гол хамаарлууд &acrobat.reader; бага хөнгөн Линуксийн хоёртын хэлбэртэй нийцтэй байдал gv бага хөнгөн Xaw3d Xpdf бага хөнгөн FreeType GQview бага хөнгөн Gtk+ эсвэл GNOME &acrobat.reader; Acrobat Reader PDF үзүүлэх Олон баримтууд нь одоо PDF файл хэлбэрээр тараагддаг бөгөөд энэ нь Portable Document Format буюу зөөврийн баримтын хэлбэршилт гэгддэг. Эдгээр файлуудын төрлүүдэд зориулсан, зөвлөдөг үзүүлэгчдийн нэг нь Adobe-оос гаргасан Линуксд зориулсан &acrobat.reader; юм. FreeBSD нь Линуксийн хоёртын хэлбэрийн програмуудыг ажиллуулж чаддаг болохоор энэ нь FreeBSD-д бас байдаг юм. Портын цуглуулгаас &acrobat.reader; 7-г суулгахын тулд доор дурдсаныг хийнэ: &prompt.root; cd /usr/ports/print/acroread7 &prompt.root; make install clean Лицензийн хязгаарлалтуудаас болоод багц байдаггүй. gv gv PDF үзүүлэх PostScript үзүүлэх gv нь &postscript; болон PDF үзүүлэгч юм. Энэ нь эхлээд ghostview дээр суурилсан боловч Xaw3d сангийн тусламжтай илүү сайхан харагдах болсон. Энэ нь хурдан бөгөөд интерфэйс нь цэвэрхэн байдаг. gv нь байрлуулалт, цаасны хэмжээ, масштаб эсвэл antialias зэрэг олон боломжуудтай байдаг. Бараг бүх үйлдлүүд нь гараас эсвэл хулганаас хийгдэж болно. gv-г багц хэлбэрээр суулгахын тулд доор дурдсаныг хийнэ: &prompt.root; pkg_add -r gv Хэрэв та багцыг авч чадахгүй байгаа бол портын цуглуулгыг ашиглаж болно: &prompt.root; cd /usr/ports/print/gv &prompt.root; make install clean Xpdf Xpdf PDF үзүүлэх Хэрэв та жижиг FreeBSD PDF үзүүлэгчийг хүсэж байгаа бол Xpdf нь хөнгөн бөгөөд үр ашигтай үзүүлэгч юм. Энэ нь маш цөөн эх үүсвэрүүдийг шаарддаг бөгөөд маш тогтвортой ажилладаг. Стандарт X фонтуудыг ашигладаг бөгөөд &motif; юм уу эсвэл бусад дурын X хэрэгслүүдийг шаарддаггүй. Xpdf багцыг суулгахын тулд энэ тушаалыг ажиллуулна: &prompt.root; pkg_add -r xpdf Багц байхгүй юм уу эсвэл та портын цуглуулга ашиглахыг илүүд үзэж байгаа бол доор дурдсаныг хийнэ: &prompt.root; cd /usr/ports/graphics/xpdf &prompt.root; make install clean Суулгац дууссаны дараа та Xpdf-г ажиллуулж хулганы баруун товчийг ашиглаж цэсийг идэвхжүүлж болно. GQview GQview GQview нь зургийн менежер юм. Та файлыг ганц даралтаар үзэх, гадаад засварлагчийг ажиллуулах, зургийг жижгээр урьдчилан үзүүлэх зэрэг олон зүйлсийг хийж болох юм. Энэ нь бас slideshow буюу цомог үзүүлэх горим болон файлын зарим нэг үндсэн үйлдлүүдтэй. Та зургийн цуглуулгуудыг удирдаж давтагдаж байгааг нь хялбархан олж болно. GQview нь бүрэн дэлгэцээр үзүүлэх болон интернационалчлалыг дэмждэг. Хэрэв та GQview багцыг суулгахыг хүсэж байгаа бол доор дурдсаныг хийнэ: &prompt.root; pkg_add -r gqview Багц байхгүй юм уу эсвэл та портын цуглуулга ашиглахыг илүүд үзэж байгаа бол доор дурдсаныг хийнэ: &prompt.root; cd /usr/ports/graphics/gqview &prompt.root; make install clean Санхүү Хэрэв ямар нэгэн шалтгаанаар та өөрийн хувийн санхүүг FreeBSD ширээний компьютер дээрээ удирдахыг хүсэж байгаа бол хүчирхэг, ашиглахад хялбар, суулгахад бэлэн зарим нэг програмууд байдаг. Тэдгээрийн зарим нэг нь Quicken эсвэл Excel баримтуудад хэрэглэгддэгтэй адил төрөл бүрийн файлын хэлбэршилтүүдтэй нийцтэй байдаг. Энэ хэсэг нь эдгээр програмуудыг авч үзэх болно: Програмын нэр Шаардлагатай эх үүсвэрүүд Портоос суулгах Гол хамаарлууд GnuCash бага хүнд GNOME Gnumeric бага хүнд GNOME Abacus бага хөнгөн Tcl/Tk KMyMoney бага хүнд KDE GnuCash GnuCash GnuCash нь эцсийн хэрэглэгчдэд хэрэглэхэд хялбар, бас хүчирхэг програмуудын боломжийг олгох GNOME-ийн чармайлтын нэг хэсэг юм. GnuCash-ийн тусламжтай та өөрийн орлого болон зарлагууд, банкны данснууд болон хувьцаануудаа хянаж чадах юм. Энэ нь хялбар интерфэйстэйгээс гадна маш мэргэжлийн програм юм. GnuCash нь ухаалаг регистр, системийн шаталсан бүртгэлүүд, гарын олон хурдасгагчид болон автоматаар гүйцээх аргуудтай байдаг. Энэ нь ганц гүйлгээг хэд хэдэн, илүү дэлгэрэнгүй хэсгүүдэд хувааж чаддаг. GnuCash нь Quicken QIF файлуудыг импорт хийн нийлүүлж чаддаг. Мөн олон улсын огноо болон мөнгөн тэмдэгтийн хэлбэрүүдтэй ажиллаж бас чаддаг байна. Өөрийн систем дээрээ GnuCash-ийг суулгахын тулд доор дурдсаныг хийнэ: &prompt.root; pkg_add -r gnucash Хэрэв багц байхгүй байгаа бол та портын цуглуулгыг ашиглаж болно: &prompt.root; cd /usr/ports/finance/gnucash &prompt.root; make install clean Gnumeric Gnumeric spreadsheet Gnumeric Gnumeric нь хүснэгттэй ажилладаг програм бөгөөд GNOME ширээний орчны хэсэг юм. Энэ нь хэрэглэхэд хялбар, олон дарааллын хувьд автоматаар дүүргэх систем бүхий үүрний хэлбэрийн дагуу хэрэглэгчийн оруулж байгаа зүйлийг автоматаар таах боломжтой байдаг. Бас Excel, Lotus 1-2-3, эсвэл Quattro Pro зэрэг хэд хэдэн түгээмэл хэлбэршилтүүдээс файлуудыг импорт хийж чаддаг. Gnumeric нь зураг зурах math/guppi програмын тусламжтай зураг зуралтыг дэмждэг. Бас маш олон тооны цуг бүтээгдсэн функцуудтай бөгөөд тоо, мөнгөн тэмдэгт, огноо, цаг зэрэг олон, бүх энгийн үүрний хэлбэрүүдийг зөвшөөрдөг. Gnumeric-ийг багцаас суулгахын тулд доор дурдсаныг хийнэ: &prompt.root; pkg_add -r gnumeric Хэрэв багц байхгүй бол та доор дурдсаныг хийн портын цуглуулгыг ашиглаж болно: &prompt.root; cd /usr/ports/math/gnumeric &prompt.root; make install clean Abacus Abacus spreadsheet Abacus Abacus нь жижиг бөгөөд ашиглахад хялбар хүснэгттэй ажиллах програм юм. Энэ нь статистик, санхүү болон математик зэрэг хэд хэдэн салбарт хэрэгтэй, өөрт нь цуг бүтээгдсэн функцуудтай байдаг. Энэ нь Excel файлын хэлбэршилтийг импорт, экспорт хийж чаддаг. Мөн Abacus нь &postscript; гаралтаар гаргаж чаддаг байна. Abacus-ийг багц хэлбэрээр нь суулгахын тулд доор дурдсаныг ажиллуулна: &prompt.root; pkg_add -r abacus Хэрэв багц байхгүй бол та доор дурдсаныг хийн портын цуглуулгыг ашиглаж болно: &prompt.root; cd /usr/ports/deskutils/abacus &prompt.root; make install clean KMyMoney KMyMoney spreadsheet KMyMoney KMyMoney нь KDE-д зориулсан хувийн санхүүгийн менежер юм. KMyMoney нь арилжааны зорилгоор хийгдсэн хувийн санхүүгийн менежер програмуудад байдаг бүх л чухал боломжуудыг өөртөө агуулсан байдаг. Бас ашиглахад хялбар, дахин оруулах зөв бүртгэлийн систем зэрэг боломжуудыг нь дурдаж болох юм. KMyMoney нь стандарт Quicken Interchange Format (QIF) бүхий файлуудаас импорт хийж чаддагаас гадна хөрөнгө оруулалтыг хянах, олон төрлийн мөнгөн тэмдэгтүүдтэй ажиллаж чаддаг бөгөөд баялаг тайлангуудыг гаргаж чаддаг. OFX импорт хийх боломжууд нь бас тусдаа залгаасын тусламжтай хийгдэж болдог байна. KMyMoney-г багц хэлбэрээс суулгахын тулд дараахийг хийнэ: &prompt.root; pkg_add -r kmymoney2 Хэрэв багц байхгүй бол портын цуглуулгаас суулгаж болно: &prompt.root; cd /usr/ports/finance/kmymoney2 &prompt.root; make install clean Дүгнэлт FreeBSD нь ISP-уудын дунд өөрийн ажиллагаа болон найдвартай байдлаараа алдартай байдаг ч гэсэн түүнийг өдөр тутам ширээний компьютер болгон ашиглахад бараг л бэлэн болжээ. Багцууд эсвэл портууд хэлбэрээр хэдэн мянган програмуудтай болохоор өөрийн чинь бүх хэрэгцээг хангасан төгс ширээний компьютерийг та бүтээж болох юм. Энэ бүлэгт авч үзсэн ширээний бүх програмуудын тоймыг энд дурдав: Програмын нэр Багцын нэр Портын нэр Mozilla mozilla www/mozilla Opera opera www/opera Firefox firefox www/firefox KOffice koffice-kde3 editors/koffice-kde3 AbiWord abiword editors/abiword GIMP gimp graphics/gimp OpenOffice.org openoffice editors/openoffice-1.1 &acrobat.reader; acroread print/acroread7 gv gv print/gv Xpdf xpdf graphics/xpdf GQview gqview graphics/gqview GnuCash gnucash finance/gnucash Gnumeric gnumeric math/gnumeric Abacus abacus deskutils/abacus diff --git a/mn_MN.UTF-8/books/handbook/firewalls/chapter.sgml b/mn_MN.UTF-8/books/handbook/firewalls/chapter.sgml index 60819e3bff..54bb2fbff9 100644 --- a/mn_MN.UTF-8/books/handbook/firewalls/chapter.sgml +++ b/mn_MN.UTF-8/books/handbook/firewalls/chapter.sgml @@ -1,3017 +1,3095 @@ Жозеф Ж. Баарбиш Хувь нэмэр болгон оруулсан Брэд Дэйвис SGML уруу хөрвүүлж шинэчилсэн Лодойсамбын Баянзул Орчуулсан Галт хана Галт хана аюулгүй байдал галт хана Танилцуулга Галт ханын тусламжтайгаар систем уруу орж байгаа болон түүнээс гарч байгаа өгөгдлийн урсгалыг шүүн нэвтрүүлэх боломжтой болдог. Галт хана нь сүлжээгээр дамжин өнгөрч байгаа пакетуудыг, дүрмүүдэд заасны дагуу эсвэл нэвтрүүлэх, эсвэл хаах үүргийг гүйцэтгэдэг. Галт ханын дүрмүүд нь пакетийг протоколын төрөл, эхлэл хост хаяг, очих хост хаяг, эхлэл порт хаяг, очих порт хаяг зэрэг хэд хэдэн шинжээр нь шинжлэх боломжийг олгодог. Галт ханыг ашигласнаар тухайн хостын болон сүлжээний аюулгүй байдлыг нилээд нэмэгдүүлж чадна. Галт ханын тусламжтайгаар дараах зүйлсийг хийх боломжтой : Дотоод сүлжээнд байрлаж байгаа сервер машин, түүн дээр ажиллаж байгаа програм үйлчилгээг Интернэтээр дамжин орж ирж буй гадны урсгалаас хамгаалах, тусгаарлах. Дотоод сүлжээнд байрлаж байгаа хостоос Интернэт уруу хандах хандалтыг хаах, хязгаарлах. Network address translation буюу Сүлжээний Хаягийн Хөрвүүлэлтийг (NAT) дэмжих. Өөрөөр хэлбэл дотоод сүлжээндээ хувийн IP хаяг хэрэглэж, Интернэтэд гарахдаа дундаа нэг холболтыг (нэг IP хаяг эсвэл автоматаар оноосон бүлэг хаягаар) хуваан хэрэглэх. Энэ бүлгийг уншсаны дараа, та дараах зүйлсийг мэдэх болно: пакетийг шүүн нэвтрүүлэх дүрмүүдийг хэрхэн оновчтойгоор тодорхойлох. &os;-тэй хамт суусан галт ханануудын ялгаа. OpenBSD-н PF галт ханыг хэрхэн тохируулах болон хэрэглэх. IPFILTER-г хэрхэн тохируулах болон хэрэглэх. IPFW-г хэрхэн тохируулах болон хэрэглэх. Энэ бүлгийг уншихаасаа өмнө, та дараах зүйлсийг мэдсэн байх шаардлагатай: &os; болон Интернэтийн тухай үндсэн ойлголт. Галт ханын тухай ойлголтууд галт хана дүрмүүд Галт ханын дүрмүүдийг дараах үндсэн хоёр янзаар үүсгэж болно: inclusive буюу хамааруулсан эсвэл exclusive буюу хамааруулаагүй. Хамааруулаагүй галт хана нь дүрмэнд тохирсон урсгалаас бусдыг нэвтрүүлнэ. Харин хамааруулсан галт хана бол эсрэгээр нь, дүрмэнд тохирсон урсгалыг нэвтрүүлж бусдыг хаана. Болохгүй урсгалыг галт ханаар нэвтрүүлэх эрсдэлийг багасгадаг учраас хамааруулсан галт хана нь хамааруулаагүй галт ханыг бодвол илүүтэйгээр аюулгүй байдлыг хангаж чаддаг. Төлөвт галт ханыг ашиглан аюулгүй байдлыг цааш илүү сайжруулах боломжтой. Төлөвт галт хана нь галт ханаар дамжин тогтсон холболтуудыг бүртгэж, зөвхөн таарч байгаа тогтсон холболтоор эсвэл шинэ холболт үүсгэн урсгалыг нэвтрүүлдэг. Төлөвт галт ханын нэг дутагдалтай тал гэвэл олон шинэ холболтууд нэг дор тогтох үед Denial of Service буюу Үйлчилгээг Зогсоох(DoS) халдлагад өртөмтгий болдог. Иймээс галт ханыг зохион байгуулахдаа төлөвт ба төлөвт-бус байдлыг хослуулан хэрэглэх нь хамгийн оновчтой байдаг. Галт ханын багцууд &os; дээр гурван янзын галт ханын багцууд хамрагдсан байдаг. Нэрлэвэл: IPFILTER (IPF гэж нэрлэх нь элбэг), IPFIREWALL (IPFW гэж нэрлэх нь элбэг), ба OpenBSD-н PacketFilter (PF гэж нэрлэх нь элбэг). &os; нь мөн урсгалыг хязгаарлах(үндсэндээ зурвасын өргөнийг хязгаарлах) хоёр багцын хамт ирдэг: &man.altq.4; болон &man.dummynet.4;. Dummynet нь анхнаасаа IPFW-тай, харин ALTQ нь PF-тэй нягт холбоотой ажилладаг. IPFILTER-ийн хувьд урсгал хязгаарлалтыг хийхдээ NAT болон шүүлтэд IPFILTER-ийг ба IPFW-ийг &man.dummynet.4;-тэй цуг юм уу эсвэл PF-ийг ALTQ-тай цуг ашиглан хийж болно. IPFW, ба PF нь бүгд систем уруу орж байгаа болон гарч байгаа урсгалыг дүрмүүдийн тусламжтай удирдах боловч синтаксын хувьд ч, арга замын хувьд ч өөр өөр байдаг. &os; дээр олон галт ханын багцууд хамт ирдэг нь өөр өөр хэрэгцээ шаардлагатай хүмүүст хүртээмжтэй байхыг гол зорилгоо болгосонд оршино. Түүнээс аль ч галт хана нь нөгөөгөөсөө илүү, эсвэл дутуу гэсэн үг биш юм. Зохиогч IPFILTER-г сонгон авсан нь түүний төлөвт дүрмүүд нь NAT орчинд хэрэглэхэд төвөг багатай, мөн дотроо ftp proxy агуулсан байдгаас болсон хэрэг. Энэхүү ftp proxy-г ашиглан гадагшаа гарах FTP урсгалыг зөвшөөрсөн дүрмүүдийг бичихэд хялбар байдаг. Бүх галт ханууд пакет удирдах талбарын утгыг шинжлэх зарчмаар ажиллах тул галт ханын дүрмүүдийг бичихийн өмнө TCP/IP протокол хэрхэн ажилладаг талаар болон пакет удирдах талбарын утгууд, энэ утгууд session буюу сесс үүсэхэд хэрхэн хэрэглэгддэг талаар үндсэн ойлголттой байх шаардлагатай болдог. Дээрх ойлголтуудын талаар дараах хаягаар орж уншина уу: . + + + + Жон + Феррел + Хянан залруулж шинэчилсэн + + + + + OpenBSD Пакет шүүгч (PF) ба <acronym>ALTQ</acronym> галт хана PF 2003 оны 7 сард OpenBSD-н галт ханын програм болох PF &os; уруу шилжиж, &os; Портын Цуглуулгад - орсон бөгөөд 2004 оны 11 сард гарсан - &os; 5.3-с эхлэн PF-г - үндсэн системийн багцын нэг хэсэг болгон оруулсан байдаг. + орсон. 2004 онд гарсан &os; 5.3 нь PF-г + үндсэн системийн багцын нэг хэсэг болгон оруулсан анхны хувилбар юм. PF нь бүрэн хэмжээнд ажиллах чадвартай галт хана бөгөөд ALTQ-тай (Alternate - Queuing буюу Ээлжлэн солигдох дараалал) хамтран ажиллах боломжтой. ALTQ-н тусламжтай - шүүн нэвтрүүлэх дүрмүүдийг харгалзан үйлчилгээнүүдэд шаардлагатай -зурвасын өргөнийг баталгаатай олгох Quality of Service буюу Үйлчилгээний Чанарыг (QoS) - хангасан зурвасын өргөнийг хязгаарлах боломжоор хангадаг. -OpenBSD Төсөл нь PF-н Хэрэглэгчдийн Гарын авлагыг хөтлөн -явуулдаг тул давхардуулахгүй үүднээс энэ гарын авлагад -оруулаагүй болно. - - Илүү дэлгэрэнгүй мэдээллийг &os;-н PF вэб хуудаснаас үзнэ үү: . + Queuing буюу Ээлжлэн солигдох дараалал) хамтран ажиллах боломжтой. ALTQ нь + Quality of Service буюу Үйлчилгээний Чанарын (QoS) + боломжоор хангадаг. + OpenBSD Төсөл нь PF FAQ-г хөтлөн + явуулдаг. + Тиймээс гарын авлагын энэ хэсэг нь &os;-д хамаатай + PF дээр илүү анхаарлаа хандуулахахаас гадна + хэрэглээний талаар зарим нэг ерөнхий мэдээллийг өгнө. Хэрэглээний + мэдээллийн талаар илүү дэлгэрэнгүйг PF FAQ-с үзнэ үү. + + &os;-д зориулсан PF-ийн талаар илүү дэлгэрэнгүй мэдээллийг + хаягаас үзэж болно. - PF-г идэвхжүүлэх - - &os; 5.3-с хойших хувилбаруудад PF нь үндсэн суулгацтай -хамт, ажиллах үеийн ачаалах боломжтой модуль байдлаар ирдэг. -rc.conf тохиргооны файл дотор pf_enable="YES" илэрхийлэл байгаа үед -систем PF цөмийн модулийг динамикаар ачаална. -Энэ ачаалах боломжтой модуль нь &man.pflog.4;-н тусламжтай, -бүртгэх боломжтойгоор бүтээгдсэн байдаг. + Цөмийн дуудагдах PF модулийг ашиглах нь + + &os; 5.3 хувилбараас эхлэн PF нь тусдаа ажиллуулж + болох дуудагдах боломжтой модул хэлбэрээр үндсэн суулгацад орсон байдаг. + &man.rc.conf.5;-ийн pf_enable="YES" + илэрхийлэл байхад систем нь цөмийн PF модулийг динамикаар дуудах болно. + Гэхдээ систем PF-ийн дүрмийн олонлогийн тохиргооны + файлыг олохгүй бол PF модул нь дуудагдахгүй. + Анхдагч байрлал нь /etc/pf.conf. Хэрэв таны + PF дүрмийн олонлог өөр хаа нэгтээ байгаа бол + байрлалыг зааж өгөхийн тулд pf_rules="/path/pf.rules" + гэж өөрийн /etc/rc.conf тохиргооны файлдаа + оруулж өгөх хэрэгтэй. - - Энэ модуль нь options INET ба - device bpf-г байгаа гэж тооцдог. - &os;-н 6.0-RELEASE-с өмнөх хувилбарын NOINET6, - хойших хувилбарын NO_INET6-г (жишээ нь &man.make.conf.5;) - системийг үүсгэх үед тодорхойлоогүй бол, options INET6 шаардлагатай. - - - Цөмийн модуль ачаалагдсан эсвэл цөм нь PF-н хамт - статик байдлаар бүтээгдсэн бол, pf-г - pfctl тушаалын тусламжтай идэвхжүүлж, мөн - идэвхгүй болгож болно. + + &os; 7.0-с эхлэн /etc/ + санд байсан жишээ pf.conf файл /usr/share/examples/pf/ руу орсон болно. + 7.0-с өмнөх &os;-ийн хувилбаруудад анхдагчаар /etc/pf.conf + байдаг. + - Энэ жишээн дээр pf-г хэрхэн -идэвхжүүлэхийг харуулав: + PF модулийг тушаалын мөрөөс бас дуудан ажиллуулж + болно: - &prompt.root; pfctl -e + &prompt.root; kldload pf.ko - pfctl тушаалыг ашиглан -pf галт ханатай ажиллах боломжтой. -тушаалыг ашиглахын өмнө &man.pfctl.8; заавар хуудаснаас дэлгэрэнгүй -мэдээллийг авна уу. + Дуудагдах модул нь бүртгэл хийх дэмжлэгийг хангадаг &man.pflog.4; + боломжтойгоор хийгдсэн байдаг. Хэрэв танд PF-ийн + өөр боломжууд хэрэгтэй бол PF-ийн дэмжлэгийг + цөмд оруулан эмхэтгэх хэрэгтэй. - Цөмийн боломжууд + PF цөмийн тохиргоонууд - цөмийн боломжууд + цөмийн тохиргоонууд pf төхөөрөмж - цөмийн боломжууд + цөмийн тохиргоонууд pflog төхөөрөмж - цөмийн боломжууд + цөмийн тохиргоонууд pfsync төхөөрөмж - &os; цөм уруу дараах боломжуудыг эмхэтгэн PF-г -идэвхжүүлэх албагүй боловч, суурь мэдлэг болгон энд үзүүллээ. -PF-г цөм уруу хөрвүүлэн эмхэтгэснээр ачаалах боломжтой модулийг -хэрэглэх боломжгүй болдог. + PF дэмжлэгийг &os; цөмд оруулж эмхэтгэх нь + шаардлагагүй боловч дуудагдах модульд ороогүй байдаг PF-ийн нэмэлт + боломжуудын нэг бөгөөд PF-ийн ашигладаг төлвийн хүснэгтэд + зарим өөрчлөлтүүдийг ил гаргадаг псевдо төхөөрөмж болох &man.pfsync.4; + гэгддэг боломжийг ашиглахын тулд та тэгж хийж өгч болох юм. Үүнийг + &man.carp.4;-тэй хослуулан ажиллагаа доголдоход тойрон гарах галт ханаыг + PF ашиглан бүтээж болно. CARP-ийн + талаар дэлгэрэнгүйг гарын авлагын бүлэг 29-с + үзэж болно. - Цөмийн тохиргоон дахь PF илэрхийллүүд -/usr/src/sys/conf/NOTES гэсэн цөмийн -эх файлд байх ба доор сийрүүлэв: + Цөмийн PF тохиргоонуудыг + /usr/src/sys/conf/NOTES-с олж болох бөгөөд + доор үзүүлэв: device pf device pflog device pfsync - device pf мөр Packet Filter -галт ханыг дэмждэг болгоно. + device pf тохиргоо Packet Filter +галт ханыг (&man.pf.4;) дэмждэг болгоно. - device pflog мөр -хуурамч &man.pflog.4; сүлжээний төхөөрөмжийг идэвхжүүлнэ. Энэ хуурамч + device pflog тохиргоо +псевдо буюу хуурамч &man.pflog.4; сүлжээний төхөөрөмжийг идэвхжүүлнэ. Энэ хуурамч төхөөрөмжийн тусламжтайгаар &man.bpf.4; дескриптор уруу урсгалыг бүртгэх боломжтой. &man.pflogd.8; дэмонг бүртгэлийг дискэн дээр хадгалахад хэрэглэнэ. - device pfsync мөр -хуурамч &man.pfsync.4; сүлжээний төхөөрөмжийг идэвхжүүлнэ. Энэ хуурамч -төхөөрөмжийн тусламжтайгаар төлвийн өөрчлөлтүүдийг хянах боломжтой. -Энэ төхөөрөмж нь ачаалах боломжтой модульд байдаггүй тул, түүнийг -ашиглахын тулд цөмийг шинээр бүтээх хэрэгтэй байдаг. - - Эдгээр тохируулгууд нь зөвхөн тэдгээрийг тохируулан, -тусгайлан цөм бүтээж суулгасны дараа идэвхждэг. + device pfsync тохиргоо +псевдо буюу хуурамч &man.pfsync.4; сүлжээний төхөөрөмжийг идэвхжүүлнэ. Энэ хуурамч +төхөөрөмжийн тусламжтайгаар төлвийн өөрчлөлтүүдийг хянах боломжтой. rc.conf боломжууд - PF-г систем ачаалах үед идэвхтэй болгохын тулд -/etc/rc.conf дотор дараах илэрхийллүүд байх -ёстой: + Дараах &man.rc.conf.5; илэрхийллүүд + PF болон &man.pflog.4;-ийг ачаалах үед тохируулна: pf_enable="YES" # Enable PF (load module if required) pf_rules="/etc/pf.conf" # rules definition file for pf pf_flags="" # additional flags for pfctl startup pflog_enable="YES" # start pflogd(8) pflog_logfile="/var/log/pflog" # where pflogd should store the logfile pflog_flags="" # additional flags for pflogd startup Хэрвээ энэ галт ханын цаана LAN байгаа бөгөөд LAN-д байгаа компьютерууд уруу пакет дамжуулах шаардлагатай бол эсвэл -NAT ашиглах бодолтой байгаа бол дараах илэрхийллийг идэвхжүүлэх хэрэгтэй: +NAT ашиглах бодолтой байгаа бол дараах илэрхийлэл танд бас хэрэгтэй: gateway_enable="YES" # Enable as LAN gateway + + Шүүгч дүрмүүдийг үүсгэх нь + + PF нь &man.pf.conf.5;-с (анхдагчаар /etc/pf.conf) + өөрийн тохиргооны дүрмүүдийг унших бөгөөд тэнд заагдсан дүрмүүд буюу тодорхойлолтуудын + дагуу пакетуудыг өөрчлөх, орхих буюу эсвэл дамжуулдаг. &os; суулгацад + /usr/share/examples/pf/-д байрлах хэд хэдэн жишээ + файлууд байдаг. PF-ийн дүрмийн олонлогуудын талаар бүрэн мэдээллийг + PF FAQ-с + лавлана уу. + + + PF FAQ-г үзэж байхдаа + &os;-ийн хувилбар бүр өөр өөр PF хувилбартай болохыг анхаарна уу: + + + + &os; 5.X — + PF нь OpenBSD 3.5-ынх + + + + &os; 6.X — + PF нь OpenBSD 3.7-ынх + + + + &os; 7.X — + PF нь OpenBSD 4.1-ынх + + + + + &a.pf; нь PF галт ханыг тохируулж ажиллуулах + талаар асуухад тохиромжтой газар юм. Асуулт асуухаасаа өмнө захидлын + жагсаалтын архиваас шалгахаа мартуузай! + + + + PF-тэй ажиллах нь + + PF-ийг хянахдаа &man.pfctl.8;-г ашиглана. + Зарим нэг хэрэгтэй тушаалуудыг доор жагсаав (Бүх боломжит тохиргоонуудын + талаар &man.pfctl.8; гарын авлагын хуудаснаас лавлахаа мартуузай): + + + + + + Тушаал + Зорилго + + + + + + pfctl + PF-г идэвхжүүлэх + + + + pfctl + PF-г болиулах + + + + pfctl all /etc/pf.conf + Бүх дүрмүүдийг арилгаж (nat, шүүх, төлөв, хүснэгт, гэх мэт.) + /etc/pf.conf файлаас дахин ачаалах + + + + pfctl [ rules | nat | state ] + Шүүх дүрмүүд, nat дүрмүүд, эсвэл төлвийн хүснэгтийн талаар тайлан гаргах + + + + pfctl /etc/pf.conf + Дүрмийн олонлогийг ачаалалгүйгээр /etc/pf.conf-д + алдаа байгаа эсэхийг шалгах + + + + + + <acronym>ALTQ</acronym>-г идэвхжүүлэх ALTQ-г идэвхжүүлэх ганц арга зам бол түүний боломжуудыг &os; цөмтэй хамт хөрвүүлэн эмхэтгэх юм. Мөн сүлжээний картын драйвер болгон ALTQ-г дэмждэггүй тул өөрийн тань хэрэглэж буй &os; хувилбарын хувьд дэмжигддэг драйверуудын жагсаалтыг -&man.altq.4; гарын авлагын хуудаснаас үзнэ үү. Дараах тохируулгууд +&man.altq.4; гарын авлагын хуудаснаас үзнэ үү. + + Дараах тохируулгууд ALTQ-г идэвхжүүлж нэмэлт үүргүүдийг оруулдаг. options ALTQ options ALTQ_CBQ # Class Bases Queuing (CBQ) options ALTQ_RED # Random Early Detection (RED) options ALTQ_RIO # RED In/Out options ALTQ_HFSC # Hierarchical Packet Scheduler (HFSC) options ALTQ_PRIQ # Priority Queuing (PRIQ) options ALTQ_NOPCC # Required for SMP build options ALTQ мөр ALTQ -г бүхэлд нь идэвхжүүлнэ. options ALTQ_CBQ мөр Class Based Queuing буюу Ангиллаас Хамаарсан Дараалал Үүсгэх(CBQ) боломжийг идэвхжүүлнэ. CBQ нь шүүгч дүрмүүд дээр үндэслэн урсгалуудад эрэмбэ тогтоох зорилгоор зурвасын өргөнийг өөр өөр ангиллуудад болон дарааллуудад хуваах боломжийг олгоно. options ALTQ_RED мөр Random Early Detection буюу Санамсаргүй Эрт Илрүүлэлт(RED)-г идэвхжүүлнэ. RED-г сүлжээний даац хэтрэхээс сэргийлэхэд хэрэглэдэг. RED дарааллын уртыг хэмжиж, түүнийг байх ёстой дээд ба доод хэмжээтэй жиших байдлаар ажилладаг. Хэрэв дараалал дээд хэмжээнээс урт болбол шинэ пакетууд орхигдох болно. Нэртэйгээ адилаар, RED нь холболтуудаас пакетийг санамсаргүйгээр орхигдуулдаг. options ALTQ_RIO мөр нь Random Early Detection In and Out буюу Орох ба Гарах Санамсаргүй Эрт Илрүүлэлтийг идэвхжүүлнэ. options ALTQ_HFSC мөр нь Hierarchical Fair Service Curve Packet Scheduler буюу Үе давхаргат Зохимжит Үйлчилгээний Муруйн Пакет Хуваарилагчийг идэвхжүүлнэ. HFSC талаар илүү дэлгэрэнгүй мэдээллийг дараах хаягаас үзнэ үү: . options ALTQ_PRIQ мөр нь Priority Queuing буюу Эрэмбэт Дараалал Үүсгэх (PRIQ)-г идэвхжүүлнэ. PRIQ нь эрэмбэ өндөртэй дараалалд байгаа урсгалыг эхэнд нэвтрүүлэх зарчмаар ажилладаг. options ALTQ_NOPCC мөр нь ALTQSMP-тай хамт ажиллах боломжтой болгоно. SMP системийн хувьд энэ боломжийг заавал идэвхжүүлэх хэрэгтэй. - - - Шүүгч дүрмүүдийг үүсгэх - - Пакет Шүүгч нь дүрмүүдээ &man.pf.conf.5; файлаас уншиж, энд заагдсан -дүрмүүд болон тодорхойлолтуудаас хамааран пакетийг нэвтрүүлэх, орхих, эсвэл өөрчлөхийн аль нэгийг -хийнэ. &os; суулгац нь жишээ болон тайлбарыг агуулсан анхдагч /etc/pf.conf -файлын хамт ирдэг. - - Хэдийгээр &os; өөрийн /etc/pf.conf -файлтай боловч синтакс нь OpenBSD-ийнхтэй адилхан байна. pf -галт ханыг тохируулах дэлгэрэнгүй мэдээллийг OpenBSD багийнхан бичсэн бөгөөд - хаягаар орж үзэж болно. - - - pf хэрэглэгчийн гарын авлагаар аялахдаа, &os; хувилбарууд өөр өөрийн -pf хувилбарыг ашигладгийг санаарай. &os; 6.X дээрх pf галт хана -нь OpenBSD-н 3.7 хувилбарынхтай дүйдэг болохыг анхаарна уу. - - - pf галт ханыг тохируулах, ажиллуулахтай холбоотой -асуултуудаа &a.pf;-с асуугаарай. Мөн асуулт асуухынхаа өмнө, захидлын жагсаалтын архиваар орж үзэхээ -мартуузай. - IPFILTER (IPF) Галт хана галт хана IPFILTER Энэ хэсэг дээр үргэлжлүүлэн ажиллаж байна. Агуулга зарим хэсэгт буруу байхыг үгүйcгэхгүй. IPFILTER-г зохиосон хүн бол Даррин Рид билээ. IPFILTER нь үйлдлийн системээс хамааралгүй: нээлттэй эхийн програм бөгөөд &os;, NetBSD, OpenBSD, &sunos;, HP/UX, ба &solaris; зэрэг олон үйлдлийн систем уруу шилжүүлэгдсэн юм. IPFILTER эрчимтэй дэмжигдэж, сайжруулсан хувилбарууд нь тогтмол гарсаар байгаа. IPFILTER нь цөмийн талд ажиллах галт хана болон NAT механизм дээр суурилсан бөгөөд түүнийг удирдах, хянахын тулд хэрэглэгчийн интерфэйс програмыг ашиглана. Галт ханын дүрмүүдийг нэмэх болон хасахдаа &man.ipf.8; хэрэгслийг хэрэглэнэ. NAT дүрмүүдийг нэмэх болон хасахдаа &man.ipnat.1; хэрэгслийг хэрэглэнэ. &man.ipfstat.8; хэрэгсэл нь IPFILTER-н цөмийн талд ажиллаж байгаа хэсгийн статистикийг хэвлэхэд зориулагдсан. &man.ipmon.8; програм харин IPFILTER-н үйлдлүүдийг системийн бүртгэлийн файлд бүртгэнэ. IPF-г анх зохиохдоо сүүлд тохирсон дүрэм дийлнэ гэсэн логикийн дагуу бүтээсэн ба зөвхөн төлөвт-бус дүрмүүдийг ашигладаг байлаа. Цаг хугацаа өнгөрөхөд IPF илүү хөгжиж, quick тохируулга болон төлөвт keep state тохируулгуудыг агуулах болсон нь орчин үеийн хэрэгцээ шаардлагад илүү нийцэх болжээ. IPF-н албан ёсны баримтжуулалтанд хуучин уламжлалт дүрмүүдийг бичих параметрүүд болон файлтай ажиллах логикууд багтсан байдаг. Харин шинэ функцуудыг нь зөвхөн нэмэлт боломж байдлаар оруулсан нь аюулгүй байдлыг хавьгүй илүү хангасан галт хана бий болгож байгаа тэднийг хэт доогуур тавьсан санагддаг. Энэ бүлэгт байгаа зааврууд нь quick болон төлөвт keep state тохируулгуудыг агуулсан дүрмүүдээс үндсэндээ бүрдсэн байгаа. Энэ бол хамааруулсан галт ханын дүрмүүдийг бичих үндсэн арга барил юм. Хамааруулсан галт хана нь зөвхөн дүрмэнд тохирсон пакетуудыг нэвтрүүлнэ. Ийм маягаар галт ханын цаанаас Интернэт уруу ямар ямар үйлчилгээнүүд гарч болох болон эсрэгээр Интернэтээс дотоод сүлжээ уруу ямар ямар үйлчилгээнүүд нэвтэрч болохыг удирдах боломжтой. Эдгээрээс бусад бүх урсгалыг хааж, бүртгэдэг байхаар зохиогдсон байдаг. Хамааруулсан галт хана нь хамааруулаагүй галт ханаас аюулгүй байдлын хувьд хэд дахин илүү, тиймээс энд бид зөвхөн хамааруулсан галт ханын дүрмүүдийн талаар ярилцах болно. Хуучин уламжлалт дүрмүүдтэй ажиллах аргуудын талаар дэлгэрэнгүй тайлбарыг: ба хаягаар орж үзнэ үү. IPF FAQ-г хаягаар орж үзнэ үү. Нээлттэй эхийн IPFilter програмын захидлын жагсаалтын архивыг хаягаар орж үзнэ үү. IPF-г идэвхжүүлэх IPFILTER идэвхжүүлэх IPF нь &os; үндсэн суулгацтай хамт, ажиллах үеийн ачаалах боломжтой модуль байдлаар ирдэг. rc.conf тохиргооны файл дотор ipfilter_enable="YES" илэрхийлэл байгаа үед систем IPF цөмийн модулийг динамикаар ачаална. Энэ ачаалах боломжтой модуль нь бүртгэх боломжтойгоор, анхдагч default pass all тохируулгын хамт бүтээгдсэн байдаг. Анхдагч дүрмийг block all болгохын тулд IPF-г цөмд эмхэтгэх шаардлага байхгүй. Зөвхөн дүрмүүдийнхээ төгсгөлд бүгдийг хаах дүрмийг бичиж өгөхөд хангалттай. Цөмийн тохируулгууд цөмийн тохируулгууд IPFILTER цөмийн тохируулгууд IPFILTER_LOG цөмийн тохируулгууд IPFILTER_DEFAULT_BLOCK IPFILTER цөмийн тохируулгууд &os; цөм уруу дараах боломжуудыг эмхэтгэн IPF-г идэвхжүүлэх албагүй боловч, суурь мэдлэг болгон энд үзүүллээ. IPF-г цөм уруу хөрвүүлэн эмхэтгэснээр ачаалах боломжтой модулийг хэрэглэх боломжгүй болдог. Цөмийн тохиргоон дахь жишээ IPF илэрхийллүүд /usr/src/sys/conf/NOTES гэсэн цөмийн эх файлд байх ба доор сийрүүлбэл: options IPFILTER options IPFILTER_LOG options IPFILTER_DEFAULT_BLOCK options IPFILTER мөр нь IPFILTER галт ханыг идэвхжүүлнэ. options IPFILTER_LOG мөр нь log гэсэн түлхүүр үг орсон дүрмүүдийн хувьд урсгалыг ipl пакет бүртгэх хуурамч—төхөөрөмж уруу бүртгэх боломжтой болгоно. options IPFILTER_DEFAULT_BLOCK мөр нь галт ханын pass дүрмэнд тохироогүй пакетийг хаах анхдагч чанарыг зааж өгнө. Эдгээр тохируулгууд нь зөвхөн тэдгээрийг тохируулан, тусгайлан цөм бүтээж суулгасны дараа идэвхждэг. rc.conf тохируулгууд IPF-г систем ачаалах үед идэвхтэй болгохын тулд /etc/rc.conf дотор дараах илэрхийллүүд байх ёстой: ipfilter_enable="YES" # Start ipf firewall ipfilter_rules="/etc/ipf.rules" # loads rules definition text file ipmon_enable="YES" # Start IP monitor log ipmon_flags="-Ds" # D = start as daemon # s = log to syslog # v = log tcp window, ack, seq # n = map IP & port to names Хэрэв энэ галт ханын цаана хувийн IP хаяг хэрэглэдэг LAN байгаа бол NAT функцыг идэвхжүүлэхийн тулд дараах мөрүүдийг нэмэх хэрэгтэй: gateway_enable="YES" # Enable as LAN gateway ipnat_enable="YES" # Start ipnat function ipnat_rules="/etc/ipnat.rules" # rules definition file for ipnat IPF ipf Таны бичсэн дүрмүүдийг ачаалахад ipf тушаалыг хэрэглэнэ. Ер нь бол та өөрийн дүрмүүдээс бүтсэн файлыг үүсгээд, түүнийгээ дээрх тушаалын ашиглан галт ханын одоо ажиллаж байгаа дотоод дүрмүүдтэй сольж тавьна гэсэн үг юм: &prompt.root; ipf -Fa -f /etc/ipf.rules нь бүх дотоод дүрмүүдийн хүснэгтийг цэвэрлэ гэсэн үг. нь ачаалах дүрмүүдээ энэ файлаас унш гэсэн үг. Ийм байдлаар та өөрийн хүссэн дүрмүүдийн файлыг үүсгээд, дээрх IPF тушаалыг ажиллуулан системийг шинээр ачаалахгүйгээр ажиллаж байгаа галт ханын дүрмүүдийг шинээр өөрчлөх боломжтой болж байна. Дээрх аргаар галт ханын дүрмүүдийг хэдэн ч удаа сольж болох тул энэ арга нь шинэ дүрмүүдийг туршихад тохиромжтой арга юм. Энэ тушаалтай ажиллах боломжтой бусад тугуудын талаар дэлгэрэнгүйг &man.ipf.8; заавар хуудаснаас үзнэ үү. &man.ipf.8; тушаал дүрмүүдийн файлыг стандарт текст файл гэж тооцдог. Симбол орлуулалттай скрипт байдлаар бичигдсэн файлыг ойлгохгүй. Гэвч скрипт симбол орлуулалтын хүчийг ашиглан IPF дүрмүүдийг бүтээх арга зам байгаа. Илүү дэлгэрэнгүй мэдээллийг хэсгээс үзнэ үү. IPFSTAT ipfstat IPFILTER статистик &man.ipfstat.8;-н анхдагч чанар бол галт ханыг хамгийн сүүлд асааснаас хойших, эсвэл ipf -Z тушаалыг өгөн хуримтлуулагчийг хамгийн сүүлд тэглэснээс хойших галт ханаар орж байгаа болон гарч байгаа пакетуудыг хэрэглэгчийн тодорхойлж өгсөн дүрмүүдээр шүүсэн үр дүнд бий болсон статистик тоог гаргаж ирэн, дэлгэцэнд харуулах юм. Дэлгэрэнгүйг &man.ipfstat.8; заавар хуудаснаас үзнэ үү. &man.ipfstat.8; тушаалын анхдагч үр дүн дараах байдалтай байна: input packets: blocked 99286 passed 1255609 nomatch 14686 counted 0 output packets: blocked 4200 passed 1284345 nomatch 14687 counted 0 input packets logged: blocked 99286 passed 0 output packets logged: blocked 0 passed 0 packets logged: input 0 output 0 log failures: input 3898 output 0 fragment state(in): kept 0 lost 0 fragment state(out): kept 0 lost 0 packet state(in): kept 169364 lost 0 packet state(out): kept 431395 lost 0 ICMP replies: 0 TCP RSTs sent: 0 Result cache hits(in): 1215208 (out): 1098963 IN Pullups succeeded: 2 failed: 0 OUT Pullups succeeded: 0 failed: 0 Fastroute successes: 0 failures: 0 TCP cksum fails(in): 0 (out): 0 Packet log flags set: (0) Дотогшоо урсгалын хувьд , гадагшаа урсгалын хувьд тохируулгыг өгөхөд кернелийн ашиглаж буй дүрмүүдийн жагсаалтыг гаргаж харуулна. ipfstat -in нь дотогшоо урсгалын дотоод дүрмүүдийн хүснэгтийг дүрмүүдийн дугаарын хамт харуулна. ipfstat -on нь гадагшаа урсгалын дотоод дүрмүүдийн хүснэгтийг дүрмүүдийн дугаарын хамт харуулна. Үр дүн нь дараах байдалтай байна: @1 pass out on xl0 from any to any @2 block out on dc0 from any to any @3 pass out quick on dc0 proto tcp/udp from any to any keep state ipfstat -ih нь дотогшоо урсгалын дотоод дүрмүүдийн хүснэгтийг дүрмүүдийн хэдэн удаа тохирсон тооны хамт харуулна. ipfstat -oh нь гадагшаа урсгалын дотоод дүрмүүдийн хүснэгтийг дүрмүүдийн хэдэн удаа тохирсон тооны хамт харуулна. Үр дүн нь дараах байдалтай байна: 2451423 pass out on xl0 from any to any 354727 block out on dc0 from any to any 430918 pass out quick on dc0 proto tcp/udp from any to any keep state ipfstat тушаалын хамгийн чухал функцуудын нэг бол, &os;-н ажиллаж байгаа процессийн хүснэгтийг &man.top.1; харуулдаг шиг төлвийн хүснэгтийг туг харуулдаг явдал юм. Таны галт хана гадны халдлагад өртөх үед энэ функц түүнийг илрүүлэх, шинжлэх, халдлагад оролцож буй пакетуудыг харах боломжийг олгоно. Нэмэлт дэд тугууд нь хяналт хийх эхлэл болон очих IP хаяг, порт, эсвэл протоколыг сонгох боломжийг олгодог. Дэлгэрэнгүйг &man.ipfstat.8; заавар хуудаснаас үзнэ үү. IPMON ipmon IPFILTER бүртгэл хөтлөлт ipmon тушаал зохистой ажиллахын тулд цөмийн IPFILTER_LOG тохируулга идэвхжсэн байх ёстой. Энэ тушаал хоёр өөр горимд ажиллах чадвартай. Төрөлх горим нь энэ тушаалыг тушаал мөрөн дээр туггүйгээр оруулахад ажиллах анхдагч горим юм. Демон горим нь болж өнгөрсөн үйл явцын бүртгэлийг эргэж харахын тулд системийн бүртгэлийг тасралтгүй хөтлөн явуулахад тохиромжтой горим юм. &os; болон IPFILTER энэ горимд ажиллахаар тохируулагдсан байдаг. &os; нь системийн бүртгэлийг автоматаар тойруулах чадвартай. Тиймээс бүртгэлийн мэдээллийг syslogd процесс уруу гаргах нь энгийн файл уруу гаргах анхдагч аргаас дээр байдаг. Анхдагч rc.conf файл дотор ipmon_flags илэрхийлэл тугуудыг хэрэглэсэн байхыг олж харж болно: ipmon_flags="-Ds" # D = start as daemon # s = log to syslog # v = log tcp window, ack, seq # n = map IP & port to names Бүртгэл хөтлөн явуулахын давуу талыг дурдахад илүүц биз. Бүртгэлийн тусламжтай ямар пакетууд орхигдсон, тэдгээр пакетууд хаанаас ирсэн, хаашаа явж байсан зэрэг мэдээллийг эргэн харах боломжтой болдог. Энэ бүх мэдээлэл гадны халдлагыг мөрдөхөд чухал түлхэц болно. Хэдийгээр бүртгэх боломжоор хангагдсан боловч, IPF дангаараа бүртгэлийг үүсгэж чадахгүй. Галт ханын администратор аль дүрмийн бүртгэлийг бичихийг шийдэн, тэдгээр дүрмүүдэд log түлхүүр үгийг нэмж өгнө. Ер нь, зөвхөн deny дүрмүүдийн бүртгэл бичигддэг. Бүгдийг хориглосон анхдагч дүрмийг log түлхүүр үгийн хамт дүрмүүдийнхээ хамгийн төгсгөлд бичиж өгөх нь нилээд өргөн хэрэглэгддэг арга юм. Ийм байдлаар таны дүрмүүдийн алинтай ч тохироогүй пакетуудыг мэдэх боломжтой болно. IPMON бүртгэл хөтлөлт Syslogd нь бүртгэлийн мэдээллийг дотор нь ангилах өөрийн тусгай аргатай. facility ба түвшин гэсэн тусгай ангилалаар ялгадаг. горимон дахь IPMON нь facility-аар security-г хэрэглэдэг. IPMON-ы бүх бүртгэлийн мэдээлэл security нэрийн дор бичигддэг. Хэрэв хүсвэл доорх түвшнүүдийг ашиглан бүртгэгдсэн мэдээллийг илүү ангилж болно: LOG_INFO - нэвтрүүлэх, хаахаас үл хамааран "log" түлхүүрийг үйлдэл ашиглан пакетуудыг бүртгэх. LOG_NOTICE - нэвтэрсэн пакетуудыг бүртгэх. LOG_WARNING - хаагдсан пакетуудыг бүртгэх. LOG_ERR - бүртгэсэн пакетууд болон богино гэгдсэн пакетууд IPFILTER-н бүх бүртгэлийн мэдээллийг /var/log/ipfilter.log файл дотор бичихийн тулд, та энэ файлыг эхлээд үүсгэх хэрэгтэй. Үүний тулд дараах тушаалыг өгөх хэрэгтэй: &prompt.root; touch /var/log/ipfilter.log syslog-н функцуудыг /etc/syslog.conf файл доторх тодорхойлох илэрхийллүүдээр удирдаж болно. syslog.conf файл нь IPF мэт програмуудын үүсгэсэн системийн мэдэгдлүүдтэй ажиллахад уян хатан болгодог. Дараах илэрхийллүүдийг /etc/syslog.conf файл дотор нэмж бичнэ үү: security.* /var/log/ipfilter.log security.* нь бүх бүртгэгдсэн мэдэгдлүүдийг дурдсан файлд бичихийг хэлж өгч байна. /etc/syslog.conf файлд хийсэн өөрчлөлтүүдийг идэвхжүүлэхийн тулд та системээ дахин ачаалах эсвэл /etc/rc.d/syslogd reload тушаалыг ашиглан syslog процессод /etc/syslog.conf файлыг дахин уншуулах хэрэгтэй. Дээр шинээр үүсгэсэн бүртгэлийг тойруулахын тулд /etc/newsyslog.conf файл дотор өөрчлөлт оруулахаа мартуузай. Бүртгэгдсэн мэдэгдлийн формат ipmon-ы үүсгэсэн мэдэгдэл зайгаар тусгаарлагдсан өгөгдлийн талбаруудаас бүрдэнэ. Бүх мэдэгдэлд байдаг гол талбарууд гэвэл: Пакетийг хүлээж авсан огноо. Пакетийг хүлээж авсан цаг. Цаг, минут, секунд, бутархай секундэд (олон орны нарийвчлалтай) харгалзан HH:MM:SS.F форматтай байна. Пакеттай ажилласан интерфэйсийн нэр, жишээлбэл dc0. Дүрмийн бүлэг болон дүрмийн дугаар, жишээлбэл @0:17. Эдгээрийг ipfstat-in тушаалын тусламжтай үзэж болно. Үйлдэл: нэвтрүүлсэн бол р, хаасан бол b, богино пакет бол S, аль ч дүрмэнд тохироогүй бол n, бүртгэх дүрэм бол L. Эдгээр тугуудыг дараах эрэмбээр харуулна: S, p, b, n, L. Том P эсвэл B үсэг нь тухайн пакет ямар нэг дүрмээс биш, глобал тохиргооноос хамааран бүртгэгдсэн болохыг заана. Хаягууд. Үндсэндээ гурван талбар байна: эхлэл хаяг болон порт (таслалаар тусгаарлагдсан), -> тэмдэг, ба очих хаяг болон порт. 209.53.17.22,80 -> 198.73.220.17,1722. PR-н дараа протоколын нэр болон дугаар, жишээлбэл PR tcp. len-ы дараа толгойн урт болон пакетийн нийт урт, жишээлбэл len 20 40. Хэрэв TCP пакет бол зураасаар эхэлж тугуудаар удаалсан нэмэлт талбар байна. Үсгүүд болон түүнд харгалзах тугуудын талаар &man.ipmon.8; заавар хуудаснаас үзнэ үү. Хэрэв ICMP пакет бол, төгсгөлд нь хоёр талбар байна. Эхнийх нь үргэлж ICMP утгатай байна, дараагийнх нь налуу зураасаар тусгаарлагдсан ICMP мэдэгдэл болон дэд мэдэгдлийн төрөл, жишээлбэл портод хандаж чадсангүй гэсэн мэдэгдлийн хувьд ICMP 3/3 байна. Симбол орлуулалттай скриптийг үүсгэх нь Зарим туршлагатай IPF хэрэглэгчид дүрмүүдийг агуулсан файл үүсгээд түүнийгээ симбол орлуулалттай скрипт байдлаар ажиллуулах боломжтой болгон бичдэг. Үүний гол давуу тал нь та зөвхөн симбол нэрд харгалзах утгыг өөрчилбөл, скриптийг ажиллуулахад уг симбол орлуулалт орсон дүрэм бүр шинэ утгыг авах болно. Скриптийн хувьд, олон дахин хэрэглэгддэг утгуудыг бичихэд симбол орлуулалтыг ашиглаж, тэдгээрийг олон дүрмэнд орлуулж өгнө гэсэн үг юм. Дараах жишээн дээрээс харна уу. Энд хэрэглэгдсэн скриптийн синтакс нь sh, csh, ба tcsh бүрхүүл дээр ажиллах боломжтой. Симбол орлуулалтын талбарууд нь урдаа долларын тэмдэгтэй байна: $. Симбол талбарууд нь $ тэмдэг урдаа байхгүй. Симбол талбарыг орлох утга нь давхар хашилтан(") дотор байрлана. Дүрмийн файлаа дараах байдалтай үүсгэж эхлэх хэрэгтэй: ############# Start of IPF rules script ######################## oif="dc0" # name of the outbound interface odns="192.0.2.11" # ISP's DNS server IP address myip="192.0.2.7" # my static IP address from ISP ks="keep state" fks="flags S keep state" # You can choose between building /etc/ipf.rules file # from this script or running this script "as is". # # Uncomment only one line and comment out another. # # 1) This can be used for building /etc/ipf.rules: #cat > /etc/ipf.rules << EOF # # 2) This can be used to run script "as is": /sbin/ipf -Fa -f - << EOF # Allow out access to my ISP's Domain name server. pass out quick on $oif proto tcp from any to $odns port = 53 $fks pass out quick on $oif proto udp from any to $odns port = 53 $ks # Allow out non-secure standard www function pass out quick on $oif proto tcp from $myip to any port = 80 $fks # Allow out secure www function https over TLS SSL pass out quick on $oif proto tcp from $myip to any port = 443 $fks EOF ################## End of IPF rules script ######################## Байх ёстой бүх зүйлс бүгд байна. Энэ жишээн дээр дүрмүүд чухал биш, харин симбол орлуулалт хэрхэн ажилладгыг харуулсан байна. Хэрэв дээрх жишээ /etc/ipf.rules.script нэртэй файл дотор байсан бол, эдгээр дүрмүүдийг дараах тушаалыг өгч дахин ачаалах боломжтой: &prompt.root; sh /etc/ipf.rules.script Суулгагдсан симболтой дүрмийн файлыг хэрэглэхэд нэг асуудал тулгардаг: IPF симбол орлуулалтыг ойлгохгүй, ийм скриптийг шууд уншиж чаддаггүй. Дараах скриптийг хоёр аргын нэгээр хэрэглэж болно: cat-р эхэлсэн мөрийг ил гарга, харин /sbin/ipf-р эхэлсэн мөрүүдийг далдал. ipfilter_enable="YES"/etc/rc.conf файл дотор байрлуул, дараа нь өөрчлөлт бүрийн дараа скриптийг ажиллуулан /etc/ipf.rules файлыг үүсгэ эсвэл өөрчлөлт оруул. /etc/rc.conf файл дотор ipfilter_enable="NO" (энэ анхдагч утга) мөрийг нэмэн системийн эхлэл скриптэд IPFILTER-г идэвхгүй болго. Дээрхтэй адил скриптийг өөрийн /usr/local/etc/rc.d/ эхлэл хавтаст байрлуул. Энэ скрипт ipf.loadrules.sh ч юм уу ойлгомжтой нэртэй байх ёстой. .sh гэсэн өргөтгөлтэй байх ёстой. #!/bin/sh sh /etc/ipf.rules.script Энэ скриптийн эрхүүд эзэмшигч root-н хувьд унших, бичих, ажиллах эрхтэй байх ёстой. &prompt.root; chmod 700 /usr/local/etc/rc.d/ipf.loadrules.sh Одоо систем ачаалсны дараа таны IPF дүрмүүд ачаалагдсан байх болно. IPF Дүрмүүдийн олонлог Пакет дотор агуулагдаж байгаа утгуудыг үндэслэн тухайн пакетийг нэвтрүүлэх болон хаахыг хэлж байгаа дүрмүүдийг дүрмийн олонлог гэнэ. Хостуудын хоорондох хоёр чиглэлтэй пакет солилцоо нь сесс харилцааг бүрдүүлнэ. галт ханын дүрмийн олонлогоор пакет хоёр дахин шүүгдэнэ, эхний удаа Интернэтээс пакетийг хүлээн авахад, дараагийн удаа буцаж Интернэт рүү гарч явахад. Бүх TCP/IP үйлчилгээнүүдийн хувьд (жишээ нь: telnet, www, mail, г.м.) ямар протоколоор ажиллах болон эхлэл ба очих IP хаяг, эхлэл ба очих порт хаяг зэргийг урьдаас тодорхойлж өгсөн байдаг. Эдгээр үзүүлэлтүүд дээр үндэслэн нэвтрүүлэх болох хаах дүрмүүдийг зохиодог. IPFILTER Дүрмүүдтэй ажиллах дэс дараалал IPF-г анх зохиохдоо сүүлд тохирсон дүрэм дийлнэ логикийн дагуу бүтээсэн ба зөвхөн төлөвт-бус дүрмүүдийг ашигладаг байлаа. Цаг хугацаа өнгөрөхөд IPF илүү хөгжиж, quick тохируулга болон төлөвт keep state тохируулгуудыг агуулах болсон нь орчин үеийн хэрэгцээ шаардлагад илүү нийцэх болжээ. Энэ бүлэгт байгаа зааврууд нь quick болон төлөвт keep state тохируулгуудыг агуулсан дүрмүүдээс үндсэндээ бүрдсэн байгаа. Энэ бол хамааруулсан галт ханын дүрмүүдийг бичих үндсэн арга барил юм. Хамааруулсан галт хана нь зөвхөн дүрмэнд тохирсон пакетуудыг нэвтрүүлнэ. Ийм маягаар галт ханын цаанаас Интернэт уруу ямар ямар үйлчилгээнүүд гарч болох болон эсрэгээр Интернэтээс дотоод сүлжээ уруу ямар ямар үйлчилгээнүүд хандаж болохыг удирдах боломжтой. Эдгээрээс бусад бүх урсгалыг хааж, бүртгэдэг байхаар зохиогдсон байдаг. Хамааруулсан галт хана нь хамааруулаагүй галт ханаас аюулгүй байдлын хувьд хэд дахин илүү, тиймээс энд бид зөвхөн хамааруулсан галт ханын дүрмүүдийн талаар ярилцах болно. Галт ханын дүрмүүдтэй ажиллахдаа маш анхааралтай байх хэрэгтэй. Зарим тохиргоо серверээс бүх холбоог тань тасалж мэднэ. Ийм аюулаас хол байхын тулд, галт ханын тохиргоог анхлан хийхдээ ssh зэрэг алсын хандалтаас илүүтэйгээр ойрын удирдлагыг сонгоорой. Дүрмийн синтакс IPFILTER дүрмийн синтакс Энд дурдах дүрмийн синтакс нь орчин үеийн төлөвт дүрмүүдийн хүрээнд, сүүлд тохирсон дүрэм дийлнэ логикоор ажиллахаар хялбаршуулан бичигдсэн байгаа. Хуучин уламжлалт дүрмүүдийн синтаксын бүрэн тайлбарыг &man.ipf.8; заавар хуудаснаас үзнэ үү. # гэсэн тэмдэгт тайлбарын эхлэлийг заах ба дүрэм бичсэн мөрийн төгсгөлд эсвэл өөрөө бүтэн мөр байдлаар байрлана. Хоосон мөрийг тооцохгүй. Дүрмүүд нь түлхүүр үгүүдийг агуулна. Эдгээр түлхүүр үгүүд нь тухайн мөрөнд зүүнээс баруун тийш тодорхой дэс дараагаар бичигдэнэ. Түлхүүр үгүүд тодоор бичигдэх тул түүгээр нь ялгаж танина. Зарим түлхүүр үгүүд дэд-тохируулгатай байна. Тэр нь өөрөө түлхүүр үг байж болохоос гадна цааш дэд-тохируулгуудыг агуулсан байж болно. Доорх синтаксын үг бүр нь дор байрлах мөрүүдэд задаргааны хамт байгаа. ACTION IN-OUT OPTIONS SELECTION STATEFUL PROTO SRC_ADDR,DST_ADDR OBJECT PORT_NUM TCP_FLAG STATEFUL ACTION = block | pass IN-OUT = in | out OPTIONS = log | quick | on interface-name SELECTION = proto value | source/destination IP | port = number | flags flag-value PROTO = tcp/udp | udp | tcp | icmp SRC_ADD,DST_ADDR = all | from object to object OBJECT = IP address | any PORT_NUM = port number TCP_FLAG = S STATEFUL = keep state ACTION Тухайн дүрмэнд тохирч байгаа пакетийг хэрхэхийг action буюу үйлдэл зааж өгнө. Бүх дүрэм үйлдэлтэй байх ёстой. Дараах үйлдлүүдийг хэрэглэж болно: block гэдэг нь пакеттай selection буюу сонголтын параметрүүд тохирч байвал тухайн пакетийг орхигдуулахыг зааж өгнө. pass гэдэг нь пакеттай selection буюу сонголтын параметрүүд тохирч байвал тухайн пакетийг нэвтрүүлэхийг зааж өгнө. IN-OUT Дүрэм нь орох болон гарах урсгалын алинд үйлчлэхийг заавал зааж өгөх ёстой. Энэ нь in эсвэл out түлхүүр үгийн аль нэг нь заавал бичигдсэн байх ёстой гэсэн үг юм. Үгүй бол синтаксын алдаа өгч, танигдахгүй. in гэдэг нь Интернэт уруу харж байгаа интерфэйс дээр хүлээж авсан дотогшоо ирж байгаа пакетийн хувьд энэ дүрэм үйлчлэхийг зааж өгнө. out гэдэг нь Интернэт уруу харж байгаа интерфэйс уруу чиглэсэн гадагшаа явж байгаа пакетийн хувьд энэ дүрэм үйлчлэхийг зааж өгнө. OPTIONS Эдгээр options буюу тохируулгуудыг энд үзүүлсэн дэс дарааллын дагуу хэрэглэх ёстой. log гэдэг нь пакеттай selection буюу сонголтын параметрүүд тохирч байвал пакетийн толгой ipl бүртгэл уруу (дор Бүртгэл Хөтлөх хэсэгт заасны дагуу) бичигдэхийг зааж өгнө. quick гэдэг нь пакеттай selection буюу сонголтын параметрүүд тохирч байвал энэ дүрэм нь хамгийн сүүлийн дүрэм болохыг зааж өгнө. Ингэснээр short-circuit замыг тухайн пакетийн хувьд дараагийн дүрмүүдийг шалгахыг болиулна. Орчин үеийн дүрэмтэй ажиллах логикийн хувьд энэ тохируулгыг заавал хэрэглэнэ. on гэдэг нь selection буюу сонголтын параметрүүдийн ажиллах интерфэйсийг зааж өгнө. Интерфэйсүүдийн нэрийг &man.ifconfig.8;-н тусламжтай харж болно. Энэ тохируулгыг хэрэглэснээр, тухайн дүрэм зөвхөн энэ интерфэйсээр зохих чиглэлд(in/out) явж байгаа пакетийн хувьд үйлчилнэ. Орчин үеийн дүрэмтэй ажиллах логикийн хувьд энэ тохируулгыг заавал хэрэглэнэ. пакетийг бүртгэхэд, түүний толгойг IPL пакет бүртгэх хуурамч-төхөөрөмж уруу бичнэ. log түлхүүр үгийн дараа шууд залгаад, дараах тодотгогчдыг(дараах дэс дарааллаар) хэрэглэж болно: body гэдэг нь пакетийн толгойн дараа пакетийн агуулгын эхний 128 байтыг бүртгэхийг зааж өгнө. first Хэрэв log түлхүүр үг keep state тохируулгын хамт хэрэглэгдсэн бол, түүний араас ирэх keep state-д тохирч байгаа бүх пакетийг биш зөвхөн энэ тохируулгыг идэвхжүүлсэн эхний пакетийг бүртгэхийн тулд энэ тохируулгыг хэрэглэнэ. SELECTION Энэ бүлэгт танилцуулж байгаа түлхүүр үгүүд тухайн пакетийг дүрмэнд тохирсон эсэхийг тогтоохын тулд шалгадаг пакетийн онцлогийг тодорхойлоход хэрэглэгддэг. Мөн subject түлхүүр үг байх ба дэд-тохируулга түлхүүр үгийн аль нэгийг сонгон хэрэглэнэ. Дараах ерөнхий онцлогуудыг хэрэглэх боломжтой, гэхдээ доорх дэс дарааллаар хэрэглэх хэрэгтэй: PROTO proto гэдэг нь subject түлхүүр үг бөгөөд өөрийн харгалзах дэд-тохируулгын хамт хэрэглэгдэх ёстой. Утга нь ямар протокол дээр ажиллахыг хэлж өгнө. Орчин үеийн дүрэмтэй ажиллах логикийн хувьд энэ тохируулгыг заавал хэрэглэнэ. tcp/udp | udp | tcp | icmp эсвэл /etc/protocols файл дотор байгаа протоколуудыг хэрэглэж болно. Тусгай tcp/udp гэсэн түлхүүр үг TCP эсвэл UDP пакетийг сонгоход хэрэглэгддэг ба, давхар эсвэл төстэй дүрмүүдийг арилгах үүднээс нэмэгдсэн байгаа. SRC_ADDR/DST_ADDR all гэсэн түлхүүр үг нь өөр ямар ч параметргүй from any to any гэдэгтэй адил юм. from src to dst: from ба to гэсэн түлхүүр үгүүд IP хаягийг шүүхэд хэрэглэгдэнэ. Дүрэмд хэрэглэхдээ эхлэл ба очих параметрийг ХОЁУЛАНГ зааж өгөх ёстой. any гэсэн тусгай түлхүүр үгийн тусламжтай бүх IP хаягийг зөвшөөрч өгч болно. Хэрэглэх жишээ: from any to any эсвэл from 0.0.0.0/0 to any эсвэл from any to 0.0.0.0/0 эсвэл from 0.0.0.0 to any эсвэл from any to 0.0.0.0. IP хаягийг цэгтэй тоон хэлбэр болон багийн хамт эсвэл зүгээр цэгтэй тоон хэлбэрээр бичиж болно. Багаар хялбархан илэрхийлэх боломжгүй IP хаягуудыг хэрэглэх боломжгүй. Баг бичих талаар тусламжийг дараах вэб хуудсаар орж үзнэ үү: . PORT Хэрэв эхлэл эсвэл очих порт, эсвэл хоёулангаар нь тохируулах бол энэ нь зөвхөн TCP ба UDP пакетуудад хамаарна. Порт жишсэн дүрэм бичихдээ /etc/services файл доторх үйлчилгээний нэр эсвэл бүхэл тоон портын дугаарыг хэрэглэнэ. Портыг from обьекттой хамт хэрэглэх үед энэ нь эхлэл портын дугаарыг, to обьекттой хамт хэрэглэх үед энэ нь очих портын дугаарыг заана. Орчин үеийн дүрэмтэй ажиллах логикийн хувьд port тохиргоог to обьекттой заавал хамт хэрэглэнэ. Хэрэглэх жишээ: from any to any port = 80 Портыг жиших оператороор эсвэл порт зурвасыг зааж өгөх зэргээр хэд хэдэн янзаар жишиж болно. port "=" | "!=" | "<" | ">" | "<=" | ">=" | "eq" | "ne" | "lt" | "gt" | "le" | "ge". Порт зурвасыг зааж өгөхдөө, port "<>" | "><" гэж хэрэглэнэ. Орчин үеийн дүрэмтэй ажиллах логикийн хувьд эхлэл болон очих порт тохируулах параметрүүдийн дараа, дараах хоёр параметрийг заавал хэрэглэнэ. <acronym>TCP</acronym>_FLAG Тугуудыг зөвхөн TCP шүүлтийн үед хэрэглэнэ. Үсгүүдээр нь TCP пакетийн толгойтойг шалгах боломжит тугуудыг үзүүлсэн байна. Орчин үеийн дүрэмтэй ажиллах логик нь flags S параметрийг tcp сесс эхлүүлэх хүсэлтийг тэмдэглэхдээ хэрэглэдэг. STATEFUL keep state гэдэг нь нэвтрүүлэх төрлийн дүрмийн хувьд сонгох параметрүүдтэй тохирсан ямар ч пакет төлөвт шүүх нэмэлт боломжийг идэвхжүүлэх ёстойг зааж өгнө. Орчин үеийн дүрэмтэй ажиллах логикийн хувьд энэ тохируулгыг заавал хэрэглэнэ. Төлөвт шүүлт IPFILTER төлөвт шүүлт Хостуудын хоорондох хоёр чиглэлтэй пакет солилцоо сесс харилцаанаас бүрддэг. Төлөвт шүүлт нь урсгалыг сесс харилцаанаас бүрдэж буй хоёр чиглэлтэй пакет солилцоо гэж үздэг. keep-state-г идэвхжүүлсэн үед, keep-state нь хоёр чиглэлтэй сесс харилцааны үед солилцсон бүх пакетуудын хувьд дотоод дүрмүүдийг динамик байдлаар үүсгэдэг. Мөн энэ нь сесс эхлүүлсэн болон хүлээн авсан хостуудын хоорондох сесс харилцаа нь хоёр чиглэлтэй пакет солилцох процедуртай зохицож байгаа эсэхийг магадлах чадвартай байдаг. Сесс харилцааны загварт зохицоогүй пакетийг хуурамч гэж үзэн хүлээж авахгүй. TCP эсвэл UDP сесстэй холбоотой ICMP пакетуудыг keep state нэвтрүүлнэ. Тэгэхээр, keep state дүрмээр зөвшөөрөгдсөн вэбээр хийх аялалын хариуд ICMP type 3 code 4 хариуг хүлээн авбал галт хана үүнийг автоматаар нэвтрүүлнэ гэсэн үг юм. Хэрэв IPF хүлээн авсан пакетийг идэвхтэй байгаа сессийн нэг хэсэг гэж баттай итгэж байвал, өөр протокол дээр байсан ч пакетийг нэвтрүүлнэ. Үүний цаана юу болох вэ гэвэл: Интернэт уруу холбогдсон интерфэйсээр гарч байгаа пакетуудыг хамгийн түрүүнд динамик төлвийн хүснэгтэнд шалгана. Хэрэв тухайн пакет ямар нэг идэвхтэй байгаа сесс харилцаанд оролцож байгаа зөвшөөрөгдсөн дараагийн пакет байх юм бол, галт ханаар нэвтрүүлэх ба динамик төлвийн хүснэгтэн дэх сесс харилцааны төлөв шинэчлэгдэнэ. Үлдсэн пакетуудыг гадагшаа урсгалын дүрмээр шалгах болно. Интернэт уруу холбогдсон интерфэйс дээр ирж байгаа пакетуудыг хамгийн түрүүнд динамик төлвийн хүснэгтэнд шалгана. Хэрэв тухайн пакет ямар нэг идэвхтэй байгаа сесс харилцаанд оролцож байгаа зөвшөөрөгдсөн дараагийн пакет байх юм бол, галт ханаар нэвтрүүлэх ба динамик төлвийн хүснэгтэн дэх сесс харилцааны төлөв шинэчлэгдэнэ. Үлдсэн пакетуудыг дотогшоо урсгалын дүрмээр шалгах болно. Харилцаа дуусахад динамик төлвийн хүснэгтээс зохих бичлэг устгагдана. Төлөвт шүүлтийн тусламжтайгаар та шинэ сесс зөвшөөрөх/хаах үйл ажиллагаан дээр төвлөрч ажиллаж чадна. Хэрэв шинэ сесс зөвшөөрөгдсөн бол түүний дараагийн бүх пакетуудыг автоматаар нэвтрүүлэх ба хуурамч пакетууд автоматаар буцаагдана. Хэрэв шинэ сесс хаагдсан бол түүний дараагийн ямар ч пакет нэвтэрч чадахгүй. Төлөвт шүүлт нь сүүлийн үеийн халдлагуудад ашиглагдаж байгаа аргуудын эсрэг хамгаалах чадвартай техникийн хувьд өндөр түвшний асуулга явуулах чадвартай юм. Хамааруулсан дүрмийн олонлогийн жишээ Дараах дүрмийн олонлог нь аюулгүй байдлыг маш сайн хангасан, хамааруулсан галт ханын дүрмүүдийг хэрхэн бичих жишээ юм. Хамааруулсан галт хана нь зөвхөн pass дүрмүүдэд тохирсон үйлчилгээг зөвшөөрч, бусдыг бүгдийг хаана. Бүх галт хананууд хамгийн багадаа хоёр интерфэйстэй байх ба галт хана маягаар ажиллахын тулд дүрмүүдийг тусгайлан зааж өгсөн байна. &os;-г оролцуулаад бүх &unix; төрлийн систем нь үйлдлийн систем дэх дотоод харилцаандаа lo0 интерфэйс болон 127.0.0.1 гэсэн IP хаягийг хэрэглэхээр бүтээгдсэн байдаг. Галт ханын дүрмүүд нь дотооддоо хэрэглэж байгаа эдгээр пакетуудыг чөлөөтэй нэвтрүүлэх дүрмүүдийг агуулсан байх ёстой. Интернэттэй холбогдож байгаа интерфэйс дээр та өөрийн Интернэт уруу гарч байгаа болон Интернэтээс ирж байгаа хандалтыг удирдах болон хянах дүрмүүдийг байрлуулна. Энэ нь таны PPP tun0 интерфэйс эсвэл таны DSL эсвэл кабель модемд холбогдсон NIC байж болно. Галт ханын цаана байгаа хувийн LAN-уудад нэг болон түүнээс дээш тооны NIC-ууд холбогдсон тохиолдолд, тэдгээр интерфэйсүүдийн хувьд тэдгээр LAN интерфэйсүүдээс ирсэн пакетуудыг чөлөөтэй нэвтрүүлэх дүрмийг агуулсан байх ёстой. Дүрмүүд эхлээд гурван үндсэн хэсэгт хуваагдан зохион байгуулагдсан байх ёстой: бүх чөлөөт халдашгүй интерфэйсүүд, нийтийн гадагшаа интерфэйс, ба нийтийн дотогшоо интерфэйс. Нийтийн интерфэйс хэсэгт байгаа дүрмүүд тухайн интерфэйс болон чиглэлийн хувьд хамгийн олон тохиолддог дүрмүүд нь хамгийн түрүүнд, цөөн тохиолддог дүрмүүдээс өмнө байхаар, хаах болох бүртгэх дүрмүүд нь хамгийн сүүлд байхаар бичигдсэн байна. Дараах жишээн дээрх Гадагшаа хэсэг нь Интернэт хандалтыг зөвшөөрч өгөх үйлчилгээг тодорхойлох сонголтын утгуудыг агуулсан зөвхөн 'pass' дүрмүүдээс бүрдэж байна. Бүх дүрмүүд 'quick', 'on', 'proto', 'port', ба 'keep state' тохируулгуудыг агуулсан байгаа. 'proto tcp' дүрмүүд нь төлөвт байдлыг идэвхжүүлж байгаа пакетийг тодорхойлох байдлаар, сесс эхлүүлэх хүсэлтийг тодорхойлох зорилгоор 'flag' тохируулгыг агуулсан байна. Дотогшоо хэсэгт эхлээд хүсээгүй пакетуудыг хаах дүрмүүдийг бичсэн байна. Энэ нь хоёр өөр шалтгаантай. Эхнийх нь, энэ дүрмүүдээр хаагдсан зүйлс нь доор байгаа өөр нэг дүрмээр зөвшөөрөгдсөн пакетийн нэг хэсэг байж болох талтай. Хоёр дахь шалтгаан нь, цөөхөн тоотой хүлээж авдаг ба бүртгэх хүсэлгүй байгаа пакетуудыг сонгон, тэдгээрийг бүрнээр хаах дүрмийг эхлээд бичиж өгснөөр эдгээр пакетууд хамгийн сүүлд байгаа ямар ч дүрмүүдэд тохироогүй пакетуудыг бүртгээд хаана гэсэн дүрмээр дайрахгүй болгож байгаа юм. Учир нь энэ хэсгийн хамгийн сүүлд байгаа бүгдийг бүртгээд хаана гэсэн дүрэм бол өөрийн систем уруу халдаж байгаа халдлагын нотолгоог цуглуулах таны нэг арга билээ. Өөр нэг тэмдэглэн хэлэх зүйл бол, хүсээгүй пакетуудын хариуд ямар ч хариу явуулахгүй, тэд зүгээр л орхигдож алга болно. Ингэснээр халдлага явуулагч түүний явуулсан пакетууд таны системд хүрсэн эсэх талаар юу ч мэдэхгүй үлдэх болно. Таны системийн талаар хэдий хэр бага мэднэ, тэд ямар нэг муу зүйл хийж чадах хүртэл төдий чинээ урт хугацаа зарцуулна гэсэн үг юм. Дотогшоо 'nmap OS fingerprint' оролдлогын эхний тохиолдлыг би бүртгэж байгаа, яагаад гэвэл энэ бол гадны халдлагын нэг хэлбэр юм. 'log first' орсон дүрмийн хувьд та анхны бүртгэлийг харах юм бол ipfstat -hio тушаалаар энэ дүрэм хэдэн удаа тохирсон байгааг шалгаарай. Магадгүй та халдлагад өртөж байж болох юм. Хэрвээ мэдэхгүй дугаартай портын хувьд пакетууд бүртгэгдсэн байвал /etc/services файлаас эсвэл хаягаар тухайн порт ямар зориулалтаар ашиглагддагийг орж шалгаарай. Троянуудын хэрэглэдэг портын дугааруудыг хаягаар орж шалгаарай. Дараах дүрмийн олонлог нь миний өөрийн систем дээрээ хэрэглэдэг аюулгүй байдлыг бүрэн хангасан хамааруулсан галт ханын дүрмийн олонлог байгаа юм. Та энэ дүрмүүдийг өөрийн системдээ ашиглахад буруудах юмгүй. Зөвшөөрөхийг хүсэхгүй байгаа үйлчилгээнүүдийн хувьд харгалзах нэвтрүүлэх дүрмийг далдлаарай. Хэрэв бүртгэлд байгаа зарим мэдэгдлийг дахин харахыг хүсэхгүй, бүртгэхийг хүсэхгүй байгаа бол дотогшоо хэсэгт хаах дүрэм нэмж бичээрэй. Дүрэм бүрт байгаа dc0 гэсэн интерфэйсийн нэрийн оронд таны системийг Интернэт уруу холбож байгаа NIC картны интерфэйсийн нэрийг сольж тавиарай. Хэрэглэгчийн PPP-н хувьд, энэ нь tun0 байна. Дараах илэрхийллүүдийг /etc/ipf.rules дотор бичих хэрэгтэй: ################################################################# # No restrictions on Inside LAN Interface for private network # Not needed unless you have LAN ################################################################# #pass out quick on xl0 all #pass in quick on xl0 all ################################################################# # No restrictions on Loopback Interface ################################################################# pass in quick on lo0 all pass out quick on lo0 all ################################################################# # Interface facing Public Internet (Outbound Section) # Interrogate session start requests originating from behind the # firewall on the private network # or from this gateway server destine for the public Internet. ################################################################# # Allow out access to my ISP's Domain name server. # xxx must be the IP address of your ISP's DNS. # Dup these lines if your ISP has more than one DNS server # Get the IP addresses from /etc/resolv.conf file pass out quick on dc0 proto tcp from any to xxx port = 53 flags S keep state pass out quick on dc0 proto udp from any to xxx port = 53 keep state # Allow out access to my ISP's DHCP server for cable or DSL networks. # This rule is not needed for 'user ppp' type connection to the # public Internet, so you can delete this whole group. # Use the following rule and check log for IP address. # Then put IP address in commented out rule & delete first rule pass out log quick on dc0 proto udp from any to any port = 67 keep state #pass out quick on dc0 proto udp from any to z.z.z.z port = 67 keep state # Allow out non-secure standard www function pass out quick on dc0 proto tcp from any to any port = 80 flags S keep state # Allow out secure www function https over TLS SSL pass out quick on dc0 proto tcp from any to any port = 443 flags S keep state # Allow out send & get email function pass out quick on dc0 proto tcp from any to any port = 110 flags S keep state pass out quick on dc0 proto tcp from any to any port = 25 flags S keep state # Allow out Time pass out quick on dc0 proto tcp from any to any port = 37 flags S keep state # Allow out nntp news pass out quick on dc0 proto tcp from any to any port = 119 flags S keep state # Allow out gateway & LAN users non-secure FTP ( both passive & active modes) # This function uses the IPNAT built in FTP proxy function coded in # the nat rules file to make this single rule function correctly. # If you want to use the pkg_add command to install application packages # on your gateway system you need this rule. pass out quick on dc0 proto tcp from any to any port = 21 flags S keep state # Allow out secure FTP, Telnet, and SCP # This function is using SSH (secure shell) pass out quick on dc0 proto tcp from any to any port = 22 flags S keep state # Allow out non-secure Telnet pass out quick on dc0 proto tcp from any to any port = 23 flags S keep state # Allow out FBSD CVSUP function pass out quick on dc0 proto tcp from any to any port = 5999 flags S keep state # Allow out ping to public Internet pass out quick on dc0 proto icmp from any to any icmp-type 8 keep state # Allow out whois for LAN PC to public Internet pass out quick on dc0 proto tcp from any to any port = 43 flags S keep state # Block and log only the first occurrence of everything # else that's trying to get out. # This rule enforces the block all by default logic. block out log first quick on dc0 all ################################################################# # Interface facing Public Internet (Inbound Section) # Interrogate packets originating from the public Internet # destine for this gateway server or the private network. ################################################################# # Block all inbound traffic from non-routable or reserved address spaces block in quick on dc0 from 192.168.0.0/16 to any #RFC 1918 private IP block in quick on dc0 from 172.16.0.0/12 to any #RFC 1918 private IP block in quick on dc0 from 10.0.0.0/8 to any #RFC 1918 private IP block in quick on dc0 from 127.0.0.0/8 to any #loopback block in quick on dc0 from 0.0.0.0/8 to any #loopback block in quick on dc0 from 169.254.0.0/16 to any #DHCP auto-config block in quick on dc0 from 192.0.2.0/24 to any #reserved for docs block in quick on dc0 from 204.152.64.0/23 to any #Sun cluster interconnect block in quick on dc0 from 224.0.0.0/3 to any #Class D & E multicast ##### Block a bunch of different nasty things. ############ # That I do not want to see in the log # Block frags block in quick on dc0 all with frags # Block short tcp packets block in quick on dc0 proto tcp all with short # block source routed packets block in quick on dc0 all with opt lsrr block in quick on dc0 all with opt ssrr # Block nmap OS fingerprint attempts # Log first occurrence of these so I can get their IP address block in log first quick on dc0 proto tcp from any to any flags FUP # Block anything with special options block in quick on dc0 all with ipopts # Block public pings block in quick on dc0 proto icmp all icmp-type 8 # Block ident block in quick on dc0 proto tcp from any to any port = 113 # Block all Netbios service. 137=name, 138=datagram, 139=session # Netbios is MS/Windows sharing services. # Block MS/Windows hosts2 name server requests 81 block in log first quick on dc0 proto tcp/udp from any to any port = 137 block in log first quick on dc0 proto tcp/udp from any to any port = 138 block in log first quick on dc0 proto tcp/udp from any to any port = 139 block in log first quick on dc0 proto tcp/udp from any to any port = 81 # Allow traffic in from ISP's DHCP server. This rule must contain # the IP address of your ISP's DHCP server as it's the only # authorized source to send this packet type. Only necessary for # cable or DSL configurations. This rule is not needed for # 'user ppp' type connection to the public Internet. # This is the same IP address you captured and # used in the outbound section. pass in quick on dc0 proto udp from z.z.z.z to any port = 68 keep state # Allow in standard www function because I have apache server pass in quick on dc0 proto tcp from any to any port = 80 flags S keep state # Allow in non-secure Telnet session from public Internet # labeled non-secure because ID/PW passed over public Internet as clear text. # Delete this sample group if you do not have telnet server enabled. #pass in quick on dc0 proto tcp from any to any port = 23 flags S keep state # Allow in secure FTP, Telnet, and SCP from public Internet # This function is using SSH (secure shell) pass in quick on dc0 proto tcp from any to any port = 22 flags S keep state # Block and log only first occurrence of all remaining traffic # coming into the firewall. The logging of only the first # occurrence stops a .denial of service. attack targeted # at filling up your log file space. # This rule enforces the block all by default logic. block in log first quick on dc0 all ################### End of rules file ##################################### <acronym>NAT</acronym> NAT IP маскарад NAT сүлжээний хаягийн хөрвүүлэлт NAT NAT нь Network Address Translation буюу Сүлжээний хаягийн Хөрвүүлэлтийн товчлол юм. &linux;-н талаар ойлголттой хүмүүсийн хувьд, энэ ойлголтыг IP маскарад гэж нэрлэдэг; NAT ба IP маскарад нь нэг зүйл юм. IPF NAT-н бидэнд олгож байгаа олон зүйлүүдийн нэг бол галт ханын цаана байгаа Local Area Network буюу Ойрын Зайн Сүлжээ(LAN)-н хувьд ISP-с оноож өгсөн ганц IP хаягийг Интернэтэд хуваан хэрэглэх юм. Ингэх ямар шаардлага байнаа гэж та гайхан асуух байх. ISP-ууд өөрийн ашгийн-бус хэрэглэгчиддээ ихэвчлэн динамик IP хаяг оноодог. Динамик гэдэг нь таныг ISP руу залган нэвтрэн орох болгонд, кабель эсвэл DSL модемтой хэрэглэгчдийн хувьд модемоо асааж унтраах болгонд танд өөр өөр IP хаяг онооно гэсэн үг юм. Энэ IP хаягаар та Интернэтэд гарах болно. Та гэртээ таван PC-тэй бөгөөд бүгд Интернэт уруу гардаг байх хэрэгтэй гэж бодъё. Тэгвэл та PC тус бүрт тусад нь эрх худалдан авч, таван утасны үзүүртэй байх хэрэгтэй болно. Тэгвэл NAT-н тусламжтай та ISP-гаасаа зөвхөн ганцхан эрх худалдан аваад, бусад дөрвөн PC-гээ switch буюу шилжүүлэгч уруу холбож, харин switch-ээ таны LAN-нд гарц байдлаар ажиллах &os; системийн NIC руу залгана. NAT нь LAN-д байгаа бүх PC-ны хувьд хувийн IP хаягийг ганцхан гадаад IP хаяг уруу автоматаар хөрвүүлэх болно. NAT нь эргэж ирж байгаа пакетуудын хувьд эсрэг хөрвүүлэлтийг мөн хийнэ. Ихэнх тохиолдолд NAT-г ISP-н зөвшөөрөлгүйгээр, мэдэгдэлгүйгээр хийдэг бөгөөд хэрэв ISP энэ тухайн мэдвэл таны эрхийг хаах хүртэл арга хэмжээ авдаг. Зүй нь бол хэрэглэгчид Интернэт холболтондоо илүү мөнгө төлж, хэзээ ч өөрчлөгдөхгүй бүлэг статик IP хаягийг авах явдал юм. ISP харин хэрэглэгчиддээ итгэл хүлээлгэн хэрэглэгчид нь NAT-г дотоод хувийн LAN-даа хэрэглэнэ гэж боддог. NAT хийгдсэн хувийн LAN IP хаягт зориулж бүлэг IP хаягийг тусгайлан гаргасан байдаг. RFC 1918 стандартад зааснаар бол, дараах бүлэг IP-г хувийн сүлжээндээ ашиглах боломжтой, эдгээр IP хэзээ ч гадаад Интернэт уруу гарахгүй болно: Эхлэх IP 10.0.0.0 - Төгсөх IP 10.255.255.255 Эхлэх IP 172.16.0.0 - Төгсөх IP 172.31.255.255 Эхлэх IP 192.168.0.0 - Төгсөх IP 192.168.255.255 IP<acronym>NAT</acronym> NAT ба IPFILTER ipnat NAT дүрмүүдийг ipnat тушаалын тусламжтай ачаална. Ихэвчлэн NAT дүрмүүд /etc/ipnat.rules файл дотор байрлана. Дэлгэрэнгүйг &man.ipnat.1; хэсгээс үзнэ үү. NAT ажиллаж эхэлсний дараа NAT дүрмүүдэд өөрчлөлт оруулах шаардлагатай бол NAT дүрмүүд байгаа файл дотор өөрчлөлтийг хийсний дараа, одоо хэрэглэгдэж байгаа NAT дүрмүүдийг устгаж, хөрвүүлэгч хүснэгтийг цэвэрлэхийн тулд ipnat тушаалыг тугийн хамт ажиллуулах хэрэгтэй. Харин NAT дүрмүүдийг дахин ачаалахдаа тушаалыг дараах байдалтай өгөх хэрэгтэй: &prompt.root; ipnat -CF -f /etc/ipnat.rules NAT-н талаар зарим статистикийг харъя гэвэл дараах тушаалыг ашиглана: &prompt.root; ipnat -s NAT хүснэгтийн одоо ашиглаж байгаа оноолтын жагсаалтыг харахын тулд дараах тушаалыг ашиглана: &prompt.root; ipnat -l Вербос буюу хэр зэрэг харуулах горимыг нээхийн тулд, дүрэмтэй ажиллах болон идэвхтэй байгаа дүрмүүдийн хүснэгтийг харахын тулд: &prompt.root; ipnat -v IP<acronym>NAT</acronym> Дүрмүүд NAT дүрмүүд нь маш уян хатан бөгөөд хэрэглэгчдийн хэрэгцээг хангах олон зүйлүүдийг хийж чадна. Энд үзүүлсэн дүрмийн синтаксыг ашгийн-бус орчинд ихэвчлэн хэрэглэгддэг дүрмүүдэд зориулан хялбаршуулсан байгаа. Дүрмийн синтаксын бүрэн тайлбарыг &man.ipnat.5; заавар хуудаснаас үзнэ үү. NAT дүрмийн синтакс дараах байдалтай байна: map IF LAN_IP_RANGE -> PUBLIC_ADDRESS Дүрэм нь map гэсэн түлхүүр үгээр эхэлнэ. IF-г гадаад интерфэйсээр сольж тавьна. LAN_IP_RANGE нь танай дотоод хэрэглэгчийн хэрэглэж буй IP хаяглалтыг заана, ихэвчлэн 192.168.1.0/24 гэсэн маягтай байна. PUBLIC_ADDRESS нь гадаад IP байж болно эсвэл IF-д оноосон IP хаягийг хэрэглэхийг заасан 0/32 гэсэн тусгай түлхүүр үг байж болно. <acronym>NAT</acronym> хэрхэн ажилладаг вэ Гадаад очих хаягтай пакет галт хана дээр LAN-с хүрэлцэн ирнэ. Эхлээд гадагшаа шүүлтийн дүрмүүдээр гарна, дараа нь NAT-н ээлж ирэх ба өөрийн дүрмүүдийг дээрээс доош шалгаж эхэлнэ. Хамгийн эхэнд тохирсон нь дийлнэ. NAT өөрийн дүрэм бүрийг пакетийн интерфэйсийн нэр болон эхлэл хаягаар тулгаж шалгана. Пакетийн интерфэйсийн нэр NAT дүрэмтэй тохирвол пакетийн [эхлэл IP хаяг, өөрөөр хэлбэл хувийн LAN IP хаяг] NAT дүрмийн сумны зүүн талд зааж өгсөн IP хаягийн зурвас дотор байгаа эсэхийг шалгана. Хэрэв энэ тохирвол пакетийн эхлэл хаягийг 0/32 түлхүүр үгийн тусламжтай олж авсан гадаад IP хаягаар сольж бичнэ. NAT өөрийн дотоод NAT хүснэгтэнд бичлэг нэмэх ба энэ нь пакет Интернэтээс буцаж ирэхэд түүнийг буцаан хувийн IP хаяг уруу нь хөрвүүлэн, цааш шүүлтийн дүрмүүдээр оруулах боломжийг олгоно. IP<acronym>NAT</acronym>-г идэвхжүүлэх IPNAT-г идэвхжүүлэхийн тулд эдгээр илэрхийллүүдийг /etc/rc.conf дотор нэмж бичнэ. Өөрийн машиныг интерфэйсүүдийн хооронд пакетуудыг чиглүүлдэг болгохын тулд: gateway_enable="YES" Систем ачаалахад IPNAT-г автоматаар ачаалдаг болгохын тулд: ipnat_enable="YES" IPNAT-н дүрмүүдийг хаанаас ачаалахыг зааж өгөхдөө: ipnat_rules="/etc/ipnat.rules" Маш том LAN-д зориулсан <acronym>NAT</acronym> LAN-даа олон тооны PC-тэй сүлжээний хувьд эсвэл нэгээс олон LAN-тай сүлжээний хувьд, энэ олон хувийн IP хаягуудыг нэг гадаад IP хаяг уруу нийлүүлэх үйл явцад NAT хийгдсэн олон LAN PC дээр ижил портын дугаар олон дахин хэрэглэгдсэнээс мөргөлдөөн үүсэх гэх мэт нөөцтэй холбоотой асуудал гардаг. Нөөцтэй холбоотой энэ асуудлаас гарахын тулд дараах хоёр арга зам байдаг. Хэрэглэх портуудыг оноох Энгийн NAT дүрэм дараах байдалтай байна: map dc0 192.168.1.0/24 -> 0/32 Дээрх дүрмэнд пакет IPNAT-р дайрч өнгөрөхөд пакетийн эхлэл порт өөрчлөгдөхгүй. portmap гэсэн түлхүүр үгийн тусламжтай IPNAT эхлэл порт зурвасыг ашиглах боломжтой болно. Жишээ нь, дараах дүрэм IPNAT-г эхлэл порт хаягийг тухайн зурвас дотор байхаар өөрчлөхийг зааж өгч байна. map dc0 192.168.1.0/24 -> 0/32 portmap tcp/udp 20000:60000 Дээр нь бид auto түлхүүр үгийн тусламжтай аль портуудыг ашиглах боломжтой байгааг өөрөө тодорхойлохыг зааж өгч болно: map dc0 192.168.1.0/24 -> 0/32 portmap tcp/udp auto Гадаад хаягийн цөөрмийг хэрэглэх Маш том LAN-уудын хувьд дэндүү олон LAN хаягуудыг нэг гадаад хаягт оноох нь боломжгүй болох үе ирдэг. Хэрэв бүлэг гадаад IP сул байгаа бол, та эдгээр IP хаягуудыг цөөрөм байдлаар ашиглаж болох ба, IPNAT эдгээрээс нэгийг сонгон авч гадагшаа явж байгаа пакетийн хаягт оноох байдлаар хэрэглэх болно. Жишээ нь, доор үзүүлсэн шиг бүх пакетуудыг ганц гадаад IP-д оноохын оронд: map dc0 192.168.1.0/24 -> 204.134.75.1 гадаад IP хаягийн зурвасыг сүлжээний хуваалтын хамт зааж өгч болно: map dc0 192.168.1.0/24 -> 204.134.75.0/255.255.255.0 эсвэл CIDR тэмдэглэгээг хэрэглэж болно: map dc0 192.168.1.0/24 -> 204.134.75.0/24 Портын дахин чиглүүлэлт LAN дотор вэб сервер, цахим шуудангийн сервер, өгөгдлийн сангийн сервер болон DNS серверийг өөр өөр PC дээр тараан ажиллуулах нь түгээмэл байдаг. Энэ тохиолдолд эдгээр серверээс гарч байгаа урсгал мөн NAT хийгдсэн байх ёстой. Гэхдээ гаднаас ирж буй урсгалыг зөв LAN PC уруу дахин чиглүүлэх арга зам байх хэрэгтэй болно. Энэ асуудлыг шийдэхийн тулд IPNAT нь дахин чиглүүлэлт хийх NAT нэмэлт боломжийг олгодог. Таны вэб сервер 10.0.10.25 гэсэн LAN хаягтай байна, мөн та 20.20.20.5 гэсэн ганц гадаад IP-тай байлаа гэж бодъё. Тэгвэл та дүрмээ дараах байдалтай: rdr dc0 20.20.20.5/32 port 80 -> 10.0.10.25 port 80 эсвэл: rdr dc0 0.0.0.0/0 port 80 -> 10.0.10.25 port 80 эсвэл гаднаас DNS хүсэлтүүд хүлээн авдаг 10.0.10.33 гэсэн хаягтай LAN DNS Серверийн хувьд: rdr dc0 20.20.20.5/32 port 53 -> 10.0.10.33 port 53 udp гэж бичих байсан. FTP ба <acronym>NAT</acronym> FTP-г Интернэт одоогийнх шиг байхаас өмнөх үе, их сургуулиуд түрээсийн шугамаар хоорондоо холбогдож, судлаач эрдэмтэд хоорондоо файл солилцохын тулд FTP-г ашигладаг байх үес үлдсэн үлэг гүрвэл гэж хэлж болох юм. Тэр үед өгөгдлийн аюулгүй байдлын талаар огт анхаардаггүй байлаа. Цаг хугацаа өнгөрөхөд FTP протоколыг шинээр гарч ирж байгаа Интернэтийн гол нуруу сүлжээнд хэрэглэх болсон ба түүний хэрэглэгчийн нэр, нууц үгийг цэвэр текст хэлбэрээр дамжуулдаг байдал нь хэзээ ч өөрчлөгдөөгүй бөгөөд орчин үеийн аюулгүй байдлын шаардлагад нийцэхгүй болсон билээ. FTP нь active буюу идэвхтэй, passive буюу идэвхгүй гэсэн хоёр горимд ажилладаг. Өгөгдлийн сувгийг хэрхэн ашиглаж байгаа дээр гол ялгаа нь гардаг. Өгөгдлийн сувгийг ftp сесс хүсэгч байдлаар ажиллуулдаг тул идэвхгүй горимд ажиллах нь аюулгүй байдлыг илүүтэйгээр хангана. FTP-н талаар илүү сайн тайлбарыг болон түүний горимуудын талаар хаягаар үзнэ үү. IP<acronym>NAT</acronym> Дүрмүүд IPNAT нь дотроо NAT оноолт дүрэмд тодорхойлж өгөх боломжтой тусгай FTP прокси тохируулгыг агуулсан байдаг. Энэ нь идэвхтэй болон идэвхгүй FTP сесс эхлүүлэх хүсэлтэд оролцож байгаа бүх гадагшаа чиглэлтэй FTP пакетийг хянаж чадна. Мөн өгөгдлийн сувагт үнэхээр хэрэглэгдэж байгаа порт дугаарыг агуулсан түр зуурын шүүлтийн дүрмүүдийг динамикаар үүсгэж чадна. Ийм байдлаар FTP-с болж үүсдэг дээд хэсгийн портуудыг өргөн зурвасаар нээх эрсдэлээс галт ханыг хамгаалж байгаа юм. Доорх дүрэм нь дотоод LAN-н бүх урсгалыг зохицуулна: map dc0 10.0.10.0/29 -> 0/32 proxy port 21 ftp/tcp Доорх дүрэм гарцаас ирж буй FTP урсгалыг зохицуулна: map dc0 0.0.0.0/0 -> 0/32 proxy port 21 ftp/tcp Доорх дүрэм дотоод LAN-с ирж буй бүх FTP-н биш урсгалыг зохицуулна: map dc0 10.0.10.0/29 -> 0/32 FTP оноолтын дүрэм нь бидний ердийн оноолтын дүрмүүдийн өмнө бичигдэнэ. Бүх пакетийг хамгийн дээр бичигдсэн дүрмээс эхлэн шалгана. Интерфэйсийн нэр тохирвол дотоод LAN эхлэл IP хаяг, дараа нь FTP пакет эсэхийг шалгана. Хэрэв бүгд тохирвол, тусгай FTP прокси эдгээр FTP сесс пакетуудыг NAT хийхээс гадна гадагш нь болон дотогш нь нэвтрүүлэх түр зуурын шүүлтийн дүрмийг үүсгэнэ. FTP-н биш бусад бүх LAN пакетууд эхний дүрмэнд тохирохгүй тул гуравдугаар дүрэм уруу шилжин дахин шалгагдана. Интерфэйс болон эхлэл IP тохирох тул NAT хийгдэнэ. IP<acronym>NAT</acronym> FTP Шүүлтийн Дүрмүүд NAT FTP прокси ашиглаж байгаа тохиолдолд FTP-н хувьд ганцхан шүүлтийн дүрэм хэрэгтэй. FTP Прокси байхгүй бол та дараах гурван дүрмийг хэрэглэнэ: # Allow out LAN PC client FTP to public Internet # Active and passive modes pass out quick on rl0 proto tcp from any to any port = 21 flags S keep state # Allow out passive mode data channel high order port numbers pass out quick on rl0 proto tcp from any to any port > 1024 flags S keep state # Active mode let data channel in from FTP server pass in quick on rl0 proto tcp from any to any port = 20 flags S keep state IPFW галт хана IPFW Энэ хэсэг дээр үргэлжлүүлэн ажиллаж байгаа болно. Агуулга зарим газар буруу байхыг үгүйсгэхгүй. IPFIREWALL (IPFW) нь &os;-ийн хандиваар &os;-ийн сайн дурын гишүүдийн бүтээсэн, тэдний эрх мэдэлд байдаг галт ханын програм юм. Энэ нь хуучин уламжлалт төлөвт дүрмүүдийг хэрэглэдэг бөгөөд Simple Stateful logiс буюу Хялбар Төлөвт логикийг бий болгохын тулд уламжлалт дүрэм бичих техникийг хэрэглэдэг. Стандарт &os; суулгац дахь IPFW-н хялбар дүрмийн олонлог(/etc/rc.firewall файл дотор байрлана) нь нилээд хялбар бөгөөд өөрт тохируулан засварласны дараа хэрэглэхээр бодолцон бичигдсэн байдаг. Жишээн дээр ихэнх суулгацад тохиромжтой төлөвт шүүлтийг хэрэглээгүй байгаа. Тиймээс энэ хэсэгт энэ жишээг хэрэглэхгүй болно. IPFW-н төлөвт дүрмийн синтакс нь галт хана суулгах анхан шатны мэдлэгээс хол давсан техникийн хувьд ярвигтай сонголтын боломжуудаар хүч нэмсэн байдаг. IPFW нь мэргэжлийн түвшний хэрэглэгчид эсвэл өндөр түвшний пакет сонголт шаардлагатай байгаа техникийн өндөр түвшний компьютер сонирхогчид зориулагдсан юм. IPFW-н дүрмүүдийн хүчийг мэдрэхийн өмнө протоколууд өөрийн тусгай пакетийн толгойн мэдээллийг хэрхэн үүсгэдэг болон хэрэглэдэг талаар нилээд дэлгэрэнгүй мэдлэгийг олж авсан байх хэрэгтэй. Тийм түвшний тайлбарыг энд өгөх нь номын энэ бүлгийн мэдлээс халих тул энд оруулах боломжгүй юм. IPFW нь долоон хэсгээс бүрдэнэ, гол хэсэг болох цөмийн галт ханын шүүлтийн дүрмийг боловсруулагч болон түүний бусад хэсэг болох пакет данслах боломж, бүртгэх боломж, NAT боломжийг идэвхжүүлэх 'divert буюу эргүүлэх' дүрэм, болон өндөр түвшний тусгай зориулалттай боломжууд, dummynet трафик хязгаарлагч боломжууд, 'fwd дүрэм' дамжуулах боломж, гүүр боломжууд, болон ipstealth боломжуудаас бүрдэнэ. IPFW-г идэвхжүүлэх IPFW идэвхжүүлэх IPFW нь &os; үндсэн суулгацтай хамт, ажиллах үеийн ачаалах боломжтой модуль байдлаар ирдэг. rc.conf тохиргооны файл дотор firewall_enable="YES" илэрхийлэл байгаа үед систем IPFW цөмийн модулийг динамикаар ачаална. NAT функцыг ашиглахгүй бол IPFW-г цөмд эмхэтгэх шаардлага байхгүй. rc.conf файл дотор firewall_enable="YES" илэрхийллийг нэмээд системийг дахин асаасны дараа ачаалах үйл явцын нэг хэсэг болж дараах мессеж дэлгэцэн дээр гарах болно: ipfw2 initialized, divert disabled, rule-based forwarding disabled, default to deny, logging disabled Ачаалах боломжтой модульд бүртгэх боломжийг эмхэтгээгүй байгаа. Бүртгэлийг идэвхжүүлэхийн тулд, мөн вербос бүртгэлийн хязгаарыг тогтоохын тулд /etc/sysctl.conf файл дотор дараах илэрхийллүүдийг нэмж өгөх хэрэгтэй, бүртгэлийн систем дараагийн удаа ачаалахад идэвхжинэ: net.inet.ip.fw.verbose=1 net.inet.ip.fw.verbose_limit=5 Цөмийн тохируулгууд цөмийн тохируулгууд IPFIREWALL цөмийн тохируулгууд IPFIREWALL_VERBOSE цөмийн тохируулгууд IPFIREWALL_VERBOSE_LIMIT IPFW цөмийн тохируулгууд NAT функцыг хэрэглэхгүй бол &os; цөм уруу дараах боломжуудыг эмхэтгэн IPFW-г идэвхжүүлэх албагүй болно. Суурь мэдлэг болгон энд үзүүллээ. options IPFIREWALL Энэ тохируулга IPFW-г цөмийн нэг хэсэг болгон идэвхжүүлнэ options IPFIREWALL_VERBOSE Энэ тохируулга 'log' гэсэн түлхүүр үг орсон дүрмийн хувьд IPFW-р дайран өнгөрөх пакетуудыг бүртгэх боломжтой болгоно. options IPFIREWALL_VERBOSE_LIMIT=5 Энэ тохируулга &man.syslogd.8;-р нэгэн зэрэг бүртгэгдэж буй пакетийн тоог хязгаарлана. галт ханын үйлдлүүдийг бүртгэхийг хүсэж байгаа найрсаг орчнуудад та энэ тохируулгыг хэрэглээрэй. Энэ тохируулга нь syslog-г живүүлэх замаар явагдах үйлчилгээг зогсоох халдлагыг хааж өгөх болно. цөмийн тохируулгууд IPFIREWALL_DEFAULT_TO_ACCEPT options IPFIREWALL_DEFAULT_TO_ACCEPT Энэ тохируулга нь галт ханыг дамжин өнгөрч байгаа бүх зүйлийг нэвтрүүлэх анхдагч төлөвт оруулна. галт ханыг анх удаа тохируулж байгаа үед энэ нь илүү тохиромжтой. options IPV6FIREWALL options IPV6FIREWALL_VERBOSE options IPV6FIREWALL_VERBOSE_LIMIT options IPV6FIREWALL_DEFAULT_TO_ACCEPT Эдгээр тохируулгууд IPv6-н тохируулгууд боловч IPv4-д байдаг тохируулгуудтай яг адилхан юм. Хэрэв та IPv6-г хэрэглэдэггүй бол IPV6FIREWALL-г харгалзах ямар ч дүрэмгүйгээр хэрэглэн бүх IPv6 урсгалыг хааж болох юм. цөмийн тохируулгууд IPDIVERT options IPDIVERT Энэ тохируулга NAT функцыг идэвхжүүлнэ. Хэрэв та IPFIREWALL_DEFAULT_TO_ACCEPT-г оруулаагүй эсвэл ирж байгаа пакетуудыг нэвтрүүлэх дүрмүүд бичээгүй бол та энэ машинаас ирж байгаа болон явж байгаа бүх пакетуудыг хаачихлаа гэсэн үг юм. <filename>/etc/rc.conf</filename> Тохируулгууд галт ханыг идэвхжүүлэхийн тулд: firewall_enable="YES" &os;-тэй хамт ирдэг анхдагч галт ханын төрлүүдээс нэгийг сонгохын тулд, /etc/rc.firewall файлыг уншсаны дараа нэгийг сонгоод, түүнийгээ дараах илэрхийлэлд бичиж өгнө: firewall_type="open" Боломжит утгууд нь: open — бүх урсгалыг нэвтрүүлнэ. client — зөвхөн энэ машиныг хамгаална. simple — бүхэл бүтэн сүлжээг хамгаална. closed — loopback интерфэйсээс бусад IP урсгалыг боломжгүй болгоно. UNKNOWN — галт ханын дүрмүүдийг ачаалах боломжгүй болгоно. filename — галт ханын дүрмүүдийг агуулсан файлын бүрэн зам. ipfw галт хана уруу тусгайлан бэлдсэн дүрмүүдийг хоёр аргаар ачаалж болно. Нэг нь, firewall_type хувьсагчийн утганд &man.ipfw.8;-д зориулсан ямар ч тушаал мөрийн тохируулгагүйгээр бичигдсэн галт ханын дүрмүүд-г агуулсан файлын бүрэн замыг өгөх. Дүрмүүдийг агуулсан хялбар жишээ файл дараах байдалтай байж болно: add block in all add block out all Нөгөө нь, систем ачаалах үед ажиллах ipfw тушаалуудыг агуулсан ажиллах боломжтой скриптийн бүрэн замыг firewall_script хувьсагчид оноох юм. Дээр үзүүлсэн дүрмүүдийн файлтай дүйх дүрмүүдийн скрипт дараах байдалтай байна: #!/bin/sh ipfw -q flush ipfw add block in all ipfw add block out all Хэрэв firewall_type нь client эсвэл simple утгыг авсан бол, /etc/rc.firewall файл доторх анхдагч дүрмүүдийг тухайн машинд тохируулан өөрчлөх хэрэгтэй. Мөн энэ бүлэгт хэрэглэж байгаа жишээнүүдийн хувьд firewall_script-н утга /etc/ipfw.rules гэж үзэж байгаа болно. Бүртгэлийг идэвхжүүлэхийн тулд: firewall_logging="YES" firewall_logging хувьсагчийн хийх ганц зүйл гэвэл net.inet.ip.fw.verbose sysctl хувьсагчийн утгыг 1 болгох юм ( хэсгийг үзнэ үү). rc.conf дотор бүртгэлийг хязгаарлах хувьсагч байхгүй, харин үүний тулд sysctl хувьсагчаар дамжуулан хийж болно. /etc/sysctl.conf файл дотор эсвэл гараараа утгыг оноож өгч болно: net.inet.ip.fw.verbose_limit=5 Хэрэв таны машин гарц байдлаар ажиллаж байгаа бол, жишээ нь &man.natd.8;-н тусламжтай Сүлжээний хаягийн Хөрвүүлэлт (NAT) хийж байгаа бол, /etc/rc.conf файл доторх шаардлагатай тохируулгуудын мэдээллийг хэсэг уруу хандана уу. IPFW Тушаал ipfw галт ханыг ажиллаж байх явцад түүний идэвхтэй байгаа дотоод дүрмүүдэд шинэ дүрэм нэмэх, дүрэм хасах зэрэг өөрчлөлтүүдийг гараар хийх гол механизм бол ipfw тушаал юм. Энэ аргыг хэрэглэхэд тулгардаг нэг асуудал бол нэгэнт системийг унтраасан эсвэл зогсоосон бол таны нэмсэн эсвэл хассан эсвэл өөрчилсөн бүх дүрмүүд алга болно. Бүх дүрмүүдээ нэг файлд бичээд систем ачаалах үед энэ файлыг ашиглан дүрмүүдийг ачаалах, эсвэл одоо ажиллаж байгаа галт ханын дүрмүүдийг файл дотор хийсэн өөрчлөлтүүдээр бүхлээр нь сольж тавих нь энд хэрэглэж байгаа, та бүхэнд зөвлөх арга барил юм. Удирдлагын дэлгэцэн дээр ажиллаж байгаа галт ханын дүрмүүдийг харуулахад ipfw тушаалыг одоо хэр нь хэрэглэсээр байна. IPFW-н данс хөтлөх боломж нь дүрэм бүрийн хувьд тухайн дүрэмд тохирсон пакетийг тоолох тоолуурыг үүсгэдэг. Ямар нэг дүрмийг шалгах үйл явцад тухайн дүрэм ажиллаж байгаа эсэхийг тогтоох аргуудын нэг бол дүрмийг тоолуурын хамт жагсаан харах байдаг. Бүх дүрмүүдийг дараагаар нь жагсаан харахын тулд: &prompt.root; ipfw list Бүх дүрмүүдийг тухайн дүрэм хамгийн сүүлд тохирсон цагны хамт жагсаан харахын тулд: &prompt.root; ipfw -t list Данслалтын мэдээлэл болон дүрмүүдийг тохирсон пакетийн тооны хамт харахын тулд. Эхний багана нь дүрмийн дугаар, дараа нь энэ дүрэмд тохирсон гарч байгаа пакетийн тоо, дараа нь энэ дүрэмд тохирсон орж байгаа пакетийн тоо, тэгээд дүрэм өөрөө байна. &prompt.root; ipfw -a list Статик дүрмүүдээс гадна динамик дүрмүүдийг жагсаан харахын тулд: &prompt.root; ipfw -d list Мөн хугацаа нь дууссан динамик дүрмүүдийг харахын тулд: &prompt.root; ipfw -d -e list Тоолууруудыг тэглэхийн тулд: &prompt.root; ipfw zero Зөвхөн NUM дугаартай тоолуурыг тэглэхийн тулд: &prompt.root; ipfw zero NUM IPFW Дүрмийн Олонлог Пакет дотор агуулагдаж байгаа утгуудыг үндэслэн тухайн пакетийг нэвтрүүлэх болон хаахыг хэлж байгаа дүрмүүдийг дүрмийн олонлог гэнэ. Хостуудын хоорондох хоёр чиглэлтэй пакет солилцоо нь сесс харилцааг бүрдүүлнэ. галт ханын дүрмийн олонлогоор пакет хоёр дахин шүүгдэнэ, эхний удаа Интернэтээс пакетийг хүлээн авахад, дараагийн удаа буцаж Интернэт уруу гарч явахад. Бүх TCP/IP үйлчилгээнүүдийн хувьд (жишээ нь: telnet, www, mail, г.м.) ямар протоколоор ажиллах болон эхлэл ба очих IP хаяг, эхлэл ба очих порт хаяг зэргийг урьдаас тодорхойлж өгсөн байдаг. Эдгээр үзүүлэлтүүд дээр үндэслэн нэвтрүүлэх болох хаах дүрмүүдийг зохиодог. IPFW Дүрмүүдтэй ажиллах дэс дараалал пакетийг галт хана хүлээн аваад дүрмийн олонлогт байгаа хамгийн эхний дүрэмтэй тулгах ба цааш дүрмүүдийн дугаарын өсөх дарааллын дагуу дээрээс доош нэг нэгээр шалгаж эхэлнэ. Пакет аль нэг дүрмийн сонголтын параметртай тохирвол, түүнд харгалзах үйлдлийг хийж, тухайн пакетийн хувьд цааш хайлтыг дуусгана. Энэ аргыг эхэнд тохирсон нь дийлнэ хайлтын арга гэнэ. Хэрэв тухайн пакет ямар ч дүрэмд тохирохгүй бол, энэ пакетийг 65535 дугаартай бүх пакетийг хааж, явуулсан хүнд нь ямар ч хариу өгөлгүй орхигдуулна гэсэн ipfw-н анхдагч дүрэмд албаар тохируулна. count, skipto ба tee дүрмүүдийн дараа хайлт үргэлжилнэ. Энд байгаа зааварчилгаанууд нь төлөвт 'keep state', 'limit', 'in'/'out', ба via зэрэг тохируулгуудыг агуулсан дүрмүүд дээр үндэслэгдсэн байгаа. Энэ бол хамааруулсан галт ханын дүрмийн олонлогийг бичих үндсэн арга барил юм. Хамааруулсан галт хана нь зөвхөн дүрмүүдэд тохирсон пакетуудыг нэвтрүүлнэ. Ийм маягаар галт ханын цаанаас Интернэт уруу ямар ямар үйлчилгээнүүд гарч болох болон эсрэгээр Интернэтээс дотоод сүлжээ уруу ямар ямар үйлчилгээнүүд нэвтэрч болохыг удирдах боломжтой. Эдгээрээс бусад бүх урсгалыг хааж, бүртгэдэг байхаар зохиогдсон байдаг. Хамааруулсан галт хана нь хамааруулаагүй галт ханаас аюулгүй байдлын хувьд хэд дахин илүү, тиймээс энд бид зөвхөн хамааруулсан галт ханын дүрмүүдийн талаар ярилцах болно. галт ханын дүрмүүдтэй ажиллахдаа маш анхааралтай байх хэрэгтэй. Зарим тохиргоо серверээс бүх холбоог тань тасалж мэднэ. Дүрмийн Синтакс IPFW дүрмийн синтакс Энд үзүүлсэн дүрмийн синтакс нь стандарт хамааруулсан галт хана үүсгэхэд шаардлагатай дүрмийн олонлогийг бичих хэмжээнд тохируулан хялбаршуулсан байгаа. Дүрмийн синтаксын бүрэн тайлбарыг &man.ipfw.8; заавар хуудаснаас үзнэ үү. Дүрмүүд нь түлхүүр үгүүдийг агуулна. Эдгээр түлхүүр үгүүд нь тухайн мөрөнд зүүнээс баруун тийш тодорхой дэс дараагаар бичигдэнэ. Түлхүүр үгүүд тодоор бичигдэх тул түүгээр нь ялгаж танина. Зарим түлхүүр үгүүд дэд-тохируулгатай байна. Тэр нь өөрөө түлхүүр үг байж болохоос гадна цааш дэд-тохируулгуудыг агуулсан байж болно. # гэсэн тэмдэгт тайлбарын эхлэлийг заах ба дүрэм бичсэн мөрийн төгсгөлд эсвэл өөрөө бүтэн мөр байдлаар байрлана. Хоосон мөрийг тооцохгүй. CMD RULE_NUMBER ACTION LOGGING SELECTION STATEFUL CMD Шинэ дүрэм бүр дотоод хүснэгтэнд бичигдэхийн тулд add гэсэн түлхүүр үгийг өмнөө агуулж байх ёстой. RULE_NUMBER Дүрэм бүр өөрийн дүрмийн дугаартай байх ёстой. ACTION Тухайн дүрмийн сонголтын үзүүлэлтэд пакет тохироход заасан action буюу үйлдлийг гүйцэтгэх ба дүрэм нь дараах үйлдлүүдийн аль нэгтэй холбогдсон байна. allow | accept | pass | permit Эдгээр нь бүгд нэг зүйлийг, тухайлбал: дүрэмд тохирсон пакетуудыг нэвтрүүлж, галт ханын дүрэмтэй ажиллах явцаас гарахыг хэлж өгч байна. Эдгээр дүрмүүдийн дараа хайлт дуусна. check-state нь динамик дүрмийн хүснэгттэй пакетуудыг тулгана. Хэрэв тохирвол, энэ динамик дүрмийг үүсгэсэн дүрэмд харгалзах үйлдлийг гүйцэтгэнэ, үгүй бол дараагийн дүрэмд шилжинэ. check-state дүрэмд сонголтын шалгуур байхгүй. Хэрэв дүрмийн олонлогт check-state дүрэм байхгүй бол эхний keep-state эсвэл limit дүрмийг динамик дүрмийн хүснэгттэй тулгана. deny | drop Энэ хоёр үг хоёул дүрэмд тохирсон пакетуудыг хаяхыг заана. Хайлт энд дуусна. Бүртгэл хөтлөлт log эсвэл logamount Пакет log гэсэн түлхүүр үг орсон дүрэмд тохироход, энэ тухай мессеж syslogd уруу SECURITY гэсэн facility нэртэйгээр бүртгэгдэнэ. Зөвхөн тухайн дүрмийн хувьд бүртгэгдсэн пакетийн тоо logamount параметрийн утгыг даваагүй тохиолдолд бүртгэл явагдана. Хэрэв logamount-н утгыг зааж өгөөгүй бол, sysctl-н net.inet.ip.fw.verbose_limit хувьсагчийн утгыг хязгаарын утга болгон авна. Аль ч тохиолдолд тэг гэсэн утга бүртгэлийн хязгаарыг үгүй болгоно. Хязгаарт тулсан тохиолдолд, бүртгэлийг дахин идэвхжүүлэхийн тулд бүртгэлийн тоолуурыг эсвэл тухайн дүрмийн пакет тоолуурыг дахин эхлүүлнэ. ipfw reset log тушаалыг үзнэ үү. Бүртгэл нь бусад бүх пакет тохирох нөхцлүүд амжилттай нотлогдсоны дараа, мөн тухайн пакет дээр эцсийн үйлдлийг(зөвшөөрөх, татгалзах) хийхийн өмнө явагдана. Ямар дүрмүүдийн хувьд бүртгэл явуулахыг та шийдэх болно. Сонголт Энд танилцуулах түлхүүр үгнүүд нь тухайн пакет дүрэмд тохирч байгаа үгүй эсэхийг тодорхойлох үед, шалгагдаж байгаа пакетийн шинжүүдийг тодорхойлно. Дараах байнгын хэрэглээний шинжүүд өгөгдсөн байдаг ба доорх дэс дарааллаар хэрэглэнэ: udp | tcp | icmp эсвэл /etc/protocols файлд байгаа ямар ч протоколын нэрийг хэрэглэж болно. Харин утга нь шалгагдах протоколын нэрийг заана. Энэ бол заавал тавигдах шаардлага юм. from src to dst from src to dst: from ба to гэсэн түлхүүр үгүүд IP хаягийг шүүхэд хэрэглэгдэнэ. Хэрэглэх бол эхлэл ба очих параметрийг ХОЁУЛАНГ зааж өгөх хэрэгтэй. any гэсэн тусгай түлхүүр үгийн тусламжтай ямар ч IP хаягийг зөвшөөрч өгч болно. Хэрэглэх жишээ: from any to any эсвэл from 0.0.0.0/0 to any эсвэл from any to 0.0.0.0/0 эсвэл from 0.0.0.0 to any эсвэл from any to 0.0.0.0. from ба to гэсэн түлхүүр үгүүд IP хаягийг шүүхэд хэрэглэгдэнэ. Дүрмэнд хэрэглэхдээ эхлэл ба очих параметрүүдийг ХОЁУЛАНГ зааж өгөх ёстой. any гэсэн тусгай түлхүүр үгийн тусламжтай бүх IP хаягийг зөвшөөрч өгч болно. me гэсэн тусгай түлхүүр үг нь таны &os; системийн аль нэг интерфэйс дээр тохируулсан IP хаягийг заах ба галт хана ажиллаж байгаа PC-г (өөрөөр хэлбэл энэ машин) 'from me to any' эсвэл 'from any to me' эсвэл 'from 0.0.0.0/0 to any' эсвэл 'from any to 0.0.0.0/0' эсвэл 'from 0.0.0.0 to any' эсвэл 'from any to 0.0.0.0' эсвэл 'from me to 0.0.0.0' гэсэн байдлаар төлөөлнө. IP хаягуудыг цэгтэй тоон хэлбэр/багийн-урт байдлаар эсвэл зүгээр цэгтэй тоон хэлбэрээр бичиж болно. Энэ бол заавал тавигдах шаардлага юм. Багийн уртыг бичихтэй холбоотой тусламжийг дараах хаягаар орж үзнэ үү. port number Портын дугаарыг дэмждэг протоколуудын хувьд (TCP ба UDP гэх мэт), тааруулахыг хүсэж байгаа портын дугаарыг заавал бичиж өгөх ёстой байдаг. Портын тоон утгын оронд үйлчилгээний нэрийг(/etc/services файлаас) хэрэглэж болно. in | out Орж байгаа болон гарч байгаа пакетуудыг харгалзан тааруулна. in ба out нь түлхүүр үгүүд бөгөөд дүрэмд тааруулах шалгуур болгож энэ хоёр үгийн аль нэгийг заавал бичсэн байх ёстой. via IF Нэрээр нь зааж өгсөн интерфэйсээр дайран өнгөрч буй пакетуудыг тааруулна. via гэсэн түлхүүр үг нь тухайн интерфэйсийг тааруулах үйл явцын нэг хэсэг байдлаар байнга шалгаж байхыг зааж өгнө. setup Энэ түлхүүр үг нь TCP пакетуудын хувьд сесс эхлүүлэх хүсэлтийг зааж өгч байгаа заавал хэрэглэх түлхүүр үг юм. keep-state Энэ бол заавал хэрэглэх түлхүүр үг юм. Дүрэм таарахад, галт хана яг тэр протоколыг ашиглан эхлэл болон очих IP/портын хооронд үүсэх хоёр чиглэлтэй урсгалыг тааруулах анхдагч чанартай динамик дүрэм үүсгэнэ. limit {src-addr | src-port | dst-addr | dst-port} Дүрэмд заасантай адил параметрүүдтэй холболтын тоог N-р хязгаарлана. Нэг ба түүнээс дээш тооны эхлэл болон очих хаягууд, портуудыг зааж өгч болно. 'limit' ба 'keep-state'-г нэг дүрэмд хамтад нь хэрэглэж болохгүй. Limit нь 'keep-state'-тэй адил төлөвт функцуудыг гүйцэтгэхээс гадна өөрийн нэмэлт функцүүлтэй. Төлөвт Дүрмийн Тохируулгууд IPFW төлөвт шүүлт Төлөвт шүүлт нь урсгалыг сесс харилцаанаас бүрдэж буй хоёр чиглэлтэй пакет солилцоо гэж үздэг. Мөн энэ нь сесс эхлүүлсэн болон хүлээн авсан хостуудын хоорондох сесс харилцаа нь хоёр чиглэлтэй пакет солилцох процедуртай зохицож байгаа эсэхийг магадлах чадвартай байдаг. Сесс харилцааны загварт зохицоогүй пакетийг хуурамч гэж үзэн хүлээж авахгүй. 'check-state' нь IPFW дүрмийн олонлогийн хаана нь пакетийг динамик дүрмүүдийн боломжоор шалгахыг тогтооно. Таарсан тохиолдолд, пакет галт ханыг нэвтэрч цааш явах ба энэ хоёр чиглэлт сесс харилцааны туршид солилцох пакетуудын хувьд шинэ динамик дүрэм үүснэ. Таараагүй тохиолдолд, пакет дүрмийн олонлогийн дараагийн дүрэмд шалгагдахаар шилжинэ. Динамик дүрмүүдийн боломж нь маш олон тооны динамик дүрмүүдийг нээдэг SYN-живүүлэх халдлагаас үүсэх нөөцийн хомсдолд эмзэг байдаг. Энэ халдлагаас зайлсхийхийн тулд &os; limit гэсэн шинэ тохируулгыг нэмж өгсөн байдаг. Энэ тохируулгын тусламжтай нэгэн зэрэг явагдах сесс харилцааны тоог хязгаарлана. Limit тохируулгад зааж өгсөн эхлэл болон очих талбаруудаар пакетийн IP хаягийг асуулга явуулах замаар шалгасны дараа, энэ дүрэмд энэ IP хаягийн хослол хэдэн удаа таарсан тоог харгалзан хэрэв энэ тоо хязгаараас давсан бол тухайн пакетийг гээнэ. галт ханын мессежийг бүртгэх IPFW бүртгэл хөтлөлт Бүртгэл хөтлөлтийн ашиг тус тодорхой юм: Таны бүртгэхээр идэвхжүүлсэн дүрмүүдийн хувьд, ямар пакетууд гээгдсэн, тэдгээр нь ямар хаягаас ирсэн, хаашаа явж байсан зэрэг мэдээллийг эргэн харах боломжийг олгох ба гадны халдлагыг мөрдөхөд танд чухал хувь нэмэр болно. Бүртгэл хөтлөх боломжийг идэвхжүүлсэн хэдий ч, IPFW нь өөрөө ямар ч дүрмийг үүсгэхгүй. Администратор аль дүрмүүдийн хувьд бүртгэл явуулахыг шийдэн, тэдгээр дүрмүүддээ log гэсэн түлхүүр үгийг нэмж бичнэ. Ихэвчлэн зөвхөн татгалзах дүрмүүдийг бүртгэдэг, жишээлбэл ирж буй ICMP ping-г татгалзах гэх мэт. Хамгийн сүүлд байгаа ipfw-н анхдагч татгалзах дүрмийг хувилан log түлхүүр үгтэйгээр үүсгэх нь элбэг байдаг. Ийм байдлаар дүрмийн олонлогийн аль ч дүрмэнд таараагүй пакетуудыг харах боломжтой болно. Бүртгэл хөтлөлт нь хоёр талдаа иртэй сэлэмтэй адил юм, хэрэв та хайхрамжгүй хандвал, диск дүүрэн бүртгэлийн мэдээлэл дотроо учраа олохгүй суух болно. Дискийг дүүргэх DoS халдлага нь хамгийн эртний халдлагуудын нэг юм. Эдгээр бүртгэлийн мессеж нь syslogd-д бичигдэхээс гадна, root консол дэлгэцэн дээр гарах учир удахгүй ядаргаатай санагдаж эхэлдэг. IPFIREWALL_VERBOSE_LIMIT=5 гэсэн цөмийн тохируулга нь системийн бүртгэл хөтлөгч болох syslogd уруу шидэгдэж байгаа тухайн дүрэмд тохирсон пакетад харгалзах дараалсан мессежийн тоог хязгаарлана. Энэ тохируулгыг идэвхжүүлсэн үед, тодорхой дүрмийн хувьд дараалсан мессежийн тоог зааж өгсөн тоогоор хязгаарлана. Нэг ижил зүйлийг хэлсэн 200 бүртгэлийн бичлэгээс мэдэж авах зүйл хомс юм. Жишээ нь, тодорхой дүрмийн хувьд дараалсан таван бичлэг syslogd-д бичигдэнэ, үлдсэн дараалсан ижил бичлэгүүд тоологдоод syslogd-д дараах байдалтай бичигдэнэ: last message repeated 45 times Бүртгэл хөтлөгдөж байгаа бүх пакетуудын мессежүүд /etc/syslog.conf файлд анхдагч байдлаар зааж өгсөн /var/log/security файлд бичигдэнэ. Дүрмийн скриптийг бүтээх Туршлагатай IPFW хэрэглэгчид дүрмүүдийг агуулсан файл үүсгээд түүнийгээ скрипт байдлаар ажиллуулах боломжтой байхаар бичдэг. Үүний гол давуу тал нь шинэ дүрмүүдийг идэвхжүүлэхийн тулд системийг дахин ачаалах шаардлагагүй болно. Энэ аргыг ашиглан хэдэн ч удаа дараалан галт ханын дүрмүүдийг ачаалж болох тул шинэ дүрмүүдийг шалгах үед хэрэглэхэд тохиромжтой байдаг. Скрипт учраас олон дахин бичигдэж байгаа утгын оронд симбол орлуулалтыг ашиглах боломжтой. Энэ талаар дараах жишээн дээрээс харна уу. Энд хэрэглэгдсэн скриптийн синтакс нь sh, csh, ба tcsh бүрхүүл дээр ажиллах боломжтой. Симбол орлуулалттай талбарууд нь урдаа $ буюу долларын тэмдэгтэй байна. Симбол талбарууд нь $ тэмдэг урдаа байхгүй. Симбол талбарыг орлох утга нь давхар хашилтан (") дотор байрлана. Дүрмийн файлаа дараах байдалтай үүсгэж эхлэх хэрэгтэй: ############### start of example ipfw rules script ############# # ipfw -q -f flush # Delete all rules # Set defaults oif="tun0" # out interface odns="192.0.2.11" # ISP's DNS server IP address cmd="ipfw -q add " # build rule prefix ks="keep-state" # just too lazy to key this each time $cmd 00500 check-state $cmd 00502 deny all from any to any frag $cmd 00501 deny tcp from any to any established $cmd 00600 allow tcp from any to any 80 out via $oif setup $ks $cmd 00610 allow tcp from any to $odns 53 out via $oif setup $ks $cmd 00611 allow udp from any to $odns 53 out via $oif $ks ################### End of example ipfw rules script ############ Байх ёстой бүх зүйлс бүгд байна. Энэ жишээн дээр дүрмүүд чухал биш, харин симбол орлуулалт хэрхэн ажилладагыг харуулсан байна. Хэрэв дээрх жишээ /etc/ipfw.rules нэртэй файл дотор байсан бол, эдгээр дүрмүүдийг дараах тушаалыг өгч дахин ачаалах боломжтой: &prompt.root; sh /etc/ipfw.rules /etc/ipfw.rules гэсэн файл ямар ч нэртэй байж болох ба таны хүссэн ямар ч газар байж болно. Дараах скриптийг хоёр аргын нэгээр хэрэглэж болно: Дээрхтэй адил зүйлсийг дараах тушаалыг гараар оруулан гүйцэтгэж болно: &prompt.root; ipfw -q -f flush &prompt.root; ipfw -q add check-state &prompt.root; ipfw -q add deny all from any to any frag &prompt.root; ipfw -q add deny tcp from any to any established &prompt.root; ipfw -q add allow tcp from any to any 80 out via tun0 setup keep-state &prompt.root; ipfw -q add allow tcp from any to 192.0.2.11 53 out via tun0 setup keep-state &prompt.root; ipfw -q add 00611 allow udp from any to 192.0.2.11 53 out via tun0 keep-state Төлөвт дүрмийн олонлог Дараах NAT хийгдээгүй дүрмийн олонлог нь аюулгүй байдлыг маш сайн хангасан, хамааруулсан галт ханын дүрмүүдийг хэрхэн бичих жишээ юм. Хамааруулсан галт хана нь зөвхөн pass дүрмүүдэд тохирсон үйлчилгээг зөвшөөрч, бусдыг бүгдийг хаана. Бүх галт хананууд хамгийн багадаа хоёр интерфэйстэй байх ба галт хана маягаар ажиллахын тулд дүрмүүдийг тусгайлан зааж өгсөн байна. &os;-г оролцуулаад бүх &unix; төрлийн систем нь үйлдлийн систем дэх дотоод харилцаандаа lo0 интерфэйс болон 127.0.0.1 гэсэн IP хаягийг хэрэглэхээр бүтээгдсэн байдаг. Галт ханын дүрмүүд нь дотооддоо хэрэглэж байгаа эдгээр пакетуудыг чөлөөтэй нэвтрүүлэх дүрмүүдийг агуулсан байх ёстой. Интернэттэй холбогдож байгаа интерфэйс дээр та өөрийн Интернэт уруу гарч байгаа болон Интернэтээс ирж байгаа хандалтыг удирдах болон хянах дүрмүүдийг байрлуулна. Энэ нь таны PPP tun0 интерфэйс эсвэл таны DSL эсвэл кабель модемд холбогдсон NIC байж болно. Галт ханын цаана байгаа хувийн LAN-уудад нэг болон түүнээс дээш тооны NIC-ууд холбогдсон тохиолдолд, тэдгээр интерфэйсүүдийн хувьд тэдгээр LAN интерфэйсүүдээс ирсэн пакетуудыг чөлөөтэй нэвтрүүлэх дүрмийг агуулсан байх ёстой. Дүрмүүд эхлээд гурван үндсэн хэсэгт хуваагдан зохион байгуулагдсан байх ёстой: бүх чөлөөт халдашгүй интерфэйсүүд, нийтийн гадагшаа интерфэйс болон нийтийн дотогшоо интерфэйс. Нийтийн интерфэйс бүр дээр байгаа дүрмүүдийн дараалал нь хамгийн олон тохиолддог дүрмүүд нь хамгийн түрүүнд цөөн тохиолддог дүрмүүдээс өмнө байхаар, тухайн интерфэйс болон чиглэлийн хувьд хаах болон бүртгэх дүрмүүд нь хамгийн сүүлд байхаар бичигдсэн байна. Дараах жишээн дээрх гадагшаа хэсэг нь Интернэт хандалтыг зөвшөөрч өгөх үйлчилгээг тодорхойлох сонголтын утгуудыг агуулсан зөвхөн 'allow' дүрмүүдээс бүрдэж байна. Бүх дүрмүүд 'proto', 'port', 'in/out', 'via' ба 'keep state' тохируулгуудыг агуулсан байгаа. 'proto tcp' дүрмүүд нь төлөвт байдлыг идэвхжүүлж байгаа пакетийг keep state төлөвт хүснэгтэд нэмэх байдлаар, сесс эхлүүлэх хүсэлтийг тодорхойлох зорилгоор 'setup' тохируулгыг агуулсан байна. Дотогшоо хэсэгт эхлээд хүсээгүй пакетуудыг хаах дүрмүүдийг бичсэн байна. Энэ нь хоёр өөр шалтгаантай. Эхнийх нь, энэ дүрмүүдээр хаагдсан зүйлс нь доор байгаа өөр нэг дүрмээр зөвшөөрөгдсөн пакетийн нэг хэсэг байж болох талтай. Хоёр дахь шалтгаан нь, цөөхөн тоотой хүлээж авдаг ба бүртгэх хүсэлгүй байгаа пакетуудыг сонгон, тэдгээрийг бүрнээр хаах дүрмийг эхлээд бичиж өгснөөр эдгээр пакетууд хамгийн сүүлд байгаа ямар ч дүрмүүдэд тохироогүй пакетуудыг бүртгээд хаана гэсэн дүрмээр дайрахгүй болгож байгаа юм. Учир нь энэ хэсгийн хамгийн сүүлд байгаа бүгдийг бүртгээд хаана гэсэн дүрэм бол өөрийн систем уруу халдаж байгаа халдлагын нотолгоог цуглуулах таны нэг арга билээ. Өөр нэг тэмдэглэн хэлэх зүйл бол, хүсээгүй пакетуудын хариуд ямар ч хариу явуулахгүй, тэд зүгээр л орхигдож алга болно. Ингэснээр халдлага явуулагч түүний явуулсан пакетууд таны системд хүрсэн эсэх талаар юу ч мэдэхгүй үлдэх болно. Таны системийн талаар хэдий хэр бага мэднэ, төдий чинээ аюулгүй байна гэсэн үг юм. Хэрвээ мэдэхгүй дугаартай портын хувьд пакетууд бүртгэгдсэн байвал /etc/services/ файлаас эсвэл хаягаар тухайн порт ямар зориулалтаар ашиглагддагийг орж шалгаарай. Троянуудын хэрэглэдэг портын дугааруудыг хаягаар орж шалгаарай. Хамааруулсан дүрмийн олонлогийн жишээ Дараах NAT хийгдээгүй дүрмийн олонлог нь бүрэн хэмжээний хамааруулсан дүрмийн олонлог байгаа юм. Та энэ дүрмүүдийг өөрийн системдээ ашиглахад буруудах юмгүй. Зөвшөөрөхийг хүсэхгүй байгаа үйлчилгээнүүдийн хувьд харгалзах нэвтрүүлэх дүрмийг далдлаарай. Хэрэв бүртгэлд байгаа зарим мэдэгдлийг дахин харахыг хүсэхгүй, бүртгэхийг хүсэхгүй байгаа бол дотогшоо хэсэгт хаах дүрэм нэмж бичээрэй. Дүрэм бүрт байгаа 'dc0' гэсэн интерфэйсийн нэрийн оронд таны системийг Интернэт уруу холбож байгаа NIC картны интерфэйсийн нэрээр сольж тавиарай. Хэрэглэгчийн PPP-н хувьд, энэ нь 'tun0' байна. Эдгээр дүрмүүдийг хэрэглэх явцад та хэв маяг олж харах болно. Интернэт уруу чиглэсэн сесс эхлүүлэх хүсэлтийг төлөөлж байгаа илэрхийллүүд бүгд keep-state хэрэглэж байгаа. Интернэтээс ирж буй бүх зөвшөөрөгдсөн үйлчилгээнүүд живүүлэх халдлагыг зогсоох үүднээс limit гэсэн тохируулгын хамт бичигдсэн байгаа. Бүх дүрмүүд чиглэлийг тодотгохын тулд in эсвэл out-г хэрэглэсэн байгаа. Бүх дүрмүүд пакетийн дайран өнгөрөх интерфэйсийг тодорхойлж өгөхдөө via-г хэрэглэсэн байгаа. Дараах дүрмүүд /etc/ipfw.rules дотор байрлана. ################ Start of IPFW rules file ############################### # Flush out the list before we begin. ipfw -q -f flush # Set rules command prefix cmd="ipfw -q add" pif="dc0" # public interface name of NIC # facing the public Internet ################################################################# # No restrictions on Inside LAN Interface for private network # Not needed unless you have LAN. # Change xl0 to your LAN NIC interface name ################################################################# #$cmd 00005 allow all from any to any via xl0 ################################################################# # No restrictions on Loopback Interface ################################################################# $cmd 00010 allow all from any to any via lo0 ################################################################# # Allow the packet through if it has previous been added to the # the "dynamic" rules table by a allow keep-state statement. ################################################################# $cmd 00015 check-state ################################################################# # Interface facing Public Internet (Outbound Section) # Interrogate session start requests originating from behind the # firewall on the private network or from this gateway server # destine for the public Internet. ################################################################# # Allow out access to my ISP's Domain name server. # x.x.x.x must be the IP address of your ISP.s DNS # Dup these lines if your ISP has more than one DNS server # Get the IP addresses from /etc/resolv.conf file $cmd 00110 allow tcp from any to x.x.x.x 53 out via $pif setup keep-state $cmd 00111 allow udp from any to x.x.x.x 53 out via $pif keep-state # Allow out access to my ISP's DHCP server for cable/DSL configurations. # This rule is not needed for .user ppp. connection to the public Internet. # so you can delete this whole group. # Use the following rule and check log for IP address. # Then put IP address in commented out rule & delete first rule $cmd 00120 allow log udp from any to any 67 out via $pif keep-state #$cmd 00120 allow udp from any to x.x.x.x 67 out via $pif keep-state # Allow out non-secure standard www function $cmd 00200 allow tcp from any to any 80 out via $pif setup keep-state # Allow out secure www function https over TLS SSL $cmd 00220 allow tcp from any to any 443 out via $pif setup keep-state # Allow out send & get email function $cmd 00230 allow tcp from any to any 25 out via $pif setup keep-state $cmd 00231 allow tcp from any to any 110 out via $pif setup keep-state # Allow out FBSD (make install & CVSUP) functions # Basically give user root "GOD" privileges. $cmd 00240 allow tcp from me to any out via $pif setup keep-state uid root # Allow out ping $cmd 00250 allow icmp from any to any out via $pif keep-state # Allow out Time $cmd 00260 allow tcp from any to any 37 out via $pif setup keep-state # Allow out nntp news (i.e. news groups) $cmd 00270 allow tcp from any to any 119 out via $pif setup keep-state # Allow out secure FTP, Telnet, and SCP # This function is using SSH (secure shell) $cmd 00280 allow tcp from any to any 22 out via $pif setup keep-state # Allow out whois $cmd 00290 allow tcp from any to any 43 out via $pif setup keep-state # deny and log everything else that.s trying to get out. # This rule enforces the block all by default logic. $cmd 00299 deny log all from any to any out via $pif ################################################################# # Interface facing Public Internet (Inbound Section) # Interrogate packets originating from the public Internet # destine for this gateway server or the private network. ################################################################# # Deny all inbound traffic from non-routable reserved address spaces $cmd 00300 deny all from 192.168.0.0/16 to any in via $pif #RFC 1918 private IP $cmd 00301 deny all from 172.16.0.0/12 to any in via $pif #RFC 1918 private IP $cmd 00302 deny all from 10.0.0.0/8 to any in via $pif #RFC 1918 private IP $cmd 00303 deny all from 127.0.0.0/8 to any in via $pif #loopback $cmd 00304 deny all from 0.0.0.0/8 to any in via $pif #loopback $cmd 00305 deny all from 169.254.0.0/16 to any in via $pif #DHCP auto-config $cmd 00306 deny all from 192.0.2.0/24 to any in via $pif #reserved for docs $cmd 00307 deny all from 204.152.64.0/23 to any in via $pif #Sun cluster interconnect $cmd 00308 deny all from 224.0.0.0/3 to any in via $pif #Class D & E multicast # Deny public pings $cmd 00310 deny icmp from any to any in via $pif # Deny ident $cmd 00315 deny tcp from any to any 113 in via $pif # Deny all Netbios service. 137=name, 138=datagram, 139=session # Netbios is MS/Windows sharing services. # Block MS/Windows hosts2 name server requests 81 $cmd 00320 deny tcp from any to any 137 in via $pif $cmd 00321 deny tcp from any to any 138 in via $pif $cmd 00322 deny tcp from any to any 139 in via $pif $cmd 00323 deny tcp from any to any 81 in via $pif # Deny any late arriving packets $cmd 00330 deny all from any to any frag in via $pif # Deny ACK packets that did not match the dynamic rule table $cmd 00332 deny tcp from any to any established in via $pif # Allow traffic in from ISP's DHCP server. This rule must contain # the IP address of your ISP.s DHCP server as it.s the only # authorized source to send this packet type. # Only necessary for cable or DSL configurations. # This rule is not needed for .user ppp. type connection to # the public Internet. This is the same IP address you captured # and used in the outbound section. #$cmd 00360 allow udp from any to x.x.x.x 67 in via $pif keep-state # Allow in standard www function because I have apache server $cmd 00400 allow tcp from any to me 80 in via $pif setup limit src-addr 2 # Allow in secure FTP, Telnet, and SCP from public Internet $cmd 00410 allow tcp from any to me 22 in via $pif setup limit src-addr 2 # Allow in non-secure Telnet session from public Internet # labeled non-secure because ID & PW are passed over public # Internet as clear text. # Delete this sample group if you do not have telnet server enabled. $cmd 00420 allow tcp from any to me 23 in via $pif setup limit src-addr 2 # Reject & Log all incoming connections from the outside $cmd 00499 deny log all from any to any in via $pif # Everything else is denied by default # deny and log all packets that fell through to see what they are $cmd 00999 deny log all from any to any ################ End of IPFW rules file ############################### <acronym>NAT</acronym> болон Төлөвт дүрмийн олонлогийн жишээ NAT ба IPFW IPFW-н NAT функцыг идэвхжүүлэхийн тулд зарим нэмэлт тохиргооны илэрхийллүүдийг идэвхжүүлэх хэрэгтэй болдог. Цөмийн эх кодын бусад IPFIREWALL илэрхийллүүд дээр 'option IPDIVERT' илэрхийллийг нэмж эмхэтгэн тусгайлан бэлдсэн цөмийг гаргаж авах хэрэгтэй. /etc/rc.conf доторх энгийн IPFW тохируулгууд дээр нэмж дараах тохируулгууд хэрэгтэй болно. natd_enable="YES" # Enable NATD function natd_interface="rl0" # interface name of public Internet NIC natd_flags="-dynamic -m" # -m = preserve port numbers if possible Төлөвт дүрмүүдийг divert natd (Сүлжээний хаягийн Хөрвүүлэлт) дүрмийн хамт хэрэглэх нь дүрмийн олонлог бичих логикийг төвөгтэй болгодог. 'check-state' ба 'divert natd' дүрмүүдийн дүрмийн олонлог дахь байрлал нь маш их нөлөөтэй. Энэ нь хялбар дайраад-өнгөрөх логик урсгал биш болно. 'skipto' гэсэн шинэ үйлдлийн төрлийг хэрэглэх болно. skipto тушаалыг хэрэглэхийн тулд хаашаа үсрэхээ тодорхойлохын тулд бүх дүрмүүдийг дугаарлах хэрэгтэй болно. Дараах тайлбаргүй жишээн дээр пакет дүрмийн олонлогоор дайрч өнгөрөх дарааллыг тайлбарлахаар сонгон авсан дүрэм бичих арга байгаа юм. Дүрэмтэй ажиллах процесс дүрмийн файлд байгаа хамгийн эхний дүрмээр эхлэн цааш дүрмүүдийг нэг нэгээр уншин, файлын төгсгөл хүртэл эсвэл пакет аль нэг дүрмийн сонголтын шалгуурт тохирч галт ханыг орхих хүртэл үргэлжилнэ. 100, 101, 450, 500, ба 510 дугаартай дүрмүүдийн байрлалыг сайн анзаарах хэрэгтэй. Эдгээр дүрмүүд нь гадагшаа болон дотогшоо чиглэлтэй пакетуудын хөрвүүлэлтийг удирдах бөгөөд ингэснээр keep-state динамик хүснэгтэн дэх тэдгээрт харгалзах мөрөнд хувийн LAN IP хаяг бүртгэгдсэн байх нөхцөлийг хангана. Дараа нь, бүх зөвшөөрөх болон татгалзах дүрмүүдэд пакетийн явж буй чиглэл (өөрөөр хэлбэл гадагшаа эсвэл дотогшоо) ба интерфэйсийг зааж өгсөн байгааг анзаараарай. Мөн гадагшаа сесс эхлүүлэх хүсэлтүүд, сүлжээний хаягийн хөрвүүлэлтийн бүх skipto дүрмүүд 500-с эхэлж байгааг анзаарна уу. Нэгэн LAN хэрэглэгч вэб хуудас үзэхийн тулд вэб хөтчийг хэрэглэж байна гэж бодъё. Веб хуудсууд 80-р портыг ашиглан холбогдоно. Пакет галт хананд ирнэ, гадагшаа чиглэж байгаа тул 100-р дүрмэнд тохирохгүй. 101-р дүрмийг мөн өнгөрнө, яагаад гэвэл энэ нь хамгийн анхны пакет тул keep-state динамик хүснэгтэнд хараахан бичигдэж амжаагүй байгаа. Пакет эцэст нь 125-р дүрэм дээр ирж, дүрэмд таарна. Энэ пакет Интернэт уруу харсан NIC-р гадагшаа гарч байгаа. пакетийн эхлэл IP хаяг нь хувийн LAN IP хаяг хэвээр байгаа. Энэ дүрмэнд таарах үед хоёр үйлдэл хийгдэнэ. keep-state тохируулга энэ дүрмийг keep-state динамик дүрмийн хүснэгтэнд нэмнэ, мөн зааж өгсөн үйлдлийг гүйцэтгэнэ. Үйлдэл нь динамик хүснэгтэд нэмэгдсэн мэдээллийн нэг хэсэг байна. Энэ тохиолдолд "skipto rule 500" байна. 500-р дүрэм нь пакетийн IP хаягийг NAT хийж, пакетийг гадагш явуулна. Үүнийг бүү мартаарай, энэ бол маш чухал шүү. Энэ пакет өөрийн замаар хүрэх газраа хүрээд буцаж ирэхдээ мөн л энэ дүрмийн олонлогийг дайрна. Энэ үед харин 100-р дүрэмд тохирч, очих IP хаяг нь буцаж харгалзах LAN IP хаяг уруу хөрвүүлэгдэнэ. Дараа нь check-state дүрмээр гарах ба хүснэгтэнд явагдаж байгаа сесс харилцаанд оролцож байгаа гэж тэмдэглэгдсэн тул цааш LAN уруу нэвтрэн орно. Тэгээд өөрийг нь анх явуулсан LAN PC уруу очих ба алсын серверээс өөр хэсэг өгөгдлийг авахыг хүссэн шинэ пакетийг явуулна. Энэ удаа энэ пакет check-state дүрмээр шалгагдах ба түүний гадагшаа урсгалд харгалзах мөр олдох тул харгалзах үйлдэл 'skipto 500'-г гүйцэтгэнэ. Пакет 500-р мөр уруу үсэрч NAT хийгдэн цааш өөрийн замаар явах болно. Дотогшоо урсгал дээр, идэвхтэй сесс харилцаанд оролцож байгаа гаднаас ирж байгаа бүх зүйлс автоматаар check-state дүрмээр болон зохих divert natd дүрмүүдээр шийдэгдэнэ. Энд бидний хийх ёстой зүйл бол хэрэггүй пакетуудыг татгалзаж, зөвшөөрөгдсөн үйлчилгээг нэвтрүүлэх юм. Галт ханын байгаа машин дээр апачи сервер ажиллаж байна, тэгээд Интернэтээс хүмүүс энэ дотоод вэб сайт уруу хандаж байна гэж бодъё. Шинэ дотогшоо сесс эхлүүлэх хүсэлтийн пакет 100-р дүрэмд тохирох бөгөөд түүний IP хаяг галт ханын LAN IP хаяг уруу оноолт хийгдэнэ. Дараа нь энэ пакет цааш бүх дүрмүүдээр шалгагдан эцэст нь 425-р дүрэмд тохирно. Энэ дүрэмд таарах үед хоёр үйлдэл хийгдэнэ. Энэ дүрэм keep-state динамик дүрмийн хүснэгтэнд нэмэгдэнэ, мөн зааж өгсөн үйлдлийг гүйцэтгэнэ. Гэвч энэ тохиолдолд энэ эхлэл IP хаягнаас эхэлсэн шинэ сесс эхлүүлэх хүсэлтийн тоо 2-оор хязгаарлагдана. Энэ нь тодорхой порт дээр ажиллаж байгаа үйлчилгээний хувьд DoS халдлагаас хамгаална. Харгалзах үйлдэл нь зөвшөөрөгдсөн тул пакет LAN уруу нэвтэрнэ. Буцах замд check-state дүрэм энэ пакетийг идэвхтэй сесс харилцаанд хамаарч байгааг таних тул 500-р дүрэм уруу шилжүүлэн, пакет тэнд NAT хийгдээд цааш гадагшаа интерфэйсээр гарна. Жишээ дүрмийн олонлог #1: #!/bin/sh cmd="ipfw -q add" skip="skipto 500" pif=rl0 ks="keep-state" good_tcpo="22,25,37,43,53,80,443,110,119" ipfw -q -f flush $cmd 002 allow all from any to any via xl0 # exclude LAN traffic $cmd 003 allow all from any to any via lo0 # exclude loopback traffic $cmd 100 divert natd ip from any to any in via $pif $cmd 101 check-state # Authorized outbound packets $cmd 120 $skip udp from any to xx.168.240.2 53 out via $pif $ks $cmd 121 $skip udp from any to xx.168.240.5 53 out via $pif $ks $cmd 125 $skip tcp from any to any $good_tcpo out via $pif setup $ks $cmd 130 $skip icmp from any to any out via $pif $ks $cmd 135 $skip udp from any to any 123 out via $pif $ks # Deny all inbound traffic from non-routable reserved address spaces $cmd 300 deny all from 192.168.0.0/16 to any in via $pif #RFC 1918 private IP $cmd 301 deny all from 172.16.0.0/12 to any in via $pif #RFC 1918 private IP $cmd 302 deny all from 10.0.0.0/8 to any in via $pif #RFC 1918 private IP $cmd 303 deny all from 127.0.0.0/8 to any in via $pif #loopback $cmd 304 deny all from 0.0.0.0/8 to any in via $pif #loopback $cmd 305 deny all from 169.254.0.0/16 to any in via $pif #DHCP auto-config $cmd 306 deny all from 192.0.2.0/24 to any in via $pif #reserved for docs $cmd 307 deny all from 204.152.64.0/23 to any in via $pif #Sun cluster $cmd 308 deny all from 224.0.0.0/3 to any in via $pif #Class D & E multicast # Authorized inbound packets $cmd 400 allow udp from xx.70.207.54 to any 68 in $ks $cmd 420 allow tcp from any to me 80 in via $pif setup limit src-addr 1 $cmd 450 deny log ip from any to any # This is skipto location for outbound stateful rules $cmd 500 divert natd ip from any to any out via $pif $cmd 510 allow ip from any to any ######################## end of rules ################## Дараах жишээ дээрхтэй нилээд төстэй боловч туршлагагүй IPFW дүрэм бичигчид зориулан дүрмүүд юунд зориулагдсаныг тайлбарласан тайлбартай байгаагаараа онцлог юм. Жишээ дүрмийн олонлог #2: #!/bin/sh ################ Start of IPFW rules file ############################### # Flush out the list before we begin. ipfw -q -f flush # Set rules command prefix cmd="ipfw -q add" skip="skipto 800" pif="rl0" # public interface name of NIC # facing the public Internet ################################################################# # No restrictions on Inside LAN Interface for private network # Change xl0 to your LAN NIC interface name ################################################################# $cmd 005 allow all from any to any via xl0 ################################################################# # No restrictions on Loopback Interface ################################################################# $cmd 010 allow all from any to any via lo0 ################################################################# # check if packet is inbound and nat address if it is ################################################################# $cmd 014 divert natd ip from any to any in via $pif ################################################################# # Allow the packet through if it has previous been added to the # the "dynamic" rules table by a allow keep-state statement. ################################################################# $cmd 015 check-state ################################################################# # Interface facing Public Internet (Outbound Section) # Interrogate session start requests originating from behind the # firewall on the private network or from this gateway server # destine for the public Internet. ################################################################# # Allow out access to my ISP's Domain name server. # x.x.x.x must be the IP address of your ISP's DNS # Dup these lines if your ISP has more than one DNS server # Get the IP addresses from /etc/resolv.conf file $cmd 020 $skip tcp from any to x.x.x.x 53 out via $pif setup keep-state # Allow out access to my ISP's DHCP server for cable/DSL configurations. $cmd 030 $skip udp from any to x.x.x.x 67 out via $pif keep-state # Allow out non-secure standard www function $cmd 040 $skip tcp from any to any 80 out via $pif setup keep-state # Allow out secure www function https over TLS SSL $cmd 050 $skip tcp from any to any 443 out via $pif setup keep-state # Allow out send & get email function $cmd 060 $skip tcp from any to any 25 out via $pif setup keep-state $cmd 061 $skip tcp from any to any 110 out via $pif setup keep-state # Allow out FreeBSD (make install & CVSUP) functions # Basically give user root "GOD" privileges. $cmd 070 $skip tcp from me to any out via $pif setup keep-state uid root # Allow out ping $cmd 080 $skip icmp from any to any out via $pif keep-state # Allow out Time $cmd 090 $skip tcp from any to any 37 out via $pif setup keep-state # Allow out nntp news (i.e. news groups) $cmd 100 $skip tcp from any to any 119 out via $pif setup keep-state # Allow out secure FTP, Telnet, and SCP # This function is using SSH (secure shell) $cmd 110 $skip tcp from any to any 22 out via $pif setup keep-state # Allow out whois $cmd 120 $skip tcp from any to any 43 out via $pif setup keep-state # Allow ntp time server $cmd 130 $skip udp from any to any 123 out via $pif keep-state ################################################################# # Interface facing Public Internet (Inbound Section) # Interrogate packets originating from the public Internet # destine for this gateway server or the private network. ################################################################# # Deny all inbound traffic from non-routable reserved address spaces $cmd 300 deny all from 192.168.0.0/16 to any in via $pif #RFC 1918 private IP $cmd 301 deny all from 172.16.0.0/12 to any in via $pif #RFC 1918 private IP $cmd 302 deny all from 10.0.0.0/8 to any in via $pif #RFC 1918 private IP $cmd 303 deny all from 127.0.0.0/8 to any in via $pif #loopback $cmd 304 deny all from 0.0.0.0/8 to any in via $pif #loopback $cmd 305 deny all from 169.254.0.0/16 to any in via $pif #DHCP auto-config $cmd 306 deny all from 192.0.2.0/24 to any in via $pif #reserved for docs $cmd 307 deny all from 204.152.64.0/23 to any in via $pif #Sun cluster $cmd 308 deny all from 224.0.0.0/3 to any in via $pif #Class D & E multicast # Deny ident $cmd 315 deny tcp from any to any 113 in via $pif # Deny all Netbios service. 137=name, 138=datagram, 139=session # Netbios is MS/Windows sharing services. # Block MS/Windows hosts2 name server requests 81 $cmd 320 deny tcp from any to any 137 in via $pif $cmd 321 deny tcp from any to any 138 in via $pif $cmd 322 deny tcp from any to any 139 in via $pif $cmd 323 deny tcp from any to any 81 in via $pif # Deny any late arriving packets $cmd 330 deny all from any to any frag in via $pif # Deny ACK packets that did not match the dynamic rule table $cmd 332 deny tcp from any to any established in via $pif # Allow traffic in from ISP's DHCP server. This rule must contain # the IP address of your ISP's DHCP server as it's the only # authorized source to send this packet type. # Only necessary for cable or DSL configurations. # This rule is not needed for 'user ppp' type connection to # the public Internet. This is the same IP address you captured # and used in the outbound section. $cmd 360 allow udp from x.x.x.x to any 68 in via $pif keep-state # Allow in standard www function because I have Apache server $cmd 370 allow tcp from any to me 80 in via $pif setup limit src-addr 2 # Allow in secure FTP, Telnet, and SCP from public Internet $cmd 380 allow tcp from any to me 22 in via $pif setup limit src-addr 2 # Allow in non-secure Telnet session from public Internet # labeled non-secure because ID & PW are passed over public # Internet as clear text. # Delete this sample group if you do not have telnet server enabled. $cmd 390 allow tcp from any to me 23 in via $pif setup limit src-addr 2 # Reject & Log all unauthorized incoming connections from the public Internet $cmd 400 deny log all from any to any in via $pif # Reject & Log all unauthorized out going connections to the public Internet $cmd 450 deny log all from any to any out via $pif # This is skipto location for outbound stateful rules $cmd 800 divert natd ip from any to any out via $pif $cmd 801 allow ip from any to any # Everything else is denied by default # deny and log all packets that fell through to see what they are $cmd 999 deny log all from any to any ################ End of IPFW rules file ############################### diff --git a/mn_MN.UTF-8/books/handbook/mirrors/chapter.sgml b/mn_MN.UTF-8/books/handbook/mirrors/chapter.sgml index 21c7de9359..6da2c1c8bb 100644 --- a/mn_MN.UTF-8/books/handbook/mirrors/chapter.sgml +++ b/mn_MN.UTF-8/books/handbook/mirrors/chapter.sgml @@ -1,3250 +1,3231 @@ FreeBSD-г олж авах нь CDROM болон DVD Нийтлэгчид Жижиглэнгийн хайрцагласан бүтээгдэхүүнүүд FreeBSD нь хайрцагласан бүтээгдэхүүн хэлбэрээр (FreeBSD CD-үүд, нэмэлт програм хангамж, болон хэвлэсэн баримт) хэд хэдэн жижиглэн худалдаалагчдаас гардаг:
CompUSA WWW:
Frys Electronics WWW:
CD болон DVD цуглуулгууд FreeBSD CD болон DVD цуглуулгуудыг олон жижиглэн худалдаалагчдаас шууд худалдан авах боломжтой байдаг:
BSD Mall by Daemon News PO Box 161 Nauvoo, IL 62354 USA Утас: +1 866 273-6255 Факс: +1 217 453-9956 Email: sales@bsdmall.com WWW:
- -
- BSD-Systems - Email: info@bsd-systems.co.uk - WWW: -
-
-
FreeBSD Mall, Inc. 3623 Sanford Street Concord, CA 94520-1405 USA Утас: +1 925 240-6652 Факс: +1 925 674-0821 Email: info@freebsdmall.com WWW:
Dr. Hinner EDV St. Augustinus-Str. 10 D-81825 München Germany Утас: (089) 428 419 WWW:
Ikarios 22-24 rue Voltaire 92000 Nanterre France WWW:
JMC Software Ireland Утас: 353 1 6291282 WWW:
- -
- Linux CD Mall - Private Bag MBE N348 - Auckland 1030 - New Zealand - Утас: +64 21 866529 - WWW: -
-
-
The Linux Emporium Hilliard House, Lester Way Wallingford OX10 9TA United Kingdom Утас: +44 1491 837010 Факс: +44 1491 837016 - WWW: + WWW:
Linux+ DVD Magazine Lewartowskiego 6 Warsaw 00-190 Poland Утас: +48 22 860 18 18 Email: editors@lpmagazine.org WWW:
Linux System Labs Australia 21 Ray Drive Balwyn North VIC - 3104 Australia Утас: +61 3 9857 5918 Факс: +61 3 9857 8974 WWW:
LinuxCenter.Ru Galernaya Street, 55 Saint-Petersburg 190000 Russia Утас: +7-812-3125208 Email: info@linuxcenter.ru - WWW: + WWW:
Түгээгчид Хэрэв та дахин худалдагч бөгөөд FreeBSD CDROM бүтээгдэхүүнүүдийг тараахыг хүсэж байгаа бол түгээгч буюу дистрибьюторт хандана уу:
Cylogistics 809B Cuesta Dr., #2149 Mountain View, CA 94040 USA Утас: +1 650 694-4949 Факс: +1 650 694-4953 Email: sales@cylogistics.com WWW:
Ingram Micro 1600 E. St. Andrew Place Santa Ana, CA 92705-4926 USA Утас: 1 (800) 456-8000 WWW:
Kudzu, LLC 7375 Washington Ave. S. Edina, MN 55439 USA Утас: +1 952 947-0822 Факс: +1 952 947-0876 Email: sales@kudzuenterprises.com
LinuxCenter.Ru Galernaya Street, 55 Saint-Petersburg 190000 Russia Утас: +7-812-3125208 Email: info@linuxcenter.ru WWW:
Navarre Corp 7400 49th Ave South New Hope, MN 55428 USA Утас: +1 763 535-8333 Факс: +1 763 535-0341 WWW:
FTP сайтууд FreeBSD-д зориулсан абан ёсны эхүүдийг дэлхий даяар байрласан толин тусгал сайтуудаас авч болно. сайт нь сайн холбогдсон бөгөөд маш олон тооны холболтуудыг зөвшөөрдөг. Гэхдээ та илүү ойр толин тусгал сайтыг хайж олсон нь дээр биз ээ (ялангуяа хэрэв та ямар нэгэн толин тусгал маягийн сайт тохируулж ажиллуулахыг хүсвэл). FreeBSD толин тусгал сайтуудын мэдээллийн бааз нь Гарын авлага дахь толин тусгалын жагсаалтаас илүү зөв байдаг. Учир нь энэ нь хостуудын статик жагсаалтад тулгуурлалгүй өөрийн мэдээллээ DNS серверээс авдаг юм. Мөн FreeBSD нь дараах толин тусгал сайтууд дахь нэргүй FTP-ээс авч болохоор байдаг. Хэрэв та нэргүй FTP-ээс FreeBSD-г авахыг сонговол өөртөө аль болох ойр сайтыг ашиглаад үзээрэй. Primary Mirror Sites буюу үндсэн толин тусгал сайтууд дахь толин тусгал сайтууд нь бүхэл FreeBSD архивыг (архитектур болгонд зориулсан одоо байгаа бүх хувилбарууд) ихэвчлэн агуулдаг боловч танай улс юм уу эсвэл бүсэд байрлаж байгаа сайтаас татаж авахад танд илүү хурдан байх болов уу. Бүсийн сайтууд нь хамгийн түгээмэл архитектуруудад зориулсан хамгийн сүүлийн үеийн хувилбаруудыг агуулдаг боловч FreeBSD-ийн бүх архивыг агуулаагүй байж болох юм. Бүх сайтууд нь нэргүй FTP-ээр хандах боломжийг олгодог. Зарим сайтууд нь бас бусад аргуудаар хандах боломжийг олгодог. Сайт болгоны хувьд хандах аргууд нь хостын нэрийн дараа хаалтанд өгөгдсөн байгаа болно. &chap.mirrors.ftp.inc; Нэргүй CVS <anchor id="anoncvs-intro">Танилцуулга CVS нэргүй Нэргүй CVS (эсвэл өөрөөр anoncvs гэгддэг) нь алсын CVS архивтай синхрончлол хийгдэхэд зориулагдсан FreeBSD-тэй цуг багцлагдсан CVS хэрэгслүүдийн үзүүлдэг боломж юм. Мөн FreeBSD-ийн хэрэглэгчдэд ямар нэгэн зөвшөөрлүүдгүйгээр зөвхөн унших эрхтэй CVS үйлдлүүдийг FreeBSD төслийн албан ёсны anoncvs серверүүдийн аль нэг дээр хийх боломжийг олгодог. Ашиглахын тулд CVSROOT орчны хувьсагчийг тохирох anoncvs сервер руу зааж cvs login тушаалд бүгдийн мэддэг anoncvs нууц үгийг өгч дараа нь &man.cvs.1; тушаал ашиглан локал архивт хандаж байгаа шигээр хандана. cvs login тушаал нь CVS серверт өөрийгээ таниулан нэвтрэхэд хэрэглэгдсэн нууц үгсийг таны HOME санд .cvspass файлд хадгалдаг.Хэрэв энэ файл байхгүй бол таныг cvs login тушаалыг эхний удаа ашиглахаар оролдоход алдаа гарч болох юм. Ердөө л хоосон .cvspass файл үүсгээд нэвтрэхийг оролдоорой. CVSup болон anoncvs үйлчилгээнүүд нь хоюул үндсэндээ адил үүргийг гүйцэтгэдэг гэж бас хэлж болох боловч синхрончлол хийх аргуудын хэрэглэгчийн сонголтод нөлөөлж болох төрөл бүрийн сул болон давуу талуудтай байдаг. Товчхондоо CVSup нь өөрийн сүлжээний эх үүсвэрүүдийн хэрэглээндээ илүү үр ашигтай бөгөөд техникийн хувьд хамгийн ухаалаг нь боловч ажиллагаа ихтэй байдаг. CVSup-г ашиглахын тулд эхүүдийг авч эхлэхээсээ өмнө тусгай клиентийг эхлээд суулгаж тохируулсан байх ёстой бөгөөд зөвхөн дараа нь нэлээн том хэмжээтэй хэсгүүдээр CVSup нь цуглуулгуудыг дууддаг. Харин Anoncvs-г нэг файлаас авахуулаад тусгай програм (ls эсвэл grep гэх зэрэг) хүртэлх бүгдийг CVS модулийн нэрээр нь шалгахад ашиглаж болно. Мэдээж anoncvs нь CVS архив дээрх зөвхөн уншигдах үйлдлүүдэд бас сайн болохоор хэрэв та FreeBSD төслийн хэсгүүдтэй хуваалцсан нэг архив дахь локал хөгжүүлэлтийг дэмжих зорилготой байгаа бол CVSup нь таны цорын ганц сонголт байх юм. <anchor id="anoncvs-usage">Нэргүй CVS-г ашиглах нь Ердөө л CVSROOT орчны хувьсагчийг FreeBSD төслийн anoncvs серверүүдийн аль нэг уруу зааснаар &man.cvs.1;-ийг нэргүй CVS архив ашиглахаар тохируулах юм. Биднийг энэ баримтыг бичиж байх үед дараах серверүүд байгааг дурдав: Австри: :pserver:anoncvs@anoncvs.at.FreeBSD.org:/home/ncvs (cvs login тушаалыг ашиглаж асуух үед нь дурын нууц үг оруулна.) Франц: :pserver:anoncvs@anoncvs.fr.FreeBSD.org:/home/ncvs (pserver (нууц үг anoncvs), ssh (нууц үггүй)) Герман: :pserver:anoncvs@anoncvs.de.FreeBSD.org:/home/ncvs (rsh, pserver, ssh, ssh/2022) Япон: :pserver:anoncvs@anoncvs.jp.FreeBSD.org:/home/ncvs (cvs login тушаалыг ашиглаж асуух үед нь anoncvs нууц үгийг оруулна.) Тайвань: :pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs (pserver (cvs login тушаалыг ашиглаж асуух үед нь дурын нууц үг оруулна), ssh (нууц үггүй)) SSH2 HostKey: 1024 e8:3b:29:7b:ca:9f:ac:e9:45:cb:c8:17:ae:9b:eb:55 /etc/ssh/ssh_host_dsa_key.pub АНУ: freebsdanoncvs@anoncvs.FreeBSD.org:/home/ncvs (зөвхөн ssh - нууц үггүй) SSH HostKey: 1024 a1:e7:46:de:fb:56:ef:05:bc:73:aa:91:09:da:f7:f4 root@sanmateo.ecn.purdue.edu SSH2 HostKey: 1024 52:02:38:1a:2f:a8:71:d3:f5:83:93:8d:aa:00:6f:65 ssh_host_dsa_key.pub АНУ: anoncvs@anoncvs1.FreeBSD.org:/home/ncvs (зөвхөн ssh2 - нууц үггүй) SSH2 HostKey: 2048 53:1f:15:a3:72:5c:43:f6:44:0e:6a:e9:bb:f8:01:62 /etc/ssh/ssh_host_dsa_key.pub CVS нь FreeBSD-ийн хэзээ нэгэн цагт байсан (эсвэл зарим тохиолдолд ирээдүйд байх) эхүүдийн бараг л дурын хувилбарыг check out буюу шалгаж авах боломжийг олгодог болохоор та &man.cvs.1;-ийн залруулалт () туг болон түүнд зориулагдсан зарим зөвшөөрөгдөх ямар утгууд FreeBSD төслийн архивт байдгийг мэддэг байх хэрэгтэй. Залруулалтын хаягууд болон салбарын хаягууд гэсэн хоёр төрлийн хаяг байдаг. Залруулалтын хаяг нь тухайн залруулалтыг заадаг. Үүний утга нь өдрөөс өдөрт ижил хэвээр байна. Нөгөө талаас салбарын хаяг нь ямар ч үед хөгжүүлэлтийн өгөгдсөн шугам дахь хамгийн сүүлийн залруулалтыг заадаг. Салбарын хаяг нь тухайн нэг залруулалтыг заадаггүй болохоор үүний маргаашийн утга нь өнөөдрийнхөөс өөр байж болох юм. нь хэрэглэгчдийн сонирхож болох залруулалтуудын хаягуудыг агуулдаг. Дахин хэлэхэд портын цуглуулга нь хөгжүүлэлтийн олон салбаргүй учир эдгээрийн аль нь ч портын цуглуулгын хувьд зөв биш юм. Та салбарын хаягийг заах юм бол тэр хөгжүүлэлтийн шугам дахь файлуудын сүүлийн хувилбаруудыг хүлээн авах болно. Хэрэв та ямар нэг өнгөрсөн хувилбарыг хүлээн авахыг хүсэж байгаа бол тугаар огноог заан тэгж хийж болно. Илүү дэлгэрэнгүйг &man.cvs.1; гарын авлагын хуудаснаас үзнэ үү. Жишээнүүд Ямар нэг юм хийхээсээ өмнө &man.cvs.1;-ийн гарын авлагын хуудсыг нэг бүрчлэн уншихыг зөвлөдөг хэдий ч нэргүй CVS-ийг хэрхэн ашиглахыг харуулж байгаа зарим жишээнүүдийг энд үзүүлэв: -CURRENT-с ямар нэгэн зүйл шалгаж авах нь (&man.ls.1;): &prompt.user; setenv CVSROOT :pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs &prompt.user; cvs login Хүлээх мөрөн дээр дурын үгийг нууц үг болгон ашиглаарай. &prompt.user; cvs co ls <filename>src/</filename> модыг шалгаж авахын тулд SSH-г ашиглах нь: &prompt.user; cvs -d freebsdanoncvs@anoncvs.FreeBSD.org:/home/ncvs co src The authenticity of host 'anoncvs.freebsd.org (128.46.156.46)' can't be established. DSA key fingerprint is 52:02:38:1a:2f:a8:71:d3:f5:83:93:8d:aa:00:6f:65. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added 'anoncvs.freebsd.org' (DSA) to the list of known hosts. 6-STABLE салбар дахь &man.ls.1;-ийн хувилбарыг шалгаж авах нь: &prompt.user; setenv CVSROOT :pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs &prompt.user; cvs login Хүлээх мөрөн дээр дурын үгийг нууц үг болгон ашиглаарай. &prompt.user; cvs co -rRELENG_6 ls &man.ls.1;-д хийгдсэн өөрчлөлтүүдийн жагсаалтыг (нэгдсэн ялгаанууд хэлбэрээр) үүсгэх нь &prompt.user; setenv CVSROOT :pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs &prompt.user; cvs login Хүлээх мөрөн дээр дурын үгийг нууц үг болгон ашиглаарай. &prompt.user; cvs rdiff -u -rRELENG_5_3_0_RELEASE -rRELENG_5_4_0_RELEASE ls Өөр бусад ямар модулийн нэрс ашиглагдаж болохыг олох нь: &prompt.user; setenv CVSROOT :pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs &prompt.user; cvs login Хүлээх мөрөн дээр дурын үгийг нууц үг болгон ашиглаарай. &prompt.user; cvs co modules &prompt.user; more modules/modules Бусад эх үүсвэрүүд Дараах нэмэлт эх үүсвэрүүд нь CVS-ийг сурахад тус болж болох юм: Кал Полигийн CVS заавар. CVS гэр, CVS-ийн хөгжүүлэлт болон дэмжлэгийн нийгэм. CVSweb нь FreeBSD төслийн CVS-д зориулсан вэб интерфэйс юм. CTM-г ашиглах нь CTM CTM нь алсын сангийн модыг төвтэй синхрончлол хийхэд зориулсан арга юм. Энэ нь FreeBSD-ийн эх моднуудтай ашиглахад зориулагдаж хөгжүүлэгдсэн бөгөөд цаг хугацаа өнгөрөх тусам бусад хүмүүс бусад зорилгоор хэрэглэхэд ашигтайг мэдэж болох юм. Дельтанууд үүсгэх процессийн талаар бараг баримт байхгүй болохоор бас хэрэв та CTM-г бусад зүйлсэд зориулж ашиглахыг хүсэж байгаа бол дэлгэрэнгүй мэдээллийн талаар &a.ctm-users.name; захидлын жагсаалтад хандана уу. <application>CTM</application>-г би яагаад ашиглах ёстой вэ? CTM нь танд FreeBSD эх моднуудын локал хуулбарыг өгдөг. Модны төрөл бүрийн хэлбэрүүд байдаг. Таны бүхэл CVS мод эсвэл аль нэг салбаруудын нэгийг дагахыг хүсэж байгаагаас хамаарч CTM нь танд мэдээлэл өгч чадна. Та FreeBSD-ийн идэвхтэй хөгжүүлэгч боловч олиггүй юм уу эсвэл TCP/IP холболт байхгүй эсвэл өөрчлөлтүүдийг автоматаар тан руу илгээгддэг байлгахыг хүсэж байгаа бол CTM нь танд зориулагджээ. Та хамгийн идэвхтэй салбаруудын хувьд өдөрт гурав хүртэлх дельтануудыг авах хэрэгтэй болно. Гэхдээ та тэдгээрийг автомат цахим захидлаар илгээгддэг байхыг бодох хэрэгтэй. Шинэчлэлтүүдийн хэмжээг үргэлж аль болох бага байлгадаг. Энэ ихэвчлэн 5K-с бага байдаг, хааяа (арваас нэгт) 10-50K хэмжээтэй байдаг бөгөөд заримдаа том 100K+ эсвэл илүү бас байдаг. Та урьдчилан багцалсан хувилбарын оронд хөгжүүлэлтийн эхүүд дээр шууд ажиллахтай холбоотой гардаг төрөл бүрийн анхааруулгуудын талаар бас мэдэж байх хэрэгтэй болно. Энэ нь таныг current эхүүдийг сонгох тохиолдолд ялангуяа үнэн байдаг. Таныг FreeBSD-ийн одоо үеийн хэлбэрт байх нь хэсгийг уншихыг зөвлөдөг. <application>CTM</application>-г ашиглахад надад юу хэрэгтэй вэ? Танд хоёр зүйл хэрэгтэй: CTM програм болон түүнийг тэжээх эхний дельтанууд (current түвшингүүдэд хүрэхийн тулд). CTM програм нь хувилбар 2.0 гарснаас хойш FreeBSD-ийн хэсэг болж ирсэн бөгөөд хэрэв танд эх байгаа бол энэ нь /usr/src/usr.sbin/ctm санд байдаг. CTM-г тэжээх дельтануудыг нь FTP эсвэл цахим захидал гэсэн хоёр аргаар авч болно. Хэрэв танд Интернет уруу хандах ерөнхий FTP хандалт байгаа бол дараах FTP сайтууд нь CTM-д хандахыг дэмждэг: эсвэл толин тусгалууд хаягийг үзнэ үү. тохирох сан руу FTP хийгээд README файлыг татаж аваад тэндээс эхлээрэй. Хэрэв та өөрийн дельтануудыг цахим захидлаар авахыг хүсэж байгаа бол: CTM түгээлтийн жагсаалтуудын аль нэгэнд бүртгүүлэх хэрэгтэй. &a.ctm-cvs-cur.name; нь бүхэл CVS модыг дэмждэг. &a.ctm-src-cur.name; нь хөгжүүлэлтийн салбарын толгойг дэмждэг. &a.ctm-src-4.name; нь 4.X хувилбарыг дэмждэг, гэх мэт. (Хэрэв та өөрийгөө жагсаалтад хэрхэн бүртгүүлэхийг мэдэхгүй байгаа бол дээрх жагсаалтын нэрэн дээр дарах юм уу эсвэл &a.mailman.lists.link; уруу очоод өөрийн хүсэж байгаа жагсаалтан дээрээ дарах хэрэгтэй. Бүртгэхэд шаардлагатай бүгдийг жагсаалтын хуудас агуулсан байх ёстой.) Өөрийн CTM шинэчлэлтүүдийг хүлээн авч эхлэхдээ та тэдгээрийг задалж ашиглахдаа ctm_rmail тушаал ашиглаж болох юм. Хэрэв та процессийг бүрэн автомат загвараар ажилладаг байлгахыг хүсэж байгаа бол /etc/aliases файл дахь оруулгаас ctm_rmail програмыг шууд ашиглаж болох юм. Илүү дэлгэрэнгүйг ctm_rmail-ийн гарын авлагын хуудаснаас шалгана уу. CTM дельтануудыг авах ямар аргыг ашиглаж байгаагаас үл хамааран та &a.ctm-announce.name; захидлын жагсаалтад бүртгүүлэх хэрэгтэй. Ирээдүйд CTM системийн ажиллагааны тухай зарлалууд илгээгдэх газар нь зөвхөн энэ болох юм. Дээрх жагсаалтын нэрэн дээр дарж жагсаалтад бүртгүүлэхийн тулд заавруудыг дагах хэрэгтэй. <application>CTM</application>-г эхний удаа хэрэглэх CTM дельтануудыг ашиглаж эхлэхээсээ өмнө дельтанууд дараа дараагийн удаа үүсгэгдэхэд нь зориулж та эхлэх цэг дээр ирэх хэрэгтэй болно. Танд юу байгааг эхлээд тодорхойлох хэрэгтэй. Бүгд хоосон сангаас эхэлж болно. Өөрийн CTM-ээр дэмжигдсэн модыг эхлүүлэхийн тулд та эхний Empty буюу хоосон дельтаг ашиглах ёстой. Тодорхой нэг цэгт эдгээр started буюу эхэлсэн дельтануудын аль нэгийг өөрийн хүслээр CD дээр түгээж болохоор энэ нь зориулагдсан боловч одоогоор тийм юм болоогүй байгаа билээ. Моднууд нь хэдэн арван мегабайт байдаг болохоор өөртөө байгаагаас эхлэхийг эрхэмлэх ёстой юм. Хэрэв танд -RELEASE CD байгаа бол та эхний эхийг түүнэс хуулж эсвэл задалж болох юм. Энэ нь өгөгдлийн чухал дамжуулалтыг хэмнэх болно. Та эдгээр starter буюу эхлэх дельтануудыг дугаарт нэмэгдсэн X-ээр таньж болно (жишээ нь src-cur.3210XEmpty.gz). X-ийн дараах тэмдэглээс нь таны эхний seed буюу үрийн үүсэлд харгалзана. Дүрмээр бол Empty буюу хоосноос шилжих үндсэн шилжилт нь 100 дельта бүрээс үүсгэгдэнэ. Ингэхэд тэдгээр нь том байна! XEmpty дельтануудын хувьд 70-аас 80 мегабайт gzip хийгдсэн өгөгдөл нь нийтлэг байдаг. Эхлэх анхдагч дельтаг сонгосны дараа танд түүний дараах өндөр дугааруудтай бүх дельтанууд хэрэгтэй болно. Өөрийн өдөр тутмын амьдралдаа <application>CTM</application>-г ашиглах нь Дельтануудыг өгөхийн тулд ердөө л доор дурдсаныг хийнэ: &prompt.root; cd /where/ever/you/want/the/stuff &prompt.root; ctm -v -v /where/you/store/your/deltas/src-xxx.* CTM нь gzip-ээр тавигдсан дельтануудыг ойлгодог болохоор та тэдгээрийг эхлээд gunzip хийх хэрэггүй юм. Энэ нь дискний зай хэмнэх болно. Бүх процессийн талаар маш нууцлаг гэж бодоогүй л бол CTM нь таны модыг хөндөхгүй байх болно. Дельтаг шалгахын тулд та тугийг бас ашиглаж болох бөгөөд CTM нь таны модыг үнэндээ хөндөхгүй; энэ нь зөвхөн дельтаны бүрэн бүтэн байдлыг шалгаж таны одоогийн модонд цэвэр хийгдэх эсэхийг л үздэг. CTM-д өгөгдөх бусад сонголтууд бас байдаг бөгөөд эдгээрийг гарын авлагын хуудаснуудаас үзнэ үү, эсвэл илүү дэлгэрэнгүйг эхүүдээс хайна уу. Ингээд л бүгд бараг болж байна. Шинэ дельта авах бүртээ өөрийн эхүүдийг хамгийн сүүлийн хувилбарт аваачихын тулд түүнийг CTM-ээр ажиллуулах хэрэгтэй. Дельтануудыг дахин татаж авахад хэцүү байгаа бол битгий устгаарай. Ямар нэг муу юм болж болзошгүй гэж үзээд тэдгээрийг та хаа нэгтэй хадгалахыг хүсэж болох юм. Танд зөвхөн уян диск байсан ч гэсэн fdwrite тушаалыг ашиглан хуулбар хийх нь зүйтэй. Өөрийн локал өөрчлөлтүүдийг хадгалах нь Хөгжүүлэгчийн хувьд эх модыг өөрчлөх эсвэл түүн дээр турших хүсэл төрж болох юм. CTM нь локал өөрчлөлтүүдийг хязгаарлалттайгаар дэмждэг: foo файлыг байгаа эсэхийг шалгахын өмнө foo.ctm файлыг эхлээд хайдаг. Хэрэв энэ файл байвал CTM нь foo-ийн оронд энэ файл дээр ажилладаг. Энэ нь бидэнд локал өөрчлөлтүүдийг хялбараар арчлах боломжийг олгодог: өөрийн өөрчлөх төлөвлөгөөтэй байгаа файлуудаа .ctm өргөтгөлтэй болгон хуулах хэрэгтэй. Дараа нь та кодыг чөлөөтэй оролдож болох бөгөөд CTM нь .ctm файлыг хамгийн сүүлийн хэлбэрт байлгах болно. <application>CTM</application>-ийн бусад сонирхолтой сонголтууд Шинэчлэлтээр яг юу хөндөгдөхийг олох Та өөрийн эх архивт CTM-ийн хийх өөрчлөлтүүдийн жагсаалтыг сонголтыг CTM-д өгөн тодорхойлж болно. Та өөрчлөлтүүдийн бүртгэлүүдийг хадгалах, өөрчлөгдсөн файлуудад урьдчилан эсвэл дараа нь боловсруулалт хийх эсвэл ердөө л хэтэрхий зовниж байгаа бол энэ нь ашигтай юм. Шинэчлэхээсээ өмнө нөөцлөлтүүд хийх Заримдаа та CTM шинэчлэлтээр өөрчлөгдөх бүх файлуудыг нөөцөлж авахыг хүсэж болох юм. сонголтыг зааснаар CTM-ийг өгөгдсөн CTM дельтагаар хөндөгдөх бүх файлуудыг нөөцөлж backup-file руу хадгалахад хүргэнэ. Шинэчлэлтээр хөндөгдөх файлуудыг хязгаарлах Заримдаа та өгөгдсөн CTM шинэчлэлтийн хүрээг хязгаарлах сонирхолтой эсвэл дельтануудын дарааллаас цөөн хэдэн файлуудыг задлах сонирхолтой байж болох юм. CTM-ийн ажилладаг файлуудын жагсаалтыг та болон сонголтуудыг ашиглан шүүлт хийх регулар илэрхийллүүдийг заан хянаж болно. Жишээ нь өөрийн хадгалсан CTM дельтануудын цуглуулгаас lib/libc/Makefile-ийн хамгийн сүүлийн хуулбарыг задалж авахын тулд дараах тушаалуудыг ажиллуулна: &prompt.root; cd /where/ever/you/want/to/extract/it/ &prompt.root; ctm -e '^lib/libc/Makefile' ~ctm/src-xxx.* CTM дельтанд заагдсан файл бүрийн хувьд тушаалын мөрөнд өгөгдсөн дарааллаар болон сонголтуудыг өгсөн. Файл нь бүх болон сонголтууд түүнд өгөгдсөний дараа зөвхөн сонгогдох эрхтэй гэж тэмдэглэгдсэн бол CTM-ээр боловсруулагддаг. <application>CTM</application>-ийн ирээдүйн төлөвлөгөөнүүд Маш их: CTM-ийн хуурамч шинэчлэлтүүдийг илрүүлэхийн тулд CTM системд ямар нэгэн нэвтрэлт танилт ашиглах. CTM-ийн сонголтуудыг цэвэрлэх, тэдгээр нь толгой эргүүлэм, зөн совингийн эсрэг болсон. Бусад зүйлс ports цуглуулгад зориулсан дельтануудын дараалал бас байдаг боловч сонирхол тийм ч өндөр байдаггүй. CTM толин тусгалууд CTM/FreeBSD нь дараах толин тусгал сайтууд дахь нэргүй FTP-ээр хандаж авах боломжтой байдаг. Хэрэв та CTM-г нэргүй FTP-ээр авахыг сонгосон бол өөртөө ойр сайтыг оролдож үзнэ үү. Асуудал гарсан тохиолдолд &a.ctm-users.name; захидлын жагсаалтад хандана уу. Калифорни, Bay Area, албан ёсны эх Өмнөд Африк, хуучин дельтануудад зориулсан нөөц сервер Тайвань/R.O.C. Хэрэв та өөртөө ойрхон толин тусгалыг олоогүй бол эсвэл толин тусгал нь бүрэн биш байгаа бол alltheweb зэрэг хайлтын системийг ашиглаад үзээрэй. CVSup-г ашиглах нь Танилцуулга CVSup нь алсын сервер хост дээр байгаа мастер CVS архиваас эх модыг шинэчлэх болон түгээхэд зориулагдсан програм хангамжийн багц юм. FreeBSD-ийн эхүүд Калифорни дахь төв хөгжүүлэлтийн машин дээрх CVS архивт арчлагдаж байдаг. CVSup-ийн тусламжтай FreeBSD хэрэглэгчид өөрсдийн эх модыг хялбараар хамгийн сүүлийн хэлбэрт аваачиж чаддаг байна. CVSup нь шинэчлэлтийн pull буюу татах загварыг ашигладаг. Татах загвар дээр клиент бүр серверээс шинэчлэлтийг хүссэн үедээ эсвэл хэрэгтэй үедээ асуудаг. Сервер нь өөрийн хэрэглэгчдээс ирэх хүсэлтүүдийг идэвхгүйгээр хүлээж байдаг. Сервер хэзээ ч хүсээгүй шинэчлэлтүүдийг илгээдэггүй. Хэрэглэгчид нь шинэчлэлтийг авахын тулд CVSup клиентийг гараар ажиллуулах юм уу эсвэл түүнийг автоматаар давтамжтайгаар ажиллуулахын тулд cron ажил тохируулах ёстой болно. Ингэж том үсгээр бичсэн CVSup ухагдахуун нь бүхэл програм хангамжийн багцыг хэлнэ. Түүний гол бүрэлдэхүүн хэсгүүд нь хэрэглэгч бүрий машин дээр ажилладаг cvsup клиент, ба FreeBSD-ийн толин тусгал сайтууд дээр ажиллаж байдаг cvsupd сервер юм. FreeBSD-ийн баримт болон захидлын жагсаалтуудыг уншиж байхдаа та sup гэж хэлснийг харж болох юм. Sup нь CVSup-ийн өмнөх үе бөгөөд ижил зорилгоор ашиглагддаг байсан. CVSup нь sup-тай бараг л адилаар ашиглагддаг бөгөөд үнэндээ sup ашиглаж болохоор тохиргооны файлуудыг ашигладаг. CVSup нь илүү хурдан бөгөөд уян хатан учраас Sup нь FreeBSD төсөлд ашиглагдахаа больсон. csup хэрэгсэл нь CVSup-г C дээр бичсэн хувилбар юм. Үүний хамгийн том давуу тал бол илүү хурдан бөгөөд Modula-3 хэлээс хамаардаггүй, тиймээс та түүнийг суулгах шаардлагагүй байдаг. Мөн хэрэв та &os; 6.2 юм уу эсвэл түүнээс хойшх хувилбаруудыг ашиглаж байгаа бол түүнийг шууд ашиглаж болно, учир нь энэ нь үндсэн системд орсон байдаг. Хуучин &os; хувилбаруудын үндсэн системд &man.csup.1; байдаггүй, гэхдээ та net/csup портууд юм уу эсвэл урьдчилан эмхэтгэсэн багцыг хялбархан суулгаж болно. csup хэрэгсэл нь гэхдээ CVS горимыг дэмждэггүй. Хэрэв та бүрэн архивыг толин тусгал хийхийг хүсэж байгаа бол CVSup-г ашиглах хэрэгтэй болно. Хэрэв та csup-г ашиглахаар шийдсэн бол CVSup-ийн суулгалт дахь алхмуудыг алгасаж энэ нийтлэлийн үлдсэн хэсгийг дагаж байхдаа CVSup гэснийг csup болгож солиорой. Суулгалт CVSup-г суулгах хамгийн хялбар арга бол FreeBSD-ийн багцын цуглуулгаас урьдчилан эмхэтгэсэн net/cvsup багцыг ашиглах явдал юм. Хэрэв та CVSup-г эхээс бүтээхийг эрхэмлэж байгаа бол net/cvsup портыг ашиглаарай. Гэхдээ урьдчилан анхааруулъя: net/cvsup порт нь Modula-3 системээс хамаардаг бөгөөд үүнийг татан авч суулгахад ихээхэн хэмжээний дискний зай болон хугацаа шаарддаг. Хэрэв та &xfree86; эсвэл &xorg; зэрэг суулгагдаагүй сервер машин дээр CVSup-г ашиглах гэж байгаа бол CVSup GUI-г агуулаагүй net/cvsup-without-gui портыг ашиглах хэрэгтэй. Хэрэв та csup-г FreeBSD 6.1 эсвэл түүнээс өмнөх хувилбаруудад суулгахыг хүсэж байгаа бол FreeBSD-ийн багцын цуглуулгаас урьдчилан эмхэтгэсэн net/csup багцыг ашиглаж болно. Хэрэв та csup-г эхээс бүтээхийг эрхэмлэж байгаа бол net/csup портыг ашиглаж болно. CVSup тохиргоо CVSup-ийн ажиллагаа supfile гэгддэг тохиргооны файлаар хянагддаг. /usr/share/examples/cvsup/ санд зарим жишээ supfiles байдаг. supfile дахь мэдээлэл CVSup-д зориулж дараах асуултуудад хариулдаг: Ямар файлуудыг та хүлээн авахыг хүсэж байна вэ? Тэдгээрийн ямар хувилбаруудыг та хүсэж байна вэ? Тэдгээрийг та хаанаас авахыг хүсэж байна вэ? Та тэдгээрийг өөрийн машиныхаа хаана байрлуулахыг хүсэж байна вэ? Та өөрийн төлвийн файлуудыг хаана байрлуулахыг хүсэж байна вэ? Дараах хэсгүүдэд бид эдгээр асуултуудад хариулан түгээмэл supfile-г бүтээх болно. Эхлээд бид supfile-ийн ерөнхий бүтцийг тайлбарлах болно. supfile нь текст файл юм. Тайлбарууд нь # тэмдэгтээс эхэлж мөр дуустал үргэлжилнэ. Хоосон мөрнүүд болон зөвхөн тайлбараас тогтох мөрүүдийг орхидог. Үлдэж байгаа мөр болгон хэрэглэгчийн авахыг хүсэж байгаа файлуудын цуглуулгыг тайлбарладаг. Мөр нь файлуудын цуглуулга буюу файлуудын логик бүлэглэлийн нэрээс эхэлдэг бөгөөд эдгээрийг сервер тодорхойлдог. Цуглуулгын нэр таны аль файлуудыг хүсэж байгааг серверт хэлдэг. Цуглуулгын нэрийн дараа талбарууд байхгүй эсвэл байж болох бөгөөд зайгаар тусгаарлагдсан байна. Эдгээр талбарууд нь дээрх асуултуудад хариулдаг. Хоёр төрлийн талбар байдаг: тугны талбарууд ба утгын талбарууд. Тугны талбар нь ганцаараа байгаа түлхүүр үгнээс тогтдог, өөрөөр хэлбэл delete эсвэл compress байна. Утгын талбар нь бас түлхүүр үгээс эхлэх боловч хоосон зайгаар тусгаарлагдалгүйгээр = болон хоёр дахь үгээс тогтоно. Жишээ нь release=cvs нь утгын талбар юм. supfile ихэвчлэн нэгээс илүү цуглуулгыг хүлээн авахаар заасан байдаг. supfile-г зохион байгуулах нэг арга нь цуглуулга бүрийн хувьд харгалзах бүх талбаруудыг зааж өгөх явдал юм. Гэхдээ энэ нь supfile-ий мөрүүдийг нэлээн урт болгодог бөгөөд supfile дахь цуглуулгуудын бүгдийн хувьд ихэнх талбарууд нь ижил байдаг болохоор таагүй юм. CVSup нь эдгээр асуудлуудыг тойрон гарах анхдагч болгох арга замтай байдаг. Тусгай псевдо цуглуулгын нэр *default-р эхэлсэн мөрүүд нь тугнууд болон supfile дахь дараа дараачийн цуглуулгуудын хувьд анхдагч болж ашиглагдах утгуудыг заахад хэрэглэгддэг. Анхдагч утгыг цуглуулгатай цуг өөр утгыг заан өгч тухайн цуглуулгын хувьд өөрчилж болдог. Анхдагчуудыг дундын supfile-д нэмэлт *default мөрүүдээр өөрчилж эсвэл дарж болдог. Ийм мэдээлэлтэйгээр бид одоо FreeBSD-CURRENT-ийн гол эх модыг хүлээн авч шинэчлэхэд зориулсан supfile-г бүтээх болно. Ямар файлуудыг та хүлээн авахыг хүсэж байна вэ? CVSup-аар авах боломжтой файлууд нь collections буюу цуглуулгууд гэгддэг бүлгүүдэд хуваагдан зохион байгуулагддаг. Байгаа цуглуулгууд нь дараах хэсэгт тайлбарлагдсан байгаа. Энэ жишээн дээр бид FreeBSD-ийн хувьд бүх гол эхийг авахыг хүсэж байна. src-all гэсэн ганц том цуглуулга бидэнд үүнийг өгөх болно. supfile-аа бүтээх эхний алхам болгож бид цуглуулгуудыг нэг мөрөнд нэгийг тавьж жагсаана (энэ тохиолдолд зөвхөн нэг мөр байна): src-all Тэдгээрийн ямар хувилбаруудыг та хүсэж байна вэ? CVSup-ийн тусламжтай та хэзээ ч юм байсан эхүүдийн бараг ямар ч хувилбарыг хүлээн авч чадна. cvsupd сервер нь бүх хувилбаруудыг агуулсан CVS архиваас шууд ажилладаг болохоор энэ нь боломжтой юм. Та тэдгээрийн алийг хүсэж байгаагаа tag= болон утга талбаруудыг ашиглан зааж өгч болно. tag= талбарыг зөв зааж өгөхдөө анхааралтай байх хэрэгтэй. Зарим хаягууд нь зөвхөн файлуудын зарим цуглуулгуудын хувьд зөв байдаг. Хэрэв та буруу эсвэл буруу бичсэн хаягийг зааж өгөх юм бол магадгүй таны устгахыг хүсээгүй файлуудыг CVSup нь устгах юм. Ялангуяа ports-* цуглуулгуудын хувьд зөвхөн tag=.-г ашиглаарай. tag= талбар нь симболын хаягийг архивт нэрлэдэг. Хоёр төрлийн хаяг байдаг бөгөөд эдгээр нь залруулалтын хаягууд болон салбарын хаягууд юм. Залруулалтын хаяг нь тухайн нэг залруулалтыг заадаг. Үүний утга нь өдрөөс өдөрт ижил хэвээр байна. Нөгөө талаас салбарын хаяг нь ямар ч үед хөгжүүлэлтийн өгөгдсөн шугам дахь хамгийн сүүлийн залруулалтыг заадаг. Салбарын хаяг нь тухайн нэг залруулалтыг заадаггүй болохоор үүний маргаашийн утга нь өнөөдрийнхөөс өөр байж болох юм. нь хэрэглэгчдийн сонирхож болох салбарын хаягуудыг агуулдаг. CVSup-ийн тохиргооны файлд хаягийг зааж өгөхдөө өмнө нь tag= гэж өгөх ёстой (RELENG_4 нь tag=RELENG_4 болно). Зөвхөн tag=. нь портын цуглуулгад хамааралтай болохыг санаарай. Хаягийн нэрийг яг үзүүлсэн шиг бичихдээ анхааралтай байгаарай. CVSup нь зөв болон буруу хаягуудыг ялгаж чаддаггүй. Хэрэв та хаягийг буруу бичвэл CVSup нь таныг зөв хаяг өгсөн гэж ойлгон ажиллах бөгөөд энэ нь ямар ч файлуудыг заагаагүйд хүргэж болох юм. Энэ тохиолдолд энэ нь танд байгаа эхүүдийг устгах болно. Салбарын хаягийг заахад та тэр хөгжүүлэлтийн шугамын файлуудын хамгийн сүүлийн хувилбаруудыг авах болно. Хэрэв та ямар нэг өнгөрсөн хувилбарыг авахыг хүсвэл талбарт огноог заан хийж өгч болно. &man.cvsup.1; гарын авлагын хуудас үүнийг хэрхэн хийхийг тайлбарладаг. Бидний жишээний хувьд FreeBSD-CURRENT-г авахыг бид хүсэж байна. Бид энэ мөрийг өөрсдийн supfile-ийн эхэнд нэмнэ: *default tag=. Хэрэв та tag= талбар эсвэл date= талбарын алийг ч зааж өгөөгүй бол чухал тусгай тохиолдол гарч ирнэ. Энэ тохиолдолд тодорхой нэг хувилбарыг хүлээн авахын оронд серверийн CVS архиваас RCS файлуудыг шууд хүлээн авдаг. Ажиллагааны ийм горимыг хөгжүүлэгчид ерөнхийдөө эрхэмлэдэг. Өөрсдийн системүүд дээр архивын хуулбарыг арчилснаар тэд залруулалтын түүхийг хайж файлуудын өнгөрсөн хувилбаруудыг шалгах боломжтой болох юм. Гэхдээ энэ хонжоо нь дискний зайны хувьд их өртөгтэйгээр орж ирдэг. Тэдгээрийг та хаанаас авахыг хүсэж байна вэ? Бид host= талбарыг ашиглан cvsup-д өөрийн шинэчлэлтүүдийг хаанаас авахыг хэлж өгдөг. CVSup толин тусгал сайтуудын аль нь ч болох боловч та өөрийн кибер ертөнцдөө ойрхныг турших хэрэгтэй. Энэ жишээн дээр бид зохиомол FreeBSD түгээлтийн сайт cvsup99.FreeBSD.org-г ашиглах болно: *default host=cvsup99.FreeBSD.org Та CVSup-г ашиглахаасаа өмнө үнэн хэрэг дээрээ байгаа жинхэнэ хостоор солих хэрэгтэй болно. cvsup-г ажиллуулах үедээ та хостын тохируулгыг тушаалын мөрөөс сонголтоор өөрчлөн дарж болно. Та тэдгээрийг өөрийн машиныхаа хаана байрлуулахыг хүсэж байна вэ? prefix= талбар нь хүлээн авсан файлуудыг хаана байрлуулахыг cvsup хэлнэ. Энэ жишээн дээр бид эх файлуудыг өөрсдийн гол эх модны /usr/src байрлалд шууд байрлуулах болно. src сан нь бидний хүлээн авахаар сонгосон цуглуулгад далд байгаа болохоор энэ нь зөв юм: *default prefix=/usr cvsup өөрийн төлвийн файлуудыг хаана арчлах ёстой вэ? CVSup клиент нь base буюу үндсэн гэгддэг сан дахь зарим төлвийн файлуудыг арчилж байдаг. Эдгээр файлууд нь ямар шинэчлэлтүүдийг та аль хэдийн хүлээн авсныг хянаж CVSup-ийг илүү үр ашигтай ажиллахад тусалдаг. Бид стандарт үндсэн сан /var/db-г ашиглах болно: *default base=/var/db Хэрэв таны үндсэн сан байхгүй байгаа бол одоо түүнийг үүсгэх хугацаа болсон байна. Хэрэв үндсэн сан байхгүй бол cvsup ажиллахаас татгалзах болно. supfile-ийн бусад тохиргоонууд: supfile-д ерөнхийдөө байх ёстой бас нэг мөр байдаг: *default release=cvs delete use-rel-suffix compress release=cvs нь сервер гол FreeBSD CVS архиваас өөрийн мэдээллийг авах ёстойг зааж байна. Энэ нь бараг үргэлж тохиолддог, хэдийгээр бусад боломжууд байдаг боловч энэ хэлэлцүүлгийн хүрээнээс хальдаг. delete нь CVSup-д файлууд устгах зөвшөөрөл өгдөг. CVSup нь таны эх модыг байнга хамгийн сүүлийн хэлбэрт байлгадаг байхын тулд та үүнийг үргэлж зааж өгөх хэрэгтэй. CVSup нь өөрийн хариуцдаг зөвхөн тэр файлуудыг устгах тал дээр их анхааралтай ажилладаг. Танд байж болох нэмэлт файлууд тэр хэвээрээ үлддэг. use-rel-suffix нь ... ойлгоход төвөгтэй юм. Хэрэв та үүний тухай жинхэнээсээ мэдье гэж хүсэж байгаа бол &man.cvsup.1; гарын авлагын хуудаснаас үзнэ үү. Хэрэв тийм биш бол ердөө заагаад л тэгээд санаа зовох хэрэггүй юм. compress нь холбооны суваг дээр gzip загварын шахалтын хэрэглээг идэвхжүүлдэг. Хэрэв таны сүлжээний холболт T1 эсвэл түүнээс хурдан бол та магадгүй шахалтыг ашиглах хэрэггүй юм. Хэрэв үгүй бол энэ нь бодитойгоор тусалдаг. Бүгдийг нийлүүлбэл: Энд бидний жишээнд зориулсан бүхэл supfile байна: *default tag=. *default host=cvsup99.FreeBSD.org *default prefix=/usr *default base=/var/db *default release=cvs delete use-rel-suffix compress src-all <filename>refuse</filename> файл Дээр дурдсанаар CVSup нь татах аргыг ашигладаг. Энэ нь юу гэсэн үг вэ гэхээр та CVSup сервер руу холбогдох бөгөөд энэ нь Над дээрээс татаж авах боломжтой зүйлс энэ байна... гэж хэлэх бөгөөд таны клиент OK, Би энэ,энэ, энийг авна. гэж хариулна гэсэн үг юм. Анхдагч тохиргоон дээр CVSup клиент нь таны тохиргооны файлд сонгосон хаяг болон цуглуулгатай холбоотой бүх файлыг авна. Гэхдээ үүнийг та үргэлж хүсэхгүй байх, ялангуяа хэрэв та doc, ports, эсвэл www моднуудыг авч байгаа бол үүнийг хийхийг хүсэхгүй байх — ихэнх хүмүүс дөрөв эсвэл таван хэлийг уншиж чаддаггүй бөгөөд тиймээс тэдэнд хэлтэй холбоотой файлуудыг татаж авах хэрэггүй байдаг. Хэрэв та портын цуглуулгыг CVSup хийж байгаа бол та цуглуулга бүрийг тусад нь заан өгч үүнийг тойрон гарч болно (өөрөөр хэлбэл, ports-astrology, ports-biology, гэх мэтээр ports-all гэхийн оронд). Гэхдээ doc болон www моднууд нь хэлтэй холбоотой цуглуулгуудтай байдаггүй болохоор та CVSup-ийн олон сайн боломжуудын нэгийг ашиглах ёстой нь refuse юм. refuse файл нь үндсэндээ CVSup-д цуглуулгаас файл болгоныг татаж авахгүй гэдгийг хэлдэг; өөрөөр хэлбэл клиентэд серверээс зарим файлууд татаж авахаас татгалзахыг хэлж өгдөг. refuse файл нь base/sup/ сангаас олдож болно (эсвэл хэрэв танд ийм файл байхгүй байгаа бол түүнийг дээрх санд байрлуулах хэрэгтэй). base нь таны supfile-д тодорхойлогдсон байдаг; бидний тодорхойлсон base нь /var/db бөгөөд энэ нь анхдагчаар refuse файл нь /var/db/sup/refuse гэсэн үг юм. refuse файл нь маш хялбар хэлбэршилттэй байдаг; энэ нь таны татаж авахыг хүсээгүй файлууд эсвэл сангуудын нэрийг агуулдаг. Жишээ нь хэрэв та Англи болон Германаар бага зэрэг ярьдгаас өөр хэлээр ярьдаггүй бөгөөд баримтын Герман орчуулгыг авах сонирхолгүй байвал өөрийн refuse файлд дараах: doc/bn_* doc/da_* doc/de_* doc/el_* doc/es_* doc/fr_* doc/hu_* doc/it_* doc/ja_* doc/mn_* doc/nl_* doc/no_* doc/pl_* doc/pt_* doc/ru_* doc/sr_* doc/tr_* doc/zh_* мөрүүд болон гэх мэтээр бусад хэлнүүдийн хувьд оруулж өгөх хэрэгтэй (та бүрэн жагсаалтыг FreeBSD CVS архивыг шалган олж болно). Энэ ашигтай боломжийг ашиглан удаан холболттой юм уу эсвэл өөрсдийн Интернэтийн холболтод минутаар төлдөг хэрэглэгчид үнэ цэнэтэй хугацаагаа хэмнэх болно. Учир нь тэд өөрсдийн хэзээ ч ашиглахгүй файлаа татаж авах шаардлагагүй болох юм. CVSup-ийн refuse файлууд болон бусад сайхан боломжуудын талаар илүү мэдээллийг түүний гарын авлагын хуудаснаас үзнэ үү. <application>CVSup</application>-г ажиллуулах нь Одоо та шинэчлэлт хийж үзэхэд бэлэн боллоо. Үүнийг хийх тушаалын мөр их амархан: &prompt.root; cvsup supfile энд байгаа supfile нь таны дөнгөж үүсгэсэн supfile-ийн нэр юм. Таныг X11 дээр ажиллаж байна гэж үзвэл cvsup нь энгийн зүйлсийг хийх зарим товчлууруудтай GUI цонхыг үзүүлэх болно. go товчлуурыг дарж ажиллахыг нь хараарай. Та энэ жишээн дээр өөрийн жинхэнэ /usr/src модыг шинэчилж байгаа болохоор cvsup нь таны файлуудыг шинэчлэхэд шаардлагатай зөвшөөрлүүдтэй байхын тулд та програмыг root эрхээс ажиллуулах хэрэгтэй болно. Өөрийн тохиргооны файлыг дөнгөж үүсгэсэн бөгөөд урьд нь энэ програмыг хэзээ ч ашиглаж байгаагүй бол таныг бухимдуулж магадгүй юм. Өөрийн файлуудыг хөндөлгүйгээр туршилтын журмаар ажиллуулах хялбар арга байдаг. Хаа нэгтээ хоосон сан үүсгээд түүнийг тушаалын мөрөнд нэмэлт өгөгдлөөр оруулж өгнө: &prompt.root; mkdir /var/tmp/dest &prompt.root; cvsup supfile /var/tmp/dest Таны заасан сан бүх файлын шинэчлэлтүүдийн хувьд очих сан болдог. CVSup нь /usr/src сан доторх таны энгийн файлуудыг шалгадаг, гэхдээ тэдгээрийн алийг ч өөрчлөх буюу устгахгүй. Файлын шинэчлэлтүүд харин /var/tmp/dest/usr/src санд хийгдэнэ. CVSup нь ингэж ажиллахдаа бас өөрийн үндсэн сангийн төлвийн файлуудыг өөрчлөлгүйгээр үлдээдэг. Тэдгээр файлуудын шинэ хувилбарууд заагдсан сан уруу бичигдэх болно. Танд /usr/src сан уруу унших эрх л байхад иймэрхүү туршилтын ажиллагааг гүйцэтгэхэд root эрх байх заавал шаардлагагүй юм. Хэрэв та X11-г ажиллуулахгүй байгаа юм уу эсвэл танд GUI таалагддаггүй бол cvsup-г ажиллуулахдаа тушаалын мөрөн дээр хоёр сонголтыг нэмж өгөх хэрэгтэй: &prompt.root; cvsup -g -L 2 supfile сонголт нь CVSup-д өөрийн GUI-г ашиглахгүйг хэлнэ. Хэрэв та X11-ийг ажиллуулахгүй байгаа бол энэ автомат байдаг, үгүй бол та үүнийг зааж өгөх хэрэгтэй. нь CVSup-д хийж байгаа бүх шинэчлэлтүүдийнхээ талаар дэлгэрэнгүй мэдээллийг үзүүлэхийг хэлж өгнө. Гурван түвшний харуулах горим байдаг бөгөөд энэ нь хүртэл байна. Анхдагч нь 0 байх бөгөөд энэ нь алдааны мэдэгдлээс бусдыг харуулахгүй. Бусад олон сонголтууд байдаг. Тэдгээрийн товч жагсаалтыг үзэхийн тулд cvsup -H гэж бичнэ. Илүү дэлгэрэнгүй тайлбаруудын талаар гарын авлагын хуудсыг үзнэ үү. Шинэчлэлт ажилладаг аргад сэтгэл ханамжтай болсныхоо дараа та CVSup-г давтамжтайгаар ажиллуулахын тулд &man.cron.8; ашиглан хийж өгч болно. Мэдээж та &man.cron.8;-с CVSup-г ажиллуулахдаа өөрийнхөө GUI-г ашиглахгүй болгох хэрэгтэй. <application>CVSup</application>-ийн файлын цуглуулгууд CVSup-ийн файлын цуглуулгууд нь шатлалтайгаар зохион байгуулагдсан байдаг. Цөөн том цуглуулгууд байдаг бөгөөд тэдгээр нь арай жижиг дэд цуглуулгуудад хуваагддаг. Том цуглуулгыг хүлээн авах нь түүний дэд цуглуулгууд тус бүрийг хүлээн авахтай адил юм. Цуглуулга хоорондын шаталсан холбоонууд нь доорх жагсаалт дахь догол ашиглалтаар тусгагддаг. Хамгийн түгээмэл хэрэглэгддэг цуглуулгууд нь src-all, болон ports-all юм. Бусад цуглуулгуудыг тусгай зорилгоор зөвхөн жижиг бүлэг хүмүүс ашигладаг бөгөөд зарим толин тусгал сайтууд тэдгээрийг бүгдийг агуулдаггүй байж болох юм. cvs-all release=cvs Криптограф кодыг оролцуулаад FreeBSD-ийн гол CVS архив. distrib release=cvs FreeBSD-ийн түгээлт болон толин тусгал хийхтэй холбоотой файлууд. doc-all release=cvs FreeBSD гарын авлагын эхүүд ба бусад баримт. Энэ нь FreeBSD-ийн вэб сайтын файлуудыг агуулдаггүй. ports-all release=cvs FreeBSD-ийн портын цуглуулга. Хэрэв та бүхэл ports-all-г (бүх портын мод) шинэчлэхийг хүсэхгүй байгаа бөгөөд доор жагсаагдсан дэд цуглуулгуудын нэгийг ашиглаж байгаа бол ports-base дэд цуглуулгыг шинэчилсэн эсэхээ үргэлж шалгаж байх хэрэгтэй. ports-base-ээр танилцуулагдсан портын бүтээлтийн дэд бүтцэд ямар нэгэн өөрчлөлт орох болгонд тэдгээр өөрчлөлтүүд нь жинхэнэ портуудад тун удахгүй ашиглагдах нь бараг л тодорхой байдаг юм. Тиймээс хэрэв та зөвхөн жинхэнэ портуудыг шинэчилж тэдгээр нь шинэ боломжуудын заримыг ашигладаг бол тэдгээрийн бүтээлт нь зарим нэг ид шидийн алдааны мэдэгдэлтэйгээр амжилтгүй болох маш их магадлалтай юм. Энэ тохиолдолд хамгийн эхэнд хийх зүйл бол таны ports-base дэд цуглуулга хамгийн сүүлийн үеийнх эсэхийг шалгах хэрэгтэй юм. Хэрэв та ports/INDEX-ийн өөрийн локал хуулбарыг бүтээх гэж байгаа бол ports-all буюу бүх портыг хүлээж авах ёстой (бүх портын мод). ports/INDEX-г хэсэг модтой бүтээхийг дэмждэггүй. FAQ хаягийг үзнэ үү. ports-accessibility release=cvs Хөгжлийн бэрхшээлтэй хэрэглэгчдэд туслахад зориулсан програм хангамж. ports-arabic release=cvs Араб хэлний дэмжлэг. ports-archivers release=cvs Архивлах хэрэгслүүд. ports-astro release=cvs Одон оронтой холбоотой портууд. ports-audio release=cvs Дууны дэмжлэг. ports-base release=cvs Портын цуглуулгын бүтээх дэд бүтэц - төрөл бүрийн файлууд /usr/ports сангийн Mk/ болон Tools/ дэд сангуудад байрладаг. Дээрх чухал анхааруулгыг үзнэ үү: та FreeBSD-ийн портын цуглуулгын ямар ч хэсгийг шинэчлэхдээ энэ дэд цуглуулгыг үргэлж шинэчилж байх хэрэгтэй! ports-benchmarks release=cvs Бенчмаркууд. ports-biology release=cvs Биологи. ports-cad release=cvs Компьютерийн тусламжтай дизайн хийх хэрэгслүүд. ports-chinese release=cvs Хятад хэлний дэмжлэг. ports-comms release=cvs Холбооны програм хангамж. ports-converters release=cvs тэмдэгтийн код хөрвүүлэгчид. ports-databases release=cvs Мэдээллийн баазууд. ports-deskutils release=cvs Компьютер зохион бүтээгдэхээс өмнө ширээн дээр байдаг байсан зүйлс. ports-devel release=cvs Хөгжүүлэлтийн багажууд. ports-dns release=cvs DNS-тэй холбоотой програм хангамж. ports-editors release=cvs Засварлагчид. ports-emulators release=cvs Бусад үйлдлийн системүүдэд зориулсан эмуляторууд. ports-finance release=cvs Банк, санхүү болон тэдгээртэй холбоотой програмууд. ports-ftp release=cvs FTP клиент ба серверийн багажууд. ports-games release=cvs Тоглоомууд. ports-german release=cvs Герман хэлний дэмжлэг. ports-graphics release=cvs Графикийн багажууд. ports-hebrew release=cvs Хэбрю хэлний дэмжлэг. ports-hungarian release=cvs Унгар хэлний дэмжлэг. ports-irc release=cvs Internet Relay Chat буюу чалчих багажууд. ports-japanese release=cvs Япон хэлний дэмжлэг. ports-java release=cvs &java; багажууд. ports-korean release=cvs Солонгос хэлний дэмжлэг. ports-lang release=cvs Програмчлалын хэлнүүд. ports-mail release=cvs Захидлын програмууд. ports-math release=cvs Тоо тооцоолох програм хангамж. ports-mbone release=cvs MBone програмууд. ports-misc release=cvs Бусад багажууд. ports-multimedia release=cvs Мультимедиа програм хангамж. ports-net release=cvs Сүлжээний програм хангамж. ports-net-im release=cvs Шуурхай мэдэгдэл (instant messaging) илгээх програм хангамж. ports-net-mgmt release=cvs Сүлжээний удирдлагын програм хангамж. ports-net-p2p release=cvs p2p сүлжээ. ports-news release=cvs USENET мэдээний програм хангамж. ports-palm release=cvs Palm төрлийн төхөөрөмжүүдэд зориулсан програм хангамжийн дэмжлэг. ports-polish release=cvs Польш хэлний дэмжлэг. ports-ports-mgmt release=cvs Портууд болон багцуудыг удирдах багажууд. ports-portuguese release=cvs Португал хэлний дэмжлэг. ports-print release=cvs Хэвлэлтийн програм хангамж. ports-russian release=cvs Орос хэлний дэмжлэг. ports-science release=cvs Шинжлэх ухаан. ports-security release=cvs Аюулгүй байдлын хэрэгслүүд. ports-shells release=cvs Тушаалын мөрийн бүрхүүлүүд. ports-sysutils release=cvs Системийн хэрэгслүүд. ports-textproc release=cvs текст боловсруулах хэрэгслүүд (ширээний хэвлэл ордоггүй). ports-ukrainian release=cvs Украйн хэлний дэмжлэг. ports-vietnamese release=cvs Вьетнам хэлний дэмжлэг. ports-www release=cvs World Wide Web-тэй холбоотой програм хангамж. ports-x11 release=cvs X Цонхны системийг дэмжих портууд. ports-x11-clocks release=cvs X11 цагнууд. ports-x11-drivers release=cvs X11 драйверууд. ports-x11-fm release=cvs X11 файл менежерүүд. ports-x11-fonts release=cvs X11 үсгийн маягууд ба үсгийн маягийн хэрэгслүүд. ports-x11-toolkits release=cvs X11 багажны цуглуулгууд. ports-x11-servers release=cvs X11 серверүүд. ports-x11-themes release=cvs X11 харуулах маягууд. ports-x11-wm release=cvs X11 цонхны менежерүүд. projects-all release=cvs FreeBSD төслийн архив дахь эхүүд. src-all release=cvs Криптограф кодыг оролцуулаад FreeBSD-ийн гол эхүүд. src-base release=cvs /usr/src сангийн дээр байрлах бусад файлууд. src-bin release=cvs Ганц хэрэглэгчийн горимд хэрэг болох хэрэглэгчийн багажууд (/usr/src/bin). src-cddl release=cvs CDDL лицензийн доор байдаг хэрэгслүүд болон сангууд (/usr/src/cddl). src-contrib release=cvs Харьцангуй өөрчлөлтгүйгээр хэрэглэгддэг FreeBSD төслөөс гаднах хэрэгслүүд ба сангууд (/usr/src/contrib). src-crypto release=cvs Харьцангуй өөрчлөлтгүйгээр хэрэглэгддэг FreeBSD төслөөс гаднах криптограф хэрэгслүүд ба сангууд (/usr/src/crypto). src-eBones release=cvs Kerberos ба DES (/usr/src/eBones). FreeBSD-ийн одоогийн хувилбаруудад ашигладаггүй. src-etc release=cvs Системийн тохиргооны файлууд (/usr/src/etc). src-games release=cvs Тоглоомууд (/usr/src/games). src-gnu release=cvs GNU Нийтийн Лицензтэй хэрэгслүүд (/usr/src/gnu). src-include release=cvs Толгой файлууд (/usr/src/include). src-kerberos5 release=cvs Kerberos5 аюулгүй байдлын багц (/usr/src/kerberos5). src-kerberosIV release=cvs KerberosIV аюулгүй байдлын багц (/usr/src/kerberosIV). src-lib release=cvs Сангууд (/usr/src/lib). src-libexec release=cvs Бусад програмуудаар ажилладаг системийн програмууд (/usr/src/libexec). src-release release=cvs FreeBSD хувилбар гаргахад шаардагдах файлууд (/usr/src/release). src-rescue release=cvs Яаралтай сэргээлт хийхэд зориулсан статикаар холболт хийгдсэн програмууд; &man.rescue.8;-г үзнэ үү (/usr/src/rescue). src-sbin release=cvs Ганц хэрэглэгчийн горимд зориулсан системийн хэрэгслүүд (/usr/src/sbin). src-secure release=cvs Криптограф сангууд ба тушаалууд (/usr/src/secure). src-share release=cvs Олон системүүдийн хооронд хуваалцаж болох файлууд (/usr/src/share). src-sys release=cvs Цөм (/usr/src/sys). src-sys-crypto release=cvs Цөмийн криптограф код (/usr/src/sys/crypto). src-tools release=cvs FreeBSD-г арчлахад зориулсан төрөл бүрийн хэрэгслүүд (/usr/src/tools). src-usrbin release=cvs Хэрэглэгчийн хэрэгслүүд (/usr/src/usr.bin). src-usrsbin release=cvs Системийн хэрэгслүүд (/usr/src/usr.sbin). www release=cvs FreeBSD WWW сайтын эх. distrib release=self CVSup серверийн өөрийн тохиргооны файлууд. CVSup толин тусгал сайтуудад хэрэглэгддэг. gnats release=current GNATS алдаа мөрдөх мэдээллийн бааз. mail-archive release=current FreeBSD захидлын жагсаалтын архив. www release=current Урьдчилан боловсруулсан FreeBSD WWW сайтын файлууд (эх файлууд биш). WWW толин тусгал сайтуудад хэрэглэгддэг. Дэлгэрэнгүй мэдээллийг CVSup FAQ болон бусад CVSup-ийн тухай мэдээллийг CVSup гэрийн хуудас хаягаас үзнэ үү. Ихэнх FreeBSD-тэй холбоотой CVSup-ийн хэлэлцүүлэг &a.hackers;-д болдог. Програмын шинэ хувилбар тэнд, бас &a.announce;-д зарлагддаг. CVSup-ийн талаар асуултууд эсвэл алдааны тайлангуудыг CVSup FAQ холбоосоос үзнэ үү. CVSup сайтууд FreeBSD-д зориулсан CVSup серверүүд дараах хаягууд дээр ажиллаж байгаа: &chap.mirrors.cvsup.inc; Portsnap-г ашиглах нь Танилцуулга Portsnap нь &os;-ийн портын модыг аюулгүйгээр түгээхэд зориулагдсан систем юм. Дунджаар цаг тутам портын модны snapshot буюу хормын хувилбар үүсгэгдэж дахин багцлагдаж криптографын хувьд баталгаажуулагддаг. Үүний үр дүнд гарсан файлууд нь дараа нь HTTP-ээр түгээгддэг. CVSup-ийн адил Portsnap нь шинэчлэлтийн pull буюу татах загварыг ашигладаг: Багцлагдаж баталгаажуулагдсан портын моднууд клиентүүдээс ирэх файлын хүсэлтийг идэвхгүйгээр хүлээж байдаг вэб сервер дээр байрлуулагддаг. Хэрэглэгчид шинэчлэлтүүдийг татаж авахын тулд &man.portsnap.8;-г гараар ажиллуулах эсвэл шинэчлэлтүүдийг автоматаар тогтмол татаж авдгаар &man.cron.8; ажлыг тохируулах ёстой. Техникийн шалтгаануудаас болоод Portsnap нь амьд портын модыг /usr/ports/ санд шууд шинэчилдэггүй; харин анхдагчаар /var/db/portsnap/ санд хадгалагдсан портын модны шахагдсан хуулбараар дамжуулан ажилладаг. Энэ шахагдсан хуулбар нь дараа нь амьд портын модыг шинэчлэхэд хэрэглэгддэг. Хэрэв Portsnap нь &os;-ийн портын цуглуулгаас суулгагдсан бол түүний шахагдсан хормын хувилбарт зориулсан анхдагч байрлал нь /var/db/portsnap/-ийн оронд /usr/local/portsnap/ байх болно. Суулгалт &os; 6.0 болон сүүлийн хувилбарууд дээр Portsnap нь &os; үндсэн систем дээр байдаг. &os;-ийн хуучин хувилбарууд дээр үүнийг ports-mgmt/portsnap портыг ашиглан суулгаж болно. Portsnap-ийн тохиргоо Portsnap-ийн ажиллагаа /etc/portsnap.conf тохиргооны файлаар хянагддаг. Ихэнх хэрэглэгчдийн хувьд анхдагч тохиргооны файл хангалттай; илүү дэлгэрэнгүйг &man.portsnap.conf.5; гарын авлагын хуудаснаас лавлана уу. Хэрэв Portsnap нь &os;-ийн портын цуглуулгаас суулгагдсан бол /etc/portsnap.conf-ийн оронд /usr/local/etc/portsnap.conf тохиргооны файлыг ашиглах болно. Энэ тохиргооны файл нь порт суулгагдах үед үүсгэгддэггүй, гэхдээ жишээ тохиргооны файл түгээгддэг; түүнийг байрлал уруу нь хуулаад дараах тушаалыг ажиллуулна: &prompt.root; cd /usr/local/etc && cp portsnap.conf.sample portsnap.conf <application>Portsnap</application>-г эхний удаа ажиллуулах нь &man.portsnap.8; эхний удаа ажиллахдаа бүхэл портын модны шахагдсан хормын хувилбарыг /var/db/portsnap/ (хэрэв Portsnap нь портын цуглуулгаас суулгагдсан бол /usr/local/portsnap/ байна) руу татаж авах хэрэгтэй болдог. 2006 оны эхнээс эхлээд энэ нь ойролцоогоор 41 MB татаж авахаар байна. &prompt.root; portsnap fetch Шахагдсан хормын хувилбар татагдсаны дараа портын модны амьд хуулбарыг /usr/ports/ руу задалж болно. Энэ нь портын модны аль хэсгүүд сүүлд шинэчлэгдэх ёстойг portsnap тодорхойлж чадах үндсэн шугамыг тогтоож өгдөг болохоор портын мод (өөрөөр хэлбэл CVSup ашиглан) энэ сан уруу үүсгэгдсэн байсан ч гэсэн энэ үйлдэл шаардлагатай байдаг. &prompt.root; portsnap extract Анхдагч суулгалтад /usr/ports сан үүсгэгддэггүй. Хэрэв та &os; 6.0-RELEASE-г ажиллуулж байгаа бол энэ нь portsnap-г ашиглаж эхлэхээс өмнө үүсгэгдсэн байх ёстой. &os; эсвэл Portsnap-ийн сүүлийн хувилбарууд дээр энэ үйлдэл нь portsnap тушаалыг эхлэн ашиглахад автоматаар хийгдэх болно. Портын модыг шинэчлэх нь Портын модны эхний шахагдсан хормын хувилбар татагдаж /usr/ports/ руу задлагдсаны дараа портын модыг шинэчлэх явц хоёр алхмаас тогтоно: шинэчлэлтүүдийг шахагдсан хормын хувилбар руу татан авч амьд портын модыг шинэчлэхийн тулд тэдгээрийг ашиглана. Эдгээр хоёр алхмыг portsnap руу нэг тушаалаар зааж өгч болно: &prompt.root; portsnap fetch update portsnap-ийн зарим хуучин хувилбарууд энэ бичлэгийг дэмждэггүй; хэрэв энэ нь амжилтгүй болвол доор дурдсаныг туршаад үзээрэй: &prompt.root; portsnap fetch &prompt.root; portsnap update Portsnap-г cron-с ажиллуулах нь Portsnap серверүүдэд хандахад олон хүн холбогдсон асуудлуудыг тойрон гарахын тулд portsnap fetch тушаал нь &man.cron.8; ажлаас ажиллахгүй. Харин тусгай portsnap cron тушаал байх бөгөөд энэ нь шинэчлэлтүүдийг татаж авахаасаа өмнө 3600 секунд хүртэл санамсаргүй хугацаагаар хүлээдэг. Мөн энэ нь порт бүтээгдэж байх үед юм уу эсвэл суулгагдаж байх үед ажиллавал асуудлууд үүсгэх магадлалтай болохоор portsnap update тушаалыг cron ажлаас ажиллуулахгүй байхыг тууштай зөвлөдөг. Гэхдээ портын INDEX файлуудыг шинэчлэх нь аюулгүй байдаг бөгөөд үүнийг тугийг portsnap тушаалд өгч хийж болно. (Мэдээж хэрэв portsnap -I update нь cron-с ажиллавал үлдсэн модыг шинэчлэхийн тулд portsnap update тушаалыг туггүйгээр дараа нь ажиллуулах хэрэгтэй болно.) Дараах мөрийг /etc/crontab файлд нэмэхэд portsnap-ийг өөрийн шахагдсан хормын хувилбар болон INDEX файлуудыг /usr/ports/ санд шинэчлэж суулгагдсан портуудаас хуучин портууд байвал цахим захидал илгээхэд хүргэх болно: 0 3 * * * root portsnap -I cron update && pkg_version -vIL= Хэрэв системийн цагийг локал цагийн бүс гэж тохируулаагүй бол Portsnap серверүүд дээр ачааллыг тэгш хуваарилахын тулд 3 гэдгийг 0-с 23-ын хоорондох санамсаргүй утгаар сольно уу. portsnap-ийн зарим хуучин хувилбарууд portsnap-тай цуг зэрэг олон тушаалуудыг жагсаахыг дэмждэггүй (өөрөөр хэлбэл cron update). Хэрэв дээрх мөр амжилтгүй болвол portsnap -I cron update тушаалыг portsnap cron && portsnap -I update тушаалуудаар солиод үзээрэй. CVS Tags буюу хаягууд cvs эсвэл CVSup ашиглан эхийг авах юм уу эсвэл шинэчилж байгаа үед revision tag буюу залруулалтын хаягийг зааж өгөх ёстой байдаг. Залруулалтын хаяг нь &os; хөгжүүлэлтийн тодорхой нэг байх юм уу эсвэл хугацааны тодорхой нэг цэг байдаг. Эхнийх нь branch tags буюу салбарын хаягууд гэгддэг бөгөөд хоёр дахь нь хувилбарын хаягууд гэгддэг. Салбарын хаягууд HEAD-с (энэ нь үргэлж зөв хаяг байдаг) бусад бүх хаягууд зөвхөн src/ модонд хамаардаг. ports/, doc/, болон www/ моднууд нь салбарладаггүй. HEAD Гол шугамын симболын нэр, эсвэл FreeBSD-CURRENT. Залруулалт заагаагүй тохиолдолд бас анхдагч байдаг. CVSup-д энэ хаяг нь . гэсэн тэмдэгтээр илэрхийлэгддэг (цэг биш харин . тэмдэгт). CVS-д энэ нь залруулалт заагаагүй тохиолдолд анхдагч байдаг. Хэрэв та өөрөө хүсээгүй л бол STABLE машин дээр CURRENT эхийг татан авч шинэчлэх нь ихэвчлэн тийм ч сайн санаа биш юм. RELENG_7 FreeBSD-7.X-д зориулсан хөгжүүлэлтийн шугам, бас FreeBSD 7-STABLE гэгддэг RELENG_7_0 FreeBSD-7.0-д зориулсан хувилбарын салбар, аюулгүй байдлын зөвлөгөөнүүд болон бусад чухал засваруудад зориулж зөвхөн ашиглагддаг. RELENG_6 FreeBSD-6.X-д зориулсан хөгжүүлэлтийн шугам, бас FreeBSD 6-STABLE гэгддэг RELENG_6_3 FreeBSD-6.3-д зориулсан хувилбарын салбар, аюулгүй байдлын зөвлөгөөнүүд болон бусад чухал засваруудад зориулж зөвхөн ашиглагддаг. RELENG_6_2 FreeBSD-6.2-д зориулсан хувилбарын салбар, аюулгүй байдлын зөвлөгөөнүүд болон бусад чухал засваруудад зориулж зөвхөн ашиглагддаг. RELENG_6_1 FreeBSD-6.1-д зориулсан хувилбарын салбар, аюулгүй байдлын зөвлөгөөнүүд болон бусад чухал засваруудад зориулж зөвхөн ашиглагддаг. RELENG_6_0 FreeBSD-6.0-д зориулсан хувилбарын салбар, аюулгүй байдлын зөвлөгөөнүүд болон бусад чухал засваруудад зориулж зөвхөн ашиглагддаг. RELENG_5 FreeBSD-5.X-д зориулсан хөгжүүлэлтийн шугам, бас FreeBSD 5-STABLE гэгддэг. RELENG_5_5 FreeBSD-5.5-д зориулсан хувилбарын салбар, аюулгүй байдлын зөвлөгөөнүүд болон бусад чухал засваруудад зориулж зөвхөн ашиглагддаг. RELENG_5_4 FreeBSD-5.4-д зориулсан хувилбарын салбар, аюулгүй байдлын зөвлөгөөнүүд болон бусад чухал засваруудад зориулж зөвхөн ашиглагддаг. RELENG_5_3 FreeBSD-5.3-д зориулсан хувилбарын салбар, аюулгүй байдлын зөвлөгөөнүүд болон бусад чухал засваруудад зориулж зөвхөн ашиглагддаг. RELENG_5_2 FreeBSD-5.2 болон FreeBSD-5.2.1-д зориулсан хувилбарын салбар, аюулгүй байдлын зөвлөгөөнүүд болон бусад чухал засваруудад зориулж зөвхөн ашиглагддаг. RELENG_5_1 FreeBSD-5.1-д зориулсан хувилбарын салбар, аюулгүй байдлын зөвлөгөөнүүд болон бусад чухал засваруудад зориулж зөвхөн ашиглагддаг. RELENG_5_0 FreeBSD-5.0-д зориулсан хувилбарын салбар, аюулгүй байдлын зөвлөгөөнүүд болон бусад чухал засваруудад зориулж зөвхөн ашиглагддаг. RELENG_4 FreeBSD-4.X-д зориулсан хөгжүүлэлтийн шугам, бас FreeBSD 4-STABLE гэгддэг. RELENG_4_11 FreeBSD-4.11-д зориулсан хувилбарын салбар, аюулгүй байдлын зөвлөгөөнүүд болон бусад чухал засваруудад зориулж зөвхөн ашиглагддаг. RELENG_4_10 FreeBSD-4.10-д зориулсан хувилбарын салбар, аюулгүй байдлын зөвлөгөөнүүд болон бусад чухал засваруудад зориулж зөвхөн ашиглагддаг. RELENG_4_9 FreeBSD-4.9-д зориулсан хувилбарын салбар, аюулгүй байдлын зөвлөгөөнүүд болон бусад чухал засваруудад зориулж зөвхөн ашиглагддаг. RELENG_4_8 FreeBSD-4.8-д зориулсан хувилбарын салбар, аюулгүй байдлын зөвлөгөөнүүд болон бусад чухал засваруудад зориулж зөвхөн ашиглагддаг. RELENG_4_7 FreeBSD-4.7-д зориулсан хувилбарын салбар, аюулгүй байдлын зөвлөгөөнүүд болон бусад чухал засваруудад зориулж зөвхөн ашиглагддаг. RELENG_4_6 FreeBSD-4.6 болон FreeBSD-4.6.2-д зориулсан хувилбарын салбар, аюулгүй байдлын зөвлөгөөнүүд болон бусад чухал засваруудад зориулж зөвхөн ашиглагддаг. RELENG_4_5 FreeBSD-4.5-д зориулсан хувилбарын салбар, аюулгүй байдлын зөвлөгөөнүүд болон бусад чухал засваруудад зориулж зөвхөн ашиглагддаг. RELENG_4_4 FreeBSD-4.4-д зориулсан хувилбарын салбар, аюулгүй байдлын зөвлөгөөнүүд болон бусад чухал засваруудад зориулж зөвхөн ашиглагддаг. RELENG_4_3 FreeBSD-4.3-д зориулсан хувилбарын салбар, аюулгүй байдлын зөвлөгөөнүүд болон бусад чухал засваруудад зориулж зөвхөн ашиглагддаг. RELENG_3 FreeBSD-3.X-д зориулсан хөгжүүлэлтийн шугам, бас 3.X-STABLE гэгддэг. RELENG_2_2 FreeBSD-2.2.X-д зориулсан хөгжүүлэлтийн шугам, бас 2.2-STABLE гэгддэг. Энэ салбар нь гол төлөв хуучирсан. Хувилбарын хаягууд Эдгээр хаягууд нь &os;-ийн тодорхой нэг хувилбар гарсан үеийн цагийн тодорхой цэгийг заадаг. Хувилбар инженерчлэлийн процессийн талаар Хувилбар инженерчлэлийн мэдээлэл болон Хувилбарын процесс баримтуудад илүү дэлгэрэнгүй баримтжуулагдсан байдаг. src мод нь RELENG_ гэж эхэлсэн хаягийн нэрсийг ашигладаг. ports болон doc моднууд нь RELEASE гэж эхэлсэн хаягийн нэрсийг ашигладаг. Төгсгөлд нь www мод нь хувилбаруудад зориулсан ямар нэг тусгай нэрээр хаяглагддаггүй. RELENG_7_0_0_RELEASE FreeBSD 7.0 RELENG_6_3_0_RELEASE FreeBSD 6.3 RELENG_6_2_0_RELEASE FreeBSD 6.2 RELENG_6_1_0_RELEASE FreeBSD 6.1 RELENG_6_0_0_RELEASE FreeBSD 6.0 RELENG_5_5_0_RELEASE FreeBSD 5.5 RELENG_5_4_0_RELEASE FreeBSD 5.4 RELENG_4_11_0_RELEASE FreeBSD 4.11 RELENG_5_3_0_RELEASE FreeBSD 5.3 RELENG_4_10_0_RELEASE FreeBSD 4.10 RELENG_5_2_1_RELEASE FreeBSD 5.2.1 RELENG_5_2_0_RELEASE FreeBSD 5.2 RELENG_4_9_0_RELEASE FreeBSD 4.9 RELENG_5_1_0_RELEASE FreeBSD 5.1 RELENG_4_8_0_RELEASE FreeBSD 4.8 RELENG_5_0_0_RELEASE FreeBSD 5.0 RELENG_4_7_0_RELEASE FreeBSD 4.7 RELENG_4_6_2_RELEASE FreeBSD 4.6.2 RELENG_4_6_1_RELEASE FreeBSD 4.6.1 RELENG_4_6_0_RELEASE FreeBSD 4.6 RELENG_4_5_0_RELEASE FreeBSD 4.5 RELENG_4_4_0_RELEASE FreeBSD 4.4 RELENG_4_3_0_RELEASE FreeBSD 4.3 RELENG_4_2_0_RELEASE FreeBSD 4.2 RELENG_4_1_1_RELEASE FreeBSD 4.1.1 RELENG_4_1_0_RELEASE FreeBSD 4.1 RELENG_4_0_0_RELEASE FreeBSD 4.0 RELENG_3_5_0_RELEASE FreeBSD-3.5 RELENG_3_4_0_RELEASE FreeBSD-3.4 RELENG_3_3_0_RELEASE FreeBSD-3.3 RELENG_3_2_0_RELEASE FreeBSD-3.2 RELENG_3_1_0_RELEASE FreeBSD-3.1 RELENG_3_0_0_RELEASE FreeBSD-3.0 RELENG_2_2_8_RELEASE FreeBSD-2.2.8 RELENG_2_2_7_RELEASE FreeBSD-2.2.7 RELENG_2_2_6_RELEASE FreeBSD-2.2.6 RELENG_2_2_5_RELEASE FreeBSD-2.2.5 RELENG_2_2_2_RELEASE FreeBSD-2.2.2 RELENG_2_2_1_RELEASE FreeBSD-2.2.1 RELENG_2_2_0_RELEASE FreeBSD-2.2.0 AFS сайтууд FreeBSD-д зориулсан AFS серверүүд нь дараах сайтууд дээр ажиллаж байна: Швед Файлуудад хүрэх зам нь: /afs/stacken.kth.se/ftp/pub/FreeBSD/ stacken.kth.se # Stacken Computer Club, KTH, Sweden 130.237.234.43 #hot.stacken.kth.se 130.237.237.230 #fishburger.stacken.kth.se 130.237.234.3 #milko.stacken.kth.se Арчлагч ftp@stacken.kth.se rsync сайтууд Дараах сайтууд нь FreeBSD-г rsync протоколоор түгээгдэх боломжийг бүрдүүлдэг. rsync хэрэгсэл нь &man.rcp.1; тушаалтай бараг төстэйгөөр ажилладаг боловч илүү олон тохируулгуудтай бөгөөд хоёр талын файлуудын зөвхөн ялгаатайг нь дамжуулдаг. Ингэснээр сүлжээгээр хийх хамгийн сүүлийн хэлбэрт аваачих үйлдлийг ихээхэн хурдасгадаг байна. Хэрэв та FreeBSD FTP сервер юм уу эсвэл CVS архивын толин тусгал сайт бол энэ нь их ашигтай байдаг. rsync цуглуулга нь олон үйлдлийн системүүд дээр байдаг. FreeBSD-ийн хувьд net/rsync порт эсвэл багцыг үзнэ үү. Бүгд Найрамдах Чех Улс rsync://ftp.cz.FreeBSD.org/ Байгаа цуглуулгууд: ftp: FreeBSD FTP серверийн хэсэгчилсэн толин тусгал. FreeBSD: FreeBSD FTP серверийн бүрэн толин тусгал. Герман rsync://grappa.unix-ag.uni-kl.de/ Байгаа цуглуулгууд: freebsd-cvs: Бүрэн FreeBSD CVS архив. Үүнээс гадна энэ машин нь NetBSD болон OpenBSD төслүүдийн CVS архивуудыг бас толин тусгал хийдэг. Нидерланд rsync://ftp.nl.FreeBSD.org/ Байгаа цуглуулгууд: vol/4/freebsd-core: FreeBSD FTP серверийн бүрэн толин тусгал. Тайвань rsync://ftp.tw.FreeBSD.org/ rsync://ftp2.tw.FreeBSD.org/ rsync://ftp6.tw.FreeBSD.org/ Байгаа цуглуулгууд: FreeBSD: FreeBSD FTP серверийн бүрэн толин тусгал. Их Британи rsync://rsync.mirror.ac.uk/ Байгаа цуглуулгууд: ftp.FreeBSD.org: FreeBSD FTP серверийн бүрэн толин тусгал. Америкийн Нэгдсэн Улс rsync://ftp-master.FreeBSD.org/ Энэ серверийг FreeBSD-ийн анхдагч толин тусгал сайтууд зөвхөн хэрэглэж болно. Байгаа цуглуулгууд: FreeBSD: FreeBSD FTP серверийн мастер архив. acl: FreeBSD-ийн мастер ACL жагсаалт. rsync://ftp13.FreeBSD.org/ Байгаа цуглуулгууд: FreeBSD: FreeBSD FTP серверийн бүрэн толин тусгал.
diff --git a/mn_MN.UTF-8/share/sgml/glossary/freebsd-glossary.sgml b/mn_MN.UTF-8/share/sgml/glossary/freebsd-glossary.sgml index dd251bf673..6741238179 100644 --- a/mn_MN.UTF-8/share/sgml/glossary/freebsd-glossary.sgml +++ b/mn_MN.UTF-8/share/sgml/glossary/freebsd-glossary.sgml @@ -1,1961 +1,1974 @@ &os; Нэр томъёо Энэ нэр томъёо нь &os;-ийн хүрээнийхэн болон баримтжуулалтад ашигласан ухагдахуунууд ба товчлолуудыг агуулдаг. A ACL ACPI AMD AML API APIC APM APOP ASL ATA ATM ACPI Machine Language AML Доор нь орших тоног төхөөрөмж болон OS-д танилцуулсан баримтжуулагдсан интерфэйсийн хооронд давхаргын боломжийг бий болгодог, ACPI-д нийцтэй үйлдлийн систем дэх виртуал машинаар тайлбарлагддаг псевдокод. ACPI Source Language ASL AML-ийн бичигдсэн програмчлалын хэл. Access Control List ACL - + Обьектод холбоотой зөвшөөрлүүдийн жагсаалт. Ихэвчлэн файл эсвэл сүлжээний + төхөөрөмж байна. Advanced Configuration and Power Interface ACPI Үйлдлийн систем нь тоног төхөөрөмжийг ашиглахын тулд түүний талаар юу ч мэдэх шаардлагагүй болгодог, тоног төхөөрөмжийн үйлдлийн системд танилцуулах интерфэйсийн хийсвэрлэлтийн боломжийг олгодог тодорхойлолт. ACPI нь APM, PNPBIOS болон бусад технологиудын өмнө нь хангадаг байсан ажиллагааг сайжруулж орлодог бөгөөд тэжээлийн хэрэглээ, машины зогсоолт, төхөөрөмж идэвхжүүлэх болон болиулах гэх мэтийг хянахад зориулсан боломжуудыг бий болгодог. Application Programming Interface API Нэг буюу хэд хэдэн програмын хэсгүүдийн зөвшөөрөгдсөн харилцан үйлдлийг заадаг процедурууд, протоколууд болон хэрэгслүүдийн олонлог. Хэрхэн, хэзээ тэдгээр нь цуг ажилладаг болон ямар өгөгдлийг хуваалцдаг эсвэл ажилладаг зэрэг үйлдлийг заадаг. Advanced Power Management APM - + Тэжээлийн удирдлагын боломжид хүрэхийн тулд үйлдлийн системийг + BIOS-той цуг ажиллуулах боломжтой болгодог + API. APM нь илүү ерөнхий + хүчирхэг ACPI тодорхойлолтоор ихэнх програмуудын + хувьд солигдсон. Advanced Programmable Interrupt Controller APIC Advanced Technology Attachment ATA Asynchronous Transfer Mode ATM Authenticated Post Office Protocol APOP Automatic Mount Daemon AMD Файлын систем дэх файл эсвэл санд хандахад файлын системийг автоматаар холбодог демон. B BAR BIND BIOS BSD Base Address Register BAR Аль хаягийн хүрээнд PCI төхөөрөмж хариулахыг тодорхойлдог регистрүүд. Basic Input/Output System BIOS BIOS-ийн тодорхойлолт нь хам сэдвээс баг зэрэг хамаарна. Зарим хүмүүс үүнийг програм хангамж болон тоног төхөөрөмжийн хоорондох интерфэйсийн боломжийг үзүүлдэг, үндсэн хэв журмуудын олонлог бүхий ROM бичил схем гэж үздэг. Зарим нь үүнийг системийг эхлүүлэхэд тусалдаг бичил схемд байгаа хэв журмуудын олонлог гэж үздэг. Зарим нь бас үүнийг эхлүүлэх процессийг тохируулахад хэрэглэгддэг дэлгэц гэж үздэг. BIOS нь PC-д зөвхөн хамааралтай боловч бусад системүүдэд үүнтэй төсөөтэй байдаг. Berkeley Internet Name Domain BIND DNS протоколуудын шийдэл. Berkeley Software Distribution BSD Энэ нь Беркли дэх Калифорнийн Их Сургуулийн Computer Systems Research Group (CSRG) буюу Компьютерийн Системийн Судалгааны Бүлгийн AT&T-ийн 32V &unix;-д хийсэн өөрсдийн сайжруулалт болон өөрчлөлтүүдэд өгсөн нэр юм. &os; нь CSRG-ийн ажлын үр удам юм. Bikeshed Building Олон хүмүүс төвөггүй хялбар сэдвээр үзэл бодлоо илэрхийлдгээс гарах гоц үзэгдэл, тэгвэл хэцүү төвөгтэй сэдэв бага эсвэл бүр огт хэлэлцдэггүй. Энэ ухагдахууны эхийн талаар FAQ хаягаас үзнэ үү. C CD CHAP CLIP COFF CPU CTS CVS Carrier Detect CD Зөөгч олдсон гэдгийг заах RS232C дохио. Central Processing Unit CPU Процессор гэж бас хэлэгддэг. Энэ нь бүх тооцоолол болдог компьютерийн тархи юм. Өөр өөр үйлдлүүдийн олонлогуудтай хэд хэдэн өөр өөр архитектурууд байдаг. Арай илүү алдартайгаас дурдвал Intel-x86 болон түүнээс уламжлагчид, Sun SPARC, PowerPC, болон Alpha нар юм. Challenge Handshake Authentication Protocol CHAP - + Клиент болон серверийн хооронд хэрэглэгддэг нууц дээр + тулгуурласан хэрэглэгчийг танин нэвтрүүлэх арга. Classical IP over ATM CLIP Clear To Send CTS Алсын системд өгөгдөл илгээх зөвшөөрөл өгдөг RS232C дохио. + Common Object File Format COFF Concurrent Versions System CVS Файлуудын олон өөр өөр залруулалтуудыг хянаж ажиллах арга бүхий хувилбар хяналтын систем. CVS нь өөрчлөлтүүд эсвэл өөрчлөлтүүдийн олонлогийг задлах, нийлүүлэх болон буцаах боломжийг олгодог бөгөөд аль өөрчлөлтүүдийг хэн, ямар шалтгаанаар хийснийг хянах боломжийг санал болгодог. D DAC DDB DES DHCP DNS DSDT DSR DTR DVMRP Discretionary Access Control DAC Data Encryption Standard DES &unix; нууц үгс болон &man.crypt.3; функцын хувьд ашиглагддаг, мэдээллийг шифрлэх уламжлалт шифрлэлтийн арга. Data Set Ready DSR Өгөгдлийг илгээх болон хүлээн авахад бэлэн байгааг илтгэх, модемоос компьютер эсвэл терминал уруу илгээгдэх RS232C дохио. + Data Terminal Ready DTR Өгөгдлийг илгээх болон хүлээн авахад бэлэн байгааг илтгэх, компьютер эсвэл терминалаас модем уруу илгээгдэх RS232C дохио. Debugger DDB Системийн төлвийг шалгахад зориулагдсан, бүтэлгүйтлийг тойрсон үйл явцуудыг тогтоохыг оролдож систем сүйрсэн үед ихэвчлэн ашиглагддаг цөмд байх лавлаж асуух боломж. Differentiated System Description Table DSDT - + Үндсэн системийн үндсэн тохиргооны мэдээллээр хангах + ACPI хүснэгт. Distance-Vector Multicast Routing Protocol DVMRP Domain Name System DNS Хүн уншиж чадах хостын нэрүүдийг (жишээ нь mail.example.net) Интернет хаягууд уруу болон эсрэгээр хөрвүүлдэг систем. Dynamic Host Configuration Protocol DHCP Компьютер серверээс IP хаяг хүсэх үед динамикаар IP хаяг олгодог протокол. Хаягийн олголтыг lease буюу түрээслэлт гэдэг. E ECOFF ELF ESP Encapsulated Security Payload ESP Executable and Linking Format ELF Extended COFF ECOFF F FADT FAT FAT16 FTP File Allocation Table FAT File Allocation Table (16-bit) FAT16 File Transfer Protocol FTP TCP дээр хийгдсэн өндөр түвшний протоколуудын гэр бүлийн гишүүн. Энэ нь TCP/IP сүлжээгээр файлуудыг дамжуулахад хэрэглэгддэг. Fixed ACPI Description Table FADT G GUI Giant Цөмийн их хэмжээний эх үүсвэрүүдийг хамгаалдаг, харилцан гаргах (mutual exclusion) арга замын (sleep mutex буюу унтах mutex) нэр. Цөөн хэдэн процессуудтай, нэг сүлжээний карттай, тэгээд мэдээж зөвхөн нэг процессортой машин байсан тэр өдрүүдэд хялбар түгжих арга зам боломжийн байсан боловч өнөө үед энэ нь хүлээж авч болохооргүй ажиллагааны гол асуудал юм. &os; хөгжүүлэгчид хувь эх үүсвэрүүдийг хамгаалах түгжээнүүдээр (цоож) үүнийг солихоор идэвхтэйгээр ажиллаж байгаа билээ. Ингэснээр ганц процессор болон олон процессортой машинуудад илүү ихээр зэрэгцээгээр ажиллах боломжийг олгох юм. Graphical User Interface GUI Хэрэглэгч болон компьютер нь графикуудтай харилцдаг систем. H HTML HUP HangUp HUP HyperText Markup Language HTML Вэб хуудсууд үүсгэхэд хэрэглэгддэг тэмдэглэх хэл. I I/O IASL IMAP IP IPFW IPP IPv4 IPv6 ISP IP Firewall IPFW IP Version 4 IPv4 Хаяглалтдаа 32 битийг ашигладаг IP протоколын хувилбар 4. Энэ хувилбар нь одоо ч гэсэн өргөн хэрэглэгддэг боловч IPv6-аар аажмаар солигдож байгаа. IP Version 6 IPv6 Шинэ IP протокол. IPv4-ийн хаягийн талбар дуусаж байгаагаас болж зохион бүтээгдсэн. Хаяглалтдаа 128 битийг ашигладаг. Input/Output I/O Intel’s ASL compiler IASL ASLAML руу хүвиргах Intel’-ийн эмхэтгэгч. Internet Message Access Protocol IMAP Захидлын сервер дээр байрлах цахим захидлуудад хандахад зориулагдсан протокол бөгөөд захидлууд нь захидал уншигч клиентээр татагдаж уншигдахын оронд сервер дээр ихэвчлэн хадгалагддаг шинж чанартай байдаг. Internet Printing Protocol IPP Internet Protocol IP Интернэт дэх үндсэн пакет дамжуулах протокол. АНУ-ын Батлан Хамгаалахын Хэлтэст анхлан хөгжүүлэгдсэн бөгөөд TCP/IP стекийн туйлын чухал хэсэг юм. Интернэт протоколгүйгээр Интернэт нь өнөөдрийнх шиг байхгүй байх байсан юм. Илүү мэдээллийг RFC 791 хаягаас үзнэ үү. Internet Service Provider ISP Интернэт уруу хандах боломжийг олгодог компани. K KAME Японоор яст мэлхий гэгддэг KAME ухагдахуун нь тооцоолох хүрээнийхэнд IPv6-ийн шийдэл дээр ажилладаг KAME Төслийг хэлэхэд хэрэглэгддэг. KDC KLD KSE KVA Kbps Kernel &man.ld.1; KLD Системийг дахин ачаалалгүйгээр тодорхой нэг ажиллагааг &os; цөмд динамикаар ачаалах арга. Kernel Scheduler Entities KSE Цөмөөр дэмжигдсэн урсгалжилтын (threading) систем. Илүү мэдээллийг төслийн гэрийн хуудаснаас үзнэ үү. Kernel Virtual Address KVA Key Distribution Center KDC Kilo Bits Per Second Kbps Урсгал (тухайн үед хичнээн хэмжээний өгөгдөл өгөгдсөн хугацаанд дамжихыг хэлнэ) хэмжихэд хэрэглэгддэг. Kilo-оос гадна Mega, Giga, Tera, гэх зэрэг байна. L LAN LOR LPD Line Printer Daemon LPD Local Area Network LAN Локал бүсэд хэрэглэгддэг сүлжээ. Локал бүсэд оффис, гэр гэх зэрэг орно. Lock Order Reversal LOR &os; цөм нь хэд хэдэн эх үүсвэрийн түгжээнүүдийг тэдгээр эх үүсвэрүүдийн хувьд маргааныг шүүхийн тулд хэрэглэдэг. &os.current; цөмүүдэд байдаг &man.witness.4; гэгддэг ажиллах үеийн түгжээ оношлох систем (гэхдээ хувилбаруудын хувьд арилгасан) нь түгжилт хийх алдаануудаас болж гарж болзошгүй амьгүй түгжээнүүдийг (deadlocks) илрүүлдэг. (&man.witness.4; нь жинхэнэдээ нэлээн консерватив учраас хуурамч алдаануудыг авах боломжтой юм.) Жинхэнэ зөв тайлан нь хэрэв та азгүй байсан бол амьгүй түгжээ энд гарах байсан гэдгийг заадаг. Жинхэнэ зөв LOR-уудыг ихэвчлэн хурдан засварладаг, тиймээс захидлын жагсаалт руу илгээхээсээ өмнө &a.current.url; болон Мэдэгдэж байгаа LOR-ууд хуудсыг шалгана уу. M MAC MADT MFC MFP4 MFS MIT MLS MOTD MTA MUA Mail Transfer Agent MTA Цахим захидал дамжуулахад хэрэглэгддэг програм. MTA нь уламжлалаар BSD үндсэн системийн хэсэг байсан. Өнөөдөр Sendmail нь үндсэн системд ордог боловч postfix, qmail болон Exim зэрэг олон бусад MTA-ууд байдаг. Mail User Agent MUA Хэрэглэгчдийн цахим захидал харах болон бичихэд хэрэглэгддэг програм. Mandatory Access Control MAC Massachusetts Institute of Technology MIT Merge From Current MFC -CURRENT салбараас ажиллагаа эсвэл засварыг өөр бусад руу ихэвчлэн -STABLE руу нийлүүлэх. Merge From Perforce MFP4 Perforce архиваас ажиллагаа эсвэл засварыг CURRENT салбар руу нийлүүлэх. Merge From Stable MFS FreeBSD-ийн хэвийн хөгжүүлэлтийн үеэр өөрчлөлт нь -STABLE руу нийлүүлэгдэхээсээ өмнө тест хийх зорилгоор -CURRENT салбар руу итгэмжлэн оруулагддаг. Ховор тохиолдолд өөрчлөлт нь эхлээд -STABLE руу орж дараа нь -CURRENT руу нийлүүлэгддэг. Энэ ухагдахуун нь -STABLE-с засварыг аюулгүй байдлын салбар руу нийлүүлэхэд бас хэрэглэгддэг. Message Of The Day MOTD Нэвтрэлт дээр ихэвчлэн үзүүлэгддэг мэдэгдэл. Системийн хэрэглэгчдэд мэдээлэл тараахад ихэвчлэн хэрэглэгддэг. Multi-Level Security MLS Multiple APIC Description Table MADT N NAT NDISulator NFS NTFS NTP Network Address Translation NAT - + Гарцын ард байгаа олон машин үр дүнтэйгээр нэг + IP хаяг хуваалцах боломжийг олгодог, + IP пакетууд нь гарцаар дамжихдаа дахин шинээр + засан бичигддэг техник Network File System NFS New Technology File System NTFS Microsoft-ийн хөгжүүлсэн файлын систем бөгөөд түүний &windows2k;, &windowsnt; болон &windowsxp; зэрэг New Technology үйлдлийн системүүдэд байдаг. Network Time Protocol NTP - + Сүлжээнд цагийг синхрон хийх гэсэн утгатай. O OBE ODMR OS On-Demand Mail Relay ODMR Operating System OS Компьютерийн тоног төхөөрөмжийн эх үүсвэрүүдэд хандах боломжийг олгодог програмууд, сангууд болон хэрэгслүүдийн цуглуулга. Үйлдлийн системүүд нь өнөөдөр нэг зэрэг зөвхөн нэг програм ажиллаж нэг төхөөрөмжид ханддаг хялбар хийцтэйгээс авахуулаад мянга мянган хэрэглэгчдэд зэрэг үйлчилж чаддаг, тус тусдаа хэдэн арван өөр програмуудыг ажиллуулдаг, бүрэн хэмжээний олон хэрэглэгчтэй, олон бодлоготой болон олон зорилгоор ашиглаж болох системүүд байна. Overtaken By Events OBE &os;-д хийгдсэн хожмын өөрчлөлтүүд, сүлжээний стандартуудад хийгдсэн өөрчлөлтүүд, нөлөөлөлд орсон тоног төхөөрөмж хуучирсан гэх зэрэг зүйлсээс болсон эсвэл хамааралгүй болсон, санал болгогдсон өөрчлөлтүүдийг (Problem Report буюу Асуудлын Тайлан эсвэл шинэ боломжийн хүсэлт зэрэг) хэлнэ. P p4 PAE PAM PAP PC PCNSFD PDF PID POLA POP POP3 PPD PPP PPPoA PPPoE PPP over ATM PPPoA PPP over Ethernet PPPoE PR PXE Password Authentication Protocol PAP Perforce CVS-ээс илүү дэвшилттэй, Perforce Software-ийн хийсэн эх код хянах бүтээгдэхүүн. Хэдийгээр нээлттэй эх биш боловч түүний хэрэглээ &os; зэрэг нээлттэй эхийн төслүүдэд үнэгүй байдаг. &os;-ийн зарим хөгжүүлэгчид -CURRENT салбарт хэтэрхий туршилтын байж болох кодын завсрын талбар болгон Perforce архивыг ашигладаг. Personal Computer PC Personal Computer Network File System Daemon PCNFSD Physical Address Extensions PAE Зөвхөн 32 битийн өргөнтэй хаягийн талбартай (бөгөөд PAE-гүй бол 4 GB-аар хязгаарлагддаг) системүүд дээр 64 GB хүртэлх RAM-д хандахыг идэвхжүүлэх арга. Pluggable Authentication Modules PAM Point-to-Point Protocol PPP Pointy Hat Тэнэг эсвэл залхуу сурагч/оюутнуудад өмсгөдөг конус хэлбэрийн малгайтай ихээхэн төстэй, үлгэр домгийн малгайгаар бүтээлтийг эвдэж залруулалтын дугааруудыг хойшлуулдаг эсвэл эх үндсэнд ямар нэг төрлийн сүйрэл, замбараагүй байдлыг үүсгэдэг, &os;-ийн итгэмжлэн оруулагчийг шагнадаг. Өөрийн алдаанаас болсон итгэмжлэн оруулагчид тун удалгүй ихээхэн хэмжээний цуглуулгатай болох болно. Үүний хэрэглээ (бараг үргэлж?) хошин байдаг. Portable Document Format PDF Post Office Protocol POP + Post Office Protocol Version 3 POP3 Захидлын сервер дээр байрлах цахим захидлуудад хандахад зориулагдсан протокол бөгөөд захидлууд нь сервер дээр үлдэхийн оронд ихэвчлэн серверээс клиент рүү татагдан авагддаг шинж чанартай байдаг. PostScript Printer Description PPD Preboot eXecution Environment PXE Principle Of Least Astonishment POLA &os; сайжирч өөрчлөлтүүд нь хэрэглэгчдэд харагдаж байхын хэрээр аль болох гайхахад хүргэхээргүй байх ёстой. Жишээ нь /etc/defaults/rc.conf дахь системийн эхлүүлэх хувьсагчуудыг дураар зохицуулах нь POLA-г зөрчдөг. Хөгжүүлэгчид нь хэрэглэгчдэд харагдах системийн өөрчлөлтүүдийг бодож байхдаа POLA-г бодолцох хэрэгтэй. Problem Report PR &os;-ийн эх эсвэл баримтад олдсон ямар нэг асуудлын тайлбар. &os;-ийн Асуудлын Тайлангууд бичих нь хуудсыг үзнэ үү. Process ID PID Систем дэх тухайн процессод зөвхөн хамаатай дугаар. Энэ дугаараар системийг таньж түүний эсрэг үйлдлүүд хийх боломжийг олгодог. Project Evil Билл Полын эхлээд иймэрхүү зүйлтэй болохын тулд бичиж ямар аймаар муухай болохыг нь (философийн талаас) хэлж нэрлэсэн, NDISulator-т зориулсан ажлын нэр. NDISulator нь Microsoft Windows™-ийн NDIS miniport сүлжээний драйверуудыг &os;/i386 дээр ашиглахын тулд хийсэн тусгай нийцтэй модуль юм. Драйвер нь хаалттай картуудыг ашиглах цорын ганц арга нь ихэвчлэн энэ байдаг. src/sys/compat/ndis/subr_ndis.c-г үзнэ үү. R RA RAID RAM RD RFC RISC RPC RS232C RTS Random Access Memory RAM Received Data RD An RS232C pin or wire that data is recieved on. Recommended Standard 232C RS232C Цуваа төхөөрөмжүүдийн хоорондын холбоонуудад зориулсан стандарт. Reduced Instruction Set Computer RISC Тоног төхөөрөмжийн гүйцэтгэж болох үйлдлүүд нь хялбарчлагдсан бөгөөд аль болох ерөнхий зориулалтаар хийгддэг, процессорын дизайны нэг хандлага. Энэ нь бага хэмжээний тэжээлийн хэрэглээ, цөөн транзистор, болон зарим тохиолдолд илүү сайн ажиллагаа болон кодын илүү нягтралд хүргэдэг. RISC процессоруудын жишээнд Alpha, &sparc;, &arm; болон &powerpc;-г оруулж болно. Redundant Array of Inexpensive Disks RAID Remote Procedure Call RPC repocopy Repository Copy CVS архив дотор файлуудыг шууд хуулах. Ийм хуулалт хийх боломжгүй бол файлыг архив дотор өөр газар руу хуулах эсвэл шилжүүлэх хэрэгтэй бол итгэмжлэн оруулагч нь файлыг шинэ байрлал руу хийхийн тулд cvs add тушаалыг ажиллуулж дараа нь хуучин хуулбар устгагдах ёстой бол cvs rm гэж хуучин файл дээр ажиллуулах ёстой байдаг. Энэ аргын сул тал нь файлын түүх (өөрөөр хэлбэл CVS бүртгэлүүд дэх оруулгууд) шинэ байрлал руу хуулагддаггүй явдал юм. &os; төсөл нь энэ түүхийг маш ашигтай гэж үздэг бөгөөд үүний оронд архивын хуулалтыг ихэвчлэн ашигладаг. Энэ нь &man.cvs.1; тушаалыг ашиглахын оронд архивын администраторуудын аль нэг нь файлуудыг архив дотор шууд хуулах процесс юм. Request For Comments RFC Интернэтийн стандартууд, протоколууд, гэх зэргүүдийг тодорхойлдог бичиг баримтын цуглуулга. www.rfc-editor.org-г үзнэ үү. Хэн нэг нь санал болгосон өөрчлөлттэй бөгөөд эргээд санал хүлээн авахыг хүсэх үед бас хэрэглэгддэг ерөнхий ухагдахуун юм. Request To Send RTS Алсын системээр өгөгдлийн дамжуулалтыг эхлүүлэхийг хүсэх RS232C дохио. Router Advertisement RA S SCI SCSI SG SMB SMP SMTP SMTP AUTH SSH STR SMTP Authentication SMTP AUTH Server Message Block SMB Signal Ground SG Дохионы хувьд газар болдог RS232-ийн зүү эсвэл утас. Simple Mail Transfer Protocol SMTP Secure Shell SSH Small Computer System Interface SCSI Suspend To RAM STR Symmetric MultiProcessor SMP System Control Interrupt SCI T TCP TCP/IP TD TFTP TGT TSC Ticket-Granting Ticket TGT Time Stamp Counter TSC Орчин үеийн &pentium; процессоруудын дотор байдаг хувийн тоологч. Энэ нь гол цөм давтамжийн цагийг тоолдог. Transmission Control Protocol TCP IP протокол дээр сууж байдаг (өөрөөр хэлбэл) протокол бөгөөд пакетууд найдвартай, дарааллыг барьсан загвараар хүргэгдэхийг баталгаажуулдаг. Transmission Control Protocol/Internet Protocol TCP/IP IP протокол дээгүүр ажиллах TCP-ийн хослолд зориулагдсан ухагдахуун. Интернэтийн ихэнх хэсэг TCP/IP-ээр ажилладаг. Transmitted Data TD Өгөгдөл дамжсан RS232C-ийн зүү эсвэл утас. Trivial FTP TFTP U UDP UFS1 UFS2 UID URL USB Uniform Resource Locator URL Unix File System Version 1 UFS1 Unix File System Version 2 UFS2 Universal Serial Bus USB User ID UID Компьютерийн хэрэглэгч бүрт өгсөн ялгаатай дугаар. Энэ дугаараар тэр хэрэглэгчид өгсөн эх үүсвэрүүд болон зөвшөөрлүүдийг таньдаг. User Datagram Protocol UDP V VPN Virtual Private Network VPN