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;
дэд сангуудыг (болон бусад заримыг) тусад нь холбохыг санал болгодог —
бид хялбар байх үүднээс тэдгээрийг жинхэнэ дэд сангууд маягаар үүсгэхээр
шийдсэн юм.
make world болон шинэ цөм
Хамгийн сүүлийн -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
/etc/services файл дахь оруулгууд
&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
Хэрэв тэдгээр нь байхгүй бол суулгацын явцад зарим асуудлууд гарах
болно. Хэрэв эдгээрийг тэгээд дараа нь (зөрчиж байгаа алхмуудын
STATUS-г OK
болгон 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 файлуудыг тааруулах боломж бас байдаг.
R3SETUP 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; мэдээллийн баазын програм хангамжийг суулгах хэрэгтэй болох
хүртэл шулуун явах ёстой.
R3SETUP 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-г orainst-ээр суулгах
Хэрэв &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;-г
суулгах заавруудад дэлгэрэнгүй тайлбарлагдсан байгаа.
initsid.sap (initIDS.sap)
файлыг засварлана
/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
Суулгалтын үеийн асуудлууд
Асуудлыг засварласны дараа R3SETUP-г дахин эхлүүлнэ
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 тушаалаар)
дахин эхлүүлэхээ битгий мартаарай.
R3SETUP-ийн үе дэх 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-г дахин эхлүүлж болно.
R3SETUP-ийн үе дэх 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;-ийн суулгалтын үе дэх oraview.vrf FILE NOT FOUND
Та суулгалтыг эхлүүлэхээсээ өмнө &oracle; On-Line Text Viewer
сонголтыг болиулаагүй байна. Энэ тохируулга нь Линукс дээр байдаггүй ч гэсэн суулгагдахаар
тэмдэглэгдсэн байдаг. &oracle; суулгалтын цэсэн
дотор энэ бүтээгдэхүүнийг сонгосноо болиулаад суулгалтыг дахин эхлүүлэх хэрэгтэй.
R3SETUP, RFC эсвэл SAPgui Эхлэлийн үе дэх TEXTENV_INVALID
Хэрэв энэ алдаа гарсан бол зөв локал байхгүй байна. &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; системийг дахин эхлүүлж болно.
ORA-00001
Энэ алдаа нь FreeBSD дээрх &oracle; 8.1.7
дээр зөвхөн гардаг. Үүний шалтгаан нь &oracle;
мэдээллийн бааз өөрийгээ зөв эхлүүлж чадахгүй, систем дээр семафорууд болон хуваалцсан
санах ойг үлдээн сүйрдэг явдал юм. Мэдээллийн баазыг эхлүүлэх дараагийн оролдлого тэгээд
ORA-00001 алдааг буцаадаг.
ipcs -a тушаалаар тэдгээрийг олж
ipcrm тушаалаар устгах хэрэгтэй.
ORA-00445 (Арын процесс PMON эхлээгүй)
Энэ алдаа нь &oracle; 8.1.7 дээр гардаг.
Энэ алдаа нь мэдээллийн бааз prdadm хэрэглэгчээр
ердийн startsap скриптээр (жишээ нь
startsap_majestix_00)
эхлүүлэгдсэн бол гардаг.
Боломжит тойрон гарах зам нь oraprd
хэрэглэгчээр svrmgrl тушаалын тусламжтай
мэдээллийн баазыг эхлүүлэх явдал юм:
&prompt.user; svrmgrl
SVRMGR> connect internal;
SVRMGR> startup;
SVRMGR> exit
ORA-12546 (Сонсогчийг зөв зөвшөөрлүүдтэй эхлүүлэх)
oraids хэрэглэгчээр &oracle;
сонсогчийг дараах тушаалаар эхлүүлнэ:
&prompt.root; umask 0; lsnrctl start
Ингэхгүй бол сокетууд нь зөв зөвшөөрлүүдгүйн улмаас та ORA-12546
алдаа харж болох юм. &sap; тэмдэглэгээ 0072984-г үзнэ үү.
ORA-27102 (Out of Memory буюу санах ой хүрэлцэхгүй)
MAXDSIZ болон DFLDSIZ
тохируулгуудын хувьд 1 GB-с (1024x1024x1024) их хэмжээтэй утгуудыг
ашиглахаар оролдох үед энэ алдаа гарсан. Мөн Linux Error 12: Cannot allocate memory
буюу санах ойг хуваарилж чадахгүй байна гэсэн алдааг бид бас авсан.
R3SETUP-ийн үе дэх [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
суулгалтаас олж хараагүй.
R3SETUP-ийн үе дэх [RFCRSWBOINI_IND_IND]
&sap; 4.6C-г суулгаж байхад
энэ алдаа нь суулгалтын эхэн үед гарсан өөр алдаанаас болж гарсан алдаа байсан.
Энэ тохиолдолд та харгалзах бүртгэлийн файлуудыг үзэж жинхэнэ асуудлыг
засварлах хэрэгтэй.
Бүртгэлийн файлуудыг үзсэний дараа хэрэв энэ алдаа нь харин зөв бол
(&sap; тэмдэглэгээнүүдийг шалгана уу) зөрчсөн алхмын STATUS
тохируулгыг ERROR гэдгээс OK уруу
(файл CENTRDB.R3S) болгож тохируулан
R3SETUP-г дахин эхлүүлж болно. Суулгалтын дараа та
шилжүүлгэ SE38-аас тайлан RSWBOINS-г ажиллуулах хэрэгтэй.
RFCRSWBOINI болон RFCRADDBDIF
үеүүдийн тухай нэмэлт мэдээллийг &sap; тэмдэглэгээ 0162266-с үзнэ үү.
R3SETUP-ийн үе дэх [RFCRADDBDIF_IND_IND]
Энд ижил хязгаарлалтууд ашиглагдана: бүртгэлийн файлуудыг үзэж
энэ алдаа нь урьдны өөр асуудлуудаас болсон эсэхийг шалгана.
Хэрэв та &sap; тэмдэглэгээ 0162266 хамаарч байгааг баталбал
зөрчсөн алхмын STATUS
тохируулгыг ERROR гэдгээс OK уруу
(файл CENTRDB.R3S) болгож тохируулан
R3SETUP-г дахин эхлүүлэх хэрэгтэй. Суулгалтын дараа та
шилжүүлгэ SE38-аас тайлан RADDBDIF-г ажиллуулах
хэрэгтэй.
sigaction sig31: File size limit exceeded буюу файлын хэмжээний хязгаар илүүдсэн
Энэ алдаа нь &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
saposcol тушаалын эхлэл амжилтгүй болсон
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 ашиглан зөв догол хийх болон зайн тэмдэгтүүд нь бас чухал юм.
Автомат PPP тохиргоо
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
хаягаас лавлана уу.
PPP зөвшөөрлүүд
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-тай хэрэглэгчдэд зориулж ppp.conf-г тохируулах
/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-тай хэрэглэгчдэд зориулж ppp.conf-г тохируулах
Дээрх жишээ /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
mgetty болон AutoPPP
mgetty
AutoPPP
LCP
mgetty-г AUTO_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
мөрийг хаах ёстой.
Өөрийн ppp тохиргоог явцын дунд шууд өөрчлөх нь
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
pppd-г клиент маягаар ашиглах
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
pppd-г сервер маягаар ашиглах
/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:
Том
Рөүдс
Хувь нэмэр болгон оруулсан
PPP холболтуудын алдааг олж засварлах
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
гэж авч ашиглах болно. Та ppp-г
ppp гэж бичин эхлүүлнэ:
&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 хослолоор оруулж болох юм.
Хэрэв та PPP-г ppp
болохыг анзаарах юм бол бид өөрсдийн холболтоо алдсан гэсэн үг юм.
Энэ нь бидний холболтын төлөвийг үзүүлдэг болохоор мэдэхэд илүүдэхгүй
юм. Том 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
Дээр байгаа myusername-г
ISP-с өгөгдсөн хэрэглэгчийн нэрээр солих
шаардлагатай.
ppp ON example> set authkey mypassword
Дээр байгаа mypassword-г
ISP-с өгөгдсөн нууц үгээр солих
шаардлагатай.
Хэрэв та зүгээр холбогдсон мөртлөө ямар ч домэйн нэр
олохгүй байгаа юм шиг байвал &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-ээр дуудагдах болно.
ppp.conf файлыг тохируулах
Энд ажилладаг 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
ppp-г ажиллуулах
root хэрэглэгчээр та доор дурдсаныг ажиллуулж болно:
&prompt.root; ppp -ddial name_of_service_provider
ppp-г ачаалах үед эхлүүлэх
доор дурдсаныг өөрийн /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; HomeConnect 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 дээгүүр PPP (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
файл ордог.
slip.hosts тохиргоо
/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 скриптүүдийг
тохируулах хэрэгтэй болно.
slip.login тохиргоо
Ердийн /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 тушаал түүнийг
ажиллуулж чадахгүй байх болно.
slip.logout тохиргоо
/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 дэд сүлжээ уруу статик чиглүүлэлттэй байхаар тохируулагдсан
байх шаардлагагүй байж болох бөгөөд бас аль статик чиглүүлэлтүүд нь
бусад чиглүүлэгчүүдэд хэлж байгааг хэлж өгөх хэрэгтэй болох юм.
Тийм болохоор статик чиглүүлэлт дээр тулгуурласан чиглүүлэлтийг
ажиллуулахад зарим нэг чадамж болон алдаа олж засварлах/тааруулах
чадвар хэрэгтэй болж болох юм.
&gated; ажиллуулах нь
&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; системийг аюулгүй болгох аргуудыг
авч үзнэ.
root бүртгэл болон 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/inetd-г
restart параметртай ашиглан хийж болно.
Дэвшилтэт тохиргоо
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 файлд тайлбар болгон хаагдах
шаардлагатай. Үүнийг энэ хэсгийн эхэнд тэмдэглэж хэлсэн байгаа.
Марк
Мюррей
Хойно дурдсан хүний бичсэн дээр тулгуурлан хувь нэмэр болгон оруулсан
Марк
Дэйпоз
Хувь нэмэр болгон оруулсан
KerberosIV
Kerberos нь хэрэглэгчид өөрсдийгөө нууцлаг серверийн үйлчилгээнүүдийн
тусламжтайгаар таниулан нэвтрэх боломжийг олгодог сүлжээний нэмэлт систем/протокол юм.
Алсын нэвтрэлт, алсын хуулбар, нууцлаг систем хоорондох файл хуулбарлалт болон
бусад аюул ихтэй үйлдлүүд зэрэг үйлчилгээнүүд харьцангуй аюулгүй хийгдэж илүү хяналт хийж
болохоор болсон.
Дараах заавруудыг &os;-тэй цуг түгээгддэг Kerberos-ийг хэрхэн тохируулах гарын авлага
болгон хэрэглэж болох юм. Гэхдээ та бүрэн тайлбарын талаар харгалзах гарын авлагын
хуудаснуудад хандаж үзэх шаардлагатай.
KerberosIV суулгах нь
MIT
KerberosIV
суулгах нь
Kerberos нь &os;-ийн нэмэлт бүрэлдэхүүн хэсэг юм. Энэ програм хангамжийг
суулгах хамгийн амархан арга нь &os; эхэлж суулгах үед sysinstall-д
krb4 эсвэл 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.com-г
EXAMPLE.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.
su зөвшөөрлүүдийг нэмэх
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
Тиллмэн
Хоожсон
Хойно дурдсан хүний бичсэн дээр тулгуурлан хувь нэмэр болгон оруулсан
Марк
Мюррей
Хувь нэмэр болгон оруулсан
Kerberos5
&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 KDC суулгаж тохируулах
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
Серверийг Kerberos хийн 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; гарын
авлагын хуудаснаас лавлана уу.
Клиентийг Kerberos хийн 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 клиент програмуудын бүрэн цуглуулгыг
агуулдаг.
Хэрэглэгчийн тохиргооны файлууд: .k5login болон .k5users
.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
файлын тухай тайлбарладгийг тэмдэглэх нь зүйтэй юм.
Kerberos-той холбоотой арга, зальнууд болон алдааг олж засварлах
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
симболын холбоос үүсгэх нь ашигтай байж болох юм.
MIT портоос ялгаатай талууд
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 санд хоёртын файлуудыг
суулгадаг болохоор ингэж хийгддэг.
Kerberos дахь хязгааруудыг багасгах
Kerberos5
хязгаарууд болон дутагдлууд
Kerberos нь бүгдийг эсвэл юуг ч биш гэсэн арга юм
Сүлжээнд идэвхжүүлэгдсэн үйлчилгээ бүр Kerberos-тэй
ажиллахаар засварлагдсан (эсвэл сүлжээний халдлагуудын эсрэг аюулгүй
байдлыг хангасан) байх шаардлагатай, тэгэхгүй бол хэрэглэгчдийн
итгэмжлэлүүд хулгайлагдаж дахин ашиглагдаж болох юм. Үүний нэг жишээ нь
бүх алсын бүрхүүлүүдийг (жишээ нь rsh болон
telnet) Kerberos хийн
идэвхжүүлсэн мөртлөө нууц үгүүдийг цэвэр текстээр илгээдэг POP3
захидлын серверийг тэгж хувиргахгүй байх явдал юм.
Kerberos нь ганц хэрэглэгчийн ажлын станцуудад зориулагдсан
Олон хэрэглэгчийн орчинд Kerberos нь
тийм ч аюулгүй биш юм. Энэ нь тасалбаруудыг бүх хэрэглэгчийн хувьд уншигдаж
болох /tmp санд хадгалдаг учраас тэр юм.
Хэрэв хэрэглэгч компьютераа хэд хэдэн бусад хүмүүстэй зэрэг харилцан хуваалцаж
байвал (өөрөө хэлбэл олон-хэрэглэгч) хэрэглэгчийн тасалбаруудыг өөр хэрэглэгч
хулгайлах (хуулан авах) боломжтой юм.
Үүнийг -c файлын нэрийн тушаалын мөрийн тохируулгатай
эсвэл (илүү зохимжтой) KRB5CCNAME орчны хувьсагчтайгаар
даван гарч болох юм, гэхдээ ингэх нь их ховор байдаг. Зарчмын хувьд
тасалбарыг хэрэглэгчдийн гэр санд хадгалж хялбар файлын зөвшөөрлүүдийг ашиглах нь
энэ асуудлыг багасгадаг.
KDC нь бүтэлгүйтлийн ганц цэг
Дизайнаараа бол KDC нь мастер нууц үгийн
мэдээллийн баазаас тогтох бөгөөд түүний нэгэн адил аюулгүй байх ёстой.
KDC нь үүн дээр өөр ямар ч үйлчилгээнүүд
ажиллуулсан байх ёсгүй бөгөөд физикээр аюулгүй байдлыг нь
хангасан байх шаардлагатай. Kerberos
нь ижил түлхүүрээр (мастер
түлхүүр) шифрлэгдсэн бүх
нууц үгүүдийг хадгалдаг бөгөөд тэр ижил түлхүүр нь эргээд
KDC дээр файл маягаар хадгалагддаг учраас
аюул өндөртэй байдаг.
Тэмдэглэн хэлэхэд булаан эзлэгдсэн мастер түлхүүр нь хэн нэг нь айхаар
тийм ч муу биш юм. Түлхүүр үг нь зөвхөн Kerberos
мэдээллийн баазыг шифрлэхэд болон санамсаргүй тоо үүсгэгчийн үр болон
хэрэглэгддэг. Таны KDC уруу хандахад аюулгүй л
байж байвал халдагч мастер түлхүүрээр их юм хийж чадахгүй.
Мөн нэмж хэлэхэд хэрэв KDC нь боломжгүй байвал
(магадгүй үйлчилгээ зогсоох халдлага эсвэл сүлжээний асуудлуудаас болоод)
сүлжээний үйлчилгээнүүд нь нэвтрэлт танилтыг хийж болохгүй болохоор
хэрэглэгдэх боломжгүй болох бөгөөд нэг ёсны үйлчилгээ зогсоох халдлагын рецепт
болох юм. Үүнийг олон KDC-тэй (нэг мастер болон
нэг буюу хэд хэдэн боолууд) болон хоёрдогч эсвэл нэмэлт, эцсийн нэвтрэлт таних
(PAM нь энэнд маш сайн) болгоомжтой шийдлийн
тусламжтайгаар даван гарч болох юм.
Kerberos-ийн дутагдлууд
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: виртуал
сүлжээний холболт үүсгэн тест хийх
Сүлжээ #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 уруу дамжуулагдана.
AllowUsers хэрэглэгчийн тохируулга
Ямар хэрэглэгчид хаанаас орохыг хязгаарлаж өгөх нь зүйтэй юм.
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 дээрх өргөтгөсөн
шинж чанаруудын ажиллагаа нь бас бодитойгоор илүү байдаг. Иймээс
UFS2-г UFS1-ийн оронд
хандалт хянах жагсаалтуудад ашиглахыг ерөнхийдөө зөвлөдөг.
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 сан тэгэхгүй байна.
ACL-уудыг ашиглах нь
Файлын системийн 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; гарын авлагын хуудаснуудад тайлбарласан
байдаг.