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) ба
ALTQ
галт хана
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-д
+ алдаа байгаа эсэхийг шалгах
+
+
+
+
+
+
ALTQ-г идэвхжүүлэх
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 мөр нь ALTQ-г
SMP-тай хамт ажиллах боломжтой болгоно.
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 "<>" |
"><" гэж хэрэглэнэ.
Орчин үеийн дүрэмтэй
ажиллах логикийн хувьд эхлэл болон очих порт тохируулах параметрүүдийн дараа,
дараах хоёр параметрийг заавал хэрэглэнэ.
TCP_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 #####################################
NAT
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
IPNAT
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
IPNAT Дүрмүүд
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 гэсэн тусгай түлхүүр үг байж болно.
NAT хэрхэн ажилладаг вэ
Гадаад очих хаягтай пакет галт хана дээр LAN-с хүрэлцэн ирнэ.
Эхлээд гадагшаа шүүлтийн дүрмүүдээр гарна, дараа нь NAT-н
ээлж ирэх ба өөрийн дүрмүүдийг дээрээс доош шалгаж эхэлнэ. Хамгийн эхэнд тохирсон нь
дийлнэ. NAT өөрийн дүрэм бүрийг пакетийн интерфэйсийн нэр болон
эхлэл хаягаар тулгаж шалгана. Пакетийн интерфэйсийн нэр NAT
дүрэмтэй тохирвол пакетийн [эхлэл IP хаяг, өөрөөр хэлбэл хувийн LAN IP хаяг]
NAT дүрмийн сумны зүүн талд зааж өгсөн
IP хаягийн зурвас дотор байгаа эсэхийг шалгана. Хэрэв энэ тохирвол
пакетийн эхлэл хаягийг 0/32 түлхүүр үгийн тусламжтай
олж авсан гадаад IP хаягаар сольж бичнэ. NAT
өөрийн дотоод NAT хүснэгтэнд бичлэг нэмэх ба энэ нь
пакет Интернэтээс буцаж ирэхэд түүнийг буцаан хувийн IP хаяг уруу нь хөрвүүлэн,
цааш шүүлтийн дүрмүүдээр оруулах боломжийг олгоно.
IPNAT-г идэвхжүүлэх
IPNAT-г идэвхжүүлэхийн тулд эдгээр илэрхийллүүдийг
/etc/rc.conf дотор нэмж бичнэ.
Өөрийн машиныг интерфэйсүүдийн хооронд пакетуудыг чиглүүлдэг
болгохын тулд:
gateway_enable="YES"
Систем ачаалахад IPNAT-г автоматаар ачаалдаг
болгохын тулд:
ipnat_enable="YES"
IPNAT-н дүрмүүдийг хаанаас ачаалахыг зааж өгөхдөө:
ipnat_rules="/etc/ipnat.rules"
Маш том LAN-д зориулсан NAT
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 ба NAT
FTP-г Интернэт одоогийнх шиг байхаас өмнөх үе, их сургуулиуд
түрээсийн шугамаар хоорондоо холбогдож, судлаач эрдэмтэд хоорондоо файл солилцохын тулд
FTP-г ашигладаг байх үес үлдсэн үлэг гүрвэл гэж хэлж болох юм. Тэр үед
өгөгдлийн аюулгүй байдлын талаар огт анхаардаггүй байлаа. Цаг хугацаа өнгөрөхөд
FTP протоколыг шинээр гарч ирж байгаа Интернэтийн гол нуруу сүлжээнд хэрэглэх болсон ба
түүний хэрэглэгчийн нэр, нууц үгийг цэвэр текст хэлбэрээр дамжуулдаг байдал нь
хэзээ ч өөрчлөгдөөгүй бөгөөд орчин үеийн аюулгүй байдлын шаардлагад
нийцэхгүй болсон билээ. FTP нь active буюу идэвхтэй, passive буюу идэвхгүй гэсэн хоёр
горимд ажилладаг. Өгөгдлийн сувгийг хэрхэн ашиглаж байгаа дээр гол ялгаа нь гардаг.
Өгөгдлийн сувгийг ftp сесс хүсэгч байдлаар ажиллуулдаг тул идэвхгүй горимд ажиллах
нь аюулгүй байдлыг илүүтэйгээр хангана. FTP-н талаар илүү сайн тайлбарыг болон түүний
горимуудын талаар хаягаар үзнэ үү.
IPNAT Дүрмүүд
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 хийгдэнэ.
IPNAT 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-г оруулаагүй эсвэл
ирж байгаа пакетуудыг нэвтрүүлэх дүрмүүд бичээгүй бол та энэ машинаас ирж
байгаа болон явж байгаа бүх пакетуудыг хаачихлаа гэсэн үг юм.
/etc/rc.conf Тохируулгууд
галт ханыг идэвхжүүлэхийн тулд:
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 ###############################
NAT болон Төлөвт дүрмийн олонлогийн жишээ
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
Танилцуулга
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 нь
таны цорын ганц сонголт байх юм.
Нэргүй 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
src/ модыг шалгаж авахын тулд 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; захидлын жагсаалтад хандана уу.
CTM-г би яагаад ашиглах ёстой вэ?
CTM нь танд FreeBSD эх моднуудын локал
хуулбарыг өгдөг. Модны төрөл бүрийн хэлбэрүүд
байдаг.
Таны бүхэл CVS мод эсвэл аль нэг салбаруудын нэгийг дагахыг хүсэж байгаагаас
хамаарч CTM нь танд мэдээлэл өгч чадна.
Та FreeBSD-ийн идэвхтэй хөгжүүлэгч боловч олиггүй юм уу эсвэл TCP/IP холболт байхгүй
эсвэл өөрчлөлтүүдийг автоматаар тан руу илгээгддэг байлгахыг хүсэж байгаа
бол CTM нь танд зориулагджээ.
Та хамгийн идэвхтэй салбаруудын хувьд өдөрт гурав хүртэлх дельтануудыг авах
хэрэгтэй болно. Гэхдээ та тэдгээрийг автомат цахим захидлаар илгээгддэг
байхыг бодох хэрэгтэй. Шинэчлэлтүүдийн хэмжээг үргэлж аль болох бага байлгадаг.
Энэ ихэвчлэн 5K-с бага байдаг, хааяа (арваас нэгт) 10-50K хэмжээтэй
байдаг бөгөөд заримдаа том 100K+ эсвэл илүү бас байдаг.
Та урьдчилан багцалсан хувилбарын оронд хөгжүүлэлтийн эхүүд дээр
шууд ажиллахтай холбоотой гардаг төрөл бүрийн анхааруулгуудын талаар бас
мэдэж байх хэрэгтэй болно. Энэ нь таныг current
эхүүдийг сонгох тохиолдолд ялангуяа үнэн байдаг. Таныг
FreeBSD-ийн одоо үеийн хэлбэрт байх нь
хэсгийг уншихыг зөвлөдөг.
CTM-г ашиглахад надад юу хэрэгтэй вэ?
Танд хоёр зүйл хэрэгтэй: 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 системийн ажиллагааны тухай
зарлалууд илгээгдэх газар нь зөвхөн энэ болох юм.
Дээрх жагсаалтын нэрэн дээр дарж жагсаалтад бүртгүүлэхийн тулд
заавруудыг дагах хэрэгтэй.
CTM-г эхний удаа хэрэглэх
CTM дельтануудыг ашиглаж эхлэхээсээ
өмнө дельтанууд дараа дараагийн удаа үүсгэгдэхэд нь зориулж та эхлэх цэг дээр ирэх
хэрэгтэй болно.
Танд юу байгааг эхлээд тодорхойлох хэрэгтэй. Бүгд
хоосон
сангаас эхэлж болно. Өөрийн CTM-ээр
дэмжигдсэн модыг эхлүүлэхийн тулд та эхний Empty
буюу хоосон
дельтаг ашиглах ёстой. Тодорхой нэг цэгт эдгээр started
буюу
эхэлсэн дельтануудын аль нэгийг өөрийн хүслээр CD дээр түгээж болохоор энэ нь
зориулагдсан боловч одоогоор тийм юм болоогүй байгаа билээ.
Моднууд нь хэдэн арван мегабайт байдаг болохоор өөртөө байгаагаас эхлэхийг
эрхэмлэх ёстой юм. Хэрэв танд -RELEASE CD байгаа бол та эхний эхийг түүнэс хуулж эсвэл
задалж болох юм. Энэ нь өгөгдлийн чухал дамжуулалтыг хэмнэх болно.
Та эдгээр starter
буюу эхлэх дельтануудыг
дугаарт нэмэгдсэн X-ээр таньж болно
(жишээ нь src-cur.3210XEmpty.gz).
X-ийн дараах тэмдэглээс нь таны эхний seed
буюу үрийн үүсэлд харгалзана. Дүрмээр бол Empty буюу
хоосноос шилжих үндсэн шилжилт нь 100 дельта бүрээс үүсгэгдэнэ.
Ингэхэд тэдгээр нь том байна! XEmpty
дельтануудын хувьд 70-аас 80 мегабайт gzip хийгдсэн
өгөгдөл нь нийтлэг байдаг.
Эхлэх анхдагч дельтаг сонгосны дараа танд түүний дараах өндөр дугааруудтай
бүх дельтанууд хэрэгтэй болно.
Өөрийн өдөр тутмын амьдралдаа CTM-г ашиглах нь
Дельтануудыг өгөхийн тулд ердөө л доор дурдсаныг хийнэ:
&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
файлыг хамгийн сүүлийн хэлбэрт байлгах болно.
CTM-ийн бусад сонирхолтой сонголтууд
Шинэчлэлтээр яг юу хөндөгдөхийг олох
Та өөрийн эх архивт 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-ээр
боловсруулагддаг.
CTM-ийн ирээдүйн төлөвлөгөөнүүд
Маш их:
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
refuse файл
Дээр дурдсанаар 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 файлууд болон бусад сайхан боломжуудын
талаар илүү мэдээллийг түүний гарын авлагын хуудаснаас үзнэ үү.
CVSup-г ажиллуулах нь
Одоо та шинэчлэлт хийж үзэхэд бэлэн боллоо. Үүнийг хийх тушаалын мөр
их амархан:
&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-г
ашиглахгүй болгох хэрэгтэй.
CVSup-ийн файлын цуглуулгууд
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
Portsnap-г эхний удаа ажиллуулах нь
&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
ASL-г AML руу
хүвиргах 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