diff --git a/mn_MN.UTF-8/books/handbook/linuxemu/chapter.sgml b/mn_MN.UTF-8/books/handbook/linuxemu/chapter.sgml index e71c607108..840c5a31d6 100644 --- a/mn_MN.UTF-8/books/handbook/linuxemu/chapter.sgml +++ b/mn_MN.UTF-8/books/handbook/linuxemu/chapter.sgml @@ -1,3308 +1,3310 @@ Жим Мок Дахин зохион байгуулж хэсгүүдийг шинэчилсэн Брайн Н. Хэнди Анхлан хувь нэмэр болгон оруулсан Рич Мёрфи Цагаанхүүгийн Ганболд Орчуулсан Линуксийн Хоёртын Нийлэмж Ерөнхий агуулга Линуксийн Хоёртын Нийлэмж хоёртын нийлэмж Линукс FreeBSD нь Линуксийг оруулаад хэд хэдэн бусад &unix; төст үйлдлийн системүүдтэй хоёртын нийлэмжтэй байдаг. Та магадгүй FreeBSD яагаад Линукс хоёртын файлуудыг ажиллуулж чаддаг байх хэрэгтэй вэ? гэж өөрөөсөө асууж болох юм. Энэ асуултын хариулт их энгийн. Линукс нь тооцоолох ертөнц дэх хамгийн сүүлийн үеийн халуун зүйл болохоор олон компаниуд болон хөгжүүлэгчид зөвхөн Линуксд зориулж хөгжүүлдэг. Тэгэхээр бидний FreeBSD хэрэглэгчид эдгээр компаниуд болон хөгжүүлэгчдээс өөрсдийн програмууддаа зориулж FreeBSD-ийн хувилбарууд бичихийг шалгаахаас өөр аргагүйд хүргэдэг. Гол асуудал нь эдгээр компаниудын ихэнх нь өөрсдийнх нь бүтээгдэхүүн бас FreeBSD дээрх хувилбартай байсан бол хэр олон хүмүүс ашиглахыг яг үнэндээ бодож байгаагүй бөгөөд ихэнх нь зөвхөн Линуксд зориулж хөгжүүлэлт хийсээр байдаг. Тэгэхээр FreeBSD хэрэглэгчид юу хийх вэ? Яг энэ үед Линуксийн хоёртын нийлэмж хэрэг болдог билээ. Товчхондоо нийлэмж нь FreeBSD хэрэглэгчдэд Линуксийн бүх програмуудын ойролцоогоор 90%-ийг засваргүйгээр ажиллуулах боломжийг олгодог. Эдгээрт &staroffice;, &netscape;-ийн Линуксийн хувилбар, &adobe; &acrobat;, &realplayer;, VMware, &oracle;, &wordperfect;, Doom, Quake зэрэг олон програмууд орно. Зарим тохиолдолд Линуксийн хоёртын файлууд нь Линукс дээр байгаагаас илүү хурдан FreeBSD дээр ажилладаг тохиолдол гарсан байна. Гэхдээ зарим нэг Линуксд зөвхөн зориулагдсан үйлдлийн системийн боломжууд FreeBSD дээр дэмжигдээгүй байдаг. Хэрэв Линуксийн хоёртын файлууд нь виртуал 8086 горимыг идэвхжүүлэх зэрэг зөвхөн &i386;-д зориулсан дуудлагуудыг ихээр ашиглаж байгаа үед ажилладаггүй. Энэ бүлгийг уншиж дууссаны дараа та дараах зүйлсийг мэдэх болно: Өөрийн систем дээр Линуксийн хоёртын нийлэмжийг хэрхэн идэвхжүүлэх талаар. Линуксийн нэмэлт хуваалцсан сангуудыг хэрхэн суулгах талаар. Өөрийн FreeBSD систем дээр Линуксийн програмуудыг хэрхэн суулгах талаар. FreeBSD дээрх Линуксийн нийлэмжийн шийдлийн нарийн учруудын талаар. Энэ бүлгийг уншихаасаа өмнө, та дараах зүйлсийг мэдэх шаардлагатай: Гуравдагчдын бүтээсэн програм хангамжуудыг хэрхэн суулгах талаар мэдэх (). Суулгалт KLD (цөмд дуудагдах боломжтой обьект) Линуксийн хоёртын нийлэмж анхдагчаар идэвхтэй байдаггүй. Энэ ажиллагааг хамгийн хялбараар идэвхжүүлэхийн тулд линукс KLD обьектийг (Kernel LoaDable обьект) дуудах явдал юм. Та энэ модулийг дараах тушаалыг root эрхээр ажиллуулж дуудаж болно: &prompt.root; kldload linux Хэрэв та Линуксийн нийлэмжийг үргэлж идэвхжүүлэхийг хүсэж байгаа бол дараах мөрийг /etc/rc.conf файлд нэмэх хэрэгтэй: linux_enable="YES" KLD дуудагдсан эсэхийг шалгахын тулд &man.kldstat.8; тушаалыг ашиглаж болно: &prompt.user; kldstat Id Refs Address Size Name 1 2 0xc0100000 16bdb8 kernel 7 1 0xc24db000 d000 linux.ko цөмийн тохируулгууд COMPAT_LINUX Хэрэв ямар нэгэн шалтгаанаас болоод та KLD-г хүсэхгүй эсвэл дуудаж чадахгүй байгаа бол options COMPAT_LINUX тохируулгыг өөрийн цөмийн тохиргооны файлдаа нэмж Линуксийн хоёртын нийлэмжийг статикаар холбож болох юм. Дараа нь хэсэгт тайлбарласны дагуу өөрийн шинэ цөмийг суулгах хэрэгтэй. Линуксийн ажиллах үеийн сангуудыг суулгах нь Линукс Линуксийн сангуудыг суулгах linux_base порт юм уу эсвэл тэдгээрийг гараар суулгах гэсэн хоёр аргын аль нэгээр үүнийг хийж болох юм. linux_base портыг суулгаж ашиглах Портын цуглуулга Ажиллах үеийн сангуудыг суулгахад ашиглах хамгийн хялбар арга нь энэ юм. Энэ нь ямар нэгэн портыг Портын цуглуулгаас суулгаж байгаатай адил юм. Ердөө л доор дурдсаныг хийх хэрэгтэй: &prompt.root; cd /usr/ports/emulators/linux_base-fc4 &prompt.root; make install distclean Та одоо ажилладаг Линуксийн хоёртын нийлэмжтэй болсон байх ёстой. Зарим програмууд системийн сангуудын буруу бага хувилбаруудын талаар гомдоллож болох юм. Гэхдээ энэ нь ерөнхийдөө асуудал биш байдаг. Төрөл бүрийн Линукс тархацуудын янз бүрийн хувилбаруудад тохирох emulators/linux_base портын олон хувилбарууд байж болох юм. Таны суулгахыг хүсэж байгаа Линуксийн програмуудын шаардлагыг аль болох ойр хангаж байгаа тийм портыг та суулгах шаардлагатай. Сангуудыг гараар суулгах Хэрэв та портын цуглуулга суулгаагүй бол сангуудыг гараар суулгаж болно. Програмын хамаардаг Линуксийн хуваалцсан сангууд болон ажиллах үеийн холбогч (linker) танд хэрэгтэй болно. Та бас сүүдэр root сан буюу /compat/linux санг өөрийн FreeBSD систем дээр Линуксийн сангуудад зориулж үүсгэх хэрэгтэй болно. FreeBSD дээр ажиллаж байгаа Линуксийн програмуудын онгойлгосон дурын хуваалцсан сангууд энэ модыг эхлээд хайдаг. Тэгэхээр хэрэв Линуксийн програм жишээ нь /lib/libc.so-г дуудвал FreeBSD эхлээд /compat/linux/lib/libc.so-г онгойлгохыг оролдох бөгөөд хэрэв байхгүй бол /lib/libc.so-г оролдох болно. Хуваалцсан сангууд нь Линуксийн ld.so тушаалаар гарч байгаа замуудад биш харин сүүдэр мод /compat/linux/lib-т суулгагдах ёстой. Ерөнхийдөө таныг Линуксийн програм өөрийн FreeBSD системд суулгах эхний цөөхөн хэдэн удаад зөвхөн Линуксийн хоёртын файлуудын хамаардаг хуваалцсан сангуудыг хайх хэрэгтэй болно. Хэсэг хугацааны дараа та өөрийн систем дээрээ ямар нэгэн илүү ажиллагаагүйгээр шинээр импорт хийгдсэн Линуксийн хоёртын файлуудыг ажиллуулж чадах Линуксийн хуваалцсан сангуудын хангалттай олонлогтой болсон байх болно. Нэмэлт хуваалцсан сангуудыг хэрхэн суулгах вэ хуваалцсан сангууд linux_base портыг суулгасан ч гэсэн таны програм хуваалцсан сангууд байхгүй байна гээд гомдоллоод байвал яах вэ? Линуксийн хоёртын файлуудад ямар хуваалцсан сангууд хэрэгтэйг яаж мэдэх вэ, тэдгээрийг хаанаас авах вэ? Үндсэндээ 2 боломж байдаг (эдгээр заавруудыг дагаж байхдаа та өөрийн FreeBSD систем дээрээ root байх хэрэгтэй болно). Линукс системд хандах боломжтой бол програмд ямар хуваалцсан сангууд хэрэгтэйг мэдээд тэдгээрийг өөрийн FreeBSD систем уруу хуулах хэрэгтэй. Доорх жишээг харна уу: Та FTP ашиглан Doom гэсэн Линуксийн хоёртын файлыг авч өөрөө хандаж болох Линукс систем дээрээ байрлуулсан гэж үзье. Та тэгээд үүний шаарддаг хуваалцсан сангуудыг ldd linuxdoom тушаал ашиглан иймэрхүүгээр шалгаж болно: &prompt.user; ldd linuxdoom libXt.so.3 (DLL Jump 3.1) => /usr/X11/lib/libXt.so.3.1.0 libX11.so.3 (DLL Jump 3.1) => /usr/X11/lib/libX11.so.3.1.0 libc.so.4 (DLL Jump 4.5pl26) => /lib/libc.so.4.6.29 симболын холбоосууд Та сүүлийн баганад байгаа бүх файлуудыг авч эхний баганад байгаа нэрсийг тэдгээр уруу заасан симболын холбоосууд болгон /compat/linux дотор байрлуулах хэрэгтэй. Энэ нь та өөрийн FreeBSD системдээ эцсийн эцэст эдгээр файлуудтай болно гэсэн үг юм: /compat/linux/usr/X11/lib/libXt.so.3.1.0 /compat/linux/usr/X11/lib/libXt.so.3 -> libXt.so.3.1.0 /compat/linux/usr/X11/lib/libX11.so.3.1.0 /compat/linux/usr/X11/lib/libX11.so.3 -> libX11.so.3.1.0 /compat/linux/lib/libc.so.4.6.29 /compat/linux/lib/libc.so.4 -> libc.so.4.6.29
Хэрэв та ldd тушаалын гаралтын эхний баганатай Линуксийн хуваалцсан сангийн гол залруулалтын дугаар таарсан тийм Линуксийн хуваалцсан сантай байгаа бол сүүлийн баганад байгаа файлуудыг өөрийн систем уруу хуулах шаардлагагүй бөгөөд танд байгаа чинь ажиллах ёстойг санаарай. Хэрэв шинэ хувилбар бол хуваалцсан санг ямар ч байсан хуулахыг зөвлөдөг. Та шинэ уруу заасан симболын холбоос үүсгэснийхээ дараа хуучинг устгаж болно. Тэгэхээр хэрэв эдгээр сангууд таны өөрийн системд байгаа: /compat/linux/lib/libc.so.4.6.27 /compat/linux/lib/libc.so.4 -> libc.so.4.6.27 бөгөөд шинэ сан нь ldd тушаалын гаралтын дагуу сүүлийн хувилбарыг шаардана гэж байгааг мэдвэл: libc.so.4 (DLL Jump 4.5pl26) -> libc.so.4.6.29 Хэрэв төгсөж байгаа тоон дээр зөвхөн нэг юм уу эсвэл хоёр хувилбар хуучин байгаа бол /lib/libc.so.4.6.29-г бас хуулж санаагаа зовоогоод хэрэггүй бөгөөд програм нь нэлээн хуучин хувилбартай зүгээр ажиллах ёстой юм. Гэхдээ хэрэв та хүсэж байгаа бол libc.so-г ямар ч байсан гэсэн солихоор шийдэж болох бөгөөд энэ нь таныг доорхтой үлдээх болно: /compat/linux/lib/libc.so.4.6.29 /compat/linux/lib/libc.so.4 -> libc.so.4.6.29
Симболын холбоосын арга нь зөвхөн Линукс хоёртын файлуудад хэрэгтэй байдаг. FreeBSD-ийн ажиллах үеийн холбогч нь таарах гол залруулалтын дугааруудыг хайх талаар өөрөө санаа тавьдаг болохоор та санаа зовох хэрэггүй юм.
Линуксийн ELF хоёртын файлуудыг суулгах Линукс ELF хоёртын файлууд ELF хоёртын файлууд нь заримдаа branding буюу тамгалах нэмэлт алхмыг шаарддаг. Хэрэв та тамгалаагүй ELF хоёртын файлыг ажиллуулахыг оролдвол доор дурдсантай төстэй алдааг хүлээн авах болно: &prompt.user; ./my-linux-elf-binary ELF binary type not known Abort FreeBSD цөмд FreeBSD ELF хоёртын файлыг Линуксийн хоёртын файлаас ялгахад туслахын тулд &man.brandelf.1; хэрэгслийг ашиглана. &prompt.user; brandelf -t Linux my-linux-elf-binary GNU хэрэгслийн цуглуулга Өнөөдөр GNU хэрэгслийн цуглуулга нь ELF хоёртын файлуудад автоматаар тохирох тамгалалтын мэдээллийг байрлуулдаг. Тэгэхээр энэ алхам нь ирээдүйд бараг л хэрэггүй болох ёстой юм. Хостын нэр танигчийг тохируулах Хэрэв DNS ажиллахгүй байвал эсвэл та ийм мэдэгдэл хүлээн авбал: resolv+: "bind" is an invalid keyword resolv+: "hosts" is an invalid keyword Та дараах мөрүүдийг агуулсан /compat/linux/etc/host.conf файлыг тохируулах хэрэгтэй болно: order hosts, bind multi on Энд байгаа order нь /etc/hosts-г эхлээд хайж дараа нь DNS-ийг хайна гэж зааж байна. /compat/linux/etc/host.conf суугаагүй үед Линуксийн програмууд FreeBSD-ийн /etc/host.conf-г олж нийцгүй FreeBSD-ийн бичлэг байна гэж гомдоллох болно. Хэрэв та /etc/resolv.conf файл ашиглан нэрийн серверийг тохируулаагүй бол bind гэсэн үгийг устгах хэрэгтэй.
Борис Холлас Mathematica 5.X-д зориулж шинэчилсэн &mathematica; суулгах нь програмууд Mathematica Энэ баримт нь &mathematica; 5.X-ийн Линукс хувилбарыг FreeBSD систем уруу суулгах процессийг тайлбарлах болно. &mathematica; эсвэл &mathematica; for Students-ийн Линуксийн хувилбарыг дэх Wolfram-аас захиалж болно. &mathematica; суулгагчийг ажиллуулах Эхлээд &mathematica;-ийн Линукс хоёртын файлууд Линуксийн ABI-г ашиглана гэдгийг та &os;-д хэлж өгөх хэрэгтэй. Ингэж хийх хамгийн хялбар арга бол бүх тамгалаагүй хоёртын файлуудын хувьд анхдагч ELF тамгалалтыг Линукс болгон дараах тушаалаар тохируулах явдал юм: &prompt.root; sysctl kern.fallback_elf_brand=3 Энэ нь тамгалаагүй ELF хоёртын файлууд Линуксийн ABI-г ашиглана гэж бодоход &os;-г хүргэх бөгөөд та суулгагчийг CDROM-оос шууд ажиллуулах боломжтой болох ёстой. Одоо MathInstaller файлыг өөрийн хатуу хөтөч уруу хуулах хэрэгтэй: &prompt.root; mount /cdrom &prompt.root; cp /cdrom/Unix/Installers/Linux/MathInstaller /localdir/ бөгөөд энэ файл дахь эхний мөрний /bin/sh/compat/linux/bin/sh гэж солих хэрэгтэй. Энэ нь суулгагч &man.sh.1;-ийн Линуксийн хувилбарыг ажиллуулахаар болгож байгаа юм. Дараа нь Linux) гэсэн бүгдийг FreeBSD) гэдгээр текст засварлагчаар юм уу эсвэл доорх дараагийн хэсэгт байгаа скриптээр солих хэрэгтэй. Үйлдлийн системийг тодорхойлохын тулд uname -s тушаалыг дууддаг &mathematica; суулгагчид &os;-г Линукс төст үйлдлийн систем гэж үзэхийг энэ нь хэлж өгнө. MathInstaller-г ажиллуулахад одоо &mathematica;-г суулгах болно. &mathematica;-ийн ажиллуулах боломжтой файлуудыг өөрчлөх Суулгах явцад &mathematica;-ийн үүсгэсэн бүрхүүлийн скриптүүдийг ашиглахаасаа өмнө өөрчлөх хэрэгтэй. Хэрэв та &mathematica;-ийн ажиллуулах боломжтой файлуудыг байрлуулах санд /usr/local/bin-г сонгосон бол та энэ санд math, mathematica, Mathematica, болон MathKernel гэж нэрлэгдсэн файлууд уруу заагдсан симболын холбоосуудыг олох болно. Эдгээр бүрт Linux) гэдгийг FreeBSD) гэдгээр текст засварлагчаар юм уу эсвэл доорх бүрхүүлийн скриптээр солих хэрэгтэй: #!/bin/sh cd /usr/local/bin for i in math mathematica Mathematica MathKernel do sed 's/Linux)/FreeBSD)/g' $i > $i.tmp sed 's/\/bin\/sh/\/compat\/linux\/bin\/sh/g' $i.tmp > $i rm $i.tmp chmod a+x $i done Өөрийн &mathematica; нууц үгийг олж авах Ethernet MAC хаяг &mathematica;-г эхний удаа эхлүүлэхэд танаас нууц үг асуух болно. Хэрэв та Wolfram-аас нууц үгээ авч амжаагүй байгаа бол өөрийн машины ID-г авахын тулд суулгацын санд mathinfo-г ажиллуулах хэрэгтэй. Энэ машины ID нь таны эхний Ethernet картны MAC хаяг дээр тулгуурласан болохоор &mathematica;-ийн өөрийн хуулбарыг та өөр машинууд дээр ажиллуулж чадахгүй юм. Wolfram-д цахим захидлаар ч юм уу эсвэл утас, факсаар бүртгүүлэх үедээ та машины ID-аа тэдэнд өгөх бөгөөд тэд бүлэг тоонуудаас тогтох харгалзах нууц үг бүхий хариу өгөх болно. &mathematica; нүүрэн хэсгийг сүлжээгээр ажиллуулах &mathematica; нь тэмдэгтүүдийг үзүүлэхийн тулд аль ч стандарт үсгийн маягуудын олонлогуудад байдаггүй тусгай үсгийн маягуудыг ашигладаг (интегралууд, нийлбэрүүд, Грек үсгүүд гэх мэт.). X протокол нь эдгээр үсгийн маягуудыг өөр дээрээ локалаар суулгахыг шаарддаг. Энэ нь CDROM юм уу эсвэл &mathematica; суулгагдсан хостоос эдгээр үсгийн маягуудын хуулбарыг өөрийн локал машин уруу хуулна гэсэн үг юм. Эдгээр үсгийн маягууд нь CDROM-ийн /cdrom/Unix/Files/SystemFiles/Fonts сан, эсвэл таны хатуу хөтчийн /usr/local/mathematica/SystemFiles/Fonts санд ихэвчлэн хадгалагддаг. Үсгийн жинхэнэ маягууд нь Type1 болон X дэд сангуудад байрладаг. Доор тайлбарласан тэдгээрийг ашиглах хэд хэдэн аргууд байдаг. Эхний арга нь тэдгээрийг /usr/X11R6/lib/X11/fonts дахь байгаа үсгийн маягийн сангуудын аль нэг уруу хуулах явдал юм. Энэ нь үсгийн маягийн нэрсийг нэмж, эхний мөрөн дээр үсгийн маягуудын тоог өөрчилж fonts.dir файлыг засварлахыг шаардана. Мөн өөрөөр та тэдгээрийг хуулсан санд &man.mkfontdir.1; тушаалыг ажиллуулж бас чадах ёстой юм. Үүнийг хийх хоёр дахь арга нь сангуудыг /usr/X11R6/lib/X11/fonts уруу хуулах явдал юм: &prompt.root; cd /usr/X11R6/lib/X11/fonts &prompt.root; mkdir X &prompt.root; mkdir MathType1 &prompt.root; cd /cdrom/Unix/Files/SystemFiles/Fonts &prompt.root; cp X/* /usr/X11R6/lib/X11/fonts/X &prompt.root; cp Type1/* /usr/X11R6/lib/X11/fonts/MathType1 &prompt.root; cd /usr/X11R6/lib/X11/fonts/X &prompt.root; mkfontdir &prompt.root; cd ../MathType1 &prompt.root; mkfontdir Одоо шинэ үсгийн маягийн сангуудаа өөрийн үсгийн маягийн замдаа нэмнэ: &prompt.root; xset fp+ /usr/X11R6/lib/X11/fonts/X &prompt.root; xset fp+ /usr/X11R6/lib/X11/fonts/MathType1 &prompt.root; xset fp rehash Хэрэв та &xorg; серверийг ашиглаж байгаа бол эдгээр үсгийн маягийн сангуудыг өөрийн xorg.conf файлдаа нэмэн автоматаар дуудагдахаар тохируулж болно. &xfree86; серверүүдийн хувьд тохиргооны файл нь XF86Config байна. үсгийн маягууд Хэрэв танд /usr/X11R6/lib/X11/fonts/Type1 гэгдсэн сан байхгүй байгаа бол та дээрх жишээн дээрх MathType1 сангийн нэрийг Type1 болгон өөрчилж болно. Аарон Каплан Хувь нэмэр болгон оруулсан Роберт Гэтшман Тусалсан &maple; суулгах нь програмууд Maple &maple; нь &mathematica;-тай төстэй арилжааны зориулалтын математикийн програм юм. Та энэ програмыг -с худалдан авч дараа нь тэндээ лицензийн файл авахын тулд бүртгүүлэх хэрэгтэй. Энэ програм хангамжийг FreeBSD дээр суулгахын тулд эдгээр хялбар алхмуудыг дагана уу. INSTALL бүрхүүлийн скриптийг бүтээгдэхүүний тархацаас ажиллуулна. Суулгац програмаас хүсэхэд RedHat тохируулгыг сонгоорой. Ердийн суулгацын сан нь /usr/local/maple байж болох юм. Хэрэв та тэгж хийгээгүй бол Maple Waterloo Software () компаниас &maple;-д зориулж лиценз захиж түүнийгээ /usr/local/maple/license/license.dat сан уруу хуулах хэрэгтэй. &maple;-тай цуг ирдэг INSTALL_LIC суулгацын бүрхүүлийн скриптийг ажиллуулж FLEXlm лиценз менежерийг суулгах хэрэгтэй. Лицензийн серверт зориулж өөрийн машиныхаа анхдагч хостын нэрийг зааж өгнө. /usr/local/maple/bin/maple.system.type файлыг доор дурдсанаар нөхөөс хийх хэрэгтэй: ----- snip ------------------ *** maple.system.type.orig Sun Jul 8 16:35:33 2001 --- maple.system.type Sun Jul 8 16:35:51 2001 *************** *** 72,77 **** --- 72,78 ---- # the IBM RS/6000 AIX case MAPLE_BIN="bin.IBM_RISC_UNIX" ;; + "FreeBSD"|\ "Linux") # the Linux/x86 case # We have two Linux implementations, one for Red Hat and ----- snip end of patch ----- "FreeBSD"|\ мөрийн дараа ямар ч хоосон зай байх ёсгүйг санаарай. Энэхүү нөхөөс нь FreeBSD-г Линукс системийн төрөл маягаар танихыг &maple;-д заадаг. bin/maple бүрхүүлийн скрипт нь bin/maple.system.type бүрхүүлийн скриптийг дуудаж тэр нь эргээд үйлдлийн системийн нэрийг олохын тулд uname -a тушаалыг дууддаг. OS-ийн нэрээс хамаараад энэ нь аль хоёртын файлуудаа ашиглахаа олох болно. Лицензийн серверийг эхлүүлнэ. /usr/local/etc/rc.d/lmgrd.sh гэж суулгагдсан дараах скрипт нь lmgrd-г эхлүүлэх хялбар арга юм: ----- snip ------------ #! /bin/sh PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin PATH=${PATH}:/usr/local/maple/bin:/usr/local/maple/FLEXlm/UNIX/LINUX export PATH LICENSE_FILE=/usr/local/maple/license/license.dat LOG=/var/log/lmgrd.log case "$1" in start) lmgrd -c ${LICENSE_FILE} 2>> ${LOG} 1>&2 echo -n " lmgrd" ;; stop) lmgrd -c ${LICENSE_FILE} -x lmdown 2>> ${LOG} 1>&2 ;; *) echo "Usage: `basename $0` {start|stop}" 1>&2 exit 64 ;; esac exit 0 ----- snip ------------ &maple;-ийг тестээр эхлүүлнэ: &prompt.user; cd /usr/local/maple/bin &prompt.user; ./xmaple Одоо ажиллаж байх ёстой. Maplesoft уруу та FreeBSD-ийн эх хувилбарыг хүсэж байгаагаа бичихээ мартуузай! Түгээмэл асуудлууд FLEXlm лицензийн менежертэй ажиллахад төвөгтэй байж болох юм. Энэ тухай нэмэлт баримтыг хаягаас олж болно. lmgrd нь лицензийн файлыг хэтэрхий голж шилдэг, бас хэрэв ямар нэгэн асуудал байвал core файл үүсгэх дуртайгаараа алдартай програм юм. Зөв лицензийн файл иймэрхүү харагдах ёстой: # ======================================================= # License File for UNIX Installations ("Pointer File") # ======================================================= SERVER chillig ANY #USE_SERVER VENDOR maplelmg FEATURE Maple maplelmg 2000.0831 permanent 1 XXXXXXXXXXXX \ PLATFORMS=i86_r ISSUER="Waterloo Maple Inc." \ ISSUED=11-may-2000 NOTICE=" Technische Universitat Wien" \ SN=XXXXXXXXX Энд сериал дугаар болон түлхүүрийг 'X' болгосон байна. chillig нь хостын нэр юм. Лицензийн файлыг засварлахдаа FEATURE мөрийг (энэ нь лицензийн түлхүүрээр хамгаалагдсан байдаг) оролдохгүй бол ямар ч асуудал гарахгүй ажиллах болно. Дэн Пэллэг Хувь нэмэр болгон оруулсан &matlab; суулгах нь програмууд MATLAB Энэ баримт нь &matlab; version 6.5-ийн Линуксийн хувилбарыг &os; систем уруу суулгах процессийг тайлбарлах болно. &java.virtual.machine;-г тооцохгүй юм бол энэ нь маш сайн ажилладаг (-г үзнэ үү). &matlab;-ийн Линуксийн хувилбарыг дэх MathWorks-с шууд захиалж болно. Лицензийн файлыг авах юм уу эсвэл хэрхэн үүсгэх зааврыг бас авахаа мартуузай. Тэнд байхдаа тэдний програм хангамжийн &os; хувилбарыг хүсэж байгаагаа мэдэгдээрэй. &matlab; суулгах нь &matlab;-г суулгахын тулд доор дурдсаныг хийнэ: Суулгацын CD-г хийж холбоно. Суулгацын скриптийн зөвлөснөөр root болно. Суулгах скриптийг эхлүүлэхийн тулд доор дурдсаныг бичнэ: &prompt.root; /compat/linux/bin/sh /cdrom/install Суулгагч нь график орчных юм. Хэрэв та дэлгэц онгойлгож чадахгүй байна гэсэн алдаанууд авбал setenv HOME ~USER гэж бичих хэрэгтэй бөгөөд энд байгаа USER нь таны &man.su.1; хийсэн хэрэглэгч юм. &matlab;-ийн root санг асуухад доор дурдсаныг бичнэ: /compat/linux/usr/local/matlab. Суулгах процессийн үлдсэн хэсэгт хялбараар бичдэг байхын тулд өөрийн бүрхүүлийн хүлээх мөрөн дээр үүнийг бичнэ: set MATLAB=/compat/linux/usr/local/matlab &matlab; лицензийг авч байхдаа зааварласны дагуу лицензийн файлыг засварлана. Өөрийн дуртай засварлагчаа ашиглан та энэ файлыг урьдчилан бэлдэж, суулгагч танаас үүнийг засварлахыг асуухаас өмнө $MATLAB/license.dat уруу хуулна. Суулгах процессийг гүйцээнэ. Энд хүрэхэд таны &matlab; суулгалт дууссан байна. Үүнийг таны &os; систем уруу холбохын тулд дараах алхмууд нь хийж өгдөг. Лицензийн Менежерийн эхлүүлэлт Лицензийн менежерийн скриптүүдэд зориулж симболын холбоосуудыг үүсгэнэ: &prompt.root; ln -s $MATLAB/etc/lmboot /usr/local/etc/lmboot_TMW &prompt.root; ln -s $MATLAB/etc/lmdown /usr/local/etc/lmdown_TMW /usr/local/etc/rc.d/flexlm.sh-т эхлүүлэх файлыг үүсгэнэ. Доорх жишээ нь түгээгдсэн $MATLAB/etc/rc.lm.glnx86-ийн өөрчлөгдсөн хувилбар юм. Өөрчлөлтүүд нь файлын байрлалууд болон Линуксийн эмуляц доор ажиллах лицензийн менежерийн эхлүүлэлт байна. #!/bin/sh case "$1" in start) if [ -f /usr/local/etc/lmboot_TMW ]; then /compat/linux/bin/sh /usr/local/etc/lmboot_TMW -u username && echo 'MATLAB_lmgrd' fi ;; stop) if [ -f /usr/local/etc/lmdown_TMW ]; then /compat/linux/bin/sh /usr/local/etc/lmdown_TMW > /dev/null 2>&1 fi ;; *) echo "Usage: $0 {start|stop}" exit 1 ;; esac exit 0 Файлыг ажиллуулахаар болгох ёстой: &prompt.root; chmod +x /usr/local/etc/rc.d/flexlm.sh Та дээрх username-г өөрийн систем дээрх зөв хэрэглэгчээр солих ёстой (root биш). Лицензийн менежерийг дараах тушаалаар эхлүүлнэ: &prompt.root; /usr/local/etc/rc.d/flexlm.sh start &java;-ийн ажиллах үеийн орчныг холбох &java; Runtime Environment (JRE) буюу Ажиллах үеийн орчны холбоосыг &os; дээр ажиллаж байгаа уруу зааж өөрчлөх хэрэгтэй: &prompt.root; cd $MATLAB/sys/java/jre/glnx86/ &prompt.root; unlink jre; ln -s ./jre1.1.8 ./jre &matlab;-ийн эхлүүлэх скриптийг үүсгэх Дараах эхлүүлэх скриптийг /usr/local/bin/matlab-д байрлуулна: #!/bin/sh /compat/linux/bin/sh /compat/linux/usr/local/matlab/bin/matlab "$@" Тэгээд chmod +x /usr/local/bin/matlab тушаалыг бичнэ. Таны emulators/linux_base хувилбараас шалтгаалаад энэ скриптийг ажиллуулахад алдаа гарч болох юм. Үүнээс сэргийлэхийн тулд /compat/linux/usr/local/matlab/bin/matlab файлыг засварлаж доорх: if [ `expr "$lscmd" : '.*->.*'` -ne 0 ]; then (13.0.1 хувилбар дээр энэ нь 410-р мөрөнд байна) мөрийг ингэж өөрчлөх хэрэгтэй: if test -L $newbase; then &matlab;-ийн зогсоох скриптийг үүсгэх &matlab;-ийн зөв дуусдаггүй асуудлыг шийдэхэд дараах зүйлсийг хийх хэрэгтэй. $MATLAB/toolbox/local/finish.m файл үүсгэж түүнд ганц мөр нэмнэ: ! $MATLAB/bin/finish.sh $MATLAB нь үг юм. Тэр сан дотроо гарахаас өмнө өөрийн ажлын талбарыг хадгалах боломжийг олгох finishsav.m болон finishdlg.m файлуудыг та олох болно. Хэрэв та тэдгээрийн аль нэгийг ашиглаж байгаа бол дээрх мөрийг save тушаалын дараа нэн даруй оруулах хэрэгтэй. доор дурдсаныг агуулсан $MATLAB/bin/finish.sh файлыг үүсгэнэ: #!/usr/compat/linux/bin/sh (sleep 5; killall -1 matlab_helper) & exit 0 Файлыг ажиллах боломжтой болгоно: &prompt.root; chmod +x $MATLAB/bin/finish.sh &matlab;-ийг ашиглах Энд хүрэхэд та matlab гэж бичин үүнийг ашиглаж эхлэхэд бэлэн болсон байна. Марсел Мууленаар Хувь нэмэр болгон оруулсан &oracle; суулгах нь програмууд Oracle Оршил Энэ баримт нь Линуксд зориулсан &oracle; 8.0.5 болон &oracle; 8.0.5.1 Enterprise Edition-г FreeBSD машин уруу суулгах процессийг тайлбарлах болно. Линуксийн орчныг суулгах Та emulators/linux_base болон devel/linux_devtools програмууд портын цуглуулгаас суусан эсэхийг шалгаарай. Та эдгээр портын хувьд асуудалтай байгаа бол багцууд юм уу эсвэл портын цуглуулгад байгаа хуучин хувилбаруудыг ашиглах хэрэгтэй болж болох юм. Хэрэв та ухаалаг агентийг ажиллуулахыг хүсэж байгаа бол Red Hat Tcl багц: tcl-8.0.3-20.i386.rpm-г бас суулгах хэрэгтэй болно. Албан ёсны RPM порттой (archivers/rpm) багцуудыг суулгах ерөнхий тушаал бол: &prompt.root; rpm -i --ignoreos --root /compat/linux --dbpath /var/lib/rpm package package-ийн суулгалт ямар ч алдаа үүсгэх ёсгүй. &oracle; орчныг үүсгэх &oracle;-г суулгахаасаа өмнө та тохирох орчныг тохируулах хэрэгтэй. Энэ баримт нь &oracle;-г суулгах зааварт тайлбарласныг биш Линуксд зориулсан &oracle;-г FreeBSD дээр ажиллуулахын тулд яг юу хийхийг зөвхөн тайлбарладаг. Цөмийг тааруулах цөмийг тааруулах &oracle;-г суулгах зааварт тайлбарласнаар хуваалцсан санах ойн хамгийн их хэмжээг тохируулах хэрэгтэй. FreeBSD дээр SHMMAX-г битгий ашиглаарай. SHMMAX нь ердөө л SHMMAXPGS болон PGSIZE-с тооцоологдон гаргагддаг. Тийм болохоор SHMMAXPGS-г тодорхойл. Бусад бүх тохируулгууд зааварт тайлбарласны дагуу ашиглагдаж болно. Жишээ нь: options SHMMAXPGS=10000 options SHMMNI=100 options SHMSEG=10 options SEMMNS=200 options SEMMNI=70 options SEMMSL=61 Эдгээр тохируулгуудыг өөрийн &oracle;-ийн хэрэглээнд тааруулж тохируулах хэрэгтэй. Мөн цөмийн тохиргооны файлдаа дараах тохируулгуудтай байгаа эсэхээ бас шалгаарай: options SYSVSHM #SysV shared memory options SYSVSEM #SysV semaphores options SYSVMSG #SysV interprocess communication &oracle; бүртгэл Өөр бусад бүртгэл үүсгэдэг шигээ oracle бүртгэл үүсгэнэ. oracle бүртгэл нь Линуксийн бүрхүүл өгөх шаардлагатай цорын ганц тусгай бүртгэл юм. /etc/shells файлд /compat/linux/bin/bash-г нэмээд oracle хэрэглэгчийн бүрхүүлийг /compat/linux/bin/bash гэж тохируулна. Орчин ORACLE_HOME болон ORACLE_SID зэрэг ердийн &oracle; хувьсагчуудаас гадна та дараах орчны хувьсагчуудыг тохируулах ёстой: Хувьсагч Утга LD_LIBRARY_PATH $ORACLE_HOME/lib CLASSPATH $ORACLE_HOME/jdbc/lib/classes111.zip PATH /compat/linux/bin /compat/linux/sbin /compat/linux/usr/bin /compat/linux/usr/sbin /bin /sbin /usr/bin /usr/sbin /usr/local/bin $ORACLE_HOME/bin Бүх орчны хувьсагчуудыг .profile-д тохируулахыг зөвлөдөг. Гүйцэд жишээ бол дараах байна: ORACLE_BASE=/oracle; export ORACLE_BASE ORACLE_HOME=/oracle; export ORACLE_HOME LD_LIBRARY_PATH=$ORACLE_HOME/lib export LD_LIBRARY_PATH ORACLE_SID=ORCL; export ORACLE_SID ORACLE_TERM=386x; export ORACLE_TERM CLASSPATH=$ORACLE_HOME/jdbc/lib/classes111.zip export CLASSPATH PATH=/compat/linux/bin:/compat/linux/sbin:/compat/linux/usr/bin PATH=$PATH:/compat/linux/usr/sbin:/bin:/sbin:/usr/bin:/usr/sbin PATH=$PATH:/usr/local/bin:$ORACLE_HOME/bin export PATH &oracle;-ийг суулгах Линуксийн эмуляторын хайхрамжгүй бүрэн бүтэн бус байдлаас болоод суулгагчийг эхлүүлэхээсээ өмнө та .oracle санг /var/tmp дотор үүсгэх хэрэгтэй болдог. Үүнийг oracle хэрэглэгч эзэмшихээр болгох хэрэгтэй. Та &oracle;-г ямар ч асуудалгүйгээр суулгаж чадах ёстой. Хэрэв танд асуудлууд учирвал эхлээд өөрийн &oracle; тархац ба/эсвэл тохиргоог шалгах хэрэгтэй! &oracle;-г суулгасныхаа дараа та дараах хоёр дэд хэсэгт тайлбарласан нөхөөсүүдийг хийж өгөх хэрэгтэй. Байнга учирдаг асуудал бол TCP протоколын хувиргагч зөв суулгагдаагүй байдаг явдал юм. Үүнээс болоод та ямар ч TCP сонсогч эхлүүлж чадахгүй. Дараах үйлдлүүд нь энэ асуудлыг шийдэхэд тусалдаг: &prompt.root; cd $ORACLE_HOME/network/lib &prompt.root; make -f ins_network.mk ntcontab.o &prompt.root; cd $ORACLE_HOME/lib &prompt.root; ar r libnetwork.a ntcontab.o &prompt.root; cd $ORACLE_HOME/network/lib &prompt.root; make -f ins_network.mk install root.sh-г дахин ажиллуулахаа битгий мартаарай! root.sh-д нөхөөс хийх &oracle;-г суулгаж байхад root эрхээр хийгдэх шаардлагатай зарим үйлдлүүд root.sh гэж нэрлэгдсэн бүрхүүлийн скриптэд бичигдсэн байдаг. Энэ скрипт нь orainst санд бичигдсэн байдаг. chown тушаалын зөв байрлалыг ашиглахаар болгож дараах нөхөөсийг root.sh-д хийх хэрэгтэй, эсвэл өөрөөр скриптийг Линуксийн эх бүрхүүл дээр ажиллуулах хэрэгтэй. *** orainst/root.sh.orig Tue Oct 6 21:57:33 1998 --- orainst/root.sh Mon Dec 28 15:58:53 1998 *************** *** 31,37 **** # This is the default value for CHOWN # It will redefined later in this script for those ports # which have it conditionally defined in ss_install.h ! CHOWN=/bin/chown # # Define variables to be used in this script --- 31,37 ---- # This is the default value for CHOWN # It will redefined later in this script for those ports # which have it conditionally defined in ss_install.h ! CHOWN=/usr/sbin/chown # # Define variables to be used in this script CD-ээс &oracle;-г та суулгахгүй үед root.sh-д зориулсан эхийг нөхөж болно. Үүнийг rthd.sh гэдэг бөгөөд эх модны orainst санд байрладаг. genclntsh-д нөхөөс хийх genclntsh скрипт нь хуваалцсан ганц клиентийн санг үүсгэхэд ашиглагддаг. Үзүүлбэрүүдийг бүтээж байхад үүнийг ашигладаг. PATH-н тодорхойлолтыг тайлбар болгохын тулд дараах нөхөөсийг хийх хэрэгтэй: *** bin/genclntsh.orig Wed Sep 30 07:37:19 1998 --- bin/genclntsh Tue Dec 22 15:36:49 1998 *************** *** 32,38 **** # # Explicit path to ensure that we're using the correct commands #PATH=/usr/bin:/usr/ccs/bin export PATH ! PATH=/usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin export PATH # # each product MUST provide a $PRODUCT/admin/shrept.lst --- 32,38 ---- # # Explicit path to ensure that we're using the correct commands #PATH=/usr/bin:/usr/ccs/bin export PATH ! #PATH=/usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin export PATH # # each product MUST provide a $PRODUCT/admin/shrept.lst &oracle;-г ажиллуулах Заавруудыг дагасны дараа та &oracle;-г Линукс дээр ажиллуулж байгаа юм шиг ажиллуулж чадах ёстой. Холгэр Кипп Хувь нэмэр болгон оруулсан Валентино Вашетто Эх хувилбарыг SGML рүү хөрвүүлсэн &sap.r3; суулгах нь Програмууд SAP R/3 FreeBSD ашиглан &sap; системүүдийг суулгах нь &sap;-ийн дэмжих багаар дэмжигддэггүй —тэдгээр нь зөвхөн баталгаажсан тавцангуудын хувьд дэмжлэг санал болгодог. Оршил Энэ баримт нь FreeBSD болон &oracle;-ийн суулгалтыг оруулаад Линуксд зориулсан &sap.r3; System&oracle; Database-тэй цуг FreeBSD машин дээр суулгах боломжит аргыг тайлбарлах болно. Хоёр өөр тохиргоог тайлбарлана: FreeBSD 4.3-STABLE дээр &oracle; 8.0.5-тай цуг &sap.r3; 4.6B (IDES) FreeBSD 4.5-STABLE дээр &oracle; 8.1.7-тай цуг &sap.r3; 4.6C Энэ баримт нь бүх чухал алхмуудыг илүү дэлгэрэнгүй тайлбарлахыг оролддог ч гэсэн &oracle; болон &sap.r3;-ийн суулгалтын заавруудыг орлох зорилгоор хийгдээгүй юм. &sap;-д зориулсан &sap.r3; Линуксийн хувилбартай ирдэг баримтыг болон &oracle;-тай холбоотой асуултууд, &oracle; болон &sap; OSS-ийн эх үүсвэрүүдийг үзнэ үү. Програм хангамж Дараах CD-ROM-ууд нь &sap; суулгалтуудад ашиглагддаг: &sap.r3; 4.6B, &oracle; 8.0.5 Нэр Дугаар Тайлбар KERNEL 51009113 SAP Цөм Oracle / Суулгалт / AIX, Линукс, Solaris RDBMS 51007558 Oracle / RDBMS 8.0.5.X / Линукс EXPORT1 51010208 IDES / DB-Export / 6 Дискний 1-р Диск EXPORT2 51010209 IDES / DB-Export / 6 Дискний 2-р Диск EXPORT3 51010210 IDES / DB-Export / 6 Дискний 3-р Диск EXPORT4 51010211 IDES / DB-Export / 6 Дискний 4-р Диск EXPORT5 51010212 IDES / DB-Export / 6 Дискний 5-р Диск EXPORT6 51010213 IDES / DB-Export / 6 Дискний 6-р Диск Мөн бид &oracle; 8 Сервер (Линуксийн Цөмийн Хувилбар 2.0.33-т зориулсан урьдчилсан хувилбар 8.0.5) CD-г ашигласан ба энэ нь тийм ч шаардлагатай биш бөгөөд бас FreeBSD 4.3-STABLE (4.3 RELEASE-с дөнгөж хэд хоног өнгөрч байсан) хувилбарыг ашигласан. &sap.r3; 4.6C SR2, &oracle; 8.1.7 Нэр Дугаар Тайлбар KERNEL 51014004 SAP Цөм Oracle / SAP Цөмийн Хувилбар 4.6D / DEC, Линукс RDBMS 51012930 Oracle 8.1.7/ RDBMS / Линукс EXPORT1 51013953 Хувилбар 4.6C SR2 / Export / 4 Дискний 1-р Диск EXPORT1 51013953 Хувилбар 4.6C SR2 / Export / 4 Дискний 2-р Диск EXPORT1 51013953 Хувилбар 4.6C SR2 / Export / 4 Дискний 3-р Диск EXPORT1 51013953 Хувилбар 4.6C SR2 / Export / 4 Дискний 4-р Диск LANG1 51013954 Хувилбар 4.6C SR2 / Хэл / DE, EN, FR / 3 Дискний 1-р Диск Суулгахыг хүссэн хэлээс хамаарч хэлний нэмэлт CD-үүд хэрэг болж болох юм. Энд бид DE болон EN (Герман болон Англи) хэлүүдийг ашиглаж байгаа, тийм болохоор зөвхөн хэлний эхний CD хэрэгтэй юм. Тэмдэглэн хэлэхэд бүх дөрвөн EXPORT CD-үүдийн дугаар адил байна. Хэлний гурван CD-үүд бас адил дугаартай байна (энэ нь 4.6B IDES хувилбарын CD дугаарлалтаас өөр юм). Үүнийг бичиж байх үед суулгалт нь FreeBSD 4.5-STABLE (20.03.2002) хувилбар дээр ажиллаж байгаа болно. &sap; тэмдэглэлүүд &sap.r3;-ийг суулгахаасаа өмнө дараах тэмдэглэгээнүүдийг унших хэрэгтэй. Энэ нь бас суулгаж байх явцад ашигтай болох нь тогтоогдсон: &sap.r3; 4.6B, &oracle; 8.0.5 Дугаар Нэр 0171356 Линукс дээрх SAP програм хангамж: Үндсэн тайлбарууд 0201147 INST: UNIX - Oracle дээрх 4.6C R/3 Inst. 0373203 Шинэчлэл / Шилжүүлэлт Oracle 8.0.5 --> 8.0.6/8.1.6 ЛИНУКС 0072984 Oracle-д зориулсан Digital UNIX 4.0B Хувилбар 0130581 R3SETUP-ийн DIPGNTAB алхам зогсох 0144978 Таны систем зөв суулгагдаагүй байна 0162266 Windows NT / W2K дээрх R3SETUP-д зориулсан асуултууд болон зааврууд &sap.r3; 4.6C, &oracle; 8.1.7 Дугаар Нэр 0015023 Хүснэгт TCPDB (RSXP0004) (EBCDIC)-г эхлүүлэх 0045619 Хэд хэдэн хэлүүд болон үсгийн хэлбэрүүдтэй R/3 0171356 Линукс дээрх SAP програм хангамж: Үндсэн тайлбарууд 0195603 RedHat 6.1 Enterprise хувилбар: Мэдэгдэж байгаа асуудлууд 0212876 Архивлах шинэ хэрэгсэл SAPCAR 0300900 Линукс: Гаргасан DELL тоног төхөөрөмж 0377187 RedHat 6.2: чухал тэмдэглэгээнүүд 0387074 INST: UNIX дээрх R/3 4.6C SR2 суулгалт 0387077 INST: UNIX - Oracle дээрх R/3 4.6C SR2 Inst. 0387078 UNIX дээрх SAP програм хангамж: OS-ийн хамаарлууд 4.6C SR2 Тоног төхөөрөмжийн шаардлагууд &sap.r3; System-ийн суулгалтад дараах төхөөрөмжүүд хангалттай. Үйлдвэрлэлийн зорилгоор ашиглахад мэдээж илүү тодорхой хэмжээнүүд шаардлагатай: Бүрэлдэхүүн 4.6B 4.6C Процессор 2 x 800MHz &pentium; III 2 x 800MHz &pentium; III Санах ой 1GB ECC 2GB ECC Хатуу дискний зай 50-60GB (IDES) 50-60GB (IDES) Үйлдвэрлэлд том кэш, өндөр хурдтай дискний хандалт (SCSI, RAID тоног төхөөрөмжийн хянагч), USV болон ECC-RAM бүхий &xeon; процессоруудыг ашиглахыг зөвлөдөг. Хатуу дискний их хэмжээний зай нь суулгах явцад 27 GB хэмжээтэй мэдээллийн баазын файлуудыг үүсгэдэг урьдчилан тохируулсан IDES системээс болдог. Энэ зай нь эхний үйлдвэрлэлийн систем болон програмын өгөгдлүүдэд бас хангалттай байдаг. &sap.r3; 4.6B, &oracle; 8.0.5 Дараах тоног төхөөрөмж ашиглагдсан: 2 ширхэг 800 MHz &pentium; III процессор бүхий хоёр процессор суулгаж болох хавтан, 29160 Ultra160 SCSI адаптер (40/80 GB DLT соронзон хальсны хөтөч болон CDROM-д хандахын тулд) &mylex; &acceleraid; (2 суваг, 32 MB RAM-тай firmware 6.00-1-00) ашиглагдсан. &mylex; RAID хянагч уруу хоёр 17 GB хатуу диск (толин тусгал хийгдсэн) болон дөрвөн 36 GB хатуу диск (RAID түвшин 5) залгагдсан болно. &sap.r3; 4.6C, &oracle; 8.1.7 Энэ суулгалтад &dell; &poweredge; 2500 ашиглагдсан: хоёр 1000 MHz &pentium; III процессор (256 kB Кэш) бүхий хоёр процессор суулгаж болох хавтан, 2 GB PC133 ECC SDRAM, 128 MB санах ойтой PERC/3 DC PCI RAID Хянагч болон EIDE DVD-ROM хөтөч ашиглагдсан. RAID хянагч уруу хоёр 18 GB хатуу диск (толин тусгал хийгдсэн) болон дөрвөн 36 GB хатуу диск (RAID түвшин 5) залгагдсан болно. FreeBSD-ийн суулгалт Та эхлээд FreeBSD суулгах хэрэгтэй. Үүнийг хийх хэд хэдэн арга байгаа бөгөөд дэлгэрэнгүй мэдээллийг -с уншина уу. Дискний дүр зураг Хялбар байлгахын тулд ижил дискний байршлыг &sap.r3; 46B болон &sap.r3; 46C SR2 суулгалтад хэрэглэсэн. Суулгалт өөр өөр тоног төхөөрөмжин (/dev/da болон /dev/amr, тэгэхээр хэрэв AMI &megaraid;-г ашиглаж байгаа бол /dev/da0s1a-ийн оронд /dev/amr0s1a-г харах болно) дээр хийгдсэн болохоор зөвхөн төхөөрөмжийн нэрс өөрчлөгдсөн: Файлын систем Хэмжээ (1k-блок) Хэмжээ (GB) Холбогдсон газар /dev/da0s1a 1.016.303 1 / /dev/da0s1b 6 swap /dev/da0s1e 2.032.623 2 /var /dev/da0s1f 8.205.339 8 /usr /dev/da1s1e 45.734.361 45 /compat/linux/oracle /dev/da1s1f 2.032.623 2 /compat/linux/sapmnt /dev/da1s1g 2.032.623 2 /compat/linux/usr/sap Урьдаар &mylex; юм уу эсвэл PERC/3 RAID програм хангамжаар хоёр логик хөтчийг тохируулж эхлүүлэх хэрэгтэй. Програм хангамж нь BIOS-ийн ачаалах үед эхлүүлэгдэж болдог. Энэхүү дискний байршил нь &sap;-ийн зөвлөдгөөс шал ондоо байгааг санаарай. &sap; нь &oracle; дэд сангуудыг (болон бусад заримыг) тусад нь холбохыг санал болгодог — бид хялбар байх үүднээс тэдгээрийг жинхэнэ дэд сангууд маягаар үүсгэхээр шийдсэн юм. <command>make world</command> болон шинэ цөм Хамгийн сүүлийн -STABLE эхийг татаж авах хэрэгтэй. Өөрийн цөмийн тохиргооны файлаа тохируулсны дараа ертөнц болон өөрийн өөрчилсөн цөмөө дахин бүтээх хэрэгтэй. Энд та бас &sap.r3; болон &oracle;-ийн шаарддаг цөмийн параметрүүдийг оруулах хэрэгтэй. Линуксийн орчныг суулгах Линуксийн үндсэн системийн суулгах Эхлээд linux_base портыг суулгах хэрэгтэй (root эрхээр): &prompt.root; cd /usr/ports/emulators/linux_base &prompt.root; make install distclean Линуксийн хөгжүүлэлтийн орчинг суулгах -д дурдсаны дагуу FreeBSD дээр &oracle;-г суулгахыг хүсэж байгаа бол Линуксийн хөгжүүлэлтийн орчин хэрэгтэй: &prompt.root; cd /usr/ports/devel/linux_devtools &prompt.root; make install distclean Линуксийн хөгжүүлэлтийн орчин зөвхөн &sap.r3; 46B IDES суулгалтад зориулагдан суугдсан. &oracle; DB нь FreeBSD систем дээр дахин холбоос хийгдээгүй бол энэ нь шаардлагагүй юм. Линукс системээс &oracle;-ийн tar бөмбөгийг ашиглаж байгаа тохиолдол нь энэ юм. Шаардлагатай RPM-үүдийг суулгах RPM-үүд R3SETUP програмыг эхлүүлэхийн тулд PAM дэмжлэг хэрэгтэй. FreeBSD 4.3-STABLE дээрх эхний &sap; суулгалтын үед бид PAM-ийг шаардлагатай бүх багцуудтай нь суулгахыг оролдсон бөгөөд эцэст нь PAM багцын суулгалтыг хийсэн юм. Үүний дүнд энэ нь ажилласан. &sap.r3; 4.6C SR2-ийн хувьд бид PAM RPM-ийн суулгалтыг шууд хийсэн ба энэ нь бас ажилласан юм. Тийм болохоор хамааралтай багцууд хэрэггүй байх: &prompt.root; rpm -i --ignoreos --nodeps --root /compat/linux --dbpath /var/lib/rpm \ pam-0.68-7.i386.rpm &oracle; 8.0.5-ийн хувьд ухаалаг агентийг ажиллуулахын тулд бид RedHat Tcl багц tcl-8.0.5-30.i386.rpm-г суулгах хэрэгтэй болсон (тэгэхгүй бол &oracle;-г суулгах явцад дахин холбоос үүсгэлт ажиллахгүй болно). &oracle;-ийн дахин холбоос үүсгэлтийн талаар бусад зарим асуудлууд байдаг боловч энэ нь FreeBSD-тэй холбоотой биш &oracle; Линуксийн асуудал юм. Зарим нэгэн нэмэлт зөвлөмжүүд linprocfs/etc/fstab уруу нэмэх нь сайн санаа байж болох бөгөөд дэлгэрэнгүй мэдээллийг &man.linprocfs.5; гарын авлагын хуудаснаас үзнэ үү. Тохируулах өөр нэг параметр нь /etc/sysctl.conf-д хийгддэг kern.fallback_elf_brand=3 тохиргоо юм. &sap.r3; орчинг үүсгэх Шаардлагатай файлын системүүд болон холболтын цэгүүдийг үүсгэх Хялбар суулгалтын хувьд дараах файлын системүүдийг үүсгэхэд хангалттай: холбох цэг хэмжээ GB /compat/linux/oracle 45 GB /compat/linux/sapmnt 2 GB /compat/linux/usr/sap 2 GB Зарим нэгэн холбоосуудыг бас үүсгэх шаардлагатай. Тэгэхгүй бол &sap; суулгагч холбоосуудыг шалгаж гомдоллох болно: &prompt.root; ln -s /compat/linux/oracle /oracle &prompt.root; ln -s /compat/linux/sapmnt /sapmnt &prompt.root; ln -s /compat/linux/usr/sap /usr/sap Суулгалтын явц дахь болзошгүй алдааны мэдэгдэл (энд Систем PRD болон &sap.r3; 4.6C SR2 суулгалттай цуг): INFO 2002-03-19 16:45:36 R3LINKS_IND_IND SyLinkCreate:200 Checking existence of symbolic link /usr/sap/PRD/SYS/exe/dbg to /sapmnt/PRD/exe. Creating if it does not exist... WARNING 2002-03-19 16:45:36 R3LINKS_IND_IND SyLinkCreate:400 Link /usr/sap/PRD/SYS/exe/dbg exists but it points to file /compat/linux/sapmnt/PRD/exe instead of /sapmnt/PRD/exe. The program cannot go on as long as this link exists at this location. Move the link to another location. ERROR 2002-03-19 16:45:36 R3LINKS_IND_IND Ins_SetupLinks:0 can not setup link '/usr/sap/PRD/SYS/exe/dbg' with content '/sapmnt/PRD/exe' Хэрэглэгчид болон сангуудыг үүсгэх &sap.r3;-д хоёр хэрэглэгч болон гурван бүлэг хэрэгтэй. Хэрэглэгчийн нэрс гурван үсгээс тогтох &sap; системийн ID-с (SID) хамаарна. Эдгээр SID-үүдийн зарим нь &sap;-р нөөцлөгдсөн (жишээ нь SAP болон NIX. Бүрэн жагсаалтын талаар дэлгэрэнгүйг &sap;-ийн баримтаас үзнэ үү). IDES суулгалтын хувьд бид IDS-г 4.6C SR2 суулгалтын хувьд систем нь үйлдвэрлэлийн хэрэглээнд зориулагдсан болохоор PRD-г ашигласан. Тиймээс бид дараах бүлгүүдтэй байна (бүлгийн ID-ууд өөр байж болох бөгөөд эдгээр нь ердөө л бидний суулгалтандаа ашигласан утгууд юм): бүлгийн ID бүлгийн нэр тайлбар 100 dba Data Base Administrator буюу Өгөгдлийн Баазын Администратор 101 sapsys &sap; Систем 102 oper Өгөгдлийн Баазын Оператор Анхдагч &oracle; суулгалтын хувьд зөвхөн dba бүлэг ашиглагдана. oper бүлэг маягаар dba бүлгийг бас зарим нь ашигладаг (илүү мэдээллийг &oracle; болон &sap; баримтаас үзнэ үү). Бидэнд бас дараах хэрэглэгчид хэрэгтэй: хэрэглэгчийн ID хэрэглэгчийн нэр ерөнхий нэр бүлэг нэмэлт бүлгүүд тайлбар 1000 idsadm/prdadm sidadm sapsys oper &sap; администратор 1002 oraids/oraprd orasid dba oper &oracle; администратор &man.adduser.8;-ээр хэрэглэгчид нэмэх нь &sap; администраторын хувьд дараах (бүрхүүл болон гэрийн сан гэдгийг санаарай) оруулгуудыг шаарддаг: Name: sidadm Password: ****** Fullname: SAP Administrator SID Uid: 1000 Gid: 101 (sapsys) Class: Groups: sapsys dba HOME: /home/sidadm Shell: bash (/compat/linux/bin/bash) бөгөөд &oracle; администраторын хувьд: Name: orasid Password: ****** Fullname: Oracle Administrator SID Uid: 1002 Gid: 100 (dba) Class: Groups: dba HOME: /oracle/sid Shell: bash (/compat/linux/bin/bash) dba болон oper бүлгүүдийг хоёуланг та ашиглаж байгаа бол энэ нь бас oper бүлгийг оруулсан байх ёстой. Сангуудыг үүсгэх Эдгээр сангууд нь тусдаа файлын системүүд маягаар ихэвчлэн үүсгэгддэг. Таны шаардлагуудаас энэ нь шууд хамаарах юм. Тэдгээр нь бүгд нэг RAID 5 дээр байрлаж байгаа болохоор бид тэдгээрийг энгийн сангууд маягаар үүсгэхээр сонгосон юм: Эхлээд бид зарим сангуудын эзэмшигчид болон эрхүүдийг тохируулна (root хэрэглэгчээр): &prompt.root; chmod 775 /oracle &prompt.root; chmod 777 /sapmnt &prompt.root; chown root:dba /oracle &prompt.root; chown sidadm:sapsys /compat/linux/usr/sap &prompt.root; chmod 775 /compat/linux/usr/sap Дараа нь бид сангуудыг orasid хэрэглэгчээр үүсгэнэ. Эдгээр нь бүгдээрээ /oracle/SID-ийн дэд сангууд байх болно: &prompt.root; su - orasid &prompt.root; cd /oracle/SID &prompt.root; mkdir mirrlogA mirrlogB origlogA origlogB &prompt.root; mkdir sapdata1 sapdata2 sapdata3 sapdata4 sapdata5 sapdata6 &prompt.root; mkdir saparch sapreorg &prompt.root; exit &oracle; 8.1.7 суулгалтын хувьд зарим нэгэн нэмэлт сангууд хэрэгтэй: &prompt.root; su - orasid &prompt.root; cd /oracle &prompt.root; mkdir 805_32 &prompt.root; mkdir client stage &prompt.root; mkdir client/80x_32 &prompt.root; mkdir stage/817_32 &prompt.root; cd /oracle/SID &prompt.root; mkdir 817_32 client/80x_32 сан яг энэ нэртэйгээр ашиглагддаг. x-г ямар нэгэн тоо юм уу эсвэл өөр зүйлээр битгий солиорой. Гурав дахь шатанд бид sidadm хэрэглэгчээр сангуудыг үүсгэнэ: &prompt.root; su - sidadm &prompt.root; cd /usr/sap &prompt.root; mkdir SID &prompt.root; mkdir trans &prompt.root; exit <filename>/etc/services</filename> файл дахь оруулгууд &sap.r3; нь /etc/services файлд зарим нэгэн оруулгуудыг шаарддаг бөгөөд FreeBSD дээр суулгаж байх явцад зөвөөр тохируулагддаггүй. Дараах оруулгуудыг нэмнэ үү (танд хамгийн багадаа тохиолдлын дугаартай тохирох оруулгууд хэрэгтэй. Энэ тохиолдолд 00 байна. Бүх оруулгуудыг 00-с эхлээд 99 хүртэл dp, gw, sp болон ms-т зориулж нэмэх нь аюулгүй юм). Хэрэв та SAProuter юм уу эсвэл &sap; OSS-т хандах хэрэгтэй болвол танд бас 99 хэрэгтэй болох бөгөөд учир нь порт 3299 нь систем дээрх SAProuter процессийн хувьд ихэвчлэн ашиглагддаг: sapdp00 3200/tcp # SAP Dispatcher. 3200 + Instance-Number sapgw00 3300/tcp # SAP Gateway. 3300 + Instance-Number sapsp00 3400/tcp # 3400 + Instance-Number sapms00 3500/tcp # 3500 + Instance-Number sapmsSID 3600/tcp # SAP Message Server. 3600 + Instance-Number sapgw00s 4800/tcp # SAP Secure Gateway 4800 + Instance-Number Шаардлагатай локалууд локаль &sap; нь анхдагч RedHat суулгацад байдаггүй хоёр локалыг хамгийн багадаа шаарддаг. &sap; нь шаардлагатай RPM-үүдийг тэдгээрийн FTP серверээс (хэрэв та OSS хандалттай үйлчлүүлэгч бол энэ нь хандах боломжтой байна) татаж авах боломжтойгоор санал болгодог. Хэрэгтэй RPM-үүдийн жагсаалтын талаар 0171356 тэмдэглэгээг үзнэ үү. Ердөө л тохирох холбоосуудыг (жишээ нь de_DE болон en_US-с) үүсгэх бас боломжтой байдаг боловч бид үүнийг үйлдвэрлэлийн систем дээр зөвлөдөггүй (гэхдээ энэ нь IDES системтэй одоогоор ямар ч асуудалгүй ажилласан). Дараах локалууд хэрэгтэй: de_DE.ISO-8859-1 en_US.ISO-8859-1 Үүнтэй адил холбоосуудыг үүсгэнэ: &prompt.root; cd /compat/linux/usr/share/locale &prompt.root; ln -s de_DE de_DE.ISO-8859-1 &prompt.root; ln -s en_US en_US.ISO-8859-1 Хэрэв тэдгээр нь байхгүй бол суулгацын явцад зарим асуудлууд гарах болно. Хэрэв эдгээрийг тэгээд дараа нь (зөрчиж байгаа алхмуудын STATUSOK болгон CENTRDB.R3S файлд тохируулж) дахин орхигдуулбал зарим нэг нэмэлт оролдлогогүйгээр &sap; систем уруу нэвтрэн орох боломжгүй болно. Цөмийг тааруулах цөмийг тааруулах &sap.r3; системүүд нь маш их эх үүсвэрүүд шаарддаг. Тийм болохоор бид дараах параметрүүдийг цөмийн тохиргооны файлд нэмсэн билээ: # Set these for memory pigs (SAP and Oracle): options MAXDSIZ="(1024*1024*1024)" options DFLDSIZ="(1024*1024*1024)" # System V options needed. options SYSVSHM #SYSV-style shared memory options SHMMAXPGS=262144 #max amount of shared mem. pages #options SHMMAXPGS=393216 #use this for the 46C inst.parameters options SHMMNI=256 #max number of shared memory ident if. options SHMSEG=100 #max shared mem.segs per process options SYSVMSG #SYSV-style message queues options MSGSEG=32767 #max num. of mes.segments in system options MSGSSZ=32 #size of msg-seg. MUST be power of 2 options MSGMNB=65535 #max char. per message queue options MSGTQL=2046 #max amount of msgs in system options SYSVSEM #SYSV-style semaphores options SEMMNU=256 #number of semaphore UNDO structures options SEMMNS=1024 #number of semaphores in system options SEMMNI=520 #number of semaphore identifiers options SEMUME=100 #number of UNDO keys &sap;-с ирсэн баримтан дээр хамгийн бага утгуудыг заасан байдаг. Линуксд зориулсан тайлбар байдаггүй учраас илүү мэдээллийг HP-UX хэсгээс (32-бит) үзнэ үү. 4.6C SR2 суулгацад зориулсан систем нь илүү их гол санах ойтой болохоор хуваалцсан сегмент нь &sap; болон &oracle;-ийн хувьд илүү том байж болох юм. Тийм болохоор илүү их тооны хуваалцсан санах ойн хуудсуудыг сонгох хэрэгтэй. &i386; дээрх FreeBSD-ийн анхдагч суулгалтад MAXDSIZ болон DFLDSIZ-г хамгийн ихдээ 1 GB болгох хэрэгтэй. Тэгэхгүй бол ORA-27102: out of memory болон Linux Error: 12: Cannot allocate memory зэрэг хачирхалтай алдаанууд гарч болзошгүй юм. &sap.r3;-г суулгах &sap; CDROM-уудыг бэлтгэх Суулгалтын явцад олон CDROM-уудыг холбож, салгах болдог. Таныг олон CDROM хөтчүүдтэй гэж үзвэл та тэдгээрийг бүгдийг холбож болох юм. Бид CDROM-уудын агуулгыг харгалзах сангуудад хуулахаар шийдсэн юм: /oracle/SID/sapreorg/cd-name Энд байгаа cd-name нь 4.6B/IDES суулгацын хувьд KERNEL, RDBMS, EXPORT1, EXPORT2, EXPORT3, EXPORT4, EXPORT5 болон EXPORT6 дискнүүдийн аль нэг бөгөөд 4.6C SR2 суулгацын хувьд KERNEL, RDBMS, DISK1, DISK2, DISK3, DISK4 болон LANG дискнүүдийн аль нэг байна. Холбогдсон CD-үүд дээрх бүх файлын нэрс томоор байх ёстой, аль эсвэл холболт хийхдээ тохируулгыг ашиглах хэрэгтэй. Тийм болохоор дараах тушаалуудыг ашиглах хэрэгтэй: &prompt.root; mount_cd9660 -g /dev/cd0a /mnt &prompt.root; cp -R /mnt/* /oracle/SID/sapreorg/cd-name &prompt.root; umount /mnt Суулгалтын скриптийг ажиллуулах Эхлээд та install санг бэлдэх хэрэгтэй: &prompt.root; cd /oracle/SID/sapreorg &prompt.root; mkdir install &prompt.root; cd install Тэгээд суулгах скрипт эхлэх бөгөөд бүх холбоотой файлуудыг install сан уруу хуулах болно: &prompt.root; /oracle/SID/sapreorg/KERNEL/UNIX/INSTTOOL.SH IDES суулгац (4.6B) нь бүрэн өөрчлөн тохируулагдсан &sap.r3; үзүүлэх системтэй ирдэг болохоор гурван EXPORT CD-ний оронд зургаа байдаг. Энэ үед суулгах загвар CENTRDB.R3S нь IDES төв тохиолдолд зориулагдаагүй харин стандарт төв тохиолдлын (&r3; болон мэдээллийн бааз) хувьд зориулагдсан байх учраас EXPORT1 сангийн харгалзах CENTRDB.R3S файлыг хуулах хэрэгтэй бөгөөд тэгэхгүй бол R3SETUP тушаал зөвхөн гурван EXPORT CD-г асуух болно. Шинэ &sap; 4.6C SR2 хувилбар дөрвөн EXPORT CD-тэй ирдэг. Суулгалтын алхмуудыг хянадаг параметрийн файл нь CENTRAL.R3S байна. Өмнөх хувилбаруудтай харьцуулах юм бол мэдээллийн баазтай эсвэл баазгүй төв тохиолдолд зориулагдсан суулгалтын тусдаа загвар байдаггүй. &sap; нь мэдээллийн баазын суулгацад зориулж тусдаа загвар ашиглаж байна. Суулгалтыг дараа нь дахин эхлүүлэхийн тулд анхны файлтай дахин эхлүүлэх нь хангалттай байдаг. Суулгалтын үед болон дараа &sap; нь hostname тушаалаас бүрэн танигдсан домэйн нэрийг биш зөвхөн компьютерийн нэрийг буцаахыг шаарддаг. Хостын нэрийг тааруулах юм уу эсвэл orasid болон sidadm (болон root хэрэглэгчээр хийсэн суулгалтын алхмуудын үед ядаж root) хэрэглэгчдэд зориулж alias hostname='hostname -s' тушаалаар alias буюу өөр нэрийг тохируулах хэрэгтэй. &sap; суулгацын үед суулгагдсан хоёр хэрэглэгчийн .profile болон .login файлуудыг тааруулах боломж бас байдаг. <command>R3SETUP</command> 4.6B-г эхлүүлнэ LD_LIBRARY_PATH зөв тохируулагдсан эсэхийг шалгаарай: &prompt.root; export LD_LIBRARY_PATH=/oracle/IDS/lib:/sapmnt/IDS/exe:/oracle/805_32/lib Суулгалтын сангаас R3SETUP тушаалыг root эрхээр эхлүүлнэ: &prompt.root; cd /oracle/IDS/sapreorg/install &prompt.root; ./R3SETUP -f CENTRDB.R3S Дараа нь скрипт зарим асуултууд асууна (хаалтанд анхдагчид байх бөгөөд оролт үүний дараа хийгдэнэ): Асуулт Анхдагч Оролт Enter SAP System ID [C11] IDSEnter Enter SAP Instance Number [00] Enter Enter SAPMOUNT Directory [/sapmnt] Enter Enter name of SAP central host [troubadix.domain.de] Enter Enter name of SAP db host [troubadix] Enter Select character set [1] (WE8DEC) Enter Enter Oracle server version (1) Oracle 8.0.5, (2) Oracle 8.0.6, (3) Oracle 8.1.5, (4) Oracle 8.1.6 1Enter Extract Oracle Client archive [1] (Yes, extract) Enter Enter path to KERNEL CD [/sapcd] /oracle/IDS/sapreorg/KERNEL Enter path to RDBMS CD [/sapcd] /oracle/IDS/sapreorg/RDBMS Enter path to EXPORT1 CD [/sapcd] /oracle/IDS/sapreorg/EXPORT1 Directory to copy EXPORT1 CD [/oracle/IDS/sapreorg/CD4_DIR] Enter Enter path to EXPORT2 CD [/sapcd] /oracle/IDS/sapreorg/EXPORT2 Directory to copy EXPORT2 CD [/oracle/IDS/sapreorg/CD5_DIR] Enter Enter path to EXPORT3 CD [/sapcd] /oracle/IDS/sapreorg/EXPORT3 Directory to copy EXPORT3 CD [/oracle/IDS/sapreorg/CD6_DIR] Enter Enter path to EXPORT4 CD [/sapcd] /oracle/IDS/sapreorg/EXPORT4 Directory to copy EXPORT4 CD [/oracle/IDS/sapreorg/CD7_DIR] Enter Enter path to EXPORT5 CD [/sapcd] /oracle/IDS/sapreorg/EXPORT5 Directory to copy EXPORT5 CD [/oracle/IDS/sapreorg/CD8_DIR] Enter Enter path to EXPORT6 CD [/sapcd] /oracle/IDS/sapreorg/EXPORT6 Directory to copy EXPORT6 CD [/oracle/IDS/sapreorg/CD9_DIR] Enter Enter amount of RAM for SAP + DB 850Enter (in Megabytes) Service Entry Message Server [3600] Enter Enter Group-ID of sapsys [101] Enter Enter Group-ID of oper [102] Enter Enter Group-ID of dba [100] Enter Enter User-ID of sidadm [1000] Enter Enter User-ID of orasid [1002] Enter Number of parallel procs [2] Enter Хэрэв та CD-үүдийг өөр байрлалууд уруу хуулаагүй бол &sap; суулгагч хэрэгтэй CD-гээ (CD дээрх LABEL.ASC файлаар танигддаг) олж чадахгүй бөгөөд танаас CD-г хийн холбож холбох цэгийг оруулахыг асуух болно. CENTRDB.R3S нь алдаатай байж болох юм. Бидний тохиолдолд энэ нь EXPORT4 CD-г дахин хүсэх боловч зөв түлхүүрийг үзүүлсэн (6_LOCATION, дараа нь 7_LOCATION гэх мэт.), тэгэхээр зөв утгуудыг оруулан үргэлжлүүлж болох юм. Доор дурдсан зарим асуудлуудыг тооцохгүй юм бол бүгд &oracle; мэдээллийн баазын програм хангамжийг суулгах хэрэгтэй болох хүртэл шулуун явах ёстой. <command>R3SETUP</command> 4.6C SR2-г эхлүүлнэ LD_LIBRARY_PATH зөв тохируулагдсан эсэхийг шалгаарай. Энэ нь &oracle; 8.0.5-тай 4.6B суулгацаас өөр утга байна: &prompt.root; export LD_LIBRARY_PATH=/sapmnt/PRD/exe:/oracle/PRD/817_32/lib Суулгалтын сангаас R3SETUP тушаалыг root хэрэглэгчээр эхлүүлнэ: &prompt.root; cd /oracle/PRD/sapreorg/install &prompt.root; ./R3SETUP -f CENTRAL.R3S Дараа нь скрипт зарим асуултууд асууна (хаалтанд анхдагчид байх бөгөөд оролт үүний дараа хийгдэнэ): Асуулт Анхдагч Оролт Enter SAP System ID [C11] PRDEnter Enter SAP Instance Number [00] Enter Enter SAPMOUNT Directory [/sapmnt] Enter Enter name of SAP central host [majestix] Enter Enter Database System ID [PRD] PRDEnter Enter name of SAP db host [majestix] Enter Select character set [1] (WE8DEC) Enter Enter Oracle server version (2) Oracle 8.1.7 2Enter Extract Oracle Client archive [1] (Yes, extract) Enter Enter path to KERNEL CD [/sapcd] /oracle/PRD/sapreorg/KERNEL Enter amount of RAM for SAP + DB 2044 1800Enter (in Megabytes) Service Entry Message Server [3600] Enter Enter Group-ID of sapsys [100] Enter Enter Group-ID of oper [101] Enter Enter Group-ID of dba [102] Enter Enter User-ID of oraprd [1002] Enter Enter User-ID of prdadm [1000] Enter LDAP support 3Enter (no support) Installation step completed [1] (continue) Enter Choose installation service [1] (DB inst,file) Enter Суулгалтын явцад OSUSERDBSID_IND_ORA (orasid хэрэглэгчийг үүсгэх) үе болон OSUSERSIDADM_IND_ORA (sidadm хэрэглэгчийг үүсгэх) үед хэрэглэгчдийг үүсгэхэд алдаа өгч байна. Доор дурдсан зарим асуудлуудыг тооцохгүй юм бол бүгд &oracle; мэдээллийн баазын програм хангамжийг суулгах хэрэгтэй болох хүртэл шулуун явах ёстой. &oracle; 8.0.5-г суулгах Линукс болон &oracle; DB-ийн болзошгүй асуудлуудын талаар харгалзах &sap;-ийн тэмдэглэгээнүүд болон &oracle;-ийн Readme файлуудыг үзнэ үү. Бүх асуудлуудын ихэнх нь нийцгүй сангуудаас болдог. &oracle; суулгах тухай дэлгэрэнгүй мэдээллийг &oracle; суулгах нь бүлгээс лавлана уу. &oracle; 8.0.5-г <command>orainst</command>-ээр суулгах Хэрэв &oracle; 8.0.5 ашиглагдах болвол амжилттай дахин холбоход зарим нэмэлт сангууд хэрэгтэй. &oracle; 8.0.5 нь хуучин glibc-тэй (RedHat 6.0) холбогдсон байдаг болохоор тэр юм. Гэхдээ RedHat 6.1 нь шинэ glibc ашигладаг. Тэгэхээр холболт ажиллахыг баталгаажуулахын тулд та дараах нэмэлт багцуудыг суулгах хэрэгтэй: - compat-libs-5.2-2.i386.rpm - compat-glibc-5.2-2.0.7.2.i386.rpm - compat-egcs-5.2-1.0.3a.1.i386.rpm - compat-egcs-c++-5.2-1.0.3a.1.i386.rpm - compat-binutils-5.2-2.9.1.0.23.1.i386.rpm + + compat-libs-5.2-2.i386.rpm + compat-glibc-5.2-2.0.7.2.i386.rpm + compat-egcs-5.2-1.0.3a.1.i386.rpm + compat-egcs-c++-5.2-1.0.3a.1.i386.rpm + compat-binutils-5.2-2.9.1.0.23.1.i386.rpm + Цаашхи мэдээллийн талаар харгалзах &sap;-ийн тэмдэглэгээнүүд болон &oracle;-ийн Readme файлуудыг үзнэ үү. Хэрэв энэ нь сонголт биш бол (суулгах явцад бидэнд үүнийг шалгах хангалттай хугацаа байгаагүй) анхны хоёртын файлууд юм уу эсвэл анхны RedHat системээс дахин холбогдсон хоёртын файлуудыг ашиглаж болох юм. Ухаалаг агентийг эмхэтгэхийн тулд RedHat Tcl багц суулгагдсан байх ёстой. Хэрэв та tcl-8.0.3-20.i386.rpm файлыг авч чадахгүй байгаа бол RedHat 6.1-д зориулагдсан tcl-8.0.5-30.i386.rpm зэрэг шинэ бас байж болох юм. Дахин холбохоос бусдаараа суулгалт нь шулуухан юм: &prompt.root; su - oraids &prompt.root; export TERM=xterm &prompt.root; export ORACLE_TERM=xterm &prompt.root; export ORACLE_HOME=/oracle/IDS &prompt.root; cd $ORACLE_HOME/orainst_sap &prompt.root; ./orainst Програм хангамж суулгагдах хүртэл бүх дэлгэц дээр байгааг Enter дарж баталгаажуулах хэрэгтэй. Гэхдээ &oracle; On-Line Text Viewer гэдгийг сонгосноо болиулах хэрэгтэй, учир нь энэ нь Линукс дээр байдаггүй. &oracle; дараа нь байгаа gcc, egcs болон i386-redhat-linux-gcc -үүдийн оронд i386-glibc20-linux-gcc-ээр дахин холбогдохыг хүсдэг. Хугацаанаас болоод бид &oracle; 8.0.5 PreProduction хувилбарын хоёртын файлуудыг ашиглахаар шийдсэн юм. Учир нь тэр үед RDBMS CD-ээс хувилбарыг ажиллуулах эхний оролдлого амжилтгүй болсон, бас зөв RPM-үүдийг олж тэдгээрт хандах нь аймшгийн хар дарсан зүүд шиг байсан зэргээс болсон юм. Линуксд (Цөм 2.0.33) зориулсан &oracle; 8.0.5 Pre-production Release-г суулгах Энэ суулгалт нь их амархан. CD-г холбож суулгагчийг эхлүүлнэ. Энэ нь &oracle;-ийн гэрийн сангийн байрлалыг асуух бөгөөд бүх хоёртын файлуудыг тэнд хуулах болно. Гэхдээ бид өөрсдийн өмнөх RDBMS суулгалтын файлуудын үлдэгдлүүдийг устгаагүй болно. Дараа нь &oracle; мэдээллийн баазыг ямар ч асуудалгүйгээр эхлүүлж болно. &oracle; 8.1.7 Линуксийн tar бөмбөгийг суулгах Линукс систем дээрх суулгалтын сангаас үүсгэсэн oracle81732.tgz tar бөмбөгөө аваад /oracle/SID/817_32/ уруу буцааж задлах хэрэгтэй. &sap.r3;-ийн суулгацыг үргэлжлүүлэх Эхлээд idsamd (sidadm) болон oraids (orasid) хэрэглэгчдийн орчны тохиргоонуудыг шалгах хэрэгтэй. Тэдгээр нь одоо бүгд hostname тушаалыг ашиглаж байгаа .profile, .login болон .cshrc файлуудтай байх ёстой. Системийн хостын нэр бүрэн танигдах нэр бол та hostname тушаалыг hostname -s тушаалаар бүх гурван файл дотор өөрчлөх хэрэгтэй. Мэдээллийн баазыг дуудах Дараа нь R3SETUP тушаалыг дахин эхлүүлэх юм уу эсвэл үргэлжлүүлж болно (гарахыг сонгосон эсэхээс хамаарч). R3SETUP нь дараа нь хүснэгтийн талбаруудыг үүсгэж өгөгдлийг (46B IDES-ийн хувьд EXPORT1-с EXPORT6, 46C-ийн хувьд DISK1-с DISK4) мэдээллийн бааз уруу R3load тушаалаар дуудна. Мэдээллийн бааз дуудагдаж дууссаны дараа (хэдэн цаг болж болно) зарим нууц үгсийг асуудаг. Тест суулгалтуудад хүн бүхний мэддэг анхдагч нууц үгсийг ашиглаж болох юм (хэрэв аюулгүй байдал чухал бол өөрийг ашиглаарай!): Асуулт Оролт Enter Password for sapr3 sapEnter Confirum Password for sapr3 sapEnter Enter Password for sys change_on_installEnter Confirm Password for sys change_on_installEnter Enter Password for system managerEnter Confirm Password for system managerEnter Энэ үед бид 4.6B суулгаж байх явцад dipgntab тушаалын хувьд цөөн асуудлуудтай тулгарсан. Сонсогч &oracle; сонсогчийг orasid хэрэглэгчээр дараах маягаар эхлүүлнэ: &prompt.user; umask 0; lsnrctl start Тэгэхгүй бол сокетууд нь зөв зөвшөөрлүүдгүй байх учраас ORA-12546 алдааг та харж болох юм. &sap; Тэмдэглэгээ 072984-г үзнэ үү. MNLS хүснэгтүүдийг шинэчлэх Хэрэв та Latin-1 биш хэлүүдийг &sap; систем уруу импорт хийхээр төлөвлөж байгаа бол Multi National Language Support хүснэгтүүд буюу Олон Үндэстний Хэлний Дэмжлэгийн хүснэгтүүдийг шинэчлэх хэрэгтэй. Энэ нь &sap; OSS Тэмдэглэгээнүүд 15023 болон 45619-д тайлбарлагдсан байгаа. Үгүй бол энэ асуултыг &sap; суулгалтын явцад орхиж болно. Хэрэв танд MNLS хэрэггүй бол хүснэгт TCPDB-г шалгаж эхлүүлэлт хийгдээгүй бол эхлүүлэх шаардлага хэвээр байсаар байх болно. Дэлгэрэнгүй мэдээллийг &sap; тэмдэглэгээ 0015023 болон 0045619-с үзнэ үү. Суулгалтын дараах алхмууд &sap.r3;-ийн лиценз түлхүүрийг хүснэ Та өөрийн &sap.r3; лиценз түлхүүрийг хүсэх хэрэгтэй. Суулгалтын үед суулгагдсан түр зуурын лиценз нь зөвхөн дөрвөн долоо хоног хүчинтэй байдаг болохоор ингэх хэрэгтэй юм. Эхлээд тоног төхөөрөмжийн түлхүүрийг авах хэрэгтэй. idsadm хэрэглэгчээр нэвтэрч saplicense тушаалыг дуудна: &prompt.root; /sapmnt/IDS/exe/saplicense -get saplicense тушаалыг параметрүүдгүй дуудах нь тохируулгуудын жагсаалтыг үзүүлдэг. Лицензийн түлхүүрийг авсныхаа дараа үүнийг дараах тушаалыг ашиглан суулгаж болно: &prompt.root; /sapmnt/IDS/exe/saplicense -install Тэгээд та дараах утгуудыг оруулах шаардлагатай болно: SAP SYSTEM ID = SID, 3 chars CUSTOMER KEY = hardware key, 11 chars INSTALLATION NO = installation, 10 digits EXPIRATION DATE = yyyymmdd, usually "99991231" LICENSE KEY = license key, 24 chars Хэрэглэгчдийг үүсгэх Клиент 000 дотор хэрэглэгч үүсгэнэ (зарим ажлуудын хувьд клиент 000 дотор хийхийг шаарддаг, гэхдээ sap* болон ddic хэрэглэгчдээс өөр хэрэглэгчээр). Хэрэглэгчийн нэрийн хувьд бид wartung (эсвэл Англиар service) гэж ихэвчлэн сонгодог. Шаардлагатай хувийн тохиргоонууд нь sap_new болон sap_all юм. Аюулгүй байдлыг нэмэлтээр хангаж бүх клиентүүд доторх анхдагч хэрэглэгчдийн нууц үгсийг өөрчлөх хэрэгтэй (эдгээр хэрэглэгчдэд sap* болон ddic орно). Тээвэрлэлтийн систем, хувийн тохиргоо, үйлдлийн горимууд гэх мэтийг тохируулах ddic болон sap* хэрэглэгчээс өөр клиент 000 дотор доор дурдсаныг хамгийн багадаа хийх хэрэгтэй: Ажил Шилжүүлгэ Тээвэрлэлтийн системийг тохируулна, өөрөөр хэлбэл Тусдаа ажиллах Тээвэрлэлтийн Домэйн маягаар STMS Системийн хувьд хувийн тохиргоог үүсгэнэ / засварлана RZ10 Үйлдлийн горимууд болон тохиолдлуудыг арчилна RZ04 Эдгээр болон бусад бүх суулгалтын дараах алхмууд нь &sap;-г суулгах заавруудад дэлгэрэнгүй тайлбарлагдсан байгаа. <filename>init<replaceable>sid</replaceable>.sap</filename> (<filename>initIDS.sap</filename>) файлыг засварлана /oracle/IDS/dbs/initIDS.sap файл &sap;-ийн нөөц хувийн тохиргоог агуулдаг. Энд ашиглагдах соронзон хальсны хэмжээ, шахалтын төрөл гэх зэргийг тодорхойлох хэрэгтэй. sapdba / brbackup тушаалаар үүнийг ажиллуулахын тулд бид дараах утгуудыг өөрчилсөн: compress = hardware archive_function = copy_delete_save cpio_flags = "-ov --format=newc --block-size=128 --quiet" cpio_in_flags = "-iuv --block-size=128 --quiet" tape_size = 38000M tape_address = /dev/nsa0 tape_address_rew = /dev/sa0 Тайлбарууд: compress: Бидний ашиглах соронзон хальс бол HP DLT1 бөгөөд энэ нь тоног төхөөрөмжийн шахалтыг хийдэг. archive_function: Энэ нь &oracle;-ийн архив бүртгэлүүдийг хадгалах анхдагч үйлдлийг тодорхойлдог: шинэ бүртгэлийн файлууд нь соронзон хальсанд хадгалагдаж аль хэдийн хадгалагдсан бүртгэлийн файлууд нь дахин хадгалагдаж дараа нь устгагддаг. Хэрэв танд мэдээллийн баазыг сэргээх хэрэг байгаа бөгөөд аль нэг архивын соронзон хальс муудсан бол энэ нь их олон асуудлаас сэргийлэх юм. cpio_flags: Анхдагч нь блокийн хэмжээг 5120 байт болгож тохируулдаг тохируулгыг ашиглах явдал юм. DLT соронзон хальснуудын хувьд HP нь хамгийн багаар бодоход 32 K блокийн хэмжээтэй байхыг зөвлөдөг, тийм болохоор бид 64 K-д зориулж тохируулгыг ашигласан. Бидэнд 65535-с их inode дугаарууд байгаа болохоор тохируулга хэрэгтэй. Сүүлийн тохируулга нь хэрэгтэй бөгөөд тэгэхгүй бол cpio тушаал хадгалсан блокуудын тоог гаргасны дараа brbackup тушаал гомдоллох болно. cpio_in_flags: Соронзон хальснаас өгөгдлийг буцааж дуудахад тугнууд хэрэгтэй. Хэлбэршилт автоматаар танигддаг. tape_size: Энэ нь соронзон хальсны түүхий хадгалалтын багтаамжийг ихэвчлэн өгдөг. Аюулгүй байдлын үүднээс (бид тоног төхөөрөмжийн шахалтыг ашиглаж байгаа) уг утга нь жинхэнэ утгаас хамаагүй бага байна. tape_address: cpio тушаалд ашиглагдах дахин буцаагддаггүй төхөөрөмж байна. tape_address_rew: cpio тушаалд ашиглагдах буцаагдаж болох төхөөрөмж байна. Суулгалтын дараах тохиргооны асуудлууд Суулгалтын дараа дараах &sap; параметрүүдийг тааруулах хэрэгтэй (IDES 46B, 1 GB санах ойд зориулсан жишээнүүд): Нэр Утга ztta/roll_extension 250000000 abap/heap_area_dia 300000000 abap/heap_area_nondia 400000000 em/initial_size_MB 256 em/blocksize_kB 1024 ipc/shm_psize_40 70000000 &sap; Тэмдэглэгээ 0013026: Нэр Утга ztta/dynpro_area 2500000 &sap; Тэмдэглэгээ 0157246: Нэр Утга rdisp/ROLL_MAXFS 16000 rdisp/PG_MAXFS 30000 Дээрх параметрүүдтэй 1 гигабайт санах ойтой систем дээр санах ойн иймэрхүү хэрэглээг олж харж болох юм: Mem: 547M Active, 305M Inact, 109M Wired, 40M Cache, 112M Buf, 3492K Free Суулгалтын үеийн асуудлууд Асуудлыг засварласны дараа <command>R3SETUP</command>-г дахин эхлүүлнэ R3SETUP тушаал алдаа гарвал зогсдог. Хэрэв та харгалзах бүртгэлийн файлуудыг үзэж алдааг зассан бол R3SETUP тушаалыг дахин эхлүүлэх хэрэгтэй. Ингэхийн тулд R3SETUP-ийн гомдоллосон сүүлийн алхамд зориулж ихэвчлэн REPEAT-ийг тохируулга болгон сонгоно. R3SETUP-г дахин эхлүүлэхийн тулд түүнийг ердөө л харгалзах R3S файлтай нь эхлүүлнэ, 4.6B-ийн хувьд: &prompt.root; ./R3SETUP -f CENTRDB.R3S эсвэл 4.6C-ийн хувьд &prompt.root; ./R3SETUP -f CENTRAL.R3S байх бөгөөд алдаа CENTRAL.R3S юм уу эсвэл DATABASE.R3S файлд гарснаас үл хамаарах юм. Зарим алхмууд дээр R3SETUP тушаал нь мэдээллийн бааз болон &sap; процессууд нь эхлээд ажиллаж байгаа гэж үздэг (тэдгээр нь аль хэдийн гүйцэтгэсэн алхмууд юм). Алдаанууд гарахад, жишээ нь мэдээллийн баазыг эхлүүлж болохгүй байвал алдаануудыг засварласны дараа R3SETUP-г дахин эхлүүлэхээсээ өмнө та мэдээллийн бааз болон &sap;-ийг гараараа эхлүүлэх хэрэгтэй. &oracle; сонсогч хэрэв (жишээ нь системийг шаардлагаар дахин ачаалснаас болоод) зогссон бол түүнийг бас (orasid хэрэглэгчээр umask 0; lsnrctl start тушаалаар) дахин эхлүүлэхээ битгий мартаарай. <command>R3SETUP</command>-ийн үе дэх OSUSERSIDADM_IND_ORA Хэрэв R3SETUP энэ үе дээр гомдоллож байвал тэр үед R3SETUP-ийн ашиглагдсан загвар файлыг засварлах хэрэгтэй (CENTRDB.R3S (4.6B) эсвэл CENTRAL.R3S эсвэл DATABASE.R3S (4.6C)). [OSUSERSIDADM_IND_ORA]-г олох юм уу эсвэл зөвхөн STATUS=ERROR оруулгыг хайж дараах утгуудыг засварлах хэрэгтэй: HOME=/home/sidadm (was empty) STATUS=OK (had status ERROR) Дараа нь та R3SETUP-г дахин эхлүүлж болно. <command>R3SETUP</command>-ийн үе дэх OSUSERDBSID_IND_ORA Магадгүй R3SETUP тушаал бас энэ үед гомдоллох байх. Энд байгаа алдаа нь OSUSERSIDADM_IND_ORA үе дэх алдаатай төстэй юм. Тэр үед R3SETUP-ийн ашиглагдсан загвар файлыг засварлах хэрэгтэй (CENTRDB.R3S (4.6B) эсвэл CENTRAL.R3S эсвэл DATABASE.R3S (4.6C)). [OSUSERDBSID_IND_ORA]-г олох юм уу эсвэл зөвхөн STATUS=ERROR оруулгыг хайж тэр хэсэг дэх дараах утгыг засварлах хэрэгтэй: STATUS=OK Дараа нь R3SETUP-г дахин эхлүүлнэ. &oracle;-ийн суулгалтын үе дэх <errorname>oraview.vrf FILE NOT FOUND</errorname> Та суулгалтыг эхлүүлэхээсээ өмнө &oracle; On-Line Text Viewer сонголтыг болиулаагүй байна. Энэ тохируулга нь Линукс дээр байдаггүй ч гэсэн суулгагдахаар тэмдэглэгдсэн байдаг. &oracle; суулгалтын цэсэн дотор энэ бүтээгдэхүүнийг сонгосноо болиулаад суулгалтыг дахин эхлүүлэх хэрэгтэй. <command>R3SETUP</command>, RFC эсвэл SAPgui Эхлэлийн үе дэх <errorname>TEXTENV_INVALID</errorname> Хэрэв энэ алдаа гарсан бол зөв локал байхгүй байна. &sap; тэмдэглэгээ 0171356 нь суулгахад шаардлагатай RPM-үүдийг жагсаасан байдаг (өөрөөр хэлбэл RedHat 6.1-т зориулсан saplocales-1.0-3, saposcheck-1.0-1). Та R3SETUP тушаал гомдоллох бүрт бүх хамааралтай алдаануудыг хаяж харгалзах STATUS тохируулгыг ERROR гэдгээс OK болгон (CENTRDB.R3S файлд) тохируулж R3SETUP-г дахин эхлүүлсэн бол &sap; систем нь зөв тохируулагдахгүй бөгөөд хэдий системийг эхлүүлж болох ч гэсэн та дараа нь системд SAPgui програмаар холбогдож чадахгүй болно. Линуксийн хуучин SAPgui-аар холбогдохыг оролдоход дараах мэдэгдлүүдийг өгсөн: Sat May 5 14:23:14 2001 *** ERROR => no valid userarea given [trgmsgo. 0401] Sat May 5 14:23:22 2001 *** ERROR => ERROR NR 24 occured [trgmsgi. 0410] *** ERROR => Error when generating text environment. [trgmsgi. 0435] *** ERROR => function failed [trgmsgi. 0447] *** ERROR => no socket operation allowed [trxio.c 3363] Speicherzugriffsfehler Энэ ажиллагаа нь &sap.r3;-ийн локалыг зөв зааж өгч чадахгүй байдал болон бас өөрийгөө зөв тохируулж чадахгүй (зарим мэдээллийн баазын хүснэгтүүдэд оруулгууд байхгүй) байдлаас болдог. &sap; уруу холбогдож чаддаг байхын тулд DEFAULT.PFL файлд дараах оруулгуудыг нэмнэ (Тэмдэглэгээ 0043288-г үзнэ үү): abap/set_etct_env_at_new_mode = 0 install/collate/active = 0 rscp/TCP0B = TCP0B &sap; системийг дахин эхлүүлнэ. Улстай холбоотой хэлний тохиргоонууд хүссэнээр ажиллахгүй байсан ч гэсэн одоо та систем уруу холбогдож чадна. Улсын тохиргоонуудыг зөв болгосны (зөв локалыг зааж өгсний) дараа эдгээр оруулгуудыг DEFAULT.PFL файлаас арилгаж &sap; системийг дахин эхлүүлж болно. <errorcode>ORA-00001</errorcode> Энэ алдаа нь FreeBSD дээрх &oracle; 8.1.7 дээр зөвхөн гардаг. Үүний шалтгаан нь &oracle; мэдээллийн бааз өөрийгээ зөв эхлүүлж чадахгүй, систем дээр семафорууд болон хуваалцсан санах ойг үлдээн сүйрдэг явдал юм. Мэдээллийн баазыг эхлүүлэх дараагийн оролдлого тэгээд ORA-00001 алдааг буцаадаг. ipcs -a тушаалаар тэдгээрийг олж ipcrm тушаалаар устгах хэрэгтэй. <errorcode>ORA-00445</errorcode> (Арын процесс PMON эхлээгүй) Энэ алдаа нь &oracle; 8.1.7 дээр гардаг. Энэ алдаа нь мэдээллийн бааз prdadm хэрэглэгчээр ердийн startsap скриптээр (жишээ нь startsap_majestix_00) эхлүүлэгдсэн бол гардаг. Боломжит тойрон гарах зам нь oraprd хэрэглэгчээр svrmgrl тушаалын тусламжтай мэдээллийн баазыг эхлүүлэх явдал юм: &prompt.user; svrmgrl SVRMGR> connect internal; SVRMGR> startup; SVRMGR> exit <errorcode>ORA-12546</errorcode> (Сонсогчийг зөв зөвшөөрлүүдтэй эхлүүлэх) oraids хэрэглэгчээр &oracle; сонсогчийг дараах тушаалаар эхлүүлнэ: &prompt.root; umask 0; lsnrctl start Ингэхгүй бол сокетууд нь зөв зөвшөөрлүүдгүйн улмаас та ORA-12546 алдаа харж болох юм. &sap; тэмдэглэгээ 0072984-г үзнэ үү. <errorcode>ORA-27102</errorcode> (Out of Memory буюу санах ой хүрэлцэхгүй) MAXDSIZ болон DFLDSIZ тохируулгуудын хувьд 1 GB-с (1024x1024x1024) их хэмжээтэй утгуудыг ашиглахаар оролдох үед энэ алдаа гарсан. Мөн Linux Error 12: Cannot allocate memory буюу санах ойг хуваарилж чадахгүй байна гэсэн алдааг бид бас авсан. <command>R3SETUP</command>-ийн үе дэх [DIPGNTAB_IND_IND] Ерөнхийдөө &sap; тэмдэглэгээ 0130581-г үзнэ үү (R3SETUP алхам DIPGNTAB төгссөн). IDES-тэй холбоотой суулгалтын үед ямар нэг шалтгаанаас болоод суулгах процесс зөв &sap; системийн нэр IDS-г ашиглалгүй хоосон мөр ""-г ашигладаг. Замууд нь динамикаар SID-г (энэ тохиолдолд IDS) ашиглан үүсгэгддэг учраас энэ нь сангуудад хандах үед зарим нэг жижиг асуудлуудад хүргэдэг. Доор дурдсан уруу хандахын оронд: /usr/sap/IDS/SYS/... /usr/sap/IDS/DVMGS00 дараах замуудыг ашигласан: /usr/sap//SYS/... /usr/sap/D00 Суулгалтыг үргэлжлүүлэхийн тулд бид холбоос болон нэмэлт сан үүсгэсэн: &prompt.root; pwd /compat/linux/usr/sap &prompt.root; ls -l total 4 drwxr-xr-x 3 idsadm sapsys 512 May 5 11:20 D00 drwxr-x--x 5 idsadm sapsys 512 May 5 11:35 IDS lrwxr-xr-x 1 root sapsys 7 May 5 11:35 SYS -> IDS/SYS drwxrwxr-x 2 idsadm sapsys 512 May 5 13:00 tmp drwxrwxr-x 11 idsadm sapsys 512 May 4 14:20 trans &sap; тэмдэглэгээнүүд (0029227 болон 0008401) үүнийг тайлбарладгийг бид бас олсон юм. Бид эдгээр асуудлуудын алийг ч &sap; 4.6C суулгалтаас олж хараагүй. <command>R3SETUP</command>-ийн үе дэх [RFCRSWBOINI_IND_IND] &sap; 4.6C-г суулгаж байхад энэ алдаа нь суулгалтын эхэн үед гарсан өөр алдаанаас болж гарсан алдаа байсан. Энэ тохиолдолд та харгалзах бүртгэлийн файлуудыг үзэж жинхэнэ асуудлыг засварлах хэрэгтэй. Бүртгэлийн файлуудыг үзсэний дараа хэрэв энэ алдаа нь харин зөв бол (&sap; тэмдэглэгээнүүдийг шалгана уу) зөрчсөн алхмын STATUS тохируулгыг ERROR гэдгээс OK уруу (файл CENTRDB.R3S) болгож тохируулан R3SETUP-г дахин эхлүүлж болно. Суулгалтын дараа та шилжүүлгэ SE38-аас тайлан RSWBOINS-г ажиллуулах хэрэгтэй. RFCRSWBOINI болон RFCRADDBDIF үеүүдийн тухай нэмэлт мэдээллийг &sap; тэмдэглэгээ 0162266-с үзнэ үү. <command>R3SETUP</command>-ийн үе дэх [RFCRADDBDIF_IND_IND] Энд ижил хязгаарлалтууд ашиглагдана: бүртгэлийн файлуудыг үзэж энэ алдаа нь урьдны өөр асуудлуудаас болсон эсэхийг шалгана. Хэрэв та &sap; тэмдэглэгээ 0162266 хамаарч байгааг баталбал зөрчсөн алхмын STATUS тохируулгыг ERROR гэдгээс OK уруу (файл CENTRDB.R3S) болгож тохируулан R3SETUP-г дахин эхлүүлэх хэрэгтэй. Суулгалтын дараа та шилжүүлгэ SE38-аас тайлан RADDBDIF-г ажиллуулах хэрэгтэй. <errorcode>sigaction sig31: File size limit exceeded</errorcode> буюу файлын хэмжээний хязгаар илүүдсэн Энэ алдаа нь &sap;-ийн процессууд disp+work-г эхлүүлэх үед гардаг. Хэрэв &sap;startsap скриптээр эхлүүлэхэд дэд процессууд нь дараа нь эхлүүлэгдэх бөгөөд эдгээр нь бусад бүх &sap; процессуудыг эхлүүлэх бохир ажлыг хийж салдаг. Үүний үр дүнд скрипт нь өөрөө ямар нэг зүйл буруу болохыг анзаардаггүй. &sap;-ийн процессууд зөв эхэлсэн эсэхийг шалгахын тулд ps ax | grep SID тушаалаар процессийн төлөвийг үзэх хэрэгтэй. Энэ нь танд &oracle; болон &sap;-ийн бүх процессуудын жагсаалтыг харуулдаг. Хэрэв зарим процессууд байхгүй юм уу эсвэл та &sap; систем уруу холбогдож чадахгүй байвал /usr/sap/SID/DVEBMGSnr/work/ санд байх харгалзах бүртгэлийн файлуудыг үзэх хэрэгтэй. Үзэх файлууд нь dev_ms болон dev_disp юм. &oracle; болон &sap;-ийн ашигласан хуваалцсан санах ойн хэмжээ цөмийн тохиргооны файлд тааруулснаас илүү гарвал энд дохио 31 гарах бөгөөд илүү том утгыг ашиглаж энэ асуудлыг шийдэж болно: # larger value for 46C production systems: options SHMMAXPGS=393216 # smaller value sufficient for 46B: #options SHMMAXPGS=262144 <command>saposcol</command> тушаалын эхлэл амжилтгүй болсон saposcol програмд (хувилбар 4.6D) зарим асуудлууд байдаг. &sap; систем нь системийн ажиллагааны тухай өгөгдлийг цуглуулахын тулд saposcol-г ашигладаг. Энэ програм нь &sap; системийг ашиглахад хэрэггүй болохоор энэ асуудлыг жижиг гэж тооцож болох юм. Хуучин хувилбарууд (4.6B) нь ажилладаг боловч бүх өгөгдлийг цуглуулдаггүй (олон дуудлагууд нь 0-г буцаах болно, жишээ нь CPU-ийн хэрэглээний хувьд). Нэмэлт сэдвүүд Хэрэв та Линуксийн хоёртын нийлэмж хэрхэн ажилладгийг мэдэхийг хүсэж байгаа бол энэ хэсэг нь таны уншихыг хүсэж байгаа хэсэг юм. Доор бичигдсэн зүйлийн ихэнх нь Тэрри Лэмбэрт tlambert@primenet.com-ийн &a.chat; руу бичсэн цахим захидал (Message ID: <199906020108.SAA07001@usr09.primenet.com>) дээр тулгуурласан байгаа. Хэрхэн ажилладаг вэ? ажиллуулах ангилал дуудагч FreeBSD нь execution class loader буюу ажиллуулах ангилал дуудагч гэгддэг хийсвэрлэлттэй байдаг. Энэ нь &man.execve.2; системийн дуудлага уруу хийгдэх шаантаг юм. Юу болдог вэ гэхээр FreeBSD нь ямар нэгэн бүрхүүлийн тайлбарлагчид эсвэл бүрхүүлийн скриптүүдийг ажиллуулахын тулд #! дуудагч уруу ордог нэг дуудагчийн оронд дуудагчдын жагсаалттай байдаг. Уламжлалаар бол &unix; тавцангийн дуудагч нь хоёртын файлыг системд мэдэгдэж байгаа эсэхийг мэдэхийн тулд шидэт тоог (ерөнхийдөө файлын эхний 4 эсвэл 8 байт) шалгадаг бөгөөд хэрэв мэдэгдэж байвал хоёртын дуудагчийг ажиллуулдаг ганц дуудагч юм. Хэрэв энэ нь системд зориулагдсан хоёртын төрөл биш бол &man.execve.2; дуудлага амжилгүй болон буцаж бүрхүүл үүнийг бүрхүүлийн тушаалууд маягаар ажиллуулж эхлэхийг оролддог. Тухайн үеийн бүрхүүл ямар байгаа түүнийг анхдагч гэж таамагладаг. Дараа нь эхний хоёр тэмдэгтүүдийг шалгах засварыг (hack) &man.sh.1;-д зориулж хийсэн бөгөөд хэрэв тэдгээр нь :\n бол энэ нь &man.csh.1; бүрхүүлийг ажиллуулдаг (энэ засварыг SCO анхлан хийсэн гэж бид итгэдэг). Төгсгөлийн дараах дараагийн хоосон зайны дараа байдаг тэмдэгтүүдийн дараа /bin/sh уруу буцдаг тэмдэгтүүд байдаг болохоор одоо FreeBSD юу хийдэг вэ гэхээр дуудагчдын жагсаалтаар тайлбарлагчдын талаар мэддэг ерөнхий #! дуудагчтай явдаг. ELF Линуксийн ABI дэмжлэгийн хувьд FreeBSD нь шидэт тоог ELF хоёртын файл гэж хардаг (одоогоор энэ нь FreeBSD, &solaris;, Линукс болон ELF дүрсний төрөл бүхий бусад OS-ийг хооронд нь ялгадаггүй). Solaris ELF дуудагч нь тусгай тамга хайдаг бөгөөд энэ нь ELF дүрс дэх тайлбар хэсэг юм. Энэ нь SVR4/&solaris; ELF хоёртын файлуудад байдаггүй. Линукс хоёртын файлууд нь ажиллахын тулд тэдгээр нь &man.brandelf.1;-ээр Линукс гэж тамгалагдах ёстой байдаг: &prompt.root; brandelf -t Linux file Үүнийг хийсний дараа ELF дуудагч нь файлд Линукс тамгыг харах болно. ELF тамгалах ELF дуудагч Линукс тамгыг харах үед дуудагч proc бүтэц дэх заагчийг сольдог. Энэ заагчаар бүх системийн дуудлагууд индекслэгддэг (уламжлалт &unix; систем дээр энэ нь системийн дуудлагуудыг агуулах sysent[] бүтцийн массив байх юм). Үүнээс гадна процесс нь дохионы трамплиний кодонд зориулсан занга векторыг тусгайлан зохицуулахад болон Линуксийн цөмийн модулиар зохицуулагддаг бусад хэд хэдэн (жижиг) засваруудад зориулагдаж тэмдэглэгддэг. Линукс системийн дуудлагын вектор нь бусад зүйлүүдээс гадна цөмийн модульд хаягууд нь байдаг sysent[] оруулгуудын жагсаалтыг агуулдаг. Системийн дуудлага Линуксийн хоёртын файлаар дуудагдахад занга код системийн дуудлагын функц заагчийн хаягийг proc бүтцээс авч FreeBSD-ийн биш Линуксийн системийн дуудлагын оруулгын цэгүүдийг авдаг. Мөн Линукс горим нь хайлтыг динамикаар дахин эхлүүлдэг; энэ нь файлын системийн холболтууд дахь тохируулга (unionfs файлын системийн төрөл биш!) хийдэг тэр зүйл юм. Эхлээд /compat/linux/original-path сан дахь файлыг хайх бөгөөд дараа нь хэрэв энэ нь амжилтгүй болвол хайлт /original-path санд хийгддэг. Энэ нь бусад хоёртын файлуудыг шаарддаг хоёртын файлуудыг ажиллаж чадахаар (өөрөөр хэлбэл Линуксийн хэрэгслийн цуглуулга бүгдээрээ Линуксийн ABI дэмжлэгийн доор ажиллаж чаддаг байхаар) болгодог. Линуксийн хоёртын файлууд нь тохирох Линуксийн хоёртын файлууд байхгүй бол FreeBSD-ийн хоёртын файлуудыг дуудаж ажиллуулж бас чадна гэсэн үг бөгөөд Линуксийн хоёртын файлуудыг Линукс дээр ажиллахгүй байгааг нь хэлж чадахааргүй болгохын тулд та &man.uname.1; тушаалыг /compat/linux санд байрлуулж болно гэсэн үг юм. Үндсэндээ Линуксийн цөм FreeBSD цөмд байдаг; цөмийн үзүүлдэг бүх үйлчилгээнүүдийг хийдэг, доор нь орших төрөл бүрийн функцууд нь FreeBSD-ийн системийн дуудлагын хүснэгтийн оруулгууд болон Линуксийн системийн дуудлагын хүснэгтийн оруулгуудтай ижил байдаг: файлын системийн үйлдлүүд, виртуал санах ойн үйлдлүүд, дохио хүргэлт, System V IPC, гэх мэт… Цорын ганц ялгаа нь FreeBSD-ийн хоёртын файлууд FreeBSD-ийн цавуу функцуудыг, Линуксийн хоёртын файлууд Линуксийн цавуу функцуудыг авдаг явдал юм (ихэнх хуучин OS-үүд зөвхөн өөрсдийн цавуу функцуудтай байсан: дуудлага хийж байгаа процессийн proc бүтэц дэх динамикаар эхлүүлэгдсэн заагчаар хийгдсэн функцуудын хаягуудын оронд статик глобал sysent[] бүтцийн массив дахь функцуудын хаягуудтай байсан). Аль нь эх FreeBSD ABI вэ? Энэ нь хамаагүй юм. Үндсэндээ цорын ганц ялгаа нь (зөвхөн одоогоор; эдгээр нь ирээдүйн хувилбаруудад амархан өөрчлөгдөж болох бөгөөд магадгүй үүний дараагаар хийгдэх байх) FreeBSD-ийн цавуу функцууд нь цөмд статикаар холбогдсон байдаг бөгөөд Линуксийн цавуу функцууд нь статикаар холбогдож эсвэл тэдгээрт цөмийн модулийн тусламжтайгаар хандаж болдог явдал юм. Тиймээ, гэхдээ энэ нь жинхэнэ эмуляц мөн үү? Үгүй ээ. Энэ нь ABI шийдэл болохоос эмуляц биш юм. Ямар ч эмулятор (эсвэл дүр үзүүлэгч (simulator) (дараагийн асуултыг асуулгахгүйн тулд)) оролцоогүй. Тэгэхээр яагаад энэ нь заримдаа Линукс эмуляц гэгддэг юм бэ? FreeBSD-г худалдахад хэцүү болгохын тулд! Тиймээ, юу болж байгааг тайлбарлаж байгаагаас өөр зүйлгүй байх тэр үед уламжлалт шийдэл хийгдсэн болохоор тэр юм; хэрэв та кодыг эмхэтгээгүй эсвэл модулийг дуудаагүй бол Линуксийн хоёртын файлуудыг FreeBSD ажиллуулдаг гэж хэлэх нь үнэн биш бөгөөд юу дуудагдсаныг тайлбарлах үг хэрэгтэй байсан болохоор —Линукс эмулятор гэсэн үг гарсан юм.
diff --git a/mn_MN.UTF-8/books/handbook/ppp-and-slip/chapter.sgml b/mn_MN.UTF-8/books/handbook/ppp-and-slip/chapter.sgml index 7c46312360..4a1dd4f169 100644 --- a/mn_MN.UTF-8/books/handbook/ppp-and-slip/chapter.sgml +++ b/mn_MN.UTF-8/books/handbook/ppp-and-slip/chapter.sgml @@ -1,3123 +1,3123 @@ Жим Мок Бүтцийг дахин өөрчлөн зохион байгуулж шинэчилсэн Цагаанхүүгийн Ганболд Орчуулсан PPP болон SLIP Ерөнхий агуулга PPP SLIP FreeBSD нь нэг компьютерийг нөгөөтэй холбох хэд хэдэн аргуудтай байдаг. Dial-up модемоор сүлжээнд эсвэл Интернэтэд холболт хийх юм уу эсвэл бусдыг өөрөөр чинь дамжихыг зөвшөөрөхийн тулд PPP эсвэл SLIP-г хэрэглэхийг шаарддаг. Энэ бүлэг эдгээр модем дээр тулгуурласан холбооны үйлчилгээнүүдийг тохируулах талаар дэлгэрэнгүй тайлбарлах болно. Энэ бүлгийг уншсаны дараа, та дараах зүйлсийг мэдэх болно: Хэрэглэгчийн PPP-г хэрхэн тохируулах талаар. Цөмийн PPP-г хэрхэн тохируулах талаар. PPPoE-г (PPP over Ethernet буюу Ethernet дээгүүрх PPP) хэрхэн тохируулах талаар. PPPoA-г (PPP over ATM буюу ATM дээгүүрх PPP) хэрхэн тохируулах талаар. SLIP клиент болон серверийг хэрхэн тохируулж суулгах талаар. PPP хэрэглэгчийн PPP PPP цөмийн PPP PPP Ethernet дээгүүрх Энэ бүлгийг уншихаасаа өмнө та дараах зүйлсийг гүйцэтгэх хэрэгтэй: Сүлжээний үндсэн ухагдахуунуудыг мэддэг байх. Гадагш залгах (dialup) холболт болон PPP ба/эсвэл SLIP-ийн үндэс болон зорилгыг ойлгосон байх. Та хэрэглэгчийн PPP болон цөмийн PPP хоёрын хоорондох гол ялгаа нь юу юм бол гэж гайхаж байж магадгүй юм. Хариулт нь хялбархан: хэрэглэгчийн PPP нь ирж байгаа болон гарч байгаа өгөгдлийг цөмийн талбарт биш хэрэглэгчийн талбарт процесс хийдэг. Энэ нь өгөгдлийг цөм болон хэрэглэгчийн талбар хоёрын хооронд хуулдгаараа зардалтай боловч хамаагүй илүү боломжуудаар баялаг PPP шийдлийг зөвшөөрдөг. Хэрэглэгчийн PPP нь гаднах ертөнцтэй холбогдохдоо tun төхөөрөмжийг ашигладаг бол цөмийн PPP ppp төхөөрөмжийг ашигладаг. Энэ бүлэгт хэрэглэгчийн PPP-г pppd зэрэг өөр бусад PPP програм хангамжаас ялгах шаардлага гарахгүй тохиолдолд ердөө л ppp гэх болно. Тусгайлан тайлбарлаагүй л бол энэ бүлэгт тайлбарласан бүх тушаалууд нь root эрхээр ажиллуулагдах ёстой. Том Рөүдс Шинэчилж өргөжүүлсэн Брайн Сомерс Анхлан хувь нэмэр болгон оруулсан Ник Клэйтон Зарим хэсгийг нэмсэн Дирк Фромберг Питер Чайлдс Хэрэглэгчийн PPP ашиглах Хэрэглэгчийн PPP Таамаглалууд Энэ баримт нь таныг дараах шаардлагуудыг хангасан гэж тооцдог: ISP PPP PPP ашиглан таны холбогдох Интернэтийн үйлчилгээ үзүүлэгчээс (ISP) өгсөн бүртгэл. Танд модем эсвэл өөр төхөөрөмж таны системд холбогдсон байгаа бөгөөд тэр нь танд өөрийн ISP-тай холбогдохыг зөвшөөрөхөөр зөв тохируулагдсан байгаа. Таны ISP-ийн хандах dial-up дугаар(ууд). PAP CHAP UNIX нэвтрэх нэр нууц үг Таны нэвтрэх нэр болон нууц үг. (ердийн &unix; загварын нэвтрэлт болон нууц үгийн хослол юм уу эсвэл PAP эсвэл CHAP нэвтрэлт болон нууц үгийн хослол.) нэрийн сервер Нэг буюу хэд хэдэн нэрийн серверүүдийн IP хаяг. Хэвийн үед үүнд зориулан ашиглахаар хоёр IP хаягийг таны ISP танд өгдөг. Хэрэв тэд танд ядаж ганцыг өгөөгүй бол та enable dns тушаалыг ppp.conf файлд ашиглавал ppp нэрийн серверүүдийг танд тохируулж өгөх болно. Энэ боломж нь DNS-тай тохиролцоог дэмждэг таны ISP-ийн PPP шийдлээс хамаарах юм. Дараах мэдээллийг таны ISP өгсөн байж болох боловч энэ нь заавал шаардлагагүй юм: Таны ISP-ийн гарцын IP хаяг. Гарц нь таны холбогдох машин бөгөөд таны анхдагч чиглүүлэлт гэж тохируулагдах болно. Хэрэв танд энэ мэдээлэл байхгүй бол бид нэгийг орлуулж болох бөгөөд таны ISP-ийн PPP сервер биднийг холбогдох үед зөв утгыг хэлж өгөх болно. Энэ IP дугаар нь ppp-ээр HISADDR гэгдэнэ. Таны ашиглах ёстой сүлжээний баг. Хэрэв таны ISP үүнийг өгөөгүй бол та аюулгүйгээр 255.255.255.255 гэж ашиглаж болно. статик IP хаяг Хэрэв таны ISP танд статик IP хаяг болон хостын нэр өгсөн бол та тэдгээрийг оруулж болно. Үгүй бол бид нөгөө талын өгөх тохирох IP хаягийг ердөө л зөвшөөрөх болно. Хэрэв танд шаардлагатай мэдээллийн аль нь ч байхгүй бол өөрийн ISP уруугаа хандана уу. Энэ хэсэгт жишээнүүдийн олонхийн үзүүлж байгаа тохиргооны файлуудын агуулгуудад байгаа мөр бүр дугаарлагдсан байгаа болно. Эдгээр дугаарууд нь танилцуулга болон хэлэлцүүлэгт туслах зорилгоор зөвхөн ашиглагддаг бөгөөд яг үнэндээ жинхэнэ файл дээрээ тавигдах ёстой гэсэн үг биш юм. Tab ашиглан зөв догол хийх болон зайн тэмдэгтүүд нь бас чухал юм. Автомат <application>PPP</application> тохиргоо PPPтохиргоо ppp болон pppd нь (PPP-ийн цөмийн түвшний шийдэл) /etc/ppp сан дахь тохиргооны файлуудыг ашигладаг. Хэрэглэгчийн ppp-д зориулсан жишээнүүдийг /usr/share/examples/ppp/ сангаас олж болно. ppp-г тохируулах нь таны өөрийн шаардлагуудаас хамаарч хэд хэдэн файлуудыг засварлахыг танаас шаарддаг. Тэдгээрт юу оруулах нь таны ISP IP хаягуудыг статикаар өгдөг үү (өөрөөр хэлбэл танд нэг IP хаяг өгөх бөгөөд зөвхөн тэрийг дандаа ашиглана) эсвэл динамикаар (өөрөөр хэлбэл таны IP хаяг таныг ISP-даа холбогдох бүрт өөрчлөгддөг) өгдөг үү гэдгээс зарим талаараа хамаардаг. PPP болон статик IP хаягууд PPPстатик IP хаягуудтай цуг Та /etc/ppp/ppp.conf тохиргооны файлыг засварлах хэрэгтэй. Энэ нь доорх жишээтэй төстэй харагдах ёстой. :-ээр төгссөн мөрүүд эхний баганаас эхэлнэ (мөрийн эхлэл)— бусад бүх мөрүүдэд доор үзүүлсэн шиг зай эсвэл tab-аар догол гаргасан байх ёстой. 1 default: 2 set log Phase Chat LCP IPCP CCP tun command 3 ident user-ppp VERSION (built COMPILATIONDATE) 4 set device /dev/cuaa0 5 set speed 115200 6 set dial "ABORT BUSY ABORT NO\\sCARRIER TIMEOUT 5 \ 7 \"\" AT OK-AT-OK ATE1Q0 OK \\dATDT\\T TIMEOUT 40 CONNECT" 8 set timeout 180 9 enable dns 10 11 provider: 12 set phone "(123) 456 7890" 13 set authname foo 14 set authkey bar 15 set login "TIMEOUT 10 \"\" \"\" gin:--gin: \\U word: \\P col: ppp" 16 set timeout 300 17 set ifaddr x.x.x.x y.y.y.y 255.255.255.255 0.0.0.0 18 add default HISADDR Мөр 1: Анхдагч оруулгыг тэмдэглэдэг. Энэ оруулга дахь тушаалууд нь ppp ажиллах үед автоматаар ажилладаг. Мөр 2: Параметрүүдийг бүртгэл хийхийг идэвхжүүлнэ. Тохиргоо хангалттайгаар ажиллаж байгаа үед бүртгэлийн файлын их хэмжээнээс сэргийлэхийн тулд энэ мөрийг set log phase tun болгох ёстой. Мөр 3: PPP-д нөгөө талдаа өөрийгөө хэрхэн таниулахыг хэлж өгдөг. PPP нь тохиролцож холбоосыг үүсгэх үедээ ямар нэгэн асуудалтай байгаа эсэхээ таниулсан мэдээллээр нөгөө талаа хангадаг бөгөөд нөгөө талын администратор иймэрхүү асуудлуудыг судалж байгаа үед энэ нь ашигтай байж болох юм. Мөр 4: Модемийн холбогдсон төхөөрөмжийг тодорхойлдог. COM1 нь /dev/cuaa0 бөгөөд COM2 нь /dev/cuaa1 юм. Мөр 5: Таны холбогдох хурдыг заадаг. Хэрэв 115200 ажиллахгүй бол (ямар ч шинэ модемтой энэ нь болох ёстой) 38400-гаар оролдож үзээрэй. Мөр 6 & 7: PPPхэрэглэгчийн PPP Залгах мөр. Хэрэглэгчийн PPP нь &man.chat.8; програмын адил хүлээгээд илгээх зарчмыг ашигладаг. Энэ хэлний боломжуудын тухай мэдээллийг гарын авлагын хуудаснаас лавлана уу. Энэ тушаал нь уншигдахад хялбар байх зорилгоор дараагийн мөрөнд үргэлжилж байгааг анзаараарай. Хэрэв мөрийн сүүлийн тэмдэгт ``\'' байвал ppp.conf файл дахь ямар ч тушаал ийм байж болох юм. Мөр 8: Энэ холбоосонд зориулж сул зогсох хугацааг тохируулна. 180 секунд нь анхдагч байна, тэгэхээр энэ мөр нь цэвэр гоо сайхны зүйл юм. Мөр 9: Локал танигчийн тохиргоог бататгахын тулд нөгөө талаасаа асуухыг PPP-д хэлнэ. Хэрэв та локал нэрийн серверийг ажиллуулах бол энэ мөрийг тайлбар болгох юм уу эсвэл арилгах ёстой. Мөр 10: Уншихад хялбар байх зорилгоор хоосон мөр байна. PPP нь хоосон мөрүүдийг орхидог. Мөр 11: provider гэж нэрлэгдсэн үзүүлэгчид зориулсан оруулгыг тодорхойлдог. Үүнийг өөрийн ISP-ийн нэрээр сольж болох юм. Ингэсний дараа та холболтыг эхлүүлэхийн тулд гэж ашиглаж болох юм. Мөр 12: Энэ үзүүлэгчийн хувьд утасны дугаарыг тохируулдаг. Олон утасны дугаарыг тодорхойлох хоёр цэг (:) юм уу эсвэл хоолой тэмдэгтийг (|) тусгаарлагч болгон ашиглан зааж өгч болно. Хоёр тусгаарлагчийн ялгаа &man.ppp.8;-д тайлбарлагдсан байдаг. Дүгнэж хэлэхэд хэрэв та дугааруудыг ээлжлэн ашиглах бол тодорхойлох цэгийг ашиглана. Хэрэв та эхний дугаар уруу эхлээд үргэлж залгахыг хүсэж байгаа бөгөөд зөвхөн эхний дугаар нь амжилтгүй болсон тохиолдолд бусад дугааруудыг ашиглахыг хүсэж байгаа бол хоолой тэмдэгтийг ашиглаарай. Утасны дугааруудыг тэр чигээр нь үзүүлсэн шиг үргэлж хаалтанд хийх хэрэгтэй. Хэрэв та утасны дугаар дээр зай ашиглахаар бол утасны дугаарыг хаалтанд (") хийх ёстой. Ингэхгүй бол энэ нь энгийн боловч баригдашгүй алдаанд хүргэж болох юм. Мөр 13 & 14: Хэрэглэгчийн нэр болон нууц үгийг тодорхойлно. &unix; загварын нэвтрэлт хүлээх мөрийг ашиглан холбогдох үед эдгээр утгууд нь set login тушаалаар \U болон \P хувьсагчуудыг ашиглан хийгддэг. PAP эсвэл CHAP ашиглан холбогдож байгаа үед эдгээр утгууд нь нэвтрэлт танилт хийгдэхэд хэрэглэгддэг. Мөр 15: PAP CHAP Хэрэв та PAP эсвэл CHAP ашиглаж байгаа бол нэвтрэлт энэ үед байхгүй байх бөгөөд энэ мөр нь тайлбар болгогдох юм уу эсвэл арилгагдсан байх ёстой. Илүү дэлгэрэнгүй мэдээллийг PAP болон CHAP нэвтрэлт танилт холбоосоос үзнэ үү. Нэвтрэлтийн мөр нь залгах мөр шиг чалчихтай төсөөтэй зарчимтай байдаг. Энэ жишээн дээр нэвтрэх сесс нь доор дурдсантай адил үйлчилгээний хувьд уг мөр ажиллаж байна: J. Random Provider login: foo password: bar protocol: ppp Та энэ скриптийг өөрийн хэрэгцээндээ тааруулан өөрчлөх хэрэгтэй болно. Энэ скриптийг эхний удаа бичиж байхдаа та яриа хүссэнээр үргэлжилж байгаа эсэхийг тодорхойлж чадахаар байхын тулд chat буюу чалчих бүртгэлийг идэвхжүүлсэн эсэхээ баталгаажуулах хэрэгтэй. Мөр 16: timeout Анхдагч сул зогсох хугацааг (секундээр) холболтод зориулж тохируулдаг. Энд холболт нь 300 секундын хугацаанд идэвхгүй байвал автоматаар хаагдах болно. Хэрэв та хугацааны хувьд хэзээ ч дуусахгүй байхыг хүсвэл энэ утгыг тэг болгох юм уу эсвэл тушаалын мөрийн тохируулгыг ашиглах хэрэгтэй. Мөр 17: ISP Интерфэйсийн хаягуудыг тохируулна. x.x.x.x мөрийг таны интернэтийн үйлчилгээ үзүүлэгчийн танд хуваарилсан IP хаягаар солих шаардлагатай. y.y.y.y мөрийг таны ISP өөрийн гарцыг (таны холбогдох машин) заасан тэр IP хаягаар солих шаардлагатай. Хэрэв таны ISP гарцын хаягийг танд өгөөгүй бол 10.0.0.2/0 гэж ашиглаарай. Хэрэв та таасан хаягийг ашиглах хэрэгтэй бол PPP болон динамик IP хаягууд хэсэгт зориулсан заавруудын дагуу /etc/ppp/ppp.linkup файлдаа оруулга үүсгэсэн эсэхээ шалгаарай. Хэрэв энэ мөрийг орхивол ppp нь горимд ажиллаж чадахгүй. Мөр 18: Өөрийн ISP-ийн гарц уруу анхдагч чиглүүлэлтийг нэмнэ. HISADDR тусгай үгийг мөр 17 дээр заасан гарцын хаягаар сольдог. Энэ мөр нь 17-р мөрийн дараа байх нь чухал бөгөөд тэгэхгүй бол HISADDR нь эхлэн тохируулагдаж амжихгүй байх юм. Хэрэв та ppp-г горимд ажиллуулахыг хүсэхгүй бол энэ мөрийг ppp.linkup файлд шилжүүлэх ёстой. Та статик IP хаягтай бөгөөд ppp-г горимоор ажиллуулж байгаа бол ppp.linkup файлд оруулга нэмэх шаардлагагүй бөгөөд учир нь таныг холбогдохоос өмнө таны чиглүүлэлтийн хүснэгтийн оруулгууд нь аль хэдийн зөв байх учраас тэр юм. Гэхдээ та холболтын дараа програмуудыг ажиллуулах оруулга үүсгэхийг хүсэж болох юм. Энэ нь sendmail-ийн жишээн дээр сүүлд тайлбарлагдах болно. Жишээ тохиргооны файлууд нь /usr/share/examples/ppp/ санд байрлана. PPP болон динамик IP хаягууд PPPдинамик IP хаягуудтай цуг IPCP Хэрэв таны үйлчилгээ үзүүлэгч статик IP хаягуудыг олгодоггүй бол локал болон алсын хаягууд дээр тохирдог байхаар ppp нь тохируулагдаж болно. IP хаягийг таах болон холболтын дараа IP Configuration Protocol (IPCP) буюу IP тохиргооны протокол ашиглан зөвөөр тохируулахыг ppp-д зөвшөөрөх замаар үүнийг хийнэ. ppp.conf тохиргоо нь дараах өөрчлөлтийн хамтаар PPP болон статик IP хаягууд хэсэгтэй адил байна: 17 set ifaddr 10.0.0.1/0 10.0.0.2/0 255.255.255.255 Дахин хэлэхэд мөрийн дугаарыг битгий оруулаарай, энэ нь зөвхөн лавлагааны зорилгоор байгаа юм. Ядаж нэг хоосон зайгаар догол гаргах шаардлагатай. Мөр 17: / тэмдэгтийн дараах дугаар нь ppp-ийн шаардах хаягийн битийн тоо юм. Та өөрийн нөхцөлдөө тохируулан IP дугааруудыг ашиглахыг хүсэж болох юм, гэхдээ дээрх жишээнүүд нь үргэлж ажиллах болно. Сүүлийн нэмэлт өгөгдөл (0.0.0.0) нь PPP-д 10.0.0.1-ийн оронд 0.0.0.0 хаяг ашиглан тохиролцоог эхлүүлэхийг хэлж байгаа бөгөөд зарим нэгэн ISP-уудын хувьд энэ нь шаардлагатай байдаг. Эхний чиглүүлэлтийг горимд тохируулахад PPP-д саад болдог учраас set ifaddr тушаалд 0.0.0.0-г эхний нэмэлт өгөгдөл болгон битгий ашиглаарай. Хэрэв та горимд ажиллахгүй байгаа бол /etc/ppp/ppp.linkup файлд оруулга үүсгэх хэрэгтэй болно. ppp.linkup нь холболт тогтсоны дараа ашиглагддаг. Энэ үед ppp нь интерфэйсийн хаягуудыг олгосон байх бөгөөд одоо чиглүүлэлтийн хүснэгтийн оруулгуудыг нэмэх боломжтой болсон байх болно: 1 provider: 2 add default HISADDR Мөр 1: Холболт тогтоохдоо ppp нь дараах дүрмүүдийн дагуу ppp.linkup файлд оруулгыг хайх болно: Эхлээд бидний ppp.conf файлд ашигласантай адил хаяг/шошготой таарахыг оролдоно. Хэрэв амжилтгүй болвол бидний гарцын IP хаягийн оруулгыг хайна. Энэ оруулга нь дөрвөн ширхэг найман битээс тогтох IP загварын хаяг/шошго юм. Хэрэв бид тэгсэн ч гэсэн оруулга олоогүй байгаа бол MYADDR оруулгыг хайна. Мөр 2: Энэ мөр нь HISADDR уруу заасан анхдагч чиглүүлэлт нэмэхийг ppp-д хэлж байна. HISADDR нь IPCP-ээр тохиролцсоны дагуу гарцын IP хаягаар солигдох болно. Нарийвчилсан жишээний хувьд /usr/share/examples/ppp/ppp.conf.sample болон /usr/share/examples/ppp/ppp.linkup.sample файлууд дахь pmdemand оруулгыг харна уу. Ирж байгаа дуудлагуудыг хүлээн авах PPPирж байгаа дуудлагуудыг хүлээн авах LAN-д холбогдсон машин дээр ирж байгаа дуудлагуудыг хүлээн авахаар болгож ppp-г тохируулахдаа LAN уруу пакетуудыг дамжуулахыг хүсэж байгаа эсэхээсээ хамаарч үүнийг шийдэх ёстой. Хэрэв та ингэхийг хүсэж байгаа бол өөрийн LAN-ий дэд сүлжээнээс IP хаягийг нөгөө талдаа хуваарилж өгөх хэрэгтэй бөгөөд өөрийн /etc/ppp/ppp.conf файлд enable proxy тушаалыг ашиглах хэрэгтэй. /etc/rc.conf файл доор дурдсаныг агуулж байгаа эсэхийг бас баталгаажуулах хэрэгтэй: gateway_enable="YES" Аль getty? &man.getty.8; ашиглан dial-up буюу гадагш залгах үйлчилгээнүүдийг идэвхжүүлэх тухай сайн тайлбарыг Dial-up буюу гадагш залгах үйлчилгээнүүдэд зориулж FreeBSD-г тохируулах хэсэг өгдөг. getty-тэй төстэй програм нь dial-up шугамуудыг бодолцож хийсэн getty-ийн илүү ухаалаг хувилбар болох mgetty юм. mgetty-г ашиглахын давуу тал нь тэрээр модемуудтай идэвхтэйгээр ярилцдаг явдал бөгөөд энэ нь юу гэсэн үг вэ гэхээр хэрэв таны порт хаагдсан бол модем чинь утсанд хариулахгүй гэсэн үг юм. mgetty-ийн сүүлийн хувилбарууд нь (0.99beta-аас эхлэн) таны клиентүүдэд скриптгүйгээр таны серверт хандах хандалтыг зөвшөөрч PPP урсгалуудын автомат илрүүлэлтийг бас дэмждэг. mgetty-ийн тухай дэлгэрэнгүй мэдээллийг Mgetty ба AutoPPP хаягаас лавлана уу. <application>PPP</application> зөвшөөрлүүд ppp тушаалыг root хэрэглэгчээр хэвийн үед ажиллуулах ёстой. Гэхдээ хэрэв та ppp-г доор тайлбарласны адилаар энгийн хэрэглэгчээр серверийн горимд ажиллуулах боломжтой болгохыг хүсэж байгаа бол хэрэглэгчийг ppp ажиллуулах зөвшөөрөлтэй болгож тэдгээрийг /etc/group файлд network бүлэгт нэмэх ёстой. Та allow тушаалыг ашиглан тохиргооны файлын нэг буюу хэд хэдэн хэсгүүдэд хандах боломжийг бас өгөх шаардлагатай болно: allow users fred mary Хэрэв энэ тушаал нь default хэсэгт хэрэглэгдсэн бол заасан хэрэглэгчдэд бүх зүйл уруу хандах боломжийг олгоно. Динамик IP-тай хэрэглэгчдэд зориулсан PPP бүрхүүлүүд PPP бүрхүүлүүд доор дурдсаныг агуулсан /etc/ppp/ppp-shell гэгдэх файлыг үүсгэнэ: #!/bin/sh IDENT=`echo $0 | sed -e 's/^.*-\(.*\)$/\1/'` CALLEDAS="$IDENT" TTY=`tty` if [ x$IDENT = xdialup ]; then IDENT=`basename $TTY` fi echo "PPP for $CALLEDAS on $TTY" echo "Starting PPP for $IDENT" exec /usr/sbin/ppp -direct $IDENT Энэ скрипт нь ажиллахаар болсон байх ёстой. Одоо энэ скрипт уруу ppp-dialup гэгдсэн симболын холбоосыг дараах тушаалуудыг ашиглан үүсгэх хэрэгтэй: &prompt.root; ln -s ppp-shell /etc/ppp/ppp-dialup Та энэ скриптийг өөрийн бүх dialup хэрэглэгчдийн хувьд бүрхүүл маягаар ашиглах ёстой. Энэ нь pchilds гэсэн хэрэглэгчийн нэртэй dialup PPP хэрэглэгчид зориулсан /etc/passwd файлд байгаа жишээ юм (нууц үгийн файлыг шууд битгий засаарай, &man.vipw.8;-г ашиглаарай). pchilds:*:1011:300:Peter Childs PPP:/home/ppp:/etc/ppp/ppp-dialup Дараах 0 байт файлуудыг агуулсан бүгд бичих боломжтой /home/ppp санг үүсгэнэ: -r--r--r-- 1 root wheel 0 May 27 02:23 .hushlogin -r--r--r-- 1 root wheel 0 May 27 02:22 .rhosts Энэ нь /etc/motd файлыг үзүүлэхээс сэргийлдэг. Статик IP-тай хэрэглэгчдэд зориулсан PPP бүрхүүлүүд PPP бүрхүүлүүд Дээр дурдсаны адил ppp-shell файл үүсгээд статикаар өгөгдсөн IP-тай бүртгэл бүрийн хувьд ppp-shell уруу симболын холбоос үүсгэнэ. Жишээ нь хэрэв та fred, sam, болон mary гэсэн гурван dialup хэрэглэгчтэй бөгөөд тэдгээрт зориулж /24 CIDR сүлжээнүүдийг чиглүүлж байгаа бол дараах тушаалыг ажиллуулж болох юм: &prompt.root; ln -s /etc/ppp/ppp-shell /etc/ppp/ppp-fred &prompt.root; ln -s /etc/ppp/ppp-shell /etc/ppp/ppp-sam &prompt.root; ln -s /etc/ppp/ppp-shell /etc/ppp/ppp-mary Эдгээр хэрэглэгчдийн dialup бүртгэл бүр өөрсдийн бүрхүүлийг дээр үүсгэсэн симболын холбоос уруу заасан байх ёстой (жишээ нь mary-ийн бүрхүүл /etc/ppp/ppp-mary байх ёстой). Динамик IP-тай хэрэглэгчдэд зориулж <filename>ppp.conf</filename>-г тохируулах /etc/ppp/ppp.conf файл доор дурдсантай төстэй мөрүүдээс тогтох ёстой: default: set debug phase lcp chat set timeout 0 ttyd0: set ifaddr 203.14.100.1 203.14.100.20 255.255.255.255 enable proxy ttyd1: set ifaddr 203.14.100.1 203.14.100.21 255.255.255.255 enable proxy Догол үүсгэх нь чухал юм. default: хэсэг нь хэсэг бүрийн хувьд дуудагддаг. /etc/ttys файлд идэвхжүүлсэн dialup мөр бүрийн хувьд дээрх ttyd0:-д зориулсантай төстэй оруулга үүсгэнэ. Динамик хэрэглэгчдэд зориулсан IP хаягийн цөөрмөөс мөр болгон өөр өөр IP хаяг авах ёстой. Статик IP-тай хэрэглэгчдэд зориулж <filename>ppp.conf</filename>-г тохируулах Дээрх жишээ /usr/share/examples/ppp/ppp.conf файлын агуулгатай цуг статикаар өгөгдсөн dialup хэрэглэгч бүрийн хувьд зохих хэсэг нэмэх шаардлагатай. Бид өөрсдийн fred, sam, болон mary хэрэглэгчидтэй жишээгээ үргэлжлүүлэх болно. fred: set ifaddr 203.14.100.1 203.14.101.1 255.255.255.255 sam: set ifaddr 203.14.100.1 203.14.102.1 255.255.255.255 mary: set ifaddr 203.14.100.1 203.14.103.1 255.255.255.255 /etc/ppp/ppp.linkup файл хэрэв шаардлагатай бол статик IP-тай хэрэглэгч бүрийн хувьд чиглүүлэлтийн мэдээллийг бас агуулсан байх ёстой. Доорх мөр нь клиентийн ppp холбоосоор 203.14.101.0/24 сүлжээнд зориулж чиглүүлэлт нэмэх болно. fred: add 203.14.101.0 netmask 255.255.255.0 HISADDR sam: add 203.14.102.0 netmask 255.255.255.0 HISADDR mary: add 203.14.103.0 netmask 255.255.255.0 HISADDR <command>mgetty</command> болон AutoPPP mgetty AutoPPP LCP mgettyAUTO_PPP тохируулга идэвхжүүлсэн байдлаар тохируулж эмхэтгэх нь mgetty-д PPP холболтуудын LCP шатыг илрүүлж автоматаар ppp бүрхүүл ажиллуулах боломжийг олгодог. Гэхдээ анхдагч нэвтрэлт/нууц үгийн дараалал болдоггүй болохоор PAP аль эсвэл CHAP ашиглан хэрэглэгчдийн нэвтрэлтийг таних шаардлагатай юм. Энэ хэсэг нь хэрэглэгч AUTO_PPP тохируулгатайгаар mgetty-ийн хувилбарыг (v0.99beta эсвэл хойшх) амжилттайгаар тохируулж эмхэтгэн суулгасан гэж үздэг. Таны /usr/local/etc/mgetty+sendfax/login.config файл доор дурдсаныг агуулсан эсэхийг шалгаарай: /AutoPPP/ - - /etc/ppp/ppp-pap-dialup Энэ нь илрүүлсэн PPP холболтууддаа ppp-pap-dialup скриптийг ажиллуулахыг mgetty-д хэлнэ. доор дурдсаныг агуулсан /etc/ppp/ppp-pap-dialup файлыг үүсгэнэ (файл ажиллах боломжтой байх ёстой): #!/bin/sh exec /usr/sbin/ppp -direct pap$IDENT /etc/ttys-д идэвхжүүлсэн dialup мөр бүрийн хувьд тохирох оруулгыг /etc/ppp/ppp.conf файлд үүсгэнэ. Энэ нь бидний үүсгэсэн тодорхойлолтуудтай аз жаргалтайгаар цуг байх болно. pap: enable pap set ifaddr 203.14.100.1 203.14.100.20-203.14.100.40 enable proxy Энэ аргаар нэвтэрч байгаа хэрэглэгч бүр /etc/ppp/ppp.secret файлд хэрэглэгчийн нэр/нууц үгтэй байх шаардлагатай, эсвэл өөр нэг арга нь /etc/passwd файлаас хэрэглэгчдийг PAP-аар таньж нэвтрүүлэхийн тулд дараах тохируулгыг хийх явдал юм. enable passwdauth Хэрэв та зарим хэрэглэгчдэд статик IP хаяг өгөхийг хүсвэл та хаягийг /etc/ppp/ppp.secret файлд гурав дахь нэмэлт өгөгдөл болгон зааж өгч болно. Жишээнүүдийг /usr/share/examples/ppp/ppp.secret.sample-с үзнэ үү. MS өргөтгөлүүд DNS NetBIOS PPPMicrosoft өргөтгөлүүд DNS болон NetBIOS нэрийн серверийн хаягуудыг шаардлагын дагуу хангахаар PPP-г тохируулах боломжтой байдаг. PPP хувилбар 1.x дээр эдгээр өргөтгөлүүдийг идэвхжүүлэхийн тулд дараах мөрүүдийг /etc/ppp/ppp.conf файлын тохирох хэсэгт нэмэх ёстой. enable msext set ns 203.14.100.1 203.14.100.2 set nbns 203.14.100.5 PPP хувилбар 2 болон түүнээс хойно гарсан хувилбарын хувьд: accept dns set dns 203.14.100.1 203.14.100.2 set nbns 203.14.100.5 Энэ нь анхдагч болон хоёрдох нэрийн серверийн хаягууд болон NetBIOS нэрийн серверийн хостыг клиентүүдэд хэлнэ. Хувилбар 2 болон түүнээс дээшхид set dns мөрийг орхигдуулсан бол PPP нь /etc/resolv.conf файлд байгаа утгуудыг ашиглах болно. PAP болон CHAP нэвтрэлт шалгалт PAP CHAP Таны холболтын нэвтрэлт танилтын хэсгийг PAP юм уу эсвэл CHAP нэвтрэлт танилтын аргуудыг ашиглан хийдэг байхаар зарим ISP-ууд өөрсдийн системийг тохируулдаг. Хэрэв ийм бол таны ISP нь login: хүлээх мөрийг таныг холбогдох үед харуулдаггүй бөгөөд PPP нэн даруй ярьж эхлэх болно. PAP нь CHAP-аас аюулгүй байдлын хувьд дутуу байдаг бөгөөд нууц үг нь PAP-аар цэвэр текст маягаар илгээгддэг боловч цуваа шугамаар зөвхөн дамжуулагддаг болохоор аюулгүй байдал нь нууц үгүүдэд байдаг асуудал шиг биш байдаг. Эвдлэгчдэд зориулсан сэм чагнах зай бараг байдаггүй гэсэн үг юм. PPP болон статик IP хаягууд эсвэл PPP болон динамик IP хаягууд хэсгүүдийн хувьд дараах өөрчлөлтүүдийг хийх ёстой: 13 set authname MyUserName 14 set authkey MyPassword 15 set login Мөр 13: Энэ мөр нь таны PAP/CHAP хэрэглэгчийн нэрийг заана. Та MyUserName-д зөв утгыг оруулах хэрэгтэй болно. Мөр 14: нууц үг Энэ мөр нь таны PAP/CHAP нууц үгийг заана. Та MyPassword-д зөв утгыг оруулах хэрэгтэй болно. Та дараах шиг нэмэлт мөр нэмэхийг хүсэх юм уу: 16 accept PAP эсвэл 16 accept CHAP гэж болно. Ингэснээр үүнийг зориуд тодорхой болгох юм, гэхдээ PAP болон CHAP-ийг хоюуланг анхдагчаар хүлээн авдаг. Мөр 15: Хэрэв та PAP эсвэл CHAP ашиглаж байгаа бол таны ISP хэвийн үед сервер уруу нэвтрэн орохыг шаарддаггүй. Тийм болохоор та өөрийн set login мөрийг хаах ёстой. Өөрийн <command>ppp</command> тохиргоог явцын дунд шууд өөрчлөх нь ppp-г ар талд далд ажиллаж байхад түүнтэй зөвхөн тохирох оношлогооны порт тохируулагдсан тохиолдолд харилцаж болдог. Үүнийг хийхийн тулд өөрийн тохиргоондоо дараах мөрийг нэмнэ: set server /var/run/ppp-tun%d DiagnosticPassword 0177 Энэ нь клиентүүдийн хандалтыг зөвшөөрөхийн өмнө тэднээс нууц үгийг асууж заасан &unix; домэйн сокет дээр сонсохыг PPP-д хэлнэ. Нэрэн дэх %d нь ашиглагдаж байгаа tun төхөөрөмжийн дугаараар солигдоно. Сокет тохируулагдсаны дараа &man.pppctl.8; програм нь ажиллаж байгаа програмыг удирдахыг хүсэж байгаа скриптүүдэд ашиглагдаж болно. PPP-ийн Network Address Translation буюу Сүлжээний Хаягийн Хөрвүүлэлт боломжийг ашиглах нь PPPNAT PPP нь цөмийн divert буюу өөрчлөн дамжуулах боломжуудыг ашиглалгүйгээр дотоод NAT-ийг ашиглах чадвартай байдаг. /etc/ppp/ppp.conf файл дахь дараах мөрөөр энэ боломжийг идэвхжүүлж болно: nat enable yes Өөрөөр, PPP NAT-ийг тушаалын мөрийн -nat тохируулгаар идэвхжүүлж болох юм. Мөн /etc/rc.conf файлын хувьсагч ppp_nat гэж байх бөгөөд энэ нь анхдагчаар идэвхжүүлэгдсэн байна. Хэрэв та энэ боломжийг ашиглаж байгаа бол ирж байгаа холболтуудын цааш дамжуулалтыг идэвхжүүлэх дараах /etc/ppp/ppp.conf файлын тохируулгуудын ашигтайг харж болох юм: nat port tcp 10.0.0.2:ftp ftp nat port tcp 10.0.0.2:http http эсвэл гадна талд ерөөсөө битгий итгээрэй nat deny_incoming yes Системийн сүүлийн тохиргоо PPPтохиргоо Та одоо ppp-г тохируулчихлаа, гэхдээ яг ажиллахад бэлэн болохын өмнө хийх цөөн хэдэн зүйлс бий. Тэдгээр нь бүгд /etc/rc.conf файлыг засварлуулах болно. Энэ файлтай дээрээс доош ажиллахдаа hostname= мөр тохируулагдсан эсэхийг шалгаарай, өөрөөр хэлбэл: hostname="foo.example.com" Хэрэв таны ISP танд статик IP хаяг болон нэр өгсөн бол та энэ нэрийг хостын нэрэндээ ашиглах нь магадгүй зүйтэй юм. network_interfaces хувьсагчийг хайгаарай. Хэрэв та өөрийн системийг ISP уруугаа шаардлага хүсэлтээр залгахаар тохируулахыг хүсвэл tun0 төхөөрөмжийг жагсаалтад нэмсэн эсэхээ баталгаажуулаарай, хэрэв тэгж хүсээгүй бол түүнийг устгаарай. network_interfaces="lo0 tun0" ifconfig_tun0= ifconfig_tun0 хувьсагч хоосон байх ёстой бөгөөд /etc/start_if.tun0 гэж нэрлэгдсэн файлыг үүсгэх ёстой. Энэ файл нь дараах мөрийг агуулсан байх ёстой: ppp -auto mysystem Энэ скрипт нь сүлжээ тохируулах үед таны ppp дэмонг автомат горимд эхлүүлэн ажилладаг. Хэрэв та энэ машин гарц болж байгаа LAN-тай бол сонголтыг ашиглахыг хүсэж болох юм. Илүү дэлгэрэнгүй мэдээллийг гарын авлагын хуудаснаас лавлана уу. Таны /etc/rc.conf файлд чиглүүлэлтийн програм NO гэж дараах мөрөөр хийгдсэн эсэхийг шалгаарай: router_enable="NO" routed routed дэмон нь эхлэхгүй байх нь чухал юм. Учир нь routed нь ppp-ийн үүсгэсэн анхдагч чиглүүлэлтийн хүснэгтийн оруулгуудыг устгадаг юм. sendmail_flags мөр тохируулгыг агуулаагүй эсэхийг шалгах нь магадгүй зүйтэй юм. Тэгэхгүй бол sendmail нь таны машиныг гадагш залгуулан үргэлж сүлжээний хайлт хийхийг оролдох болно. Та доор дурдсаныг тохируулж болох юм: sendmail_flags="-bd" sendmail Үүний сул тал нь ppp холбоос тогтсон үед та доор дурдсаныг бичиж sendmail-ээр захидлын дарааллыг дахин шалгуулж байх явдал юм: &prompt.root; /usr/sbin/sendmail -q Та үүнийг хийхийн тулд ppp.linkup файлд !bg тушаалыг ашиглахыг хүсэж болох юм: 1 provider: 2 delete ALL 3 add 0 0 HISADDR 4 !bg sendmail -bd -q30m SMTP Хэрэв танд энэ таалагдахгүй байгаа бол SMTP урсгалыг хаахын тулд dfilter-г тохируулах боломжтой байдаг. Илүү дэлгэрэнгүй мэдээллийг жишээ файлуудаас лавлана уу. Одоо машиныг дахин ачаалах л үлдлээ. Дахин ачаалсны дараа та доор дурдсаныг бичиж: &prompt.root; ppp дараа нь PPP сессийг эхлүүлэхийн тулд dial provider тушаалыг ажиллуулах юм уу эсвэл гадагшаа урсгал байгаа (бөгөөд та start_if.tun0 скрипт үүсгээгүй) бол сессүүдийг автоматаар тогтоодгоор ppp-г байлгахыг хүсэж байгаа бол доор дурдсаныг бичээрэй: &prompt.root; ppp -auto provider Дүгнэлт Дүгнэхэд ppp-г эхний удаа тохируулахад дараах алхмууд шаардлагатай: Клиент тал: Таны цөмд tun төхөөрөмж бүтээгдсэн эсэхийг шалгана. /dev санд tunN төхөөрөмжийн файл байгаа эсэхийг шалгана. /etc/ppp/ppp.conf файлд оруулга үүсгэнэ. pmdemand жишээ нь ихэнх ISP-уудын хувьд хангалттай байх ёстой. Хэрэв та динамик IP хаягтай бол /etc/ppp/ppp.linkup файлд оруулга үүсгээрэй. Өөрийн /etc/rc.conf файлыг шинэчилнэ. Хэрэв танд хэрэгцээгээр залгах шаардлага байгаа бол start_if.tun0 скрипт үүсгээрэй. Сервер тал: Таны цөмд tun төхөөрөмж бүтээгдсэн эсэхийг шалгана. /dev санд tunN төхөөрөмжийн файл байгаа эсэхийг шалгана. /etc/passwd файлд (&man.vipw.8; програмыг ашиглан) оруулга үүсгэнэ. Энэ хэрэглэгчдийн гэрийн санд ppp -direct direct-server юм уу эсвэл үүнтэй адилыг ажиллуулах хувийн тохиргоог (profile) үүсгэнэ. /etc/ppp/ppp.conf файлд оруулга үүсгэнэ. direct-server жишээ хангалттай байх ёстой. /etc/ppp/ppp.linkup файлд оруулга үүсгэнэ. Өөрийн /etc/rc.conf файлыг шинэчилнэ. Геннадий Б. Сорокопуд Хэсгүүдийг анхлан хувь нэмэр болгон оруулсан Роберт Хафф Цөмийн PPP-г ашиглах Цөмийн PPP тохируулах PPPцөмийн PPP Та өөрийн машин дээр PPP-г тохируулж эхлэхээсээ өмнө pppd нь /usr/sbin санд байгаа болон /etc/ppp сан байгаа эсэхийг шалгаарай. pppd нь хоёр горимд ажиллах чаддаг: Клиент маягаар — та өөрийн машиныг гаднах ертөнц уруу PPP цуваа холболтоор эсвэл модемийн шугамаар холбохыг хүсдэг. PPPсервер Сервер маягаар — Таны машин сүлжээн дээр байгаа бөгөөд бусад компьютеруудыг PPP ашиглан холбоход хэрэглэгдэнэ. Аль ч тохиолдол байлаа гэсэн та тохируулгуудын файлыг (/etc/ppp/options эсвэл хэрэв та PPP ашиглаж байгаа өөрийн машин дээрээ нэгээс илүү олон хэрэглэгчидтэй бол ~/.ppprc) тохируулах хэрэгтэй болно. Та залгаж алсын хосттой холболт тогтоохын тулд танд бас зарим модем/цуваа програм хангамж (comms/kermit-г аль болох эрхэмлэх) хэрэгтэй болно. Трев Ройдхауз Based on information provided by <command>pppd</command>-г клиент маягаар ашиглах PPPклиент Cisco Дараах /etc/ppp/options файл нь Cisco терминал серверийн PPP шугам уруу холбогдоход хэрэглэгдэж болох юм. crtscts # enable hardware flow control modem # modem control line noipdefault # remote PPP server must supply your IP address # if the remote host does not send your IP during IPCP # negotiation, remove this option passive # wait for LCP packets domain ppp.foo.com # put your domain name here :<remote_ip> # put the IP of remote PPP host here # it will be used to route packets via PPP link # if you didn't specified the noipdefault option # change this line to <local_ip>:<remote_ip> defaultroute # put this if you want that PPP server will be your # default router Холбогдохын тулд: Kermit модем Алсын хост уруу Kermit (эсвэл өөр бусад модемийн програм) ашиглан залгаж өөрийн хэрэглэгчийн нэр болон нууц үгийг (эсвэл алсын хост дээр PPP-г идэвхжүүлэхэд шаардлагатай тэр зүйлийг) оруулна. Kermit-с гарна (шугамыг таслалгүйгээр). доор дурдсаныг оруулна: &prompt.root; /usr/src/usr.sbin/pppd.new/pppd /dev/tty01 19200 Тохирох хурд болон төхөөрөмжийн нэрийг ашиглахаа мартуузай. Одоо таны компьютер PPP-тэй холбогдлоо. Хэрэв холболт амжилтгүй болбол та /etc/ppp/options файлд тохируулгыг нэмж асуудлыг олохын тулд консолын мэдэгдлүүдийг шалгана. Дараах /etc/ppp/pppup скрипт нь бүх 3 алхмыг автомат болгоно: #!/bin/sh -ps ax |grep pppd |grep -v grep -pid=`ps ax |grep pppd |grep -v grep|awk '{print $1;}'` +pgrep -l pppd +pid=`pgrep pppd` if [ "X${pid}" != "X" ] ; then echo 'killing pppd, PID=' ${pid} kill ${pid} fi -ps ax |grep kermit |grep -v grep -pid=`ps ax |grep kermit |grep -v grep|awk '{print $1;}'` +pgrep -l kermit +pid=`pgrep kermit` if [ "X${pid}" != "X" ] ; then echo 'killing kermit, PID=' ${pid} kill -9 ${pid} fi ifconfig ppp0 down ifconfig ppp0 delete kermit -y /etc/ppp/kermit.dial pppd /dev/tty01 19200 Kermit /etc/ppp/kermit.dial нь Kermit скрипт бөгөөд гадагш залгаж бүх шаардлагатай нэвтрэлт таниулалтыг алсын хост дээр хийдэг (энэ баримтын төгсгөлд ийм скриптийн жишээ хавсаргагдсан болно). Дараах /etc/ppp/pppdown скриптийг ашиглаж PPP шугамыг салгаж болно: #!/bin/sh -pid=`ps ax |grep pppd |grep -v grep|awk '{print $1;}'` +pid=`pgrep pppd` if [ X${pid} != "X" ] ; then echo 'killing pppd, PID=' ${pid} kill -TERM ${pid} fi -ps ax |grep kermit |grep -v grep -pid=`ps ax |grep kermit |grep -v grep|awk '{print $1;}'` +pgrep -l kermit +pid=`pgrep kermit` if [ "X${pid}" != "X" ] ; then echo 'killing kermit, PID=' ${pid} kill -9 ${pid} fi /sbin/ifconfig ppp0 down /sbin/ifconfig ppp0 delete kermit -y /etc/ppp/kermit.hup /etc/ppp/ppptest pppd ажиллаж байгаа эсэхийг шалгахын тулд /usr/etc/ppp/ppptest-г ажиллуулна. Энэ нь иймэрхүү харагдах ёстой: #!/bin/sh -pid=`ps ax| grep pppd |grep -v grep|awk '{print $1;}'` +pid=`pgrep pppd` if [ X${pid} != "X" ] ; then echo 'pppd running: PID=' ${pid-NONE} else echo 'No pppd running.' fi set -x netstat -n -I ppp0 ifconfig ppp0 Модемийг салгаж буцааж залгахын тулд /etc/ppp/kermit.hup-г ажиллуулна. Энэ нь доор дурдсаныг агуулах ёстой: set line /dev/tty01 ; put your modem device here set speed 19200 set file type binary set file names literal set win 8 set rec pack 1024 set send pack 1024 set block 3 set term bytesize 8 set command bytesize 8 set flow none pau 1 out +++ inp 5 OK out ATH0\13 echo \13 exit Энд kermit тушаалын оронд chat тушаал хэрэглэх өөр арга байна: Дараах хоёр мөр нь pppd холболтыг хийхэд хангалттай байдаг. /etc/ppp/options: /dev/cuaa1 115200 crtscts # enable hardware flow control modem # modem control line connect "/usr/bin/chat -f /etc/ppp/login.chat.script" noipdefault # remote PPP serve must supply your IP address # if the remote host doesn't send your IP during # IPCP negotiation, remove this option passive # wait for LCP packets domain <your.domain> # put your domain name here : # put the IP of remote PPP host here # it will be used to route packets via PPP link # if you didn't specified the noipdefault option # change this line to <local_ip>:<remote_ip> defaultroute # put this if you want that PPP server will be # your default router /etc/ppp/login.chat.script: Дараах нь нэг мөрөнд байх ёстой. ABORT BUSY ABORT 'NO CARRIER' "" AT OK ATDT<phone.number> CONNECT "" TIMEOUT 10 ogin:-\\r-ogin: <login-id> TIMEOUT 5 sword: <password> Эдгээр нь суулгагдаж зөв болж өөрчлөгдсөний дараа таны хийх ганц зүйл бол pppd-г иймэрхүү маягаар ажиллуулах явдал юм: &prompt.root; pppd <command>pppd</command>-г сервер маягаар ашиглах /etc/ppp/options файл нь доор дурдсантай төстэйг агуулах ёстой: crtscts # Hardware flow control netmask 255.255.255.0 # netmask (not required) 192.114.208.20:192.114.208.165 # IP's of local and remote hosts # local ip must be different from one # you assigned to the Ethernet (or other) # interface on your machine. # remote IP is IP address that will be # assigned to the remote machine domain ppp.foo.com # your domain passive # wait for LCP modem # modem line Дараах /etc/ppp/pppserv скрипт нь pppd-г сервер маягаар ажиллахыг заах болно: #!/bin/sh -ps ax |grep pppd |grep -v grep -pid=`ps ax |grep pppd |grep -v grep|awk '{print $1;}'` +pgrep -l pppd +pid=`pgrep pppd` if [ "X${pid}" != "X" ] ; then echo 'killing pppd, PID=' ${pid} kill ${pid} fi -ps ax |grep kermit |grep -v grep -pid=`ps ax |grep kermit |grep -v grep|awk '{print $1;}'` +pgrep -l kermit +pid=`pgrep kermit` if [ "X${pid}" != "X" ] ; then echo 'killing kermit, PID=' ${pid} kill -9 ${pid} fi # reset ppp interface ifconfig ppp0 down ifconfig ppp0 delete # enable autoanswer mode kermit -y /etc/ppp/kermit.ans # run ppp pppd /dev/tty01 19200 Серверийг зогсоохын тулд энэ /etc/ppp/pppservdown скриптийг ашиглана: #!/bin/sh -ps ax |grep pppd |grep -v grep -pid=`ps ax |grep pppd |grep -v grep|awk '{print $1;}'` +pgrep -l pppd +pid=`pgrep pppd` if [ "X${pid}" != "X" ] ; then echo 'killing pppd, PID=' ${pid} kill ${pid} fi -ps ax |grep kermit |grep -v grep -pid=`ps ax |grep kermit |grep -v grep|awk '{print $1;}'` +pgrep -l kermit +pid=`pgrep kermit` if [ "X${pid}" != "X" ] ; then echo 'killing kermit, PID=' ${pid} kill -9 ${pid} fi ifconfig ppp0 down ifconfig ppp0 delete kermit -y /etc/ppp/kermit.noans Дараах Kermit скрипт нь (/etc/ppp/kermit.ans) таны модем дээр автомат хариулагчийг нээх/хаах болно. Энэ нь иймэрхүү харагдах ёстой: set line /dev/tty01 set speed 19200 set file type binary set file names literal set win 8 set rec pack 1024 set send pack 1024 set block 3 set term bytesize 8 set command bytesize 8 set flow none pau 1 out +++ inp 5 OK out ATH0\13 inp 5 OK echo \13 out ATS0=1\13 ; change this to out ATS0=0\13 if you want to disable ; autoanswer mode inp 5 OK echo \13 exit /etc/ppp/kermit.dial гэсэн нэртэй скрипт нь гадагш залгаж алсын хост дээр нэвтрэлт таниулахад хэрэглэгддэг. Та үүнийг өөрийн хэрэгцээнд зориулан өөрчлөх хэрэгтэй болно. Өөрийн нэвтрэх нэр болон нууц үгийг энэ скриптэд оруулах хэрэгтэй; та бас оролтын илэрхийллийг таны модем болон алсын хостоос ирэх хариунуудаас хамааран өөрчлөх хэрэгтэй болно. ; ; put the com line attached to the modem here: ; set line /dev/tty01 ; ; put the modem speed here: ; set speed 19200 set file type binary ; full 8 bit file xfer set file names literal set win 8 set rec pack 1024 set send pack 1024 set block 3 set term bytesize 8 set command bytesize 8 set flow none set modem hayes set dial hangup off set carrier auto ; Then SET CARRIER if necessary, set dial display on ; Then SET DIAL if necessary, set input echo on set input timeout proceed set input case ignore def \%x 0 ; login prompt counter goto slhup :slcmd ; put the modem in command mode echo Put the modem in command mode. clear ; Clear unread characters from input buffer pause 1 output +++ ; hayes escape sequence input 1 OK\13\10 ; wait for OK if success goto slhup output \13 pause 1 output at\13 input 1 OK\13\10 if fail goto slcmd ; if modem doesn't answer OK, try again :slhup ; hang up the phone clear ; Clear unread characters from input buffer pause 1 echo Hanging up the phone. output ath0\13 ; hayes command for on hook input 2 OK\13\10 if fail goto slcmd ; if no OK answer, put modem in command mode :sldial ; dial the number pause 1 echo Dialing. output atdt9,550311\13\10 ; put phone number here assign \%x 0 ; zero the time counter :look clear ; Clear unread characters from input buffer increment \%x ; Count the seconds input 1 {CONNECT } if success goto sllogin reinput 1 {NO CARRIER\13\10} if success goto sldial reinput 1 {NO DIALTONE\13\10} if success goto slnodial reinput 1 {\255} if success goto slhup reinput 1 {\127} if success goto slhup if < \%x 60 goto look else goto slhup :sllogin ; login assign \%x 0 ; zero the time counter pause 1 echo Looking for login prompt. :slloop increment \%x ; Count the seconds clear ; Clear unread characters from input buffer output \13 ; ; put your expected login prompt here: ; input 1 {Username: } if success goto sluid reinput 1 {\255} if success goto slhup reinput 1 {\127} if success goto slhup if < \%x 10 goto slloop ; try 10 times to get a login prompt else goto slhup ; hang up and start again if 10 failures :sluid ; ; put your userid here: ; output ppp-login\13 input 1 {Password: } ; ; put your password here: ; output ppp-password\13 input 1 {Entering SLIP mode.} echo quit :slnodial echo \7No dialtone. Check the telephone line!\7 exit 1 ; local variables: ; mode: csh ; comment-start: "; " ; comment-start-skip: "; " ; end: Том Рөүдс Хувь нэмэр болгон оруулсан <acronym>PPP</acronym> холболтуудын алдааг олж засварлах PPPалдааг олж засварлах Энэ хэсэг нь PPP-г модемийн холболтоор ашиглах үед гарч болох цөөн асуудлуудыг хамрах болно. Жишээ нь магадгүй танд залгаж холбогдох гэж байгаа систем чинь яг ямар хүлээх мөрүүдийг үзүүлэхийг мэдэх шаардлагатай байж болох юм. Зарим ISP-ууд ssword хүлээх мөрийг үзүүлдэг бол зарим нь password гэж үзүүлэх болно; хэрэв ppp скрипт нь түүний дагуу бичигдээгүй бол нэвтрэх оролдлого амжилтгүй болох болно. ppp холболтуудыг дибаг хийх хамгийн түгээмэл арга бол гараар холбогдох явдал юм. Дараах мэдээлэл нь алхам алхмаар гар холболтыг танд тайлбарлах болно. Төхөөрөмжийн цэгүүдийг шалгана Хэрэв та өөрийн цөмийг дахин тохируулсан бол sio төхөөрөмжийг санах хэрэгтэй. Хэрэв та өөрийн цөмийг тохируулаагүй бол санаа зовох хэрэггүй. Модем төхөөрөмжийн хувьд dmesg гаралтыг шалгаарай: &prompt.root; dmesg | grep sio Та sio төхөөрөмжүүдийн талаар тохирох мэдээллүүдийг авах ёстой. Эдгээр нь бидэнд хэрэгтэй COM портууд юм. Хэрэв таны модем стандарт цуваа порт шиг ажиллаж байвал та түүнийг sio1, эсвэл COM2 дээр жагсаагдсан байхыг харах ёстой. Хэрэв тийм бол та цөмийг дахин бүтээх шаардлагагүй юм. sio модем sio1 дээр эсвэл хэрэв та DOS дээр байгаа бол COM2 дээр таарч байвал таны модемийн төхөөрөмж /dev/cuaa1 байх болно. Гараар холбогдох нь Гараар ppp-г хянаж Интернэтэд холбогдох нь холболтыг дибаг хийх юм уу эсвэл ердөө л таны ISP чинь ppp клиент холболтуудад хэрхэн ханддаг талаар мэдээлэл авахад хурдан, хялбар, агуу арга байдаг. Тушаалын мөрөөс PPP-г эхлүүлье. Бидний бүх жишээнүүд дээр бид PPP ажиллуулж байгаа машины хостын нэрийг example гэж авч ашиглах болно. Та pppppp гэж бичин эхлүүлнэ: &prompt.root; ppp Бид одоо ppp-г эхлүүллээ. ppp ON example> set device /dev/cuaa1 Бид өөрсдийн модемний төхөөрөмжийг тохируулна. Энэ тохиолдолд cuaa1 болно. ppp ON example> set speed 115200 Холболтын хурдыг тохируулна. Энэ тохиолдолд бид 115,200 kbps-г ашиглаж байна. ppp ON example> enable dns Бидний нэр танигчийг тохируулж /etc/resolv.conf файлд нэрийн серверүүдийн мөрүүдийг нэмэхийг ppp-д хэлнэ. ppp бидний хостын нэрийг тодорхойлж чадахгүй байгаа бол бид дараа нь гараараа тохируулж өгч болно. ppp ON example> term Модемийг гараар хянаж чадаж байхын тулд Терминал горимд шилжих хэрэгтэй. deflink: Entering terminal mode on /dev/cuaa1 type '~h' for help at OK atdt123456789 Модемийг эхлүүлэхийн тулд at-г ашиглаж дараа нь atdt дээр өөрийн ISP-ийн дугаараа нэмээд залгах процессоо эхлэх хэрэгтэй. CONNECT Холболтын баталгаа гарах ёстой, хэрэв бид тоног төхөөрөмжтэй холбоогүй ямар нэг холболтын асуудлуудтай байх бол энд бид тэдгээрийг шийдэхийг оролдох болно. ISP Login:myusername Энд танаас хэрэглэгчийн нэрийг асуух болно, ISP-ээс өгсөн хэрэглэгчийн нэрийг оруулаад буцахыг дарна. ISP Pass:mypassword Энэ удаад нууц үгийг асуух болно, ISP-ээс өгсөн нууц үгээр хариулах хэрэгтэй. Яг л &os; уруу нэвтрэн ордог шиг нууц үг нь буцаж дэлгэцэд харагдахгүй. Shell or PPP:ppp Таны ISP-ээс хамаараад энэ хүлээх мөр нь хэзээ ч гарахгүй байж болох юм. Энд биднээс үйлчилгээ үзүүлэгч дээр бүрхүүл ашиглах эсэх эсвэл ppp эхлүүлэх эсэхийг асуудаг. Энэ жишээн дээр бид Интернэт холболтыг хүсэж байгаа болохоор ppp-г ашиглахаар сонгосон. Ppp ON example> Энэ жишээн дээр эхний тохируулга томоор бичигдсэнийг хараарай. Энэ нь бид ISP-д амжилттайгаар холбогдсоныг харуулж байна. PPp ON example> Бид ISP-д амжилттайгаар өөрсдийгөө таниулан нэвтэрч заагдсан IP хаягийг хүлээж байна. PPP ON example> Бид IP хаяг дээрээ зөвшилцөж холболтоо амжилттайгаар хийж дуусгалаа. PPP ON example>add default HISADDR Энд бид өөрсдийн анхдагч чиглүүлэлтээ нэмж байна. Бид үүнийг гаднах ертөнцтэй ярьж эхлэхээсээ өмнө хийх ёстой бөгөөд одоогоор зөвхөн хийгдсэн холболт нь нөгөө талтайгаа хийгдсэн холболт байгаа болно. Хэрэв энэ нь байгаа чиглүүлэлтүүдээсээ болоод амжилтгүй болбол та тохируулгын өмнө анхаарлын тэмдэг ! тавьж болно. Өөрөөр та үүнийг жинхэнэ холболт хийхээсээ өмнө тохируулж болох бөгөөд энэ нь шинэ чиглүүлэлтийг зохих ёсоор тохиролцоно. Хэрэв бүх зүйл сайн болж өнгөрсөн бол бид одоо идэвхтэй Интернэтийн холболттой болсон байх бөгөөд үүнийг ар талд CTRL z хослолоор оруулж болох юм. Хэрэв та PPPppp болохыг анзаарах юм бол бид өөрсдийн холболтоо алдсан гэсэн үг юм. Энэ нь бидний холболтын төлөвийг үзүүлдэг болохоор мэдэхэд илүүдэхгүй юм. Том P үсэгнүүд нь бид ISP уруу холболттой байгааг үзүүлэх бөгөөд жижиг p үсэгнүүд нь холболт ямар нэг шалтгаанаар тасарсныг харуулна. ppp нь зөвхөн эдгээр хоёр төлөвтэй байдаг. Дибаг хийх нь Хэрэв та шууд шугамтай бөгөөд холболт хийж чадахгүй байгаа юм шиг санагдвал CTS/RTS тоног төхөөрөмжийн урсгалыг болгон хаах хэрэгтэй. Энэ нь ялангуяа та PPP хийж чаддаг терминал серверт холбогдох тохиолдол юм. Энэ тохиолдолд PPP нь таны холбооны шугам дээр өгөгдлийг бичихээр оролдох үед өлгөгдөж хэзээ ч ирэхгүй байж болох CTS юм уу эсвэл Clear To Send буюу Илгээхэд Цэвэр дохиог хүлээж байж болох юм. Хэрэв та энэ тохируулгыг ашиглах юм бол тохируулгыг бас хэрэглэх шаардлагатай. Энэ тохируулга нь зарим нэг параметрүүдийг, ихэнх тохиолдолд XON/XOFF-г төгсгөлөөс төгсгөлд дамжуулахад тоног төхөөрөмжийн хувьд хамааралтай байдлыг үгүй хийхийн тулд шаардлагатай байж болох юм. Энэ тохируулгын талаар дэлгэрэнгүй мэдээллийг болон хэрхэн ашиглагддаг талаар &man.ppp.8; гарын авлагын хуудаснаас үзнэ үү. Хэрэв та хуучин модемтой бол тохируулгыг ашиглах хэрэгтэй болж болох юм. Parity нь анхдагчаар none буюу байхгүй гэж тохируулагдсан байдаг боловч хуучин модемууд болон ISP-уудад (урсгалын хувьд их хэмжээгээр ихсэхэд) алдаа шалгахад хэрэглэгддэг. Compuserve ISP-ийн хувьд танд энэ тохируулга хэрэгтэй байж болох юм. PPP нь тушаалын горимд буцахгүй байж болох юм. Энэ нь ихэвчлэн ISP нь танаас харилцан тохиролцохыг эхлүүлэхийг хүлээх тохиролцооны алдаа байдаг. Энэ үед ~p тушаалыг ашиглах нь ppp-г тохиргооны мэдээллээ илгээж эхлэхэд хүргэх болно. Хэрэв та нэвтрэлт хүлээх мөрийг хэзээ ч авахгүй байгаа бол та магадгүй дээрх жишээн дээрх &unix; загварын нэвтрэлт танилтын оронд PAP юм уу эсвэл CHAP нэвтрэлт танилтыг ашиглах хэрэгтэй байж болох юм. PAP эсвэл CHAP-г ашиглахын тулд ердөө л дараах тохируулгуудыг PPP-д терминал горим уруу орохоос өмнө нэмэх хэрэгтэй: ppp ON example> set authname myusername Дээр байгаа myusernameISP-с өгөгдсөн хэрэглэгчийн нэрээр солих шаардлагатай. ppp ON example> set authkey mypassword Дээр байгаа mypasswordISP-с өгөгдсөн нууц үгээр солих шаардлагатай. Хэрэв та зүгээр холбогдсон мөртлөө ямар ч домэйн нэр олохгүй байгаа юм шиг байвал &man.ping.8; тушаалыг IP хаягтай ашиглаж ямар нэг мэдээлэл буцаж ирж байгаа эсэхийг шалгах хэрэгтэй. Хэрэв та 100 хувийн (100%) пакетийн алдагдалд орж байвал танд бараг л анхдагч чиглүүлэлт заагдаагүй байгаа гэсэн үг юм. Холболтын үеэр тохируулга тохируулагдсан эсэхийг давхар шалгаарай. Хэрэв та алсын IP хаяг уруу холбогдож чадаж байвал нэр танигчийн хаяг /etc/resolv.conf файлд нэмэгдээгүй байх магадлалтай юм. Энэ файл нь иймэрхүү харагдах ёстой: domain example.com nameserver x.x.x.x nameserver y.y.y.y Дээр байгаа x.x.x.x болон y.y.y.y нь таны ISP-ийн DNS серверүүдийн IP хаягаар солигдох ёстой. Таныг үйлчилгээнд эхэлж бүртгүүлэхэд энэ мэдээлэл өгөгдсөн юм уу эсвэл өгөгдөөгүй байж болох бөгөөд өөрийн ISP уруугаа хурдхан утасдаж энэ мэдээллийг мэдэж болох юм. Та өөрийн PPP холболтондоо зориулж &man.syslog.3;-г бүртгэл бичихээр болгож болно. Дараах: !ppp *.* /var/log/ppp.log мөрийг /etc/syslog.conf файлд нэмнэ. Ихэнх тохиолдолд энэ боломж аль хэдийн орсон байдаг. Жим Мок Хувь нэмэр болгон (http://node.to/freebsd/how-tos/how-to-freebsd-pppoe.html хаягаас) оруулсан Ethernet дээгүүр PPP ашиглах нь (PPPoE) PPPEthernet дээгүүр PPPoE PPP, Ethernet дээгүүр Энэ хэсэг нь Ethernet дээгүүр PPP (PPPoE) хэрхэн тохируулах талаар тайлбарлах болно. Цөмийг тохируулах нь Одоо PPPoE-д зориулсан цөмийн тохиргоо шаардлагатай байхаа больжээ. Хэрэв шаардлагатай netgraph-ийн дэмжлэг цөмд бүтээгдээгүй бол энэ нь динамикаар ppp-ээр дуудагдах болно. <filename>ppp.conf</filename> файлыг тохируулах Энд ажилладаг ppp.conf файлын жишээ байна: default: set log Phase tun command # you can add more detailed logging if you wish set ifaddr 10.0.0.1/0 10.0.0.2/0 name_of_service_provider: set device PPPoE:xl1 # replace xl1 with your Ethernet device set authname YOURLOGINNAME set authkey YOURPASSWORD set dial set login add default HISADDR <application>ppp</application>-г ажиллуулах root хэрэглэгчээр та доор дурдсаныг ажиллуулж болно: &prompt.root; ppp -ddial name_of_service_provider <application>ppp</application>-г ачаалах үед эхлүүлэх доор дурдсаныг өөрийн /etc/rc.conf файлд нэмнэ: ppp_enable="YES" ppp_mode="ddial" ppp_nat="YES" # if you want to enable nat for your local network, otherwise NO ppp_profile="name_of_service_provider" PPPoE үйлчилгээний хаягийг ашиглах Заримдаа өөрийн холболтыг хийхийн тулд үйлчилгээний хаягийг ашиглах шаардлагатай болж болох юм. Үйлчилгээний хаягууд нь өгөгдсөн сүлжээнд залгагдсан өөр өөр PPPoE серверүүдийг ялгахын тулд хэрэглэгддэг. Таны ISP-ээс өгсөн баримтад шаардлагатай үйлчилгээний хаягийн мэдээлэл байх ёстой. Хэрэв та ийм мэдээлэл олоогүй бол өөрийн ISP-ийн техникийн дэмжлэг үзүүлэгч ажилтнаас асуугаарай. Хамгийн сүүлд та Портын цуглуулгад байх Архирах Оцон шувуу PPPoE хаягт санал болгосон аргыг туршиж болох юм. Гэхдээ энэ нь таны модемийг буцаан програмчилж ажиллагаагүй болгож магадгүй болохоор үүнийг хийхээсээ өмнө дахин бодоорой. Таны үйлчилгээ үзүүлэгчийн модемтой цуг ирсэн програмыг ердөө л суулгаарай. Дараа нь програмаас System цэсд хандаарай. Таны тохиргооны нэр тэнд жагсаагдсан байх ёстой. Энэ нь ихэвчлэн ISP гэж байдаг. Тохиргооны нэр (үйлчилгээний хаяг) нь ppp.conf файл дахь PPPoE тохиргооны оруулгад set device тушаалын үйлчилгээ үзүүлэгч хэсэг болон ашиглагдах болно (бүрэн мэдээллийг &man.ppp.8; гарын авлагын хуудаснаас үзнэ үү). Энэ нь иймэрхүү харагдах ёстой: set device PPPoE:xl1:ISP xl1-г өөрийн Ethernet картны зөв төхөөрөмжөөр солихоо мартуузай. ISP гэснийг дээрх дөнгөж олсон тохиргоогоор солихоо мартуузай. Нэмэлт мэдээллийг доорх хаягуудаас үзнэ үү: Рено Валдурагийн DSL дээр FreeBSD-ээр арай хямд өргөн зурвас ашиглах (Cheaper Broadband with FreeBSD on DSL). Удо Эрделхоффийн Nutzung von T-DSL und T-Online mit FreeBSD (Герман хэл дээр). &tm.3com; <trademark class="registered">HomeConnect</trademark> ADSL Хос Холбоос Модемтой PPPoE Энэ модем нь RFC 2516 (Л. Мамакос, К. Лидл, Ж. Эвартс, Д. Каррел, Д. Симоне, болон Р. Вийлэр нарын бичсэн PPP-г Ethernet дээгүүр (PPPoE) дамжуулах арга ) стандартыг дагадаггүй. Харин Ethernet хүрээнүүдийн хувьд пакетийн төрлийн өөр кодуудыг ашигладаг. Хэрэв та үүнийг PPPoE-ийн тодорхойлолтыг мөрдөх ёстой гэж бодож байгаа бол 3Com уруу гомдоллоно уу. Энэ төхөөрөмжтэй FreeBSD-г холбогдох боломжтой болгохын тулд sysctl тохируулагдах ёстой. /etc/sysctl.conf файлыг шинэчилж ачаалалтын үед энэ нь автоматаар хийгдэж болно: net.graph.nonstandard_pppoe=1 эсвэл дараах тушаалаар нэн даруй хийгдэж болно: &prompt.root; sysctl net.graph.nonstandard_pppoe=1 Харамсалтай нь энэ нь системийн дагуух тохиргоо болохоор хэвийн PPPoE клиент эсвэл сервер болон &tm.3com; HomeConnect ADSL модемтой нэгэн зэрэг холбогдох боломжгүй болох юм. ATM дээгүүр <application>PPP</application> (PPPoA) ашиглах PPPATM дээгүүр PPPoA PPP, ATM дээгүүр Дараах нь ATM дээгүүр PPP-г (PPPoA) хэрхэн тохируулах талаар тайлбарлана. PPPoA нь Европийн DSL үзүүлэгчдийн дунд алдартай сонголт болдог. Alcatel &speedtouch; USB-тэй PPPoA-г ашиглах нь Энэ төхөөрөмжийн PPPoA дэмжлэг нь FreeBSD-д порт хэлбэрээр байдаг. Учир нь үүний firmware Alcatel-ийн лицензийн гэрээгээр түгээгддэг бөгөөд FreeBSD-ийн үндсэн системтэй цуг чөлөөтэй түгээгдэж болдоггүй. Програм хангамжийг суулгахын тулд ердөө л Портуудын цуглуулгыг ашиглана. net/pppoa портыг суулгаад түүнтэй хамт ирсэн заавруудыг дагаарай. Олон USB төхөөрөмжүүдийн адил Alcatel-ийн &speedtouch; USB нь зөв ажиллахын тулд хост компьютераас firmware татах хэрэгтэй болдог. &os; дээр энэ дамжуулалт нь төхөөрөмж USB порт уруу холбогдсон үед хийгдэхээр болгож энэ процессийг автоматчилах боломжтой. Энэ автомат firmware дамжуулалтыг идэвхжүүлэхийн тулд дараах мэдээллийг /etc/usbd.conf файлд нэмж болох юм. Энэ файлыг root хэрэглэгчээр засварлах шаардлагатай. device "Alcatel SpeedTouch USB" devname "ugen[0-9]+" vendor 0x06b9 product 0x4061 attach "/usr/local/sbin/modem_run -f /usr/local/libdata/mgmt.o" usbd USB дэмонг идэвхжүүлэхийн тулд дараах мөрийг /etc/rc.conf файлд нэмнэ: usbd_enable="YES" Эхлүүлэхэд залгадаг байхаар ppp-г тохируулах боломжтой байдаг. Үүнийг хийхийн тулд дараах мөрүүдийг /etc/rc.conf файлд нэмнэ. Ахин хэлэхэд энэ процедурын хувьд та root хэрэглэгчээр нэвтрэн орох хэрэгтэй болно. ppp_enable="YES" ppp_mode="ddial" ppp_profile="adsl" Үүнийг зөв ажиллуулахын тулд та net/pppoa порттой цуг ирсэн ppp.conf файлыг ашиглах хэрэгтэй болно. mpd ашиглах нь Та төрөл бүрийн үйлчилгээнүүдэд ялангуяа PPTP үйлчилгээнүүдэд холбогдохын тулд mpd-г ашиглаж болно. Та mpd-г Портуудын цуглуулга net/mpd сангаас олж болно. Олон ADSL модемууд нь модем болон компьютерийн хооронд PPTP хоолой үүсгэгдсэн байхыг шаарддаг бөгөөд тийм модемийн нэг нь Alcatel &speedtouch; Home юм. Та эхлээд портоо суулгах ёстой бөгөөд дараа нь өөрийн шаардлага болон үйлчилгээ үзүүлэгчийн тохиргоонуудад тааруулан mpd-г тохируулж болно. Порт нь жишээ тохиргооны файлуудыг байрлуулдаг бөгөөд эдгээр нь PREFIX/etc/mpd/-д сайн баримтжуулагдсан байдаг. Энд нэг юмыг тэмдэглэх хэрэгтэй. PREFIX гэдэг нь таны портууд суулгагдсан сан бөгөөд анхдагчаар /usr/local/ байдаг. mpd-г тохируулах бүрэн заавар порт суулгагдсаны дараа HTML хэлбэрээр орсон байдаг. Энэ нь PREFIX/share/doc/mpd/ санд байрладаг. Энд mpd-ээр ADSL үйлчилгээнд холбогдох жишээ тохиргоо байна. Тохиргоо нь хоёр файлаас тогтох бөгөөд эхний mpd.conf нь ийм байна: default: load adsl adsl: new -i ng0 adsl adsl set bundle authname username set bundle password password set bundle disable multilink set link no pap acfcomp protocomp set link disable chap set link accept chap set link keep-alive 30 10 set ipcp no vjcomp set ipcp ranges 0.0.0.0/0 0.0.0.0/0 set iface route default set iface disable on-demand set iface enable proxy-arp set iface idle 0 open Таны ISP-тай холбогдон өөрийгөө таниулан нэвтрэх хэрэглэгчийн нэр. Таны ISP-тай холбогдон өөрийгөө таниулан нэвтрэх нууц үг. mpd.links файл нь таны хийхийг хүссэн холбоос эсвэл холбоосуудын тухай мэдээллийг агуулдаг. Дээрх жишээнд тохирох харгалзах жишээ mpd.links файлыг доор үзүүлэв: adsl: set link type pptp set pptp mode active set pptp enable originate outcall set pptp self 10.0.0.1 set pptp peer 10.0.0.138 Таны mpd ашиглах &os; компьютерийн IP хаяг. Таны ADSL модемийн IP хаяг. Alcatel &speedtouch; Home-ийн хувьд энэ хаяг нь анхдагчаар 10.0.0.138 байна. Дараах тушаалыг root-ээр ажиллуулж холболтыг хялбараар эхлүүлэх боломжтой байдаг: &prompt.root; mpd -b adsl Та холболтын төлөвийг дараах тушаалаар харж болно: &prompt.user; ifconfig ng0 ng0: flags=88d1<UP,POINTOPOINT,RUNNING,NOARP,SIMPLEX,MULTICAST> mtu 1500 inet 216.136.204.117 --> 204.152.186.171 netmask 0xffffffff &os; дээр ADSL үйлчилгээнд холбогдохын тулд mpd-г ашиглахыг зөвлөдөг юм. pptpclient ашиглах нь Мөн бусад PPPoA үйлчилгээнүүдэд FreeBSD-ээр холбогдохын тулд net/pptpclient ашиглах боломжтой байдаг. net/pptpclient-г ашиглан DSL үйлчилгээнд холбогдохын тулд порт болон багцыг суулгаад өөрийн /etc/ppp/ppp.conf файлыг засварлана. Эдгээр үйлдлүүдийг хийж гүйцэтгэхийн тулд та root болсон байх ёстой. ppp.conf файлын жишээ хэсгийг доор үзүүлэв. ppp.conf-ийн тохируулгуудын тухай илүү мэдээллийг ppp гарын авлагын хуудас &man.ppp.8;-с лавлана уу. adsl: set log phase chat lcp ipcp ccp tun command set timeout 0 enable dns set authname username set authkey password set ifaddr 0 0 add default HISADDR DSL үйлчилгээ үзүүлэгчтэй холбогдох таны бүртгэлийн хэрэглэгчийн нэр. Таны бүртгэлийн нууц үг. Та өөрийн бүртгэлийн нууц үгийг ppp.conf файлд цэвэр текст хэлбэрээр тавих ёстой болохоор энэ файлын агуулгыг хэн ч уншиж чадахгүй болгосон эсэхээ шалгах хэрэгтэй. Дараах сери тушаалууд нь энэ файлыг зөвхөн root бүртгэлээр уншигдахаар болгох юм. Дэлгэрэнгүй мэдээллийг &man.chmod.1; болон &man.chown.8; гарын авлагын хуудаснуудаас лавлана уу. &prompt.root; chown root:wheel /etc/ppp/ppp.conf &prompt.root; chmod 600 /etc/ppp/ppp.conf Энэ нь PPP сессэд зориулан таны DSL чиглүүлэгч уруу хоолой нээх болно. Ethernet DSL модемууд нь LAN IP хаягаар урьдчилан тохируулагдсан байдаг бөгөөд та түүн уруу холбогдоно. Alcatel &speedtouch; Home-ийн хувьд энэ хаяг нь 10.0.0.138 байна. Таны чиглүүлэгчийн баримтад төхөөрөмж ямар хаяг ашиглаж байгааг хэлсэн байх ёстой. Хоолой нээж PPP сесс эхлүүлэхийн тулд дараах тушаалыг ажиллуулна: &prompt.root; pptp address adsl Та өмнөх тушаалын төгсгөлд & тэмдгийг нэмэхийг хүсэж болох юм. Ингэхгүй бол pptp нь танд тушаал хүлээх мөрийг буцаадаггүй. tun виртуал хоолой төхөөрөмж нь pptp болон ppp процессуудын хоорондох харилцаанд зориулан үүсгэгдэх болно. Тушаал хүлээх мөрөнд буцаж ирснийхээ дараа юм уу эсвэл pptp нь холболтыг баталгаажуулсны дараа та хоолойг ингэж шалгаж болно: &prompt.user; ifconfig tun0 tun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1500 inet 216.136.204.21 --> 204.152.186.171 netmask 0xffffff00 Opened by PID 918 Хэрэв та холбогдож чадахгүй байгаа бол өөрийн чиглүүлэгчийн тохиргоог шалгаарай. Энэ нь ихэвчлэн telnet юм уу эсвэл вэб хөтчөөр хандах боломжтой байдаг. Хэрэв та холбогдож чадахгүй хэвээр байвал pptp тушаалын гаралт болон ppp бүртгэлийн файл /var/log/ppp.log-оос ямар нэг сэжүүр байгаа эсэхийг шалгах хэрэгтэй. Сатоши Асами Анхлан хувь нэмэр болгон оруулсан Гай Хэлмер Зарим хэсгийг оруулсан Пьеро Серини SLIP ашиглах SLIP SLIP клиент тохируулах SLIPклиент Дараах нь FreeBSD машиныг SLIP-д зориулан статик хост сүлжээн дээр тохируулах нэг арга юм. Динамикаар хостын нэрийг өгөхийн тулд (таныг залгаж холбогдох болгонд таны хаяг өөрчлөгддөг) танд илүү төвөгтэй тохируулга хэрэгтэй болох байх. Эхлээд таны модем аль цуваа портод холбогдсоныг тодорхойлно. Олон хүн /dev/modem гэх зэргээр жинхэнэ төхөөрөмжийн нэр /dev/cuaaN (эсвэл &os; 6.X дээр /dev/cuadN) уруугаа заасан симболын холбоосыг тохируулдаг. Энэ нь модемийг өөр порт уруу шилжүүлэх шаардлагатай болсон тохиолдолд жинхэнэ төхөөрөмжийн нэрийг хийсвэрлэх боломжийг танд олгож байгаа юм. Бүх системийн дагуу /etc дэх олон файлууд болон .kermrc файлуудыг засварлах шаардлагатай болох үед энэ нь нэлээн ярвигтай болж ирдэг! /dev/cuaa0 (эсвэл &os; 6.X дээр /dev/cuad0) нь COM1, cuaa1 (эсвэл /dev/cuad1) нь COM2, гэх мэт. Өөрийн цөмийн тохиргооны файлд дараах нь байгаа эсэхийг шалгаарай: device sl Энэ нь GENERIC цөмд орсон байдаг бөгөөд та түүнийг устгаагүй л бол энэ нь асуудал биш юм. Зөвхөн нэг удаа хийх зүйлс Өөрийн гэр машин, гарц болон нэрийн серверүүдийг өөрийн /etc/hosts файлд нэмнэ. Биднийх иймэрхүү харагдах болно: 127.0.0.1 localhost loghost 136.152.64.181 water.CS.Example.EDU water.CS water 136.152.64.1 inr-3.CS.Example.EDU inr-3 slip-gateway 128.32.136.9 ns1.Example.EDU ns1 128.32.136.12 ns2.Example.EDU ns2 5.0-с өмнөх FreeBSD хувилбарууд дээрх /etc/host.conf файлд hosts мөр нь bind мөрөөс өмнө байгаа эсэхийг шалгаарай. FreeBSD 5.0-с хойш систем нь харин /etc/nsswitch.conf-г ашигладаг бөгөөд энэ файлын мөрөнд dns-с өмнө files байгаа эсэхийг шалгаарай. Эдгээр параметрүүдгүй бол сонин зүйлс болж магадгүй юм. /etc/rc.conf файлыг засна. Дараах мөрийг засварлаж өөрийн хостын нэрийг тохируулна: hostname="myname.my.domain" Таны машины Интернэтийн бүрэн хостын нэрийг энд тавих ёстой. анхдагч чиглүүлэлт Дараах мөрийг өөрчилж анхдагч чиглүүлэлт: defaultrouter="NO" гэдгийг: defaultrouter="slip-gateway" болгоно. доор дурдсаныг агуулсан /etc/resolv.conf файл үүсгэнэ: domain CS.Example.EDU nameserver 128.32.136.9 nameserver 128.32.136.12 нэрийн сервер домэйн нэр Таны харж байгаагаар эдгээр нь нэрийн серверийн хостуудыг тохируулж байна. Мэдээж жинхэнэ домэйн нэрс болон хаягууд нь таны орчноос хамаарна. root болон toor (нууц үггүй бусад бүртгэлүүдийн) нууц үгийг тохируулна. Өөрийн машиныг дахин ачаалж зөв хостын нэртэйгээр ачаалсан эсэхийг нь шалгаарай. SLIP холболт хийх нь SLIPхолболт хийх нь Залгаад хүлээх мөрөн дээр slip гэж бичээд өөрийн машины нэр болон нууц үгийг оруулна. Юу оруулах шаардлагатай нь таны орчноос хамаарна. Хэрэв та Kermit ашиглаж байгаа бол та иймэрхүү скриптийг ажиллуулахаар оролдож болно: # kermit setup set modem hayes set line /dev/modem set speed 115200 set parity none set flow rts/cts set terminal bytesize 8 set file type binary # The next macro will dial up and login define slip dial 643-9600, input 10 =>, if failure stop, - output slip\x0d, input 10 Username:, if failure stop, - output silvia\x0d, input 10 Password:, if failure stop, - output ***\x0d, echo \x0aCONNECTED\x0a Мэдээж өөртөө тааруулаад өөрийн хэрэглэгчийн нэр болон нууц үгийг солих хэрэгтэй. Ингэснийхээ дараа та Kermit-ийн хүлээх мөрөөс холбогдохын тулд slip гэж бичих хэрэгтэй. Файлын системд хаа нэгтээ өөрийн нууц үгийг цэвэр текстээр үлдээх нь ерөнхийдөө буруу юм. Үүнийг хийх нь аз туршсан явдал юм. Kermit-г тэнд нь үлдээж (та үүнийг Ctrl z хослолоор зогсоож болно) root-ээр дараах тушаалыг бичнэ: &prompt.root; slattach -h -c -s 115200 /dev/modem Хэрэв та чиглүүлэгчийн нөгөө талд байгаа хостууд уруу ping хийж чадаж байвал та холбогдсон байна! Хэрэв энэ нь ажиллахгүй байгаа бол slattach тушаалд нэмэлт өгөгдлийн оронд -г тавьж оролдоод үзээрэй. Холболтыг хэрхэн зогсоох вэ доор дурдсаныг хийж: &prompt.root; kill -INT `cat /var/run/slattach.modem.pid` slattach-г зогсооно. Дээр дурдсаныг хийхийн тулд root байх шаардлагатайг санаарай. Дараа нь kermit уруугаа (хэрэв та түр зогсоосон бол fg тушаалыг ажиллуулан) буцаж түүнээс гарна (q). &man.slattach.8; гарын авлагын хуудсанд интерфэйсийг зогссон гэж тэмдэглэхийн тулд ifconfig sl0 down тушаалыг ашиглах ёстой гэсэн байдаг боловч энэ нь ямар ч өөрчлөлт хийдэггүй юм шиг санагддаг. (ifconfig sl0 тушаал нь бас үүнтэй адилыг гаргадаг.) Заримдаа таны модем зөөгчийг унагахаасаа татгалзаж болох юм. Тийм тохиолдолд ердөө л дахин kermit-г ажиллуулаад тэгээд түүнээс гарах хэрэгтэй. Энэ нь ихэвчлэн хоёр дахь оролдлогод болдог. Алдааг олж засварлах Хэрэв энэ нь ажиллахгүй байгаа бол &a.net.name; захидлын жагсаалтаас чөлөөтэй асуугаарай. Одоогоор хүмүүсийн аялж мэдсэн зүйлс гэх юм бол: slattach тушаалд эсвэл тохируулгуудыг ашиглахгүй байх (энэ нь мөхлийн байх ёсгүй, гэхдээ энэ нь зарим хэрэглэгчдийн асуудлуудыг шийддэг гэж бичсэн байдаг.) -ийн оронд тохируулгыг ашиглах (зарим фонтууд дээр ялгааг нь олж харах хэцүү байж болох юм). Өөрийн интерфэйсийн төлөвийг харахын тулд ifconfig sl0 тушаалыг ажиллуулж үзээрэй. Жишээ нь та иймэрхүү дүн харж болох юм: &prompt.root; ifconfig sl0 sl0: flags=10<POINTOPOINT> inet 136.152.64.181 --> 136.152.64.1 netmask ffffff00 Хэрэв та &man.ping.8; тушаалаас no route to host мэдэгдлүүдийг авах юм бол таны чиглүүлэлтийн хүснэгтэд асуудал байж болзошгүй юм. Тухайн үед байгаа чиглүүлэлтүүдийг үзүүлэхийн тулд netstat -r тушаалыг ашиглаж болно : &prompt.root; netstat -r Routing tables Destination Gateway Flags Refs Use IfaceMTU Rtt Netmasks: (root node) (root node) Route Tree for Protocol Family inet: (root node) => default inr-3.Example.EDU UG 8 224515 sl0 - - localhost.Exampl localhost.Example. UH 5 42127 lo0 - 0.438 inr-3.Example.ED water.CS.Example.E UH 1 0 sl0 - - water.CS.Example localhost.Example. UGH 34 47641234 lo0 - 0.438 (root node) Өмнөх жишээнүүд нь харьцангуй завгүй байгаа системүүдийнх юм. Таны систем дээрх тоонууд нь сүлжээний ачааллаас хамаарч өөр өөр байх болно. SLIP сервер тохируулах нь SLIPсервер Энэхүү баримт нь FreeBSD систем дээр SLIP серверийн үйлчилгээнүүдийг тохируулахад зориулсан зөвлөгөөнүүдийг санал болгодог. Энэ нь юу гэсэн үг вэ гэхээр алсын SLIP клиентүүдийн нэвтрэлтийн үед холболтуудыг автоматаар эхлүүлэхээр болгож таны системийг тохируулна гэсэн үг юм. Шаардлагатай зүйлс TCP/IP сүлжээ Энэ баримт нь өөрийн үндсэн чанарын хувьд хэт техникийн учраас тодорхой мэдлэг шаардах болно. Энэ нь таныг TCP/IP сүлжээний протоколыг тодорхой хэмжээгээр мэддэг бөгөөд ялангуяа сүлжээ болон цэгийн хаяглалт, сүлжээний хаягийн багууд, дэд сүлжээ үүсгэх, чиглүүлэлт болон RIP зэрэг чиглүүлэлтийн протоколуудыг мэддэг гэж тооцдог. SLIP үйлчилгээнүүдийг dial-up сервер дээр тохируулах нь эдгээр ухагдахуунуудын тухай мэдлэгийг шаарддаг бөгөөд хэрэв та эдгээрийг мэдэхгүй бол O'Reilly & Associates, Inc-ийн хэвлэсэн Крэг Хантын TCP/IP Network Administration буюу TCP/IP сүлжээний удирдлага номыг юм уу эсвэл TCP/IP протоколуудын тухай Даглас Комерийн номнуудыг уншина уу. модем Мөн таныг модемоо суулгаж өөрийн модемоор дамжин нэвтрэх боломжуудыг зөвшөөрөхөөр тохируулсан байгаа гэж үздэг. Хэрэв та үүнд зориулж өөрийн системийг бэлдэж амжаагүй байгаа бол dialup үйлчилгээнүүдийн тохиргооны тухай мэдээллийг хэсгээс үзнэ үү. Та бас цуваа портын төхөөрөмжийн драйверийн тухай мэдээлэл болон модемууд дээр нэвтрэлтүүдийг хүлээн авахаар болгож системийг тохируулах тухай мэдээллийг &man.sio.4; болон &man.ttys.5;, &man.gettytab.5;, &man.getty.8;, & &man.init.8; гарын авлагын хуудаснуудаас шалгахыг хүсэж болох юм. Цуваа портын параметрүүдийг (шууд холбогдсон цуваа интерфэйсүүдийн хувьд clocal зэрэг) тохируулах тухай мэдээллийг &man.stty.1; гарын авлагын хуудаснаас үзнэ үү. Түргэн дүгнэлт FreeBSD-г SLIP сервер болгон ашиглах ердийн тохиргоонд дараах маягаар ажилладаг: SLIP сервер нь таны FreeBSD SLIP сервер системийг гадагш залгуулдаг бөгөөд /usr/sbin/sliplogin-ийг тусгай хэрэглэгчийн бүрхүүл болгон ашигладаг тусгай SLIP нэвтрэх ID-аар нэвтэрдэг. sliplogin програм нь тусгай хэрэглэгчийн хувьд таарах мөрийг олохын тулд /etc/sliphome/slip.hosts файлыг гүйлгэн үздэг бөгөөд хэрэв олсон бол цуваа шугамыг байгаа SLIP интерфэйс уруу холбож дараа нь SLIP интерфэйсийг тохируулахын тулд /etc/sliphome/slip.login бүрхүүлийн скриптийг ажиллуулдаг. SLIP серверийн нэвтрэлтийн жишээ Жишээ нь хэрэв SLIP хэрэглэгчийн ID нь Shelmerg байсан бол /etc/master.passwd файл дахь Shelmerg-ийн оруулга иймэрхүү байж болох юм: Shelmerg:password:1964:89::0:0:Guy Helmer - SLIP:/usr/users/Shelmerg:/usr/sbin/sliplogin Shelmerg нэвтрэх үед sliplogin нь таарах хэрэглэгчийн ID-тай мөрийг /etc/sliphome/slip.hosts файлаас хайх болно, жишээ нь /etc/sliphome/slip.hosts файлд дараах мөр байж болох юм: Shelmerg dc-slip sl-helmer 0xfffffc00 autocomp sliplogin тушаал нь тэр таарах мөрийг олох бөгөөд цуваа шугамыг дараачийн байгаа SLIP интерфэйс уруу залгаж дараа нь /etc/sliphome/slip.login-ийг иймэрхүүгээр ажиллуулна: /etc/sliphome/slip.login 0 19200 Shelmerg dc-slip sl-helmer 0xfffffc00 autocomp Хэрэв бүгд зүгээр болж өнгөрвөл /etc/sliphome/slip.login нь өөрийгөө залгасан (дээрх жишээн дээр slip.login уруу өгөгдсөн жагсаалтан дахь эхний параметр болох SLIP интерфэйс 0) SLIP интерфэйсийн хувьд ifconfig тушаалыг ажиллуулж локал IP хаяг (dc-slip), алсын IP хаяг (sl-helmer), SLIP интерфэйсийн сүлжээний баг (0xfffffc00) болон бусад нэмэлт тугнуудыг (autocomp) тохируулдаг. Хэрэв ямар нэг зүйл буруу болвол sliplogin нь ихэвчлэн /var/log/messages уруу бүртгэх syslogd дэмон боломжоор дамжуулан боломжийн мэдээллийн чанартай мэдэгдлүүдийг ихэвчлэн бүртгэдэг. (&man.syslogd.8; болон &man.syslog.conf.5;-ийн гарын авлагын хуудаснуудыг үзнэ үү. /etc/syslog.conf-ийг шалгаж syslogd-ийн юу бүртгэдэг болон хаана бүртгэдгийг харна уу). Цөмийн тохиргоо цөмтохиргоо SLIP &os;-ийн анхдагч цөм (GENERIC) нь SLIP (&man.sl.4;) дэмжлэгтэй цуг ирдэг; тухайлан өөрчилсөн цөмийн хувьд бол та өөрийн цөмийн тохиргооны файлдаа дараах мөрийг нэмэх хэрэгтэй: device sl Анхдагчаар таны &os; машин пакетуудыг урагш дамжуулахгүй байх болно. Хэрэв та өөрийн SLIP серверийг чиглүүлэгч маягаар ашиглахыг хүсвэл /etc/rc.conf файлыг засварлах хэрэгтэй болох бөгөөд gateway_enable хувьсагчийн тохиргоог болгож өөрчлөх хэрэгтэй. Та дараа нь шинэ тохиргоогоо ашиглахын тулд дахин ачаалах хэрэгтэй. FreeBSD-ийн цөмийг тохируулах талаар бичсэн -с өөрийн цөмийг дахин тохируулах талаар лавлана уу. Sliplogin тохиргоо Урьд нь дурдаж байсны дагуу /usr/sbin/sliplogin файлын тохиргооны хэсэг болох гурван файл /etc/sliphome санд байдаг (sliplogin-ий талаар мэдээллийг &man.sliplogin.8; гарын авлагын хуудаснаас үзнэ үү). Эдгээрт SLIP хэрэглэгчид болон тэдгээрийн холбоотой IP хаягуудыг тодорхойлдог slip.hosts файл, SLIP интерфэйсийг ихэвчлэн тохируулдаг slip.login файл, болон (нэмэлт) цуваа холболт төгссөн үед slip.login-ий нөлөөллүүдийг буцаадаг slip.logout файл ордог. <filename>slip.hosts</filename> тохиргоо /etc/sliphome/slip.hosts нь өөр хоорондоо зайгаар тусгаарлагдсан хамгийн багаар бодоход дөрвөн хэсгээс тогтох мөрүүдээс тогддог: SLIP хэрэглэгчийн нэвтрэх ID SLIP холбоосын локал хаяг (SLIP серверийн хувьд локал) SLIP холбоосын алсын хаяг Сүлжээний баг Локал болон алсын хаягууд нь хостын нэрс ( /etc/nsswitch.conf файлд заасан таны тодорхойлолтуудаас хамаарч /etc/hosts файлаар юм уу эсвэл домэйн нэрний үйлчилгээгээр IP болон танигддаг) байж болох бөгөөд сүлжээний баг нь /etc/networks-аас хийгдэх хайлтаар танигдах нэр байж болно. Жишээ систем дээр /etc/sliphome/slip.hosts нь иймэрхүү харагдана: # # login local-addr remote-addr mask opt1 opt2 # (normal,compress,noicmp) # Shelmerg dc-slip sl-helmerg 0xfffffc00 autocomp Мөрийн төгсгөлд нэг буюу хэд хэд тохируулгууд байна: — толгойн шахалт байхгүй — толгойнуудыг шахна — алсын тал толгойнуудыг шахахыг зөвшөөрөх бол хийнэ — ICMP пакетуудыг хаана (таны урсгалыг дүүргэхийн оронд ping пакетууд хаягдах болно) SLIP TCP/IP сүлжээ Таны SLIP холбоосуудын локал болон алсын хаягуудын сонголт та TCP/IP дэд сүлжээг тусгайлан зориулах уу эсвэл өөрийн SLIP сервер дээрээ proxy ARP-г (энэ нь жинхэнэ proxy ARP биш боловч үүнийг тайлбарлахын тулд энэ хэсэгт энэ ухагдахуун ашиглагдах болно) ашиглах уу гэдгээс хамаарна. Хэрэв та аль аргыг сонгохдоо эсвэл IP хаягуудыг хэрхэн зааж өгөхдөө эргэлзэж байгаа бол SLIP-ийн шаардлагатай зүйлс () хэсэгт дурдсан TCP/IP-ийн номнууд ба/эсвэл өөрийн IP сүлжээний удирдагчаас лавлана уу. Та өөрийн SLIP клиентүүдийн хувьд тусдаа дэд сүлжээг ашиглах бол та өөрийн өгөгдсөн IP сүлжээний дугаараас дэд сүлжээний дугаарыг хуваарилж өөрийн SLIP клиент бүрийн IP дугааруудыг тэр дэд сүлжээнээс зааж өгөх хэрэгтэй болно. Дараа нь өөрийн хамгийн ойрын чиглүүлэгч дээр SLIP серверээрээ дамжуулан SLIP дэд сүлжээ уруу статик чиглүүлэлт тохируулах хэрэгтэй болох болов уу. Ethernet Өөрөөр, хэрэв та proxy ARP аргыг ашиглах бол та өөрийн SLIP клиентийн IP хаягуудыг өөрийн SLIP серверийн Ethernet дэд сүлжээнээс олгох хэрэгтэй болох бөгөөд та бас SLIP серверийн ARP хүснэгт дэх proxy-ARP оруулгуудыг удирдахын тулд &man.arp.8;-г ашиглахаар болгож өөрийн /etc/sliphome/slip.login болон /etc/sliphome/slip.logout скриптүүдийг тохируулах хэрэгтэй болно. <filename>slip.login</filename> тохиргоо Ердийн /etc/sliphome/slip.login файл иймэрхүү харагдана: #!/bin/sh - # # @(#)slip.login 5.1 (Berkeley) 7/1/90 # # generic login file for a slip line. sliplogin invokes this with # the parameters: # 1 2 3 4 5 6 7-n # slipunit ttyspeed loginname local-addr remote-addr mask opt-args # /sbin/ifconfig sl$1 inet $4 $5 netmask $6 Энэ slip.login файл нь ердөө л тохирох SLIP интерфэйсийн хувьд ifconfig-г локал ба алсын хаягууд болон SLIP интерфэйсийн сүлжээний багтайгаар ажиллуулдаг. Хэрэв та proxy ARP аргыг ашиглахаар шийдсэн бол (өөрийн SLIP клиентүүдийн хувьд тусдаа дэд сүлжээг ашиглахын оронд) таны /etc/sliphome/slip.login файл иймэрхүү харагдах ёстой: #!/bin/sh - # # @(#)slip.login 5.1 (Berkeley) 7/1/90 # # generic login file for a slip line. sliplogin invokes this with # the parameters: # 1 2 3 4 5 6 7-n # slipunit ttyspeed loginname local-addr remote-addr mask opt-args # /sbin/ifconfig sl$1 inet $4 $5 netmask $6 # Answer ARP requests for the SLIP client with our Ethernet addr /usr/sbin/arp -s $5 00:11:22:33:44:55 pub Энэ slip.login файл дахь arp -s $5 00:11:22:33:44:55 pub тушаал нь SLIP серверийн ARP хүснэгтэд ARP оруулгыг үүсгэдэг. Ethernet дэх өөр IP цэг SLIP клиентийн IP хаягтай ярилцахыг хүсэх үед энэ ARP оруулга нь SLIP серверийг SLIP серверийн Ethernet MAC хаягаар хариулахад хүргэдэг. EthernetMAC хаяг Дээрх жишээг ашиглаж байхдаа Ethernet MAC хаягийг (00:11:22:33:44:55) өөрийн системийн Ethernet картын MAC хаягаар солисон эсэхээ шалгаарай. Тэгэхгүй бол таны proxy ARP чинь мэдээж ажиллахгүй! Та өөрийн SLIP серверийн Ethernet MAC хаягийг netstat -i тушаалыг ажиллуулан гарсан үр дүнгээс нь харан олж болох юм; гарсан үр дүнгийн хоёр дахь мөр иймэрхүү харагдах ёстой: ed0 1500 <Link>0.2.c1.28.5f.4a 191923 0 129457 0 116 Энэ нь системийн Ethernet MAC хаяг нь 00:02:c1:28:5f:4a гэдгийг үзүүлж байгаа юм — netstat -i тушаалаар өгөгдсөн Ethernet MAC хаяг дахь цэгүүд нь тодорхойлох хоёр цэгээр солигдох ёстой бөгөөд &man.arp.8;-ийн хүсдэг хэлбэр уруу хаягийг хөрвүүлэхийн тулд ганц оронтой 16-тын тоо бүрийн өмнө тэг нэмэх ёстой. Ашиглалтын тухай бүрэн мэдээллийг &man.arp.8; гарын авлагын хуудаснаас үзнэ үү. /etc/sliphome/slip.login болон /etc/sliphome/slip.logout файлыг үүсгэж байхдаа execute буюу ажиллуулах битийг (өөрөөр хэлбэл chmod 755 /etc/sliphome/slip.login /etc/sliphome/slip.logout) тавих ёстой, тэгэхгүй бол sliplogin тушаал түүнийг ажиллуулж чадахгүй байх болно. <filename>slip.logout</filename> тохиргоо /etc/sliphome/slip.logout нь заавал хатуу чангаар хэрэгтэй биш (та proxy ARP хийгээгүй л бол) боловч та үүнийг үүсгэхийг хүсвэл энд үндсэн slip.logout скриптийн жишээ байна: #!/bin/sh - # # slip.logout # # logout file for a slip line. sliplogin invokes this with # the parameters: # 1 2 3 4 5 6 7-n # slipunit ttyspeed loginname local-addr remote-addr mask opt-args # /sbin/ifconfig sl$1 down Хэрэв та proxy ARP ашиглаж байгаа бол SLIP клиентийн хувьд ARP оруулгыг устгах /etc/sliphome/slip.logout файлтай байхыг хүсэж болох юм: #!/bin/sh - # # @(#)slip.logout # # logout file for a slip line. sliplogin invokes this with # the parameters: # 1 2 3 4 5 6 7-n # slipunit ttyspeed loginname local-addr remote-addr mask opt-args # /sbin/ifconfig sl$1 down # Quit answering ARP requests for the SLIP client /usr/sbin/arp -d $5 arp -d $5 тушаал нь ARP оруулгыг устгаж SLIP клиент нэвтрэх үед proxy ARP slip.login нэмэгддэг. /etc/sliphome/slip.logout файлыг үүсгэснийхээ дараа ажиллуулах битийг тавьсан эсэхээ шалгаарай (өөрөөр хэлбэл chmod 755 /etc/sliphome/slip.logout). Чиглүүлэлтийн эргэцүүллүүд SLIP чиглүүлэлт Хэрэв та өөрийн SLIP клиентүүд болон таны бусад сүлжээний хоорондох (болон магадгүй Интернэт хоорондох) чиглүүлэлтийн пакетуудын хувьд proxy ARP аргыг ашиглахгүй байгаа бол өөрийн SLIP клиентүүдийн дэд сүлжээг өөрийн SLIP серверээр дамжуулан чиглүүлэхийн тулд өөрийн хамгийн ойрын анхдагч чиглүүлэгчид(үүдэд) статик чиглүүлэлтүүдийг нэмэх хэрэгтэй болж болох юм. Статик чиглүүлэлтүүд статик чиглүүлэлтүүд Өөрийн хамгийн ойрын чиглүүлэгчүүдэд статик чиглүүлэлтүүдийг нэмэх нь яршигтай байж болох юм (эсвэл хэрэв та тэгж хийх зөвшөөрөлгүй бол боломжгүй байх юм...). Та өөрийн байгууллагадаа олон чиглүүлэгчтэй бол Cisco болон Proteon-ий хийсэн зарим чиглүүлэгчүүд нь зөвхөн SLIP дэд сүлжээ уруу статик чиглүүлэлттэй байхаар тохируулагдсан байх шаардлагагүй байж болох бөгөөд бас аль статик чиглүүлэлтүүд нь бусад чиглүүлэгчүүдэд хэлж байгааг хэлж өгөх хэрэгтэй болох юм. Тийм болохоор статик чиглүүлэлт дээр тулгуурласан чиглүүлэлтийг ажиллуулахад зарим нэг чадамж болон алдаа олж засварлах/тааруулах чадвар хэрэгтэй болж болох юм. <application>&gated;</application> ажиллуулах нь &gated; &gated; нь одоо хувийн програм хангамж болсон бөгөөд дахиж эх кодын хамт нийтэд хүртээмжтэй байхаа больсон (илүү мэдээлэл &gated; вэб хуудсанд бий). Зөвхөн хуучин хувилбарыг ашигласан хэвээр байгаа нөхдүүдэд зориулж нийцтэй байдлыг нь хангахын тулд энэ хэсэг нь байгаа юм. Толгой өвтгөм статик чиглүүлэлтүүдтэй адил өөр нэг сонголт нь өөрийн FreeBSD SLIP сервер дээр &gated;-г суулгаж таны SLIP дэд сүлжээний талаар бусад чиглүүлэгчүүдэд хэлэхийн тулд зохих чиглүүлэлтийн протоколуудыг (RIP/OSPF/BGP/EGP) ашиглахаар болгон тохируулах явдал юм. Та өөрийн &gated;-г тохируулахын тулд /etc/gated.conf файлыг бичих хэрэгтэй болно; энд зохиогчийн FreeBSD SLIP сервер дээр ашигласантай төстэй жишээ байна: # # gated configuration file for dc.dsu.edu; for gated version 3.5alpha5 # Only broadcast RIP information for xxx.xxx.yy out the ed Ethernet interface # # # tracing options # traceoptions "/var/tmp/gated.output" replace size 100k files 2 general ; rip yes { interface sl noripout noripin ; interface ed ripin ripout version 1 ; traceoptions route ; } ; # # Turn on a bunch of tracing info for the interface to the kernel: kernel { traceoptions remnants request routes info interface ; } ; # # Propagate the route to xxx.xxx.yy out the Ethernet interface via RIP # export proto rip interface ed { proto direct { xxx.xxx.yy mask 255.255.252.0 metric 1; # SLIP connections } ; } ; # # Accept routes from RIP via ed Ethernet interfaces import proto rip interface ed { all ; } ; RIP Дээрх жишээ gated.conf файл нь SLIP дэд сүлжээ xxx.xxx.yy-ий тухай чиглүүлэлтийн мэдээллийг RIP ашиглан Ethernet дээр цацаж байна. Хэрэв та ed драйвераас өөр Ethernet драйвер ашиглаж байгаа бол ed интерфэйсийг өөрийнхөөрөө өөрчлөх хэрэгтэй болно. Энэ жишээ файл нь бас &gated;-ийн ажиллагааг дибаг хийх зорилгоор /var/tmp/gated.output файл уруу бүртгэл хөтлөхөөр тохируулсан байна. Хэрэв &gated; таны хувьд зөв ажиллаж байгаа бол та мэдээж мөрдөх тохируулгуудыг хааж болно. Та xxx.xxx.yy-ийг өөрийн SLIP дэд сүлжээний хаягаар солих хэрэгтэй болно (proto direct хэсэг дэх сүлжээний багийг (mask) бас солихоо мартуузай). &gated;-г өөрийн систем дээрээ суулгаж тохируулсныхаа дараа routed-ийн оронд &gated;-ийг ажиллуулахаар FreeBSD-ийн эхлүүлэх скриптүүдэд хэлж өгөх хэрэгтэй болно. Үүнийг хийх хамгийн хялбар арга бол /etc/rc.conf файлд router болон router_flags хувьсагчуудыг тохируулах явдал юм. Тушаалын мөрийн параметрүүдийн тухай мэдээллийг &gated;-ийн гарын авлагын хуудаснаас үзнэ үү. diff --git a/mn_MN.UTF-8/books/handbook/security/chapter.sgml b/mn_MN.UTF-8/books/handbook/security/chapter.sgml index 4a815a3dbd..ea9fec3dc1 100644 --- a/mn_MN.UTF-8/books/handbook/security/chapter.sgml +++ b/mn_MN.UTF-8/books/handbook/security/chapter.sgml @@ -1,4769 +1,4769 @@ Мэтью Диллон Энэ бүлгийн ихэнх хэсгийг security(7) гарын авлагын хуудаснаас авсан бөгөөд security(7) гарын авлагын хуудсыг бичсэн Цагаанхүүгийн Ганболд Орчуулсан Аюулгүй байдал аюулгүй байдал Ерөнхий агуулга Энэ бүлэг нь системийн аюулгүй байдлын ухагдахуунуудын үндэс, зарим нэг нийтлэг практикийн сайн аргууд болон &os; дэх зарим нэг дэвшилттэй сэдвүүдийг танилцуулах болно. Энд дурдагдсан олон сэдвүүдийг бас системийн болон Интернэтийн аюулгүй байдалд хэрэглэж болох юм. Интернэт нь хүн бүр таны найрсаг хөрш байхыг хүсдэг найзархаг газар байхаа аль хэдийн больсон. Өөрийн системийг аюулгүй болгох нь таны өгөгдөл, оюуны өмч, цаг хугацаа зэрэг олон зүйлсийг хакерууд зэргийн савраас хамгаалахад хойшлуулашгүй чухал юм. &os; нь таны систем болон сүлжээний аюулгүй байдал болон бүрэн бүтэн байдлыг хангаж байдаг хэрэгслүүд болон арга замуудын цуглуулгыг агуулдаг. Энэ бүлгийг уншсаны дараа, та дараах зүйлсийг мэдэх болно: &os;-ийн хувьд системийн аюулгүй байдлын үндсэн ухагдахуунууд. &os;-д байдаг DES болон MD5 зэрэг төрөл бүрийн нууцлах арга замуудын талаар. Нэг удаагийн нууц үгийн нэвтрэлтийг хэрхэн тохируулах талаар. TCP Wrappers буюу - TCP Гүйцэтгэлийг хялбаршуулагчдыг inetd тушаалд ашиглан + TCP Гүйцэтгэлийг хялбаршуулагчдыг inetd-д ашиглан хэрхэн тохируулах талаар. &os;-ийн 5.0-с өмнөх хувилбарууд дээр KerberosIV-г хэрхэн тохируулах талаар. &os; дээр Kerberos5-г хэрхэн тохируулах талаар. IPsec-г хэрхэн тохируулж &os;/&windows; машинуудын хооронд VPN үүсгэх талаар. &os;-ийн SSH шийдэл болох OpenSSH-г хэрхэн тохируулж ашиглах талаар. Файлын системийн ACL-үүд гэж юу болох, тэдгээрийг хэрхэн ашиглах талаар. Portaudit хэрэгслийг хэрхэн ашиглаж Портын цуглуулгаас суулгагдсан гуравдагч програм хангамжийн багцуудыг аудит хийх талаар. &os;-ийн аюулгүй байдлын зөвлөмжүүдийн сонордуулгуудыг хэрхэн хэрэглэх талаар. Процессийн Бүртгэл хөтлөх гэж юу болох талаар ойлголттой болж түүнийг &os; дээр хэрхэн идэвхжүүлэх талаар. Энэ бүлгийг уншихаасаа өмнө, та дараах зүйлсийг мэдэх шаардлагатай: &os; болон Интернэтийн үндсэн ухагдахуунуудыг ойлгох. Энэ номонд нийтдээ аюулгүй байдлын нэмэлт сэдвүүд хамрагдсан болно. Жишээ нь Mandatory Access Control буюу Шаардлагатай Хандалтын Хяналт -д, Интернэт галт ханануудын талаар -д хэлэлцэгдсэн байгаа. Танилцуулга Аюулгүй байдал нь системийн администратораас эхэлж түүнтэй дуусдаг үйл ажиллагаа юм. BSD &unix; олон хэрэглэгчийн системүүд нь угаасаа зарим нэг аюулгүй байдлыг хангаж байдаг боловч тэдгээр хэрэглэгчдийг үнэнч байлгахыг эрмэлздэг аюулгүй байдлын нэмэлт арга замуудыг бүтээж түүний ажиллагааг хангах ажил нь сисадмины магадгүй ганц, хамгийн том үүргүүдийн нэг юм. Таныг аюулгүй болгосон зөвхөн тэр хэмжээгээр машинууд нь аюулгүй байдаг бөгөөд аюулгүй байдлын санаа зовнилууд нь хүний ая тухтай хялбар байлгах гэсэн хэрэгцээтэй үргэлж тэмцэлдэж байдаг. Ерөнхийдөө &unix; системүүд нь асар олон тооны зэрэгцээ процессуудыг ажиллуулах чадвартай бөгөөд эдгээр процессуудын ихэнх нь серверүүд болон ажилладаг — энэ нь гаднын зүйлс тэдэнтэй холбогдож ярилцах боломжтой гэсэн үг юм. Өчигдрийн миникомпьютерууд, мэйнфрэймүүдээс өнөөгийн ширээний компьютерууд болж компьютерууд нь сүлжээнд холбогдож сүлжээнүүд нь хоорондоо холбогдох тусам аюулгүй байдал нь улам илүү том асуудал болсоор байна. Системийн аюулгүй байдал нь сүйрүүлэхийг оролдсон эсвэл системийг ашиглагдахааргүй болгох гэсэн, гэхдээ root бүртгэлийг буулган авах (root-г эвдэх) оролдлого хийдэггүй, халдлагууд зэрэг төрөл бүрийн халдлагуудыг зогсоохтой бас хамааралтай юм. Аюулгүй байдлын санаа зовнилуудыг хэд хэдэн зэрэглэлд хувааж болно: Үйлчилгээг зогсоох халдлагууд. Хэрэглэгчийн бүртгэл буулган авалтууд. Хандаж болох серверүүдээр дамжин root-г буулган авах. Хэрэглэгчийн бүртгэлүүдээс дамжин root-г буулган авах. Арын хаалга үүсгэлт. DoS халдлагууд Үйлчилгээг Зогсоох (DoS) аюулгүй байдал DoS халдлагууд Үйлчилгээг Зогсоох (DoS) Үйлчилгээг Зогсоох (DoS) Үйлчилгээг зогсоох халдлага нь машиныг хэрэгцээтэй эх үүсвэрээс нь салгах үйлдэл юм. Ихэвчлэн DoS халдлагууд нь сүйрүүлэхийг оролдсон эсвэл машиныг түүн дээрх серверүүд болон сүлжээний стекийг эзэмдэн ашиглах боломжгүй болгодог балмадаар хүчлэх арга замууд юм. Зарим DoS халдлагууд нь сүлжээний стек дэх алдаануудыг ашиглан ганц пакетаар машиныг сүйрүүлэхийг оролддог. Үүнийг зөвхөн алдааны засварыг цөмд хийснээр засах боломжтой. Систем дээрх хөнөөлтэй нөхцөлд байх тэр серверийн дуудлагыг хязгаарладаг тохируулгуудыг зөв зааж серверүүд уруу хийсэн халдлагуудыг ихэвчлэн засаж болдог. Сүлжээний балмадаар хүчлэх халдлагуудын эсрэг арга хэмжээ авахад илүү төвөгтэй байдаг. Жишээ нь хууран мэхэлсэн пакетийн халдлагыг зогсоох бараг л боломжгүй, таны системийг Интернэтээс салгахад хүргэж болох юм. Энэ нь таны машиныг зогсоож чадахгүй байж болох боловч таны Интернэтийн холболтыг дүүргэж болно. аюулгүй байдал бүртгэл буулган авалтууд Хэрэглэгчийн бүртгэлийг буулган авах халдлага нь DoS халдлагаас илүү их тохиолддог. Одоо болтол олон сисадминууд стандарт telnetd, rlogind, rshd, болон ftpd серверүүдийг өөрсдийн машинууд дээр ажиллуулсаар байна. Анхдагчаар серверүүд нь шифрлэсэн холболт дээр ажилладаггүй. Ийм холболт дээр хэрэв та багагүй хэмжээний хэрэглэгчидтэй бөгөөд тэдгээр хэрэглэгчдээс нэг болон хэд хэд нь алсаас (энэ нь систем уруу нэвтрэн орох хамгийн нийтлэг тав тухтай арга юм) таны систем уруу нэвтрэн орж байгаа бол тэдгээр хэрэглэгчийн нууц үг дундаасаа сүлжээгээр шиншлэгдэн алдагдах боломжтой байдаг. Анхааралтай системийн админ тэр хэрэглэгчийн алсаас хандсан бүртгэлүүд дээрээс бүр амжилттай болсон нэвтрэлтүүдэд хүртэл сэжигтэй эхлэл хаягууд байгаа эсэхийг хайн шинжилдэг. Халдагч хэрэглэгчийн бүртгэлд хандаж чадсаны дараа root-г бас эвдэж чадна гэдгийг үргэлж бодож байх хэрэгтэй. Гэхдээ жинхэнэ амьдрал дээр бол сайн аюулгүй байдлыг хангаж нууцлаг болгосон байнга ажиллагааг нь хянаж байдаг систем дээр хэрэглэгчийн бүртгэлд хандах нь халдагч заавал ч үгүй root эрхэд хандаж чадна гэсэн үг биш юм. Энэ ялгааг зөв салгаж ойлгох хэрэгтэй. Учир нь root уруу хандах боломжгүй халдагч ерөнхийдөө өөрийн мөрийг баллаж нууж чаддаггүй бөгөөд тухайн хэрэглэгчийн файлуудыг замбараагүйтүүлэх эсвэл машиныг сүйрүүлэхээс илүүтэйг хийж чаддаггүй. Хэрэглэгчид нь сисадминууд шиг аюулгүй байдлын арга хэмжээг тэр болгон авдаггүй болохоор хэрэглэгчийн бүртгэлийн буулган авалт нь маш элбэг байдаг юм. аюулгүй байдал арын хаалганууд Машин дээрх root бүртгэлийг эвдэх боломжит олон аргууд байдгийг системийн администраторууд санаж байх хэрэгтэй. Халдагч нь root-н нууц үгийг мэдэж болно. Эсвэл халдагч root эрхээр ажилладаг серверт алдаа олж сүлжээгээр тэр сервер уруу дамжин орж root-г эвдэж болно. Эсвэл халдагч нь suid-root програмд алдаа байгааг мэдэж хэрэглэгчийн бүртгэлийг эвдэн орсныхоо дараа тэр алдаагаар дамжин root-г эвдэн орж болох юм. Хэрэв халдагч машин дээрх root-г эвдэх аргаа олсон бол заавал арын хаалга суулгах шаардлагагүй болж болох юм. root-н цоорхойнуудын олонхийг тухайн үед аль хэдийн олоод хаачихсан байдаг бөгөөд энэ үед халдагчид өөрийн мөрөө цэвэрлэхэд ихээхэн ажиллагаа шаарддаг болохоор ихэнх халдагчид арын хаалга суулгадаг. Арын хаалга нь систем уруу хандах root хандалтыг халдагчид амархнаар дахин олж авах боломжийг олгодог боловч энэ нь ухаалаг системийн администраторт халдлагыг амархнаар илрүүлэх боломжийг бас олгодог юм. Халдагчийн хамгийн эхлээд эвдэн орсон цоорхойг хааж чаддаггүй болохоор арын хаалга суулгахыг боломжгүй болгох нь магадгүй таны аюулгүй байдалд ашиггүй байж болох юм. Аюулгүй байдлын засварууд нь олон давхраатай сонгины хальс хандлагаар үргэлж шийдэгдэж байх шаардлагатай бөгөөд тэдгээрийг дараах маягаар зэрэглэж болно: root болон staff бүртгэлүүдийг нууцлаг/аюулгүй болгох. root–ажилладаг серверүүд болон suid/sgid хоёртын файлуудыг аюулгүй болгох. Хэрэглэгчийн бүртгэлүүдийг аюулгүй болгох. Нууц үгийн файлыг аюулгүй болгох. Цөмийн гол хэсэг, түүхий төхөөрөмжүүд болон файлын системүүдийг аюулгүй болгох. Системд хийгдсэн зохисгүй өөрчлөлтүүдийг түргэн илрүүлэх. Параной буюу хэт зовнил. Энэ бүлгийн дараагийн хэсэг нь дээр дурдсан зүйлсүүдийг илүү гүнзгийгээр авч үзэх болно. &os;-н аюулгүй байдлыг хангах нь аюулгүй байдал &os;-н аюулгүй байдлыг хангах нь Тушаалыг Протоколтой харьцуулахад (Command vs. Protocol) Энэ баримтын туршид бид тод текстээр програмыг monospaced фонтоор тусгай тушаалуудыг тэмдэглэх болно. Протоколууд ердийн фонт ашиглах болно. Тэмдэглэгээний энэ ялгаа нь ssh зэргийн хувьд ашигтай, учир нь энэ ssh нь протоколоос гадна бас тушаал юм. Үүнээс хойшх хэсгүүд нь түрүүчийн бүлгийн сүүлийн хэсэгт дурдсан таны &os; системийг аюулгүй болгох аргуудыг авч үзнэ. <username>root</username> бүртгэл болон staff бүртгэлүүдийг аюулгүй болгох su Эхлээд хэрэв та root бүртгэлийг аюулгүй болгоогүй бол staff бүртгэлүүдийг аюулгүй болгоход санаа зовсны хэрэггүй. Ихэнх системүүд root бүртгэлд нууц үг өгсөн байдаг. Таны эхний хийх зүйл бол нууц үг үргэлж эвдэгдэж болно гэдгийг бодох хэрэгтэй. Энэ нь та нууц үгээ устгах хэрэгтэй гэсэн үг биш юм. Нууц үг нь машин уруу консол хандалт хийхэд үргэлж хэрэгтэй байдаг. Энэ нь юу гэсэн үг вэ гэхээр та нууц үгийг консолоос гадна эсвэл болж өгвөл бүр &man.su.1; тушаалтай ашиглаж болохоор хийх ёсгүй гэсэн үг юм. Жишээ нь telnet эсвэл rlogin-р хийгдэх шууд root нэвтрэлтүүдийг хаах pty-уудын тохиргоог insecure буюу аюултай гэж /etc/ttys файлд заасан эсэхийг шалгаарай. Хэрэв бусад нэвтрэх үйлчилгээнүүд болох sshd зэргийг ашиглаж байгаа бол шууд root нэвтрэлтүүдийг бас хаасан эсэхийг шалгаарай. Та үүнийг /etc/ssh/sshd_config файлыг засварлан PermitRootLogin тохируулгыг NO болгон зааж өгөөрэй. Хандах арга бүр — FTP зэрэг үйлчилгээнүүдээр ихэвчлэн эвдлэн ордог болохыг бодолцох хэрэгтэй. Шууд root нэвтрэлтүүд зөвхөн системийн консолоор хийгдэхэд зөвшөөрөгдөх ёстой. wheel Мэдээж систем админы хувьд та root уруу орж чадаж байх ёстой болохоор бид хэдэн цоорхой үлдээдэг. Гэхдээ эдгээр цоорхойнууд нь нэмэлт нууц үг шалгаж ажилладаг байхаар бид хийдэг. root-г хандах боломжтой байлгах нэг арга нь тохирох staff бүртгэлүүдийг wheel бүлэгт (/etc/group файлд) нэмэх явдал юм. wheel бүлэгт оруулсан staff-ийн гишүүдэд root уруу su хийхийг зөвшөөрдөг. Та staff-ийн гишүүдийг тэдгээрийн нууц үгийн оруулгад wheel бүлэгт оруулан байрлуулж анхнаас нь wheel хандалт өгч хэзээ ч болохгүй. Staff бүртгэлүүдийг staff бүлэгт оруулах ёстой бөгөөд тэгээд дараа нь /etc/group файлын wheel бүлэгт нэмэх ёстой. Зөвхөн root хандалт заавал шаардлагатай тийм staff-ийн гишүүдийг wheel бүлэгт оруулах ёстой. Kerberos зэрэг жинхэнээ шалгуулж нэвтрэх аргыг ашиглаж байх тохиолдолд заавал wheel бүлэгт оруулалгүйгээр root бүртгэл дэх Kerberos-ийн .k5login файлыг ашиглаж root уруу &man.ksu.1; хийхийг зөвшөөрөх бас боломжтой байдаг. Энэ нь магадгүй давуу шийдэл байж болох юм. Учир нь хэрэв халдагч таны нууц үгийн файлыг олж аван staff бүртгэлийг эвдлэн орж чадах бол wheel арга нь халдагчид root-г эвдэх боломжийг олгосон хэвээр байдаг юм. wheel аргатай байх нь огт аргагүй байхаас илүү боловч энэ нь заавал ч үгүй хамгийн аюулгүй сонголт бас биш юм. Бүртгэлийг бүрэн түгжихийн тулд &man.pw.8; тушаалыг ашиглах хэрэгтэй: &prompt.root;pw lock staff Энэ нь &man.ssh.1;-ийг оролцуулаад хэрэглэгчийг ямар ч арга ашиглан нэвтрэн орохыг хориглоно. Бүртгэлүүдэд хандахыг хориглох өөр нэг арга бол нууцлагдсан нууц үгийг ганц * тэмдэгтээр солих явдал юм. Энэ тэмдэгт нь нууцлагдсан нууц үгтэй хэзээ ч таарахгүй бөгөөд хэрэглэгчийн хандалтыг хаах болно. Жишээ нь доор дурдсан staff бүртгэлийг: foobar:R9DT/Fa1/LV9U:1000:1000::0:0:Foo Bar:/home/foobar:/usr/local/bin/tcsh Ийм болгон өөрчлөх хэрэгтэй: foobar:*:1000:1000::0:0:Foo Bar:/home/foobar:/usr/local/bin/tcsh Энэ нь foobar хэрэглэгчийг ердийн аргууд ашиглан нэвтрэн орох боломжийг хаадаг. Энэ хандалт хязгаарлах арга нь Kerberos ашиглаж байгаа сайтууд эсвэл хэрэглэгч &man.ssh.1; ашиглан түлхүүрүүд тохируулсан тохиолдлууд зэрэгт ажилладаггүй. Эдгээр аюулгүй байдлын арга замууд нь бас таныг илүү хязгаарласан серверээс арай бага хязгаарласан машин уруу нэвтрэн орж байна гэж тооцдог. Жишээ нь хэрэв таны гол хайрцаг чинь бүх л төрлийн серверүүд ажиллуулж байвал таны ажлын компьютер чинь ямрыг ч ажиллуулах ёсгүй. Өөрийн компьютерийг боломжийн аюулгүй болгохын тулд та ерөөсөө сервергүй болтол аль болох цөөн сервер ажиллуулах хэрэгтэй бөгөөд та нууц үгээр хамгаалагдсан дэлгэц хоослогч ажиллуулах хэрэгтэй. Мэдээж ажлын компьютер уруу физик хандалт өгвөл халдагч ямар ч төрлийн аюулгүй байдлыг та хангасан байлаа гэсэн эвдэж чадна. Энэ нь таны бодох ёстой асуудлын нэг юм. Гэхдээ эвдлэн оролтуудын олонхи нь алсаас сүлжээгээр дамжин таны ажлын компьютер эсвэл серверүүдэд физик хандалт байхгүй хүмүүсээс ирдэг гэдгийг та бас л бодолцох хэрэгтэй юм. KerberosIV Kereberos мэтийг ашиглах нь танд staff бүртгэлийн нууц үгийг нэг газар өөрчлөх эсвэл хаах боломжийг олгох бөгөөд staff-ийн гишүүдийн бүртгэл байж болох бүх машинууд дээр нэн даруй бас үйлчилдэг. Хэрэв staff-ийн гишүүний бүртгэл эвдэгдсэн бол түүний нууц үгийг бүх машинууд дээр нэн даруй өөрчлөх тэр боломжийг дутуу үнэлэх ёсгүй юм. Тусдаа байгаа нууц үгүүдийг N машинууд дээр өөрчлөх нь зовлонтой байдаг. Мөн та Kerberos-д нууц үг дахин өгөлтийг ноогдуулж болох бөгөөд Kerberos тасалбарыг хэсэг хугацааны дараа дуусдагаар хийж болохоос гадна Kerberos систем нь тодорхой хугацааны (жишээ нь сар бүр) дараа хэрэглэгчийг шинэ нууц үг сонгохыг шаарддагаар бас тохируулж болдог. root-ажилладаг серверүүд болон suid/sgid хоёртын файлуудыг аюулгүй болгох ntalk comsat finger sandboxes sshd telnetd rshd rlogind Хянамгай сисадмин илүү ч үгүй дутуу ч үгүй зөвхөн өөрийн хэрэгтэй серверүүдийг ажиллуулдаг. Гуравдагч талын серверүүд ихэвчлэн хамгийн алдаатай байх хандлагатай гэдгийг санаж байх хэрэгтэй. Жишээ нь imapd эсвэл popper серверийн хуучин хувилбарыг ажиллуулна гэдэг нь универсал root тасалбарыг бүх дэлхийд өгч байна гэсэн үг юм. Та няхуур шалгаагүй сервер битгий ажиллуул. Олон серверүүд заавал root эрхээр ажиллах шаардлагагүй байдаг. Жишээ нь ntalk, comsat, болон finger дэмонуудыг тусгай хэрэглэгчийн sandboxes буюу хамгаалагдсан хязгаарлагдмал орчинд ажиллуулах боломжтой байдаг. Хамгаалагдсан хязгаарлагдмал орчин нь асар их төвгүүдийг давж хийгээгүй л бол төгс биш бөгөөд өмнө дурдсан сонгины хандлагаар аюулгүй байдалд хандах нь хэвээр байна: хэрэв хэн нэгэн нь хамгаалагдсан хязгаарлагдмал орчинд ажиллаж байгаа серверт эвдэн орж чадсан ч гэсэн тэд хамгаалагдсан хязгаарлагдмал орчныг бас эвдэн гарах хэрэг болно. Аль болох олон давхаргыг халдагч эвдлэх ёстой болох тусам тэдгээрийн амжилттай болох нь улам багасах болно. Урьд нь root цоорхойнууд нь системийн үндсэн серверүүдээс авахуулаад бараг л бүх root ажилладаг сервер дээр олдож байсан. Хэрэв таны ажиллуулдаг машин уруу хүмүүс зөвхөн sshd ашиглан нэвтэрдэг бөгөөд telnetd, rshd эсвэл rlogind хэзээ ч ашиглан нэвтэрдэггүй бол эдгээр үйлчилгээнүүдийг хаагаарай! Одоо &os; нь ntalkd, comsat, болон finger үйлчилгээнүүдийг хамгаалагдсан хязгаарлагдмал орчинд анхдагчаар ажиллуулдаг. Хамгаалагдсан хязгаарлагдмал орчинд ажиллуулж болох өөр нэг програм нь &man.named.8; юм. /etc/defaults/rc.conf нь named-г хамгаалагдсан хязгаарлагдмал орчинд ажиллуулахад шаардлагатай нэмэлт өгөгдлүүдийг тайлбар хэлбэрээр агуулсан байдаг. Таны шинэ систем эсвэл байгаа системээ шинэчилж байгаагаас хамааран тэдгээр хамгаалагдсан хязгаарлагдмал орчинд ашиглагдах тусгай хэрэглэгчийн бүртгэлүүд суулгагдаагүй байж болох юм. Хянамгай сисадмин судалгаа хийж серверүүдийг хамгаалагдсан хязгаарлагдмал орчинд аль болох ажиллуулдаг. sendmail Хамгаалагдсан хязгаарлагдмал орчинд ерөнхийдөө ажилладаггүй хэд хэдэн серверүүд байдаг: sendmail, popper, imapd, ftpd, болон бусад. Эдгээрийн зарим шиг бас өөр серверүүд байдаг боловч тэдгээрийг суулгах нь таны хүсэж байгаагаас илүү (амархан байх гэсэн асуудал энд сөхөгдөж байна) их ажиллагаа шаардаж магадгүй юм. Та эдгээр серверүүдийг магадгүй root эрхээр ажиллуулж тэдгээрт учирч болох эвдрэн оролтуудыг илрүүлэх өөр арга замуудад найдах хэрэгтэй болж болох юм. Системийн өөр нэг том боломжтой root цоорхойнууд бол системд суусан suid-root болон sgid хоёртын файлууд юм. rlogin зэрэг эдгээрийн ихэнх нь /bin, /sbin, /usr/bin, эсвэл /usr/sbin сангуудад байрладаг. Юу ч 100% аюулгүй байдаггүй боловч системийн анхдагч suid болон sgid хоёртын файлууд нь боломжийн хэрээр аюулгүй гэж тооцогддог. Гэсэн хэдий ч эдгээр хоёртын файлуудад root цоорхойнууд үе үе олддог. xterm-г (энэ нь ихэвчлэн suid байдаг) эмзэг болгосон root цоорхойнууд 1998 онд Xlib-д олджээ. Харамсахаасаа өмнө аюулгүй байж байсан нь дээр учраас хянамгай сисадмин зөвхөн staff ажиллуулах ёстойгоор staff зөвхөн хандаж чадах тусгай бүлэгт зөвшөөрч suid хоёртын файлуудыг хязгаарладаг бөгөөд хэн ч ашигладаггүй suid хоёртын файлуудыг ажиллуулж болохгүй болгодог (chmod 000). Дэлгэцгүй серверт ер нь xterm хоёртын файл хэрэгцээгүй юм. Sgid хоёртын файлууд нь бас л аюултай юм. Хэрэв халдагч sgid-kmem хоёртын файлыг эвдэж чадвал тэр /dev/kmem-г уншиж чадах бөгөөд ингэснээр нууц үгтэй дурын бүртгэлийг эвдэн орж шифрлэсэн нууц үгийн файлыг уншихад хүргэдэг. Бас kmem бүлгийг эвдсэн халдагч secure буюу аюулгүй аргаар дамжин нэвтрэн орсон хэрэглэгчдийн ашиглаж байгаа pty-уудаар илгээгдсэн гарын товчнуудын даралтуудыг хянаж чаддаг. tty бүлгийг эвдсэн халдагч бараг дурын хэрэглэгчийн tty-д бичиж чадна. Хэрэв хэрэглэгч гар дуурайх боломж бүхий терминал програм эсвэл эмулятор ажиллуулж байгаа бол хэрэглэгчийн терминалыг тушаал буцаан харуулахаар болгодог өгөгдлийн урсгалыг халдагч үүсгэж дараа нь тэр тушаалыг тэр хэрэглэгчийн эрхээр ажиллуулдаг. Хэрэглэгчийн бүртгэлүүдийг аюулгүй болгох Хэрэглэгчийн бүртгэлүүдийг аюулгүй болгох нь ихэвчлэн хамгийн хэцүү байдаг. Та өөрийн staff-д ширүүн хандалтын хязгаарлалтууд оногдуулж тэдгээрийн нууц үгүүдийг од болгож болох боловч та ердийн хэрэглэгчийн бүртгэлүүдийг яг ингэж хязгаарлаж чадахгүй байж болох юм. Хэрэв та хангалттай хяналттай байх юм бол таны аз болж хэрэглэгчийн бүртгэлүүдийг зөвөөр аюулгүй болгож чадна. Хэрэв үгүй бол та тэдгээр бүртгэлүүдийг хянахдаа ердөө л илүү сонор сэрэмжтэй байх хэрэгтэй. ssh болон Kerberos-г хэрэглэгчийн бүртгэлүүдэд ашиглах нь нэмэлт удирдлага болон техникийн дэмжлэг шаардлагатайгаас болоод илүү асуудалтай байдаг боловч энэ нь шифрлэсэн нууц үгийн файлыг бодох юм бол маш сайн шийдэл хэвээр байдаг. Нууц үгийн файлыг аюулгүй болгох Цорын ганц итгэлтэй арга бол аль болох олон нууц үгүүдийг од болгон тэдгээр бүртгэлүүдэд хандахын тулд ssh эсвэл Kerberos ашигла. Шифрлэгдсэн нууц үгийн файлыг (/etc/spwd.db) зөвхөн root уншиж чаддаг боловч халдагч root-бичих хандалт олж авч чадаагүй ч гэсэн тэр файлд унших эрх олж авах боломжтой байж болох юм. Таны аюулгүй байдлын скриптүүд нууц үгийн файлд хийгдсэн өөрчлөлтүүдийг үргэлж шалгаж тайлагнах шаардлагатай (доорх Файлын бүрэн бүтэн байдлыг шалгах хэсгийг үзнэ үү). Цөмийн гол хэсэг, түүхий төхөөрөмжүүд болон файлын системүүдийг аюулгүй болгох Хэрэв халдагч root-г эвдсэн бол тэр юуг ч хийж чадах боловч зарим ашиг сонирхлууд байдаг. Жишээ нь орчин үеийн ихэнх цөмүүдэд пакет шиншлэх төхөөрөмжийн драйвер бүтээгдсэн байдаг. &os;-д энэ нь bpf төхөөрөмж гэж нэрлэгддэг. Халдагч ердөө буулган авсан машин дээрээ пакет шиншлэгчийг ажиллуулахыг оролддог. Та халдагчид энэ боломжийг өгөх хэрэггүй бөгөөд ихэнх системүүдэд bpf төхөөрөмжийг эмхэтгэн оруулах шаардлагагүй юм. sysctl Гэхдээ bpf төхөөрөмжийг хаасан ч гэсэн та /dev/mem болон /dev/kmem файлуудад бас санаа тавих хэрэгтэй. Энэнээс болоод халдагч түүхий (raw) төхөөрөмжүүдэд бичиж чадсан хэвээр байна. Мөн цөмийн бас нэг боломж болох модуль ачаалагч гэж нэрлэгддэг &man.kldload.8; байдаг. Самбаатай халдагч KLD модуль ашиглаад өөрийн bpf төхөөрөмж эсвэл бусад шиншлэх төхөөрөмжийг ажиллаж байгаа цөмд суулгадаг. Эдгээр асуудлуудаас зайлсхийхийн тулд та цөмийг илүү өндөр аюулгүй байдлын түвшинд ядаж аюулгүйн түвшин 1-д ажиллуулах хэрэгтэй. Аюулгүй түвшин sysctl тушаалаар kern.securelevel хувьсагчийн тусламжтай тохируулагдаж болно. Аюулгүйн түвшинг 1 болгосны дараа түүхий төхөөрөмжүүдэд бичих хандалт хийхийг хориглох бөгөөд schg зэрэг chflags тугууд үйлчлэх болно. Мөн та чухал эхлүүлэх хоёртын файлууд, сангууд болон скрипт файлууд, ер нь аюулгүйн түвшин заагдах хүртэл ажиллаж байгаа бүгдэд schg туг байгаа эсэхийг шалгах хэрэгтэй. Энэ нь хэтэрхий болж болох бөгөөд таныг илүү өндөр аюулгүйн түвшинд ажиллаж байгаа үед системийг шинэчлэхийг бүр илүү төвөгтэй болгодог юм. Та буулт хийж системийн бүх файл болон санд schg тугийг зааж өгөлгүйгээр системийг өндөр аюулгүйн түвшинд ажиллуулж болох юм. Өөр нэг боломж нь / болон /usr санг ердөө л зөвхөн уншихаар холбох явдал юм. Хамгаалах зүйлдээ хэт ширүүн байх нь булаан эзлэлтийн бүх чухал илрүүлэлтийг бас болиулж болохыг санахад илүүдэхгүй. Файлын бүрэн бүтэн байдлыг шалгах нь: Хоёртын файлууд, Тохиргооны файлууд, гэх мэт. Тэр мөч ирэхэд, та зөвхөн системийн гол тохиргоо болон хяналтын файлуудаа ая тухын хүчин зүйл урьтахаас хамаагүй өмнө хамгаалж чадна. Жишээ нь chflags тушаал ашиглан / болон /usr сангууд дахь ихэнх файлуудад schg битийг тохируулах нь магадгүй үр ашиггүй байж болох бөгөөд учир нь ингэснээр файлуудыг хамгаалахын хажуугаар бас илрүүлэх цонхыг хаадаг юм. Таны аюулгүй байдлын сонгины сүүлийн давхарга нь илрүүлэлт бөгөөд энэ нь хамгийн чухал юм. Хэрэв та боломжит халдагчдыг илрүүлж чадахгүй л бол аюулгүй байдлын бусад үлдсэн асуудлуудын талаар бодоод ч бараг хэрэггүй юм (эсвэл бүр дэмий юм, аюулгүй байдлыг танд буруу ойлгуулахад хүргэдэг). Сонгины ажлын хагас нь халдагчийг үйлдэл дээр нь барихын тулд түүнийг зогсоохын оронд харин удаашруулах явдал юм. Халдлагыг илрүүлэх хамгийн сайн арга бол өөрчлөгдсөн, алга болсон, эсвэл гэнэтийн файлуудыг хайх явдал юм. Өөрчлөгдсөн файлуудыг хайх хамгийн сайн арга бол тэдгээрийг өөр (ихэвчлэн төвлөрсөн) хязгаарлагдмал хандалттай системээс хайх явдал юм. Өөрийн аюулгүй байдлын скриптийг нэмэлт аюулгүй байдал хангасан хязгаарлагдмал хандалттай систем дээр бичих нь тэдгээрийг боломжит халдагчдад бараг харагдуулдаггүй бөгөөд энэ нь чухал юм. Давуу талыг хамгийн ихээр авахын тулд ерөнхийдөө хязгаарлагдмал хандалттай хайрцагт бусад машинуудад хандах тэр ач холбогдолтой хандалтыг өгөх хэрэгтэй. Үүнийг ихэвчлэн бусад машинуудын зөвхөн унших NFS экспортыг хязгаарлагдмал хандалттай хайрцагт өгөх эсвэл ssh түлхүүр хослолыг тохируулж хязгаарлагдмал хандалттай хайрцгийг бусад машинууд уруу ssh хийхийг зөвшөөрөх замаар хийдэг. Өөрийн сүлжээний урсгалыг тооцохгүй юм бол NFS нь хамгийн харагддаггүй арга юм — энэ нь клиент хайрцаг бүр дэх файлын системүүдийг монитор хийхийг танд зөвшөөрч бараг л илэрдэггүй. Хэрэв таны хязгаарлагдмал хандалттай сервер нь клиент хайрцагнууд уруу hub буюу салаалагч эсвэл чиглүүлэлтийн хэд хэдэн давхаргаар дамжин холбогдсон бол NFS арга нь хэтэрхий аюултай (сүлжээний хувьд) байж болох бөгөөд ssh-ийг ашиглах нь түүний гаргадаг аудит мөрийн замуудтай байсан ч гэсэн магадгүй илүү сонголт байж болох юм. Монитор хийгдэх клиент систем уруу хандахад хамгийн багаар бодоход унших эрхийг та хязгаарлагдмал хандалттай хайрцагт өгсний дараа яг мониторыг хийхдээ скрипт бичих хэрэгтэй. Өгөгдсөн NFS холболтод &man.find.1; болон &man.md5.1; зэрэг энгийн системийн хэрэгслүүд ашиглан та скриптүүд бичиж болно. Клиент хайрцгийн файлуудад өдөрт нэг удаа физикээр md5 хийж /etc болон /usr/local/etc сангууд дахь хяналтын файлуудыг бүр илүү давтамжтайгаар шалгаж байх нь зүйтэй юм. Хязгаарлагдмал хандалттай машины зөв гэж тооцсон md5 мэдээлэлтэй харьцуулахад тарахгүй файлууд олдвол сисадминд үүнийг очиж шалгахыг хашгиран мэдээлэх ёстой. Аюулгүй байдлын сайн скрипт нь тохирохгүй suid хоёртын файлууд болон / болон /usr зэрэг системийн хуваалтууд дээрх шинээр үүссэн эсвэл устгагдсан файлуудыг бас шалгадаг. NFS биш ssh-ийг ашиглаж байх үед аюулгүй байдлыг скрипт бичих нь бүр илүү хэцүү байдаг. Та скриптүүдийг харагдуулж ажиллуулахын тулд тэдгээрийг клиент хайрцаг уруу үндсэндээ scp хийх хэрэгтэй бөгөөд аюулгүй байдлаа бодох юм бол та тэдгээр скриптүүдийн ашигладаг хоёртын файлуудыг (find гэх зэрэг) бас scp хийх хэрэгтэй юм. Клиент хайрцаг дээрх ssh клиент аль хэдийн эвдэгдсэн байж болох юм. Аюултай холболтоор ажиллаж байгаа бол ssh-г ашиглах нь шаардлагатай байж болох боловч бас түүнтэй ажиллахад бүр илүү хэцүү байдаг юм. Аюулгүй байдлын сайн скрипт нь .rhosts, .shosts, .ssh/authorized_keys гэх зэрэг MD5 шалгалтын хүрээний гадуур байх хэрэглэгч болон staff-ийн гишүүдийн хандалтын тохиргооны файлууд дахь өөрчлөлтүүдийг бас шалгадаг. Хэрэв та асар их хэрэглэгчийн дискний зайтай бол тэдгээр хуваалтууд дээр байгаа файл бүр дээр ажиллахад хэт удаж болох юм. Энэ тохиолдолд suid хоёртын файлуудыг хаах холболтын тугуудыг зааж өгөх нь зүйтэй юм. nosuid нь таны хайж байгаа тэр тохируулга юм. Энэ давхаргын зорилго нь эвдлэн оролтын оролдлогуудыг амжилттай эсвэл амжилтгүй болсноос үл хамааран илрүүлэх явдал учраас ямар ч гэсэн ядаж долоо хоногт нэг удаа та тэдгээр файлуудыг магадгүй шалгаж байх хэрэгтэй юм. Процессийн бүртгэл хийх нь (&man.accton.8;-г үзнэ үү) эвдлэн оролтын дараах үнэлэх арга замууд болон тусалж болох харьцангуй бага ачаалал бүхий үйлдлийн системийн боломж юм. Энэ нь эвдлэн орсны дараа файлыг хөндөөгүй хэвээр гэж үзэн халдагч систем уруу хэрхэн эвдлэн орсныг мөрдөхөд ялангуяа ашигтай байдаг. Эцэст нь аюулгүй байдлын скриптүүд нь бүртгэлийн файлуудыг процесс хийх ёстой бөгөөд бүртгэлүүд өөрсдөө аль болох аюулгүй байдлаар үүсгэгдэх ёстой бөгөөд алсын syslog нь их ашигтай байж болох юм. Халдагч өөрийн мөрийг арилгахыг оролдох бөгөөд эхний эвдлэн оролтын арга болон хугацааг мөрдөхөд сисадмины хувьд бүртгэлийн файлууд нь маш чухал байдаг юм. Бүртгэлийн файлуудын байнгын бичлэгийг хадгалах нэг арга нь системийн консолыг сериал порт уруу ажиллуулж консолуудыг хянаж аюулгүй машин дээр мэдээллийг цуглуулах явдал юм. Параной буюу хэт зовнил Бага зэргийн хэт зовнил буруудахгүй. Дүрэм болгож тав тухтай байдлыг алдагдуулдаггүй дурын тооны аюулгүй байдлын боломжуудыг сисадмин нэмж болох бөгөөд зарим анхаарлыг бодолцон тав тухтай байдалд нөлөөлөх аюулгүй байдлын боломжуудыг бас нэмж болох юм. Бүр илүү чухал нь аюулгүй байдлын администратор үүнийг бага зэрэг хольж хэрэглэж болно — хэрэв та энэ баримтад дурдсан заавруудыг үгчлэн ашиглавал энэ баримтыг уншсан ирээдүйн халдагчид та өөрийн арга замуудыг заан өгч байна гэсэн үг юм. Үйлчилгээг Зогсоох Халдлагууд Үйлчилгээг Зогсоох (DoS) Энэ хэсэг нь Үйлчилгээг Зогсоох халдлагуудыг хамарна. DoS халдлага нь ихэвчлэн пакетийн халдлага байдаг. Таны сүлжээг дүүргэж байгаа орчин үеийн хууран мэхэлсэн пакетийн халдлагуудын эсрэг нэг их юм хийж чадахгүй ч гэсэн халдлагууд таны серверүүдийг унагахгүйн тулд та ерөнхийдөө хохирлыг хязгаарлаж болно: Серверийн fork хийлтийг хязгаарлах. Springboard буюу бусад халдлагуудыг хязгаарлах (ICMP хариу халдлагууд, ping цацалт, гэх мэт.). Цөмийн чиглүүлэлтийн кэшийг хэт ачаалах. Нийтлэг DoS халдлагын дүр зураг бол fork хийгдэж байгаа серверт халдаж түүнээр асар их хүүхэд процесс үүсгүүлж эцсийн эцэст хост системийн хувьд санах ой, файлын тодорхойлогчууд гэх мэтүүд дуусч зогсоход хүргэдэг. inetd (&man.inetd.8;-г үзнэ үү) нь энэ төрлийн халдлагыг хязгаарлах хэд хэдэн тохируулгатай. Машиныг зогсоохоос хамгаалах боломжтой боловч ерөнхийдөө үйлчилгээг халдлагад өртүүлэхгүй байх боломжгүйг энд тэмдэглэх нь зүйтэй юм. inetd гарын авлагын хуудсыг анхааралтай уншиж , , болон тохируулгуудад ялангуяа анхаарлаа хандуулаарай. Хууран мэхэлсэн IP халдлагууд нь inetd дахь тохируулгыг хуурах учраас ихэвчлэн тохируулгуудын хослолыг ашиглах шаардлагатай. Зарим дан серверүүд өөрийн fork хийгдэхийг хязгаарлах параметрүүдтэй байдаг. Sendmail нь тохируулгатай байдаг бөгөөд энэ нь Sendmail-ийг ачаалал хязгаарлах тохируулгатай ажиллуулж ачааллын хоцрогдол үүсгэснээс хавьгүй илүүтэйгээр ажилладаг. Та Sendmail-г ажиллуулахдаа хүссэн ачааллыг даахаар гэхдээ компьютерийг унагахаар их хэмжээний тоогоор Sendmail-үүдийг ажиллуулах биш түүнээс багаар MaxDaemonChildren параметрийг хангалттай өндрөөр тавьж өгөх хэрэгтэй. Мөн sendmail-ийг дарааллын горимоор () ажиллуулах болон дэмонг (sendmail -bd) дараалалтай (sendmail -q15m) ажиллуулдгаас тусад нь ажиллуулах нь чухал юм. Хэрэв та шууд илгээх горимыг хүсэж байгаа бол та дарааллыг зэргээр бүр бага интервалаар ажиллуулах боломжтой боловч MaxDaemonChildren тохируулгыг боломжийн утгаар хоорондоо холбоотой амжилтгүйтлүүдээс sendmail-ийг хамгаалахын тулд зааж өгсөн эсэхээ шалгаарай. Syslogd-д шууд халдаж болох учраас аль болох тохируулгыг эсвэл тохируулгыг ашиглахыг танд зөвлөдөг. Шууд халдлага хийгдэж болох TCP Wrapper-ийн буцах identd зэрэг буцан холбогддог үйлчилгээнүүдийн хувьд та маш хянамгай байх хэрэгтэй. Ийм учраас та TCP Wrapper-ийн буцах identd боломжийг ерөнхийдөө ашиглах хэрэггүй юм. Та өөрийн захын чиглүүлэгчүүд дээрээ дотоод үйлчилгээнүүд уруугаа гаднаас хандуулахгүй болгож галт ханаар хамгаалах нь зүйтэй юм. Үүний цаадах санаа нь гаднаас ирж болзошгүй сүлжээ дүүргэх халдлагаас өөрийн LAN-г хамгаалах явдал бөгөөд сүлжээн дээр тулгуурласан root эрхийг буулгахаас дотоод үйлчилгээнүүдийг хамгаалах зүйлс тийм их биш юм. exclusive буюу хамааруулаагүй галт ханыг үргэлж тохируулах хэрэгтэй, өөрөөр хэлбэл A, B, C, D болон M-Z портуудаас бусад бүгдийг галт ханаар хамгаалах хэрэгтэй. Ингэснээр та named (хэрэв та бүсийн хувьд анхдагч бол), ntalkd, sendmail болон бусад Интернэтээс хандах үйлчилгээнүүд зэрэг зарим нэг тусгай үйлчилгээнүүдийн портуудаас бусад бүх бага дугаарын портуудыг галт ханаар хамгаалж чадах юм. Хэрэв та галт ханыг өөр аргаар — inclusive буюу хамааруулсан эсвэл зөвшөөрсөн галт хана маягаар тохируулахыг оролдвол хэд хэдэн үйлчилгээнүүдийг хаахаа мартаж магадгүй юм, эсвэл та шинэ дотоод үйлчилгээ нэмээд галт ханаа шинэчлэхээ мартаж болох юм. Та галт хана дээр зөвшөөрсөнтэй адил үйлдлийг нэвтрүүлэхийн тулд бага дугаарын портуудыг нээлгүйгээр өндөр дугаарын портуудыг онгойлгож болох юм. Мөн &os; нь динамик холболтод хэрэглэгддэг портуудыг sysctl-ийн төрөл бүрийн net.inet.ip.portrange хувьсагчуудаар (sysctl -a | fgrep portrange) хянах боломжийг танд олгодгийг бас тэмдэглэх нь зүйтэй юм. Энэ нь бас таны галт ханын тохиргооны төвөгтэй байдлыг амарчилдаг юм. Жишээ нь та ердийн 4000-аас 5000 хүртэлх портууд болон 49152-оос 65535 хүртэлх өндөр дугаарын портуудыг ашигладаг бол 4000-аас бага бүгдийг өөрийн галт хана дээр хаах хэрэгтэй (мэдээж Интернэтээс ханддаг хэдэн тусгай портуудаас бусад). Өөр нийтлэг DoS халдлагуудын нэг нь springboard халдлага юм — сервер, дотоод сүлжээ эсвэл бусад машиныг хариу үйлдэл хийхийг нь ихэсгэж хэт ачаалахад хүргэдэг халдлага юм. Ийм маягийн хамгийн нийтлэг халдлага нь ICMP ping broadcast буюу цацалт юм. Халдагч таны LAN-ий цацах хаяг уруу илгээсэн ping пакетийнхаа эхлэл IP хаягийг халдахыг хүсэж байгаа машиныхаа IP хаягаар сольж хуурдаг. Хэрэв таны захын чиглүүлэгчүүд цацах хаяг уруу илгээх ping пакетуудыг зогсоохоор тохируулагдаагүй бол таны LAN хангалттай хариу үүсгэн хууран мэхэлсэн эхлэл хаяг уруу илгээж, ялангуяа халдагч хэдэн арван цацах хаягууд уруу өөр өөр хэдэн арван сүлжээнүүдээр дамжин энэ башир аргаа ашигласан үед, хохирогчийг дүүргэдэг. 120 мегабайтаас илүү хэмжээний цацах халдлага одоогоор хэмжигдээд байна. Энэ төрлийн хоёр дахь нийтлэг халдлага нь ICMP-ийн алдаа тайлагнах системийн эсрэг халдлага юм. ICMP алдааны мэдэгдэл үүсгэдэг пакетуудыг бүтээж халдагч серверийн орж ирж байгаа сүлжээг дүүргэж ингэснээр серверийг өөрийн гарах сүлжээг ICMP хариунуудаар дүүргэхэд хүргэдэг. Энэ төрлийн халдлага нь ялангуяа хэрэв сервер үүсгэж байгаа ICMP хариунуудаа хангалттай хурднаар шавхан гаргаж чадахгүй байгаа бол серверийг санах ойгүй болгож сүйрүүлж бас болох юм. sysctl-ийн net.inet.icmp.icmplim хувьсагчийг ашиглан эдгээр халдлагуудыг хязгаарлах хэрэгтэй. Springboard төрлийн халдлагуудын сүүлийн гол ангилал нь udp цуурай үйлчилгээ зэрэг зарим дотоод inetd үйлчилгээнүүдтэй холбоотой юм. Халдагч UDP пакетийг хууран мэхэлж A болон B сервер нь хоёулаа таны LAN-д байгаа тийм A серверийн цуурай порт дээрх эхлэл хаягаар болон төгсгөл хаягийг B серверийн цуурай порт дээрх хаягаар сольдог. Уг хоёр сервер дараа нь энэ ганц пакетийг хоорондоо шидэлцдэг. Эдгээр серверүүд болон тэдгээрийн LAN-г энэ маягаар халдагч хэдхэн пакетуудыг хатган оруулан хэт ачаалж чаддаг. Үүнтэй адил асуудлууд дотоод chargen портод бас байдаг. Чадварлаг сисадмин эдгээр бүх дотоод inetd тест үйлчилгээнүүдийг хаадаг. Хууран мэхэлсэн пакетийн халдлагуудыг цөмийн чиглүүлэлтийн кэшийг хэт ачаалахад хэрэглэж болдог. net.inet.ip.rtexpire, rtminexpire, болон rtmaxcache sysctl параметрүүдийг үзнэ үү. Дурын эхлэл IP хаягийг ашигласан хууран мэхэлсэн пакетийн халдлага нь чиглүүлэлтийн хүснэгтэд түр зуур кэш хийгдсэн чиглүүлэлтийг цөмөөр үүсгүүлэхэд хүргэдэг бөгөөд энэ нь netstat -rna | fgrep W3 тушаалаар харагддаг. Эдгээр чиглүүлэлтүүд нь ихэвчлэн 1600 секунд орчим хугацааны дотор дуусдаг. Хэрэв цөм кэш хийгдсэн чиглүүлэлтийн хүснэгт хэтэрхий том болсныг илрүүлэх юм бол rtexpire динамикаар багасгадаг боловч rtminexpire-с бага болтол хэзээ ч багасгадаггүй. Хоёр асуудал байдаг: Бага ачаалагдсан сервер гэнэт халдлагад өртөхөд цөм хангалттай хурдан хариу үйлдэл хийдэггүй. rtminexpire хувьсагч нь үргэлжилсэн халдлагыг цөм дааж чадахаар хангалттай бага байдаггүй. Хэрэв таны серверүүд Интернэтэд T3 эсвэл илүү хурдаар холбогдсон бол &man.sysctl.8;-оор rtexpire болон rtminexpire хувьсагчуудыг хоёуланг гараар дарж бичихдээ хянамгай байх хэрэгтэй. Аль ч параметрийг (машиныг сүйрүүлэхийг та хүсээгүй л бол) хэзээ ч битгий 0 болгоорой. Эдгээр параметрүүдийг хоёуланг нь 2 секунд болгох нь чиглүүлэлтийн хүснэгтийг халдлагаас хамгаалахад хангалттай байх ёстой. Kerberos болон SSH-тэй холбоотой хандалтын асуудлууд ssh KerberosIV Хэрэв та Kerberos болон ssh-г хоёуланг ашиглахаар бол цөөн хэдэн асуудлуудыг дурдах хэрэгтэй. Kerberos 5 нь жинхэнийг шалгах маш сайн нэвтрэлтийн протокол боловч түүнийг ашигласан telnet болон rlogin-д байдаг алдаанууд нь энэ хоёр програмыг хоёртын урсгалтай ажиллахад тохиромжгүй болгодог. Мөн тохируулгыг ашиглахгүй л бол анхдагчаар Kerberos нь сессийг шифрлэдэггүй. ssh нь бүгдийг шифрлэдэг. Ssh нь анхдагчаар шифрлэсэн түлхүүрүүдээ дамжуулдгаас бусад бүх л талаараа зэгсэн сайн ажилладаг. Энэ нь юу гэсэн үг вэ гэхээр та хэрэв системийн бусад хэсэгт хандах боломж олгодог түлхүүрүүд бүхий аюулгүй ажлын компьютертай бөгөөд та аюултай машин уруу ssh хийвэл таны түлхүүрүүд ашиглагдах боломжтой гэсэн үг юм. Яг түлхүүрүүд нь өөрсдөө ил гардаггүй боловч ssh нь таны нэвтэрсэн хугацааны туршид зориулж дамжуулах порт суулгадаг бөгөөд хэрэв халдагч аюулгүй машин дээрх root-г эвдсэн бол тэрхүү портыг таны түлхүүрүүдийг ашиглахын тулд хэрэглэн таны түлхүүрээр тайлагдах өөр бусад машинуудад хандах боломжийг олж авах боломжтой юм. Бид staff нэвтрэлтүүдийн хувьд аль болох ssh-г Kerberos-той цуг ашиглахыг зөвлөдөг. Ssh нь Kerberos-ийн дэмжлэгтэй эмхэтгэгдэж болдог. Энэ нь ил гарсан байж болзошгүй ssh түлхүүрүүдэд найдах таны найдварыг багасгахын хамт нууц үгүүдийг Kerberos-оор хамгаалдаг. Ssh түлхүүрүүд нь аюулгүй машинуудын автоматчилагдсан ажлуудад (Kerberos-оор хийхэд таарахгүй) зөвхөн хэрэглэгдэх ёстой. Мөн бид таныг ssh-ийн тохиргоондоо key-forwarding буюу түлхүүр дамжуулалтыг болиулах эсвэл ssh-ийн authorized_keys файлдаа зөвхөн тусгайлсан машинуудаас нэвтрэхэд түлхүүрийг ашиглаж болохоор болгож зөвшөөрдөг from=IP/DOMAIN тохируулгыг ашиглахыг зөвлөдөг. Билл Свингл Хэсгүүдийг дахин бичиж шинэчилсэн DES, MD5, болон Crypt аюулгүй байдал crypt crypt Blowfish DES MD5 &unix; систем дээрх хэрэглэгч бүрийн хувьд нууц үг бүртгэлтэй нь холбоотой байдаг. Мэдээж эдгээр нууц үгүүд нь зөвхөн хэрэглэгч ба үйлдлийн системд мэдэгдэж байх ёстой. Эдгээр нууц үгүүдийг нууцлаг байлгахын тулд тэдгээрийг one-way hash буюу үл буцах хэш гэгддэг шифрлэхэд амархан боловч буцааж болдоггүй аргаар шифрлэдэг. Өөрөөр хэлбэл хормын өмнө мэдээж гэж хэлсэн бидний хэлсэн үг яг жинхэнэдээ үнэн биш юм: үйлдлийн систем өөрөө нууц үгийг жинхэнэдээ мэддэггүй. Энэ нь зөвхөн нууц үгийн шифрлэсэн хэлбэрийг мэддэг. plain-text буюу ердийн уншигдах текст хэлбэрийн нууц үгийг авах цорын ганц арга нь боломжит нууц үгүүдийн орон зайгаас балмадаар хүчлэн хайх явдал юм. Харамсалтай нь &unix; бий болсон тэр үед нууц үгийг аюулгүй аргаар шифрлэх цорын ганц арга нь DES, Data Encryption Standard буюу Өгөгдөл Шифрлэх Стандарт дээр үндэслэсэн байлаа. Энэ нь АНУ-д оршин сууж байсан хэрэглэгчдийн хувьд тийм ч асуудалтай биш байсан юм, гэхдээ DES-ийн эх код АНУ-аас гадагшаа экспорт хийгдэж болохгүй байсан учир &os; нь АНУ-ын хуулийг дагахын хажуугаар DES-ийг ашигласан хэвээр байсан бусад бүх &unix; төрлүүдтэй нийцтэй байх арга замыг хайж олоход хүрсэн юм. Үүний шийдэл нь АНУ-ын хэрэглэгчид DES сангуудыг суулгаж ашиглах боломжтой мөртлөө олон улсын хэрэглэгчид гадагш экспорт хийгдэж болох шифрлэх аргатай бас байхаар шифрийн сангуудыг хуваасан явдал байлаа. Ингэж &os; нь MD5-ийг өөрийн анхдагч шифрлэх аргаа болгон ашиглах болсон юм. MD5 нь DES-ээс илүү аюулгүй нууцлаг гэгддэг бөгөөд DES-ийг суулгах нь үндсэндээ нийцтэй байх шалтгаануудын улмаас зориулагдсан юм. Өөрийн Crypt арга замыг таних нь Одоогоор шифрийн сан DES, MD5 болон Blowfish хэш функцуудыг дэмждэг. Анхдагчаар &os; нь MD5 ашиглан нууц үгүүдийг шифрлэдэг. &os; аль шифрлэх аргыг тохируулж ашиглаж байгааг мэдэх хялбар байдаг. /etc/master.passwd файл дахь шифрлэсэн нууц үгийг шалгах нь нэг арга юм. MD5 хэшээр шифрлэгдсэн нууц үгүүд нь DES-р шифрлэгдсэнийгээ бодох юм бол урт бөгөөд $1$ тэмдэгтээр бас эхэлдэг. $2a$ тэмдэгтээр эхэлсэн нууц үгүүд Blowfish хэш функцаар шифрлэгдсэн байдаг. DES мөр нь ямар нэг тусгайлан таньж болох шинж тэмдэггүй байдаг боловч тэд MD5 нууц үгүүдээс богино бөгөөд $ тэмдэгт ордоггүй 64 тэмдэгттэй цагаан толгойгоор кодчилогддог, тиймээс долларын тэмдэгтээр эхлээгүй харьцангуй богино мөр ихэвчлэн DES нууц үг байдаг. Шинэ нууц үгүүдэд ашиглагдах нууц үгийн хэлбэр нь нэвтрэлтийн passwd_format боломжийн тусламжтай /etc/login.conf файлд хянагддаг бөгөөд энэ хувьсагч нь des, md5 эсвэл blf утгуудыг авдаг. Нэвтрэлтийн боломжуудын талаар дэлгэрэнгүй мэдээллийг &man.login.conf.5; гарын авлагын хуудаснаас үзнэ үү. Нэг удаагийн нууц үгүүд нэг удаагийн нууц үгүүд аюулгүй байдал нэг удаагийн нууц үгүүд Анхдагчаар &os; OPIE (One-time Passwords In Everything буюу Бүхэнд зориулсан нэг удаагийн нууц үгүүд) дэмжлэгтэй байдаг бөгөөд энэ нь MD5 хэшийг анхдагчаар ашигладаг. Бид гурван өөр төрлийн нууц үгийг доор хэлэлцэх болно. Эхнийх нь таны ердийн &unix; загварын эсвэл Kerberos нууц үг юм; бид үүнийг &unix; нууц үг гэж нэрлэх болно. Хоёр дахь төрөл нь OPIE &man.opiekey.1; програмаар үүсгэгдэж &man.opiepasswd.1; програм болон нэвтрэлт хүлээх мөр хүлээн авах нэг удаагийн нууц үг юм; бид үүнийг нэг удаагийн нууц үг гэх болно. Сүүлийн төрөл нууц үг бол opiekey програмд (заримдаа opiepasswd програмууд) өгдөг нууцлаг нууц үг бөгөөд үүнийг ашиглан дээрх програмууд нэг удаагийн нууц үг үүсгэдэг; бид үүнийг нууцлаг нууц үг гэх буюу эсвэл зүгээр л шалгагдаагүй нууц үг гэх болно. Нууцлаг нууц үг нь таны &unix; нууц үгтэй ямар ч холбоогүй юм; тэдгээр нь адил байж болох боловч ингэхийг зөвлөдөггүй. OPIE нууцлаг нууц үгүүд нь хуучин &unix; нууц үгүүд шиг 8 тэмдэгтэд хязгаарлагддаггүй &os; дээр стандарт нэвтрэх нууц үг уртаараа 128 тэмдэгт хүртэл байж болдог. бөгөөд таны хүссэн хэмжээний урттай байж болдог. Зургаа эсвэл долоон үг бүхий өгүүлбэрээс тогтох нууц үгүүд нэлээн элбэг байдаг. Ихэнх хэсгийн хувьд OPIE систем &unix;-ийн нууц үгийн системээс бүр мөсөн ангид ажилладаг. Нууц үгээс гадна OPIE-д чухал өгөгдлийн өөр хоёр хэсэг байдаг. Нэг нь seed буюу үр эсвэл key буюу түлхүүр гэгддэг бөгөөд 2 үсэг болон таван тооноос тогтдог. Нөгөөдөх нь давталтын тоо буюу 1-ээс 100 хүртэлх тоо юм. OPIE нэг удаагийн нууц үгийг үр болон нууцлаг нууц үгийг нийлүүлэн MD5 хэшийг давталтын тоогоор ашиглан үүсгэж үр дүнг нь зургаан богино Англи үг болгодог. Эдгээр зургаан Англи үг нь таны нэг удаагийн нууц үг юм. Нэвтрэлт шалгах систем (үндсэндээ PAM) ашигласан хамгийн сүүлийн нэг удаагийн нууц үгийг хадгалж байдаг бөгөөд хэрэглэгчийн өгсөн нууц үгийн хэш өмнөх нууц үгтэй таарч байвал хэрэглэгчийг нэвтрүүлдэг. Үл буцах хэш ашиглагддаг болохоор хэрэв амжилттайгаар ашиглагдсан нууц үгийг олж авсан бол дараа дараагийн нэг удаагийн нууц үгүүдийг үүсгэх боломжгүй байдаг; хэрэглэгч болон нэвтрэлтийн програмыг хамгийн сүүлийн хэлбэрт адилхан байлгаж байхын тулд давталтын тоо амжилттай нэвтрэлт хийгдэх бүрийн дараа багасаж байдаг. Давталтын тоо 1 хүрэх үед OPIE дахин хийгдэх хэрэгтэй болно. Систем болгоны хувьд хэдэн програмууд байдаг бөгөөд тэдгээрийг бид энд хэлэлцэх болно. opiekey програм давталтын тоо, үр болон нууцлаг нууц үгийг хүлээн авч нэг удаагийн нууц үг эсвэл нэг удаагийн нууц үгүүдийн үргэлжилсэн жагсаалтыг үүсгэдэг. opiepasswd програмыг OPIE-г эхлүүлэх болон нууц үг, давталтын тоо эсвэл үр өөрчлөхөд ашигладаг; энэ нь нууцлаг нэвтрэх үгс аль эсвэл давталтын тоо, үр болон нэг удаагийн нууц үгийг авдаг. opieinfo програм тохирох итгэмжлэлүүдийн файлуудыг (/etc/opiekeys) шалгаж ажиллуулсан хэрэглэгчийн одоогийн давталтын тоо болон үрийг дэлгэцэд гаргадаг. Бид дөрвөн өөр төрлийн үйлдлийн талаар хэлэлцэх болно. Эхнийх нь аюулгүй холболтоор opiepasswd ашиглаж нэг удаагийн нууц үгүүдийг эхний удаа тохируулах эсвэл өөрийн нууц үг эсвэл үрийг өөрчлөх үйлдэл юм. Хоёр дахь үйлдэл нь opiepasswd-г аюултай холболтоор, opiekey тушаалыг аюулгүй холболтоор ашиглаж адил үйлдлийг хийх явдал юм. Гурав дахь нь opiekey-г аюултай холболтоор ашиглан нэвтрэн орох үйлдэл юм. Дөрөв дэх нь opiekey-г ашиглан хэд хэдэн түлхүүрүүд үүсгэх үйлдэл бөгөөд гадагшаа аюулгүй холболтуудгүй газрууд уруу явахдаа тэдгээр түлхүүрүүдийг бичин авч эсвэл хэвлэн аваад өөртөө авч явж болох юм. Аюулгүй холболт эхлүүлэх OPIE-г эхний удаа эхлүүлэхдээ opiepasswd тушаалыг ажиллуул: &prompt.user; opiepasswd -c [grimreaper] ~ $ opiepasswd -f -c Adding unfurl: Only use this method from the console; NEVER from remote. If you are using telnet, xterm, or a dial-in, type ^C now or exit with no password. Then run opiepasswd without the -c parameter. Using MD5 to compute responses. Enter new secret pass phrase: Again new secret pass phrase: ID unfurl OTP key is 499 to4268 MOS MALL GOAT ARM AVID COED Enter new secret pass phrase: эсвэл Enter secret password: мөрүүд дээр та нууц үг эсвэл өгүүлбэр оруулах ёстой. Энэ нь таны нэвтрэхдээ ашиглах нууц үг биш гэдгийг санах хэрэгтэй, үүнийг ашиглаж таны нэг удаагийн нэвтрэх түлхүүрийг үүсгэдэг. ID мөр таны тухайн үеийн параметрүүд болох таны нэвтрэх нэр, давталтын тоо болон үрийг өгдөг. Нэвтрэн орох үед систем эдгээр параметрүүдийг санаж танд тэдгээрийг санах шаардлагагүйгээр буцаан үзүүлдэг. Сүүлийн мөр нь тэдгээр параметрүүд болон таны нууцлаг нууц үгт харгалзах нэг удаагийн нууц үгийг өгдөг; хэрэв та нэн даруй дахин нэвтэрвэл энэ нэг удаагийн нууц үг нь таны ашиглах тэр нууц үг юм. Аюултай холболт эхлүүлэх Өөрийн нууцлаг нууц үгийг аюултай холболтоор эхэлж өгөхдөө эсвэл өөрчлөхдөө opiekey ажиллуулж болох тийм газар уруу аюулгүй холболттой байж байх шаардлагатай; энэ нь таны итгэж байгаа машин дээр бүрхүүлийн тушаал хүлээх мөр хэлбэрээр байж болно. Та бас давталтын тоог (100 боломжийн утга байж болох юм) бодож өгөх хэрэгтэй бөгөөд та өөрөө үр бодож олох эсвэл дурын үүсгэснийг ашиглах хэрэгтэй. Аюултай холболтоор (таны эхлүүлж байгаа машин уруу) opiepasswd тушаалыг ашигла: &prompt.user; opiepasswd Updating unfurl: You need the response from an OTP generator. Old secret pass phrase: otp-md5 498 to4268 ext Response: GAME GAG WELT OUT DOWN CHAT New secret pass phrase: otp-md5 499 to4269 Response: LINE PAP MILK NELL BUOY TROY ID mark OTP key is 499 gr4269 LINE PAP MILK NELL BUOY TROY Анхдагч үрийг хүлээж авах бол Return дар. Дараа нь хандах нууц үгийг оруулахын өмнө аюулгүй холболт уруугаа орж адил параметрүүдийг өгөөрэй: &prompt.user; opiekey 498 to4268 Using the MD5 algorithm to compute response. Reminder: Don't use opiekey from telnet or dial-in sessions. Enter secret pass phrase: GAME GAG WELT OUT DOWN CHAT Одоо аюултай холболт уруугаа шилжиж үүсгэсэн нэг удаагийн нууц үгээ тохирох програм уруу хуулаарай. Нэг удаагийн нууц үг ганцыг үүсгэх нь OPIE-г эхлүүлэн тохируулж нэвтэрсний дараа танд иймэрхүү тушаал хүлээх мөр харуулагдана: &prompt.user; telnet example.com Trying 10.0.0.1... Connected to example.com Escape character is '^]'. FreeBSD/i386 (example.com) (ttypa) login: <username> otp-md5 498 gr4269 ext Password: Энэ дашрамд тэмдэглэн хэлэхэд OPIE тушаал хүлээх мөрүүд ашигтай боломжтой байдаг: хэрэв та нууц үг хүлээх мөр дээр Return дарвал хүлээх мөр цуурайг идэвхжүүлж таны юу бичиж байгааг танд харуулдаг. Та хэвлэсэн зүйлээсээ харж магадгүй нууц үгийг гараараа бичиж оруулахыг оролдож байгаа бол энэ маш ашигтай байж болох юм. MS-DOS Windows MacOS Энэ үед нэвтрэлт хүлээх мөрөнд хариулахын тулд та өөрийн нэг удаагийн нууц үгийг үүсгэх хэрэгтэй болно. Үүнийг opiekey тушаал итгэн ажиллуулж чадах тийм систем дээрээ хийх хэрэгтэй. (DOS, &windows; болон &macos;-д зориулсан эдгээрийн хувилбарууд байдаг) Эдгээрт давталтын тоо болон үр тушаалын мөрийн тохируулга хэлбэрээр хэрэгтэй байдаг. Та нэвтрэн орж байгаа машиныхаа нэвтрэлт хүлээх мөрөөс эдгээрийг шууд хуулан тавьж болох юм. Итгэсэн систем дээрээ: &prompt.user; opiekey 498 to4268 Using the MD5 algorithm to compute response. Reminder: Don't use opiekey from telnet or dial-in sessions. Enter secret pass phrase: GAME GAG WELT OUT DOWN CHAT Одоо та өөрийн нэг удаагийн нууц үгтэй болсон болохоор нэвтрэлтээ үргэлжлүүлж болно. Нэг удаагийн нууц үг олныг үүсгэх нь Заримдаа та итгэсэн машин эсвэл аюулгүй холболт уруу хандах боломжгүй тийм газар очих хэрэгтэй болдог. Энэ тохиолдолд opiekey тушаал ашиглаж хэд хэдэн нэг удаагийн нууц үгүүдийг урьдчилан үүсгэж хэвлэн биедээ авч явах боломжтой юм. Жишээ нь: &prompt.user; opiekey -n 5 30 zz99999 Using the MD5 algorithm to compute response. Reminder: Don't use opiekey from telnet or dial-in sessions. Enter secret pass phrase: <secret password> 26: JOAN BORE FOSS DES NAY QUIT 27: LATE BIAS SLAY FOLK MUCH TRIG 28: SALT TIN ANTI LOON NEAL USE 29: RIO ODIN GO BYE FURY TIC 30: GREW JIVE SAN GIRD BOIL PHI нь дараалсан таван түлхүүрийг үүсгэхийг, нь сүүлийн давталтын тоог хэд байх ёстойг зааж өгч байгаа юм. Эдгээр нь ашиглах бололцоотойг урвуу дарааллаар дэлгэцэнд харуулдгийг тэмдэглэх нь зүйтэй. Хэрэв та хэт санаа зовниж байгаа бол та үр дүнг гараар бичиж авахыг хүсэж болох юм; эсвэл lpr уруу хуулан авч тавьж болох юм. Мөр бүр давталтын тоо болон нэг удаагийн нууц үгийг харуулж байгааг анхаараарай; та нууц үгүүдийг хэрэглэх бүртээ тэдгээрийг арилгаж энэ хэвлэсэн арга тань ашигтай хэвээр болохыг мэдэж болох юм. &unix; нууц үгүүдийг ашиглахыг хязгаарлах нь OPIE нь &unix; нууц үгүүдийн ашиглалтыг нэвтрэлтийн сессийн IP хаяг дээр тулгуурлан хязгаарлаж чаддаг. Тохирох файл нь /etc/opieaccess бөгөөд энэ файл нь анхдагчаар байдаг. Энэ файлын талаар болон үүнийг ашигласнаар та аюулгүй байдлын ямар зүйлсүүдийг бодолцож анхаарах ёстой талаар дэлгэрэнгүй мэдээллийг &man.opieaccess.5;-с шалгана уу. Энд жишээ opieaccess файл байна: permit 192.168.0.0 255.255.0.0 Энэ мөр нь &unix; нууц үгүүдийг ямар ч үед ашиглахын тулд эхлэл IP хаягийг (хууран мэхлэхэд хүрч болох тийм эмзэг) заагдсан утга болон багтай тааруулах боломжийг хэрэглэгчдэд олгодог. opieaccess дахь аль ч дүрэм таарахгүй байгаа бол анхдагчаар OPIE биш нэвтрэлтүүдийг хааж үгүйсгэдэг. Том Рөүдс - Бичсэн: + Бичсэн TCP Гүйцэтгэлийг хялбаршуулагчид TCP Гүйцэтгэлийг хялбаршуулагчид &man.inetd.8;-г мэддэг хэн бүхэн TCP Гүйцэтгэлийг хялбаршуулагчдын талаар заримдаа сонссон байх. Гэхдээ цөөн хүмүүс энэ боломжийн сүлжээний орчин дахь ашигтай талыг бүрэн ойлгодог юм шиг санагддаг. Хүн бүхэн сүлжээний холболтууд зохицуулах галт хана суулгахыг хүсдэг юм шиг санагддаг. Галт хана олон төрлийн хэрэглээтэй боловч холболт үүсгэгч уруу текст илгээх зэрэг зарим зүйлсийг галт хана хийж чаддаггүй. Энд дурдсан TCP програм энэ мэтийг болон үүнээс илүүг хийдэг. Дараагийн хэдэн хэсэгт TCP Гүйцэтгэлийг хялбаршуулагчдын олон боломжуудыг хэлэлцэх бөгөөд боломжтой үед нь жишээ тохиргооны мөрийг үзүүлэх болно. TCP Гүйцэтгэлийг хялбаршуулагчид програм хангамж нь inetd-ийн чадваруудыг сервер бүрийн хувьд түүний доор хянагдаж болохоор дэмжин өргөтгөдөг. Энэ аргыг ашиглан бүртгэл хөтлөх дэмжлэг нэмэх, холболтууд уруу мэдэгдэл буцаах, дэмонд зөвхөн дотоод холболтуудыг хүлээн авахыг зөвшөөрөх гэх мэт үйлдлүүдийг хийх боломжтой. Эдгээр боломжуудын заримыг галт хана суулган тохируулж хийж болох боловч энэ нь зөвхөн хамгаалалтын нэмэлт давхарга болохоос гадна галт ханын үзүүлж чаддагаас илүү хяналтыг олгодог юм. TCP Гүйцэтгэлийг хялбаршуулагчдын ийнхүү нэмэгдсэн ажиллагаа нь сайн галт ханыг солихоор зүйл гэж ойлгогдох ёсгүй юм. TCP Гүйцэтгэлийг хялбаршуулагчид нь галт хана эсвэл өөр бусад аюулгүй байдлыг нэмэгдүүлэгч програмуудын хамтаар ашиглагдаж системийн хувьд хамгаалалтын нэмэлт давхарга болон аятайхан үйлчлэх боломжтой юм. Энэ нь inetd-ийн тохиргооны өргөтгөл болохоор энэхүү баримтыг уншигч таныг inetd тохиргоо хэсгийг уншсан гэдэгт найдаж байна. &man.inetd.8;-ээр ажиллуулагдсан програмууд яг жинхэнээрээ дэмонууд биш боловч тэдгээрийг уламжлалаар дэмонууд гэдэг. Энэ ухагдахууныг бид энэ хэсэгт бас ашиглах болно. Эхний тохиргоо TCP Гүйцэтгэлийг хялбаршуулагчдыг &os;-д ашиглахад байх цорын ганц шаардлага нь inetd серверийг rc.conf файлаас тохируулгатай ажиллуулсан эсэхийг шалгах явдал юм; энэ нь анхдагч тохиргоо юм. Мэдээж /etc/hosts.allow файлын зөв тохиргоо бас байгааг хүлээж байдаг боловч эдгээр тохиолдлуудад &man.syslogd.8; системийн бүртгэлүүдэд мэдэгдлүүд шиддэг. Бусад TCP Гүйцэтгэлийг хялбаршуулагчдын шийдлүүдтэй харьцуулах юм бол hosts.deny файлыг хэрэглэхээ больсон. Тохиргооны бүх сонголтууд /etc/hosts.allow файлд байх шаардлагатай. Хамгийн амархан тохиргоогоороо бол дэмоны холболтын бодлогууд зөвшөөрөгдсөн эсвэл хаагдсаны аль нэгээр /etc/hosts.allow файл дахь тохируулгуудаас хамааран тохируулагддаг. &os; дээрх анхдагч тохиргоо нь inetd-ээр эхэлсэн дэмон бүр уруу хийгдэх холболтыг зөвшөөрдөг. Үүнийг өөрчлөх талаар зөвхөн үндсэн тохиргооны тухай дурдсаны дараа хэлэлцэх болно. Үндсэн тохиргоо ихэвчлэн дэмон : хаяг : үйлдэл хэлбэрийг авдаг. Энд байгаа дэмон нь inetd-ийн эхлүүлсэн дэмоны нэр юм. Хаяг нь зөв хостын нэр, address хаяг эсвэл дөрвөлжин хаалтан ([ ]) доторх IPv6 хаяг байж болно. Үйлдэл талбар нь allow буюу зөвшөөрөх эсвэл deny буюу эрхийг хориглох эсвэл хандалтыг хаахын аль нэг байна. Тохиргоо эхний тохирсон дүрэм журмын дагуу ажилладаг гэдгийг санах хэрэгтэй, энэ нь тохирох дүрмийг тохиргооны файлаас өсөх дарааллаар хайна гэсэн үг юм. Тохирох дүрэм олдвол тэр дүрэм ашиглагдаж хайх процесс зогсоно. Бусад хэд хэдэн тохируулгууд байдаг боловч тэдгээрийг энэ хэсгийн сүүлд тайлбарлах болно. Хялбар тохиргооны мөр ганцхан тэр мэдээллийн дагуу амархнаар хийгдэж болно. Жишээ нь mail/qpopper дэмоноор дамжин хийгдэж болох POP3 холболтуудыг зөвшөөрөхийн тулд дараах мөрүүд hosts.allow файлд нэмж хийгдэх хэрэгтэй: # This line is required for POP3 connections: qpopper : ALL : allow Энэ мөрийн нэмснийхээ дараа inetd-г дахин эхлүүлэх хэрэгтэй. Үүнийг &man.kill.1; тушаал эсвэл /etc/rc.d/inetdrestart параметртай ашиглан хийж болно. Дэвшилтэт тохиргоо TCP Гүйцэтгэлийг хялбаршуулагчид нь бас дэвшилтэт тохируулгуудтай байдаг; тэдгээр нь холболтуудтай хэрхэн ажиллахыг илүүтэйгээр хянах боломжийг олгодог. Зарим тохиолдолд тодорхой хостууд эсвэл дэмон холболтууд уруу тайлбар буцаах нь зүйтэй санаа байж болох юм. Бусад тохиолдолд магадгүй бүртгэлийн файл бичигдэх ёстой эсвэл цахим захидал администратор уруу илгээгдэж болох юм. Бусад тохиолдлууд үйлчилгээг зөвхөн дотоод холболтууддаа ашиглахыг шаардаж болох юм. Эдгээр нь бүгдээрээ орлуулагддаг тэмдэгтүүд, өргөтгөх тэмдэгтүүд болон гадаад тушаалыг ажиллуулах зэрэг тохиргооны сонголтуудын тусламжтай хийгдэх боломжтой юм. Дараагийн хоёр хэсэгт эдгээр тохиолдлуудын талаар бичсэн байгаа. Гадаад тушаалууд Холболтыг хааж түүнийг тогтоохыг оролдсон хүн уруу шалтгааныг нь илгээх тохиолдол гарчээ гэж бодъё. Үүнийг яаж хийх вэ? Энэ үйлдлийг тохируулга ашиглан хийх боломжтой. Холболт тогтоохоор оролдоход тохируулга бүрхүүлийн тушаал эсвэл скрипт ажилуулахаар дуудагддаг. hosts.allow файлд үүний жишээ аль хэдийн орсон байдаг: # The rest of the daemons are protected. ALL : ALL \ : severity auth.info \ : twist /bin/echo "You are not welcome to use %d from %h." Энэ жишээ нь You are not allowed to use daemon from hostname. буюу Та дэмоныг hostname-с ашиглах зөвшөөрөлгүй. гэсэн мэдэгдлийг хандалтын файлд урьдаар тохируулагдаагүй дэмон бүрийн хувьд буцаадаг. Энэ нь тогтоогдсон холболт дөнгөж салсны дараа холболтыг эхлүүлэгч уруу хариултыг буцааж илгээхэд маш их ашигтай байдаг. Буцсан мэдэгдэл бүр " тэмдэгтүүд дотор заавал байх шаардлагатай; энэ дүрмэнд ямар нэг жич зөвшөөрөл байхгүй. Хэрэв халдагч эсвэл бүлэг халдагчид эдгээр дэмонуудыг холболт хийх хүсэлтээр цутгаж чадах юм бол серверийн эсрэг үйлчилгээг зогсоох халдлага явуулах боломжтой байж болох юм. Өөр нэг боломж нь эдгээр тохиолдлуудад тохируулгыг ашиглах явдал юм. тохируулгын нэгэн адил тохируулга нь холболтуудыг сохроор хааж гадаад бүрхүүлийн тушаалууд эсвэл скриптүүдийг ажиллуулахад ашиглагдаж болно. тохируулгаас ялгаатай тал нь нь холболт тогтоосон хүн уруу хариулт буцааж илгээдэггүй. Жишээ нь дараах тохиргооны мөр байжээ гэж бодъё: # We do not allow connections from example.com: ALL : .example.com \ : spawn (/bin/echo %a from %h attempted to access %d >> \ /var/log/connections.log) \ : deny Энэ нь *.example.com домэйноос ирсэн бүх холболтын оролдлогуудаас татгалзахын зэрэгцээ хостын нэр, IP хаяг болон тэдний хандалт хийхийг оролдсон дэмонг /var/log/connections.log файл уруу бүртгэнэ. Дээр тайлбарласан орлуулах тэмдэгтүүдээс гадна, өөрөөр хэлбэл %a тэмдэгтээс гадна бусад цөөн хэдэн тэмдэгтүүд бас байдаг. Бүрэн жагсаалтыг &man.hosts.access.5; гарын авлагын хуудаснаас үзнэ үү. Орлуулагддаг тэмдэгтүүдийн тохиргоонууд Энэ хүртэл ALL жишээ бүх л жишээнүүдэд ашиглагдлаа. Ажиллагааг арай цаашлуулж өргөтгөх бусад тохируулгууд байдаг. Жишээ нь ALL нь дэмон, домэйн эсвэл IP хаягийн аль нэгтэй тааруулах зорилгоор ашиглагдаж болох юм. Өөр нэг орлуулагддаг тэмдэгт нь IP хаягаа өөрчлөн хуурсан байж болох дурын хостыг тааруулах PARANOID тохируулга юм. Өөрөөр хэлбэл paranoid буюу хэт зовнил нь өөрийн хостын нэрээс өөр IP хаягтай машинаас холболт хийгдэх бүр түүнд тохирох үйлдлийг тодорхойлоход ашиглагдаж болох юм. Дараах жишээ энэ хэлэлцүүлэгт арай илүү ойлголт өгч магадгүй юм: # Block possibly spoofed requests to sendmail: sendmail : PARANOID : deny Энэ жишээн дээр sendmail уруу хийгдэж байгаа өөрийнхөө хостын нэрээс өөр IP хаягтай холболтын бүх хүсэлтүүдээс татгалзан хааж байна. Хэрэв клиент эсвэл сервер эвдэрхий DNS суулгацтай бол PARANOID-ийг ашиглах нь серверүүдийг ноцтойгоор зэрэмдэг болгож болох юм. Иймд администраторын зохион байгуулалт болон хуваарилалт хийхийг зөвлөж байна. Орлуулагддаг тэмдэгтүүдийн талаар болон тэдэнтэй холбоотой ажиллагааны талаар дэлгэрэнгүйг &man.hosts.access.5; гарын авлагын хуудаснаас үзээрэй. Тусгай тохиргооны аль ч мөрүүдийн өмнө дээрх нь ажиллана, эхний тохиргооны мөр hosts.allow файлд тайлбар болгон хаагдах шаардлагатай. Үүнийг энэ хэсгийн эхэнд тэмдэглэж хэлсэн байгаа. Марк Мюррей Хойно дурдсан хүний бичсэн дээр тулгуурлан хувь нэмэр болгон оруулсан Марк Дэйпоз Хувь нэмэр болгон оруулсан <application>KerberosIV</application> Kerberos нь хэрэглэгчид өөрсдийгөө нууцлаг серверийн үйлчилгээнүүдийн тусламжтайгаар таниулан нэвтрэх боломжийг олгодог сүлжээний нэмэлт систем/протокол юм. Алсын нэвтрэлт, алсын хуулбар, нууцлаг систем хоорондох файл хуулбарлалт болон бусад аюул ихтэй үйлдлүүд зэрэг үйлчилгээнүүд харьцангуй аюулгүй хийгдэж илүү хяналт хийж болохоор болсон. Дараах заавруудыг &os;-тэй цуг түгээгддэг Kerberos-ийг хэрхэн тохируулах гарын авлага болгон хэрэглэж болох юм. Гэхдээ та бүрэн тайлбарын талаар харгалзах гарын авлагын хуудаснуудад хандаж үзэх шаардлагатай. <application>KerberosIV</application> суулгах нь MIT KerberosIV суулгах нь Kerberos нь &os;-ийн нэмэлт бүрэлдэхүүн хэсэг юм. Энэ програм хангамжийг суулгах хамгийн амархан арга нь &os; эхэлж суулгах үед sysinstallkrb4 эсвэл krb5 түгээлтийг сонгон суулгах явдал юм. Энэ нь Kerberos-ийн eBones (KerberosIV) эсвэл Heimdal (Kerberos5) шийдлүүдийг суулгах болно. Эдгээр нь АНУ/Канадаас гадна хөгжүүлэгдсэн учраас АНУ-ын криптограф код дээрх экспортын хязгаарлагдмал хяналтын үед бусад улсуудын системийн эзэмшигчдэд ашиглагдах боломжтой болсон юм. Иймээс эдгээр шийдлүүд нь орсон байдаг. Үүнээс гадна Kerberos-ийн MIT шийдэл портуудын цуглуулгын security/krb5 санд байдаг. Эхний мэдээллийн бааз үүсгэх Энэ нь Kerberos сервер дээр зөвхөн хийгддэг. Эхлээд хуучин Kerberos мэдээллийн баазууд байгаа эсэхийг шалгаарай. Та /etc/kerberosIV сан уруу орж зөвхөн дараах файлууд байгааг шалгаарай: &prompt.root; cd /etc/kerberosIV &prompt.root; ls README krb.conf krb.realms Хэрэв аль нэг нэмэлт файлууд (principal.* эсвэл master_key зэрэг) байвал kdb_destroy тушаал ашиглаж хуучин Kerberos мэдээллийн баазыг устгах эсвэл хэрэв Kerberos ажиллахгүй байгаа бол ердөө л нэмэлт файлуудыг устгах хэрэгтэй. Та одоо өөрийн Kerberos хүрээг (realm) зааж өгөхдөө krb.conf болон krb.realms файлуудыг засварлах шаардлагатай. Энэ тохиолдолд хүрээ нь EXAMPLE.COM болох бөгөөд сервер нь grunt.example.com болох юм. Бид krb.conf файлыг засварлаж эсвэл үүсгэнэ: &prompt.root; cat krb.conf EXAMPLE.COM EXAMPLE.COM grunt.example.com admin server CS.BERKELEY.EDU okeeffe.berkeley.edu ATHENA.MIT.EDU kerberos.mit.edu ATHENA.MIT.EDU kerberos-1.mit.edu ATHENA.MIT.EDU kerberos-2.mit.edu ATHENA.MIT.EDU kerberos-3.mit.edu LCS.MIT.EDU kerberos.lcs.mit.edu TELECOM.MIT.EDU bitsy.mit.edu ARC.NASA.GOV trident.arc.nasa.gov Энэ тохиолдолд бусад хүрээнүүд тэнд байх хэрэггүй. Тэдгээр нь энд машиныг хэрхэн олон хүрээнүүдийг мэдэхээр хийгдэх жишээ маягаар байгаа болно. Хялбараа бодоод та тэдгээрийг оруулахгүйг хүсэж болох юм. Эхний мөр нь систем ажиллах хүрээг нэрлэж байна. Бусад мөрүүд нь хүрээ/хост оруулгуудыг агуулна. Мөр дэх эхнийх нь хүрээ бөгөөд хоёр дахь нь түлхүүр түгээх төв болж байгаа хүрээн дэх хост юм. Хостын нэрийн дараах admin server нь хост бас удирдах мэдээллийн баазаар хангаж байна гэсэн үг юм. Эдгээр ухагдахуунуудын тайлбаруудын талаар Kerberos-ийн гарын авлагын хуудаснуудаас зөвлөгөө авна уу. Одоо бид grunt.example.comEXAMPLE.COM хүрээ уруу нэмэх ёстой бөгөөд бас EXAMPLE.COM хүрээний .example.com домэйн дэх бүх хостуудыг оруулан нэмж өгөх хэрэгтэй. krb.realms файл дараах байдлаар шинэчлэгдэх болно: &prompt.root; cat krb.realms grunt.example.com EXAMPLE.COM .example.com EXAMPLE.COM .berkeley.edu CS.BERKELEY.EDU .MIT.EDU ATHENA.MIT.EDU .mit.edu ATHENA.MIT.EDU Дахин хэлэхэд бусад хүрээнүүд тэнд байх шаардлагагүй. Тэдгээр нь энд машиныг хэрхэн олон хүрээнүүдийг мэдэхээр хийгдэх жишээ маягаар байгаа болно. Хялбараа бодоод та тэдгээрийг оруулахгүйг хүсэж болох юм. Эхний мөр нь тусгай системийг нэрлэгдсэн хүрээ уруу оруулж байна. Бусад мөрүүд нэрлэгдсэн хүрээнд тухайн дэд домэйны системүүдийг хэрхэн анхдагчаар болгож байгааг харуулна. Одоо бид мэдээллийн сан үүсгэхэд бэлэн боллоо. Энэ нь зөвхөн Kerberos сервер (эсвэл Түлхүүр Түгээх Төв) дээр ажиллах ёстой. kdb_init тушаал ажиллуулж үүнийг хийнэ: &prompt.root; kdb_init Realm name [default ATHENA.MIT.EDU ]: EXAMPLE.COM You will be prompted for the database Master Password. It is important that you NOT FORGET this password. Enter Kerberos master key: Одоо бид локал машин дээрх серверүүд авч болгохоор болгохын тулд түлхүүрийг хадгалах хэрэгтэй. kstash тушаал ашиглаж үүнийг хийнэ: &prompt.root; kstash Enter Kerberos master key: Current Kerberos master key version is 1. Master key entered. BEWARE! Энэ нь шифрлэгдсэн мастер нууц үгийг /etc/kerberosIV/master_key-д хадгална. Бүгдийг ажиллахаар болгох KerberosIV эхний эхлүүлэлт Kerberos-оор аюулгүй болгогдох систем бүрийн хувьд хоёр удирдагч мэдээллийн баазад нэмэгдэх шаардлагатай. Тэдгээрийн нэрс нь kpasswd болон rcmd байна. Эдгээр хоёр удирдагч нь систем бүрийн хувьд хувь системийн нэртэй тохиолдлуудын хамтаар хийгдэнэ. Эдгээр kpasswd болон rcmd дэмонууд нь бусад системүүдэд Kerberos нууц үгнүүдийг өөрчилж &man.rcp.1;, &man.rlogin.1; болон &man.rsh.1; зэрэг тушаалуудыг ажиллуулахыг зөвшөөрдөг. Одоо эдгээр оруулгуудыг нэмэцгээе: &prompt.root; kdb_edit Opening database... Enter Kerberos master key: Current Kerberos master key version is 1. Master key entered. BEWARE! Previous or default values are in [brackets] , enter return to leave the same, or new value. Principal name: passwd Instance: grunt <Not found>, Create [y] ? y Principal: passwd, Instance: grunt, kdc_key_ver: 1 New Password: <---- enter RANDOM here Verifying password New Password: <---- enter RANDOM here Random password [y] ? y Principal's new key version = 1 Expiration date (enter yyyy-mm-dd) [ 2000-01-01 ] ? Max ticket lifetime (*5 minutes) [ 255 ] ? Attributes [ 0 ] ? Edit O.K. Principal name: rcmd Instance: grunt <Not found>, Create [y] ? Principal: rcmd, Instance: grunt, kdc_key_ver: 1 New Password: <---- enter RANDOM here Verifying password New Password: <---- enter RANDOM here Random password [y] ? Principal's new key version = 1 Expiration date (enter yyyy-mm-dd) [ 2000-01-01 ] ? Max ticket lifetime (*5 minutes) [ 255 ] ? Attributes [ 0 ] ? Edit O.K. Principal name: <---- null entry here will cause an exit Серверийн файлыг үүсгэх Одоо бид машин бүр дээр үйлчилгээнүүдийг тодорхойлдог бүх тохиолдлуудыг гаргаж авах хэрэгтэй. Энэ зорилгоор бид ext_srvtab тушаалыг ашиглана. Энэ нь файл үүсгэх бөгөөд түүнийг Kerberos-ийн клиент бүрийн /etc сан уруу аюулгүйн үүднээс хуулах эсвэл шилжүүлэх хэрэгтэй. Энэ файл нь сервер болон клиент бүр дээр байх хэрэгтэй бөгөөд Kerberos-ийн ажиллагаанд шийдвэрлэх зүйл болдог. &prompt.root; ext_srvtab grunt Enter Kerberos master key: Current Kerberos master key version is 1. Master key entered. BEWARE! Generating 'grunt-new-srvtab'.... Одоо, энэ тушаал зөвхөн түр зуурын файл үүсгэдэг бөгөөд тэр файлын нэрийг бүх серверүүд авч чадахаар srvtab болгон нэрлэх шаардлагатай. &man.mv.1; тушаал ашиглаж эх систем дээрх байрлал уруу шилжүүл: &prompt.root; mv grunt-new-srvtab srvtab Хэрэв файл нь клиент системд зориулагдсан бөгөөд сүлжээ нь аюулгүй биш гэж бодогдвол client-new-srvtab файлыг шилжүүлж болох зөөвөрлөгч уруу хуулж физик аюулгүйн үүднээс тээвэрлэж болно. Үүнийг клиентийн /etc сан дотор srvtab болгон нэрлэж 600 горимд байгаа эсэхийг шалгаарай: &prompt.root; mv grumble-new-srvtab srvtab &prompt.root; chmod 600 srvtab Мэдээллийн санг нутагшуулах Бид одоо зарим хэрэглэгчийг мэдээллийн баазад оруулах хэрэгтэй. Эхлээд jane хэрэглэгчид зориулсан оруулгыг үүсгэе. Үүнийг kdb_edit тушаал ашиглаж хийнэ: &prompt.root; kdb_edit Opening database... Enter Kerberos master key: Current Kerberos master key version is 1. Master key entered. BEWARE! Previous or default values are in [brackets] , enter return to leave the same, or new value. Principal name: jane Instance: <Not found>, Create [y] ? y Principal: jane, Instance: , kdc_key_ver: 1 New Password: <---- enter a secure password here Verifying password New Password: <---- re-enter the password here Principal's new key version = 1 Expiration date (enter yyyy-mm-dd) [ 2000-01-01 ] ? Max ticket lifetime (*5 minutes) [ 255 ] ? Attributes [ 0 ] ? Edit O.K. Principal name: <---- null entry here will cause an exit Бүгдийг тест хийх Эхлээд бид Kerberos дэмонууд ажиллуулах шаардлагатай. Хэрэв та өөрийн /etc/rc.conf файлыг зөв засварласан бол дахин ачаалахад энэ нь автоматаар хийгдэх ёстойг санаарай. Энэ нь зөвхөн Kerberos сервер дээр шаардлагатай. kerberos-ийн клиентүүд хэрэгтэй зүйлээ автоматаар /etc/kerberosIV сангаас авах болно. &prompt.root; kerberos & Kerberos server starting Sleep forever on error Log file is /var/log/kerberos.log Current Kerberos master key version is 1. Master key entered. BEWARE! Current Kerberos master key version is 1 Local realm: EXAMPLE.COM &prompt.root; kadmind -n & KADM Server KADM0.0A initializing Please do not use 'kill -9' to kill this job, use a regular kill instead Current Kerberos master key version is 1. Master key entered. BEWARE! Одоо бид kinit тушаал ашиглаж бидний дээр үүсгэсэн jane ID-д зориулсан тасалбарыг авахыг оролдож болно: &prompt.user; kinit jane MIT Project Athena (grunt.example.com) Kerberos Initialization for "jane" Password: Токенууд бидэнд үнэхээр байгаа эсэхийг klist ашиглан үзэхийг оролдоорой: &prompt.user; klist Ticket file: /tmp/tkt245 Principal: jane@EXAMPLE.COM Issued Expires Principal Apr 30 11:23:22 Apr 30 19:23:22 krbtgt.EXAMPLE.COM@EXAMPLE.COM Одоо kpasswd дэмон Kerberos-ийн мэдээллийн баазад нэвтрэлтийн зөвшөөрөл авч чадах эсэхийг шалгахын тулд нууц үгийг &man.passwd.1; ашиглан өөрчлөхийг оролдоорой: &prompt.user; passwd realm EXAMPLE.COM Old password for jane: New Password for jane: Verifying password New Password for jane: Password changed. <command>su</command> зөвшөөрлүүдийг нэмэх Kerberos нь root зөвшөөрлүүд хэрэгтэй хэрэглэгч бүрд өөрсдийнх нь тусдаа &man.su.1; нууц үгийг өгөхийг бидэнд зөвшөөрдөг. Одоо бид &man.su.1;-аар танигдан зөвшөөрөгдсөн ID-г root уруу нэмж болно. Үүнийг root-г удирдагчтай холбосон тохиолдолтой байснаар хянаж болно. kdb_edit ашиглан Kerberos-ийн мэдээллийн баазад jane.root оруулгыг бид үүсгэж болно: &prompt.root; kdb_edit Opening database... Enter Kerberos master key: Current Kerberos master key version is 1. Master key entered. BEWARE! Previous or default values are in [brackets] , enter return to leave the same, or new value. Principal name: jane Instance: root <Not found>, Create [y] ? y Principal: jane, Instance: root, kdc_key_ver: 1 New Password: <---- enter a SECURE password here Verifying password New Password: <---- re-enter the password here Principal's new key version = 1 Expiration date (enter yyyy-mm-dd) [ 2000-01-01 ] ? Max ticket lifetime (*5 minutes) [ 255 ] ? 12 <--- Keep this short! Attributes [ 0 ] ? Edit O.K. Principal name: <---- null entry here will cause an exit Одоо үүнийг ажиллаж байгааг шалгаж токенуудыг авахыг оролдоорой: &prompt.root; kinit jane.root MIT Project Athena (grunt.example.com) Kerberos Initialization for "jane.root" Password: Одоо бид хэрэглэгчийг root-ийн .klogin файлд нэмэх хэрэгтэй: &prompt.root; cat /root/.klogin jane.root@EXAMPLE.COM Одоо &man.su.1; хийхийг оролдоод үз: &prompt.user; su Password: тэгээд ямар токенууд бидэнд байгааг хараарай: &prompt.root; klist Ticket file: /tmp/tkt_root_245 Principal: jane.root@EXAMPLE.COM Issued Expires Principal May 2 20:43:12 May 3 04:43:12 krbtgt.EXAMPLE.COM@EXAMPLE.COM Бусад тушаалуудыг ашиглах Өмнөх жишээн дээр бид jane гэж нэрлэгдсэн удирдагчийг root тохиолдолтой үүсгэсэн. Энэ нь удирдагчтай адил нэртэй хэрэглэгч дээр үндэслэсэн бөгөөд энэ нь Kerberos-ийн анхдагч юм; root-ийн гэр сан дахь .klogin файлд шаардлагатай оруулгууд байвал <username>.root хэлбэрийн <principal>.<instance> нь тэр <username>root уруу &man.su.1; хийхийг зөвшөөрдөг: &prompt.root; cat /root/.klogin jane.root@EXAMPLE.COM хэрэв хэрэглэгч үүнтэй адил хэлбэрийн өөрийн гэр сангийн мөрүүдтэй бол: &prompt.user; cat ~/.klogin jane@EXAMPLE.COM jack@EXAMPLE.COM Энэ нь өөрсдийгөө jane эсвэл jack гэж таниулсан (kinit-ийн тусламжтай, дээр дурдсаныг үз) EXAMPLE.COM хүрээний хэнд ч &man.rlogin.1;, &man.rsh.1; эсвэл &man.rcp.1; ашиглан энэ систем (grunt) дээрх jane-ий бүртгэл эсвэл файлуудад хандахыг зөвшөөрдөг. Жишээ нь jane одоо өөр систем уруу Kerberos ашиглан нэвтрэн орж байна: &prompt.user; kinit MIT Project Athena (grunt.example.com) Password: &prompt.user; rlogin grunt Last login: Mon May 1 21:14:47 from grumble Copyright (c) 1980, 1983, 1986, 1988, 1990, 1991, 1993, 1994 The Regents of the University of California. All rights reserved. FreeBSD BUILT-19950429 (GR386) #0: Sat Apr 29 17:50:09 SAT 1995 Эсвэл jack яг тэр машин дээрх jane бүртгэл уруу нэвтрэн орж байна (jane дээрхтэй адил .klogin-ийг тохируулсан бөгөөд Kerberos хариуцсан хүн удирдагч jack-ийг хоосон тохиолдолтой тохируулсан): &prompt.user; kinit &prompt.user; rlogin grunt -l jane MIT Project Athena (grunt.example.com) Password: Last login: Mon May 1 21:16:55 from grumble Copyright (c) 1980, 1983, 1986, 1988, 1990, 1991, 1993, 1994 The Regents of the University of California. All rights reserved. FreeBSD BUILT-19950429 (GR386) #0: Sat Apr 29 17:50:09 SAT 1995 Тиллмэн Хоожсон Хойно дурдсан хүний бичсэн дээр тулгуурлан хувь нэмэр болгон оруулсан Марк Мюррей Хувь нэмэр болгон оруулсан <application>Kerberos5</application> &os;-5.1-ээс хойшх &os;-ийн хувилбар бүр зөвхөн Kerberos5-д зориулсан дэмжлэгийг оруулсан байдаг. Kerberos5 нь орсон цорын ганц хувилбар болохоор түүний тохиргоо олон талаараа KerberosIV-д байдагтай адил байдаг. Дараах мэдээлэл &os;-5.0-с хойшх хувилбар дахь Kerberos5-тай хамаатай. KerberosIV багцыг ашиглахыг хүсэж байгаа хэрэглэгчид security/krb4 портыг суулгаж болно. Kerberos нь хэрэглэгчид өөрсдийгөө нууцлаг серверийн үйлчилгээнүүдийн тусламжтайгаар таниулан нэвтрэх боломжийг олгодог сүлжээний нэмэлт систем/протокол юм. Алсын нэвтрэлт, алсын хуулбар, нууцлаг систем хоорондох файл хуулбарлалт болон бусад аюул ихтэй үйлдлүүд зэрэг үйлчилгээнүүд харьцангуй аюулгүй хийгдэж илүү хяналт хийж болохоор болсон. Kerberos нь хэн бэ гэдгийг шалгах прокси систем юм. Энэ нь бас итгэгдсэн гуравдагч нэвтрэлт таних систем гэж тайлбарлагдаж болно. Kerberos нь зөвхөн нэг функцыг хангадаг — сүлжээн дээр хэрэглэгчдэд өөрсдийгөө аюулгүйгээр таниулах боломжийг хангаж өгдөг. Энэ нь шалгаж таних функцууд (хэрэглэгчдийн хийхийг зөвшөөрдөг) эсвэл аудит функцуудын (тэдгээр хэрэглэгчид юу хийснийг) үүргийг гүйцэтгэдэггүй. Клиент болон сервер өөрийгөө таниулж батлахаар Kerberos-г ашигласны дараа тэд бизнесээ бодож өөрсдийн бүх холболтуудаа шифрлэж нууцлал болон бүрэн бүтэн байдлаа хадгалан баталгаажуулж болно. Иймээс Kerberos-ийг нэвтрэлт танилт болон аудит үйлчилгээнүүдийг хангадаг бусад аюулгүй байдлын аргуудтай цуг ашиглахыг маш ихээр зөвлөдөг. Дараах заавруудыг &os;-д зориулан түгээгдсэн Kerberos-ийг хэрхэн тохируулах гарын авлага болгон ашиглаж болно. Гэхдээ та тохирох гарын авлагын хуудаснуудаас бүрэн тайлбарын талаар лавлах хэрэгтэй. Kerberos-ийн суулгацыг үзүүлэх зорилгоор төрөл бүрийн нэрийн талбарууд дараах байдлаар зохицуулагдана: DNS домэйн (бүс) нь example.org байна. Kerberos хүрээ нь EXAMPLE.ORG байна. Хэрэв та дотооддоо ажиллуулах бодолтой байсан ч гэсэн Kerberos-ийг суулгаж тохируулахдаа жинхэнэ домэйны нэрүүдийг ашиглана уу. Энэ нь DNS-ийн асуудлуудыг тойрон гарч бусад Kerberos хүрээнүүдтэй хийх хоорондын үйлдлийг баталгаажуулдаг. Түүх Kerberos5 түүх Kerberos-ийг MIT анх сүлжээний аюулгүй байдлын асуудлуудын шийдэл болгож хийсэн. Kerberos протокол нь хүчирхэг криптографыг ашигладаг бөгөөд клиент нь аюултай сүлжээний холболтоор өөрийгөө хэн бэ гэдгийг серверт (болон эсрэгээр) баталж чадах боломжийг олгодог. Kerberos нь сүлжээний танин шалгах протоколын нэрээс гадна програмыг (жишээ нь Kerberos телнет) шийдвэрлэж байгаа програмуудыг тайлбарласан тайлбар бас болдог. Протоколын одоогийн хувилбар нь 5 бөгөөд RFC 1510-д тайлбарласан байдаг. Өргөн хүрээний үйлдлийн системүүдийг хамарсан энэ протоколын хэд хэдэн чөлөөтэй шийдлүүд байдаг. Kerberos анх хөгжүүлэгдсэн Массачусетсийн Технологийн Институт (MIT) нь өөрийн Kerberos багцыг хөгжүүлсээр байна. Энэ багц нь US-д криптограф бүтээгдэхүүн болж нийтлэг хэрэглэгддэг бөгөөд энэ нь түүхээс авч үзэхэд US-ын экспортын дүрэм журмуудаас болсон юм. MIT Kerberos нь порт (security/krb5) хэлбэрээр байдаг. Heimdal Kerberos нь өөр шийдлийн 5-р хувилбар бөгөөд экспортын дүрэм журмуудыг тойрон гарах зорилгоор US-ээс гадна хамааралгүйгээр хөгжүүлэгдсэн ( бөгөөд ихэвчлэн арилжааны бус &unix; төрлүүдэд орсон байдаг) юм. Heimdal Kerberos түгээлт нь порт (security/heimdal) хэлбэрээр байдаг бөгөөд үүний хамгийн бага суулгац үндсэн &os; суулгацад орсон байдаг. Аль болох олон үзэгчдийг хамрахын тулд эдгээр зааврууд нь &os;-д орсон Heimdal түгээлтийг ашиглаж байна гэж тооцдог. Heimdal <acronym>KDC</acronym> суулгаж тохируулах Kerberos5 Түлхүүр Түгээх Төв Түлхүүр Түгээх Төв (KDC) нь Kerberos-ийн хангадаг төвлөрсөн нэвтрэлт таних үйлчилгээ юм — энэ нь Kerberos тасалбарууд өгдөг компьютер юм. KDC нь Kerberos хүрээний бусад бүх компьютеруудад итгэгдсэн гэж тооцогддог бөгөөд аюулгүй байдлын санаа зовнилыг дээшлүүлдэг. Kerberos серверийг ажиллуулж байхад маш цөөн тооцооллын эх үүсвэрийг шаарддаг боловч аюулгүй байдлын шалтгаанаас болоод зөвхөн KDC болон ажиллах тусдаа зориулагдсан машинтай байхыг зөвлөдгийг санаарай. KDC-г тохируулж эхлэхдээ таны /etc/rc.conf файлд KDC болж ажиллах зөв тохиргоо хийгдсэн эсэхийг шалгаарай (өөрийн системийн хувьд та замуудыг өөрчлөх хэрэгтэй байж болох юм): kerberos5_server_enable="YES" kadmind5_server_enable="YES" Дараа нь бид таны Kerberos тохиргооны файл /etc/krb5.conf-г тохируулна: [libdefaults] default_realm = EXAMPLE.ORG [realms] EXAMPLE.ORG = { kdc = kerberos.example.org admin_server = kerberos.example.org } [domain_realm] .example.org = EXAMPLE.ORG Энэ /etc/krb5.conf файл нь таны KDC нь бүрэн баталгаажсан хостын нэр kerberos.example.org-тэй байна гэж үзэж байгааг санаарай. Хэрэв таны KDC өөр хостын нэртэй бол та өөрийн бүсийн файлдаа CNAME (alias)-ийг нэмэх хэрэгтэй. Зөв тохируулсан BIND DNS сервер бүхий том сүлжээнүүдэд өмнөх жишээ нь: [libdefaults] default_realm = EXAMPLE.ORG болж дараах мөрүүдийг example.org бүсийн файлд нэмж цэгцэлж болно: _kerberos._udp IN SRV 01 00 88 kerberos.example.org. _kerberos._tcp IN SRV 01 00 88 kerberos.example.org. _kpasswd._udp IN SRV 01 00 464 kerberos.example.org. _kerberos-adm._tcp IN SRV 01 00 749 kerberos.example.org. _kerberos IN TXT EXAMPLE.ORG Kerberos үйлчилгээнүүдийг хэрэглэгчдэд хүртээмжтэй болгохын тулд та эсвэл бүрэн тохируулсан /etc/krb5.conf файлтай эсвэл хамгийн багаар тохируулсан /etc/krb5.conf файл болон зөв тохируулсан DNS сервертэй байх ёстой. Дараа нь бид Kerberos мэдээллийн бааз үүсгэнэ. Энэ мэдээллийн бааз нь мастер нууц үгээр шифрлэсэн бүх удирдагчдын түлхүүрүүдийг агуулдаг. Та энэ нууц үгийг тогтоох шаардлагагүй, энэ нь файлд (/var/heimdal/m-key) хадгалагдах болно. Мастер түлхүүр үүсгэхийн тулд kstash тушаалыг ажиллуулж нууц үгээ оруулаарай. Мастер түлхүүр үүсгэгдсэний дараа та мэдээллийн баазыг kadmin програмыг -l тохируулгатай (локал гэсэн утгатай) ашиглан эхлүүлж болно. Энэ тохируулга нь kadmin-д мэдээллийн баазын файлыг kadmind сүлжээний үйлчилгээгээр дамжилгүйгээр шууд өөрчлөхийг заадаг. Энэ нь мэдээллийн бааз үүсэхээс өмнө түүн уруу хандахыг оролдох асуудлыг (яг л өндөг, тахианы аль нь түрүүлж гарсан гэж маргадаг тэр асуудлын адил) зохицуулдаг. kadmin хүлээх мөртэй болсныхоо дараа та өөрийн хүрээнүүдийн эхний мэдээллийн санг init тушаал ашиглан үүсгээрэй. Эцэст нь kadmin-ы горимд байхдаа өөрийн эхний удирдагчийг add тушаал ашиглан үүсгээрэй. Одоохондоо удирдагчийн хувьд анхдагч тохируулгуудыг сонгоорой, та тэдгээрийг сүүлд нь modify тушаал ашиглан өөрчилж чадна. Та аль ч тушаал хүлээх мөрөнд ? тушаал ашиглаж байгаа боломжит тохируулгуудыг харж болохыг санаарай. Мэдээллийн сан үүсгэлтийн жишээ сесс доор байна: &prompt.root; kstash Master key: xxxxxxxx Verifying password - Master key: xxxxxxxx &prompt.root; kadmin -l kadmin> init EXAMPLE.ORG Realm max ticket life [unlimited]: kadmin> add tillman Max ticket life [unlimited]: Max renewable life [unlimited]: Attributes []: Password: xxxxxxxx Verifying password - Password: xxxxxxxx Одоо KDC үйлчилгээнүүдийг эхлүүлэх цаг болжээ. Үйлчилгээнүүдийг эхлүүлэхдээ /etc/rc.d/kerberos start болон /etc/rc.d/kadmind start тушаалуудыг ажиллуулна. Энэ үед танд ямар ч kerberos хийгдсэн дэмон байхгүйг санаарай, гэхдээ та KDC-ийн өөрийнх нь тушаалын мөрөөс үүсгэсэн удирдагчид (хэрэглэгч) зориулсан тасалбарыг авч жагсаан KDC-г ажиллаж байгаа гэдгийг та баталж чадаж байх ёстой: &prompt.user; kinit tillman tillman@EXAMPLE.ORG's Password: &prompt.user; klist Credentials cache: FILE:/tmp/krb5cc_500 Principal: tillman@EXAMPLE.ORG Issued Expires Principal Aug 27 15:37:58 Aug 28 01:37:58 krbtgt/EXAMPLE.ORG@EXAMPLE.ORG Та дууссаныхаа дараа тасалбарыг буцааж болно: &prompt.user; k5destroy Серверийг <application>Kerberos</application> хийн Heimdal үйлчилгээнүүдтэй идэвхжүүлэх Kerberos5 үйлчилгээнүүдийг идэвхжүүлэх Эхлээд бидэнд Kerberos-ийн тохиргооны файл /etc/krb5.conf-ийн хуулбар хэрэг болно. Ингэхийн тулд KDC-ээс түүнийг аюулгүй аргаар (&man.scp.1; зэрэг сүлжээний хэрэгслүүд эсвэл физикээр уян диск ашиглан) клиент компьютер уруу ердөө л хуулах хэрэгтэй. Дараа нь танд /etc/krb5.keytab файл хэрэгтэй. Энэ нь Kerberos хийгдсэн дэмонууд бүхий сервер болон ажлын станц хоёрын гол ялгаа юм — сервер нь keytab файлтай байх шаардлагатай. Энэ файл нь өөрийг нь зөвшөөрдөг серверийн хост түлхүүр болон өөрсдийнхөө нэрийг (identity) шалгах KDC-г агуулдаг. Хэрэв түлхүүр нь нийтэд мэдэгдвэл серверийн аюулгүй байдал эвдэрч болох учир энэ нь сервер уруу аюулгүйн үүднээс дамжуулагдах ёстой. Энэ нь шууд утгаараа FTP зэрэг цэвэр текст сувгаар дамжуулах нь маш буруу гэсэн үг юм. Ихэвчлэн сервер уруу keytab файлыг kadmin тушаал ашиглан дамжуулдаг. Энэ нь тохиромжтой байдаг бөгөөд учир нь та бас хостын удирдагчийг (krb5.keytab файлын KDC төгсгөл) kadmin тушаал ашиглан үүсгэх хэрэгтэй болдог. Та тасалбарыг аль хэдийн авсан байх ёстой бөгөөд энэ тасалбар нь kadmind.acl файлын kadmin интерфэйсийг ашиглаж болохоор зөвшөөрөгдсөн байх ёстойг санаарай. Heimdal-ийн мэдээллийн хуудаснуудын (info heimdal) Алсын удирдлага гэсэн гарчигтай хэсгээс хандалт хянах жагсаалтуудыг дизайн хийх талаар дэлгэрэнгүйг үзнэ үү. Хэрэв та алсын kadmin хандалтыг идэвхжүүлэхийг хүсэхгүй байгаа бол та KDC уруу ердөө л аюулгүйгээр холбогдож (локал консолоор, &man.ssh.1; эсвэл Kerberos &man.telnet.1;) удирдлагыг локалаар өөр дээрээсээ kadmin -l тушаал ашиглан хийж болно. /etc/krb5.conf файлыг суулгасны дараа та Kerberos серверээс kadmin тушаалыг ашиглаж болно. add --random-key тушаал нь серверийн хост удирдагчийг нэмэх боломжийг танд олгох бөгөөд ext тушаал нь серверийн хост удирдагчийг өөрийн keytab уруу задлах боломжийг танд олгоно. Жишээ нь: &prompt.root; kadmin kadmin> add --random-key host/myserver.example.org Max ticket life [unlimited]: Max renewable life [unlimited]: Attributes []: kadmin> ext host/myserver.example.org kadmin> exit ext тушаал нь (extract гэдгийг богиноор илэрхийлнэ) задалсан түлхүүрийг анхдагчаар /etc/krb5.keytab файлд хадгалдаг. Хэрэв таны хувьд KDC дээр kadmind ажиллахгүй байгаа бөгөөд (магадгүй аюулгүй байдлын шалтгаануудаас болоод) тэгээд kadmin уруу алсаас хандах боломжгүй бол та хост удирдагчийг (host/myserver.EXAMPLE.ORG) шууд KDC дээр нэмж дараа нь доор дурдсантай адилаар түүнийг түр зуурын файл уруу (KDC дээрх /etc/krb5.keytab файлыг дарж бичихээс сэргийлж) задалж болно: &prompt.root; kadmin kadmin> ext --keytab=/tmp/example.keytab host/myserver.example.org kadmin> exit Та дараа нь keytab-ийг аюулгүйгээр (жишээ нь scp эсвэл уян диск ашиглан) сервер компьютер уруу хуулж болно. KDC дээрх keytab-ийг дарж бичихээс сэргийлж keytab нэрийг анхдагч бишээр зааж өгсөн эсэхээ шалгаарай. Энэ мөчид хүрэх үед таны сервер KDC-тэй (krb5.conf файлтай учраас) холбогдож чадах бөгөөд (krb5.keytab файлтай учраас) өөрийгөө таниулан баталж чадна. Одоо та зарим нэг Kerberos үйлчилгээнүүдийг идэвхжүүлэхэд бэлэн болжээ. Энэ жишээн дээр бид telnet үйлчилгээг /etc/inetd.conf файлд доор дурдсантай төстэй мөрийг оруулан идэвхжүүлж дараа нь &man.inetd.8; үйлчилгээг /etc/rc.d/inetd restart тушаалын тусламжтай дахин ачаалах болно: telnet stream tcp nowait root /usr/libexec/telnetd telnetd -a user Хамгийн чухал нь -a төрөл (нэвтрэлт танихад) хэрэглэгчид тохируулагдсан. Илүү дэлгэрэнгүйг &man.telnetd.8; гарын авлагын хуудаснаас лавлана уу. Клиентийг <application>Kerberos</application> хийн Heimdal үйлчилгээтэйгээр идэвхжүүлэх Kerberos5 клиентүүдийг тохируулах Клиент компьютерийг тохируулах нь маш амархан. Kerberos тохиргоо хийгдсэний дараа танд зөвхөн /etc/krb5.conf-д байрлах Kerberos тохиргооны файл хэрэгтэй. Үүнийг ердөө л аюулгүйгээр клиент компьютер уруу KDC-ээс хуулна. Клиентээсээ kinit, klist, болон kdestroy тушаалуудыг үүсгэсэн удирдагчийнхаа хувьд тасалбар олж авах, үзүүлэх, болон дараа нь устгахад ашиглахыг оролдон клиент компьютераа тест хийгээрэй. Та Kerberos програмуудыг ашиглан Kerberos хийгдсэн серверүүд уруу холбогдож чадах ёстой бөгөөд хэрэв ингэж ажиллаж болохгүй байгаа бөгөөд тасалбар олж авах нь асуудалтай байгаа бол энэ нь клиент эсвэл KDC-тэй холбоотой биш сервертэй холбоотой асуудал юм. telnet зэрэг програмыг тест хийж байх үед таны нууц үг цэвэр текстээр бишээр илгээгдэж байгааг шалгахын тулд пакет шиншлэгч (&man.tcpdump.1; зэрэг) ашиглаад үзээрэй. telnet-ийг бүх өгөгдлийн урсгалыг шифрлэдэг (ssh-тэй адил) -x тохируулгатай ашиглахыг оролдоорой. Төрөл бүрийн гол биш Kerberos клиент програмууд нь бас анхдагчаар суудаг. Энэ нь үндсэн Heimdal суулгацын хамгийн бага мөн чанар юм: telnet нь цорын ганц Kerberos хийгдсэн үйлчилгээ юм. Heimdal порт нь зарим нэг дутуу програмуудыг нэмдэг: ftp, rsh, rcp, rlogin болон бусад цөөн хэдэн нийтлэг биш програмуудын Kerberos хийгдсэн хувилбаруудыг нэмдэг. MIT порт нь бас Kerberos клиент програмуудын бүрэн цуглуулгыг агуулдаг. Хэрэглэгчийн тохиргооны файлууд: <filename>.k5login</filename> болон <filename>.k5users</filename> .k5login .k5users Хүрээн дэх хэрэглэгчийн хувьд ихэнхдээ өөрсдийнх нь Kerberos удирдагчийг (tillman@EXAMPLE.ORG зэрэг) локал хэрэглэгчийн бүртгэлд (tillman зэрэг локал бүртгэл) харгалзуулж өгсөн байдаг. telnet зэрэг клиент програмууд ихэвчлэн хэрэглэгчийн нэр эсвэл удирдагчийг шаарддаггүй. Гэхдээ хааяа нэг та харгалзах Kerberos удирдагчгүй хэн нэгэнд зориулж локал хэрэглэгчийн бүртгэлд хандах хандалтыг өгөхийг хүсэж болох юм. Жишээ нь tillman@EXAMPLE.ORG магадгүй локал хэрэглэгчийн бүртгэл webdevelopers-д хандах хандалт хэрэгтэй байж болох юм. Бусад удирдагчид бас энэ локал бүртгэлд хандах хэрэгтэй байж болох юм. .k5login болон .k5users файлууд нь хэрэглэгчдийн гэрийн сангуудад байрладаг бөгөөд .hosts болон .rhosts файлуудын хүчирхэг хослолын нэгэн адилаар энэ асуудлыг шийдэн ашиглагдаж болох юм. Жишээ нь хэрэв .k5login нь дараах агуулгатайгаар: tillman@example.org jdoe@example.org локал хэрэглэгч webdevelopers-ийн гэр санд байрлаж байвал энд жагсаагдсан хоёр удирдагч хоёулаа хуваалцсан нууц үгийн шаардлагагүйгээр тэр бүртгэл уруу хандах хандалттай болох юм. Эдгээр тушаалуудын гарын авлагын хуудаснуудыг уншихыг зөвлөж байна. ksu гарын авлагын хуудас .k5users файлын тухай тайлбарладгийг тэмдэглэх нь зүйтэй юм. <application>Kerberos</application>-той холбоотой арга, зальнууд болон алдааг олж засварлах Kerberos5 алдааг олж засварлах Heimdal эсвэл MIT Kerberos портууд ашиглах үед таны PATH орчны хувьсагч клиентийн програмуудын Kerberos хувилбаруудыг системийн хувилбаруудаас өмнө жагсаасан байхыг шаарддаг. Таны хүрээний бүх компьютерууд цагийн тохиргоонуудаа адилаар тохируулсан уу? Хэрэв үгүй бол нэвтрэлт танилт амжилтгүй болж болох юм. нь NTP ашиглан цагийг хамгийн сүүлийн хэлбэрт аваачиж адил болгож тохируулах талаар тайлбарладаг. MIT болон Heimdal нь хоорондоо сайн ажилладаг. kadmin-аас бусад талаараа сайн ажилладаг, учир нь энэ програмын протокол стандартчилагдаагүй. Та хэрэв өөрийн хостын нэрийг өөрчилбөл бас өөрийн host/ удирдагчийг өөрчилж өөрийн keytab-ийг шинэчлэх хэрэгтэй. Энэ нь бас Апачигийн www/mod_auth_kerb-д хэрэглэгддэг www/ удирдагч зэрэг тусгай keytab оруулгуудад хамаатай юм. Таны хүрээний бүх хостууд DNS-д (эсвэл хамгийн багадаа /etc/hosts-ийн хувьд) танигдаж (урагш болон эсрэгээр танигдаж) байх ёстой. CNAME-үүд ажиллах боловч A болон PTR бичлэгүүд зөв бөгөөд байрандаа байж байх ёстой. Алдааны мэдэгдэл нь тийм ч ойлгогдохоор байдаггүй, жишээ нь: Kerberos5 refuses authentication because Read req failed: Key table entry not found буюу орчуулбал Унших Req амжилтгүй болсон болохоор Kerberos5 нь нэвтрэлт танилтаас татгалзаж байна. Таны KDC-ийн хувьд магадгүй клиент маягаар харьцаж байгаа зарим үйлдлийн системүүд setuid root болохын тулд ksu тушаалд зөвшөөрлүүдийг тохируулдаггүй. Энэ нь ksu ажиллахгүй гэсэн үг бөгөөд аюулгүй байдлын хувьд сайн боловч залхаамаар байдаг. Энэ нь KDC-ийн алдаа биш юм. MIT Kerberos-той байхад хэрэв та анхдагч 10 цагаас арай урт амьдрах хугацаа бүхий тасалбартай удирдагчийг зөвшөөрөхийг хүсвэл kadmin дээр modify_principal тушаал ашиглан өөрчлөхийг хүссэн удирдагч болон krbtgt удирдагчийн maxlife-ийг өөрчлөх шаардлагатай. Дараа нь удирдагч -l тохируулгыг kinit-тай ашиглаж илүү урт амьдрах хугацаатай тасалбарыг авах хүсэлт илгээж болох юм. Хэрэв та өөрийн KDC дээр алдааг олж засварлахын тулд пакет шиншлэгч ажиллуулж дараа нь ажлын станцаасаа kinit-ийг ажиллуулахад kinit-ийг ажилласан даруй таны TGT илгээгдэхийг — таныг бүр нууц үгээ бичихээс өмнө та харах болно! Үүний тайлбар нь Kerberos сервер чөлөөтэйгээр TGT-ийг (Ticket Granting Ticket буюу Тасалбар Баталгаажуулах Тасалбар) ямар ч танигдаагүй хүсэлтэд дамжуулдаг; гэхдээ TGT бүр хэрэглэгчийн нууц үгээс гарсан түлхүүр болон шифрлэгдсэн байдаг. Тийм болохоор хэрэглэгч өөрсдийн нууц үгийг бичихэд тэр нь KDC уруу илгээгддэггүй бөгөөд харин kinit-ийн аль хэдийн олж авсан TGT-г буцааж шифрлэхэд (decrypt) ашиглагддаг. Хэрэв буцааж шифрлэх процесс хүчинтэй хугацаа бүхий хүчинтэй тасалбарыг гаргаж авбал хэрэглэгч хүчинтэй Kerberos итгэмжлэлүүдтэй байна. Эдгээр итгэмжлэлүүд нь ирээдүйд Kerberos сервертэй аюулгүй холболтууд хийхэд зориулагдсан сессийн түлхүүр болон бас Kerberos серверийн өөрийнх нь түлхүүрээр шифрлэгдсэн тасалбар-баталгаажуулах тасалбарыг агуулдаг. Шифрлэлтийн хоёр дахь давхарга нь хэрэглэгчид мэдэгддэггүй, гэхдээ энэ нь TGT бүрийн жинхэнийг шалгахыг Kerberos серверт зөвшөөрч байгаа тэр зүйл юм. Хэрэв та урт амьдрах хугацаатай (жишээ нь долоо хоног) тасалбар ашиглахыг хүсэж байгаа бөгөөд та тасалбар хадгалагдаж байгаа машин уруу OpenSSH ашиглан холбогдож байгаа бол Kerberos тохируулга no гэж sshd_config тохиргооны файлд байгаа эсэхийг шалгаарай, тэгэхгүй бол таны тасалбарууд таныг гарах үед устгагдах болно. Хостын удирдагчид илүү урт амьдрах хугацаатай тасалбартай бас байж болно гэдгийг санаарай. Хэрэв таны хэрэглэгчийн удирдагч долоо хоног амьдрах хугацаатай бөгөөд гэхдээ таны холбогдож байгаа хост 9 цаг амьдрах хугацаатай бол та кэшдээ хугацаа нь дууссан хостын удирдагчтай болж тасалбарын кэш хүссэнээр ажиллахгүй болох болно. Тусгайлсан муу нууц үгүүдийг ашиглуулахгүйн тулд (kadmind тушаалын гарын авлагын хуудас үүнийг товчхон тайлбарладаг) krb5.dict файлыг тохируулахдаа нууц үгийн бодлого тавигдсан удирдагчдад энэ нь зөвхөн хамаатайг санах хэрэгтэй. krb5.dict файлуудын хэлбэр хялбар байдаг: нэг мөрт нэг үг (string) байна. /usr/share/dict/words симболын холбоос үүсгэх нь ашигтай байж болох юм. <acronym>MIT</acronym> портоос ялгаатай талууд MIT болон Heimdal суулгацуудын гол ялгаа нь өөр (гэхдээ орлуулж болох) тушаалууд болон өөр протоколууд ашигладаг kadmin програмтай холбоотой юм. Хэрэв таны KDC нь MIT бол та Heimdal kadmin програмыг ашиглаж өөрийн KDC-г алсаас (эсвэл эсрэг чиглэлд энэ зорилгоор) удирдаж чадахгүй болдог учир энэ нь их хамаатай юм. Клиент програмууд нь бас шал өөр өөр тушаалын мөрийн тохируулгууд авч адил үүргийг гүйцэтгэж болох юм. MIT Kerberos вэб сайт () дээрх заавруудыг дагахыг зөвлөж байна. Замын асуудлуудаас болгоомжлоорой: MIT порт нь анхдагчаар /usr/local/ уруу суудаг бөгөөд хэрэв таны PATH орчны хувьсагч системийн сангуудыг эхлээд жагсаадаг бол жирийн системийн програмууд MIT-ийн оронд ажиллаж болохыг санаарай. telnetd болон klogind-ээр нэвтрэх нэвтрэлтүүд нэг л хачин байдаг тэр шалтгааныг ойлгохыг хүсвэл &os;-ийн хангадаг MIT security/krb5 портын суулгасан /usr/local/share/doc/krb5/README.FreeBSD файлыг унших хэрэгтэй. Хамгийн чухал нь кэш файл дахь буруу зөвшөөрлүүдийг зөв болгох нь дамжуулагдсан итгэмжлүүдийн эзэмшилтийг зөвөөр солих login.krb5 хоёртын файлыг нэвтрэлт танилтад ашиглахыг шаарддаг. rc.conf файл дараах тохиргоог агуулж засварлагдсан байх бас шаардлагатай: kerberos5_server="/usr/local/sbin/krb5kdc" kadmind5_server="/usr/local/sbin/kadmind" kerberos5_server_enable="YES" kadmind5_server_enable="YES" MIT керберосд зориулсан програмууд /usr/local санд хоёртын файлуудыг суулгадаг болохоор ингэж хийгддэг. <application>Kerberos</application> дахь хязгааруудыг багасгах Kerberos5 хязгаарууд болон дутагдлууд <application>Kerberos</application> нь бүгдийг эсвэл юуг ч биш гэсэн арга юм Сүлжээнд идэвхжүүлэгдсэн үйлчилгээ бүр Kerberos-тэй ажиллахаар засварлагдсан (эсвэл сүлжээний халдлагуудын эсрэг аюулгүй байдлыг хангасан) байх шаардлагатай, тэгэхгүй бол хэрэглэгчдийн итгэмжлэлүүд хулгайлагдаж дахин ашиглагдаж болох юм. Үүний нэг жишээ нь бүх алсын бүрхүүлүүдийг (жишээ нь rsh болон telnet) Kerberos хийн идэвхжүүлсэн мөртлөө нууц үгүүдийг цэвэр текстээр илгээдэг POP3 захидлын серверийг тэгж хувиргахгүй байх явдал юм. <application>Kerberos</application> нь ганц хэрэглэгчийн ажлын станцуудад зориулагдсан Олон хэрэглэгчийн орчинд Kerberos нь тийм ч аюулгүй биш юм. Энэ нь тасалбаруудыг бүх хэрэглэгчийн хувьд уншигдаж болох /tmp санд хадгалдаг учраас тэр юм. Хэрэв хэрэглэгч компьютераа хэд хэдэн бусад хүмүүстэй зэрэг харилцан хуваалцаж байвал (өөрөө хэлбэл олон-хэрэглэгч) хэрэглэгчийн тасалбаруудыг өөр хэрэглэгч хулгайлах (хуулан авах) боломжтой юм. Үүнийг -c файлын нэрийн тушаалын мөрийн тохируулгатай эсвэл (илүү зохимжтой) KRB5CCNAME орчны хувьсагчтайгаар даван гарч болох юм, гэхдээ ингэх нь их ховор байдаг. Зарчмын хувьд тасалбарыг хэрэглэгчдийн гэр санд хадгалж хялбар файлын зөвшөөрлүүдийг ашиглах нь энэ асуудлыг багасгадаг. KDC нь бүтэлгүйтлийн ганц цэг Дизайнаараа бол KDC нь мастер нууц үгийн мэдээллийн баазаас тогтох бөгөөд түүний нэгэн адил аюулгүй байх ёстой. KDC нь үүн дээр өөр ямар ч үйлчилгээнүүд ажиллуулсан байх ёсгүй бөгөөд физикээр аюулгүй байдлыг нь хангасан байх шаардлагатай. Kerberos нь ижил түлхүүрээр (мастер түлхүүр) шифрлэгдсэн бүх нууц үгүүдийг хадгалдаг бөгөөд тэр ижил түлхүүр нь эргээд KDC дээр файл маягаар хадгалагддаг учраас аюул өндөртэй байдаг. Тэмдэглэн хэлэхэд булаан эзлэгдсэн мастер түлхүүр нь хэн нэг нь айхаар тийм ч муу биш юм. Түлхүүр үг нь зөвхөн Kerberos мэдээллийн баазыг шифрлэхэд болон санамсаргүй тоо үүсгэгчийн үр болон хэрэглэгддэг. Таны KDC уруу хандахад аюулгүй л байж байвал халдагч мастер түлхүүрээр их юм хийж чадахгүй. Мөн нэмж хэлэхэд хэрэв KDC нь боломжгүй байвал (магадгүй үйлчилгээ зогсоох халдлага эсвэл сүлжээний асуудлуудаас болоод) сүлжээний үйлчилгээнүүд нь нэвтрэлт танилтыг хийж болохгүй болохоор хэрэглэгдэх боломжгүй болох бөгөөд нэг ёсны үйлчилгээ зогсоох халдлагын рецепт болох юм. Үүнийг олон KDC-тэй (нэг мастер болон нэг буюу хэд хэдэн боолууд) болон хоёрдогч эсвэл нэмэлт, эцсийн нэвтрэлт таних (PAM нь энэнд маш сайн) болгоомжтой шийдлийн тусламжтайгаар даван гарч болох юм. <application>Kerberos</application>-ийн дутагдлууд Kerberos нь хэрэглэгчид, хостууд болон үйлчилгээнүүдэд өөр хоорондоо бие биенээ таниулах боломжийг олгодог. Гэхдээ энэ нь KDC-г хэрэглэгчид, хостууд эсвэл үйлчилгээнүүдэд таниулах аргагүй юм. Энэ нь троян хийгдсэн kinit (жишээ нь) тушаал бүх хэрэглэгчийн нэрс болон нууц үгүүдийг бүртгэн бичиж авч болно гэсэн үг юм. security/tripwire ч юм уу эсвэл өөр бусад файлын системийн бүрэн бүтэн байдлыг шалгах хэрэгслүүд үүнийг арилгаж чадна. Эх сурвалжууд болон нэмэлт мэдээллүүд Kerberos5 гадаад эх сурвалжууд Kerberos-ийн FAQ Танин шалгах системийг дизайн хийх нь: Дөрвөн үзэгдэл дэх харилцан яриа (диалог) RFC 1510, Kerberos Сүлжээний Танин Шалгах Үйлчилгээ (V5) MIT Kerberos-ийн гэр хуудас Heimdal Kerberos-ийн гэр хуудас Том Рөүдс - Бичсэн: + Бичсэн OpenSSL аюулгүй байдал OpenSSL Олон хэрэглэгчдийн хайдаг нэг боломж нь &os;-д байдаг OpenSSL багаж юм. OpenSSL нь ердийн холбооны давхарга дээр шифрлэлт дамжуулах давхаргыг хангаж өгдөг; ингэснээр түүнийг сүлжээний програмууд болон үйлчилгээнүүдтэй холбож өгөх боломжийг олгодог. OpenSSL-ийн зарим нэг хэрэглээнд захидлын клиентүүдийн шифрлэсэн нэвтрэлт, кредит картаар хийх төлбөрүүд гэх мэт вэб дээр тулгуурласан шилжүүлгүүд зэрэг олныг дурдаж болно. www/apache13-ssl болон mail/sylpheed-claws зэрэг олон портууд нь OpenSSL-тэй бүтээх эмхэтгэлийн дэмжлэгийг санал болгодог. Ихэнх тохиолдолд Портуудын Цуглуулга нь make хувьсагч WITH_OPENSSL_BASE-ийг yes гэж заагаагүй тохиолдолд security/openssl портыг бүтээхийг оролддог. &os;-д орсон OpenSSL-ийн хувилбар нь Secure Sockets Layer v2/v3 (SSLv2/SSLv3) буюу Аюулгүй Сокетуудын Давхаргын v2/v3 хувилбарууд, Transport Layer Security v1 (TLSv1) буюу Тээврийн Давхаргын Аюулгүй байдлын v1 хувилбарын сүлжээний аюулгүй байдлын протоколуудыг дэмждэг бөгөөд ерөнхий криптограф сан болон ашиглагдаж болох юм. OpenSSL нь IDEA алгоритмийг дэмждэг боловч Нэгдсэн Улсын патентуудаас болоод анхдагчаар хаалттай байдаг. Үүнийг ашиглахын тулд лицензийг шалгасан байх ёстой бөгөөд хэрэв хязгаарлалтуудыг хүлээн авах боломжтой бол MAKE_IDEA хувьсагчийг make.conf файлд заагж өгөх ёстой байдаг. OpenSSL-ийн хамгийн түгээмэл хэрэглээний нэг бол програм хангамжуудад зориулан ашиглах сертификатуудыг бэлдэх явдал юм. Эдгээр сертификатууд нь компани болон хувь хүмүүсийн итгэмжлэлүүдийг хүчинтэй бөгөөд луйврын биш гэдгийг баталгаажуулдаг. Хэрэв асуудалтай сертификат хэд хэдэн Certificate Authorities эсвэл CA-ууд буюу Сертификатын Эрх мэдэлтнүүдээр шалгагдаагүй бол ихэвчлэн анхааруулга үзүүлдэг. Сертификатын Эрх мэдэлтэн нь VeriSign зэрэг компани байдаг бөгөөд компаниуд эсвэл хувь хүмүүсийн итгэмжлэлүүдийг хүчин төгөлдөр болгохын тулд сертификатуудыг баталгаажуулж өгдөг. Энэ процесс нь өртөгтэй бөгөөд сертификатууд ашиглахад заавал ч үгүй шаардлага болдоггүй; гэхдээ энэ нь паранойд буюу хэт зовнисон хэрэглэгчдийн заримын санааг тайвшруулж болох юм. Сертификатуудыг үүсгэх нь OpenSSL сертификат үүсгэлт Сертификат үүсгэхийн тулд дараах тушаал байдаг: &prompt.root; openssl req -new -nodes -out req.pem -keyout cert.pem Generating a 1024 bit RSA private key ................++++++ .......................................++++++ writing new private key to 'cert.pem' ----- You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. ----- Country Name (2 letter code) [AU]:US State or Province Name (full name) [Some-State]:PA Locality Name (eg, city) []:Pittsburgh Organization Name (eg, company) [Internet Widgits Pty Ltd]:My Company Organizational Unit Name (eg, section) []:Systems Administrator Common Name (eg, YOUR name) []:localhost.example.org Email Address []:trhodes@FreeBSD.org Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []:SOME PASSWORD An optional company name []:Another Name Common Name хүлээх мөрийн дараах хариу домэйны нэрийг харуулж байгааг анзаараарай. Энэ мөр нь шалгалт хийх зорилгоор серверийн нэрийг оруулахыг шаарддаг; домэйн нэрээс бусдыг байрлуулах нь ашиггүй сертификат үүсэхэд хүргэдэг. Бусал тохируулгууд, жишээ нь дуусах хугацаа, өөр шифрлэх алгоритмууд гэх мэт тохируулгууд байдаг. Бүрэн гүйцэд жагсаалтыг &man.openssl.1; гарын авлагын хуудсыг үзэн авч болно. Дээрх тушаалын ажилласан санд хоёр файл одоо байж байх ёстой. Сертификатын хүсэлт req.pem нь таны оруулсан итгэмжлэлүүдийг хүчин төгөлдөр болгож хүсэлтийг баталгаажуулан сертификатыг танд буцаах сертификатын эрх мэдэлтэн уруу илгээгдэж болно. Үүсгэгдсэн хоёр дахь файл нь cert.pem гэж нэрлэгдэн сертификатын хувийн түлхүүр болох бөгөөд ямар ч байсан гэсэн хамгаалагдсан байх ёстой; хэрэв энэ нь бусдын гарт орох юм бол таны (эсвэл таны серверийн) дүрд тоглон ашиглагдаж болох юм. CA-с гарын үсэг шаарддаггүй тохиолдолд өөрөө зурсан сертификатыг үүсгэж болно. Эхлээд RSA түрхүүр үүсгэх хэрэгтэй: &prompt.root; openssl dsaparam -rand -genkey -out myRSA.key 1024 Дараа нь CA түлхүүр үүсгэ: &prompt.root; openssl gendsa -des3 -out myca.key myRSA.key Сертификат үүсгэхийн тулд энэ түлхүүрийг ашигла : &prompt.root; openssl req -new -x509 -days 365 -key myca.key -out new.crt Санд хоёр шинэ файл үүсэх ёстой: сертификатын эрх мэдэлтний гарын үсгийн файл myca.key болон сертификат өөрөө new.crt байна. Эдгээрийг зөвхөн root унших эрхтэй /etc санд байрлуулах шаардлагатай. Үүнд 0700 зөвшөөрөл байж болох бөгөөд түүнийг chmod хэрэгсэл ашиглан тохируулж болно. Сертификатуудыг ашиглах нь, жишээ Тэгэхээр эдгээр файлууд нь юу хийж чадах вэ? Сайн хэрэглээ болох нэг жишээ нь Sendmail MTA уруу хийгдэх холболтуудыг шифрлэх байж болно. Энэ нь локал MTA ашиглан захидал илгээх хэрэглэгчдийн цэвэр текст нэвтрэлтийн хэрэглээг болиулах юм. Зарим MUA-ууд нь хэрэв хэрэглэгчид дотроо сертификат суулгаагүй бол тэдэнд алдааг харуулдаг болохоор энэ нь ертөнц дээрх хамгийн шилдэг хэрэглээ биш юм. Сертификат суулгах тухай илүү мэдээллийг програм хангамжтай цуг ирсэн баримтаас үзэх хэрэгтэй. Дотоод .mc файл дотор дараах мөрүүдийг байрлуулах хэрэгтэй: dnl SSL Options define(`confCACERT_PATH',`/etc/certs')dnl define(`confCACERT',`/etc/certs/new.crt')dnl define(`confSERVER_CERT',`/etc/certs/new.crt')dnl define(`confSERVER_KEY',`/etc/certs/myca.key')dnl define(`confTLS_SRV_OPTIONS', `V')dnl Дээрх /etc/certs/ нь сертификат болон түлхүүр файлуудыг дотооддоо хадгалах сан юм. Сүүлийн хэдэн шаардлагууд нь дотоод .cf файлын дахин бүтээлт юм. Үүнийг /etc/mail сан дотроос make install тушаал бичин хийж болно. Ингэсний дараа make restart тушаалыг ажиллуулаарай, энэ нь Sendmail дэмонг эхлүүлэх ёстой. Хэрэв бүгд зүгээр болж өнгөрвөл /var/log/maillog файлд ямар ч алдаа бичигдэхгүй бөгөөд Sendmail процессийн жагсаалтад харуулагдана. Хялбар тест хийхийн тулд &man.telnet.1; хэрэгсэл ашиглан захидлын серверт холбогдох хэрэгтэй: &prompt.root; telnet example.com 25 Trying 192.0.34.166... Connected to example.com. Escape character is '^]'. 220 example.com ESMTP Sendmail 8.12.10/8.12.10; Tue, 31 Aug 2004 03:41:22 -0400 (EDT) ehlo example.com 250-example.com Hello example.com [192.0.34.166], pleased to meet you 250-ENHANCEDSTATUSCODES 250-PIPELINING 250-8BITMIME 250-SIZE 250-DSN 250-ETRN 250-AUTH LOGIN PLAIN 250-STARTTLS 250-DELIVERBY 250 HELP quit 221 2.0.0 example.com closing connection Connection closed by foreign host. Хэрэв STARTTLS мөр гарч ирвэл бүгд зөв ажиллаж байна. Ник Клэйтон
nik@FreeBSD.org
Бичсэн
IPsec IPsec дээгүүр VPN хийх FreeBSD гарц машинуудыг ашиглан Интернэтээр тусгаарлагдсан хоёр сүлжээний хооронд VPN үүсгэх. Хитэн М. Пандиа
hmp@FreeBSD.org
Бичсэн
IPsec-ийг ойлгох нь Энэ хэсэг IPsec-ийг тохируулах процессийг тайлбарлаж FreeBSD болон µsoft.windows; 2000/XP машинуудаас тогтох орчинд түүнийг ашиглан тэдгээрийг өөр хоорондоо аюулгүйгээр холбогдох нөхцөлийг бүрдүүлэх талаар зааварлах болно. IPsec-ийг тохируулахын тулд та өөрчлөн тохируулсан цөм бүтээх ухагдахууныг мэдсэн байх шаардлагатай (-г үзнэ үү). IPsec нь Интернэт Протокол (IP) давхаргын дээр суудаг протокол юм. Энэ нь хоёр буюу хэд хэдэн хостуудыг аюулгүй байдлаар (нэрээс нь харах юм бол) холбох боломжийг олгодог. FreeBSD IPsec сүлжээний стек нь IPv4 болон IPv6 протоколуудыг хоёуланг дэмждэг KAME шийдэл дээр үндэслэсэн. FreeBSD нь OpenBSD-ээс авсан Fast IPsec буюу Хурдан IPsec гэгддэг тоног төхөөрөмжөөр хурдасгасан IPsec стектэй. Энэ нь IPsec-ийн ажиллагааг оновчтой болгохын тулд &man.crypto.4; дэд системийн тусламжтайгаар криптограф тоног төхөөрөмжийг (аль болох бүх газар) хэрэглэдэг. Энэ нь шинэ дэд систем бөгөөд IPsec-ийн KAME хувилбарт байдаг бүх боломжуудыг дэмждэггүй. Гэхдээ тоног төхөөрөмжөөр хурдасгасан IPsec-ийг идэвхжүүлэхийн тулд өөрийн цөмийн тохиргооны файлдаа дараах цөмийн тохируулгыг нэмэх хэрэгтэй: цөмийн тохируулгууд FAST_IPSEC options FAST_IPSEC # new IPsec (cannot define w/ IPSEC) IPsec-ийн KAME шийдлийн оронд Fast IPsec дэд системийг ашиглах боломж одоогоор байхгүйг тэмдэглэе. Дэлгэрэнгүй мэдээллийг &man.fast.ipsec.4; гарын авлагын хуудаснаас лавлана уу. Галт хануудад &man.gif.4; туннелийн төлөвийг бас зөв дагаж мөрдөх боломжийг олгохын тулд та өөрийн цөмийн тохиргооны файлдаа тохируулгыг идэвхжүүлэх хэрэгтэй: options IPSEC_FILTERGIF #filter ipsec packets from a tunnel IPsec ESP IPsec AH IPsec нь хоёр дэд протоколоос тогтоно: Encapsulated Security Payload (ESP) буюу Хайрцаглагдсан Аюулгүй байдлын ачаа нь гуравдагчийн нөлөөллөөс тэгш хэмт криптограф алгоритмийг (Blowfish, 3DES-тэй адил) ашиглан агуулгыг нь шифрлэж IP пакетийн өгөгдлийг хамгаалдаг. Authentication Header (AH) буюу Нэвтрэлт Танилтын Толгой нь аюулгүй хэш хийх функцаар IP пакетийн толгойн талбаруудыг хэш хийн криптограф хянах нийлбэрийг тооцоолон гуравдагч этгээдийн нөлөөлөл болон хууран мэхлэлтээс IP пакетийн толгойг хамгаалдаг. Үүний дараа пакет дахь мэдээллийг таниулахыг зөвшөөрөх хэшийг агуулсан нэмэлт толгой байдаг. ESP болон AH нь орчноосоо хамаараад хоёулаа цуг эсвэл тусдаа ашиглагдаж болно. VPN виртуал хувийн сүлжээ VPN IPsec нь хоёр хостын хоорондох урсгалыг шууд шифрлэх (Transport Mode буюу Тээвэрлэх Горим гэгддэг) буюу эсвэл хоёр корпорацийн сүлжээний хооронд аюулгүй холбоонд ашиглагдаж болох виртуал туннелиуд (Tunnel Mode буюу Туннелийн Горим гэгддэг) бүтээхэд хэрэглэгдэж болох юм. Сүүлийнх нь ерөнхийдөө Виртуал Хувийн Сүлжээ (VPN) гэгддэг. FreeBSD-ийн IPsec дэд системийн талаар дэлгэрэнгүй мэдээллийг &man.ipsec.4; гарын авлагын хуудаснаас лавлах хэрэгтэй. Өөрийн цөмдөө IPsec дэмжлэгийг нэмэхийн тулд та дараах тохируулгуудыг цөмийн тохиргоондоо нэмээрэй: цөмийн тохируулгууд IPSEC цөмийн тохируулгууд IPSEC_ESP options IPSEC #IP security options IPSEC_ESP #IP security (crypto; define w/ IPSEC) цөмийн тохируулгууд IPSEC_DEBUG Хэрэв IPsec дибаг хийх дэмжлэг заавал хэрэгтэй бол дараах цөмийн тохируулга бас нэмэгдсэн байх шаардлагатай: options IPSEC_DEBUG #debug for IP security
Асуудал VPN-ийг байгуулахад ямар нэг стандарт байхгүй. VPN-үүд нь өөр өөрийн давуу болон сул талуудтай төрөл бүрийн технологиудыг ашиглан хийгдэж болно. Энэ хэсэг нь нэг тохиолдлын загвар үзүүлэх бөгөөд энэ тохиолдол дахь VPN-ийг хийхэд хэрэглэгдэх стратегиудыг харуулах болно. Тохиолдол: Интернэтэд холбогдсон, нэг юм шиг ажиллах хоёр сүлжээ VPN үүсгэх Угтвар нөхцөл дараах маягийн байна: Та хамгийн багадаа хоёр сайттай байна Хоёр сайт хоёулаа IP-г дотооддоо ашигладаг FreeBSD дээр нь ажилладаг гарц компьютераар хоёр сайт хоёулаа Интернэтэд холбогдсон. Хоёр сүлжээний гарц компьютер бүр хамгийн багаар бодоход нэг нийтийн IP хаягтай. Хоёр сүлжээний дотоод хаягууд нь нийтийн эсвэл хувийн IP хаягууд байж болох юм, энэ нь хамаагүй. Та гарц машин дээр хэрэв шаардлагатай бол NAT ажиллуулсан байж болох юм. Хоёр сүлжээний дотоод IP хаягууд мөргөлдөхгүй. Үүнийг ажиллуулахын тулд VPN технологи болон NAT-ийн хослолыг ашиглах нь онолын хувьд боломжтой боловч би үүнийг хар дарсан зүүд шигээр тохиргоо их төвөгтэй байх болов уу гэж бодож байна. Хоёр сүлжээ дотооддоо хоёулаа адилхан хувийн IP хаягийн хүрээ (өөрөөр хэлбэл хоёулаа 192.168.1.x) ашиглаж байгаа хоёр сүлжээг холбохыг оролдож байгаагаа хэрэв та мэдэх юм бол аль нэг сүлжээний IP-г дахин дугаарлах шаардлагатай болно. Сүлжээний бүтэц иймэрхүү харагдаж болох юм: Сүлжээ #1 [ Дотоод хостууд ] Хувийн Сүлжээ, 192.168.1.2-254 [ Win9x/NT/2K ] [ UNIX ] | | .---[fxp1]---. Хувийн IP, 192.168.1.1 | FreeBSD | `---[fxp0]---' Нийтийн IP, A.B.C.D | | -=-=- Интернэт -=-=- | | .---[fxp0]---. Нийтийн IP, W.X.Y.Z | FreeBSD | `---[fxp1]---' Хувийн IP, 192.168.2.1 | | Сүлжээ #2 [ Internal Hosts ] [ Win9x/NT/2K ] Хувийн Сүлжээ, 192.168.2.2-254 [ UNIX ] Хоёр нийтийн IP хаяг байгааг анзаарна уу. Нийтлэлийн туршид би эдгээрийг үсгээр орлуулан ашиглах болно. Энэ нийтлэлийн туршид тохиолдох эдгээр үсэгнүүдийн оронд өөрийн нийтийн хаягаар орлуулж тавиарай. Мөн дотроо хоёр гарц машин маань .1 IP хаягтай бөгөөд хоёр сүлжээ маань өөр өөр хувийн IP хаягийн хүрээтэйг (192.168.1.x болон 192.168.2.x) анхаарна уу. Хувийн сүлжээнүүд дэх бүх машинууд өөрсдийн анхдагч гарцдаа .1 машиныг ашиглахаар тохируулсан байгаа болно. Гол зорилго нь сүлжээ талаасаа авч үзэх юм бол сүлжээ болгон нөгөө сүлжээнийхээ машинуудыг яг л нэг чиглүүлэгчид холбоотой юм шиг харж чадан ажиллаж байх ёстой -- гэвч энэ чиглүүлэгч нь хааяа пакетуудыг гээдэг илүү удаан чиглүүлэгч байх юм. Энэ нь (жишээ нь) 192.168.1.20 машин дараах тушаалыг ажиллуулж ping 192.168.2.34 нэвт ажиллаж чадах ёстой гэсэн үг юм. &windows; машинууд өөр сүлжээн дээр байх машинуудыг харж файлын хуваалцал санг үзэх зэргийг хийж локал сүлжээн дээр байгаа машинуудыг харж үзэж чаддаг шигээр ажиллаж чадаж байх ёстой. Тэгээд бүх юм аюулгүй байх хэрэгтэй. Энэ нь хоёр сүлжээний хоорондох урсгал шифрлэгдэх ёстой гэсэн үг юм. Эдгээр хоёр сүлжээний хооронд VPN үүсгэх нь олон алхамтай процесс юм. Эдгээр нь: Интернэтийн дагуу хоёр сүлжээний хооронд виртуал сүлжээний холболт үүсгэнэ. Ажиллаж байгааг нь шалгаж &man.ping.8; зэрэг багажуудыг ашиглаж тест хийгээрэй. Хоёр сүлжээний хоорондох урсгал харагдахгүйгээр шифрлэгдэж шаардлагатай бол буцаан шифрлэгдэх тэр боломжийг бүрдүүлэх аюулгүй байдлын бодлогуудыг зааж өгөөрэй. Урсгал шифрлэгдэж байгааг эсэхийг шалгаж &man.tcpdump.1; зэрэг багажууд ашиглан тест хийгээрэй. VPN-ийн дагуу &windows; машинууд нэг нь нөгөөгөө харж байхыг зөвшөөрөх нэмэлт програм хангамжийг FreeBSD гарц машинууд дээр тохируулаарай. Алхам 1: <quote>виртуал</quote> сүлжээний холболт үүсгэн тест хийх Сүлжээ #1 дээрх гарц машин (A.B.C.D нийтийн IP хаягтай, 192.168.1.1 хувийн IP хаягтай) уруу та нэвтрэн орсон бөгөөд W.X.Y.Z IP хаягтай машины хувийн хаяг уруу нь ping 192.168.2.1 гэж тушаал ажиллуулъя гэж бодъё. Ингэж ажиллахын тулд юу болох ёстой вэ? Гарц машин 192.168.2.1 уруу яаж хүрэхээ мэдэх ёстой. Өөрөөр хэлбэл энэ нь 192.168.2.1 уруу хийгдсэн чиглүүлэлттэй байх хэрэгтэй. 192.168.x зэрэг хувийн IP хаягууд Интернэт дээр бараг үзэгдэх ёсгүй. Харин 192.168.2.1 уруу таны илгээсэн пакет бүр өөр пакет дотор орсон байх ёстой. Энэ пакет нь A.B.C.D машинаас ирсэн маягаар байх ёстой бөгөөд W.X.Y.Z уруу илгээгдэх ёстой. Энэ процессийг encapsulation буюу хайрцаглалт гэж нэрлэдэг. Энэ пакет нь W.X.Y.Z дээр ирээд unencapsulated буюу буцааж ялгагдан 192.168.2.1 уруу хүргэгдэх хэрэгтэй. Та үүнийг хоёр сүлжээний хоорондох туннель гэж ойлгож болно. Туннелийн хоёр амсар нь A.B.C.D болон W.X.Y.Z IP хаягууд бөгөөд туннельд түүгээр дамжин өнгөрөх хувийн IP хаягуудыг мэдэгдсэн байх шаардлагатай. Туннель нь нийтийн Интернэтээр хувийн IP хаягтай урсгалыг дамжуулахад хэрэглэгдэнэ. Энэ туннель нь ерөнхий интерфэйс эсвэл FreeBSD дээрх gif төхөөрөмж ашиглан үүсгэгддэг. Таны бодсоноор гарц машин бүр дээрх gif интерфэйс нь дөрвөн IP хаягтай байхаар тохируулагдсан байх шаардлагатай; хоёр нь нийтийн IP хаяг, хоёр нь хувийн IP хаяг. Хоёр машины хувьд gif төхөөрөмжийн дэмжлэг &os;-ийн цөмд эмхэтгэгдсэн байх шаардлагатай. Та дараах мөрийг: device gif хоёр машины цөмийн тохиргооны файлд хийн дараа нь эмхэтгэн суулгаж дахин ачаалснаар үүнийг хийж болно. Туннелийг тохируулах нь хоёр алхамтай процесс юм. Эхлээд туннельд ямар гадаад (эсвэл нийтийн) IP хаягууд байгааг &man.ifconfig.8; ашиглан мэдэгдэх ёстой. Тэгээд дараа нь хувийн IP хаягуудыг &man.ifconfig.8; тушаал ашиглан тохируулах ёстой. Сүлжээ #1 дэх гарц машин дээр туннелийг тохируулахын тулд та дараах тушаалуудыг ашиглах болно. &prompt.root; ifconfig gif0 create &prompt.root; ifconfig gif0 tunnel A.B.C.D W.X.Y.Z &prompt.root; ifconfig gif0 inet 192.168.1.1 192.168.2.1 netmask 0xffffffff Нөгөө нэг гарц машин дээр та адил тушаалуудыг гэхдээ IP хаягуудын дарааллыг эсрэгээр тавин ажиллуулна. &prompt.root; ifconfig gif0 create &prompt.root; ifconfig gif0 tunnel W.X.Y.Z A.B.C.D &prompt.root; ifconfig gif0 inet 192.168.2.1 192.168.1.1 netmask 0xffffffff Та дараа нь: ifconfig gif0 ажиллуулж тохиргоог харж болно. Жишээ нь сүлжээ #1 дээрх гарц машин дээр та үүнийг харах болно: &prompt.root; ifconfig gif0 gif0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1280 tunnel inet A.B.C.D --> W.X.Y.Z inet 192.168.1.1 --> 192.168.2.1 netmask 0xffffffff Эндээс харахад A.B.C.D болон W.X.Y.Z физик хаягуудын хооронд туннель үүссэн бөгөөд туннелээр зөвшөөрөгдөх урсгал нь 192.168.1.1 болон 192.168.2.1-ийн хооронд байна. Энэ нь бас хоёр машин дээрх чиглүүлэлтийн хүснэгтэд бас оруулга нэмсэн байх бөгөөд та үүнийг netstat -rn тушаал ашиглан шалгаж болно. Доорх гаралт нь сүлжээ #1 дэх гарц машиных юм. &prompt.root; netstat -rn Routing tables Internet: Destination Gateway Flags Refs Use Netif Expire ... 192.168.2.1 192.168.1.1 UH 0 0 gif0 ... Flags утгын харуулж байгаагаар энэ нь хостын чиглүүлэлт бөгөөд энэ нь гарц бүр нөгөө гарц уруу хэрхэн хүрэхээ мэдэх боловч тэд харин өөрсдийнхөө харгалзах сүлжээнүүд уруу хэрхэн хүрэхээ мэдэхгүй гэсэн үг юм. Энэ асуудлыг удахгүй засварлах болно. Энэ нь хоёр машин дээр хоёулан дээр нь галт хана ажиллаж гэсэн үг юм. Таны VPN урсгалын хувьд үүнийг тойрон гарах шаардлагатай. Та хоёр сүлжээний хоорондох бүх урсгалыг зөвшөөрөх юм уу эсвэл VPN-ий хоёр төгсгөлийг нэгээс нөгөөг хамгаалах галт ханын дүрмүүдийг оруулж болох юм. Хэрэв VPN-ээр өнгөрөх бүх урсгалыг зөвшөөрөхөөр галт ханыг тохируулах юм бол энэ нь тест хийхийг ихээхэн амарчлах болно. Та дараа нь хэзээ ч галт ханаа илүү чангаруулж болно. Хэрэв та &man.ipfw.8; тушаалыг гарц машинууд дээр ашиглаж байгаа бол дараах ipfw add 1 allow ip from any to any via gif0 тушаал нь хоёр төгсгөлийн цэгийн хоорондох бүх урсгалыг таны галт ханын бусад дүрмүүдийг хөндөлгүйгээр зөвшөөрөх болно. Мэдээж та энэ тушаалыг хоёр гарц хост дээр хоёулан дээр ажиллуулах хэрэгтэй болно. Нэг гарц машинаас нөгөө уруугаа ping хийхийг зөвшөөрөхөд хангалттай. 192.168.1.1 дээр та дараах ping 192.168.2.1 тушаалыг ажиллуулж хариу хүлээж авахаас гадна мөн нөгөө гарц машин дээрээс бас ингэж хийж чадаж байх ёстой. Гэхдээ та хоёр сүлжээний дотоод машинууд уруу арай хүрч чадахгүй байх ёстой. Энэ нь чиглүүлэлтээс болж байгаа юм -- гарц машинууд бие бие уруугаа хэрхэн хүрэхээ мэдэж байгаа боловч нэг нэгнийнхээ цаана байгаа сүлжээнд хэрхэн хүрэхийг мэдэхгүй. Энэ асуудлыг шийдэхийн тулд та гарц машин бүр дээр статик чиглүүлэлт нэмэх хэрэгтэй. Эхний гарц дээр хийх тушаал нь: route add 192.168.2.0 192.168.2.1 netmask 0xffffff00 Энэ нь 192.168.2.0 сүлжээний хостуудад хүрэхийн тулд пакетуудыг 192.168.2.1 хост уруу илгээ гэж байна. Та үүнтэй адил тушаалыг нөгөө гарц дээр бас ажиллуулах хэрэгтэй бөгөөд гэхдээ 192.168.1.x хаягуудыг ашиглах ёстой. Одоо нэг сүлжээн дэх хостуудын IP урсгал нөгөө сүлжээний хостуудад хүрэх боломжтой болно. Энэ нь одоо хоёр сүлжээний хооронд VPN-ий гуравны хоёрыг үүсгэж байгаа бөгөөд аль болох виртуалаар үүсгэгдсэн сүлжээ юм. Энэ нь одоохондоо хувийн биш байгаа. Та үүнийг &man.ping.8; болон &man.tcpdump.1; ашиглан тест хийж болно. Гарц хост уруу нэвтрэн орж дараах тушаалыг ажиллуулна tcpdump dst host 192.168.2.1 Тэр хост дээрээ өөр сессээр дараах тушаалыг ажиллуулна ping 192.168.2.1 Та иймэрхүү гаралтыг харах болно: 16:10:24.018080 192.168.1.1 > 192.168.2.1: icmp: echo request 16:10:24.018109 192.168.1.1 > 192.168.2.1: icmp: echo reply 16:10:25.018814 192.168.1.1 > 192.168.2.1: icmp: echo request 16:10:25.018847 192.168.1.1 > 192.168.2.1: icmp: echo reply 16:10:26.028896 192.168.1.1 > 192.168.2.1: icmp: echo request 16:10:26.029112 192.168.1.1 > 192.168.2.1: icmp: echo reply Эндээс харахад ICMP мэдэгдлүүд нааш цааш шифрлэгдэлгүй явж байна. Хэрэв та пакетуудаас өгөгдлийн байтуудыг илүүтэйгээр авахын тулд &man.tcpdump.1; уруу параметрийг өгч ашигласан бол илүү мэдээлэл та харж болох юм. Энэ нь мэдээж хүлээн авах боломжгүй зүйл юм. Дараагийн хэсэгт хоёр сүлжээний хоорондох холболтыг бүх урсгал нь автоматаар шифрлэгдэхээр аюулгүй болгох талаар хэлэлцэх болно. Дүгнэн хэлэхэд: Хоёр цөмийг device gif мөртэйгөөр тохируулна. Гарц хост #1 дээрх /etc/rc.conf файлд засвар хийн дараах мөрүүдийг нэмнэ (шаардлагатай тохиолдолд IP хаягуудыг сольно). gif_interfaces="gif0" gifconfig_gif0="A.B.C.D W.X.Y.Z" ifconfig_gif0="inet 192.168.1.1 192.168.2.1 netmask 0xffffffff" static_routes="vpn" route_vpn="192.168.2.0 192.168.2.1 netmask 0xffffff00" Хоёр хост дээрх гарц скриптийг (/etc/rc.firewall, эсвэл үүнтэй адил) засварлаж доор дурдсаныг нэмнэ. ipfw add 1 allow ip from any to any via gif0 IP хаягуудын дарааллыг эсрэгээр болгон гарц хост #2 дээрх /etc/rc.conf файлд адил өөрчлөлтийг хийнэ. Алхам 2: Холболтыг аюулгүй болгох Холболтыг аюулгүй болгохын тулд бид IPsec-ийг ашиглах болно. IPsec нь хоёр хостыг шифрлэлтийн түлхүүр дээр зөвшилцүүлж дараа нь уг хоёр хостын хооронд өгөгдлийг шифрлэхийн тулд энэ түлхүүрийг ашиглах арга замыг өгдөг. Энд тохиргооны хоёр талбарыг бодолцох хэрэгтэй. Ашиглах шифрлэлтийн арга зам дээр хоёр хост зөвшилцөх тийм арга зам байх ёстой. Хоёр хост энэ арга зам дээр зөвшилцсөний дараа тэдгээрийн хооронд аюулгүй байдлын нэгдэл байна гэж үздэг. Аль урсгалыг шифрлэх ёстойг заах арга зам байх ёстой. Мэдээж та өөрийн бүх гарч байгаа урсгалаа шифрлэхийг хүсэхгүй байх -- та зөвхөн VPN-ий хэсэг болсон урсгалыг шифрлэхийг хүснэ. Аль урсгалыг шифрлэхийг тодорхойлохын тулд хийгдэх дүрмүүд нь security policies буюу аюулгүй байдлын бодлогууд гэгдэнэ. Аюулгүй байдлын нэгдлүүд болон аюулгүй байдлын бодлогуудын ажиллагааг цөм хангаж байдаг бөгөөд хэрэглэгчдийн талбарын програмуудаар засварлагдаж болно. Гэхдээ үүнийг хийхийн өмнө IPsec болон Encapsulated Security Payload (ESP) буюу Хайрцаглагдсан Аюулгүй байдлын Ачаа протоколыг цөм дэмжихээр та тохируулах хэрэгтэй. Цөмийг: цөмийн тохируулгууд IPSEC options IPSEC options IPSEC_ESP тохируулгатай тохируулан дахин эмхэтгэж суулгаад ачаалан үүнийг хийнэ. Урьдын адил та хоёр гарц машин дээрх цөмийн хувьд үүнийг хийх ёстой. IKE Аюулгүй байдлын нэгдлүүдийг тохируулах үед танд хоёр сонголт байна. Шифрлэлтийн алгоритм, шифрлэлтийн түлхүүрүүд гэх зэргүүдийг сонгож тэдгээр нэгдлүүдийг хоёр хостын хооронд гараараа тохируулж болох бөгөөд эсвэл эдгээрийг хийх Internet Key Exchange protocol (IKE) буюу Интернэтийн Түлхүүр Солилцох протоколыг шийддэг дэмонуудыг та ашиглаж болно. Би сүүлийнхийг зөвлөж байна. Өөр бусдыг тооцохгүй юм бол үүнийг тохируулах нь амархан. IPsec аюулгүй байдлын бодлогууд setkey Аюулгүй байдлын бодлогуудыг засварлах болон үзүүлэхдээ &man.setkey.8;-г ашиглан хийдэг. Адилтгах юм бол setkey нь цөмийн аюулгүй байдлын бодлогын хүснэгтүүдэд &man.route.8; цөмийн чиглүүлэлтийн хүснэгтүүдэд зориулагдсан шиг зориулагдсан байна. setkey нь бас одоогийн аюулгүй байдлын нэгдлүүдийг үзүүлж чадах бөгөөд адилтган цааш үргэлжлүүлбэл энэ нь бас netstat -r тушаалын нэгэн адил болох юм. FreeBSD-ээр аюулгүй байдлын нэгдлүүдийг удирдах дэмонуудын хувьд хэд хэдэн сонголт байдаг. Энэ нийтлэл нь эдгээрийн нэг &os;-ийн Портуудын цуглуулгын security/ipsec-tools-д байдаг racoon-ийг хэрхэн ашиглах талаар тайлбарлах болно. racoon racoon програм хангамж хоёр гарц машин дээр хоёулан дээр нь ажиллах ёстой. Энэ нь хост бүр дээр VPN-ий нөгөө төгсгөлийн IP хаяг болон нууц түлхүүртэйгээр (таны сонгох түлхүүр байх бөгөөд хоёр гарц машин дээр ижил байх ёстой) тохируулагддаг. Дараа нь хоёр дэмон нэг нэгэндээ хандаж тэдгээр нь өөрсдөө хэн хэн гэж хэлснээ (таны тохируулсан нууц түлхүүрийг ашиглан) баталгаажуулдаг. Дэмонууд дараа нь шинэ нууц түлхүүрийг үүсгэж түүнийг ашиглан VPN-ээр урсгалыг шифрлэдэг. Тэд энэ нууцаа үе үе өөрчилдөг бөгөөд халдагч түлхүүрүүдийн аль нэгийг эвдсэн ч (цагаа тулахаар энэ нь онолын хувьд бараг боломжгүй зүйл) гэсэн энэ нь халдагчид муу юм хийх боломж олгодоггүй -- түлхүүрийг эвдэх тэр үед хоёр дэмон өөр түлхүүрийг сонгосон байна. racoon-ий тохиргооны файл ${PREFIX}/etc/racoon-д байрлана. Та энд тохиргооны файлыг олох ёстой бөгөөд түүнд нэг их өөрчлөлт хийгдэх ёсгүй. Таны өөрчлөх шаардлагатай racoon-ий тохиргооны файлын өөр нэг бүрэлдэхүүн хэсэг нь pre-shared key буюу урьдчилан хуваалцсан түлхүүр юм. racoon-ий анхдагч тохиргоо үүнийг ${PREFIX}/etc/racoon/psk.txt-д байгаа гэж боддог. Урьдчилан хуваалцсан түлхүүр нь таны урсгалыг VPN-ийн дагуу шифрлэх түлхүүр биш бөгөөд харин энэ нь ердөө л түлхүүр удирдах дэмонуудыг нэг нь нөгөөдөө итгэхийг зөвшөөрөх токен гэдгийг тэмдэглэж хэлэх нь зүйтэй юм. psk.txt нь таны ажиллаж байгаа алсын сайт бүрийн мөрийг агуулсан байна. Хоёр сайт бүхий энэ жишээн дээр psk.txt файл бүр нэг мөрийг агуулсан байна (VPN-ий төгсгөлүүд бүр зөвхөн нөгөө төгсгөлтэйгээ ажилладаг). Гарц хост #1 дээр энэ мөр иймэрхүү харагдах ёстой: W.X.Y.Z secret Энэ нь алсын төгсгөлийн нийтийн IP хаяг, хоосон зай, тэгээд нууц үгийг илэрхийлэх текст мэдээлэл байна. Мэдээж та өөрийн түлхүүртээ secret гэдгийг ашиглах ёсгүй -- нууц үгийг сонгох энгийн дүрэм энд үйлчилнэ. Гарц хост #2 дээр энэ мөр иймэрхүү харагдах ёстой A.B.C.D secret Энэ нь алсын төгсгөлийн IP хаяг болон адилхан нууц түлхүүр байна. psk.txt нь racoon ажиллахаас өмнө 0600 (өөрөөр хэлбэл root-д зөвхөн унших/бичих) горимд байна. Та racoon-ийг хоёр гарц машин дээр ажиллуулах ёстой. Та бас UDP-ээр ISAKMP (Internet Security Association Key Management Protocol буюу Интернэтийн Аюулгүй байдлын Нэгдлийн Түлхүүр Удирдах Протокол) порт уруу зөөгдөх IKE урсгалыг зөвшөөрөх галт ханын зарим дүрмүүдийг нэмэх хэрэгтэй. Дахин хэлэхэд энэ нь таны галт ханын дүрмийн олонлогт нэлээн эрт байх шаардлагатай. ipfw add 1 allow udp from A.B.C.D to W.X.Y.Z isakmp ipfw add 1 allow udp from W.X.Y.Z to A.B.C.D isakmp racoon ажилласны дараа та нэг гарц хостоос нөгөө гарц хост уруу ping хийж үзэж болно. Холболт нь шифрлэгдээгүй байх боловч racoon дараа нь аюулгүй байдлын нэгдлүүдийг хоёр хостын хооронд тохируулна -- энэ нь хором болж өнгөрч болох бөгөөд ping тушаал хариу өгч эхлэх хүртэл богино саатал маягаар танд харагдаж болох юм. Аюулгүй байдлын нэгдэл тохируулагдсаны дараа та үүнийг &man.setkey.8; ашиглан үзэж болно. setkey -D тушаалыг аль нэг хост дээр ажиллуулж аюулгүй байдлын нэгдлийн мэдээллийг харна. Энэ нь асуудлын нэг хагас нь юм. Нөгөө нэг хагас нь өөрийн аюулгүй байдлын бодлогуудыг тохируулах явдал юм. Ухаалаг аюулгүй байдлын бодлогыг үүсгэхийн тулд энэ хүртэл юуг хийснээ эргэн харцгаая. Энэ хэлэлцээ нь холболтын төгсгөлийн хоёулангийнх нь хувьд авч үзнэ. Таны гадагш илгээх IP пакет бүр пакетийн тухай өгөгдлийг агуулах толгойтой байдаг. Толгой нь эхлэл болон төгсгөлийн IP хаягуудыг агуулдаг. Бидний мэдэж байгаагаар 192.168.x.y зэрэг хувийн IP хаягууд нийтийн Интернэт дээр ил гарах ёсгүй. Харин тэд эхлээд өөр пакет дотор хайрцаглагдах ёстой. Энэ пакет нь хувийн хаягуудын оронд солигдсон нийтийн эхлэл болон төгсгөл IP хаягуудтай байх ёстой. Тэгэхээр хэрэв таны гарч байгаа пакет иймэрхүү харагдаж эхэлбэл: .----------------------. | Src: 192.168.1.1 | | Dst: 192.168.2.1 | | <other header info> | +----------------------+ | <packet data> | `----------------------' Дараа нь өөр нэг пакетийн дотор энэ нь хайрцаглагдан иймэрхүү харагдах болно: .--------------------------. | Src: A.B.C.D | | Dst: W.X.Y.Z | | <other header info> | +--------------------------+ | .----------------------. | | | Src: 192.168.1.1 | | | | Dst: 192.168.2.1 | | | | <other header info> | | | +----------------------+ | | | <packet data> | | | `----------------------' | `--------------------------' Энэ хайрцаглалт нь gif төхөөрөмжөөр хийгдэнэ. Пакет нь гадна талдаа жинхэнэ IP хаягуудтай байх бөгөөд бидний эхний пакет Интернэт уруу гарах пакет дотор орсон байгааг харж болно. Мэдээж бид VPN-үүдийн хоорондох бүх урсгалыг шифрлэхийг хүснэ. Та үүнийг иймэрхүүгээр үгчлэн хэлж болно: Хэрэв пакет A.B.C.D-с гарч W.X.Y.Z уруу чиглэсэн бол шаардлагатай аюулгүй байдлын нэгдлүүдийг ашиглан шифрлэнэ. Хэрэв пакет нь W.X.Y.Z-с ирж A.B.C.D уруу чиглэсэн бол шаардлагатай аюулгүй байдлын нэгдлүүдийг ашиглан буцааж шифрлэнэ. Ингэж хэлэхэд ер нь бараг л зөв, ойрхон байна, гэхдээ бас тийм ч зөв биш юм. Хэрэв та үүнийг хийсэн бол W.X.Y.Z-с гарсан болон түүн уруу чиглэсэн, бүр VPN-ий хэсэг ч биш бүх урсгал шифрлэгдэх болно. Та яг үүнийг хүсээгүй байх. Зөв бодлого нь дараах маягаар байна Хэрэв пакет A.B.C.D-с гарч тэр пакет нь өөр пакет дотор орон хайрцаглагдан W.X.Y.Z уруу чиглэсэн бол шаардлагатай аюулгүй байдлын нэгдлүүдийг ашиглан шифрлэнэ. Хэрэв пакет нь W.X.Y.Z-с ирж тэр пакет нь өөр пакет дотор орон хайрцаглагдан A.B.C.D уруу чиглэсэн бол шаардлагатай аюулгүй байдлын нэгдлүүдийг ашиглан буцааж шифрлэнэ. Нарийн өөрчлөлт, гэхдээ хэрэгтэй нэгэн. Аюулгүй байдлын бодлогууд нь бас &man.setkey.8; ашиглагдан заагдана. &man.setkey.8; нь бодлого тодорхойлох тохиргооны хэлтэй байна. Та тохиргооны заавруудыг stdin-ээс оруулж болох бөгөөд эсвэл тохиргооны заавруудыг агуулах файлын нэрийг зааж өгөх тохируулгыг ашиглаж болно. Гарц хост #1-ийн (A.B.C.D гэсэн нийтийн IP хаягтай) тохиргоо W.X.Y.Z уруу чиглэсэн бүх гарах урсгалыг хүчээр шифрлэхийн тулд: spdadd A.B.C.D/32 W.X.Y.Z/32 ipencap -P out ipsec esp/tunnel/A.B.C.D-W.X.Y.Z/require; Эдгээр тушаалуудыг файлд (өөрөөр хэлбэл /etc/ipsec.conf) хийгээд ажиллуулаарай &prompt.root; setkey -f /etc/ipsec.conf нь бид аюулгүй бодлогын мэдээллийн санд дүрэм нэмэхийг хүсэж байгааг &man.setkey.8;-д хэлж өгч байна. Энэ мөрийн бусад нь энэ бодлогод аль пакет таарахыг заана. A.B.C.D/32 ба W.X.Y.Z/32 нь энэ бодлого хамаарах сүлжээ болон хостуудыг таних IP хаягууд болон сүлжээний багууд юм. Энэ тохиолдолд эдгээр хоёр хостуудын хоорондох урсгалд үүнийг хамааруулахыг бид хүсэж байна. нь энэ бодлого зөвхөн бусад пакетуудыг хайрцаглах пакетуудад хамаатай гэдгийг цөмд хэлнэ. тохируулга нь энэ бодлого гарах пакетуудад хамаатайг хэлэх бөгөөд тохируулга нь пакет нууцлагдахыг хэлж байна. Хоёр дахь мөр нь энэ пакет хэрхэн шифрлэгдэхийг заана. нь ашиглагдах протокол байхад нь пакетийг цаашаагаа IPsec пакет дотор орж хайрцаглалт хийгдэхийг заана. A.B.C.D болон W.X.Y.Z-ийн давхардсан хэрэглээ нь ашиглах аюулгүй байдлын нэгдлийг сонгоход хэрэглэгдэх бөгөөд төгсгөлийн тохируулга энэ дүрмэнд таарсан пакетуудыг шифрлэх ёстойг зааж байна. Энэ дүрэм нь зөвхөн гарч байгаа пакетуудтай таарна. Ирж байгаа пакетийн хувьд танд үүнтэй адил дүрэм хэрэгтэй. spdadd W.X.Y.Z/32 A.B.C.D/32 ipencap -P in ipsec esp/tunnel/W.X.Y.Z-A.B.C.D/require; Энэ тохиолдолд -ийн оронд тохируулгыг ашиглаж шаардлагын дагуу IP хаягуудыг эсрэгээр болгосныг хараарай. Нөгөө нэг гарц хостод (W.X.Y.Z нийтийн IP хаягтай) үүнтэй адил дүрмүүд хэрэгтэй. spdadd W.X.Y.Z/32 A.B.C.D/32 ipencap -P out ipsec esp/tunnel/W.X.Y.Z-A.B.C.D/require; spdadd A.B.C.D/32 W.X.Y.Z/32 ipencap -P in ipsec esp/tunnel/A.B.C.D-W.X.Y.Z/require; Төгсгөлд нь та ESP болон IPENCAP пакетуудыг нааш цааш зөвшөөрөх галт ханын дүрмүүдийг нэмэх хэрэгтэй. Эдгээр дүрмүүдийг хост бүр дээр нэмэх шаардлагатай. ipfw add 1 allow esp from A.B.C.D to W.X.Y.Z ipfw add 1 allow esp from W.X.Y.Z to A.B.C.D ipfw add 1 allow ipencap from A.B.C.D to W.X.Y.Z ipfw add 1 allow ipencap from W.X.Y.Z to A.B.C.D Дүрмүүд нь тэгш хэмт учир адилхан дүрмүүдийг та гарц хост бүр дээр ашиглаж болно. Одоо гарч байгаа пакетууд үүнтэй адил харагдах болно: .------------------------------. --------------------------. | Src: A.B.C.D | | | Dst: W.X.Y.Z | | | <other header info> | | Encrypted +------------------------------+ | packet. | .--------------------------. | -------------. | contents | | Src: A.B.C.D | | | | are | | Dst: W.X.Y.Z | | | | completely | | <other header info> | | | |- secure | +--------------------------+ | | Encap'd | from third | | .----------------------. | | -. | packet | party | | | Src: 192.168.1.1 | | | | Original |- with real | snooping | | | Dst: 192.168.2.1 | | | | packet, | IP addr | | | | <other header info> | | | |- private | | | | +----------------------+ | | | IP addr | | | | | <packet data> | | | | | | | | `----------------------' | | -' | | | `--------------------------' | -------------' | `------------------------------' --------------------------' Тэдгээрийг VPN-ий хамгийн төгсгөлд хүлээн авах үед тэдгээр нь эхлээд буцаан шифрлэгдэнэ (racoon-аар тохиролцсон аюулгүй байдлын нэгдлүүдийг ашиглан). Тэдгээр нь үүний дараа хоёр дахь давхаргыг гаргах gif интерфэйс уруу орж хамгийн дотор байрлах пакеттай үлдэх хүртэл боловсруулагдаад дотоод сүлжээ руу аялах болно. Өмнө дурдсаны адил та &man.ping.8; тестийг ашиглан аюулгүй байдлыг шалгаж болно. Эхлээд A.B.C.D гарц машин уруу нэвтрэн орж дараах тушаалыг ажиллуулна: tcpdump dst host 192.168.2.1 Тэр хост дээрээ өөр сессээр дараах тушаалыг ажиллуулна ping 192.168.2.1 Энэ удаад та доор дурдсантай адил гаралтыг харах ёстой: XXX tcpdump output Одоо эндээс харах юм бол &man.tcpdump.1; нь ESP пакетуудыг үзүүлж байна. Хэрэв та тэдгээрийг тохируулгатай шалгахыг оролдвол шифрлэлтээс болоод (мэдээж) нууцлаг харагдах болно. Баяр хүргэе. Та дөнгөж сая алсын хоёр сайтын хооронд VPN тохирууллаа. Дүгнэн хэлэхэд Хоёр цөмийг хоёуланг нь дараах тохируулгатай тохируулна: options IPSEC options IPSEC_ESP security/ipsec-tools суулгана. Алсын хостын IP хаяг болон тэдгээрийн мэддэг нууц түлхүүрийн оруулгыг нэмж ${PREFIX}/etc/racoon/psk.txt файлыг хоёр гарц хост дээр хоёулан дээр засварлана. Энэ файлын горим 0600 байгааг шалгаарай. Хост бүр дээрх /etc/rc.conf файлд дараах мөрүүдийг нэмээрэй: ipsec_enable="YES" ipsec_file="/etc/ipsec.conf" Хост бүр дээр шаардлагатай spadd мөрүүдийг агуулсан /etc/ipsec.conf файл үүсгэна. 1-р гарц хост дээр энэ нь ийм байна: spdadd A.B.C.D/32 W.X.Y.Z/32 ipencap -P out ipsec esp/tunnel/A.B.C.D-W.X.Y.Z/require; spdadd W.X.Y.Z/32 A.B.C.D/32 ipencap -P in ipsec esp/tunnel/W.X.Y.Z-A.B.C.D/require; 2-р гарц хост дээр энэ нь ийм байна: spdadd W.X.Y.Z/32 A.B.C.D/32 ipencap -P out ipsec esp/tunnel/W.X.Y.Z-A.B.C.D/require; spdadd A.B.C.D/32 W.X.Y.Z/32 ipencap -P in ipsec esp/tunnel/A.B.C.D-W.X.Y.Z/require; Хост бүр дээр IKE, ESP, болон IPENCAP урсгалыг зөвшөөрөх галт ханын дүрмүүд нэмээрэй: ipfw add 1 allow udp from A.B.C.D to W.X.Y.Z isakmp ipfw add 1 allow udp from W.X.Y.Z to A.B.C.D isakmp ipfw add 1 allow esp from A.B.C.D to W.X.Y.Z ipfw add 1 allow esp from W.X.Y.Z to A.B.C.D ipfw add 1 allow ipencap from A.B.C.D to W.X.Y.Z ipfw add 1 allow ipencap from W.X.Y.Z to A.B.C.D Өмнөх хоёр алхам VPN-ийг эхлүүлэн ажиллуулахад хангалттай байх ёстой. Сүлжээ бүрийн машинууд өөр хоорондоо IP хаягуудаараа хандах боломжтой болох бөгөөд холболтын дагуух бүх урсгал автоматаар аюулгүй шифрлэгдэх болно.
Шерн Ли Хувь нэмэр болгон оруулсан OpenSSH OpenSSH аюулгүй байдал OpenSSH OpenSSH нь алсын машинуудад аюулгүйгээр хандах сүлжээний холболтын хэрэгслүүдийн олонлог юм. rlogin, rsh, rcp, болон telnet-ийг энэ програмаар шууд орлуулан ашиглаж болно. Мөн TCP/IP холболтууд аюулгүйгээр SSH-ээр туннель хийгдэж/дамжуулагдаж болдог. OpenSSH нь сэм чагналт, холболт булаан авалт, болон бусад сүлжээний түвшний халдлагуудыг үр дүнтэйгээр устгаж бүх трафикийг шифрлэдэг. OpenSSH-г OpenBSD төсөл дэмжиж байдаг бөгөөд бүх сүүлийн үеийн алдааны засварууд болон шинэчлэлтүүд бүхий SSH v1.2.12 дээр тулгуурласан байдаг. Энэ програм нь SSH протокол 1 болон 2-той хоёулантай нь нийцтэй. OpenSSH-ийг ашиглах давуу тал &man.telnet.1; эсвэл &man.rlogin.1; ашиглаж байх үед сүлжээгээр илгээгдэж байгаа өгөгдөл цэвэр, шифрлэгдээгүй хэлбэрээр байдаг. Сүлжээний шиншлэгчид клиент болон серверийн хооронд хаана ч байсан гэсэн таны хэрэглэгч/нууц үгийн мэдээлэл эсвэл таны сессээр дамжсан өгөгдлийг хулгайлж чадна. OpenSSH нь ийм асуудлаас хамгаалж төрөл бүрийн нэвтрэлт таних болон шифрлэх аргуудыг санал болгодог. sshd-г идэвхжүүлэх OpenSSH идэвхжүүлэх sshd нь стандарт &os; суулгацын явцад харуулагдах тохируулга юм. sshd идэвхжсэн эсэхийг харахдаа rc.conf файлаас дараах мөрийг шалгаарай: sshd_enable="YES" Энэ нь дараагийн удаа таны систем эхлэхэд OpenSSH-д зориулсан &man.sshd.8; дэмон програмыг дуудна. Мөн /etc/rc.d/sshd &man.rc.8; скрипт ашиглан OpenSSH-г эхлүүлэх боломжтой байдаг: /etc/rc.d/sshd start SSH клиент OpenSSH клиент &man.ssh.1; хэрэгсэл &man.rlogin.1;-тэй адил ажилладаг. &prompt.root; ssh user@example.com Host key not found from the list of known hosts. Are you sure you want to continue connecting (yes/no)? yes Host 'example.com' added to the list of known hosts. user@example.com's password: ******* Нэвтрэлт нь rlogin эсвэл telnet ашиглан үүсгэгдсэн сесс шиг үргэлжлэх болно. SSH нь хэрэглэгч холбогдоход серверийн жинхэнэ эсэхийг шалгахын тулд түлхүүр хээ шалгах системийг хэрэглэдэг. Хэрэглэгч зөвхөн эхний удаа холбогдоход yes гэж оруулахыг шаардана. Дараа дараагийн нэвтрэлт оролдлогууд бүгд хадгалсан хээ шалгах түлхүүртэй харьцуулагдан шалгагддаг. Хэрэв хадгалсан хээ нь дараа дараагийн нэвтрэлтийн оролдлогуудаас хүлээн авсан хээнээс өөр бол SSH клиент нь танд түгшүүр өгнө. Хээнүүд ~/.ssh/known_hosts файлд эсвэл SSH v2-ийн хээнүүд ~/.ssh/known_hosts2 файлд хадгалагдана. Анхдагчаар OpenSSH серверүүдийн сүүлийн үеийн хувилбарууд зөвхөн SSH v2 холболтуудыг хүлээн авдаг. Клиент нь хэрэв боломжтой бол 2-р хувилбарыг ашиглах бөгөөд боломжгүй бол 1-р хувилбарыг ашигладаг. эсвэл тохируулгуудыг 1-р эсвэл 2-р хувилбаруудад зориулан дамжуулан клиентэд зөвхөн аль нэгийг ашиглахыг хүчилж болно. 1-р хувилбарын нийцтэй байдал нь клиентэд хуучин хувилбаруудтай нийцтэй байх зорилгоор дэмжигдсэн байдаг. Аюулгүй хуулбарлалт OpenSSH аюулгүй хуулбарлалт scp &man.scp.1; тушаал &man.rcp.1;-тэй адил ажилладаг; энэ нь файлыг алсын машинаас эсвэл машин уруу, ялгаатай нь аюулгүйгээр хуулдаг. &prompt.root; scp user@example.com:/COPYRIGHT COPYRIGHT user@example.com's password: ******* COPYRIGHT 100% |*****************************| 4735 00:00 &prompt.root; Өмнөх жишээн дээр энэ хостын хувьд хээ нь аль хэдийн хадгалагдсан болохоор &man.scp.1;-ийг энд ашиглах үед шалгагддаг. &man.scp.1;-ээр дамжуулсан нэмэлт өгөгдлүүд нь &man.cp.1;-тэй адил бөгөөд эхний нэмэлт өгөгдөлд файл эсвэл файлууд, хоёр дахь дээр очих файлыг зааж өгдөг. Файл нь сүлжээгээр SSH-ээр татагддаг болохоор файлын нэг эсвэл хэд хэдэн нэмэлт өгөгдлүүд хэлбэрийг авдаг. Тохиргоо OpenSSH тохиргоо OpenSSH дэмон болон клиентийн системийн дагуух тохиргооны файлууд /etc/ssh санд байрладаг. ssh_config клиентийн тохируулгуудыг тохируулдаг бөгөөд sshd_config нь дэмонг тохируулдаг. Мөн (анхдагчаар /usr/sbin/sshd) болон rc.conf тохируулгууд тохиргооны түвшнүүдийг илүүтэйгээр хангадаг. ssh-keygen Нууц үгүүдийг ашиглахын оронд &man.ssh-keygen.1; нь хэрэглэгчийг шалгаж танихад DSA эсвэл RSA түлхүүрүүдийг үүсгэхэд хэрэглэгдэж болно: &prompt.user; ssh-keygen -t dsa Generating public/private dsa key pair. Enter file in which to save the key (/home/user/.ssh/id_dsa): Created directory '/home/user/.ssh'. Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /home/user/.ssh/id_dsa. Your public key has been saved in /home/user/.ssh/id_dsa.pub. The key fingerprint is: bb:48:db:f2:93:57:80:b6:aa:bc:f5:d5:ba:8f:79:17 user@host.example.com &man.ssh-keygen.1; нь шалгаж танихад хэрэглэгдэх нийтийн болон хувийн түлхүүр хослолыг үүсгэнэ. Хувийн түлхүүр ~/.ssh/id_dsa эсвэл ~/.ssh/id_rsa-д хадгалагдах бөгөөд харин нийтийн түлхүүр нь ~/.ssh/id_dsa.pub эсвэл ~/.ssh/id_rsa.pub-д DSA болон RSA түлхүүрийн төрлүүдэд зориулагдан хадгалагддаг. Тохируулга нь ажиллахын тулд нийтийн түлхүүр нь алсын машины ~/.ssh/authorized_keys файлд DSA болон RSA түлхүүрүүдийн хоёулангийнх нь хувьд хийгдэх ёстой байдаг. Үүнтэй адилаар нийтийн түлхүүрүүдийн RSA хувилбар нь ~/.ssh/authorized_keys файлд бас хийгдэх ёстой. Энэ нь нууц үгүүдийн оронд SSH түлхүүрүүдийг ашиглан алсын машин уруу холбогдохыг зөвшөөрөх болно. Хэрэв нэвтрэх үгнүүд &man.ssh-keygen.1;-д ашиглагдаж байгаа бол хувийн түлхүүрийг хэрэглэхийн тулд хэрэглэгчээс нууц үгийг нэвтрэх болгонд асуудаг. &man.ssh-agent.1; нь урт нэвтрэх үгнүүдийг дахин дахин оруулах тэр зовлонг зөөллөж чадах бөгөөд хэсэгт тайлбарлагдсан байгаа болно. Төрөл бүрийн тохируулгууд болон файлууд нь таны систем дээр байгаа OpenSSH-ийн хувилбаруудаас шалтгаалан өөр өөр байдаг; асуудалтай учрахгүйн тулд та &man.ssh-keygen.1; гарын авлагын хуудаснаас лавлах хэрэгтэй. ssh-agent болон ssh-add &man.ssh-agent.1; болон &man.ssh-add.1; хэрэгслүүд нь нэвтрэх үгнүүдийг дахин дахин бичүүлэлгүйгээр SSH түлхүүрүүдийг санах ойд дуудан ашиглаж болох аргуудаар хангадаг. &man.ssh-agent.1; хэрэгсэл нь түүн уруу дуудагдсан хувийн түлхүүр(үүд) ашиглан жинхэнэ эсэхийг шалгах танилтыг зохицуулна. &man.ssh-agent.1; нь өөр програмыг ачаалахад хэрэглэгдэх ёстой. Хамгийн хялбартаа энэ нь бүрхүүл эсвэл илүү дэвшилттэйгээр ашиглавал цонхны удирдагч ажиллуулж болох юм. &man.ssh-agent.1;-ийг бүрхүүлд ашиглахын тулд үүнийг эхлээд бүрхүүлтэй цуг нэмэлт өгөгдөл маягаар ажиллуулах шаардлагатай. Хоёрдугаарт хэн бэ гэдэг мэдээллийг (identity) &man.ssh-add.1;-г ажиллуулан нэмэх хэрэгтэй бөгөөд түүнд хувийн түлхүүрийн нэвтрэх үгнүүдийг өгөх хэрэгтэй. Эдгээр алхмууд хийгдсэний дараа хэрэглэгч харгалзах нийтийн түлхүүр суулгагдсан дурын хост уруу &man.ssh.1; хийж чадах болно. Жишээ нь: &prompt.user; ssh-agent csh &prompt.user; ssh-add Enter passphrase for /home/user/.ssh/id_dsa: Identity added: /home/user/.ssh/id_dsa (/home/user/.ssh/id_dsa) &prompt.user; X11 дээр &man.ssh-agent.1; хэрэглэхийн тулд &man.ssh-agent.1;-ийн дуудлага ~/.xinitrc-д байх шаардлагатай. Ингэснээр X11-д ачаалагдсан бүх програмуудад &man.ssh-agent.1;-ийн үйлчилгээнүүдийг үзүүлэх болно. Жишээ ~/.xinitrc файл иймэрхүү харагдах болно: exec ssh-agent startxfce4 Энэ нь &man.ssh-agent.1;-ийг ажиллуулах бөгөөд тэр нь эргээд X11 эхлэх бүрт XFCE-ийг ажиллуулна. Ингэж хийгдсэний дараа өөрчлөлтүүд нь үйлчлэхийн тулд X11 дахин эхэлсний хойно өөрийн SSH түлхүүрүүдийг бүгдийг ачаалахын тулд ердөө л &man.ssh-add.1;-ийг ажиллуулаарай. SSH туннель хийх OpenSSH туннель хийх OpenSSH нь шифрлэгдсэн сессийн үед өөр протоколыг хайрцаглах туннель үүсгэх чадвартай байдаг. Дараах тушаал telnet-д зориулж туннель үүсгэхийг &man.ssh.1;-д хэлж өгнө: &prompt.user; ssh -2 -N -f -L 5023:localhost:23 user@foo.example.com &prompt.user; ssh тушаал дараах тохируулгуудтай хэрэглэгдэнэ: ssh-ийг протоколын 2-р хувилбарыг ашиглахыг зааж өгнө. (хэрэв та хуучин SSH серверүүдтэй ажиллаж байгаа бол үүнийг битгий ашиглаарай) Тушаал байхгүй эсвэл зөвхөн туннель гэдгийг заана. Хэрэв үүнийг орхивол ssh ердийн сесс эхлүүлнэ. ssh-ийг ард, далд ажиллуулахыг заана. Локал туннелийг localport:remotehost:remoteport загвараар зааж өгнө. Алсын SSH сервер. SSH туннель нь сонсох сокетийг localhost-ийн заагдсан порт дээр үүсгэн ажилладаг. Дараа нь локал хост/порт дээр хүлээн авсан дурын холболтыг SSH-ээр дамжуулан заасан алсын хост болон порт уруу илгээдэг. Жишээн дээр localhost дээрх 5023 порт нь алсын машины localhost дээрх 23 порт уруу дамжуулагдаж байна. 23 нь telnet учир энэ нь SSH туннелээр аюулгүй telnet сесс үүсгэнэ. SMTP, POP3, FTP гэх зэрэг ямар ч аюултай TCP протоколуудын гүйцэтгэлийг хялбаршуулахад үүнийг ашиглаж болно. SMTP-д зориулан SSH ашиглан аюулгүй туннель үүсгэх &prompt.user; ssh -2 -N -f -L 5025:localhost:25 user@mailserver.example.com user@mailserver.example.com's password: ***** &prompt.user; telnet localhost 5025 Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. 220 mailserver.example.com ESMTP Үүнийг &man.ssh-keygen.1; болон нэмэлт хэрэглэгчийн бүртгэлүүдтэй цуг илүү үл үзэгдэх/төвөггүй SSH туннель хийх орчин үүсгэхэд ашиглаж болно. Түлхүүрүүд нь нууц үг бичихийн оронд ашиглагдаж болох бөгөөд туннелиуд нь тусдаа хэрэглэгч маягаар ажиллаж чадна. SSH туннелийн практик жишээнүүд POP3 сервер уруу аюулгүй хандах Ажил дээр чинь гаднаас холболтууд хүлээн авах SSH сервер байна. Бас тэр оффисийн сүлжээнд POP3 сервер ажиллуулж байгаа захидлын сервер байна. Таны гэр болон оффисийн хоорондын сүлжээ болон сүлжээний зам итгэж болохоор эсвэл итгэж болохооргүй байж магадгүй юм. Ийм учраас та өөрийн захидлыг аюулгүй аргаар шалгах хэрэгтэй юм. Үүний шийдэл нь өөрийн оффисийн SSH сервер уруу SSH холболт үүсгэж захидлын сервер уруу туннель хийх явдал юм. &prompt.user; ssh -2 -N -f -L 2110:mail.example.com:110 user@ssh-server.example.com user@ssh-server.example.com's password: ****** Туннель эхлэн ажилласны дараа та өөрийн захидлын клиентийнхээ POP3 хүсэлтүүдийг localhost-ийн 2110 порт уруу илгээхээр зааж өгч болно. Эндэх холболт туннелээр аюулгүйгээр дамжин mail.example.com уруу илгээгдэнэ. Хэцүү галт ханыг тойрон гарах Зарим сүлжээний администраторууд хэтэрхий чанга галт ханын дүрэм ашиглан зөвхөн ирж байгаа холболтууд төдийгүй гарч байгаа холболтуудыг ч бас шүүдэг. Танд алсын машинуудад зөвхөн SSH болон вэбээр аялах 22 болон 80-р портуудад хандах боломжийг өгсөн байж болох юм. Та хөгжим цацдаг Ogg Vorbis сервер зэрэг өөр (магадгүй ажилдаа холбоогүй) үйлчилгээ уруу хандахыг магадгүй хүсэж болох юм. Хэрэв энэ Ogg Vorbis сервер нь 22 эсвэл 80-аас бусад өөр порт дээр цацаж байгаа бол та түүнд хандаж чадахгүй юм. Үүний шийдэл нь таны сүлжээний галт ханаас гаднах машин уруу SSH холболт үүсгэж үүнийг Ogg Vorbis сервер уруу туннель хийхэд ашиглах явдал юм. &prompt.user; ssh -2 -N -f -L 8888:music.example.com:8000 user@unfirewalled-system.example.org user@unfirewalled-system.example.org's password: ******* Таны урсгал хүлээн авах клиент одоо localhost-ийн 8888 порт уруу заагдах бөгөөд тэр цаашаагаа галт ханыг амжилттайгаар гэтлэн music.example.com уруу дамжуулагдана. <varname>AllowUsers</varname> хэрэглэгчийн тохируулга Ямар хэрэглэгчид хаанаас орохыг хязгаарлаж өгөх нь зүйтэй юм. AllowUsers тохируулга нь үүнд хүрэх сайн арга юм. Жишээ нь root хэрэглэгчийг зөвхөн 192.168.1.32-оос орохыг зөвшөөрөхийн тулд доор дурдсантай адил тохируулгыг /etc/ssh/sshd_config файлд хийх нь зүйтэй юм: AllowUsers root@192.168.1.32 admin хэрэглэгчийг хаанаас ч орохыг зөвшөөрөхийн тулд ердөө л хэрэглэгчийн нэрийг өөрийг нь жагсааж өгнө: AllowUsers admin Олон хэрэглэгчид нэг мөрөнд жагсаагдах шаардлагатай: AllowUsers root@192.168.1.32 admin Та энэ машин уруу нэвтрэх хэрэгцээтэй хэрэглэгч бүрийг жагсааж өгөх нь чухал юм, тэгэхгүй бол тэдгээр нь орж чадахгүй болно. /etc/ssh/sshd_config-д өөрчлөлтүүд хийснийхээ дараа &man.sshd.8;-д өөрийн тохиргооны файлуудыг дахин дуудахыг дараах тушаалыг ажиллуулж та хэлж өгөх ёстой: &prompt.root; /etc/rc.d/sshd reload Нэмэлт унших материалууд OpenSSH &man.ssh.1; &man.scp.1; &man.ssh-keygen.1; &man.ssh-agent.1; &man.ssh-add.1; &man.ssh.config.5; &man.sshd.8; &man.sftp-server.8; &man.sshd.config.5; Том Рөүдс Хавь нэмэр болгон оруулсан ACL Файлын системийн хандалт хянах жагсаалтууд Хормын хувилбарууд зэрэг файлын системийн өргөжүүлэлтүүдийн хамтаар FreeBSD 5.0 болон сүүлийн хувилбарууд Файлын системийн хандалт хянах жагсаалтуудын (ACL-ууд) аюулгүй байдлыг санал болгодог. Хандалт Хянах Жагсаалтууд нь стандарт &unix; зөвшөөрлийн загварыг маш нийцтэй (&posix;.1e) аргаар өргөтгөдөг. Энэ боломж нь администраторт илүү төвөгтэй аюулгүй байдлын загвар болон түүний давуу талыг ашиглахыг зөвшөөрдөг. UFS файлын системүүдэд ACL дэмжлэгийг идэвхжүүлэхийн тулд дараах: options UFS_ACL тохируулгыг цөмд эмхэтгэх шаардлагатай. Хэрэв энэ тохируулга эмхэтгэгдээгүй бол ACL-ууд дэмжих файлын системийг холбохыг оролдоход анхааруулах мэдэгдэл дэлгэцэд гардаг. Энэ тохируулга GENERIC цөмд орсон байдаг. ACL-ууд нь файлын систем дээр өргөтгөсөн шинж чанаруудыг идэвхжүүлсэн дээр тулгуурладаг. Өргөтгөсөн шинж чанарууд нь дараа үеийн &unix; файлын систем UFS2-д төрөлхийн дэмжигдсэн байдаг. UFS1 дээр өргөтгөсөн шинж чанаруудыг тохируулахад UFS2 дээр тохируулахтай харьцуулбал илүү удирдлагын зардал шаардлагатай байдаг. UFS2 дээрх өргөтгөсөн шинж чанаруудын ажиллагаа нь бас бодитойгоор илүү байдаг. Иймээс UFS2UFS1-ийн оронд хандалт хянах жагсаалтуудад ашиглахыг ерөнхийдөө зөвлөдөг. ACL-ууд нь /etc/fstab файлд нэмэгдэж өгч болох холбох үеийн удирдлагын тугаар идэвхтэй болдог. Файлын системийн толгой дахь супер блокийн ACL-ууд тугийг өөрчлөхийн тулд &man.tunefs.8;-ийг ашиглан шургуу замаар холбох үеийн тугийг автоматаар зааж өгч болно. Ерөнхийдөө хэд хэдэн шалтгааны улмаас супер блокийн тугийг ашиглах нь дээр байдаг: Холбх үеийн ACL-ууд туг дахин холболтоор өөрчлөгддөггүй (&man.mount.8; ), зөвхөн бүрэн гүйцэд &man.umount.8; хийгдэж шинэ &man.mount.8; хийгдсэний дараа болно. Энэ нь бас файлын системийг ашиглаж байх үед дарааллыг нь өөрчилж болохгүй гэсэн үг юм. fstab-д мөр байхгүй байсан ч гэсэн эсвэл төхөөрөмжүүдийн дараалал өөрчлөгдсөн ч гэсэн супер блокийн тугийг тохируулах нь файлын системийг үргэлж ACL-уудыг идэвхтэйгээр холбоход хүргэдэг. Энэ нь файлын системийг ACL-уудыг идэвхжүүлэлгүйгээр санамсаргүйгээр холбохоос хамгаалдаг бөгөөд ингэж санамсаргүй холбох нь ACL-уудыг буруугаар албадаж тэгснээр аюулгүй байдлын асуудлуудад хүргэж болох юм. Бид шинэ &man.mount.8; хийлгүйгээр туг идэвхжүүлдгийг зөвшөөрөхөөр ACL-уудын ажиллагааг өөрчилж болох юм, гэхдээ бид ACL-уудыг идэвхжүүлэлгүй санамсаргүйгээр холболт хийхийг болиулахыг хүсдэг бөгөөд учир нь хэрэв та ACL-уудыг идэвхжүүлээд дараа нь болиулаад өргөтгөсөн шинж чанаруудыг устгалгүйгээр дахин идэвхжүүлбэл та өөртөө нэлээн хэцүү асуудал учруулах зүйлийг хийх болно. Ерөнхийдөө та файлын систем дээр ACL-уудыг идэвхжүүлсний дараа файлын хамгаалалтууд нь системийн хэрэглэгчдэд зориулагдсан файлуудтай нийцгүй болж болох учир тэдгээрийг болиулж болохгүй бөгөөд ACL-уудыг дахин идэвхжүүлэх нь зөвшөөрлүүд нь өөрчлөгдсөн байж болох файлуудад өмнөх ACL-уудыг магадгүй дахин холбож өөр тааварлаж болшгүй ажиллагаанд хүргэж болох юм. ACL-ууд идэвхжүүлсэн файлын системүүд өөрсдийн зөвшөөрлийн тохируулгууд дээрээ + (нэмэх) тэмдэг үзэх үед харуулдаг. Жишээ нь: drwx------ 2 robert robert 512 Dec 27 11:54 private drwxrwx---+ 2 robert robert 512 Dec 23 10:57 directory1 drwxrwx---+ 2 robert robert 512 Dec 22 10:20 directory2 drwxrwx---+ 2 robert robert 512 Dec 27 11:57 directory3 drwxr-xr-x 2 robert robert 512 Nov 10 11:54 public_html Энд бид directory1, directory2, болон directory3 сангууд бүгд ACL-ууд-ийн давуу талыг авч байгааг харж байна. public_html сан тэгэхгүй байна. <acronym>ACL</acronym>-уудыг ашиглах нь Файлын системийн ACL-уудыг &man.getfacl.1; хэрэгслээр харж болно. Жишээ нь test файл дээрх ACL тохируулгуудыг харахын тулд дараах тушаалыг ажиллуулах хэрэгтэй: &prompt.user; getfacl test #file:test #owner:1001 #group:1001 user::rw- group::r-- other::r-- Энэ файлын ACL тохируулгуудыг өөрчлөхийн тулд &man.setfacl.1; хэрэгслийг ажиллуул. Ажиглаарай: &prompt.user; setfacl -k test туг нь тухайн үед тодорхойлогдсон бүх ACL-уудыг файл эсвэл файлын системээс арилгана. Илүү дээр арга бол ACL-уудыг ажиллуулахад шаардлагатай үндсэн талбаруудыг орхидог тугийг ашиглах явдал юм. &prompt.user; setfacl -m u:trhodes:rwx,group:web:r--,o::--- test Дээр дурдсан тушаал дээр тохируулга анхдагч ACL оруулгуудыг өөрчлөхөд хэрэглэгдсэн. Өмнөх тушаалаар устгагдсан болохоор урьдчилан тодорхойлсон оруулгууд байхгүй учир энэ нь анхдагч тохируулгуудыг сэргээж жагсаасан тохируулгуудаас зааж өгдөг. Хэрэв та систем дээр байхгүй хэрэглэгч эсвэл бүлэг нэмэх бол Invalid argument буюу Буруу нэмэлт өгөгдөл гэсэн алдаа stdout уруу хэвлэгдэнэ гэдгийг санаж байх хэрэгтэй. Том Рөүдс Хувь нэмэр болгон оруулсан Portaudit Гуравдагч талын аюулгүй байдлын асуудлуудыг монитор хийх нь Сүүлийн жилүүдэд эмзэг асуудлын үнэлгээ хэрхэн зохицуулагдаж байгаа тал дээр аюулгүй байдлын ертөнц олон сайжруулалт хийсэн. Одоогийн байгаа бүх л үйлдлийн системүүд дээр гуравдагч талын хэрэгслүүд суулгаж тохируулдгаас болж системийн халдлагын заналхийлэл ихэсдэг. Эмзэг асуудлын үнэлгээ нь аюулгүй байдлын түлхүүр хүчин зүйл бөгөөд &os; нь үндсэн системд зориулан зөвлөгөөнүүдийг гаргадаг боловч гуравдагч талын хэрэгслүүд бүрийн хувьд хийх нь &os; төслийн боломжоос гадуур юм. Мэдэгдэж байгаа асуудлуудыг администраторуудад анхааруулж гуравдагч талын эмзэг асуудлуудыг зөөлрүүлэх арга байдаг. &os;-д нэмэлтээр Portaudit гэгддэг хэрэгсэл зөвхөн энэ зорилгоор байдаг. ports-mgmt/portaudit порт нь &os;-ийн аюулгүй байдлын баг болон портуудын хөгжүүлэгчдийн шинэчилж ажиллагааг нь хангаж байдаг мэдээллийн баазаас мэдэгдэж байгаа аюулгүй байдлын асуудлуудыг шалгадаг. Portaudit-г ашиглаж эхлэхийн тулд Портуудын цуглуулгаас түүнийг суулгах хэрэгтэй: &prompt.root; cd /usr/ports/ports-mgmt/portaudit && make install clean Суулгах процессийн явцад өдөр бүрийн аюулгүй байдлыг шалгах ажиллагаанд Portaudit-н гаралтыг зөвшөөрч &man.periodic.8;-д зориулсан тохиргооны файлуудыг шинэчилдэг. Өдөр тутмын аюулгүй байдлыг шалгах ажиллагаа root-ийн захидлын бүртгэл уруу цахим захидал явуулж түүнийг уг хэрэглэгч уншсан эсэхийг баталгаажуулах хэрэгтэй. Өөр ямар ч илүү тохиргоо энд хэрэггүй. Суулгасны дараа администратор мэдээллийн баазыг шинэчлэх болон суулгасан багцуудад мэдэгдэж байгаа эмзэг асуудлуудыг үзэхдээ дараах тушаалыг ажиллуулна: &prompt.root; portaudit -Fda Мэдээллийн бааз &man.periodic.8; ажиллах үед автоматаар шинэчлэгддэг; иймээс дээрх тушаал заавал шаардлагагүй юм. Энэ нь зөвхөн дараах жишээнүүдэд шаардлагатай. Портуудын цуглуулгын хэсэг болгон суулгагдсан гуравдагч талын хэрэгслүүдийг ямар ч үед аудит хийхдээ администратор зөвхөн дараах тушаалыг ажиллуулах хэрэгтэй: &prompt.root; portaudit -a Portaudit эмзэг асуудалтай багцын хувьд доор дурдсантай адилыг гаргана: Affected package: cups-base-1.1.22.0_1 Type of problem: cups-base -- HPGL buffer overflow vulnerability. Reference: <http://www.FreeBSD.org/ports/portaudit/40a3bca2-6809-11d9-a9e7-0001020eed82.html> 1 problem(s) in your installed packages found. You are advised to update or deinstall the affected package(s) immediately. Үзүүлсэн URL уруу вэб хөтчийг чиглүүлж администратор асуудалтай байгаа эмзэг асуудлын талаар дэлгэрэнгүй мэдээллийг олж авч болно. Ийм мэдээлэл нь нөлөөлөх хувилбарууд болон &os;-ийн портын хувилбар, аюулгүй байдлын зөвлөгөөнүүд байж болох өөр бусад вэб сайтуудыг агуулж болох юм. Товчхондоо Portaudit нь хүчирхэг хэрэгсэл бөгөөд Portupgrade порттой цуг хэрэглэхэд маш ашигтай байдаг. Том Рөүдс Хувь нэмэр болгон оруулсан FreeBSD-ийн аюулгүй байдлын зөвлөгөөнүүд &os;-ийн аюулгүй байдлын зөвлөгөөнүүд Үйлдвэрлэлийн чанарыг хангасан үйлдлийн системүүдийн нэгэн адил &os; Аюулгүй байдлын зөвлөгөөнүүд гаргадаг. Эдгээр зөвлөгөөнүүд нь ихэвчлэн аюулгүй байдлын жагсаалтууд уруу илгээгддэг бөгөөд зөвхөн тохирох хувилбаруудад засвар хийгдсэний дараа Errata буюу алдааны хуудсанд тэмдэглэгддэг. Энэ хэсэгт зөвлөгөө гэж юу болох, түүнийг хэрхэн ойлгох болон системд засвар хийхдээ ямар арга хэмжээнүүдийг авах талаар тайлбарлах болно. Зөвлөгөө ямархуу харагдах вэ? &os;-ийн аюулгүй байдлын зөвлөгөөнүүд &a.security-notifications.name; захидлын жагсаалтаас авсан доорх зөвлөгөөтэй адил харагдах болно. ============================================================================= &os;-SA-XX:XX.UTIL Security Advisory The &os; Project Topic: denial of service due to some problem Category: core Module: sys Announced: 2003-09-23 Credits: Person@EMAIL-ADDRESS Affects: All releases of &os; &os; 4-STABLE prior to the correction date Corrected: 2003-09-23 16:42:59 UTC (RELENG_4, 4.9-PRERELEASE) 2003-09-23 20:08:42 UTC (RELENG_5_1, 5.1-RELEASE-p6) 2003-09-23 20:07:06 UTC (RELENG_5_0, 5.0-RELEASE-p15) 2003-09-23 16:44:58 UTC (RELENG_4_8, 4.8-RELEASE-p8) 2003-09-23 16:47:34 UTC (RELENG_4_7, 4.7-RELEASE-p18) 2003-09-23 16:49:46 UTC (RELENG_4_6, 4.6-RELEASE-p21) 2003-09-23 16:51:24 UTC (RELENG_4_5, 4.5-RELEASE-p33) 2003-09-23 16:52:45 UTC (RELENG_4_4, 4.4-RELEASE-p43) 2003-09-23 16:54:39 UTC (RELENG_4_3, 4.3-RELEASE-p39) CVE Name: CVE-XXXX-XXXX For general information regarding FreeBSD Security Advisories, including descriptions of the fields above, security branches, and the following sections, please visit http://www.FreeBSD.org/security/. I. Background II. Problem Description III. Impact IV. Workaround V. Solution VI. Correction details VII. References Topic буюу сэдэв талбар асуудал юу болохыг яг заасан байдаг. Энэ нь үндсэндээ тухайн үеийн аюулгүй байдлын зөвлөгөөний танилцуулга бөгөөд эмзэг асуудалтай цуг хэрэгслийг тэмдэглэдэг. The Category буюу зэрэглэл талбар нь хамаарч байгаа системийн хэсгийг хэлдэг бөгөөд core, contrib, эсвэл ports-ийн аль нэг байж болно. core зэрэглэл нь эмзэг асуудал &os; үйлдлийн системийн гол хэсэгт нөлөөлнө гэсэн үг юм. contrib зэрэглэл нь эмзэг асуудал sendmail зэрэг &os; төсөлд хувь нэмэр болгон оруулсан програм хангамжуудад нөлөөлнө гэсэн үг юм. Эцэст нь ports зэрэглэл нь эмзэг асуудал портуудын цуглуулганд ордог нэмэлт програм хангамжуудад нөлөөлөхийг харуулдаг. Module талбар нь бүрэлдэхүүн хэсгийн байрлалыг жишээ нь sys гэх зэргээр илэрхийлдэг. Энэ жишээн дээр sys модуль өртөхийг бид харж байгаа бөгөөд ийм учраас энэ эмзэг асуудал нь цөм дотор ашиглагдсан бүрэлдэхүүн хэсэгт нөлөөлөх юм. Announced буюу зарласан талбар нь аюулгүй байдлын зөвлөгөө хэвлэгдсэн эсвэл ертөнцөд зарлагдсан огноог заадаг. Энэ нь аюулгүй байдлын баг асуудал байгааг шалгаж үүний засвар &os;-ийн эх модны архивт итгэмжлэн оруулсныг тогтоосон гэсэн үг юм. Credits буюу талархал талбар нь эмзэг асуудлыг мэдэж тайлагнасан хувь хүн болон байгууллагыг зааж талархдаг. Affects буюу нөлөөлөх хувилбарын талбар нь энэ эмзэг асуудал нөлөөлөх &os;-ийн хувилбаруудыг тайлбарладаг. Цөмийн хувьд уг нөлөөлсөн файлууд дээр ажиллуулсан ident тушаалын үр дүнг зэрвэс харж хувилбарыг тодорхойлж болно. Портуудын хувьд /var/db/pkg санд портын нэрийн дараа хувилбарын дугаар байдаг. Хэрэв систем нь &os;-ийн CVS архивтай адил хамгийн сүүлийн хэлбэрт орж өдөр тутам дахин бүтээгдээгүй бол энэ нь нөлөөлөлд орсон хэвээр байх магадлалтай юм. Corrected буюу засварласан талбар нь огноо, цаг, цагийн бүс болон засварласан хувилбаруудыг заадаг. Common Vulnerabilities Database system буюу Нийтлэг Эмзэг асуудлуудын Мэдээллийн Баазын системээс эмзэг асуудлуудыг хайхад хэрэглэгдэх магадлалын мэдээлэлд нөөцлөгддөг. Background талбар нь нөлөөлөлд яг ямар хэрэгсэл орсон талаар мэдээлэл өгдөг. Ихэнхдээ энэ нь &os;-д яагаад тухайн хэрэгсэл байдаг, юунд хэрэглэгддэг болон хэрэгсэл хэрхэн бий болсон талаар байдаг. Problem Description буюу асуудлын тайлбар талбар нь аюулгүй байдлын цоорхойг гүнзгий тайлбарладаг. Энэ нь гажигтай кодын мэдээлэл эсвэл бүр хэрэгслийг хэрхэн хорлонтойгоор ашиглаж аюулгүй байдлын цоорхой нээдэг тухай мэдээллийг агуулдаг. Impact буюу үйлчлэл талбар нь асуудал системд ямар төрлийн үйлчлэл үзүүлдгийг тайлбарладаг. Жишээ нь энэ нь үйлчилгээг зогсоох халдлагаас авахуулаад хэрэглэгчдэд өгч болох нэмэлт зөвшөөрлүүд эсвэл халдагчид супер хэрэглэгчийн хандалт өгөх зэрэг юу ч байж болно. Workaround буюу тойрон гарах талбар нь боломжит тойрон гарах арга замыг системийг шинэчилж чадахгүй байж болох системийн администраторуудад олгодог. Энэ нь хугацааны шаардлагууд, сүлжээний боломж эсвэл өөр бусад олон шалтгаанаас болдог байж болох юм. Ямар ч байсан гэсэн аюулгүй байдлыг хөнгөнөөр авч үзэж болохгүй бөгөөд нөлөөлөлд орсон систем эсвэл засвар нөхөөс хийгдэх аль эсвэл аюулгүй байдлын цоорхойг тойрон гарах шийдэл хийгдэх шаардлагатай. Solution буюу шийдэл талбар нь нөлөөлөлд орсон системийг засварлах заавруудыг санал болгодог. Энэ нь системд засвар нөхөөс хийн аюулгүй ажиллуулах алхам алхмаар тест хийгдэж шалгагдсан арга юм. Correction Details буюу засварын нарийн учир талбар нь CVS салбар эсвэл хувилбарын нэрийн цэгүүдийг доогуур зураас тэмдэгтээр өөрчилж үзүүлдэг. Мөн энэ нь салбар болгон дахь нөлөөлөлд орсон файлуудын хувилбарын дугаарыг бас харуулдаг. References буюу лавлагаа талбар нь ихэвчлэн бусад мэдээллийн эхүүдийг өгдөг. Энэ нь вэбийн URL-ууд, номнууд, захидлын жагсаалтууд болон мэдээний бүлгүүдийг агуулж болно. Том Рөүдс Хувь нэмэр болгон оруулсан Процессийн бүртгэл хөтлөх Процессийн бүртгэл хөтлөх Процессийн бүртгэл хөтлөх аюулгүй байдлын аргыг ашиглаж администраторууд системийн эх үүсвэрүүдийг ашигласан байдал болон тэдгээрийг хэрэглэгчдэд хэрхэн хуваарилсныг мэдэж болох бөгөөд энэ нь системийг монитор хийх боломжийг олгодог. Мөн энэ арга нь хэрэглэгчдийн тушаалуудыг туйлын багаар мөшгих боломжийг администраторуудад олгодог. Энэ нь үнэн хэрэгтээ өөрийн эерэг болон сөрөг талуудтай. Эерэг талуудын нэг нь халдлагыг орсон цэг хүртэл нарийсган олох боломж юм. Сөрөг тал нь процессийн бүртгэл хөтлөлтөөр үүссэн бүртгэлүүд бөгөөд тэдгээр нь дискний зай шаардаж болох юм. Энэ хэсэг процессийн бүртгэл хөтлөлтийн үндсүүдийг администраторуудад таниулах болно. Процессийн бүртгэл хөтлөлтийг идэвхжүүлж хэрэглэх нь Процессийн бүртгэл хөтлөлтийг ашиглаж эхлэхээсээ өмнө үүнийг идэвхжүүлэх хэрэгтэй. Үүнийг хийхийн тулд дараах тушаалуудыг ажиллуул: &prompt.root; touch /var/account/acct &prompt.root; accton /var/account/acct &prompt.root; echo 'accounting_enable="YES"' >> /etc/rc.conf Идэвхтэй болгосны дараа бүртгэл хөтлөлт CPU статистикууд, тушаалууд гэх мэтийг даган мөшгиж эхэлнэ. Бүртгэлийн бүх бичлэгүүд уншиж болохооргүй хэлбэрээр байдаг бөгөөд тэдгээрийг &man.sa.8; хэрэгсэл ашиглан үзэж болдог. Ямар нэг тохируулгагүйгээр ажиллуулбал sa тушаал нь хэрэглэгч болгоны дуудлагуудын тоо, нийт зарцуулсан хугацааг минутаар, нийт CPU болон хэрэглэгчийн хугацааг минутаар, дундаж I/O үйлдлүүдийн тоо гэх мэттэй холбоотой мэдээллийг дэлгэцэнд хэвлэн үзүүлдэг. Тушаалуудыг ашигласан тухай мэдээллийг харахын тулд &man.lastcomm.1; хэрэгслийг ашиглах хэрэгтэй. lastcomm тушаал нь тухайн &man.ttys.5; дээр хэрэглэгчдийн ажиллуулсан тушаалуудыг үзүүлэхэд хэрэглэгдэж болно, жишээ нь: &prompt.root; lastcomm ls trhodes ttyp1 - Дээрх тушаал нь ttyp1 терминал дээр trhodes + Дээрх тушаал нь ttyp1 терминал дээр trhodes хэрэглэгчийн ls тушаал ашигласан мэдэгдэж байгаа бүгдийг дэлгэцэд харуулах болно. Өөр олон ашигтай тохируулгууд байдаг бөгөөд &man.lastcomm.1;, &man.acct.5; болон &man.sa.8; гарын авлагын хуудаснуудад тайлбарласан байдаг.