diff --git a/mn_MN.UTF-8/books/handbook/advanced-networking/chapter.sgml b/mn_MN.UTF-8/books/handbook/advanced-networking/chapter.sgml index f41a88beba..a499a72882 100644 --- a/mn_MN.UTF-8/books/handbook/advanced-networking/chapter.sgml +++ b/mn_MN.UTF-8/books/handbook/advanced-networking/chapter.sgml @@ -1,4839 +1,4925 @@ Цагаанхүүгийн Ганболд Орчуулсан
tsgan@hotmail.com
Сүлжээний нэмэлт ойлголтууд Ерөнхий агуулга Энэ бүлэг нь хэд хэдэн сүлжээний дэвшилтэт нэмэлт сэдвүүдийг хамрах болно. Энэ бүлгийг уншсаны дараа, та дараах зүйлсийг мэдэх болно: Гарцууд болон чиглүүлэлтүүдийн үндсүүд. IEEE 802.11 болон &bluetooth; төхөөрөмжүүдийг хэрхэн суулгах талаар. FreeBSD-г гүүр болгож хэрхэн тохируулах талаар. Дискгүй машин дээр сүлжээгээр ачаалахыг хэрхэн тохируулах талаар. Сүлжээний хаягийн хөрвүүлэлтийг хэрхэн тохируулах талаар. PLIP-ээр хоёр компьютерийг хэрхэн холбох талаар. FreeBSD машин дээр IPv6-г хэрхэн тохируулах талаар. ATM-ийг хэрхэн тохируулах талаар. &os; дээр Common Access Redundancy Protocol буюу CARP-ийн боломжуудыг хэрхэн идэвхжүүлж ашиглах талаар. Энэ бүлгийг уншихаасаа өмнө та дараах зүйлсийг гүйцэтгэх хэрэгтэй: /etc/rc скриптүүдийн үндсүүдийг ойлгосон байх. Сүлжээний үндсэн ухагдахуудын талаар мэдлэгтэй байх. Шинэ FreeBSD цөм хэрхэн тохируулж суулгах талаар мэдэх (). Нэмэлт гуравдагч талуудын хийсэн програм хангамжийг хэрхэн суулгах талаар мэдэх (). Коранф Грайфон Хувь нэмэр болгон оруулсан Гарцууд болон Чиглүүлэлтүүд чиглүүлэлт хийх гарц дэд сүлжээ Сүлжээгээр нэг машин нөгөө машиныг олж чаддаг байхын тулд нэгээс нөгөө уруу хэрхэн хүрэхийг тайлбарласан арга замууд байх ёстой. Үүнийг routing буюу чиглүүлэлт хийх гэдэг. Чиглүүлэлт нь destination буюу зорьсон газар болон гарц хаягийн хослолоор тодорхойлогддог. Хэрэв та энэ зорьсон газар уруу очихоор оролдож байгаа бол энэ гарцаар холбогдоно гэж энэ хослол нь зааж байгаа юм. Гурван төрлийн зорьсон газар байдаг: эдгээр нь хостууд, дэд сүлжээнүүд болон анхдагч юм. Анхдагч чиглүүлэлт нь аль ч чиглүүлэлтэд хамаарахгүй бол ашиглагддаг. Бид анхдагч чиглүүлэлтийн талаар дараа нь арай дэлгэрэнгүй ярилцах болно. Бас гурван төрлийн гарц байдаг: эдгээр нь хостууд, интерфэйсүүд (бас links буюу холбоосууд гэгддэг) болон Ethernet тоног төхөөрөмжийн хаягууд (MAC хаягууд) юм. Жишээ Чиглүүлэлтийн өөр ойлголтуудыг үзүүлэхийн тулд бид netstat-ийн дараах жишээг ашиглах болно: &prompt.user; netstat -r Routing tables Destination Gateway Flags Refs Use Netif Expire default outside-gw UGSc 37 418 ppp0 localhost localhost UH 0 181 lo0 test0 0:e0:b5:36:cf:4f UHLW 5 63288 ed0 77 10.20.30.255 link#1 UHLW 1 2421 example.com link#1 UC 0 0 host1 0:e0:a8:37:8:1e UHLW 3 4601 lo0 host2 0:e0:a8:37:8:1e UHLW 0 5 lo0 => host2.example.com link#1 UC 0 0 224 link#1 UC 0 0 анхдагч чиглүүлэлт Эхний хоёр мөр нь анхдагч чиглүүлэлт (бид үүнийг дараагийн хэсэгт авч үзэх болно) болон localhost чиглүүлэлтийг заана. loopback төхөөрөмж Энэ чиглүүлэлтийн хүснэгтийн заасан localhost-д зориулж ашиглах интерфэйс (Netif багана) нь lo0 бөгөөд энэ нь бас loopback буюу буцах интерфэйс гэгддэг. Энэ нь уг очих газрын хувьд бүх урсгалыг LAN уруу илгээхийн оронд дотооддоо үлдээнэ гэж хэлж байгаа бөгөөд энэ нь хаанаас эхэлсэн тэндээ буцаж очих учраас тэр юм. Ethernet MAC хаяг Дараагийн байгаа зүйл бол 0:e0:-с эхэлсэн хаягууд юм. Эдгээр нь Ethernet тоног төхөөрөмжийн хаягууд бөгөөд бас MAC хаягууд гэгддэг. FreeBSD нь локал Ethernet дээр байгаа ямар ч хостуудыг (жишээн дээрх test0) автоматаар таньж тэр хостод зориулж шууд түүн уруу ed0 Ethernet интерфэйсээр гарахаар чиглүүлэлт нэмдэг. Энэ төрлийн чиглүүлэлттэй холбоотой хугацаа (Expire багана) байдаг бөгөөд энэ нь заасан хугацаанд тэр хостоос бид нар юу ч сонсохгүй үед ашиглагддаг. Ийм явдал болоход энэ хост уруу заагдсан чиглүүлэлт автоматаар устгагдах болно. Эдгээр хостууд нь RIP (Routing Information Protocol буюу чиглүүлэлтийн мэдээллийн протокол) гэгддэг арга замаар танигддаг бөгөөд энэ нь хамгийн богино замыг тодорхойлсны үндсэн дээр локал хостууд уруу очих чиглүүлэлтийг олдог. дэд сүлжээ FreeBSD нь бас локал дэд сүлжээнд зориулж дэд сүлжээний чиглүүлэлтүүдийг нэмдэг (10.20.30.255 нь 10.20.30 дэд сүлжээний цацах хаяг бөгөөд example.com нь тэр дэд сүлжээтэй холбоотой домэйний нэр юм). link#1 тэмдэглэгээ нь машин дахь эхний Ethernet картыг заана. Та тэдгээрт зориулж ямар ч нэмэлт интерфэйс заагдаагүйг харах болно. Эдгээр бүлгүүд (локал сүлжээний хостууд болон локал дэд сүлжээнүүд) нь автоматаар routed гэгддэг дэмоноор тохируулагдсан чиглүүлэлтүүдтэй байна. Хэрэв энэ нь ажиллахгүй байгаа бол зөвхөн статикаар тодорхойлогдсон (өөрөө хэлбэл илэрхий оруулж өгсөн) чиглүүлэлтүүд байх болно. host1 мөр нь бидний хостыг зааж байгаа бөгөөд түүнийг Ethernet хаягаар нь мэддэг. Бид илгээж байгаа хост болохоор FreeBSD нь Ethernet интерфэйсээр илгээхийн оронд loopback буюу буцах интерфэйсийг (lo0) ашиглахаа мэддэг. Хоёр host2 мөрүүд нь биднийг &man.ifconfig.8; alias буюу өөр нэр ашиглах үед (Ethernet-ийн талаар дурдсан хэсгээс бид үүнийг яагаад хийдгийг үзээрэй) учирч болзошгүй зүйлийн жишээ юм. lo0 интерфэйсийн дараа байгаа => тэмдэг нь бид зөвхөн loopback буюу буцах интерфэйсийг ашиглаад зогсохгүй (энэ хаяг нь бас локал хостыг хэлж байгаа болохоор) энэ нь ялангуяа alias буюу өөр нэр гэдгийг хэлж байгаа юм. Ийм чиглүүлэлтүүд нь alias-ийг дэмждэг хост дээр зөвхөн харагдана; локал сүлжээн дэх бусад бүх хостууд ийм чиглүүлэлтүүдийнхээ хувьд ердөө л link#1 мөртэй байна. Төгсгөлийн мөр (очих дэд сүлжээ 224) нь multicast-тай ажиллаж байгаа бөгөөд үүнийг өөр хэсэгт авч үзэх болно. Төгсгөлд нь чиглүүлэлт бүрийн төрөл бүрийн шинж чанаруудыг Flags баганаас харж болно. Эдгээр тугуудын зарим болон тэдгээрийн харгалзах утга санаануудыг доорх богино хүснэгтээр харуулав: U Up: Чиглүүлэлт идэвхтэй байна. H Host: Чиглүүлэлтийн очих газар нь ганц хост байна. G Gateway: Энэ очих газарт зориулж бүгдийг энэ алсын систем уруу илгээх бөгөөд алсын систем нь тэндээсээ хаашаа илгээхээ олох болно. S Static: Энэ чиглүүлэлт нь системээр автоматаар үүсгэгдсэн биш гараар тохируулагдсан. C Clone: Бидний холбогдож байгаа машины хувьд энэ чиглүүлэлт дээр үндэслэн шинэ чиглүүлэлт үүсгэдэг. Энэ төрлийн чиглүүлэлт нь ихэвчлэн локал сүлжээнүүдэд ашиглагддаг. W WasCloned: Локал сүлжээний (Clone) чиглүүлэлт дээр үндэслэн автоматаар тохируулагдсан чиглүүлэлтийг заана. L Link: Чиглүүлэлт нь Ethernet тоног төхөөрөмжтэй холбоотой зүйлийг хамарна. Анхдагч чиглүүлэлтүүд анхдагч чиглүүлэлт Локал систем нь алсын хост уруу холболт хийх хэрэгтэй үед мэдэгдэж байгаа зам байгаа эсэхийг тодорхойлохын тулд энэ нь чиглүүлэлтийн хүснэгтээс шалгадаг. Хэрэв алсын хост нь бидний хэрхэн хүрэхийг нь мэдэх (клон хийгдсэн чиглүүлэлтүүд) дэд сүлжээнд байгаа бол систем тэр интерфэйсээр холбогдож болох эсэхийг шалгадаг. Хэрэв бүх мэдэгдэж байгаа зам амжилтгүй болвол системд сүүлчийн ганц сонголт анхдагч чиглүүлэлт үлдэнэ. Энэ чиглүүлэлт нь гарц чиглүүлэлтийн тусгай төрөл (системд ихэвчлэн ганц байдаг) бөгөөд тугнуудын талбартаа үргэлж c гэж тэмдэглэгдсэн байдаг. Локал сүлжээн дэх хостын хувьд энэ гарц нь машины гадаад ертөнц уруу шууд холбогдох зүйлээр (PPP холболт, DSL, кабель модем, T1, эсвэл өөр сүлжээний интерфэйсээр) тохируулагддаг. Хэрэв та өөрөө гаднах ертөнц уруу гарц маягаар ажиллаж байгаа машины хувьд анхдагч чиглүүлэлтийг тохируулж байгаа бол анхдагч чиглүүлэлт нь таны Интернэтийн Үйлчилгээ Үзүүлэгчийн (ISP) сайт дахь гарц машин болох юм. Анхдагч чиглүүлэлтүүдийн жишээг харцгаая. Энэ нь нийтлэг тохиргоо юм: [Local2] <--ether--> [Local1] <--PPP--> [ISP-Serv] <--ether--> [T1-GW] Local1 болон Local2 хостууд нь таны сайтад байна. Local1 нь ISP уруу dial-up PPP холболтоор холбогдсон. Энэ PPP сервер компьютер нь дотоод сүлжээгээр өөр нэг гарц компьютер уруу гадаад интерфэйсээр ISP-ийн Интернэт өгч байгаа уруу холбогдсон байна. Таны машин бүрийн хувьд анхдагч чиглүүлэлтүүд нь ийм болно: Хост Анхдагч Гарц Интерфэйс Local2 Local1 Ethernet Local1 T1-GW PPP Түгээмэл асуулт нь Бид яагаад Local1-ийн хувьд түүний холбогдсон ISP-ийн серверийн оронд T1-GW-г анхдагч гарц гэж тохируулсан бэ? гэсэн асуулт юм. PPP интерфэйс нь өөрийн талын холболтондоо ISP-ийн локал сүлжээн дэх хаягийг ашиглаж байгаа болохоор ISP-ийн локал сүлжээн дэх бусад дурын машинуудад зориулсан чиглүүлэлт автоматаар үүсгэгдэх болно гэдгийг санаарай. Ийм учраас та T1-GW машин уруу хэрхэн хүрэхээ аль хэдийн мэдэж байгаа болохоор ISP-ийн сервер уруу урсгал илгээх дундын алхам шаардлагагүй юм. Өөрийн локал сүлжээний хувьд X.X.X.1 хаягийг гарц хаяг болгож ашиглах нь түгээмэл байдаг. Тэгэхээр (адил жишээг ашиглаад) хэрэв таны локал C ангиллын хаягийн талбар 10.20.30 байсан бөгөөд таны ISP 10.9.9-г ашиглаж байгаа бол анхдагч чиглүүлэлтүүд нь ийм байна: Хост Анхдагч Чиглүүлэлт Local2 (10.20.30.2) Local1 (10.20.30.1) Local1 (10.20.30.1, 10.9.9.30) T1-GW (10.9.9.1) Та /etc/rc.conf файлын тусламжтай анхдагч чиглүүлэлтийг хялбараар тодорхойлж болно. Бидний жишээн дээр Local2 машин дээр бид дараах мөрийг /etc/rc.conf файлд нэмсэн: defaultrouter="10.20.30.1" Үүнийг шууд тушаалын мөрөөс &man.route.8; тушаалаар хийж бас болно: &prompt.root; route add default 10.20.30.1 Сүлжээний чиглүүлэлтийн хүснэгтүүдийг гараар удирдах талаар дэлгэрэнгүй мэдээллийг &man.route.8; гарын авлагын хуудаснаас лавлана уу. Хос гэртэй хостууд хос гэртэй хостууд Өөр бас нэг тохиргооны төрлийг бид хэлэлцэх ёстой бөгөөд энэ нь хоёр өөр сүлжээн дээр байгаа хостын тухай юм. Техникийн хувьд гарц болж байгаа дурын машин (дээрх жишээн дээр PPP холболтыг ашиглах нь) хос гэртэй хост гэж тооцогддог. Гэхдээ үнэндээ энэ ухагдахуун нь хоёр дотоод сүлжээнд байгаа машиныг хэлэхэд зөвхөн ашиглагддаг. Нэг тохиолдолд машин нь хоёр Ethernet карттай бөгөөд карт бүр тусдаа дэд сүлжээний хаягтай байна. Өөрөөр, машин нь зөвхөн нэг Ethernet карттай бөгөөд &man.ifconfig.8; alias хийлт буюу өөр нэрийг ашигладаг байж болно. Эхнийх нь физикийн хувьд тусдаа хоёр Ethernet сүлжээ ашиглагдаж байгаа үед хэрэглэгдэх бөгөөд сүүлийнх нь ганц физик сүлжээний сегмент байгаа боловч логикийн хувьд хоёр тусдаа дэд сүлжээнүүд байгаа үед хэрэглэгддэг. Аль ч тохиолдолд энэ машин нь нөгөө дэд сүлжээ уруу хүрэх тодорхойлогдсон гарц (гаднаас ирэх чиглүүлэлт) гэдгийг дэд сүлжээ бүр мэддэг байхаар чиглүүлэлтийн хүснэгтүүд тохируулагддаг. Хоёр дэд сүлжээний хооронд чиглүүлэгч маягаар ажиллах машинтай энэ тохиргоо нь бид аль нэг тал уруу эсвэл хоёр талын хоёулангийн хувьд пакет шүүгч буюу галт хана дээр тулгуурласан аюулгүй байдлын шийдлийг хийх шаардлагатай үед ихэвчлэн хэрэглэгддэг. Хоёр интерфэйсийн хооронд пакетуудыг дамжуулдаг байхаар энэ машиныг байлгахыг хэрэв та хүсвэл энэ боломжийг идэвхжүүлэхийг FreeBSD-д хэлэх хэрэгтэй. Үүнийг хэрхэн хийх талаар дэлгэрэнгүйг дараагийн хэсгээс үзнэ үү. Чиглүүлэгч бүтээх нь чиглүүлэгч Сүлжээний чиглүүлэгч нь ердөө л нэг интерфэйсээс нөгөө интерфэйс уруу пакетуудыг дамжуулдаг систем юм. Интернэтийн стандартууд болон сайн инженерчлэлийн туршлага нь үүнийг FreeBSD дээр анхдагчаар идэвхжүүлсэн байхаас FreeBSD төслийг сэргийлдэг. &man.rc.conf.5; дахь дараах хувьсагчийг YES болгон өөрчилснөөр та энэ боломжийг идэвхжүүлж болно: gateway_enable=YES # Set to YES if this host will be a gateway Энэ тохируулга нь &man.sysctl.8;-ийн хувьсагч net.inet.ip.forwarding1 болгоно. Хэрэв та чиглүүлэлтийг түр зуур зогсоох хэрэгтэй бол үүнийг түр зуур 0 болгож тохируулж болно. Урсгалыг хааш нь илгээхээ мэдэхийн тулд таны шинэ чиглүүлэгчид чиглүүлэлтүүд хэрэгтэй болно. Хэрэв таны сүлжээ хангалттай хялбар байх юм бол статик чиглүүлэлтүүд ашиглаж болно. FreeBSD нь стандарт BSD чиглүүлэлтийн дэмон &man.routed.8; програмтай бас ирдэг. Энэ нь RIP (1 ба 2-р хувилбар) болон IRDP протоколуудыг дэмждэг. BGP v4, OSPF v2 болон бусад төвөгтэй чиглүүлэлтийн протоколуудын дэмжлэгийг net/zebra багц хангадаг. &gated; зэрэг арилжааны бүтээгдэхүүнүүд бас илүү төвөгтэй сүлжээний чиглүүлэлтийн шийдлүүдэд зориулагдсан байдаг. BGP RIP OSPF Аль Хоанг Хувь нэмэр болгон оруулсан Статик чиглүүлэлтүүдийг тохируулах нь Гар тохиргоо Бид дараах сүлжээтэй байна гэж төсөөлье: INTERNET | (10.0.0.1/24) Default Router to Internet | |Interface xl0 |10.0.0.10/24 +------+ | | RouterA | | (FreeBSD gateway) +------+ | Interface xl1 | 192.168.1.1/24 | +--------------------------------+ Internal Net 1 | 192.168.1.2/24 | +------+ | | RouterB | | +------+ | 192.168.2.1/24 | Internal Net 2 Энэ тохиолдолд RouterA нь Интернэт уруу гарах чиглүүлэгч маягаар ажиллаж байгаа бидний &os; машин байна. Энэ нь анхдагч чиглүүлэлтээ 10.0.0.1 гэж тохируулсан бөгөөд ингэснээр гаднах ертөнц уруу холбогдох боломжийг олгоно. Бид RouterB нь зөв тохируулагдсан бөгөөд хаа явах хэрэгцээтэй газраа хэрхэн хүрэхээ мэддэг гэж үзэх болно. (Энэ нь зураг дээр хялбар юм. Ердөө л RouterB дээр 192.168.1.1-г гарц болгон анхдагч чиглүүлэлт нэмнэ.) Хэрэв бид RouterA-ийн чиглүүлэлтийн хүснэгтийг харвал доор дурдсантай төстэйг харах болно: &prompt.user; netstat -nr Routing tables Internet: Destination Gateway Flags Refs Use Netif Expire default 10.0.0.1 UGS 0 49378 xl0 127.0.0.1 127.0.0.1 UH 0 6 lo0 10.0.0/24 link#1 UC 0 0 xl0 192.168.1/24 link#2 UC 0 0 xl1 Энэ үеийн чиглүүлэлтийн хүснэгттэй байхад RouterA нь бидний Internal Net 2 буюу дотоод сүлжээ 2 уруу хүрч чадахгүй байх болно. Энэ нь 192.168.2.0/24-ийн хувьд чиглүүлэлтгүй байна. Үүнийг арилгах нэг арга нь гараар чиглүүлэлт нэмэх явдал юм. Дараах тушаал нь RouterA-ийн чиглүүлэлтийн хүснэгтэд 192.168.1.2-г дараагийн зөрлөг (hop) болгон ашиглан Internal Net 2 сүлжээг нэмэх болно: &prompt.root; route add -net 192.168.2.0/24 192.168.1.2 Одоо RouterA нь 192.168.2.0/24 сүлжээн дэх дурын хост уруу хүрч чадна. Байнгын тохиргоо Дээрх жишээ нь ажиллаж байгаа систем дээр статик чиглүүлэлтийг тохируулахад төгс төгөлдөр юм. Гэхдээ нэг асуудал нь таны &os; машин дахин ачаалахад чиглүүлэлтийн мэдээлэл үлдэхгүй байх явдал юм. Статик чиглүүлэлтийг байнга байлгахын тулд түүнийг /etc/rc.conf файлд нэмнэ: # Add Internal Net 2 as a static route static_routes="internalnet2" route_internalnet2="-net 192.168.2.0/24 192.168.1.2" static_routes тохиргооны хувьсагч нь зайгаар тусгаарлагдсан үгнүүдийн жагсаалт юм. Үг бүр чиглүүлэлтийн нэрийг заана. Бидний жишээн дээр static_routes мөрөнд бид зөвхөн нэг үгтэй байна. Энэ нь internalnet2 юм. Бид дараа нь &man.route.8; тушаалд өгөх бүх тохиргооны нэмэлт өгөгдлүүдийг route_internalnet2 гэгдсэн тохиргооны хувьсагчийн хамтаар нэмнэ. Бидний жишээний хувьд бид ийм тушаал ашиглаж болно: &prompt.root; route add -net 192.168.2.0/24 192.168.1.2 тэгэхээр бидэнд "-net 192.168.2.0/24 192.168.1.2" хэрэгтэй. Дээр дурдсанаар бид static_routes мөрөнд нэгээс илүү үгс оруулж болно. Энэ нь бидэнд олон статик чиглүүлэлтүүд үүсгэх боломжийг олгоно. Дараах мөрүүд нь 192.168.0.0/24 болон 192.168.1.0/24 сүлжээний хувьд статик чиглүүлэлтүүдийг санаандаа төсөөлсөн чиглүүлэгч дээрээ нэмж байгаа жишээг үзүүлж байна: static_routes="net1 net2" route_net1="-net 192.168.0.0/24 192.168.0.1" route_net2="-net 192.168.1.0/24 192.168.1.1" Чиглүүлэлтийн тархалт чиглүүлэлтийн тархалт Бид гаднах ертөнц уруу чиглэсэн өөрсдийн чиглүүлэлтүүдийг хэрхэн тодорхойлох талаар ярилцсан боловч гаднах ертөнц хэрхэн биднийг олох талаар хэлэлцээгүй билээ. Чиглүүлэлтийн хүснэгтүүдийг тухайн нэг хаягийн талбарын (бидний жишээн дээр C ангиллын дэд сүлжээ) бүх урсгал тэр сүлжээний тухайн нэг хост уруу илгээгдэж тэр нь пакетуудыг дотогшоо дамжуулдгаар тохируулж болно гэдгийг бид мэдэж байгаа билээ. Та өөрийн сайтдаа заагдсан хаягийн талбарыг авах үед таны үйлчилгээ үзүүлэгч өөрсдийн чиглүүлэлтийн хүснэгтүүдийг таны дэд сүлжээнд зориулагдсан бүх урсгал таны PPP холбоосоор таны сайт уруу илгээгддэгээр тохируулах болно. Гэхдээ улс даяар байх бусад сайтууд таны ISP уруу илгээхээ яаж мэдэх вэ? Бүх заагдсан хаягийн талбаруудыг хянаж Интернэтийн үндсэн сүлжээ уруу холбогдох холболтын цэгийг тодорхойлдог систем (тараагдсан DNS-ийн мэдээлэлтэй бараг адил) байдаг. Backbone буюу гол нуруу (үндсэн сүлжээ) нь улс даяар болон дэлхий даяар Интернэтийн урсгалыг зөөвөрлөж байдаг гол шугамнууд юм. Гол нуруу машин бүр мастер хүснэгтүүдийн хуулбартай байдаг бөгөөд эдгээр хүснэгтүүд нь тухайн нэг сүлжээнд зориулсан урсгалыг онцгой гол нуруу зөөвөрлөгч уруу чиглүүлж тэндээсээ доош бусад үйлчилгээ үзүүлэгчдээр дамжин таны сүлжээнд хүрдэг. Үндсэн (гол нуруу) сайтууд уруу зарлаж тэдгээр нь таны сайтын хувьд холболтын цэг (буюу орох зам) гэж тодорхойлох нь таны үйлчилгээ үзүүлэгчийн үүрэг юм. Үүнийг чиглүүлэлтийн тархалт гэж нэрлэдэг. Алдааг олж засварлах traceroute Заримдаа чиглүүлэлтийн тархалт асуудалтай бөгөөд зарим нэгэн сайтууд өөр уруу чинь холбогдож чадахгүй байж болно. Чиглүүлэлт хаана ажиллахгүй болж байгааг олоход тус болох магадгүй хамгийн ашигтай тушаал нь &man.traceroute.8; тушаал юм. Хэрэв та алсын машин уруу холбогдож чадахгүй юм шиг байвал (өөрөөр хэлбэл &man.ping.8; амжилтгүй болвол) энэ нь бас адил ашигтай байдаг. &man.traceroute.8; тушаалыг таны холбогдохыг оролдож байгаа алсын хостын нэртэй ажиллуулдаг. Энэ нь гарц хостуудыг оролдлого хийж байгаа замын хамтаар харуулдаг бөгөөд эцсийн хост уруу хүрэх юм уу эсвэл холболтын асуудлаас болоод эцсийн хост уруугаа хүрэлгүйгээр ажиллаж дуусдаг. Дэлгэрэнгүй мэдээллийг &man.traceroute.8;-ийн гарын авлагын хуудаснаас үзнэ үү. Multicast чиглүүлэлт хийх multicast чиглүүлэлт хийх цөмийн тохируулгууд MROUTING FreeBSD нь multicast програмууд болон multicast чиглүүлэлтийг угаасаа дэмждэг. Multicast програмууд нь FreeBSD-ийн ямар нэг тусгай тохиргоо шаарддаггүй; програмууд нь шууд л ажилладаг. Multicast чиглүүлэлт нь дэмжлэгийг цөмд эмхэтгэхийг шаарддаг: options MROUTING Мөн multicast чиглүүлэлтийн дэмон &man.mrouted.8; нь туннелиуд болон DVMRP-г үүсгэхээр /etc/mrouted.conf файлын тусламжтай тохируулагдсан байх ёстой. Multicast тохиргооны талаар дэлгэрэнгүй мэдээллийг &man.mrouted.8;-ийн гарын авлагын хуудаснаас олж болно. Loader Марк Фонвил Мюррей Стөүкли Утасгүй сүлжээ утасгүй сүлжээ 802.11 утасгүй сүлжээ Утасгүй сүлжээний үндсүүд Ихэнх утасгүй сүлжээнүүд нь IEEE 802.11 стандартууд дээр үндэслэсэн байдаг. Үндсэн утасгүй сүлжээ нь 2.4GHz юм уу эсвэл 5GHz-ийн зурваст цацдаг радио долгионоор холбогддог олон станцуудаас тогтдог (энэ нь орон нутгаас хамаарч өөр өөр байдаг бөгөөд 2.3GHz-с 4.9GHz-ийн хүрээнд холбоог идэвхжүүлэхээр өөрчлөгдөж байгаа). 802.11 сүлжээ нь хоёр аргаар зохион байгуулагддаг: дэд бүтцийн горимд нэг станц мастер маягаар ажиллаж бусад станцууд нь түүнтэй холбогддог; энэ сүлжээг BSS гэдэг бөгөөд мастер станц нь хандалтын цэг (access point)(AP) гэгддэг. BSS-т бүх холбоо AP-р дамждаг; нэг станц өөр нэг утасгүй станцтай холбоо тогтоохыг хүссэн байсан ч гэсэн мэдэгдлүүд нь AP-р дамжих ёстой байдаг. Хоёр дахь хэлбэрийн сүлжээнд мастер байдаггүй бөгөөд станцууд нь шууд холбогддог. Энэ сүлжээний хэлбэрийг IBSS гэдэг бөгөөд бас ad-hoc сүлжээ гэгддэг. 802.11 сүлжээнүүд нь 2.4GHz-ийн зурваст IEEE 802.11 болон 802.11b стандартуудаар тодорхойлогдсон протоколуудыг ашиглан эхлэн хийгдэж байсан. Эдгээр тодорхойлолтууд нь ажиллах давтамжууд, хүрээ хийх болон дамжуулах хурд (холболт төрөл бүрийн хурдаар хийгдэж болно) зэрэг MAC давхаргын үзүүлэлтүүдийг агуулдаг. Сүүлд 802.11a стандарт нь өөр дохионы арга замууд болон илүү өндөр дамжуулах хурдууд зэрэг 5GHz-ийн зурвасын ажиллагааг тодорхойлсон билээ. Мөн дараа нь 802.11b сүлжээнүүдтэй буцаж нийцтэй байхаар 802.11a дохионы хэрэглээ болон 2.4GHz-ийн зурваст дамжуулах арга замуудыг идэвхжүүлж 802.11g стандарт тодорхойлогдсон байна. Суурь болсон дамжуулах техникүүдээс гадна 802.11 сүлжээнүүд нь төрөл бүрийн аюулгүй байдлын арга замуудтай байдаг. Анхдагч 802.11 тодорхойлолтууд нь WEP гэгддэг аюулгүй байдлын энгийн протоколыг тодорхойлсон билээ. Энэ протокол нь тогтмол, урьдчилан хуваалцсан түлхүүр болон RC4 криптограф шифр ашиглан сүлжээнд дамжуулагдах өгөгдлийг кодчилдог. Станцууд нь өөр хоорондоо холбогдохын тулд бүгд нэг тогтмол түлхүүр дээр зөвшилцөх ёстой. Энэ схемийг амархан эвдэх боломжтойг харуулсан бөгөөд дамжин өнгөрөх хэрэглэгчдийг сүлжээнд нэгдэхийг зөвлөдөггүйгээс бусад тохиолдолд одоо ховор ашиглагдах болсон байна. Криптографийн шинэ шифрүүд болон станцуудыг хандалтын цэгт танин нэвтрүүлж өгөгдлийн холболтыг хийхийн тулд түлхүүрүүдийг солилцох нэмэлт протоколыг тодорхойлдог IEEE 802.11i тодорхойлолтоор одоогийн аюулгүй байдлын практикийг тодорхойлдог. Мөн криптограф түлхүүрүүд нь үе үе шинэчлэгддэг бөгөөд халдлагын оролдлогуудыг илрүүлэх (ба халдлагын оролдлогуудыг сөрөх) арга замууд бас байдаг. Утасгүй сүлжээнүүдэд түгээмэл ашиглагддаг өөр нэг аюулгүй байдлын протоколын тодорхойлолт нь WPA юм. Энэ нь үйлдвэрлэлийн бүлгийн тодорхойлсон 802.11i-ийн өмнөх протокол бөгөөд 802.11i-г батлахыг хүлээж байх хугацаанд түр зуурын арга хэмжээ болох юм. WPA нь 802.11i-д байгаа шаардлагуудын дэд олонлогийг тодорхойлж хуучин тоног төхөөрөмжүүд дээрх шийдэлд зориулагдан хийгджээ. Ялангуяа WPA нь анхдагч WEP шифрээс гарсан TKIP шифрийг зөвхөн шаарддаг. 802.11i нь TKIP-ийн хэрэглээг зөвшөөрдөг боловч өгөгдлийг шифрлэхэд зориулж илүү хүчирхэг шифр болох AES-CCM-ийн дэмжлэгийг бас шаарддаг. (AES шифр нь WPA-д шаардагддаггүй, учир нь үүнийг хуучин тоног төхөөрөмж дээр хийхэд тооцооллын хувьд өртөгтэй гэж үздэг.) Дээрх протоколын стандартуудаас гадна мэдэж байх өөр нэг чухал стандарт бол 802.11e юм. Энэ нь 802.11 сүлжээнд видео дамжуулах, IP дээгүүрх дуу (VoIP) зэрэг мультимедиа хэрэглээнүүдэд шаардлагатай протоколуудыг тодорхойлдог. 802.11i-тай адил 802.11e нь үйлдвэрлэлийн бүлгээс 802.11e-ийн дэд олонлог гэж тодорхойлсон, 802.11e-г батлахыг хүлээж байх хугацаанд мультимедиа хэрэглээнүүдийг идэвхжүүлэхэд ашиглаж болох WME (сүүлд WMM) гэгдсэн урьдчилсан тодорхойлолт байдаг. 802.11e болон WME/WMM-ийн талаар мэдэх ёстой хамгийн чухал зүйл нь утасгүй сүлжээний зэрэглэл тогтоогдсон урсгалын хэрэглээг Quality of Service (QoS) буюу үйлчилгээний чанарын протоколууд болон өргөтгөсөн зөөвөрлөгчийн хандалтын протоколуудын тусламжтайгаар идэвхжүүлдэг явдал юм. Эдгээр протоколуудын зөв шийдэл нь өгөгдлийн өндөр хурдтай тэсрэлт болон зэрэглэл тогтоогдсон урсгалыг идэвхжүүлдэг. 6.0 хувилбараас эхлээд &os; нь 802.11a, 802.11b, болон 802.11g-г ашиглан ажилладаг сүлжээнүүдийг дэмждэг. WPA болон 802.11i аюулгүй байдлын протоколууд нь адилхан (11a, 11b, болон 11g-тэй цуг) дэмжигдсэн байдаг бөгөөд WME/WMM протоколуудын шаарддаг QoS болон урсгалын зэрэглэлт нь хязгааргүй тооны утасгүй төхөөрөмжүүдэд дэмжигдсэн байдаг. Үндсэн тохируулга Цөмийн тохиргоо Утасгүй сүлжээг ашиглахын тулд танд утасгүй сүлжээний карт болон цөмийг тохирох утасгүй сүлжээний дэмжлэгтэйгээр тохируулах хэрэгтэй болно. Сүүлийнх нь олон модулиудад хуваагддаг. Тэгэхээр танд зөвхөн өөрийнхөө ашиглах програм хангамжийг тохируулах хэрэгтэй болох юм. Танд эхлээд хэрэг болох зүйл нь утасгүй сүлжээний төхөөрөмж юм. Хамгийн түгээмэл хэрэглэгддэг төхөөрөмжүүд нь Atheros-ийн хийдэг хэсгүүдийг ашигладаг төхөөрөмжүүд байдаг. Эдгээр төхөөрөмжүүд нь &man.ath.4; драйвераар дэмжигддэг бөгөөд /boot/loader.conf файлд дараах мөрийг нэмэхийг шаарддаг: if_ath_load="YES" Atheros драйвер нь гурван тусдаа хэсэгт хуваагддаг: эдгээр нь зөв драйвер (&man.ath.4;), бичил схемийн функцуудыг зохицуулдаг, тоног төхөөрөмжийн дэмжлэгийн давхарга (&man.ath.hal.4;), болон хүрээнүүдийг дамжуулахын тулд хэд хэдэн боломжит хурдуудаас (энд ath_rate_sample) сонгох алгоритм юм. Та энэ дэмжлэгийг модуль хэлбэрээр дуудах үед түүнтэй хамааралтай зүйлс автоматаар зохицуулагдах болно. Хэрэв танд Atheros төхөөрөмжийн оронд өөр төхөөрөмж байгаа бол та тэр төхөөрөмжид зориулсан модулийг сонгох юм, өөрөөр хэлбэл: if_wi_load="YES" гэж Intersil Prism хэсгүүд дээр суурилсан төхөөрөмжүүдийн хувьд хийж өгнө (&man.wi.4; driver). Энэ баримтын үлдсэн хэсэгт бид &man.ath.4; төхөөрөмжийг ашиглах бөгөөд жишээнүүд дээрх төхөөрөмжийн нэр таны тохиргооны дагуу өөрчлөгдөх ёстой. Байгаа утасгүй драйверуудын жагсаалтыг &man.wlan.4; гарын авлагын хуудасны эхнээс олж болно. Таны утасгүй төхөөрөмжид зориулагдсан &os;-ийн драйвер байхгүй бол магадгүй &windows; драйверийг NDIS драйверийн гүйцэтгэл хялбаршуулагчийн тусламжтай шууд ашиглаж болох юм. Төхөөрөмжийн драйверийг тохируулсныхаа дараа та драйверийн шаарддаг 802.11 сүлжээний дэмжлэгийг бас оруулах хэрэгтэй болно. &man.ath.4; драйверийн хувьд энэ нь ядахдаа &man.wlan.4; модуль байх бөгөөд энэ модуль нь утасгүй төхөөрөмжийн драйвертай цуг автоматаар дуудагддаг. Үүнтэй цуг таны ашиглах аюулгүй байдлын протоколуудад зориулагдсан криптографын дэмжлэгийг хийдэг модулиуд хэрэгтэй болно. Эдгээр нь &man.wlan.4; модулиар автоматаар шаардлагын дагуу дуудагддаг байхаар зориулагдсан боловч одоохондоо эдгээрийг гараар тохируулах шаардлагатай. Дараах модулиуд байдаг: &man.wlan.wep.4;, &man.wlan.ccmp.4; болон &man.wlan.tkip.4;. &man.wlan.ccmp.4; болон &man.wlan.tkip.4; драйверууд нь WPA ба/эсвэл 802.11i аюулгүй байдлын протоколуудыг ашиглахаар болсон тохиолдолд танд зөвхөн хэрэгтэй байдаг. Хэрэв таны сүлжээ нээлттэй (өөрөөр хэлбэл шифрлэлтгүй) ажиллах бол танд &man.wlan.wep.4; дэмжлэг ерөөсөө хэрэггүй. Эдгээр модулиудыг ачаалах үед дуудахын тулд дараах мөрүүдийг /boot/loader.conf файлд нэмнэ: wlan_wep_load="YES" wlan_ccmp_load="YES" wlan_tkip_load="YES" Системийн эхлүүлэх тохиргооны файлд (өөрөөр хэлбэл /boot/loader.conf) ийм мэдээлэлтэйгээр та өөрийн &os; хайрцгийг дахин ачаалах хэрэгтэй. Хэрэв та өөрийн машиныг дахин ачаалахыг хүсэхгүй байгаа бол та модулиудыг &man.kldload.8;-ийн тусламжтайгаар гараар дуудаж болно. Хэрэв та модулиудыг ашиглахыг хүсэхгүй байгаа бол дараах мөрүүдийг өөрийн цөмийн тохиргооны файлд нэмж эдгээр драйверуудыг цөмд эмхэтгэж болно: device ath # Atheros IEEE 802.11 wireless network driver device ath_hal # Atheros Hardware Access Layer device ath_rate_sample # John Bicket's SampleRate control algorithm. device wlan # 802.11 support (Required) device wlan_wep # WEP crypto support for 802.11 devices device wlan_ccmp # AES-CCMP crypto support for 802.11 devices device wlan_tkip # TKIP and Michael crypto support for 802.11 devices Цөмийн тохиргооны файлдаа ийм мэдээлэлтэйгээр цөмөө дахин эмхэтгээд өөрийн &os; машиныг дахин ачаалах хэрэгтэй. Систем ассаны дараа ачаалах үеийн мэдэгдлүүдэд үүнтэй адил утасгүй төхөөрөмжийн талаар зарим мэдээллийг олж болно: ath0: <Atheros 5212> mem 0xff9f0000-0xff9fffff irq 17 at device 2.0 on pci2 ath0: Ethernet address: 00:11:95:d5:43:62 ath0: mac 7.9 phy 4.5 radio 5.6 Дэд бүтцийн горим Дэд бүтцийн горим буюу BSS горим нь ихэвчлэн ашиглагддаг горим юм. Энэ горимд утасгүй хандалтын цэгүүд нь утастай сүлжээнд холбогдсон байдаг. Утасгүй сүлжээ бүр өөрийн нэртэй байдаг бөгөөд энэ нэр нь сүлжээний SSID гэгддэг. Утасгүй клиентүүд нь утасгүй хандалтын цэгүүдэд холбогддог. &os; клиентүүд Хандалтын цэгүүдийг хэрхэн олох вэ Сүлжээнүүдийг хайхын тулд ifconfig тушаалыг ашиглана. Энэ хүсэлт нь хэсэг хором болж болох бөгөөд боломжтой утасгүй давтамж бүр уруу шилжиж, байгаа хандалтын цэгүүдийг шалгахыг системээс шаарддаг. Зөвхөн супер хэрэглэгч ийм хайлт эхлүүлж чадна: &prompt.root; ifconfig ath0 up scan SSID BSSID CHAN RATE S:N INT CAPS dlinkap 00:13:46:49:41:76 6 54M 29:0 100 EPS WPA WME freebsdap 00:11:95:c3:0d:ac 1 54M 22:0 100 EPS WPA Та хайлт хийхээсээ өмнө интерфэйсээ болгож тэмдэглэх ёстой. Дараа дараагийн хайлтын хүсэлтүүд интерфэйсийг up болгож тэмдэглэхийг шаарддаггүй. Хайлтын хүсэлтийн гаралт олсон BSS/IBSS сүлжээ бүрийг харуулдаг. Сүлжээний нэр SSID-с гадна хандалтын цэгийн MAC хаяг болох BSSID-г бид харах болно. CAPS талбар нь сүлжээ бүрийн төрөл болон тэнд ажиллаж байгаа станцуудын боломжуудыг заана: E Extended Service Set (ESS) буюу өргөтгөсөн үйлчилгээний олонлог. Станц нь дэд бүтцийн сүлжээний хэсэг гэдгийг харуулна (IBSS/ad-hoc сүлжээтэй харьцуулах юм бол ). I IBSS/ad-hoc сүлжээ. Станц нь ad-hoc сүлжээний хэсэг гэдгийг харуулна (ESS сүлжээтэй харьцуулах юм бол). P Хувийн нууц. BSS-ийн дотор солилцож байгаа өгөгдлийн бүх хүрээнүүдэд өгөгдлийн нууц байдал шаардлагатай байдаг. Энэ BSS нь бусадтай солилцох өгөгдлийн хүрээнүүдийг шифрлэх/буцаах WEP, TKIP эсвэл AES-CCMP зэрэг криптограф ашиглахыг станцаас шаарддаг гэсэн үг юм. S Богино оршил (preamble). Сүлжээ богино оршлуудыг (802.11b өндөр хурд/DSSS PHY-д тодорхойлогдсоноор богино оршил нь урт оршилд ашиглагддаг 128 бит талбартай харьцуулах юм бол 56 бит sync талбарыг хэрэглэдэг) ашиглаж байгааг харуулдаг. s Богино слот (ангархай) хугацаа. 802.11g сүлжээ хуучин (802.11b) станцууд байхгүй байгаа учраас богино слот хугацааг хэрэглэж байгааг харуулна. Мэдэгдэж байгаа сүлжээнүүдийн одоогийн жагсаалтыг бас доорх тушаалаар харуулж болно: &prompt.root; ifconfig ath0 list scan Энэ мэдээллийг автоматаар хувиргагчаар (adapter) эсвэл гараар хүсэлтийн тусламжтай шинэчилж болно. Хуучин өгөгдөл кэшээс автоматаар арилгагдах болохоор хэсэг хугацаа өнгөрсний дараа нэмэлт хайлтууд хийхгүй л бол энэ жагсаалт багасаж болох юм. Үндсэн тохиргоонууд Энэ хэсэгт &os; дээр утасгүй сүлжээний хувиргагчийг шифрлэлтгүйгээр хэрхэн ажиллуулахыг харуулсан энгийн жишээг үзүүлнэ. Эдгээр ойлголтуудыг мэддэг болсныхоо дараа өөрийнхөө утасгүй сүлжээг тохируулахдаа WPA-г ашиглахыг бид тууштай зөвлөж байна. Утасгүй сүлжээг тохируулах гурван үндсэн алхам байдаг: эдгээрт хандалтыг цэгийг сонгох, өөрийн станцыг таниулж нэвтрүүлэх, болон IP хаягийг тохируулах багтана. Дараах хэсэг алхам бүрийг хэлэлцэнэ. Хандалтын цэгийг сонгох нь Ихэнх тохиолдолд систем өөртөө бүтээгдсэн гүнзгийрүүлэн шалгах аргаа (heuristic) ашиглан хандалтын цэгийг сонгохыг нь зөвшөөрөх хангалттай байдаг. Таныг интерфэйсийг up гэж тэмдэглэх үед энэ нь анхдагч байх бөгөөд хэрэв үгүй бол интерфэйсийг /etc/rc.conf файлд жагсаан тохируулна, өөрөөр хэлбэл: ifconfig_ath0="DHCP" Хэрэв олон хандалтын цэгүүд байгаа бөгөөд та тухайн нэгийг сонгохыг хүсвэл түүнийг SSID-аар нь сонгож болно: ifconfig_ath0="ssid your_ssid_here DHCP" Адил SSID-тай олон хандалтын цэгүүд байгаа орчинд (роуминг-ийг (тэнүүчлэх) хялбар болгохын тулд ихэвчлэн хийдэг) аль нэг тухайн төхөөрөмж уруу холбогдох шаардлагатай болж болох юм. Энэ тохиолдолд та хандалтын цэгийн BSSID-ийг зааж өгч бас болох юм (та бас SSID-ийг үлдээж болно): ifconfig_ath0="ssid your_ssid_here bssid xx:xx:xx:xx:xx:xx DHCP" Системийн хайлт хийх давтамжуудын олонлогийг хязгаарлах зэрэг хандалтын цэгийн сонголтыг шаардах өөр аргууд байдаг.Та олон зурвасын утасгүй сүлжээний карттай байх тохиолдолд энэ нь ашигтай байдаг. Ийм тохиолдолд бүх боломжит сувгуудыг хайх нь цаг хугацаа шаардсан ажил байдаг. Ажиллагааг тухайн нэг зурвас дээр хязгаарлахын тулд параметрийг та ашиглаж болно, өөрөөр хэлбэл: ifconfig_ath0="mode 11g ssid your_ssid_here DHCP" нь картыг 2.4GHz давтамжуудын хувьд тодорхойлогдсон 802.11g горимд картыг ажиллуулах бөгөөд бусад 5GHz-ийн сувгуудыг авч үзэхгүй байх болно. Үүнийг хийх өөр нэг арга нь ажиллагааг тухайн нэг давтамжид түгжих параметр болон хайлт хийхдээ сувгуудын жагсаалтыг заах параметрийг ашиглах явдал юм. Эдгээр параметрүүдийн талаар дэлгэрэнгүй мэдээллийг &man.ifconfig.8; гарын авлагын хуудаснаас лавлана уу. Нэвтрэлт танилт Хандалтын цэгийг сонгосны дараа таны станц өгөгдөл дамжуулахаа өмнө өөрийгөө таниулан нэвтрэх хэрэгтэй. Нэвтрэлт танилт хэд хэдэн аргаар хийгдэж болно. Ашиглагддаг хамгийн түгээмэл схем бол нээлттэй нэвтрэлт танилт гэгддэг бөгөөд энэ нь дурын станц сүлжээнд нэгдэж холбогдохыг зөвшөөрдөг. Энэ нь эхний удаа утасгүй сүлжээг тохируулж байхдаа тестийн зорилгоор таны ашиглах ёстой нэвтрэлт танилт юм. Бусад схемүүд нь өгөгдлийн урсгал эхлэхээс өмнө криптограф мэдээлэл солилцоо хийгдэхийг шаарддаг; урьдчилсан хуваалцсан түлхүүрүүд эсвэл нууц үгс ашиглах эсвэл RADIUS зэрэг арын үйлчилгээнүүдийг ашигладаг илүү төвөгтэй схемүүд зэргийг дурдаж болно. Ихэнх хэрэглэгчид нээлттэй нэвтрэлт танилт ашиглах бөгөөд энэ нь анхдагч тохиргоо байдаг. Дараагийн хамгийн түгээмэл тохируулга бол WPA-PSK бөгөөд энэ нь бас WPA Personal гэгддэг. Энэ тохируулга доор тайлбарлагдсан байгаа. Хэрэв танд хандалтын цэгт зориулсан &apple; &airport; Extreme дээр суурилсан үндсэн станц байгаа бол WEP түлхүүртэй хамт хуваалцсан түлхүүрийг тохируулах хэрэгтэй болж болох юм. Үүнийг /etc/rc.conf файл эсвэл &man.wpa.supplicant.8; програмыг ашиглан хийж болно. Хэрэв та ганц &airport; үндсэн станцтай бол хандалтыг иймэрхүүгээр хийж өгч болно: ifconfig_ath0="authmode shared wepmode on weptxkey 1 wepkey 01234567 DHCP" Ерөнхийдээ хуваалцсан түлхүүр бүхий нэвтрэлт танилтыг ашиглахаас зайлсхийх хэрэгтэй, яагаад гэвэл WEP түлхүүрийн материалыг их хүчилсэн хэлбэрээр ашигладаг нь түлхүүрийг эвдэх боломжийг илүү амархан болгодог. Хэрэв WEP ашиглагдах ёстой бол (өөрөөр хэлбэл хуучин төхөөрөмжтэй нийцтэй байх үүднээс) WEP-ийг open буюу нээлттэй нэвтрэлт танилттай цуг ашиглах нь зүйтэй юм. WEP-ийн талаар дэлгэрэнгүй мэдээллийг -с олж болно. DHCP-ээр IP хаяг авах Хандалтын цэгийг сонгож нэвтрэлт танилтын параметрүүдийг тохируулсны дараа холбогдохын тулд та IP хаяг авах хэрэгтэй болно. Та өөрийн утасгүй IP хаягийг ихэвчлэн DHCP-ээр авах болно. Ингэхийн тулд ердөө л /etc/rc.conf файлыг засварлаж дээрх жишээн дээр үзүүлсэн шиг өөрийн төхөөрөмжийн тохиргоонд зориулж DHCP гэж нэмж өгнө: ifconfig_ath0="DHCP" Энэ хүрэхэд та утасгүй интерфэйсээ ажиллуулахад бэлэн байх болно: &prompt.root; /etc/rc.d/netif start Интерфэйс ажиллаж эхэлсний дараа ath0 интерфэйсийн төлөвийг үзэхийн тулд ifconfig тушаалыг ашиглана: &prompt.root; ifconfig ath0 ath0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500 inet6 fe80::211:95ff:fed5:4362%ath0 prefixlen 64 scopeid 0x1 inet 192.168.1.100 netmask 0xffffff00 broadcast 192.168.1.255 ether 00:11:95:d5:43:62 media: IEEE 802.11 Wireless Ethernet autoselect (OFDM/54Mbps) status: associated ssid dlinkap channel 6 bssid 00:13:46:49:41:76 authmode OPEN privacy OFF txpowmax 36 protmode CTS bintval 100 status: associated мөр нь таныг утасгүй сүлжээнд (бидний тохиолдолд dlinkap сүлжээ уруу) холбогдсон гэдгийг харуулж байна. bssid 00:13:46:49:41:76 хэсэг нь таны хандалтын цэгийн MAC хаяг юм; authmode мөр нь холболт шифрлэгдээгүй гэдгийг танд харуулж байна (OPEN). Статик IP хаяг DHCP серверээс IP хаяг авч чадахгүй тохиолдолд тогтмол IP хаяг та тавьж болно. Дээр үзүүлсэн DHCP гэсэн түлхүүр үгийг хаягийн мэдээллээр солих хэрэгтэй. Хандалтын цэгийг сонгохдоо хэрэглэсэн бусад параметрүүдийг үлдээхээ мартуузай: ifconfig_ath0="inet 192.168.1.100 netmask 255.255.255.0 ssid your_ssid_here" WPA WPA (Wi-Fi Protected Access буюу Wi-Fi Хамгаалагдсан Хандалт) нь WEP-ийн сул тал болон зөв нэвтрэлт танилтын дутмаг байдлыг арилгах зорилгоор 802.11 сүлжээнүүдэд цуг ашиглагддаг аюулгүй байдлын протокол юм. WPA нь 802.1X нэвтрэлт танилтын протоколыг хөшүүрэгддэг бөгөөд өгөгдлийн бүрэн бүтэн байдалд зориулж WEP-ийн оронд хэд хэдэн шифрүүдийн нэгийг ашигладаг. WPA-ийн шаарддаг цорын ганц шифр бол TKIP (Temporary Key Integrity Protocol) бөгөөд энэ нь бүрэн бүтэн байдал шалгалт, хуурамч үйлдлийг илрүүлэлт болон илрүүлсэн халдлагуудад хариулахад зориулсан арга хэмжээнүүдийг WEP-ийн ашигладаг үндсэн RC4 шифрт нэмэн өргөтгөсөн шифр юм. TKIP нь хуучин тоног төхөөрөмж дээр зөвхөн програм хангамжийн өөрчлөлттэйгөөр ажиллахаар хийгдсэн; энэ нь аюулгүй байдлыг сайжруулдаг боловч халдлагаас бүрэн гүйцэд хамгаалж чаддаггүй. WPA нь TKIP-г орлуулж AES-CCMP шифрийг бас заадаг бөгөөд боломжтой тохиолдолд үүнийг хэрэглэхийг урьтал болгодог; энэ тодорхойлолтод WPA2 (эсвэл RSN) гэсэн ухагдахуун нийтлэг ашиглагддаг. WPA нь нэвтрэлт танилт болон шифрлэлтийн протоколуудыг тодорхойлдог. Нэвтрэлт танилт нь хоёр техникийн аль нэгээр ихэвчлэн хийгддэг: 802.1X болон RADIUS зэрэг арын нэвтрэлт танилтын үйлчилгээгээр эсвэл урьдчилан хуваалцсан нууц үг ашиглан станц болон хандалтын хооронд хамгийн багаар мэдээлэл солилцох (handshake) замаар хийгддэг. Эхнийх нь ихэвчлэн WPA Enterprise, сүүлийнх нь WPA Personal гэгддэг. Ихэнх хүмүүс утасгүй сүлжээнд зориулж арын RADIUS сервер тохируулдаггүй учир WPA-PSK нь WPA-д зориулсан хамгийн түгээмэл тохиолддог тохиргоо юм. Утасгүй холболтын хяналт болон нэвтрэлт танилт (түлхүүрийн тохиролцоо эсвэл сервертэй хийх нэвтрэлт танилт) нь &man.wpa.supplicant.8; хэрэгслээр хийгддэг. Энэ програм нь ажиллахын тулд /etc/wpa_supplicant.conf тохиргооны файл шаарддаг. Энэ файлын талаар дэлгэрэнгүй мэдээллийг &man.wpa.supplicant.conf.5; гарын авлагын хуудаснаас олж болно. WPA-PSK WPA-PSK нь бас WPA Personal гэгддэг бөгөөд өгөгдсөн нууц үгээс үүсгэгдсэн pre-shared key буюу (PSK) урьдчилан хуваалцсан түлхүүр дээр суурилдаг бөгөөд утасгүй сүлжээнд мастер түлхүүр болон ашиглагддаг. Энэ нь утасгүй хэрэглэгч бүр адил түлхүүрийг хуваалцана гэсэн үг юм. WPA-PSK нь нэвтрэлт танилтын сервер хэрэглэх боломжгүй эсвэл шаардлагагүй жижиг сүлжээнүүдэд зориулагдсан юм. Хангалттай урт, төрөл бүрийн тэмдэгтүүдээс бүтсэн, таах буюу/эсвэл халдах боломжгүй хэцүү нууц үгсийг үргэлж ашиглах хэрэгтэй. Эхний алхам нь /etc/wpa_supplicant.conf файлыг өөрийн сүлжээний SSID болон урьдчилан хуваалцсан түлхүүрээр тохируулах явдал юм: network={ ssid="freebsdap" psk="freebsdmall" } Дараа нь бид /etc/rc.conf файлд утасгүй төхөөрөмжийн тохиргоо WPA-аар хийгдэж IP хаяг DHCP-ээс авагдана гэдгийг зааж өгнө: ifconfig_ath0="WPA DHCP" Дараа нь бид интерфэйсийг босгож ажиллуулна: &prompt.root; /etc/rc.d/netif start Starting wpa_supplicant. DHCPDISCOVER on ath0 to 255.255.255.255 port 67 interval 5 DHCPDISCOVER on ath0 to 255.255.255.255 port 67 interval 6 DHCPOFFER from 192.168.0.1 DHCPREQUEST on ath0 to 255.255.255.255 port 67 DHCPACK from 192.168.0.1 bound to 192.168.0.254 -- renewal in 300 seconds. ath0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500 inet6 fe80::211:95ff:fed5:4362%ath0 prefixlen 64 scopeid 0x1 inet 192.168.0.254 netmask 0xffffff00 broadcast 192.168.0.255 ether 00:11:95:d5:43:62 media: IEEE 802.11 Wireless Ethernet autoselect (OFDM/36Mbps) status: associated ssid freebsdap channel 1 bssid 00:11:95:c3:0d:ac authmode WPA privacy ON deftxkey UNDEF TKIP 2:128-bit txpowmax 36 protmode CTS roaming MANUAL bintval 100 Эсвэл та үүнийг гараар дээрх /etc/wpa_supplicant.conf ашиглан хийж доор дурдсан тушаалыг ажиллуулж болно: &prompt.root; wpa_supplicant -i ath0 -c /etc/wpa_supplicant.conf Trying to associate with 00:11:95:c3:0d:ac (SSID='freebsdap' freq=2412 MHz) Associated with 00:11:95:c3:0d:ac WPA: Key negotiation completed with 00:11:95:c3:0d:ac [PTK=TKIP GTK=TKIP] Дараагийн үйлдэл нь DHCP серверээс IP хаяг авахын тулд dhclient тушаалыг ажиллуулах явдал юм: &prompt.root; dhclient ath0 DHCPREQUEST on ath0 to 255.255.255.255 port 67 DHCPACK from 192.168.0.1 bound to 192.168.0.254 -- renewal in 300 seconds. &prompt.root; ifconfig ath0 ath0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500 inet6 fe80::211:95ff:fed5:4362%ath0 prefixlen 64 scopeid 0x1 inet 192.168.0.254 netmask 0xffffff00 broadcast 192.168.0.255 ether 00:11:95:d5:43:62 media: IEEE 802.11 Wireless Ethernet autoselect (OFDM/48Mbps) status: associated ssid freebsdap channel 1 bssid 00:11:95:c3:0d:ac authmode WPA privacy ON deftxkey UNDEF TKIP 2:128-bit txpowmax 36 protmode CTS roaming MANUAL bintval 100 Хэрэв /etc/rc.conf файл нь ifconfig_ath0="DHCP" мөртэй тохируулагдсан бол dhclient тушаалыг гараар ажиллуулах шаардлагагүй, dhclient тушаал нь түлхүүрүүдийг wpa_supplicant гаргаж авсны дараа ажиллах болно. DHCP-ийн хэрэглээ боломжгүй тохиолдолд wpa_supplicant станцыг таниулж нэвтрүүлсний дараа та статик IP хаяг тохируулж болно: &prompt.root; ifconfig ath0 inet 192.168.0.100 netmask 255.255.255.0 &prompt.root; ifconfig ath0 ath0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500 inet6 fe80::211:95ff:fed5:4362%ath0 prefixlen 64 scopeid 0x1 inet 192.168.0.100 netmask 0xffffff00 broadcast 192.168.0.255 ether 00:11:95:d5:43:62 media: IEEE 802.11 Wireless Ethernet autoselect (OFDM/36Mbps) status: associated ssid freebsdap channel 1 bssid 00:11:95:c3:0d:ac authmode WPA privacy ON deftxkey UNDEF TKIP 2:128-bit txpowmax 36 protmode CTS roaming MANUAL bintval 100 DHCP сервер ашиглагдаагүй үед та анхдагч гарц болон нэрийн серверийг гараар бас тохируулах хэрэгтэй болно: &prompt.root; route add default your_default_router &prompt.root; echo "nameserver your_DNS_server" >> /etc/resolv.conf EAP-TLS-тэй WPA WPA-г ашиглах хоёр дахь арга нь 802.1X арын нэвтрэлт танилтын сервертэй цуг ашиглах явдал бөгөөд энэ тохиолдолд WPA-г урьдчилан хуваалцсан түлхүүр бүхий аюулгүй байдлын хувьд арай дутуу WPA-Personal-с ялгахын тулд WPA-Enterprise гэдэг. WPA-Enterprise дахь нэвтрэлт танилт нь EAP (Extensible Authentication Protocol буюу өргөтгөсөн нэвтрэлт танилтын протокол) дээр суурилдаг. EAP нь шифрлэлтийн аргагүй ирдэг бөгөөд харин шифрлэгдсэн туннелийн дотор EAP-ийг суулгахаар шийдсэн байдаг. EAP нэвтрэлт танилтын аргуудын олон төрлүүд бүтээгдсэн бөгөөд хамгийн түгээмэл аргууд нь EAP-TLS, EAP-TTLS болон EAP-PEAP юм. EAP-TLS (EAP with Transport Layer Security) нь Wi-Fi alliance-аас хамгийн түрүүнд батламжлагдсан EAP арга бөгөөд утасгүй ертөнц дэх маш сайн дэмжигдсэн нэвтрэлт танилтын протокол юм. EAP-TLS нь ажиллахын тулд гурван сертификат шаарддаг: эдгээр нь CA сертификат (бүх машин дээр суулгагдсан), таны нэвтрэлт танилтын серверт зориулсан сертификат, утасгүй клиент бүрд зориулсан клиентийн сертификат юм. Энэ EAP арга дээр нэвтрэлт танилтын сервер болон утасгүй клиент нь өөр өөрсдийн сертификатыг бие биендээ үзүүлж нэг нэгнийгээ танин нэвтрүүлдэг бөгөөд тэд эдгээр сертификатыг танай байгууллагын сертификатын удирдлага (CA) олгож баталгаажуулсан болохыг шалгадаг. Урьдын адил тохиргоог /etc/wpa_supplicant.conf файлаар хийнэ: network={ ssid="freebsdap" proto=RSN key_mgmt=WPA-EAP eap=TLS identity="loader" ca_cert="/etc/certs/cacert.pem" client_cert="/etc/certs/clientcert.pem" private_key="/etc/certs/clientkey.pem" private_key_passwd="freebsdmallclient" } Энэ талбар нь сүлжээний нэрийг заана (SSID). Энд бид RSN (IEEE 802.11i) протоколыг ашиглана, өөрөөр хэлбэл, WPA2. key_mgmt мөр нь бидний ашиглах түлхүүр удирдах протоколыг заана. Бидний тохиолдолд энэ нь EAP нэвтрэлт танилтыг ашиглаж байгаа WPA юм: WPA-EAP. Энэ талбарт бид өөрсдийн холболтдоо зориулж EAP аргыг заана. identity талбар нь EAP-ийг таниулах мөрийг агуулна. ca_cert талбар нь CA сертификат файлын замыг заана. Энэ файл нь серверийн сертификатыг шалгахад хэрэгтэй. client_cert шугам клиентийн сертификатын файлын замыг өгнө. Энэ сертификат нь сүлжээний утасгүй клиент бүрийн хувьд давтагдашгүй байна. private_key талбар нь клиентийн сертификатын хувийн түлхүүрийн файлын замын нэр юм. private_key_passwd талбар нь хувийн түлхүүрийн нэвтрэх үгийг агуулдаг. Тэгээд дараах мөрийг /etc/rc.conf файлд нэмнэ: ifconfig_ath0="WPA DHCP" Дараагийн алхам нь rc.d боломжийн тусламжтай интерфэйсийг босгож ажиллуулах явдал юм: &prompt.root; /etc/rc.d/netif start Starting wpa_supplicant. DHCPREQUEST on ath0 to 255.255.255.255 port 67 DHCPREQUEST on ath0 to 255.255.255.255 port 67 DHCPACK from 192.168.0.20 bound to 192.168.0.254 -- renewal in 300 seconds. ath0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500 inet6 fe80::211:95ff:fed5:4362%ath0 prefixlen 64 scopeid 0x1 inet 192.168.0.254 netmask 0xffffff00 broadcast 192.168.0.255 ether 00:11:95:d5:43:62 media: IEEE 802.11 Wireless Ethernet autoselect (DS/11Mbps) status: associated ssid freebsdap channel 1 bssid 00:11:95:c3:0d:ac authmode WPA2/802.11i privacy ON deftxkey UNDEF TKIP 2:128-bit txpowmax 36 protmode CTS roaming MANUAL bintval 100 Урьд нь үзүүлсний адил интерфэйсийг гараар wpa_supplicant болон ifconfig тушаалуудаар босгох боломжтой байдаг. EAP-TTLS-тэй WPA EAP-TLS-тэй байхад нэвтрэлт танилтын сервер болон клиентэд сертификат хэрэгтэй бол EAP-TTLS-тэй (EAP-Tunneled Transport Layer Security) байхад клиентийн сертификат нэмэлт сонголт байдаг. Энэ арга нь зорчигчид клиент талдаа сертификатгүй байсан ч гэсэн нууцлаг SSL туннель үүсгэж чаддаг зарим нэг аюулгүй вэб сайтуудын хийдэгтэй ойролцоо байдаг. EAP-TTLS нь нэвтрэлт танилтын өгөгдлийг аюулгүй тээвэрлэхэд зориулж шифрлэгдсэн TLS туннелийг ашиглах болно. Тохиргоог /etc/wpa_supplicant.conf файлаар хийнэ: network={ ssid="freebsdap" proto=RSN key_mgmt=WPA-EAP eap=TTLS identity="test" password="test" ca_cert="/etc/certs/cacert.pem" phase2="auth=MD5" } Энэ талбарт бид өөрийн холболтондоо зориулж EAP аргыг дурдана. identity талбар нь шифрлэгдсэн TLS туннель доторх EAP нэвтрэлт танилтад зориулсан таниулах мөрийг агуулна. password талбар нь EAP нэвтрэлт танилтад зориулсан нэвтрэх үгийг агуулна. ca_cert талбар нь CA сертификатын файлын замын нэрийг заана. Энэ файл нь серверийн сертификатыг шалгахад хэрэгтэй байдаг. Энэ талбарт бид шифрлэгдсэн TLS туннельд ашиглагдсан нэвтрэлт танилтын аргыг заана. Бидний тохиолдолд MD5-Challenge-тай цуг EAP ашиглагдаж байна. inner authentication дотоод нэвтрэлт танилт үе нь ихэвчлэн phase2 буюу хоёрдугаар үе гэгддэг. Дараах мөрийг та /etc/rc.conf файлд бас нэмэх хэрэгтэй: ifconfig_ath0="WPA DHCP" Дараагийн алхам бол интерфэйсийг босгож ажиллуулах явдал юм: &prompt.root; /etc/rc.d/netif start Starting wpa_supplicant. DHCPREQUEST on ath0 to 255.255.255.255 port 67 DHCPREQUEST on ath0 to 255.255.255.255 port 67 DHCPREQUEST on ath0 to 255.255.255.255 port 67 DHCPACK from 192.168.0.20 bound to 192.168.0.254 -- renewal in 300 seconds. ath0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500 inet6 fe80::211:95ff:fed5:4362%ath0 prefixlen 64 scopeid 0x1 inet 192.168.0.254 netmask 0xffffff00 broadcast 192.168.0.255 ether 00:11:95:d5:43:62 media: IEEE 802.11 Wireless Ethernet autoselect (DS/11Mbps) status: associated ssid freebsdap channel 1 bssid 00:11:95:c3:0d:ac authmode WPA2/802.11i privacy ON deftxkey UNDEF TKIP 2:128-bit txpowmax 36 protmode CTS roaming MANUAL bintval 100 EAP-PEAP-тэй WPA PEAP (Protected EAP) нь EAP-TTLS-ийн өөр нэг хувилбар хэлбэрээр байхаар хийгдсэн юм. Хоёр төрлийн PEAP арга байдаг бөгөөд хамгийн түгээмэл нь PEAPv0/EAP-MSCHAPv2 юм. Энэ баримтын үлдсэн хэсэгт PEAP ухагдахууныг тэр EAP аргыг хэлэхдээ хэрэглэх болно. PEAP нь EAP-TLS-ийн дараа ордог хамгийн их ашиглагддаг EAP стандарт юм, өөрөөр хэлбэл хэрэв та төрөл бүрийн OS-үүд холилдсон сүлжээтэй бол PEAP нь EAP-TLS-ийн дараа орох хамгийн ихээр дэмжигдсэн стандарт байх юм. PEAP нь EAP-TLS-тэй төстэй байдаг: энэ нь клиент болон нэвтрэлт танилтын серверийн хооронд нэвтрэлт танилтын мэдээллийн солилцоог хамгаалах шифрлэгдсэн туннель үүсгэн клиентүүдийг танин нэвтрүүлэхийн тулд сервер талын сертификатыг ашигладаг. Аюулгүй байдлын ухагдахуун дахь EAP-TTLS болон PEAP-ийн хоорондох ялгаа нь PEAP нэвтрэлт танилт хэрэглэгчийн нэрийг цэвэр текст хэлбэрээр, зөвхөн нууц үгийг шифрлэгдсэн TLS туннелээр цацдаг явдал юм. EAP-TTLS нь хэрэглэгчийн нэр болон нууц үгт зориулж TLS туннелийг ашиглах болно. Бид /etc/wpa_supplicant.conf файлыг засварлаж EAP-PEAP-тэй холбоотой тохируулгуудыг нэмэх хэрэгтэй болно: network={ ssid="freebsdap" proto=RSN key_mgmt=WPA-EAP eap=PEAP identity="test" password="test" ca_cert="/etc/certs/cacert.pem" phase1="peaplabel=0" phase2="auth=MSCHAPV2" } Энэ талбарт бид өөрийн холболтондоо зориулж EAP аргыг ашиглахаа дурдана. identity талбар нь шифрлэгдсэн TLS туннель доторх EAP нэвтрэлт танилтад зориулсан таниулах мөрийг агуулна. password талбар нь EAP нэвтрэлт танилтад зориулсан нэвтрэх үгийг агуулна. ca_cert талбар нь CA сертификатын файлын замын нэрийг заана. Энэ файл нь серверийн сертификатыг шалгахад хэрэгтэй байдаг. Энэ талбар нь нэвтрэлт танилтын (TLS туннель) эхний үед зориулсан параметрүүдийг агуулна. Ашигласан нэвтрэлт танилтын серверээс хамаараад нэвтрэлт танилтад зориулж тусгай хаяг/шошгыг зааж өгөх хэрэгтэй болно. Ихэнх тохиолдолд хаяг/шошго нь клиентийн EAP шифрлэлт байх бөгөөд үүнийг peaplabel=0 гэж тохируулна. Илүү мэдээллийг &man.wpa.supplicant.conf.5; гарын авлагын хуудаснаас олж болно. Энэ талбарт бид шифрлэгдсэн TLS туннельд ашиглагдсан нэвтрэлт танилтын аргыг заана. PEAP-ийн хувьд энэ нь auth=MSCHAPV2 байна. Доор дурдсаныг /etc/rc.conf файлд нэмэх ёстой: ifconfig_ath0="WPA DHCP" Дараа нь бид интерфэйсийг босгож ажиллуулж болно: &prompt.root; /etc/rc.d/netif start Starting wpa_supplicant. DHCPREQUEST on ath0 to 255.255.255.255 port 67 DHCPREQUEST on ath0 to 255.255.255.255 port 67 DHCPREQUEST on ath0 to 255.255.255.255 port 67 DHCPACK from 192.168.0.20 bound to 192.168.0.254 -- renewal in 300 seconds. ath0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500 inet6 fe80::211:95ff:fed5:4362%ath0 prefixlen 64 scopeid 0x1 inet 192.168.0.254 netmask 0xffffff00 broadcast 192.168.0.255 ether 00:11:95:d5:43:62 media: IEEE 802.11 Wireless Ethernet autoselect (DS/11Mbps) status: associated ssid freebsdap channel 1 bssid 00:11:95:c3:0d:ac authmode WPA2/802.11i privacy ON deftxkey UNDEF TKIP 2:128-bit txpowmax 36 protmode CTS roaming MANUAL bintval 100 WEP WEP (Wired Equivalent Privacy) нь анхдагч 802.11 стандартын хэсэг юм. Үүнд ямар ч нэвтрэлт танилтын арга байхгүй, энэ нь хандалт хяналтын зөвхөн сул хэлбэр бөгөөд хялбар эвдэх боломжтой байдаг. WEP-ийг ifconfig тушаалаар тохируулж болно: &prompt.root; ifconfig ath0 inet 192.168.1.100 netmask 255.255.255.0 ssid my_net \ wepmode on weptxkey 3 wepkey 3:0x3456789012 weptxkey нь дамжуулалтад ямар WEP түлхүүр ашиглахыг хэлж байна. Энд бид гурав дахь түлхүүрийг ашиглаж байна. Энэ нь хандалтын цэг дэх тохиргоотой таарах ёстой. wepkey нь сонгогдсон WEP түлхүүрийг тохируулахыг хэлнэ. Энэ нь index:key хэлбэрийн байх ёстой бөгөөд индекс өгөгдөөгүй бол түлхүүр 1 тохируулагдана. Энэ нь хэрэв бид эхний түлхүүрээс өөр түлхүүрүүдийг ашиглах бол индексийг тохируулах хэрэгтэй гэсэн үг юм. Та 0x3456789012-г хандалтын цэг дээр ашиглахаар тохируулсан түлхүүрээр солих ёстой. Цаашхи мэдээллийг &man.ifconfig.8; гарын авлагын хуудаснаас унших нь зүйтэй юм. wpa_supplicant хэрэгслийг өөрийн утасгүй интерфэйсийг WEP-тэй тохируулахын тулд бас ашиглаж болно. Дараах мөрийг /etc/wpa_supplicant.conf файлд нэмж дээрх жишээг тохируулж болно: network={ ssid="my_net" key_mgmt=NONE wep_key3=3456789012 wep_tx_keyidx=3 } Дараа нь: &prompt.root; wpa_supplicant -i ath0 -c /etc/wpa_supplicant.conf Trying to associate with 00:13:46:49:41:76 (SSID='dlinkap' freq=2437 MHz) Associated with 00:13:46:49:41:76 Ad-hoc горим IBSS горим буюу бас ad-hoc гэгддэг горим нь цэгээс цэгт холбогдох холболтуудад зориулагдан хийгдсэн. Жишээ нь A машин болон B машины хооронд ad-hoc сүлжээ үүсгэхийн тулд бид ердөө л хоёр IP хаяг болон SSID сонгох хэрэгтэй болно. A машин дээр: &prompt.root; ifconfig ath0 inet 192.168.0.1 netmask 255.255.255.0 ssid freebsdap mediaopt adhoc &prompt.root; ifconfig ath0 ath0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500 inet 192.168.0.1 netmask 0xffffff00 broadcast 192.168.0.255 inet6 fe80::211:95ff:fec3:dac%ath0 prefixlen 64 scopeid 0x4 ether 00:11:95:c3:0d:ac media: IEEE 802.11 Wireless Ethernet autoselect <adhoc> (autoselect <adhoc>) status: associated ssid freebsdap channel 2 bssid 02:11:95:c3:0d:ac authmode OPEN privacy OFF txpowmax 36 protmode CTS bintval 100 adhoc параметр нь интерфэйс IBSS горимд ажиллаж байгааг харуулж байна. B машин дээр бид A машиныг илрүүлж чадах ёстой: &prompt.root; ifconfig ath0 up scan SSID BSSID CHAN RATE S:N INT CAPS freebsdap 02:11:95:c3:0d:ac 2 54M 19:0 100 IS Гаралт дээрх I нь A машин ad-hoc горимд байгааг батална. Бид одоо B-г өөр IP хаягтайгаар тохируулах хэрэгтэй: &prompt.root; ifconfig ath0 inet 192.168.0.2 netmask 255.255.255.0 ssid freebsdap mediaopt adhoc &prompt.root; ifconfig ath0 ath0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500 inet6 fe80::211:95ff:fed5:4362%ath0 prefixlen 64 scopeid 0x1 inet 192.168.0.2 netmask 0xffffff00 broadcast 192.168.0.255 ether 00:11:95:d5:43:62 media: IEEE 802.11 Wireless Ethernet autoselect <adhoc> (autoselect <adhoc>) status: associated ssid freebsdap channel 2 bssid 02:11:95:c3:0d:ac authmode OPEN privacy OFF txpowmax 36 protmode CTS bintval 100 A болон B нь одоо мэдээлэл солилцоход бэлэн боллоо. Алдааг олж засварлах Хэрэв та утасгүй сүлжээндээ асуудалтай байгаа бол асуудлыг олж засварлахад туслах хэд хэдэн алхмууд байдаг. Хайлт хийж байхдаа та хандалтын цэгийг олж харахгүй байгаа бол та өөрийн утасгүй төхөөрөмжөө тодорхой хэдэн сувгууд дээр хязгаарлаж тохируулаагүй эсэхээ шалгаарай. Хэрэв та хандалтын цэгт холбогдож чадахгүй байгаа бол таны станцын тохиргоо хандалтын цэгийн аль нэгтэй тохирч байгаа эсэхийг шалгаарай. Үүнд нэвтрэлт танилтын схем болон аюулгүй байдлын протоколууд хамаарна. Өөрийн тохиргоогоо аль болох хялбаршуулах хэрэгтэй. Хэрэв та WPA эсвэл WEP зэрэг аюулгүй байдлын протоколыг ашиглаж байгаа бол хандалтын цэгийг нээлттэй нэвтрэлт танилтад зориулж ямар нэгэн аюулгүй байдлын хамгаалалтгүй тохируулж урсгал дамжиж байгаа эсэхийг үзэх хэрэгтэй. Хандалтын цэгт холбогдсоныхоо дараа &man.ping.8; зэрэг хялбар хэрэгслүүдийг ашиглаад ямар ч аюулгүй байдлын тохиргоог оношилж болно. wpa_supplicant нь илүү дибаг хийх дэмжлэгтэй байдаг; үүнийг сонголттой гараар ажиллуулж системийн бүртгэлүүдийг шалгах хэрэгтэй. Мөн олон доод түвшний дибаг хийх хэрэгслүүд бас байдаг. Та 802.11 протоколын дэмжлэг давхаргад дибаг мэдэгдлүүдийг /usr/src/tools/tools/net80211 дахь wlandebug програмыг ашиглан идэвхжүүлж болно. Жишээ нь: &prompt.root; wlandebug -i ath0 +scan+auth+debug+assoc net.wlan.0.debug: 0 => 0xc80000<assoc,auth,scan> тушаал нь хандалтын цэгүүдийг хайх болон холбоог зохион байгуулах 802.11 протоколын мэдээлэл солилцоонуудыг хийхтэй холбоотой консолын мэдэгдлүүдийг идэвхжүүлэхэд ашиглагдаж болох юм. 802.11 давхаргын арчилж байдаг олон ашигтай статистикууд бас байдаг; эдгээр мэдээллүүдийг wlanstats хэрэгсэл харуулах болно. Эдгээр статистикууд нь 802.11 давхаргаар танигдсан бүх алдаануудыг таних ёстой. Гэхдээ 802.11 давхаргаас доош орших төхөөрөмжийн драйверууд дээр танигдсан зарим алдаанууд нь харуулагдахгүй байж болохыг санаарай. Төхөөрөмжтэй холбоотой асуудлуудыг оношлохын тулд та драйверийн баримтаас лавлах хэрэгтэй юм. Хэрэв дээрх мэдээлэл асуудлыг тодруулахад тань туслахгүй байгаа бол дээрх хэрэгслүүдээс гарсан гаралтыг оруулж асуудлынхаа тайланг илгээгээрэй. Пав Лукистник Бичсэн
pav@FreeBSD.org
Bluetooth Bluetooth Танилцуулга Bluetooth нь 10 метрийн дотор 2.4 GHz давтамжийн лицензжүүлээгүй зурваст ажиллах хувийн сүлжээнүүд үүсгэхэд зориулагдсан утасгүй технологи юм. Сүлжээнүүд нь үүрэн утас, гарын цахим жижиг хэрэгслүүд, болон зөөврийн компьютерууд зэрэг зөөврийн төхөөрөмжүүдээс ad-hoc ихэвчлэн бүрдүүлдэг. Бусад түгээмэл утасгүй технологиудаас ялгаатай тал нь Wi-Fi, Bluetooth нь илүү өндөр түвшний үйлчилгээний хувийн тохиргоонуудыг санал болгодог, өөрөөр хэлбэл FTP-тэй адил файлын серверүүд, файл түлхэх, дуу дамжуулалт, цуваа шугамын эмуляц зэрэг олныг дурдаж болно. &os; дэх Bluetooth стек нь Netgraph тогтолцоог ашиглан хийгдсэн байдаг (&man.netgraph.4;-г үзнэ үү). Олон төрлийн Bluetooth USB хамгаалах төхөөрөмжүүд (dongle) &man.ng.ubt.4; драйвераар дэмжигдсэн байдаг. Broadcom BCM2033 бичил схем дээр суурилсан Bluetooth төхөөрөмжүүд нь &man.ubtbcmfw.4; болон &man.ng.ubt.4; драйверуудаар дэмжигдсэн байдаг. 3Com Bluetooth PC Карт 3CRWB60-A нь &man.ng.bt3c.4; драйвераар дэмжигдсэн байдаг. Цуваа болон UART дээр суурилсан Bluetooth төхөөрөмжүүд нь &man.sio.4;, &man.ng.h4.4; болон &man.hcseriald.8; драйверуудаар дэмжигдсэн. Энэ хэсэг нь USB Bluetooth dongle-ийн хэрэглээг тайлбарлах болно. Төхөөрөмжид залгах нь Анхдагчаар Bluetooth төхөөрөмжийн драйверууд нь цөмийн модуль хэлбэрээр байдаг. Төхөөрөмжийг залгахаасаа өмнө та драйверийг цөмд дуудаж ачаалах хэрэгтэй болно: &prompt.root; kldload ng_ubt Хэрэв Bluetooth төхөөрөмж системийг эхлүүлэх явцад системд байх юм бол /boot/loader.conf файлаас модулийг дуудна: ng_ubt_load="YES" Өөрийн USB dongle-ийг залга. Консол (эсвэл syslog) дээр доор дурдсантай төстэй гаралт гарч ирэх болно: ubt0: vendor 0x0a12 product 0x0001, rev 1.10/5.25, addr 2 ubt0: Interface 0 endpoints: interrupt=0x81, bulk-in=0x82, bulk-out=0x2 ubt0: Interface 1 (alt.config 5) endpoints: isoc-in=0x83, isoc-out=0x3, wMaxPacketSize=49, nframes=6, buffer size=294 Bluetooth стек нь &os; 6.0 болон 5.5-аас өмнөх &os; 5.X хувилбарууд дээр гараар эхлүүлэгдэх ёстой. Энэ нь &os; 5.5, 6.1 болон түүнээс шинэ хувилбарууд дээр &man.devd.8;-ээс автоматаар хийгддэг. /usr/share/examples/netgraph/bluetooth/rc.bluetooth/etc/rc.bluetooth гэх мэт ямар нэг тохиромжтой газар хуулах хэрэгтэй. Энэ скрипт ньь Bluetooth стекийг эхлүүлэх болон зогсооход хэрэглэгддэг. Төхөөрөмжийг салгахаасаа өмнө стекийг зогсоох нь зөв байдаг, гэхдээ энэ нь (ихэвчлэн) сүйрлийн биш байдаг. Стекийг эхлүүлж байхад доор дурдсантай төстэй гаралтыг та хүлээн авах болно: &prompt.root; /etc/rc.bluetooth start ubt0 BD_ADDR: 00:02:72:00:d4:1a Features: 0xff 0xff 0xf 00 00 00 00 00 <3-Slot> <5-Slot> <Encryption> <Slot offset> <Timing accuracy> <Switch> <Hold mode> <Sniff mode> <Park mode> <RSSI> <Channel quality> <SCO link> <HV2 packets> <HV3 packets> <u-law log> <A-law log> <CVSD> <Paging scheme> <Power control> <Transparent SCO data> Max. ACL packet size: 192 bytes Number of ACL packets: 8 Max. SCO packet size: 64 bytes Number of SCO packets: 8 HCI Host Controller Interface (HCI) буюу Хостын Хянагчийн Интерфэйс Host Controller Interface (HCI) буюу Хостын Хянагчийн Интерфэйс нь үндсэн зурвасын хянагч болон холболтын менежерт тушаалын интерфэйсийг, тоног төхөөрөмжийн төлөв болон хяналтын регистрүүдэд хандалтыг өгдөг байна. Энэ интерфэйс нь Bluetooth-ийн үндсэн зурвасын боломжуудад хандах нэгэн хэвийн аргыг олгодог. Хост дээрх HCI давхарга нь өгөгдөл болон тушаалуудыг Bluetooth тоног төхөөрөмж дээрх HCI firmware-тэй солилцдог. Хостын Хянагчийн Тээврийн Давхаргын (өөрөөр хэлбэл физик шугам) драйвер нь HCI давхаргуудад нэг нь нөгөөдөө мэдээлэл солилцох боломжоор хангаж өгдөг. hci төрлийн ганц Netgraph цэг ганц Bluetooth төхөөрөмжийн хувьд үүсдэг. HCI цэг нь Bluetooth төхөөрөмжийн драйверийн цэгт (доош) болон L2CAP цэгт (дээш) ихэвчлэн холбогддог. Бүх HCI үйлдлүүд нь төхөөрөмжийн драйверийн цэг дээр биш HCI цэг дээр хийгдэх ёстой. HCI цэгийн анхдагч нэр нь devicehci юм. Илүү дэлгэрэнгүй мэдээллийг &man.ng.hci.4; гарын авлагын хуудаснаас лавлана уу. Хамгийн нийтлэг ажлуудын нэг нь RF-ийн ойр Bluetooth төхөөрөмжүүдийг олох явдал юм. Энэ үйлдлийг inquiry буюу лавлагаа гэдэг. Лавлагаа болон бусад HCI-тэй холбоотой үйлдлүүд нь &man.hccontrol.8; хэрэгслээр хийгддэг. Доорх жишээ нь ойр орчим ямар Bluetooth төхөөрөмжүүд байгааг хэрхэн олохыг харуулж байна. Та төхөөрөмжүүдийн жагсаалтыг хэдхэн секундэд авах ёстой. Алсын төхөөрөмж нь илрүүлэгдэх горимд байгаа тохиолдолд лавлагаанд зөвхөн хариулах болно гэдгийг санаарай. &prompt.user; hccontrol -n ubt0hci inquiry Inquiry result, num_responses=1 Inquiry result #0 BD_ADDR: 00:80:37:29:19:a4 Page Scan Rep. Mode: 0x1 Page Scan Period Mode: 00 Page Scan Mode: 00 Class: 52:02:04 Clock offset: 0x78ef Inquiry complete. Status: No error [00] BD_ADDR нь Bluetooth төхөөрөмжийн сүлжээний картанд байдаг MAC хаягууд шиг давтагдашгүй хаяг юм. Энэ хаяг нь төхөөрөмжтэй холбогдоход цаашид хэрэг болдог. BD_ADDR-т хүн уншиж болохоор нэр өгөх боломжтой байдаг. /etc/bluetooth/hosts файл нь мэдэгдэж байгаа Bluetooth хостуудын тухай мэдээллийг агуулдаг. Дараах жишээ нь алсын төхөөрөмжид өгсөн хүн уншиж болохоор нэрийг хэрхэн авч болохыг үзүүлж байна: &prompt.user; hccontrol -n ubt0hci remote_name_request 00:80:37:29:19:a4 BD_ADDR: 00:80:37:29:19:a4 Name: Pav's T39 Хэрэв та лавлагааг алсын Bluetooth төхөөрөмж дээр хийх юм бол энэ нь таны компьютерийг your.host.name (ubt0) хэлбэрээр олох болно. Локал төхөөрөмжид өгсөн нэрийг ямар ч үед өөрчилж болно. Bluetooth систем нь цэгээс-цэгт-хүрэх (point-to-point) эсвэл цэгээс-олон-цэгт-хүрэх (point-to-multipoint) холболтын боломжийг олгодог. Цэгээс-олон-цэгт-хүрэх (point-to-multipoint) холболтод холболт нь хэд хэдэн Bluetooth төхөөрөмжүүдийн хооронд хуваалцан хэрэглэгддэг. Дараах жишээ нь локал төхөөрөмжийн хувьд идэвхтэй үндсэн зурвасын холболтуудын жагсаалтыг хэрхэн авахыг үзүүлж байна: &prompt.user; hccontrol -n ubt0hci read_connection_list Remote BD_ADDR Handle Type Mode Role Encrypt Pending Queue State 00:80:37:29:19:a4 41 ACL 0 MAST NONE 0 0 OPEN connection handle буюу холболтын гар нь үндсэн зурвасын холболтыг дуусгах шаардлагатай үед ашигтай байдаг. Үүнийг гараар хийхийг ерөнхийдөө шаарддаггүйг санаарай. Стек нь идэвхгүй байгаа үндсэн зурвасын холболтуудыг автоматаар дуусгах болно. &prompt.root; hccontrol -n ubt0hci disconnect 41 Connection handle: 41 Reason: Connection terminated by local host [0x16] HCI тушаалуудын бүрэн жагсаалыг hccontrol help гэж лавлана уу. HCI тушаалуудын ихэнх нь супер хэрэглэгчийн зөвшөөрлүүдийг шаарддаггүй. L2CAP Logical Link Control and Adaptation Protocol (L2CAP) буюу Логик Холболтын Хяналт ба Тааруулах Протокол Логик Холболтын Хяналт ба Тааруулах Протокол (L2CAP) нь холболт дээр тулгуурласан болон холболтгүй (connection-oriented and connectionless) өгөгдлийн үйлчилгээнүүдийг протокол олон хуваагдах (multiplex) чадвар болон сегмент болгож дахин цуглуулах үйлдэлтэй цуг дээд түвшний протоколуудад хангаж өгдөг. L2CAP нь уртаараа 64 килобайт хүртэл хэмжээний L2CAP пакетуудыг дамжуулж хүлээн авахыг өндөр түвшний протоколууд болон програмуудад зөвшөөрдөг. L2CAP нь сувгууд гэсэн ойлголт дээр тулгуурладаг. Суваг нь үндсэн зурвасын холболт дээрх логик холболт юм. Суваг бүр ганц протоколд олноос нэг уруу чиглэсэн загвараар уягдсан байдаг. Олон сувгууд нэг протоколд уягдаж болдог боловч нэг сувгийг олон протоколд уяж болдоггүй. Суваг дээр хүлээн авсан L2CAP пакет бүр зохих дээд түвшний протокол уруу чиглүүлэгддэг. Олон сувгууд нь нэг үндсэн зурвасын холболтыг хуваалцаж болно. l2cap төрлийн ганц Netgraph цэг ганц Bluetooth төхөөрөмжийн хувьд үүсгэгддэг. L2CAP цэг нь Bluetooth HCI цэг (доош) болон Bluetooth сокетуудад (дээш) ихэвчлэн холбогддог. Илүү дэлгэрэнгүй мэдээллийг &man.ng.l2cap.4; гарын авлагын хуудаснаас лавлана уу. Ашигтай тушаал бол бусад хэрэгслүүд уруу ping хийхэд хэрэглэгддэг &man.l2ping.8; тушаал юм. Зарим нэг Bluetooth шийдлүүд нь тэдэн уруу илгээсэн бүх өгөгдлийг буцаахгүй байж болох учраас дараах жишээн дээрх 0 bytes гэдэг нь хэвийн юм. &prompt.root; l2ping -a 00:80:37:29:19:a4 0 bytes from 0:80:37:29:19:a4 seq_no=0 time=48.633 ms result=0 0 bytes from 0:80:37:29:19:a4 seq_no=1 time=37.551 ms result=0 0 bytes from 0:80:37:29:19:a4 seq_no=2 time=28.324 ms result=0 0 bytes from 0:80:37:29:19:a4 seq_no=3 time=46.150 ms result=0 &man.l2control.8; хэрэгсэл нь L2CAP цэгүүд дээр төрөл бүрийн үйлдлүүдийг хийдэг. Энэ жишээ нь логик холболтуудын (сувгууд) жагсаалт болон локал төхөөрөмжийн хувьд үндсэн зурвасын жагсаалтыг хэрхэн авахыг үзүүлж байна: &prompt.user; l2control -a 00:02:72:00:d4:1a read_channel_list L2CAP channels: Remote BD_ADDR SCID/ DCID PSM IMTU/ OMTU State 00:07:e0:00:0b:ca 66/ 64 3 132/ 672 OPEN &prompt.user; l2control -a 00:02:72:00:d4:1a read_connection_list L2CAP connections: Remote BD_ADDR Handle Flags Pending State 00:07:e0:00:0b:ca 41 O 0 OPEN Өөр нэг оношлогооны хэрэгсэл бол &man.btsockstat.1; юм. Энэ нь &man.netstat.1;-ийн хийдэгтэй төстэйг хийдэг, гэхдээ зөвхөн Bluetooth сүлжээтэй холбоотой өгөгдлийн бүтцүүдийн хувьд хийдэг. Доорх жишээ нь дээрх &man.l2control.8;-ийн нэгэн адил логик холболтыг харуулж байна. &prompt.user; btsockstat Active L2CAP sockets PCB Recv-Q Send-Q Local address/PSM Foreign address CID State c2afe900 0 0 00:02:72:00:d4:1a/3 00:07:e0:00:0b:ca 66 OPEN Active RFCOMM sessions L2PCB PCB Flag MTU Out-Q DLCs State c2afe900 c2b53380 1 127 0 Yes OPEN Active RFCOMM sockets PCB Recv-Q Send-Q Local address Foreign address Chan DLCI State c2e8bc80 0 250 00:02:72:00:d4:1a 00:07:e0:00:0b:ca 3 6 OPEN RFCOMM RFCOMM Протокол RFCOMM протокол нь L2CAP протоколын дээгүүр цуваа портуудыг эмуляц хийх боломжийг хангадаг. Энэ протокол нь ETSI стандарт TS 07.10 дээр суурилсан юм. RFCOMM нь RS-232 (EIATIA-232-E) цуваа портуудын 9 замыг эмуляц хийх нэмэлт бэлтгэл бүхий ердийн тээвэрлэх протокол юм. RFCOMM протокол нь хоёр Bluetooth төхөөрөмжийн хооронд 60 хүртэлх зэрэг холболтуудыг (RFCOMM сувгууд) дэмждэг. RFCOMM-ийн хувьд өөр өөр төхөөрөмжүүд (холбооны төгсгөлийн цэгүүд) дээр ажиллаж байгаа хоёр програм болон тэдгээрийн хоорондын холбооны сегмент холбооны бүрэн замд ордог. RFCOMM нь төхөөрөмжүүд дээр байгаа цуваа портуудыг ашигладаг програмуудад зориулагдсан юм. Холбооны сегмент нь нэг төхөөрөмжөөс нөгөө уруу холбогдсон (шууд холболт) Bluetooth холбоос юм. RFCOMM нь шууд холболтын үед төхөөрөмжүүдийн хоорондох холболт эсвэл сүлжээний хувьд төхөөрөмж болон модемийн хоорондох холболтод зөвхөн санаа тавьдаг. RFCOMM нь нэг талдаа Bluetooth утасгүй технологийг ашиглаж холбогддог бөгөөд нөгөө талдаа утастай интерфэйсээр хангадаг модулиуд зэрэг бусад тохиргоонуудыг дэмждэг. &os; дээр RFCOMM протокол нь Bluetooth сокетуудын давхаргад хийгддэг. хослох Төхөөрөмжүүдийг хослох Анхдагчаар Bluetooth холбоонд нэвтрэлт танилт хийгддэггүй бөгөөд ямар ч төхөөрөмж ямар ч төхөөрөмжтэй ярилцаж чаддаг. Bluetooth төхөөрөмж (жишээ нь үүрэн утас) тухайн нэг үйлчилгээг (жишээ нь Dial-Up үйлчилгээ) хангахын тулд нэвтрэлт танилтыг шаарддаг байхаар байж болно. Bluetooth нэвтрэлт танилт нь хэвийн үед PIN кодуудаар хийгддэг. Хоёр төхөөрөмжийн хувьд хэрэглэгч адил PIN кодыг оруулах шаардлагатай. Хэрэглэгч PIN код оруулсны дараа хоёр төхөөрөмж холболтын түлхүүр үүсгэнэ. Түүний дараа холболтын түлхүүр нь уг төхөөрөмжүүд дээрээ эсвэл байнгын хадгалалтад хадгалагдаж болно. Дараагийн удаа хоёр төхөөрөмж нь урьд нь үүсгэсэн холболтын түлхүүрээ ашиглах болно. Энэ тайлбарласан процедурыг pairing буюу хослох гэж нэрлэдэг. Ямар нэг төхөөрөмж холболтын түлхүүрийг гээх юм бол хослолтыг дахин хийх ёстой. &man.hcsecd.8; дэмон нь бүх Bluetooth нэвтрэлт танилтын хүсэлтүүдтэй ажиллах үүрэгтэй. Анхдагч тохиргооны файл нь /etc/bluetooth/hcsecd.conf юм. Дурын 1234 гэж тохируулагдсан PIN кодтой үүрэн утасны жишээ хэсгийг доор үзүүлэв: device { bdaddr 00:80:37:29:19:a4; name "Pav's T39"; key nokey; pin "1234"; } PIN код дээр хязгаарлалт байдаггүй (уртаас гадна). Зарим төхөөрөмжүүдэд (жишээ нь Bluetooth чихэвчнүүд) тогтмол PIN код цуг бүтээгдсэн байж болох юм. тохируулга нь &man.hcsecd.8; дэмонг нүүрэнд үлдэж ажиллахыг заадаг бөгөөд ингэснээр юу болж байгааг харах боломжтой юм. Хослолыг хүлээн авч алсын төхөөрөмж уруу Bluetooth холболт эхлүүлэхээр алсын төхөөрөмжийг тохируулна. Алсын төхөөрөмж нь хослол хийлтийг хүлээн авсан гэдгээ хэлж PIN код хүсэх ёстой. hcsecd.conf файлд байгаатай адил PIN код оруулаарай. Одоо таны PC болон алсын төхөөрөмж хосолсон байна. Өөрөөр та хослол хийлтийг алсын төхөөрөмж дээр эхлүүлж болно. &os; 5.5, 6.1 болон түүнээс шинэ хувилбаруудад hcsecd-г систем эхлэхэд автоматаар эхлүүлэхийн тулд дараах мөрийг /etc/rc.conf файлд нэмэн хийж болно: hcsecd_enable="YES" hcsecd дэмоны гаралтын жишээг доор үзүүлэв: hcsecd[16484]: Got Link_Key_Request event from 'ubt0hci', remote bdaddr 0:80:37:29:19:a4 hcsecd[16484]: Found matching entry, remote bdaddr 0:80:37:29:19:a4, name 'Pav's T39', link key doesn't exist hcsecd[16484]: Sending Link_Key_Negative_Reply to 'ubt0hci' for remote bdaddr 0:80:37:29:19:a4 hcsecd[16484]: Got PIN_Code_Request event from 'ubt0hci', remote bdaddr 0:80:37:29:19:a4 hcsecd[16484]: Found matching entry, remote bdaddr 0:80:37:29:19:a4, name 'Pav's T39', PIN code exists hcsecd[16484]: Sending PIN_Code_Reply to 'ubt0hci' for remote bdaddr 0:80:37:29:19:a4 SDP Service Discovery Protocol (SDP) буюу Үйлчилгээ Илрүүлэх Протокол Service Discovery Protocol (SDP) буюу Үйлчилгээ Илрүүлэх Протокол нь сервер програмуудын үзүүлдэг үйлчилгээнүүдийн байгаа эсэх болон тэдгээр үйлчилгээнүүдийн шинж чанаруудыг илрүүлэх боломжийг клиент програмуудад олгодог. Үйлчилгээний шинж чанарууд нь санал болгосон үйлчилгээний төрөл эсвэл ангилал болон үйлчилгээг хэрэглэхэд шаардагдах арга зам юм уу эсвэл протоколын мэдээллийг агуулдаг. SDP-д SDP сервер болон SDP клиентийн хоорондох холбоо ордог. Сервер нь сервертэй холбоотой үйлчилгээнүүдийн шинж чанаруудыг тайлбарладаг үйлчилгээний бичлэгүүдийн жагсаалтыг арчилж байдаг. Үйлчилгээний бичлэг бүр ганц үйлчилгээний талаар мэдээллийг агуулдаг. SDP серверийн арчилж байдаг үйлчилгээний бичлэгээс клиент SDP хүсэлт илгээн мэдээллийг авч болно. Хэрэв клиент эсвэл клиенттэй холбоотой програм нь үйлчилгээг ашиглахаар шийдвэл үйлчилгээг хэрэглэхийн тулд үйлчилгээ үзүүлэгч уруу тусдаа холболт нээх ёстой. SDP нь үйлчилгээнүүд болон тэдгээрийн шинж чанаруудыг илрүүлэх арга замаар хангадаг боловч тэдгээр үйлчилгээнүүдийг хэрэглэх арга замуудаар хангадаггүй юм. Хэвийн үед SDP клиент нь үйлчилгээнүүдийн зарим хүссэн онцгой шинжүүд дээр тулгуурлан үйлчилгээнүүдийг хайдаг. Гэхдээ үйлчилгээнүүдийн талаар урьд нь ямар ч мэдээлэл байхгүй байхад SDP серверийн үйлчилгээний бичлэгүүдээр тайлбарлагдсан үйлчилгээнүүдийн ямар төрлүүд байгааг олохыг хүсэх үеүүд байдаг. Санал болгосон дурын үйлчилгээнүүдийг хайх процесс нь browsing буюу үзэх гэгддэг. Bluetooth SDP сервер &man.sdpd.8; болон тушаалын мөрийн клиент &man.sdpcontrol.8; нь стандарт &os; суулгацад орсон байдаг. Дараах жишээ нь SDP үзэх хүсэлтийг хэрхэн хийж байгаа харуулж байна. &prompt.user; sdpcontrol -a 00:01:03:fc:6e:ec browse Record Handle: 00000000 Service Class ID List: Service Discovery Server (0x1000) Protocol Descriptor List: L2CAP (0x0100) Protocol specific parameter #1: u/int/uuid16 1 Protocol specific parameter #2: u/int/uuid16 1 Record Handle: 0x00000001 Service Class ID List: Browse Group Descriptor (0x1001) Record Handle: 0x00000002 Service Class ID List: LAN Access Using PPP (0x1102) Protocol Descriptor List: L2CAP (0x0100) RFCOMM (0x0003) Protocol specific parameter #1: u/int8/bool 1 Bluetooth Profile Descriptor List: LAN Access Using PPP (0x1102) ver. 1.0 ... гэх мэт байна. Үйлчилгээ болгон шинж чанаруудтай байгааг анхаараарай (жишээ нь RFCOMM суваг). Үйлчилгээнээс хамаараад та зарим нэг шинж чанаруудын талаар тэмдэглэгээ хийж авах хэрэгтэй болж болох юм. Зарим Bluetooth шийдлүүд нь үйлчилгээ үзэх боломжийг дэмждэггүй бөгөөд хоосон жагсаалт буцааж болох юм. Энэ тохиолдолд тодорхой үйлчилгээг хайх боломжтой байдаг. Доорх жишээ нь OBEX-ийн Обьект Түлхэх (OPUSH) үйлчилгээг хэрхэн хайхыг үзүүлж байна: &prompt.user; sdpcontrol -a 00:01:03:fc:6e:ec search OPUSH &os; дээр Bluetooth клиентүүдэд үйлчилгээнүүдийг санал болохдоо &man.sdpd.8; серверийн тусламжтайгаар хийдэг. &os; 5.5, 6.1 болон түүнээс дээш хувилбарууд дээр /etc/rc.conf файлд дараах мөрийг нэмж болно: sdpd_enable="YES" Дараа нь sdpd дэмонг ингэж эхлүүлж болно: &prompt.root; /etc/rc.d/sdpd start &os; 6.0, болон 5.5-аас өмнөх &os; 5.X хувилбар дээр sdpd нь системийг эхлүүлэх скриптүүдэд хийгдээгүй байдаг. Үүнийг гараар ажиллуулах ёстой: &prompt.root; sdpd Алсын клиентүүдэд Bluetooth үйлчилгээг үзүүлэхийг хүссэн локал серверийн програм нь үйлчилгээг SDP дэмонд бүртгэх болно. Ийм програмуудын нэг нь &man.rfcomm.pppd.8; юм. Эхэлснийхээ дараа энэ нь Bluetooth LAN үйлчилгээг локал SDP дэмонд бүртгэх болно. Локал SDP серверт бүртгэсэн үйлчилгээнүүдийн жагсаалтыг локал хяналтын сувгаар SDP-ийн үзэх хүсэлтийг илгээн авч болно: &prompt.root; sdpcontrol -l browse Dial-Up сүлжээ (DUN) ба PPP ашиглах Сүлжээний Хандалт (LAN) хувийн тохиргоонууд Dial-Up сүлжээ (DUN) хувийн тохиргоо нь модемууд болон үүрэн утаснуудтай ихэвчлэн ашиглагддаг. Энэ хувийн тохиргоонд хамаарах тохиолдлуудыг доор дурдав: үүрэн утас эсвэл модемийг компьютер дээрээ Интернэтийн хандалтын сервер уруу залгаж холбогдох юм уу эсвэл бусад dial-up үйлчилгээнүүдэд хэрэглэхээр утасгүй модем маягаар ашиглах; үүрэн утас эсвэл модемийг компьютер дээрээ өгөгдлийн дуудлагуудыг хүлээн авахад ашиглах. PPP ашиглах Сүлжээний Хандалт (LAN) хувийн тохиргоо дараах тохиолдлуудад ашиглагдаж болно: Ганц Bluetooth төхөөрөмжид зориулсан LAN хандалт; Олон Bluetooth төхөөрөмжид зориулсан LAN хандалт; PC-ээс PC уруу (цуваа кабелийн эмуляцаар PPP сүлжээ ашиглан). &os; дээр энэ хоёр хувийн тохиргоо нь &man.ppp.8; болон &man.rfcomm.pppd.8; програмуудаар хийгддэг. &man.rfcomm.pppd.8; нь RFCOMM Bluetooth холболтыг PPP-ийн ажиллаж чадах ямар нэгэн зүйл болгож хувиргадаг гүйцэтгэл хялбаршуулагч юм. Аль ч хувийн тохиргоог ашиглахаасаа өмнө /etc/ppp/ppp.conf файлд шинэ PPP хаяг үүсгэгдсэн байх ёстой. Жишээнүүдийн талаар &man.rfcomm.pppd.8; гарын авлагаас лавлана уу. Дараах жишээн дээр &man.rfcomm.pppd.8; нь DUN RFCOMM суваг дээр BD_ADDR 00:80:37:29:19:a4 хаягтай алсын төхөөрөмж уруу RFCOMM холболт хийхэд ашиглагдах болно. RFCOMM сувгийн дугаарыг алсын төхөөрөмжөөс SDP-ээр авах болно. RFCOMM сувгийг гараар зааж өгөх боломжтой бөгөөд энэ тохиолдолд &man.rfcomm.pppd.8; нь SDP хүсэлт хийхгүй байх болно. Алсын төхөөрөмж дээр RFCOMM сувгийг олохын тулд &man.sdpcontrol.8;-г ашиглаарай. &prompt.root; rfcomm_pppd -a 00:80:37:29:19:a4 -c -C dun -l rfcomm-dialup PPP ашиглах Сүлжээний Хандалтын (LAN) үйлчилгээг хангахын тулд &man.sdpd.8; сервер ажиллаж байх ёстой. LAN клиентүүдэд зориулсан шинэ оруулгууд /etc/ppp/ppp.conf файлд үүсгэгдсэн байх ёстой. Жишээнүүдийн талаар &man.rfcomm.pppd.8; гарын авлагын хуудаснаас лавлана уу. Төгсгөлд нь RFCOMM PPP серверийг зөв RFCOMM сувгийн дугаар дээр эхлүүлнэ. RFCOMM PPP сервер нь Bluetooth LAN үйлчилгээг локал SDP дэмонд автоматаар бүртгэх болно. Доорх жишээ нь RFCOMM PPP серверийг хэрхэн эхлүүлэхийг үзүүлж байна. &prompt.root; rfcomm_pppd -s -C 7 -l rfcomm-server OBEX OBEX Object Push (OPUSH) буюу OBEX Обьект Түлхэх хувийн тохиргоо OBEX нь хөдөлгөөнт төхөөрөмжүүдийн хооронд энгийн файл дамжуулалт хийхэд зориулагдсан өргөн ашиглагддаг протокол юм. Үүний гол хэрэглээ нь хэт ягаан туяаны холбоо бөгөөд зөөврийн компьютерууд эсвэл PDA-уудын хооронд ердийн файл дамжуулахад, нэрийн хуудас эсвэл цагалбарыг үүрэн утас болон PIM програмуудтай бусад төхөөрөмжүүдийн хооронд илгээхэд хэрэглэгддэг. OBEX сервер болон клиент нь гуравдагч талын багц obexapp хэлбэрээр хийгдсэн байдаг бөгөөд энэ нь comms/obexapp порт хэлбэрээр байдаг. OBEX клиент нь OBEX серверт обьектуудыг түлхэж оруулах буюу/эсвэл татахад хэрэглэгддэг. Обьект нь жишээ нь нэрийн хуудас юм уу эсвэл уулзалт байж болно. OBEX клиент нь алсын төхөөрөмжөөс SDP-ээр RFCOMM сувгийн дугаарыг авч болно. RFCOMM сувгийн дугаарын оронд үйлчилгээний нэрийг зааж үүнийг хийж болно. Дэмжигдсэн үйлчилгээний нэрсэд: IrMC, FTRN, болон OPUSH ордог. RFCOMM сувгийг дугаар болгон зааж өгөх боломжтой байдаг. Төхөөрөмжийн мэдээллийн обьектийг үүрэн утаснаас татаж авч байгаа болон шинэ обьектийг (нэрийн хуудас) утасны сан уруу хийж байгаа OBEX сессийн жишээг доор үзүүлэв. &prompt.user; obexapp -a 00:80:37:29:19:a4 -C IrMC obex> get telecom/devinfo.txt devinfo-t39.txt Success, response: OK, Success (0x20) obex> put new.vcf Success, response: OK, Success (0x20) obex> di Success, response: OK, Success (0x20) OBEX-ийн Обьект Түлхэх үйлчилгээг хангахын тулд &man.sdpd.8; сервер ажиллаж байх ёстой. Бүх ирж байгаа обьектууд хадгалагдах root хавтас үүсгэгдэх ёстой. root сангийн анхдагч зам нь /var/spool/obex байна. Төгсгөлд нь OBEX серверийг зөв RFCOMM сувгийн дугаар дээр эхлүүлнэ. OBEX сервер нь OBEX-ийн Обьект Түлхэх үйлчилгээг локал SDP дэмонд автоматаар бүртгүүлэх болно. Доорх жишээ нь OBEX серверийг хэрхэн эхлүүлэхийг харуулж байна. &prompt.root; obexapp -s -C 10 Serial Port Profile (SPP) буюу Цуваа портын хувийн тохиргоо Serial Port Profile (SPP) буюу Цуваа портын хувийн тохиргоо нь Bluetooth төхөөрөмжүүдэд RS232 (эсвэл түүнтэй төстэй) цуваа кабелийн эмуляц хийхийг зөвшөөрдөг. Энэ хувийн тохиргоонд хамаатай тохиолдол нь кабелийн оронд виртуал цуваа портын хийсвэрлэлтийн тусламжтай Bluetooth-ийг ашигладаг хуучин програмуудтай харьцдаг. &man.rfcomm.sppd.1; хэрэгсэл нь цуваа портын хувийн тохиргоог хийдэг. Псевдо tty нь виртуал цуваа портын хийсвэрлэлт болон ашиглагддаг. Доорх жишээ нь алсын төхөөрөмжийн цуваа портын үйлчилгээ уруу хэрхэн холбогдохыг харуулж байна. Та RFCOMM сувгийг заах шаардлагагүйг санаарай - &man.rfcomm.sppd.1; нь алсын төхөөрөмжөөс SDP-ээр авч чаддаг. Хэрэв та үүнийг дарж өөрчлөхийг хүсвэл тушаалын мөрөнд RFCOMM сувгийг зааж өгөх хэрэгтэй. &prompt.root; rfcomm_sppd -a 00:07:E0:00:0B:CA -t /dev/ttyp6 rfcomm_sppd[94692]: Starting on /dev/ttyp6... Холбогдсоны дараа псевдо tty нь цуваа порт шиг ашиглагдаж болно: &prompt.root; cu -l ttyp6 Алдааг олж засварлах Алсын төхөөрөмж холбогдож чадахгүй байх Зарим нэг хуучин Bluetooth төхөөрөмжүүд нь үүрэг шилжүүлэлтийг дэмждэггүй. Анхдагчаар &os; нь шинэ холболтыг хүлээн авахдаа үүргийг өөрчилж мастер болохыг оролддог. Үүнийг дэмждэггүй төхөөрөмжүүд нь холбогдож чаддаггүй. Шинэ холболт хийгдэхэд үүрэг шилжүүлэлт хийгддэгийг санаарай. Тийм учраас алсын төхөөрөмжөөс үүрэг шилжүүлэлтийг дэмждэг эсэхийг нь асуух боломжгүй юм. Локал тал дээрээ үүрэг шилжүүлэлтийг хаах HCI тохируулга байдаг: &prompt.root; hccontrol -n ubt0hci write_node_role_switch 0 Ямар нэгэн юм буруу болоод байна, би яг юу болоод байгааг харж болох уу? Тиймээ, та харж болно. comms/hcidump порт хэлбэрээр байдаг гуравдагч талын багц hcidump-г ашиглана. hcidump хэрэгсэл нь &man.tcpdump.1;-тай төстэй. Энэ нь Bluetooth пакетуудын агуулгыг терминал дээр харуулж Bluetooth пакетуудыг файл уруу гаргахад хэрэглэгдэж болно.
Эндрю Томпсон Бичсэн Гүүр Танилцуулга IP дэд сүлжээ гүүр Заримдаа нэг физик сүлжээг (Ethernet сегмент зэрэг) IP дэд сүлжээнүүд үүсгэж сегментүүдийг хооронд нь чиглүүлэгчээр цугт нь холбож ашиглалгүйгээр хоёр тусдаа сүлжээний сегмент болгох нь ашигтай байдаг. Ийм маягаар хоёр сүлжээг хооронд нь холбодог төхөөрөмжийг bridge буюу гүүр гэдэг. Хоёр сүлжээний интерфэйс карттай FreeBSD систем гүүр маягаар ажиллаж чаддаг. Гүүр нь өөрийн сүлжээний интерфэйс бүрийн төхөөрөмжийн MAC давхаргын хаягуудыг (Ethernet хаягууд) сурч ажилладаг. Түүний эх болон төгсгөл нь зөвхөн өөр өөр сүлжээнд байгаа тохиолдолд хоёр сүлжээний хооронд урсгалыг дамжуулдаг. Олон талаараа гүүр нь маш цөөн порттой Ethernet шилжүүлэгчтэй адил юм. Гүүр хийхэд тохирох тохиолдлууд Өнөөдөр гүүр ашиглагддаг олон нийтлэг тохиолдол байдаг. Сүлжээнүүдийг холбох нь Гүүрний үндсэн үйлдэл нь хоёр буюу түүнээс олон сүлжээний сегментүүдийг хооронд нь холбох явдал юм. Кабелийн хязгаарлалт, галт хана хийх эсвэл виртуал машины интерфэйс зэрэг псевдо сүлжээнүүдийг холбох зэрэг сүлжээний энгийн төхөөрөмжийн оронд хост дээр тулгуурласан гүүрийг ашиглах шалтгаан олон байдаг. Гүүр нь бас hostap горимд ажиллаж байгаа утасгүй сүлжээний интерфэйсийг утастай сүлжээ рүү холбож хандалтын цэг маягаар ажиллах чадвартай. Шүүх/урсгал хэлбэржүүлэх галт хана галт хана NAT Нийтлэг тохиолдол бол чиглүүлэлт юм уу эсвэл сүлжээний хаягийн хөрвүүлэлтгүй (NAT) галт ханын ажиллагаа шаардлагатай тохиолдол юм. Үүний жишээ нь DSL юм уу эсвэл ISDN-ээр ISP уруугаа холбогдсон жижиг компани юм. Тэд 13 ширхэг гаднаас хандах боломжтой IP хаягийг өөрсдийн ISP-ээс авдаг бөгөөд сүлжээндээ 10 PC-тэй. Энэ тохиолдолд чиглүүлэгч дээр тулгуурласан галт хана нь дэд сүлжээний асуудлуудаас болоод төвөгтэй байна. чиглүүлэгч DSL ISDN Гүүр дээр тулгуурласан галт ханыг тохируулж тэдний DSL/ISDN чиглүүлэгчийн замд ямар нэгэн IP хаяглалтын асуудалгүйгээр тавьж болно. Сүлжээ сонсогч (Network tap) Гүүр нь сүлжээний хоёр сегментийг холбож тэдгээрийн хооронд дамжиж байгаа бүх Ethernet урсгалыг шалгахад хэрэглэгдэж болно. Энэ нь гүүр интерфэйс дээр &man.bpf.4;/&man.tcpdump.1; ашиглах юм уу эсвэл бүх урсгалын хуулбарыг нэмэлт интерфэйс (span порт) уруу илгээх замаар байж болно. Түвшин 2 VPN Хоёр Ethernet сүлжээ нь IP холбоосын дагуу EtherIP туннель юм уу эсвэл OpenVPN зэрэг &man.tap.4; дээр тулгуурласан шийдлүүдийн тусламжтайгаар холбогдож болно. Түвшин 2 Давхцал Сүлжээ нь хоорондоо олон холбоосоор холбогдож давхацсан замуудыг хаахын тулд Spanning Tree протоколыг ашиглаж болно. Ethernet сүлжээ нь зөв ажилладаг байхын тулд хоёр төхөөрөмжийн хооронд зөвхөн нэг идэвхтэй зам байх ёстой байдаг бөгөөд Spanning Tree нь давталтыг илрүүлж давхацсан холбоосуудыг хаалттай төлөвт оруулдаг. Аль нэг идэвхтэй холбоос амжилтгүй болсон тохиолдолд уг протокол өөр модыг тооцоолж сүлжээн дэх бүх цэгүүдэд хүрэх холболтыг сэргээхийн тулд аль нэг хаалттай замыг дахин идэвхжүүлдэг. Цөмийн тохиргоо Энэ хэсэг нь &man.if.bridge.4; гүүрний шийдлийн тухай өгүүлэх болно, netgraph гүүрний драйвер бас байдаг бөгөөд илүү дэлгэрэнгүй мэдээллийг &man.ng.bridge.4; гарын авлагын хуудаснаас үзнэ үү. Гүүрний драйвер нь цөмийн модуль бөгөөд &man.ifconfig.8;-оор гүүр интерфэйсийг үүсгэх үед автоматаар дуудагддаг. Өөрийн цөмийн тохиргооны файлд device if_bridge гэж нэмэн гүүрийг цөмд эмхэтгэж болно. &man.pfil.9; тогтолцоогоор холбогддог галт ханын дурын багцтай пакет шүүлтийг ашиглаж болдог. Галт хана нь модуль хэлбэрээр дуудагдах юм уу эсвэл цөмд эмхэтгэгдэж болно. Гүүр нь &man.altq.4; эсвэл &man.dummynet.4;-тэй цуг урсгал хэлбэржүүлэгч болон ашиглагдаж болно. Гүүрийг идэвхжүүлэх нь Интерфэйс хуулбарлалтыг ашиглан гүүрийг үүсгэдэг. Гүүрийг үүсгэхийн тулд &man.ifconfig.8;-ийг ашиглана. Хэрэв гүүрний драйвер цөмд байхгүй бол автоматаар дуудагддаг. &prompt.root; ifconfig bridge create bridge0 &prompt.root; ifconfig bridge0 bridge0: flags=8802<BROADCAST,SIMPLEX,MULTICAST> metric 0 mtu 1500 ether 96:3d:4b:f1:79:7a id 00:00:00:00:00:00 priority 32768 hellotime 2 fwddelay 15 maxage 20 holdcnt 6 proto rstp maxaddr 100 timeout 1200 root id 00:00:00:00:00:00 priority 0 ifcost 0 port 0 Гүүр интерфэйс үүсч түүнд санамсаргүйгээр үүсгэгдсэн Ethernet хаяг автоматаар өгөгддөг. maxaddr болон timeout нэмэлт өгөгдлүүд нь өөрийн дамжуулах хүснэгтэд хичнээн MAC хаягийг хадгалах болон сүүлд харагдсанаасаа хойш оруулга бүр хичнээн секундын дараа устгагдах вэ гэдгийг хянадаг. Бусад нэмэлт өгөгдлүүд нь Spanning Tree хэрхэн ажиллахыг хянадаг. Гишүүн сүлжээний интерфэйсийг гүүрэнд нэмэх хэрэгтэй. Гүүрний хувьд пакетуудыг дамжуулахын тулд бүх гишүүн интерфэйсүүд болон гүүр өөрөө идэвхжсэн байх шаардлагатай: &prompt.root; ifconfig bridge0 addm fxp0 addm fxp1 up &prompt.root; ifconfig fxp0 up &prompt.root; ifconfig fxp1 up Гүүр нь одоо Ethernet хүрээнүүдийг fxp0 болон fxp1-ийн хооронд дамжуулж байна. Гүүр нь ачаалах үед үүсгэгдэх /etc/rc.conf-ийн тохиргоо ийм байна: cloned_interfaces="bridge0" ifconfig_bridge0="addm fxp0 addm fxp1 up" ifconfig_fxp0="up" ifconfig_fxp1="up" Хэрэв гүүр хостод IP хаяг хэрэгтэй бол үүнийг тохируулах зөв газар бол гишүүн интерфэйсийн аль нэг биш харин гүүр интерфэйс өөрөө юм. Үүнийг статикаар эсвэл DHCP-ээр тохируулж болно: &prompt.root; ifconfig bridge0 inet 192.168.0.1/24 Гүүр интерфэйсд IPv6 хаягийг өгч бас болно. Галт хана firewall Пакет шүүлт идэвхжсэн тохиолдолд гүүр хийгдсэн пакетууд нь гарч байгаа интерфэйс ба гүүр интерфэйс дээрээ гарах шүүлтээр, тохирох интерфэйс дээрээ орох шүүлтээр дамждаг. Аль ч шатыг хааж болдог. Пакетийн урсгалын чиглэл нь чухал бол гүүрэн дээр галт хана хийснээс гишүүн интерфэйсүүд дээр хийсэн нь дээр байдаг. Гүүр нь IP бус ба ARP пакетуудыг дамжуулах болон IPFW-ийн тусламжтай хийгдэх хоёрдугаар түвшний галт хананд зориулсан хэд хэдэн тохируулж болох тохируулгуудтай байдаг. Дэлгэрэнгүй мэдээллийг &man.if.bridge.4;-ээс үзнэ үү. Spanning Tree Гүүрний драйвер нь хуучин Spanning Tree Протоколтой (STP) нийцтэй Rapid Spanning Tree Protocol (RSTP эсвэл 802.1w) буюу Түргэн Spanning Tree Протоколыг хийж гүйцэтгэсэн байдаг. Spanning Tree нь сүлжээн дэх давталтуудыг илрүүлж арилгахад хэрэглэгддэг. RSTP нь хуучин STP-г бодох юм бол илүү түргэн нийлэх боломжийг олгодог. Энэ протокол нь давхцал үүсгэлгүйгээр дамжуулалтад хурдан шилжихийн тулд хөрш шилжүүлэгчидтэйгээ мэдээлэл солилцдог. Доор дурдсан хүснэгт нь дэмжигдсэн ажиллах горимуудыг үзүүлж байна: OS хувилбар STP горимууд Анхдагч горим &os; 5.4—&os; 6.2 STP STP &os; 6.3+ RSTP эсвэл STP STP &os; 7.0+ RSTP эсвэл STP RSTP Spanning Tree-г stp тушаал ашиглан гишүүн интерфэйсүүд дээр идэвхжүүлж болно. Одоо fxp0 болон fxp1 интерфэйсүүдтэй гүүрний хувьд STP-г идэвхжүүлэхийн тулд доор дурдсаныг хийнэ: &prompt.root; ifconfig bridge0 stp fxp0 stp fxp1 bridge0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500 ether d6:cf:d5:a0:94:6d id 00:01:02:4b:d4:50 priority 32768 hellotime 2 fwddelay 15 maxage 20 holdcnt 6 proto rstp maxaddr 100 timeout 1200 root id 00:01:02:4b:d4:50 priority 32768 ifcost 0 port 0 member: fxp0 flags=1c7<LEARNING,DISCOVER,STP,AUTOEDGE,PTP,AUTOPTP> port 3 priority 128 path cost 200000 proto rstp role designated state forwarding member: fxp1 flags=1c7<LEARNING,DISCOVER,STP,AUTOEDGE,PTP,AUTOPTP> port 4 priority 128 path cost 200000 proto rstp role designated state forwarding Энэ гүүр нь 00:01:02:4b:d4:50 гэсэн ID болон 32768 гэсэн ээлж бүхий spanning tree-тэй байна. root id адил байгаа нь модны хувьд root гүүр гэдгийг илтгэж байна. Сүлжээн дэх өөр нэг гүүр бас идэвхжсэн spanning tree-тэй байна: bridge0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500 ether 96:3d:4b:f1:79:7a id 00:13:d4:9a:06:7a priority 32768 hellotime 2 fwddelay 15 maxage 20 holdcnt 6 proto rstp maxaddr 100 timeout 1200 root id 00:01:02:4b:d4:50 priority 32768 ifcost 400000 port 4 member: fxp0 flags=1c7<LEARNING,DISCOVER,STP,AUTOEDGE,PTP,AUTOPTP> port 4 priority 128 path cost 200000 proto rstp role root state forwarding member: fxp1 flags=1c7<LEARNING,DISCOVER,STP,AUTOEDGE,PTP,AUTOPTP> port 5 priority 128 path cost 200000 proto rstp role designated state forwarding root id 00:01:02:4b:d4:50 priority 32768 ifcost 400000 port 4 мөр нь root гүүр нь дээр дурдсантай адил 00:01:02:4b:d4:50 бөгөөд энэ гүүрнээс 400000 гэсэн замын өртөгтэй, root гүүр рүү хүрэх зам нь fxp0 болох port 4-өөр дамжина гэдгийг үзүүлж байна. Гүүрний нэмэлт тохиргоо Урсгалыг бүтээх/шинэчлэх Гүүр нь монитор буюу хянах горимыг дэмждэг бөгөөд энэ горимд пакетууд нь &man.bpf.4; процесс хийгдсэний дараа хаягдаж цааш процесс хийгдэхгүй эсвэл дамжуулагдахгүй болдог. Хоёр буюу түүнээс дээш тооны интерфэйсүүдийн оролтыг нэгтгэж нэг &man.bpf.4; урсгал руу гаргахад үүнийг ашиглаж болно. RX/TX дохионуудыг гадагш хоёр тусдаа интерфэйсээр дамжуулах сүлжээний сонсогчид зориулсан урсгал бүтээхэд энэ нь ашигтай байдаг. Сүлжээний дөрвөн интерфэйсээс оролтыг нэг урсгал уруу уншихын тулд: &prompt.root; ifconfig bridge0 addm fxp0 addm fxp1 addm fxp2 addm fxp3 monitor up &prompt.root; tcpdump -i bridge0 Span портууд Гүүрний хүлээн авсан Ethernet хүрээ бүрийн хуулбар томилогдсон span порт уруу дамждаг. Гүүрэн дээр тохируулагдсан span портуудын тоо хязгааргүй байдаг, хэрэв интерфэйс нь span порт гэж томилогдсон бол энэ нь ердийн гүүрний порт маягаар ашиглагдах боломжгүй байж болох юм. Энэ нь гүүрний аль нэг span порт руу холбогдсон өөр нэг хост дээрээс гүүр хийгдсэн сүлжээг идэвхгүйгээр хулгайгаар үзэхэд их ашигтай байдаг. Бүх хүрээнүүдийн хуулбарыг fxp4 гэж нэрлэгдсэн интерфэйс рүү илгээхийн тулд: &prompt.root; ifconfig bridge0 span fxp4 Хувийн интерфэйсүүд Хувийн интерфэйс нь бусад хувийн интерфэйсүүд рүү ямар ч урсгалыг дамжуулдаггүй. Урсгал нь ямар нэг нөхцөлгүйгээр хаагддаг бөгөөд ARP зэрэг ямар ч Ethernet хүрээнүүд дамжуулагдахгүй. Хэрэв урсгал нь сонголтын дагуу хаагдах хэрэгтэй бол үүний оронд галт хана ашиглах ёстой байдаг. Наалттай интерфэйсүүд Хэрэв гүүрний гишүүн интерфэйс нь наалттай гэж тэмдэглэгдсэн бол динамикаар тогтоосон хаягийн оруулгуудыг дамжуулалтын кэшд ороход статик гэж үздэг. Хаяг өөр интерфэйс дээр үзэгдсэн байлаа ч гэсэн наалттай оруулгууд нь хэзээ ч кэшээс гарч хуучирдаггүй эсвэл солигддоггүй. Энэ нь дамжуулалтын хүснэгтийг урьдчилан нутагшуулах шаардлагагүй болгож статик хаягийн оруулгуудын ашгийг өгдөг бөгөөд гүүрний тодорхой нэг сегмент дээр тогтоогдсон хэрэглэгчид өөр сегмент рүү тэнүүчилж чаддаггүй. Наалттай хаягуудыг ашиглах өөр нэг жишээ нь IP хаягийн талбарыг дэмий үрэлгүйгээр хэрэглэгчийн сүлжээнүүд нь тусгаарлагдсан чиглүүлэгчийг үүсгэхийн тулд гүүрийг VLAN-уудтай нэгтгэх явдал юм. CustomerA нь vlan100 дээр CustomerB нь vlan101 дээр гэж үзье. Гүүр нь 192.168.0.1 гэсэн хаягтай бөгөөд бас интернэт чиглүүлэгч юм. &prompt.root; ifconfig bridge0 addm vlan100 sticky vlan100 addm vlan101 sticky vlan101 &prompt.root; ifconfig bridge0 inet 192.168.0.1/24 Хоёр клиент хоёулаа 192.168.0.1-г өөрсдийн анхдагч гарц гэж харах бөгөөд гүүрний кэш нь наалттай болохоор тэд өөрсдийн урсгалыг дундаас нь оруулах гэж нөгөө хэрэглэгчийнхээ MAC хаягийг ашиглан хуурч чадахгүй юм. VLAN-уудын хоорондох ямар ч холбоог хувийн интерфэйсүүд (эсвэл галт хана) ашиглан хааж болно: &prompt.root; ifconfig bridge0 private vlan100 private vlan101 Хэрэглэгчид нь нэг нэгнээсээ бүр мөсөн тусгаарлагдсан бөгөөд бүх /24 хаягийн бүсийг дэд сүлжээ болгон хуваалгүйгээр хуваарилж болно. + + + SNMP монитор хийх + + Гүүр интерфэйс болон STP параметрүүдийг &os;-ийн + үндсэн системд орсон байдаг SNMP демоны тусламжтайгаар + монитор хийж болно. Экспорт хийгдсэн гүүрний MIB-үүд нь + IETF-ийн стандартуудыг хангаж байдаг. Тийм болохоор дурын + SNMP клиент эсвэл монитор хийдэг багцыг өгөгдлийг хүлээн авахад + хэрэглэж болно. + + Гүүр машин дээр /etc/snmp.config + файлд begemotSnmpdModulePath."bridge" = + "/usr/lib/snmp_bridge.so" мөрийг тайлбар болгосныг + болиулж bsnmpd дэмоныг + эхлүүлэх хэрэгтэй. Community буюу нийгмийн нэрс болон + хандалтын жагсаалтууд зэрэг бусад тохиргоонуудыг өөрчлөх + шаардлагатай байж болно. Дэлгэрэнгүй мэдээллийг + &man.bsnmpd.1; болон &man.snmp.bridge.3;-с үзнэ үү. + + Доор дурдсан жишээнүүд нь гүүрэнд хүсэлт илгээхийн тулд + Net-SNMP програм хангамжийг (net-mgmt/net-snmp) ашиглаж байгаа + бөгөөд net-mgmt/bsnmptools портыг бас + ашиглаж болно. Гүүрний MIB тодорхойлолтуудыг + Net-SNMP руу оруулж ирэхийн тулд + SNMP клиент хост дээрээ $HOME/.snmp/snmp.conf файлд + доор дурдсан мөрүүдийг нэмэх хэрэгтэй: + + mibdirs +/usr/share/snmp/mibs +mibs +BRIDGE-MIB:RSTP-MIB:BEGEMOT-MIB:BEGEMOT-BRIDGE-MIB + + Ганц гүүрийг IETF BRIDGE-MIB + (RFC4188)-ээр монитор хийхийн тулд доор дурдсаныг хийнэ + + &prompt.user; snmpwalk -v 2c -c public bridge1.example.com mib-2.dot1dBridge +BRIDGE-MIB::dot1dBaseBridgeAddress.0 = STRING: 66:fb:9b:6e:5c:44 +BRIDGE-MIB::dot1dBaseNumPorts.0 = INTEGER: 1 ports +BRIDGE-MIB::dot1dStpTimeSinceTopologyChange.0 = Timeticks: (189959) 0:31:39.59 centi-seconds +BRIDGE-MIB::dot1dStpTopChanges.0 = Counter32: 2 +BRIDGE-MIB::dot1dStpDesignatedRoot.0 = Hex-STRING: 80 00 00 01 02 4B D4 50 +... +BRIDGE-MIB::dot1dStpPortState.3 = INTEGER: forwarding(5) +BRIDGE-MIB::dot1dStpPortEnable.3 = INTEGER: enabled(1) +BRIDGE-MIB::dot1dStpPortPathCost.3 = INTEGER: 200000 +BRIDGE-MIB::dot1dStpPortDesignatedRoot.3 = Hex-STRING: 80 00 00 01 02 4B D4 50 +BRIDGE-MIB::dot1dStpPortDesignatedCost.3 = INTEGER: 0 +BRIDGE-MIB::dot1dStpPortDesignatedBridge.3 = Hex-STRING: 80 00 00 01 02 4B D4 50 +BRIDGE-MIB::dot1dStpPortDesignatedPort.3 = Hex-STRING: 03 80 +BRIDGE-MIB::dot1dStpPortForwardTransitions.3 = Counter32: 1 +RSTP-MIB::dot1dStpVersion.0 = INTEGER: rstp(2) + + dot1dStpTopChanges.0-ийн утга хоёр бөгөөд + энэ нь STP гүүрний бүтэц хоёр удаа өөрчлөгдсөн гэдгийг харуулж + байна. Бүтцийн өөрчлөлт гэдэг нь сүлжээн дэх нэг буюу олон холбоосууд + өөрчлөгдсөн юм уу эсвэл амжилтгүй болсон бөгөөд шинэ мод тооцоологдсон + гэсэн үг юм. dot1dStpTimeSinceTopologyChange.0-ийн + утга ийм зүйл хэзээ болсныг харуулах болно. + + Олон гүүрний интерфэйсийг монитор хийхийн тулд + хувийн BEGEMOT-BRIDGE-MIB-г ашиглаж болно: + + &prompt.user; snmpwalk -v 2c -c public bridge1.example.com +enterprises.fokus.begemot.begemotBridge +BEGEMOT-BRIDGE-MIB::begemotBridgeBaseName."bridge0" = STRING: bridge0 +BEGEMOT-BRIDGE-MIB::begemotBridgeBaseName."bridge2" = STRING: bridge2 +BEGEMOT-BRIDGE-MIB::begemotBridgeBaseAddress."bridge0" = STRING: e:ce:3b:5a:9e:13 +BEGEMOT-BRIDGE-MIB::begemotBridgeBaseAddress."bridge2" = STRING: 12:5e:4d:74:d:fc +BEGEMOT-BRIDGE-MIB::begemotBridgeBaseNumPorts."bridge0" = INTEGER: 1 +BEGEMOT-BRIDGE-MIB::begemotBridgeBaseNumPorts."bridge2" = INTEGER: 1 +... +BEGEMOT-BRIDGE-MIB::begemotBridgeStpTimeSinceTopologyChange."bridge0" = Timeticks: (116927) 0:19:29.27 centi-seconds +BEGEMOT-BRIDGE-MIB::begemotBridgeStpTimeSinceTopologyChange."bridge2" = Timeticks: (82773) 0:13:47.73 centi-seconds +BEGEMOT-BRIDGE-MIB::begemotBridgeStpTopChanges."bridge0" = Counter32: 1 +BEGEMOT-BRIDGE-MIB::begemotBridgeStpTopChanges."bridge2" = Counter32: 1 +BEGEMOT-BRIDGE-MIB::begemotBridgeStpDesignatedRoot."bridge0" = Hex-STRING: 80 00 00 40 95 30 5E 31 +BEGEMOT-BRIDGE-MIB::begemotBridgeStpDesignatedRoot."bridge2" = Hex-STRING: 80 00 00 50 8B B8 C6 A9 + + mib-2.dot1dBridge дэд модоор + монитор хийгдэж байгаа гүүрний интерфэйсийг солихын + тулд доор дурдсаныг хийнэ: + + &prompt.user; snmpset -v 2c -c private bridge1.example.com +BEGEMOT-BRIDGE-MIB::begemotBridgeDefaultBridgeIf.0 s bridge2 + Жан-Франсуа Докье Шинэчилсэн Алекс Дюпре Дахин зохион байгуулж өргөтгөсөн Дискгүй ажиллагаа дискгүй ажлын станц дискгүй ажиллагаа FreeBSD машин сүлжээгээр ачаалан локал дискгүйгээр NFS сервер дээр холбогдсон файлын системүүд ашиглаад ажиллаж чаддаг. Стандарт тохиргооны файлуудаас өөр системийн өөрчлөлт шаардлагагүй. Ийм системийг харьцангуй хялбараар тохируулж болдог. Учир нь шаардлагатай бүх элементүүд бэлэн байдаг: Цөмийг сүлжээгээр ачаалах хоёр боломжит арга хамгийн багаар бодоход байдаг: PXE: &intel;-ийн Preboot eXecution Environment буюу ачаалалт хийгдэхээс өмнөх ажиллуулах орчны систем нь зарим сүлжээний картууд эсвэл эх хавтангуудад цуг бүтээгдсэн байдаг ухаалаг ачаалах ROM-ийн нэг хэлбэр юм. Илүү дэлгэрэнгүйг &man.pxeboot.8;-с үзнэ үү. Etherboot порт (net/etherboot) нь цөмийг сүлжээгээр ачаалах ROM хийгдэх боломжтой код үүсгэдэг. Код нь сүлжээний картан дээр ачаалах ROM уруу шарагдсан байх юм уу эсвэл локал уян (эсвэл хатуу) дискний хөтчөөс эсвэл ажиллаж байгаа &ms-dos; системээс дуудагдахаар байдаг. Олон сүлжээний карт дэмжигдсэн байгаа. Жишээ скрипт (/usr/share/examples/diskless/clone_root) нь сервер дээр ажлын станцын root файлын системийг үүсгэх болон түүний ажиллагааг хангах үйлдлийг хөнгөвчилдөг. Скрипт нь магадгүй жижиг өөрчлөлтийг шаардаж болох боловч энэ нь таныг хурдан эхлүүлэх болно. Дискгүй системийн эхлүүлэлтийг илрүүлж дэмжих стандарт системийн эхлүүлэгч файлууд /etc санд байдаг. swap хийх хэрэв шаардлагатай бол NFS файл эсвэл локал диск уруу хийж болох юм. Дискгүй ажлын станцуудыг тохируулах олон арга байдаг. Олон элементүүд үүнд хамрагддаг бөгөөд өөрийн сонирхлоор ихэнхийг нь өөрчилж болно. Дараах нь бүрэн системийг тохируулах талаар хувилбаруудыг тайлбарлах болно. Ингэхдээ стандарт FreeBSD эхлүүлэх скриптүүдтэй хялбар, нийцтэй байхыг чухалчлах болно. Тайлбарласан систем нь дараах шинжүүдтэй байна: Дискгүй ажлын станцууд нь хуваалцсан, зөвхөн уншигдах / файлын систем болон хуваалцсан, зөвхөн уншигдах /usr-г ашигладаг. root файлын систем нь зөвхөн дискгүй ажиллагаатай холбоотой эсвэл тэдгээрийн харьяалагдах ажлын станцтай холбоотой зарим тохиргооны файлууд нь өөрчлөгдсөн стандарт FreeBSD root-ийн (ихэвчлэн серверийн) хуулбар юм. Бичигдэх боломжтой байх root-ийн хэсэг нь &man.md.4; файлын системээр дээр тавигддаг (overlaid). Систем дахин ачаалахад хийгдсэн өөрчлөлтүүд алга болох болно. Цөм дамжуулагдаж Etherboot эсвэл PXE-ийн аль нэгээр дуудагддаг бөгөөд зарим тохиолдолд зөвхөн аль нэг аргыг ашиглахыг шаардаж болох юм. Тайлбарласны дагуу энэ систем нь аюултай юм. Энэ нь сүлжээний хамгаалагдсан талбарт байх ёстой бөгөөд бусад хостуудаас хандахааргүй байх ёстой. Энэ хэсгийн бүх мэдээллийг &os; 5.2.1-RELEASE ашиглан тест хийсэн болно. Үндсэн мэдээлэл Дискгүй ажлын станцуудыг тохируулах нь харьцангуй амархан боловч алдаанд өртөх хандлагатай байдаг. Хэд хэдэн шалтгаанаас болоод эдгээрийг заримдаа оношлох төвөгтэй байдаг. Жишээ нь: Эмхэтгэлтийн үеийн тохируулгууд нь ажиллах үед өөрөөр ажиллахыг тодорхойлж болох юм. Алдааны мэдэгдлүүд нь ихэвчлэн нуугдмал эсвэл бүр байхгүй ч байж болно. Энд гарч болзошгүй асуудлуудыг шийдэхэд үндсэн арга замуудын зарим нэг мэдлэгийг ашиглах нь маш ашигтай байдаг. Амжилттайгаар эхлүүлэхийн тулд хэд хэдэн үйлдлүүдийг хийх хэрэгтэй: Машин өөрийн IP хаяг, ажиллах файлын нэр, серверийн нэр, root зам зэрэг эхний параметрүүдийг авах хэрэгтэй. Үүнийг DHCP эсвэл BOOTP протоколуудыг ашиглан хийдэг. DHCP нь BOOTP-ийн нийцтэй өргөтгөл бөгөөд адил портын дугаарууд болон үндсэн пакетийн хэлбэршүүлэлтийг ашигладаг. Зөвхөн BOOTP ашиглахаар системийг тохируулах боломжтой. &man.bootpd.8; серверийн програм нь үндсэн &os; системд орсон байдаг. Гэхдээ DHCP нь BOOTP-ээс хэд хэдэн давуу талтай байдаг (илүү сайхан тохиргооны файлууд, PXE ашиглах боломж, дискгүй ажиллагаатай шууд холбоогүй бусад олон давуу талууд) бөгөөд бид голчлон DHCP тохиргоог боломжтой бол &man.bootpd.8; ашиглан таарах жишээнүүдтэй нь хамт тайлбарлах болно. Жишээ тохиргоо нь ISC DHCP програм хангамжийн багцыг (тест сервер дээр 3.0.1.r12 хувилбар суулгагдсан) ашиглах болно. Машин нь нэг буюу хэд хэдэн програмуудыг локал санах ой уруугаа дамжуулах хэрэгтэй болно. TFTP юм уу эсвэл NFS ашиглагдана. TFTP болон NFS-ийн сонголтыг хэд хэдэн газар эмхэтгэх үеийн тохируулгаар хийдэг. Алдааны түгээмэл эх үүсвэр нь буруу протоколд зориулж файлын нэрүүдийг заах явдал юм: TFTP нь сервер дээрх ганц сангаас бүх файлуудыг ихэвчлэн дамжуулдаг бөгөөд энэ сантай харьцангуй файлын нэрсийг хүлээдэг. NFS-д файлын туйлын (абсолют) замууд хэрэгтэй байдаг. Боломжит дундын эхлүүлэх програмууд болон цөм нь эхлэн тохируулагдаж ажиллах шаардлагатай. Энд хэд хэдэн чухал хувилбарууд байдаг: PXE нь &os;-ийн гурав дахь шатны дуудагчийн өөрчлөгдсөн хувилбар болох &man.pxeboot.8;-ийг ачаална. &man.pxeboot.8; нь системийг эхлүүлэхэд шаардлагатай ихэнх параметрүүдийг авч хяналтыг дамжуулахаасаа өмнө тэдгээрийг цөмийн орчинд үлдээх болно. Энэ тохиолдолд GENERIC цөмийг ашиглах боломжтой. Etherboot нь бага бэлтгэлтэйгээр цөмийг шууд ачаалах болно. Та цөмийг тусгай тохируулгуудтай бүтээх хэрэгтэй болно. PXE болон Etherboot нь адилхан ажиллана; гэхдээ цөмүүд нь &man.loader.8;-ийн тэдэнд зориулж илүү ажил хийх боломжийг олгодог болохоор PXE нь зохимжтой арга юм. Хэрэв таны BIOS болон сүлжээний картууд нь PXE-г дэмждэг бол та үүнийг ашиглах хэрэгтэй байж болох юм. Эцэст нь машин өөрийн файлын системүүдэд хандах хэрэгтэй болно. NFS нь бүх тохиолдолд хэрэглэгдэнэ. &man.diskless.8; гарын авлагын хуудсыг бас үзнэ үү. Тохируулах зааврууд <application>ISC DHCP</application> ашиглах тохиргоо DHCP дискгүй ажиллагаа ISC DHCP сервер BOOTP болон DHCP хүсэлтүүдэд хариулж чаддаг. ISC DHCP 3.0 нь үндсэн системийн хэсэг биш юм. Та эхлээд net/isc-dhcp3-server порт юм уу эсвэл тохирох багцыг суулгах хэрэгтэй. ISC DHCP суулгагдсаны дараа ажиллахын тулд тохиргооны файл хэрэгтэй болно (ихэвчлэн /usr/local/etc/dhcpd.conf гэж нэрлэгддэг). Доор margaux хост Etherboot-ийг ашигласан ба corbieres хост PXE-г ашиглаж байгаа тайлбар хийгдсэн жишээ байна: default-lease-time 600; max-lease-time 7200; authoritative; option domain-name "example.com"; option domain-name-servers 192.168.4.1; option routers 192.168.4.1; subnet 192.168.4.0 netmask 255.255.255.0 { use-host-decl-names on; option subnet-mask 255.255.255.0; option broadcast-address 192.168.4.255; host margaux { hardware ethernet 01:23:45:67:89:ab; fixed-address margaux.example.com; next-server 192.168.4.4; filename "/data/misc/kernel.diskless"; option root-path "192.168.4.4:/data/misc/diskless"; } host corbieres { hardware ethernet 00:02:b3:27:62:df; fixed-address corbieres.example.com; next-server 192.168.4.4; filename "pxeboot"; option root-path "192.168.4.4:/data/misc/diskless"; } } Энэ тохируулга нь host зарлалтууд дахь утгыг дискгүй хостын хувьд хостын нэр болгон илгээхийг dhcpd-д хэлнэ. Өөр нэг арга нь option host-name margaux мөрийг host зарлалтуудын дотор нэмэх явдал юм. next-server тохируулга нь дуудагч эсвэл цөмийн файлыг дуудахад зориулж TFTP эсвэл NFS серверийг ашиглахыг зааж өгнө (анхдагчаар DHCP сервер байгаа хостыг ашиглана). filename тохируулга нь Etherboot эсвэл PXE-ийн дараагийн ажиллуулах алхамд дуудах файлыг тодорхойлно. Үүнийг ашиглах дамжуулалтын аргын дагуу заасан байх ёстой. Etherboot-ийг NFS эсвэл TFTP ашиглахаар эмхэтгэж болно. &os; порт нь NFS-ийг анхдагчаар тохируулдаг. PXE нь TFTP-г ашигладаг. Энд яагаад харьцангуй файлын нэр хэрэглэгддэгийн учир нь тэр юм (энэ нь TFTP серверийн тохиргооноос хамаарах боловч ерөнхийдөө нэлээн энгийн байх болно). PXE нь цөмийг биш бас pxeboot-г дууддаг. &os; CD-ROM /boot сангаас pxeboot-ийг дуудах зэрэг бусад сонирхолтой боломжууд байдаг (&man.pxeboot.8; нь GENERIC цөмийг ачаалж чаддаг бөгөөд энэ нь алсын CD-ROM-с ачаалахын тулд PXE-г ашиглах боломжтой болгодог юм). root-path тохируулга нь root файлын систем хүрэх замыг энгийн NFS бичлэгээр тодорхойлдог. PXE ашиглаж байгаа үед цөмийн тохиргоо BOOTP-г идэвхжүүлээгүй байхад хостын IP-г орхигдуулах боломжтой байдаг. NFS сервер дараа нь TFTP сервертэй адил болох болно. BOOTP ашиглах тохиргоо BOOTP дискгүй ажиллагаа Энд bootpd-ийн адил тохиргоо (нэг клиент болгож багасгасан) байна. Үүнийг /etc/bootptab файлаас олж болно. BOOTP-г ашиглахын тулд Etherboot-ийг анхдагч биш тохируулга NO_DHCP_SUPPORT-тойгоор эмхэтгэх ёстой бөгөөд PXEDHCP хэрэгтэй гэдгийг санаарай. bootpd-ийн цорын ганц илэрхий давуу тал бол үндсэн системд орсон байдаг явдал юм. .def100:\ :hn:ht=1:sa=192.168.4.4:vm=rfc1048:\ :sm=255.255.255.0:\ :ds=192.168.4.1:\ :gw=192.168.4.1:\ :hd="/tftpboot":\ :bf="/kernel.diskless":\ :rp="192.168.4.4:/data/misc/diskless": margaux:ha=0123456789ab:tc=.def100 Ачаалах програмыг <application>Etherboot</application>-ээр бэлдэх Etherboot Etherboot-ийн вэб сайт нь Линукс системд голчлон зориулагдсан боловч ашигтай мэдээлэл агуулсан өргөтгөсөн баримтыг агуулдаг. Дараах нь FreeBSD систем дээр Etherboot-г хэрхэн ашиглах талаар тайлбарлах болно. Та эхлээд net/etherboot багц юм уу эсвэл портыг суулгах ёстой. Etherboot-ийн тохиргоог Etherboot-ийн эх байгаа сан дахь Config файлыг засварлаж (өөрөөр хэлбэл NFS-ийн оронд TFTP-г ашиглахын тулд) өөрчилж болно. Бидний тохиргооны хувьд бид ачаалах уян дискийг ашиглах болно. Бусад аргуудын хувьд (PROM, эсвэл &ms-dos; програм) Etherboot-ийн баримтаас лавлана уу. Ачаалах уян дискийг хийхийн тулд Etherboot суулгасан машин дээрх хөтөч уруугаа уян дискээ хийгээд Etherboot мод дахь src сан уруу болгож одоогийн сангаа солиод доор дурдсан тушаалыг бичнэ: &prompt.root; gmake bin32/devicetype.fd0 devicetype нь дискгүй ажлын станц дахь Ethernet картын төрлөөс хамаарна. Зөв devicetype буюу төхөөрөмжийн төрлийг тодорхойлохын тулд тэр сан дахь NIC файлд хандана. <acronym>PXE</acronym>-ээр ачаалах Анхдагчаар &man.pxeboot.8; дуудагч нь NFS-ээр цөмийг дууддаг. /etc/make.conf файлд LOADER_TFTP_SUPPORT тохируулга заахын оронд TFTP-г ашиглахаар эмхэтгэгдэж болно. Заавруудын талаар /usr/share/examples/etc/make.conf файл дахь тайлбаруудыг үзнэ үү. Цуваа консол дискгүй машин тохируулахад ашигтай байж болох make.conf файлын өөр хоёр тохируулга байдаг: эдгээр нь BOOT_PXELDR_PROBE_KEYBOARD, болон BOOT_PXELDR_ALWAYS_SERIAL юм. Машин эхлэхэд PXE-г ашиглахын тулд та өөрийн BIOS-ийн тохируулгаас Boot from network буюу Сүлжээнээс ачаалах сонголтыг сонгох юм уу эсвэл PC-г эхлүүлж байх үед функцийн товчлуурыг дарах хэрэгтэй. <acronym>TFTP</acronym> болон <acronym>NFS</acronym> серверүүдийг тохируулах TFTP дискгүй ажиллагаа NFS дискгүй ажиллагаа Хэрэв та TFTP ашиглахаар тохируулсан PXE юм уу эсвэл Etherboot-г ашиглаж байгаа бол файл сервер дээрээ tftpd-г идэвхжүүлэх хэрэгтэй: tftpd-д зориулж файлууд байх сан үүсгэнэ, өөрөөр хэлбэл /tftpboot. Энэ мөрийг өөрийн /etc/inetd.conf файлд нэмнэ: tftp dgram udp wait root /usr/libexec/tftpd tftpd -l -s /tftpboot Зарим нэгэн PXE хувилбарууд нь TFTP-ийн TCP хувилбарыг хүсдэг байна. Энэ тохиолдолд dgram udp мөрийг stream tcp болгон сольж хоёр дахь мөрийг нэмнэ. inetd-д өөрийн тохиргооны файлаа дахин уншихыг хэлээрэй. Энэ тушаалыг зөв ажиллуулахын тулд /etc/rc.conf файлд тохируулга заагдсан байх ёстой: &prompt.root; /etc/rc.d/inetd restart Та tftpboot санг серверийнхээ хаана ч байрлуулж болно. inetd.conf болон dhcpd.conf файлууд дээрээ байрлалаа заасан эсэхээ шалгаарай. Аль ч тохиолдолд та бас NFS-ээ идэвхжүүлж NFS сервер дээрээ тохирох файлын системээ экспорт хийх хэрэгтэй юм. Үүнийг /etc/rc.conf-д нэмнэ: nfs_server_enable="YES" Доор дурдсаныг /etc/exports файл уруу нэмж дискгүй root сан байгаа файлын системээ экспорт хийнэ (эзлэхүүний холбох цэгийг тааруулж margaux corbieres гэснийг дискгүй ажлын станцуудын нэрсээр солих хэрэгтэй): /data/misc -alldirs -ro margaux corbieres mountd-д өөрийн тохиргооны файлаа дахин уншихыг хэлнэ. Хэрэв та эхний шатандаа NFS/etc/rc.conf файлд идэвхжүүлэх хэрэгтэй болсон бол харин дахин ачаалахыг хүсэж болох юм. &prompt.root; /etc/rc.d/mountd restart Дискгүй цөмийг бүтээх дискгүй ажиллагаа цөмийн тохиргоо Хэрэв Etherboot-г ашиглаж байгаа бол дискгүй клиентдээ зориулж дараах тохируулгуудтайгаар (ердийн тохируулгуудын хамтаар) цөмийн тохиргооны файл үүсгэх хэрэгтэй: options BOOTP # Use BOOTP to obtain IP address/hostname options BOOTP_NFSROOT # NFS mount root file system using BOOTP info Та бас BOOTP_NFSV3, BOOT_COMPAT болон BOOTP_WIRED_TO (NOTES файлаас лавлана уу) тохируулгуудыг ашиглахыг хүсэж болох юм. Эдгээр тохируулгуудын нэрс нь уламжлалт бөгөөд тэдгээр нь яг үнэндээ DHCP болон BOOTP-ийн өөр хэрэглээг цөм дотор идэвхжүүлдэг болохоор нэлээн төөрөгдөлд хүргэж болох юм (зөвхөн BOOTP эсвэл DHCP-ийн хэрэглээг ашиглахаар болгох бас боломжтой байдаг). Цөмийг бүтээж (-г үзнэ үү), dhcpd.conf файлд заасан байрлал уруу хуулах хэрэгтэй. PXE-г ашиглаж байгаа үед дээрх тохируулгуудтайгаар цөмийг бүтээх нь заавал шаардлагагүй (хэдийгээр зөвлөдөг боловч). Тэдгээрийг идэвхжүүлэх нь цөмийг эхлүүлэх явцад илүү олон DHCP хүсэлтүүдийг үүсгэж шинэ утгууд болон зарим тусгай тохиолдлуудад &man.pxeboot.8;-ийн авсан утгуудын хооронд нийцэмжгүй байдлын жижиг эрсдэл гаргахад хүргэдэг. Тэдгээрийг ашиглахын давуу тал нь буруу нөлөөллөөс болоод хостын нэр тохируулагддаг явдал юм. Үгүй бол та хостын нэрийг өөр аргаар, жишээ нь клиентэд тусгайлан зориулсан rc.conf файлд тохируулах хэрэгтэй болно. Etherboot-ээр дуудагдах боломжтой байхын тулд цөмд төхөөрөмжийн бяцхан зааврууд эмхэтгэгдсэн байх хэрэгтэй байдаг. Ингэхдээ та дараах тохируулгыг тохиргооны файлдаа тохируулах болно (NOTES тохиргооны тайлбаруудын файлыг үзнэ үү): hints "GENERIC.hints" Root файлын системийг бэлдэх root файлын систем дискгүй ажиллагаа Дискгүй ажлын станцад зориулж dhcpd.conf файлд root-path гэж жагсаагдсан байрлалд root файлын системийг та үүсгэх хэрэгтэй. root-ийг суурьшуулахын тулд <command>make world</command> тушаал ашиглах Энэ арга нь хурдан байх бөгөөд бүрэн онгон системийг (зөвхөн root файлын систем биш) DESTDIR уруу суулгах болно. Та дараах скриптийг л ердөө ажиллуулах хэрэгтэй болно: #!/bin/sh export DESTDIR=/data/misc/diskless mkdir -p ${DESTDIR} cd /usr/src; make buildworld && make buildkernel cd /usr/src/etc; make distribution Үүнийг хийсний дараа танд өөрийнхөө хэрэгцээний дагуу DESTDIR-д байрлуулагдсан өөрийн /etc/rc.conf болон /etc/fstab файлуудаа өөрчлөн тохируулах шаардлага гарч болох юм. Swap-ийг тохируулах Шаардлагатай бол сервер дээр байрласан swap файлд NFS-ээр хандаж болно. <acronym>NFS</acronym> Swap Цөм нь ачаалах үед NFS swap-ийг идэвхжүүлэхийг дэмждэггүй. Бичигдэх файлын системийг холбож swap файлыг үүсгэн идэвхжүүлэх замаар эхлүүлэх скриптүүдээр swap нь идэвхжүүлэгдэх ёстой. Зохих хэмжээ бүхий swap файлыг үүсгэхдээ та ингэж хийж болно: &prompt.root; dd if=/dev/zero of=/path/to/swapfile bs=1k count=1 oseek=100000 Үүнийг идэвхжүүлэхийн тулд та дараах мөрийг өөрийн rc.conf файлд нэмэх хэрэгтэй: swapfile=/path/to/swapfile Бусад асуудлууд Зөвхөн уншигдах <filename>/usr</filename> сантайгаар ажиллах дискгүй ажиллагаа /usr зөвхөн уншигдах Хэрэв дискгүй ажлын станц нь X-ийг ажиллуулахаар тохируулагдсан бол анхдагчаар /usr-т алдааны бүртгэлийг хийдэг XDM тохиргооны файлыг та тааруулах хэрэгтэй болно. FreeBSD биш сервер ашиглах root файлын системд зориулсан сервер нь FreeBSD-г ажиллуулаагүй бол та FreeBSD машин дээр root файлын систем үүсгээд хэрэгтэй байрлал уруу нь tar эсвэл cpio тушаал ашиглан хуулах хэрэгтэй болно. Энэ тохиолдолд бүхэл тооны их/бага (major/minor) хэмжээнүүдийн ялгаанаас болоод /dev дахь тусгай файлуудад заримдаа асуудал гардаг. Энэ асуудлын шийдэл нь FreeBSD биш серверээс уг санг экспорт хийж энэ сангаа FreeBSD машин дээр холбон хэрэглэгчийн хувьд төхөөрөмжийн цэгүүдийг харагдахгүйгээр (transparently) хуваарилахын тулд &man.devfs.5;-ийг ашиглах явдал юм. ISDN ISDN ISDN технологи болон тоног төхөөрөмжийн тухай мэдээллийн сайн эх үүсвэр нь Дан Кегелийн ISDN хуудас юм. ISDN-ий тухай хялбар заавруудыг доор дурдав: Хэрэв та Европд амьдарч байгаа бол ISDN картын хэсгийг та магадгүй шалгахыг хүсэж болох юм. Хэрэв та Интернэт уруу Интернэтийн үйлчилгээ үзүүлэгчтэй dial-up-аар байнгын бишээр холбогдохдоо ISDN-ийг голчлон хэрэглэхээр төлөвлөж байгаа бол та Терминал Хувиргагчдыг үзэж болох юм. Хэрэв та үйлчилгээ үзүүлэгчдээ солих бол энэ нь асуудлууд хамгийн багатайгаар хамгийн уян хатан чанарыг танд өгөх болно. Хэрэв та хоёр LAN-ийг хооронд нь холбож байгаа бол эсвэл Интернэт уруу зориулагдсан ISDN холболтоор холбогдож байгаа бол зориулагдсан чиглүүлэгч/гүүр сонголтыг бодолцож болох юм. Аль шийдлийг сонгохыг тодорхойлоход чухал хүчин зүйл нь өртөг юм. Дараах сонголтуудыг хамгийн бага өртөгтэйгөөс нь эхлээд хамгийн их өртөгтэй хүртэл жагсаав. Хэлмут Михаелис Хувь нэмэр болгон оруулсан ISDN картууд ISDN картууд FreeBSD-ийн ISDN шийдэл нь идэвхгүй картыг ашиглаад зөвхөн DSS1/Q.931 (буюу Euro-ISDN) стандартыг дэмждэг. Firmware нь бас бусад дохионы протоколуудыг дэмждэг зарим идэвхтэй картуудыг дэмждэг; энэ нь бас хамгийн эхэнд дэмжигдсэн Primary Rate (PRI) буюу Анхдагч Хурд бүхий ISDN картыг оруулдаг. isdn4bsd програм хангамж нь бусад ISDN чиглүүлэгчүүдтэй түүхий HDLC дээгүүрх IP юм уу эсвэл синхрон PPP: өөрчлөн засварласан &man.sppp.4; драйвер isppp-тэй цөмийн PPP юм уу эсвэл хэрэглэгчийн талбарын &man.ppp.8; ашиглан холбогдох боломжийг олгодог. Хэрэглэгчийн талбарын &man.ppp.8; ашиглан хоёр буюу түүнээс дээш ISDN B-сувгуудын суваг холболтыг (channel bonding) хийх боломжтой байдаг. Утас хариулагч машины хэрэглээ бас байдаг байдаг бөгөөд бас програм хангамжийн 300 baud модем зэрэг олон хэрэгслүүд байдаг. FreeBSD дээр дэмжигдсэн зарим PC ISDN картуудын тоо өсөн нэмэгдэж байгаа бөгөөд энэ нь бүх л Европ болон дэлхийн бусад олон хэсэгт амжилттайгаар ашиглагдаж байгаа мэдээллүүд байдаг. Дэмжигдсэн идэвхгүй (пассив) ISDN картууд нь ихэвчлэн Infineon (хуучин Siemens) ISAC/HSCX/IPAC ISDN бичил схемтэй байдаг, гэхдээ бас Cologne Chip-ийн (зөвхөн ISA шугамд) бичил схемүүдтэй ISDN картууд, Winbond W6692 бичил схемүүдтэй PCI картууд, Tiger300/320/ISAC бичил схемийн хослолуудтой зарим картууд болон AVM Fritz!Card PCI V.1.0 болон AVM Fritz!Card PnP зэрэг зарим нэгэн үйлдвэрлэгчээс хамааралтай бичил схем бүхий картууд ордог. Одоогоор идэвхтэй дэмжигдсэн ISDN картууд нь AVM B1 (ISA болон PCI) BRI картууд болон AVM T1 PCI PRI картууд юм. isdn4bsd-ийн баримтын талаар өөрийн FreeBSD систем дээрээ /usr/share/examples/isdn/ сангаас эсвэл бяцхан зөвлөгөө, алдааны мэдээлэл болон isdn4bsd гарын авлага зэрэг илүү баримтыг заасан isdn4bsd-ийн эх хуудас isdn4bsd хаягаас үзээрэй. Хэрэв та өөр ISDN протокол, одоогоор дэмжигдээгүй байгаа ISDN PC картанд зориулж дэмжлэг нэмэх эсвэл isdn4bsd-ийг өргөжүүлэх сонирхолтой байгаа бол &a.hm;-тай холбоо барьна уу. isdn4bsd-ийн суулгалт, тохиргоо болон алдааг олж засварлах тухай асуултуудад зориулагдсан &a.isdn.name; захидлын жагсаалт байдаг. ISDN Терминал Хувиргагчид Терминал хувиргагчид (TA) нь модемууд нь ердийн утасны шугамд зориулагдсан байдаг шиг ISDN-ий хувьд зориулагдсан байдаг. модем Ихэнх TA нь стандарт Hayes модемийн AT тушаалын олонлогийг ашигладаг бөгөөд модемийг шууд солих зориулалтаар ашиглаж болно. TA нь ерөнхийдөө модемтой адил ажилладаг. Ялгаатай тал нь холболт болон дамжуулах хурдны хувьд таны хуучин модемоос хамаагүй хурдан байдаг явдал юм. Та модемийн тохиргоотой яг адил PPP-г тохируулах хэрэгтэй болно. Цуваа хурдыг хамгийн өндрөөр аль болох тавьсан эсэхээ шалгаарай. PPP TA-г ашиглахын гол давуу тал нь динамик PPP-ээр хийж болдогтой адил Интернэтийн үйлчилгээ үзүүлэгчтэй холбогдох явдал юм. IP хаягийн хэмжээ өдөр ирэх тутам багасаж байгаа өнөө үед ихэнх үйлчилгээ үзүүлэгчид танд статик IP өгөх хүсэлгүй байдаг. Ихэнх зориулагдсан чиглүүлэгчид динамик IP хуваарилалттай зохицож чаддаггүй. TA-уудын боломжууд болон холболтын тогтвортой байдалд зориулан таны ажиллуулж байдаг PPP дэмонд TA-ууд нь бүрэн найддаг. Хэрэв та PPP-г аль хэдийн тохируулсан бол энэ нь FreeBSD машин дээр модемийг ашиглаж байгаад ISDN уруу хялбараар сайжруулах боломжийг олгодог. Гэхдээ танд тулгарсан PPP програм дээр байсан асуудлууд бас хэвээр үлдэх болно. Хэрэв та максимум тогтвортой байдлыг хүсэж байгаа бол хэрэглэгчийн талбарын PPP биш цөмийн PPP тохируулгыг ашиглаарай. Дараах TA-ууд нь FreeBSD-тэй ажилладаг: Motorola BitSurfer болон Bitsurfer Pro Adtran Ихэнх бусад TA-ууд нь магадгүй бас ажиллах байх. TA үйлдвэрлэгчид нь өөрсдийнхөө бүтээгдэхүүнийг стандарт модемийн AT тушаалын олонлогийн ихэнхийг хүлээн авч чаддагаар хийхийг оролддог. Гадаад TA-ийн жинхэнэ асуудал нь модемуудын адил таны компьютер дээр сайн цуваа карт хэрэгтэй явдал юм. Та цуваа төхөөрөмжүүдийн тухай дэлгэрэнгүй ойлголт болон асинхрон ба синхрон цуваа портуудын ялгаануудын талаар FreeBSD Цуваа Тоног Төхөөрөмжийн заавраас унших шаардлагатай. Стандарт PC цуваа порт (асинхрон) дээр ажиллаж байгаа TA нь таныг 128 Kbs холболттой байсан ч гэсэн 115.2 Kbs хурдаар хязгаарладаг. ISDN-ий чаддаг 128 Kbs хурдыг бүрэн ашиглахын тулд та TA-г синхрон цуваа карт уруу шилжүүлэх шаардлагатай. Дотоод TA худалдан авч синхрон/асинхрон асуудлаас тойрон гарчихлаа гэж битгий тэнэгтээрэй. Дотоод TA-ууд нь ердөө л өөр дээрээ бүтээгдсэн стандарт PC цуваа портын бичил схемтэй байдаг. Энэ нь ердөө л өөр цуваа кабель худалдан авч өөр хоосон цахилгаан сокет олох асуудлыг хөнгөвчилдөг. TA-тэй синхрон карт нь ядаж дангаараа зориулагдсан чиглүүлэгчтэй адил хурдан байдаг бөгөөд түүнийг энгийн FreeBSD хайрцаг удирдаж байгаа нь магадгүй илүү уян хатан юм. Синхрон карт/TA болон зориулагдсан чиглүүлэгчийн алийг сонгох нь голчлон сүсэг бишрэлийн асуудал байдаг. Энэ талаар зарим хэлэлцүүлэг захидлын жагсаалтуудаар явагдсан байгаа. Бүрэн хэлэлцүүлгийг архивуудаас хайхыг бид санал болгож байна. Зориулагдсан ISDN Гүүрнүүд/Чиглүүлэгчид ISDN зориулагдсан гүүрнүүд/чиглүүлэгчид ISDN гүүрнүүд эсвэл чиглүүлэгчид нь зөвхөн FreeBSD эсвэл бусад үйлдлийн системийн хувьд биш юм. Чиглүүлэлт болон гүүр хийх технологийн талаар илүү дэлгэрэнгүй тайлбарыг сүлжээний ямар нэг номноос үзнэ үү. Энэ хэсгийн хувьд чиглүүлэгч болон гүүр гэсэн ухагдахуунууд нь харилцан солигдож ашиглагдана. Доод зэрэглэлийн ISDN чиглүүлэгчид/гүүрнүүдийн үнэ багасаж байгаа болохоор энэ нь улам илүү түгээмэл сонголт болох юм. ISDN чиглүүлэгч нь таны локал Ethernet сүлжээ уруу шууд залгагддаг жижиг хайрцаг байдаг бөгөөд бусад гүүр/чиглүүлэгчтэй хийх өөрийн холболтоо удирддаг. Энэ нь PPP болон бусад түгээмэл протоколуудын тусламжтай холболт хийх өөртөө цуг бүтээгдсэн програм хангамжтай байдаг. Чиглүүлэгч нь бүрэн ISDN холболтыг ашиглах болохоор стандарт TA-аас хамаагүй илүү хурдан дамжуулах боломжийг олгодог. ISDN чиглүүлэгчид болон гүүрнүүдийн гол асуудал нь үйлдвэрлэгчид хоорондын харилцан ажиллах боломж асуудал хэвээр байгаа явдал юм. Хэрэв та Интернэтийн үйлчилгээ үзүүлэгчтэй холбогдохоор төлөвлөж байгаа бол тэд нартай өөрийн хэрэгцээний талаар хэлэлцэх нь зүйтэй юм. Хэрэв та өөрийн гэрийн LAN-ийг оффисийн LAN-тай холбох зэргээр хоёр LAN сегментийг хооронд нь холбохоор төлөвлөж байгаа бол энэ нь хамгийн хялбар ажиллагаа багатай шийдэл юм. Та холболт хийгдэх гэж байгаа хоёр талдаа хоёуланд нь зориулан төхөөрөмж авах болохоор холболт ажиллах тал дээр итгэлтэй байж болно. Жишээ нь гэрийн компьютер эсвэл салбар оффисийн сүлжээг гол оффисийн сүлжээтэй холбохын тулд дараах тохируулгыг ашиглаж болно: Салбар оффис эсвэл Гэрийн сүлжээ 10 base 2 Сүлжээ нь 10 base 2 Ethernet (thinnet) сүлжээний шугаман хэлбэрийг ашиглана. Шаардлагатай бол чиглүүлэгчийг сүлжээний кабельтай AUI/10BT хувиргагчаар холбоно. ---Sun workstation | ---FreeBSD box | ---Windows 95 | Stand-alone router | ISDN BRI line 10 Base 2 Ethernet Хэрэв таны гэр/салбар оффис нь зөвхөн нэг компьютер бол та зориулагдсан чиглүүлэгчийг холбохын тулд эрчилсэн хос зөрсөн кабелийг (twisted pair crossover cable) ашиглаж болно. Гол оффис эсвэл бусад LAN 10 base T Сүлжээ нь 10 base T Ethernet (Twisted Pair) сүлжээний од хэлбэрийг ашиглана. -------Novell Server | H | | ---Sun | | | U ---FreeBSD | | | ---Windows 95 | B | |___---Stand-alone router | ISDN BRI line ISDN Сүлжээний зураг Ихэнх чиглүүлэгчид/гүүрнүүдийн нэг том давуу тал нь нэг зэрэг 2 тусдаа сайт уруу 2 тусдаа чөлөөтэй PPP холболтуудтай байх боломжийг олгодог явдал юм. Хоёр цуваа порттой тусгай (ихэвчлэн үнэтэй) загваруудыг тооцохгүй бол энэ нь ихэнх TA-ууд дээр дэмжигдээгүй байдаг. Үүнийг суваг холболт (channel bonding), MPP зэрэгтэй андуурч болохгүй. Жишээ нь хэрэв та оффис дээрээ зориулагдсан ISDN холболттой бөгөөд түүнийг чагнахыг хүсэж байгаа боловч өөр нэг ISDN шугам авахыг хүсэхгүй байгаа бол энэ нь маш ашигтай боломж байж болох юм. Оффист байгаа чиглүүлэгч нь Интернэт уруу хийх зориулагдсан B сувгийн холболтыг (64 Kbps) удирдаж тусдаа өгөгдлийн холболтод зориулж өөр B сувгийг ашиглаж чадна. Хоёр дахь B суваг нь гаднаас залгах, гадагш залгах юм уу эсвэл илүү өргөн зурваст зориулж эхний B сувагтай цуг динамикаар холболт (bonding) хийхэд (MPP зэрэг) ашиглагдаж болно. IPX/SPX Ethernet гүүр нь зөвхөн IP урсгал биш бас өөр илүүг дамжуулах боломжийг танд олгодог. Та IPX/SPX эсвэл өөрийн ашигладаг бусад протоколуудынхаа алийг ч бас илгээж болох юм. Шерн Ли Хувь нэмэр болгон оруулсан Network Address Translation буюу Сүлжээний Хаягийн Хөрвүүлэлт Тойм natd FreeBSD-ийн Network Address Translation буюу Сүлжээний Хаягийн Хөрвүүлэлтийн дэмон нь &man.natd.8; гэгддэг бөгөөд ирж байгаа түүхий IP пакетуудыг хүлээн авч эх хаягийг локал машиныхаар сольж эдгээр пакетуудыг гарч байгаа IP пакетийн урсгалд буцааж дахин оруулдаг. &man.natd.8; нь өгөгдлийг буцаан хүлээн авахад өгөгдлийн анхны байрлалыг тодорхойлж чаддаг байхаар эхлэл IP хаяг болон портыг өөрчилж түүнийг анхлан хүсэгчид буцааж дамжуулдаг. Интернэтийн холболт хуваалцах NAT NAT-ийн хамгийн түгээмэл хэрэглээ бол Интернэтийн холболт хуваалцах гэгддэгийг хийж гүйцэтгэх явдал юм. Анхны тохируулга IP хаягийн хэмжээ багасаж байгаа болон кабель эсвэл DSL зэрэг өндөр хурдны хэрэглэгчийн шугамууд ашиглах хэрэглэгчдийн тоо ихэссэнээс болоод хүмүүст Интернэтийн холболт хуваалцах шийдлийн хэрэгцээ нэмэгдэх болсон билээ. Хэд хэдэн компьютеруудыг шууд нэг холболтоор холбох чадвар болон IP хаяг нь &man.natd.8;-г боломжийн сонголт болгодог. Хамгийн түгээмэл тохиолдол нь хэрэглэгч кабель эсвэл DSL шугаманд нэг IP хаягтай холбогдсон машинтай бөгөөд LAN-аар дамжуулан хэд хэдэн компьютеруудад Интернэтийн хандалт өгөхийн тулд энэ холбогдсон нэг компьютераа ашиглахыг хүсдэг явдал юм. Үүнийг хийхийн тулд Интернэт дэх FreeBSD машин нь гарц маягаар ажиллах ёстой. Энэ гарц машин нь хоёр NIC-тэй байх ёстой—нэг нь Интернэтийн чиглүүлэгч уруу холбогдохын тулд, нөгөөх нь LAN уруу холбогдохын тулд ашиглагдах ёстой. LAN дахь бүх машинууд нь холбох төхөөрөмж (hub) юм уу эсвэл шилжүүлэгчээр (switch) холбогдсон байна. &os; гарцаар LAN-ийг Интернэттэй холбох олон арга замууд байдаг. Энэ жишээ нь хамгийн багаар бодоход хоёр NIC-тэй гарцыг зөвхөн тайлбарлах болно. _______ __________ ________ | | | | | | | Hub |-----| Client B |-----| Router |----- Internet |_______| |__________| |________| | ____|_____ | | | Client A | |__________| Network Layout Үүнтэй адил тохиргоог Интернэтийн холболтыг хуваалцахын тулд түгээмэл ашигладаг. LAN машинуудын нэг нь Интернэтэд холбогдсон. Бусад машинууд нь тэр гарц машинаар Интернэтэд ханддаг. цөм тохиргоо Тохиргоо Дараах тохируулгууд цөмийн тохиргооны файлд байх ёстой: options IPFIREWALL options IPDIVERT Мөн нэмэлтээр дараах нь бас тохиромжтой байж болох юм: options IPFIREWALL_DEFAULT_TO_ACCEPT options IPFIREWALL_VERBOSE Дараах нь /etc/rc.conf файлд байх ёстой: gateway_enable="YES" firewall_enable="YES" firewall_type="OPEN" natd_enable="YES" natd_interface="fxp0" natd_flags="" Машиныг гарц маягаар ажиллахыг тохируулна. sysctl net.inet.ip.forwarding=1 тушаалыг ажиллуулах нь бас адил үр дүнтэй. /etc/rc.firewall файл дахь галт ханын дүрмүүдийг ачаалах үед идэвхжүүлнэ. Энэ нь урьдчилан тодорхойлсон байдаг бүгдийг оруулахыг зөвшөөрдөг галт ханын дүрмийн олонлогийг заана. Нэмэлт төрлүүдийн талаар /etc/rc.firewall файлаас үзнэ үү. Аль интерфэйс пакетуудыг нэвтрүүлэн дамжуулахыг заана (Интернэтэд холбогдсон интерфэйс). Ачаалах үед &man.natd.8;-д дамжуулах нэмэлт тохиргооны сонголтууд. Өмнөх тохируулгуудыг /etc/rc.conf файлд тодорхойлсноор natd -interface fxp0 тушаалыг ачаалах үед ажиллуулна. Үүнийг гараар бас ажиллуулж болно. Их олон сонголтуудыг дамжуулах бол &man.natd.8;-д зориулж тохиргооны файлыг ашиглаж бас болно. Энэ тохиолдолд дараах мөрийг /etc/rc.conf файлд нэмж тохиргооны файлыг тодорхойлох шаардлагатай: natd_flags="-f /etc/natd.conf" /etc/natd.conf файл нь тохиргооны сонголтуудын жагсаалтыг нэг мөрөнд нэгийг байхаар агуулдаг. Жишээ нь дараах хэсгийн хувьд доорх файлыг ашиглах болно: redirect_port tcp 192.168.0.2:6667 6667 redirect_port tcp 192.168.0.3:80 80 Тохиргооны файлын тухай дэлгэрэнгүй мэдээллийг &man.natd.8; гарын авлагын хуудасны тохируулгын талаар бичсэнээс лавлана уу. LAN-ий ард байгаа машин болон интерфэйс бүр RFC 1918-д тодорхойлогдсон хувийн сүлжээний хаягаас заагдсан IP хаягтай, natd машины дотоод IP хаягийг анхдагч гарц болгон заасан байх ёстой. Жишээ нь LAN-ий цаана байгаа клиент A болон B нь 192.168.0.2 болон 192.168.0.3 гэсэн IP хаягтай байх бол natd машины LAN интерфэйс нь 192.168.0.1 гэсэн IP хаягтай байна. Клиент A болон B-ийн анхдагч гарц natd машины 192.168.0.1-ээр тохируулагдах ёстой. natd машины гадаад буюу Интернэтийн интерфэйс нь &man.natd.8;-г ажиллуулахын тулд ямар нэгэн тусгайлсан өөрчлөлтийг шаарддаггүй. Порт дахин чиглүүлэлт &man.natd.8;-ийн сул тал нь LAN клиентүүдэд Интернэтээс хандах боломжгүй байдаг. LAN дахь клиентүүд нь гаднах ертөнц уруу чиглэсэн гадагшаа холболтуудыг хийж чадах боловч ирж байгааг хүлээн авч чаддаггүй. LAN клиент машинуудын аль нэгэн дээр Интернэтийн үйлчилгээнүүдийг ажиллуулахыг оролдох үед энэ нь асуудал үүсгэдэг. Үүнийг тойрох хялбар арга бол natd машины сонгосон Интернэтийн портуудыг LAN клиент уруу дахин чиглүүлэх явдал юм. Жишээ нь A клиент дээр IRC сервер, B клиент дээр вэб сервер ажиллаж байна гэж үзье. Эдгээр нь зөв ажиллахын тулд 6667 (IRC) болон 80 (вэб) портууд дээр хүлээн авсан холболтууд нь тохирох машинууд уруу дахин чиглүүлэгдэх ёстой юм. &man.natd.8; уруу тохируулга зохих сонголтуудтай дамжуулагдах ёстой. Зөв бичих дүрэм нь ийм байна: -redirect_port proto targetIP:targetPORT[-targetPORT] [aliasIP:]aliasPORT[-aliasPORT] [remoteIP[:remotePORT[-remotePORT]]] Дээрх жишээний хувьд нэмэлт өгөгдөл нь ийм байх ёстой: -redirect_port tcp 192.168.0.2:6667 6667 -redirect_port tcp 192.168.0.3:80 80 Энэ нь зөв tcp портуудыг LAN клиент машинууд уруу дахин чиглүүлэх болно. нэмэлт өгөгдлийг порт тус бүрийг заахад ашиглахаас гадна бас бүлэг портуудыг заахад хэрэглэж болно. Жишээ нь tcp 192.168.0.2:2000-3000 2000-3000 нь 2000-аас 3000 хүртэлх портууд дээр хүлээн авсан бүх холболтуудыг A клиентийн 2000-аас 3000 хүртэлх портууд уруу дахин чиглүүлэх болно. Эдгээр тохируулгуудыг &man.natd.8;-г шууд ажиллуулж байх үед /etc/rc.conf файлд natd_flags="" тохируулга дотор оруулж ашиглаж болохоос гадна тохиргооны файлын тусламжтай дамжуулж болно. Тохиргооны сонголтуудын талаар &man.natd.8;-с лавлана уу Хаяг дахин чиглүүлэлт хаяг дахин чиглүүлэлт Хаягийн дахин чиглүүлэлт нь хэд хэдэн IP хаягууд байгаа бөгөөд тэдгээр нь нэг машин дээр байх ёстой үед ашигтай байдаг. Үүнийг ашиглаад &man.natd.8; нь өөрийн LAN клиент бүрдээ өөрийн гадаад IP хаягуудыг өгч чаддаг. Дараа нь &man.natd.8; нь LAN клиентүүдээс ирэх гадагш чиглэсэн пакетуудыг зөв гадаад IP хаягаас болгон дахин бичиж тухайн IP хаяг дээр ирж байгаа бүх урсгалыг тохирох LAN клиент уруу дахин чиглүүлдэг. Энэ нь бас статик NAT гэж нэрлэгддэг. Жишээ нь 128.1.1.1, 128.1.1.2, болон 128.1.1.3 гэсэн IP хаягууд нь natd гарц машинд харьяалагдаж байна гэж үзье. 128.1.1.1 нь natd гарц машины гадаад IP хаяг болон ашиглагдаж болох бол 128.1.1.2 болон 128.1.1.3 нь A болон B LAN клиентүүд уруу буцааж дамжуулагдахаар байж болно. бичлэг нь дараах маягийн байна: -redirect_address localIP publicIP localIP LAN клиентийн дотоод IP хаяг. publicIP LAN клиентэд тохирох гадаад IP хаяг. Энэ жишээний хувьд энэхүү нэмэлт өгөгдөл нь ингэж уншигдаж болно: -redirect_address 192.168.0.2 128.1.1.2 -redirect_address 192.168.0.3 128.1.1.3 тохируулгын нэгэн адил эдгээр нэмэлт өгөгдлүүдийг /etc/rc.conf файлын natd_flags="" тохируулгад хийж өгч болохоос гадна тохиргооны файлаар дамжуулж болно. Хаягийн дахин чиглүүлэлт дээр тухайн нэг IP хаяг дээр хүлээн авсан бүх өгөгдөл дахин чиглүүлэгддэг учраас портын дахин чиглүүлэлт шаардлагагүй байдаг. natd машины гадаад IP хаягууд нь идэвхтэй байж гадаад интерфэйсийн нэрээр нэрлэгдсэн байх ёстой. Үүнийг хийхийн тулд &man.rc.conf.5;-г үзнэ үү. Parallel Line IP (PLIP) буюу Зэрэгцээ Шугамын IP PLIP Parallel Line IP PLIP PLIP нь параллел буюу зэрэгцээ портуудын хооронд TCP/IP ажиллуулах боломж олгодог. Энэ нь сүлжээний картгүй машинууд дээр эсвэл зөөврийн компьютер дээр суулгахад ашигтай байдаг. Энэ хэсэгт бид дараах зүйлсийг хэлэлцэх болно: Зэрэгцээ (laplink) кабелийг хийх. PLIP-ээр хоёр компьютерийг холбох. Зэрэгцээ кабелийг хийх Та зэрэгцээ кабелийг ихэнх компьютерийн хангамжийн дэлгүүрээс худалдан авч болно. Хэрэв та тэгж чадахгүй бол эсвэл та зүгээр л яаж хийгддэгийг мэдэхийг хүсэж байгаа бол дараах хүснэгт нь ердийн зэрэгцээ хэвлэгчийн кабелиас тийм кабель хэрхэн хийхийг харуулж байна. Сүлжээнд зориулж зэрэгцээ кабель хийх нь A-нэр A-Төгсгөл B-Төгсгөл Тайлбар Post/Bit DATA0 -ERROR 2 15 15 2 Өгөгдөл 0/0x01 1/0x08 DATA1 +SLCT 3 13 13 3 Өгөгдөл 0/0x02 1/0x10 DATA2 +PE 4 12 12 4 Өгөгдөл 0/0x04 1/0x20 DATA3 -ACK 5 10 10 5 Strobe 0/0x08 1/0x40 DATA4 BUSY 6 11 11 6 Өгөгдөл 0/0x10 1/0x80 GND 18-25 18-25 GND -
PLIP-ийг тохируулах Эхлээд та laplink кабель олж авах хэрэгтэй. Дараа нь хоёр компьютер хоёулаа &man.lpt.4; драйверийн дэмжлэгтэй цөмтэй эсэхийг шалгаарай: &prompt.root; grep lp /var/run/dmesg.boot lpt0: <Printer> on ppbus0 lpt0: Interrupt-driven port Зэрэгцээ порт нь тасалдлаар удирдагддаг порт байх ёстой бөгөөд та өөрийн /boot/device.hints файлдаа доор дурдсантай төстэй мөрүүдтэй байх ёстой: hint.ppc.0.at="isa" hint.ppc.0.irq="7" Дараа нь цөмийн тохиргооны файлд device plip мөр байгаа эсэх эсвэл цөмийн plip.ko модуль дуудагдсан эсэхийг шалгана. Аль ч тохиолдолд таныг &man.ifconfig.8; ашиглан үзүүлэх үед зэрэгцээ сүлжээний интерфэйс гарч ирэх ёстой: &prompt.root; ifconfig plip0 plip0: flags=8810<POINTOPOINT,SIMPLEX,MULTICAST> mtu 1500 Компьютер бүрийн зэрэгцээ интерфэйс уруу laplink кабелиа залгана. Сүлжээний интерфэйсийн өгөгдлүүдийг хоёр талын хоёулан дээр root хэрэглэгчээр тохируулна. Жишээ нь хэрэв та host1 хостыг өөр host2 машинтай холбохыг хүсвэл: host1 <-----> host2 IP Address 10.0.0.1 10.0.0.2 host1 дээрх интерфэйсийг доор дурдсаныг хийж тохируулна: &prompt.root; ifconfig plip0 10.0.0.1 10.0.0.2 host2 дээрх интерфэйсийг доор дурдсаныг хийж тохируулна: &prompt.root; ifconfig plip0 10.0.0.2 10.0.0.1 Та одоо ажилладаг холболттой болсон байх ёстой. Дэлгэрэнгүй мэдээллийг &man.lp.4; болон &man.lpt.4; гарын авлагын хуудаснуудаас уншина уу. Та хоёр хостыг хоёуланг нь /etc/hosts файлд нэмэх хэрэгтэй: 127.0.0.1 localhost.my.domain localhost 10.0.0.1 host1.my.domain host1 10.0.0.2 host2.my.domain Холболт ажиллаж байгааг баталгаажуулахын тулд хост бүр уруу очоод нөгөө тал уруу ping хийнэ. Жишээ нь host1 дээр: &prompt.root; ifconfig plip0 plip0: flags=8851<UP,POINTOPOINT,RUNNING,SIMPLEX,MULTICAST> mtu 1500 inet 10.0.0.1 --> 10.0.0.2 netmask 0xff000000 &prompt.root; netstat -r Routing tables Internet: Destination Gateway Flags Refs Use Netif Expire host2 host1 UH 0 0 plip0 &prompt.root; ping -c 4 host2 PING host2 (10.0.0.2): 56 data bytes 64 bytes from 10.0.0.2: icmp_seq=0 ttl=255 time=2.774 ms 64 bytes from 10.0.0.2: icmp_seq=1 ttl=255 time=2.530 ms 64 bytes from 10.0.0.2: icmp_seq=2 ttl=255 time=2.556 ms 64 bytes from 10.0.0.2: icmp_seq=3 ttl=255 time=2.714 ms --- host2 ping statistics --- 4 packets transmitted, 4 packets received, 0% packet loss round-trip min/avg/max/stddev = 2.530/2.643/2.774/0.103 ms
Аарон Каплан Анхлан бичсэн Том Рөүдс Дахин бүтцийг өөрчилж нэмсэн Брэд Дэйвис Өргөтгөсөн IPv6 IPv6 (бас IPng IP next generation буюу дараа үеийн IP гэгддэг) нь олонд танигдсан IP протоколын (бас IPv4 гэгддэг) шинэ хувилбар юм. Одоогийн бусад *BSD системүүдийн адил FreeBSD нь KAME IPv6 лавлагаа шийдлийг агуулдаг. Тэгэхээр таны FreeBSD систем таныг IPv6-г туршихад хэрэгтэй бүхнийг агуулсан байдаг. Энэ хэсэг нь IPv6-г тохируулж ажиллуулах талаар анхаарлаа хандуулах болно. 1990 оны эхэн үеэс хүмүүс IPv4-ийн хаягийн хэмжээ хурдацтай багасаж байгааг мэдэх болсон. Интернэтийн өсөлтийн хурдаас хамаараад хоёр гол асуудал гарч ирсэн: Хаяггүй болж эхэлсэн. RFC1918 хувийн хаягийн талбар (10.0.0.0/8, 172.16.0.0/12, болон 192.168.0.0/16) болон Network Address Translation (NAT) буюу Сүлжээний хаягийн хөрвүүлэлтийг ашигладаг болсон болохоор өнөөдөр энэ нь тийм ч чухал асуудал байхаа больсон. Чиглүүлэгчийн хүснэгтийн оруулгууд хэтэрхий ихсэж байгаа явдал. Энэ нь өнөөдөр асуудал хэвээр байгаа билээ. IPv6 нь эдгээр асуудлууд болон өөр бусад олныг шийддэг: 128 битийн хаягийн талбар. Өөрөөр хэлбэл онолын хувьд 340,282,366,920,938,463,463,374,607,431,768,211,456 хаяг байна. Энэ нь манай гариг дээрх нэг квадрат метр бүрт ойролцоогоор 6.67 * 10^27 IPv6 хаяг байна гэсэн үг юм. Чиглүүлэгчүүд нь зөвхөн сүлжээний нийлбэр хаягуудыг өөрсдийн чиглүүлэлтийн хүснэгтүүдэд хадгалах бөгөөд ингэснээр чиглүүлэлтийн хүснэгтийн дундаж хэмжээг 8192 хүртэл бууруулдаг. IPv6-ийн бусад ашигтай олон боломжууд бас байдаг, тэдгээрээс дурдвал: Хаягийн автомат тохиргоо (RFC2462) Anycast хаягууд (one-out-of many буюу олноос ганц) Зайлшгүй шаардлагатай (mandatory) multicast хаягууд IPsec (IP security буюу нууцлаг) Хялбаршуулсан толгойн бүтэц Хөдөлгөөнт IP IPv6-to-IPv4 шилжилтийн арга замууд Дэлгэрэнгүй мэдээллийн талаар доороос үзнэ үү: playground.sun.com дэх IPv6-ийн тухай тойм KAME.net IPv6 хаягуудын тухай суурь мэдээлэл IPv6 хаягуудын өөр өөр төрлүүд байдаг: Unicast, Anycast, болон Multicast. Unicast хаягууд нь бидний мэддэг хаягууд юм. Unicast хаяг уруу илгээсэн пакет нь яг тэр хаягт харгалзах интерфэйс дээр ирдэг. Anycast хаягуудыг unicast хаягуудаас ялгах боломжгүй байдаг боловч тэдгээр нь бүлэг интерфэйсүүдийг хаягладаг. Anycast хаяг уруу чиглэсэн пакет хамгийн ойрын (чиглүүлэгчийн хэмжилтийн хувьд) интерфэйс дээр ирэх болно. Anycast хаягуудыг зөвхөн чиглүүлэгчид ашиглаж болох юм. Multicast хаягууд нь бүлэг интерфэйсүүдийг таньдаг. Multicast хаяг уруу чиглэсэн пакет нь multicast бүлэгт харьяалагдах бүх интерфэйсүүд дээр ирэх болно. IPv4 цацах (broadcast) хаяг (ихэвчлэн xxx.xxx.xxx.255) нь IPv6-ийн multicast хаягуудаар илэрхийлэгддэг. Нөөц IPv6 хаягууд IPv6 хаяг Prefixlength буюу угтварын урт (битээр) Тайлбар Тэмдэглэл :: 128 бит тодорхойлогдоогүй харьцуулбал IPv4 дэх 0.0.0.0 ::1 128 бит loopback буюу буцах хаяг харьцуулбал IPv4 дэх 127.0.0.1 ::00:xx:xx:xx:xx 96 бит суулгагдсан IPv4 Бага 32 бит нь IPv4 хаяг юм. Бас IPv4 нийцтэй IPv6 хаяг гэгддэг ::ff:xx:xx:xx:xx 96 бит IPv4-р илэрхийлэгдсэн IPv6 хаяг Бага 32 бит нь IPv4 хаяг юм. IPv6-г дэмждэггүй хостуудад зориулсан. fe80:: - feb:: 10 бит link-local харьцуулбал IPv4 дэх loopback буюу буцах хаяг fec0:: - fef:: 10 бит site-local   ff:: 8 бит multicast   001 (хоёртын системээр) 3 бит глобал unicast Бүх глобал unicast хаягууд нь энэ цөөрмөөс заагдана. Эхний 3 бит нь 001 байна.
IPv6 хаягуудыг унших нь Дүрмийн дагуу ийм хэлбэртэй байна: x:x:x:x:x:x:x:x хэлбэрийн байх бөгөөд x бүр нь 16 битийн арван зургаат утга байна. Жишээ нь FEBC:A574:382B:23C1:AA49:4592:4EFE:9982 Хаяг нь ихэнхдээ дандаа тэгүүдээс тогтох урт дэд хэсгүүдээс тогтож болох бөгөөд хаягийн тийм хэсгийг :: гэж хураангуйлж болно. Дөрвөн арван зургаат тооны гурав хүртэлх эхний 0-үүдийг орхиж бас болно. Жишээ нь fe80::1 нь дүрэмд заасан хэлбэрээр бол fe80:0000:0000:0000:0000:0000:0000:0001 байна. Гурав дахь хэлбэр нь сүүлийн 32 бит хэсгийг бидний мэддэг (аравтын) IPv4 загварын цэгүүдээр . тусгаарлаж бичих явдал юм. Жишээ нь 2002::10.0.0.1 нь (арван зургаатын) дүрэмд зааснаар 2002:0000:0000:0000:0000:0000:0a00:0001 болох бөгөөд үүнийг бас 2002::a00:1 гэж бичиж болох юм. Энэ хүртэл уншигч доор дурдсаныг ойлгож чадаж байх ёстой: &prompt.root; ifconfig rl0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500 inet 10.0.0.10 netmask 0xffffff00 broadcast 10.0.0.255 inet6 fe80::200:21ff:fe03:8e1%rl0 prefixlen 64 scopeid 0x1 ether 00:00:21:03:08:e1 media: Ethernet autoselect (100baseTX ) status: active fe80::200:21ff:fe03:8e1%rl0 нь автоматаар тохируулагдсан link-local хаяг юм. Энэ нь MAC хаягаас автомат тохиргооны хэсэг болон үүсгэгддэг. IPv6 хаягуудын бүтцийн тухай дэлгэрэнгүй мэдээллийг RFC3513 хаягаас үзнэ үү. Холбогдох нь Одоогоор бусад IPv6 хостууд болон сүлжээнүүдтэй холбогдох дөрвөн арга байдаг: Өөрийн дээд үйлчилгээ үзүүлэгчээсээ IPv6 сүлжээ авах. Зааврын талаар өөрийн Интернэтийн үйлчилгээ үзүүлэгчтэйгээ ярилцах хэрэгтэй. 6-аас-4 уруу туннель хийх (RFC3068) Хэрэв та dial-up холболт дээр байгаа бол net/freenet6 портыг ашиглах хэрэгтэй. IPv6 ертөнц дэх DNS IPv6-д зориулсан хоёр төрлийн DNS бичлэг байдаг. IETF нь A6 бичлэгийг хуучин, хэрэгцээнээс гарсан гэж зарласан. AAAA бичлэгүүд нь одоо стандарт болсон байгаа. AAAA бичлэгүүдийг ашиглах нь амархан. Өөрийн хостын нэрийг дөнгөж авсан шинэ IPv6 хаягт зааж доор дурдсаныг: MYHOSTNAME AAAA MYIPv6ADDR өөрийн анхдагч бүсийн DNS файл уруу нэмж өгнө. Та өөрийн DNS бүсүүдийг удирддаггүй бол өөрийн DNS үйлчилгээ үзүүлэгчээс асуух хэрэгтэй. bind (8.3 ба 9 хувилбар) болон dns/djbdns-ийн (IPv6 засвартай) одоогийн хувилбарууд AAAA бичлэгүүдийг дэмждэг. <filename>/etc/rc.conf</filename> файлд хэрэгцээтэй өөрчлөлтүүдийг хийх нь IPv6 клиентийн тохиргоонууд Эдгээр тохиргоонууд нь таны LAN-д байх машиныг чиглүүлэгч биш клиент маягаар ажиллуулахаар тохируулахад танд туслах болно. Таны интерфэйсийг ачаалах үед автоматаар &man.rtsol.8;-оор тохируулуулахын тулд таны нэмэх ёстой зүйл бол дараах мөр юм: ipv6_enable="YES" 2001:471:1f11:251:290:27ff:fee0:2093 зэрэг IP хаягийг өөрийн fxp0 интерфэйсд статикаар өгөхийн тулд доор дурдсаныг нэмнэ: ipv6_ifconfig_fxp0="2001:471:1f11:251:290:27ff:fee0:2093" 2001:471:1f11:251::1 анхдагч чиглүүлэгчийг зааж өгөхдөө доор дурдсаныг /etc/rc.conf файлд нэмнэ: ipv6_defaultrouter="2001:471:1f11:251::1" IPv6 чиглүүлэгч/гарцын тохиргоонууд Энэ нь таны туннелийн үйлчилгээ үзүүлэгчийн өгсөн чиглэлүүдийг авч тэдгээрийг дахин ачаалсан ч гэсэн үлдэхээр болгож тохиргоо болгон хөрвүүлэхэд танд туслах болно. Эхлүүлэх үед өөрийн туннелийг сэргээхийн тулд доор дурдсантай төстэйг /etc/rc.conf файлд ашиглана: Тохируулах Ердийн Туннель хийх интерфэйсүүдийг жагсаана. Жишээ нь gif0: gif_interfaces="gif0" MY_IPv4_ADDR гэсэн локал төгсгөлтэй интерфэйсийг REMOTE_IPv4_ADDR гэсэн алсын төгсгөл уруу тохируулахын тулд: gifconfig_gif0="MY_IPv4_ADDR REMOTE_IPv4_ADDR" Өөрийн IPv6 туннелийн төгсгөл болгон ашиглахаар таны зааж өгсөн IPv6 хаягийг хамааруулахын тулд доор дурдсаныг нэмнэ: ipv6_ifconfig_gif0="MY_ASSIGNED_IPv6_TUNNEL_ENDPOINT_ADDR" Тэгээд таны хийх зүйл чинь IPv6-д зориулж анхдагч чиглүүлэлт тохируулах явдал юм. Энэ нь IPv6 туннелийн нөгөө тал байх болно: ipv6_defaultrouter="MY_IPv6_REMOTE_TUNNEL_ENDPOINT_ADDR" IPv6 туннелийн тохиргоонууд Хэрэв сервер нь таны бусад сүлжээ болон гадаад ертөнцийн хооронд IPv6-г чиглүүлэх бол дараах /etc/rc.conf тохируулга бас хэрэгтэй болно: ipv6_gateway_enable="YES" Чиглүүлэгчийн зарлалт ба Хостын автомат тохиргоо Энэ хэсэг нь IPv6 анхдагч чиглүүлэлтийг зарлахын тулд &man.rtadvd.8;-г тохируулахад тань туслах болно. &man.rtadvd.8;-г идэвхжүүлэхийн тулд таны /etc/rc.conf файлд дараах тохиргоо хэрэгтэй болно: rtadvd_enable="YES" IPv6 чиглүүлэгчийн төлөөлөлт хийгдэх интерфэйсийг заах нь чухал юм. Жишээ нь &man.rtadvd.8;-д fxp0-г ашиглахыг хэлж өгөхийн тулд доор дурдсаныг нэмнэ: rtadvd_interfaces="fxp0" Одоо бид /etc/rtadvd.conf тохиргооны файл үүсгэх ёстой. Энд жишээ байна: fxp0:\ :addrs#1:addr="2001:471:1f11:246::":prefixlen#64:tc=ether: fxp0-г өөрийн ашиглах интерфэйсээр солих хэрэгтэй. Дараа нь 2001:471:1f11:246::-г өөрийн хуваарилалтын угтвараар солиорой. Хэрэв та /64 дэд сүлжээг зориулсан бол өөр бусад ямар ч өөрчлөлт хийх хэрэггүй. Хэрэв тийм биш бол та prefixlen# буюу угтварын уртыг зөв утгаар өөрчлөх шаардлагатай.
Харти Брандт Хувь нэмэр болгон оруулсан Asynchronous Transfer Mode (ATM) буюу Асинхрон Дамжуулах Горим ATM дээгүүр классик IP тохируулах нь (PVC-нүүд) Classical IP over ATM (CLIP) буюу ATM дээгүүрх классик IP нь Asynchronous Transfer Mode (ATM) буюу Асинхрон Дамжуулах Горимыг IP-тай ашиглах хамгийн энгийн арга юм. Энэ нь switched буюу шилжүүлэгдсэн (SVC-нүүд) ба permanent буюу байнгын (PVC-нүүд) холболтуудтай ашиглагдаж болдог. Энэ хэсэг нь сүлжээн дээр тулгуурласныг PVC-нүүд дээр хэрхэн тохируулах талаар тайлбарладаг. Бүрэн тор хэлбэрийн тохиргоонууд CLIP-ийг PVC-нүүдтэй тохируулах эхний арга нь машин бүрийг сүлжээн дэх бусад машин бүртэй зориулагдсан PVC-ээр холбох явдал юм. Үүнийг тохируулах хялбар байдаг боловч их олон тооны машинууд дээр бүтэшгүй байдаг. Энэ жишээ нь сүлжээнд бидэнд дөрвөн машин байгаа бөгөөд машин бүр ATM сүлжээнд ATM хувиргагч картын тусламжтай холбогдсон гэж үздэг. Эхний алхам нь IP хаягууд болон машинуудын хооронд ATM холболтуудыг төлөвлөх явдал юм. Бид доор дурдсаныг ашиглана: Хост IP хаяг hostA 192.168.173.1 hostB 192.168.173.2 hostC 192.168.173.3 hostD 192.168.173.4 Бүрэн тор хэлбэрийн сүлжээг бүтээхийн тулд машинуудын хослол бүрийн хооронд нэг ATM холболт бидэнд хэрэгтэй: Машинууд VPI.VCI хослол hostA - hostB 0.100 hostA - hostC 0.101 hostA - hostD 0.102 hostB - hostC 0.103 hostB - hostD 0.104 hostC - hostD 0.105 Холболтын төгсгөл бүр дэх VPI болон VCI утгууд нь мэдээж ялгаатай байх боловч амархан байлгах үүднээс бид тэдгээрийг адил гэж үзнэ. Дараа нь бид ATM интерфэйсүүдийг хост бүр дээр тохируулах хэрэгтэй болно: hostA&prompt.root; ifconfig hatm0 192.168.173.1 up hostB&prompt.root; ifconfig hatm0 192.168.173.2 up hostC&prompt.root; ifconfig hatm0 192.168.173.3 up hostD&prompt.root; ifconfig hatm0 192.168.173.4 up Ингэхдээ бүх хостууд дээр ATM интерфэйс нь hatm0 гэж үзэх болно. Одоо PVC-нүүд нь hostA дээр тохируулагдах шаардлагатай (бид тэдгээрийг ATM шилжүүлэгч дээр аль хэдийн тохируулагдсан гэж үзнэ, үүнийг хэрхэн хийхийг шилжүүлэгчийн гарын авлагаас лавлах хэрэгтэй). hostA&prompt.root; atmconfig natm add 192.168.173.2 hatm0 0 100 llc/snap ubr hostA&prompt.root; atmconfig natm add 192.168.173.3 hatm0 0 101 llc/snap ubr hostA&prompt.root; atmconfig natm add 192.168.173.4 hatm0 0 102 llc/snap ubr hostB&prompt.root; atmconfig natm add 192.168.173.1 hatm0 0 100 llc/snap ubr hostB&prompt.root; atmconfig natm add 192.168.173.3 hatm0 0 103 llc/snap ubr hostB&prompt.root; atmconfig natm add 192.168.173.4 hatm0 0 104 llc/snap ubr hostC&prompt.root; atmconfig natm add 192.168.173.1 hatm0 0 101 llc/snap ubr hostC&prompt.root; atmconfig natm add 192.168.173.2 hatm0 0 103 llc/snap ubr hostC&prompt.root; atmconfig natm add 192.168.173.4 hatm0 0 105 llc/snap ubr hostD&prompt.root; atmconfig natm add 192.168.173.1 hatm0 0 102 llc/snap ubr hostD&prompt.root; atmconfig natm add 192.168.173.2 hatm0 0 104 llc/snap ubr hostD&prompt.root; atmconfig natm add 192.168.173.3 hatm0 0 105 llc/snap ubr Мэдээж хэрэг UBR-с бусад урсгалын хэлэлцээнүүд хэрэв ATM хувиргагч тэдгээрийг дэмждэг бол ашиглагдаж болно. Энэ тохиолдолд урсгалын хэлэлцээний нэр нь урсгалын нэмэлт өгөгдлүүдийн дараа орж байна. &man.atmconfig.8; хэрэгсэлд зориулсан тусламжийг дараах тушаалыг ашиглан: &prompt.root; atmconfig help natm add авч болох бөгөөд эсвэл &man.atmconfig.8; гарын авлагаас авч болно. Үүнтэй адил тохиргоог /etc/rc.conf ашиглан бас хийж болно. hostA-ийн хувьд энэ нь иймэрхүү харагдана: network_interfaces="lo0 hatm0" ifconfig_hatm0="inet 192.168.173.1 up" natm_static_routes="hostB hostC hostD" route_hostB="192.168.173.2 hatm0 0 100 llc/snap ubr" route_hostC="192.168.173.3 hatm0 0 101 llc/snap ubr" route_hostD="192.168.173.4 hatm0 0 102 llc/snap ubr" Бүх CLIP чиглүүлэлтүүдийн тухайн үеийн төлвийг дараах тушаалаар авч болно: hostA&prompt.root; atmconfig natm show Том Рөүдс Хувь нэмэр болгон оруулсан Common Access Redundancy Protocol (CARP) буюу Олон хандалтын нийтлэг протокол CARP Common Access Redundancy Protocol Common Access Redundancy Protocol буюу CARP нь олон хостуудад нэг IP хаяг хуваалцах боломжийг олгодог. Зарим тохиргоонуудын хувьд үүнийг байнгын бэлэн байдал юм уу эсвэл ачаалал тэгш хуваарилахад ашиглаж болох юм. Энд дурдсан жишээний адилаар хостууд нь бас өөр өөр IP хаягууд ашиглаж болох юм. CARP-ийн дэмжлэгийг идэвхжүүлэхийн тулд &os; цөмийг дараах тохируулгатайгаар бүтээсэн байх хэрэгтэй: device carp CARP боломж нь одоо хүртээмжтэй болсон байх ёстой бөгөөд түүнийг хэд хэдэн sysctl-ийн OID-уудын тусламжтайгаар тааруулж болно. Төхөөрөмжүүдийг ifconfig тушаалаар ачаалж болно: &prompt.root; ifconfig carp0 create Жинхэнэ амьдрал дээр эдгээр интерфэйсүүдэд VHID гэгддэг давхардахгүй дугаарууд хэрэгтэй болно. Энэ VHID буюу Виртуал Хостын Үнэмлэх нь сүлжээн дэх хостыг ялгахад хэрэглэгдэх болно. Серверт хандах боломжийг байнга хангахын тулд CARP-ийг ашиглах нь (CARP) Дээр дурдсан CARP-ийн нэг хэрэглээ нь серверийн бэлэн байдалд зориулагджээ. Энэ жишээ нь өөр өөр IP хаягуудтай, ижил вэбийн агуулга бүхий гурван хостын хувьд байнгын бэлэн байдалд байх дэмжлэгийг харуулах болно. Эдгээр машинууд нь Тойрон Эргэх DNS тохиргоотойгоор ажиллах болно. Амжилтгүй болсон үед хандах нөөц машин нь хоёр нэмэлт CARP интерфэйстэй байх бөгөөд агуулгын сервер бүрийн IP-ний хувьд ашиглагдана. Хандалт амжилтгүй болоход амжилтгүй болсон машины IP хаягийг нөөц сервер авах ёстой. Энэ нь хэрэглэгчид амжилтгүй болсон нь мэдэгдэхгүй гэсэн үг юм. Нөөц сервер нь ачааллыг авах ёстой бол бусад агуулгын серверүүдтэй ижил агуулга болон үйлчилгээнүүдтэй байх ёстой. Хоёр машин нь өгөгдсөн хостын нэр болон VHID-үүдээс бусдаараа адилхан тохируулагдсан байх ёстой. Энэ жишээн дээр эдгээр машинуудыг hosta.example.org болон hostb.example.org гэж нэрлэсэн байгаа. Эхлээд CARP-ийн тохиргоонд шаардлагатай мөрүүдийг rc.conf файлд нэмэх хэрэгтэй. hosta.example.org хостын хувьд rc.conf файл доор дурдсан мөрүүдийг агуулсан байх ёстой: hostname="hosta.example.org" ifconfig_fxp0="inet 192.168.1.3 netmask 255.255.255.0" cloned_interfaces="carp0" ifconfig_carp0="vhid 1 pass testpast 192.168.1.50/24" hostb.example.org дээр доор дурдсан мөрүүдийг rc.conf файл агуулсан байх ёстой: hostname="hostb.example.org" ifconfig_fxp0="inet 192.168.1.4 netmask 255.255.255.0" cloned_interfaces="carp0" ifconfig_carp0="vhid 2 pass testpass 192.168.1.51/24" Хамгийн чухал нь ifconfig тушаалд тохируулгаар заагдсан нууц үгс нь адил байх ёстой. carp төхөөрөмжүүд нь зөвхөн зөв нууц үг бүхий машинуудаас ирэх зарлалтуудыг сонсох болно. VHID нь машин бүрийн хувьд өөр өөр байх ёстой. Гурав дахь provider.example.org машиныг аль нэг хост руу хандахад амжилтгүй болоход хандаж болохоор болгож бэлдэх хэрэгтэй. Энэ машинд хоёр carp төхөөрөмж хэрэгтэй болох бөгөөд нэг нэгээрээ хоёр хосттой ажиллах юм. rc.conf-ийн зөв тохиргооны мөрүүд доор дурдсантай төсөөтэй байх болно: hostname="provider.example.org" ifconfig_fxp0="inet 192.168.1.5 netmask 255.255.255.0" cloned_interfaces="carp0 carp1" ifconfig_carp0="vhid 1 advskew 100 pass testpass 192.168.1.50/24" ifconfig_carp1="vhid 2 advskew 100 pass testpass 192.168.1.51/24" Хоёр carp төхөөрөмжтэй байх нь хариу өгөхөө байсан аль нэг машиныг мэдэж IP хаягийг нь авах боломжийг provider.example.org хостод олгох болно. Анхдагч &os; цөм дээр preemption буюу өөр илүү өндөр давуу эрх бүхий бодлого/урсгалаар солигдох боломж идэвхжсэн байж болох юм. Хэрэв тийм бол provider.example.org нь IP хаягийг анхдагч агуулгын сервер рүү суллахгүй байж болох юм. Энэ тохиолдолд администратор интерфэйсийг нударч болох юм. Дараах тушаалыг provider.example.org дээр ажиллуулах шаардлагатай: &prompt.root; ifconfig carp0 down && ifconfig carp0 up Хостод тохирох carp интерфэйс дээр үүнийг хийх ёстой. Энэ хүрэхэд CARP бүрмөсөн идэвхжиж тест хийхэд бэлэн болсон байх ёстой. Сүлжээг дахин эхлүүлэх буюу эсвэл машинуудыг дахин ачаалаад тест хийгээрэй. Дэлгэрэнгүй мэдээллийг &man.carp.4; гарын авлагын хуудаснаас олж болно.
diff --git a/mn_MN.UTF-8/books/handbook/config/chapter.sgml b/mn_MN.UTF-8/books/handbook/config/chapter.sgml index 452c997f20..58bfa86234 100644 --- a/mn_MN.UTF-8/books/handbook/config/chapter.sgml +++ b/mn_MN.UTF-8/books/handbook/config/chapter.sgml @@ -1,3110 +1,3110 @@ Шерн Ли Хойно дурдсан заавар болон гарын авлага дээр тулгуурлан бичсэн Майк Смит Зааврыг бичсэн Мэтт Диллон tuning(7)-г бичсэн Цагаанхүүгийн Ганболд Орчуулсан Тохиргоо ба Тааруулалт Ерөнхий агуулга системийн тохиргоо системийн оновчлол &os;-ийн хамгийн чухал зүйлүүдийн нэг нь системийн тохиргоо юм. Зөв системийн тохиргоо нь ирээдүйн шинэчлэлтүүдийн үед толгойн өвчин гаргахгүй байхад тусална. Энэ бүлэг &os; системийг тааруулахад хэрэглэгддэг зарим нэг параметрүүд болон тохиргооны процессийн талаар илүү тайлбарлах болно. Энэ бүлгийг уншсаны дараа, та дараах зүйлсийг мэдэх болно: Файлын системүүд болон хуваалтуудтай хэрхэн үр ашигтай ажиллах талаар. rc.conf тохиргоо болон /usr/local/etc/rc.d эхлэлийн системүүдийн үндсүүд. Сүлжээний картыг хэрхэн тохиргоо болон тест хийх талаар. Сүлжээний төхөөрөмж дээрээ виртуал хостууд хэрхэн тохируулах талаар. /etc дэх төрөл бүрийн тохиргооны файлыг хэрхэн ашиглах талаар. sysctl хувьсагчуудыг ашиглан &os;-ийг хэрхэн тааруулах талаар. Дискний хурдан ажиллагааг хэрхэн тааруулах болон цөмийн хязгааруудыг хэрхэн өөрчлөх талаар. Энэ бүлгийг уншихаасаа өмнө, та дараах зүйлсийг мэдэх шаардлагатай: &unix; болон &os;-ийн үндсийг ойлгох (). Цөмийн тохиргоо/хөрвүүлэлтийн үндсүүдийн талаар ойлголттой байх (). Эхний Тохиргоо Хуваалтын байрлал хуваалтын байрлал /etc /var /usr Үндсэн Хуваалтууд &man.bsdlabel.8; болон &man.sysinstall.8; ашиглан файлын системүүдийг байрлуулахдаа хатуу хөтлөгчүүд өгөгдлийг дотоод замуудаас илүү гаднах замуудаас хурдан шилжүүлдгийг санаарай. Тиймээс жижиг, байнга ханддаг файлын системүүд хөтлөгчийн гадна тал уруу ойрхон байх ёстой бөгөөд /usr зэрэг том хуваалтууд дотор тал уруу байх хэрэгтэй. Хуваалтуудыг иймэрхүү дарааллаар байрлуулах нь зөв юм: root, swap, /var, /usr. /var-ийн хэмжээ төлөвлөсөн машины хэрэглээг тусгадаг. /var нь шуудангийн хайрцгууд, бүртгэлийн файлууд, болон принтерийн spool агуулдаг. Шуудангийн хайрцгууд болон бүртгэлийн файлууд хичнээн хэрэглэгч байгаа болон ямар хугацаанд бүртгэлийн файлууд байхаас хамаараад төсөөлөшгүй хэмжээнд хүртэл ихсэж болдог. Ихэнх хэрэглэгчид гигабайтыг шаардахгүй боловч /var/tmp нь багцуудыг багтаахаар том байх шаардлагатай. /usr хуваалт &man.ports.7; цуглуулга (байлгахыг зөвлөдөг), болон эх код (заавал биш) зэрэг системийг дэмжихэд шаардлагатай ихэнх файлуудыг агуулдаг. Эдгээрийг суулгалтын үед сонгох боломжтой. Энэ хуваалтад хамгийн багаар 2 гигабайтыг зөвлөдөг. Хуваалтын хэмжээг сонгохдоо зайн шаардлагыг бодох хэрэгтэй. Нэг хуваалт нь бараг л ашиглагдахгүй байхад нөгөө нь зайгүй болж байх нь асуудал юм. &man.sysinstall.8;-ийн Auto-defaults хуваалтын хэмжээг өгөгч нь заримдаа /var болон / хуваалтуудад боломжоос бага хэмжээг сонгодгийг зарим хэрэглэгчид олсон байна. Хуваалтыг ухаалгаар харамгүй хийгээрэй. Swap Хуваалт swap хэмжээ нэмэх swap хуваалт Swap хуваалтын хэмжээ системийн санах ойг (RAM) хоёр дахин авсан хэмжээтэй байх ёстой. Жишээлбэл машин 128 мегабайт санах ойтой бол swap файл 256 мегабайт байх ёстой. Бага санах ойтой системүүд их swap-тай бол илүү хурдан ажиллаж болох юм. 256 мегабайтаас бага swap-ийг хэрэглэхийг зөвлөдөггүй бөгөөд санах ойн өргөтгөл хэрэгтэй. Цөмийн VM хуудаслах алгоритмууд нь багаар бодоход гол санах ойг хоёр дахин авсантай тэнцэх swap хуваалттай байх үед хамгийн хурдан ажиллахаар тааруулагдсан байдаг. Хэтэрхий бага swap тохируулах нь VM хуудас скан хийх кодыг үр ашиггүйтэлд хүргэж илүү санах ой хожим нэмэхэд асуудал үүсгэж болох юм. Олон SCSI дискнүүд бүхий (эсвэл олон IDE дискнүүд өөр өөр хянагчууд дээр ажиллаж байгаа) томоохон системүүдэд swap-ийг хөтлөгч болгон дээр (4 хөтлөгч хүртэл) тохируулахыг зөвлөдөг. Swap хуваалтууд нь ойролцоогоор адилхан хэмжээний байх шаардлагатай. Цөм дурын хэмжээтэй ажиллаж чадах боловч дотоод өгөгдлийн бүтцүүд хамгийн том swap хуваалтыг 4 дахин авсантай адил хэмжээгээр томрох боломжтой. Swap хуваалтуудыг ойролцоогоор адил хэмжээтэй байлгах нь swap зайг дискнүүдийн дагуу оновчтойгоор судал үүсгэх боломжийг цөмд олгодог. Swap их ашиглагддаггүй байсан ч гэсэн том swap хэмжээ байж болно. Хүчээр дахин ачаалагдах үед дагаж хаагдсан програмаас өгөгдлийг сэргээх нь амархан байж болох юм. Яагаад Хуваах хэрэгтэй гэж? Зарим хэрэглэгчид ганц том хуваалт байхад болно гэж боддог, гэхдээ энэ нь яагаад буруу болох хэд хэдэн шалтгаан бий. Нэгдүгээрт хуваалт болгон өөр өөр ажиллагааны шинж чанаруудтай бөгөөд тэдгээрийг тусгаарласнаар файлын системийг тэдгээрт тааруулах боломжийг олгодог. Жишээ нь root болон /usr хуваалтууд байнга бичигдэхээсээ илүү ихэвчлэн уншигддаг. Харин уншилт болон бичилт /var болон /var/tmp-д байнга хийгддэг. Системийг зөв хувааснаар ачаалалтай хуваалтуудад хийсэн жижиг бичилтээр гарсан хэсэглэлт илүүдэж байнга уншигддаг хуваалтууд уруу хальдаггүй. Бичилт-ачаалсан хуваалтуудыг дискний ирмэг уруу байрлуулах нь бичилт ихэвчлэн хийгддэг хуваалтууд дахь I/O ажиллагааг хурдасгадаг. Том хуваалтуудад I/O-н хурдан ажиллагаа хэрэгтэй байж болох ч тэдгээрийг дискний ирмэг уруу илүүтэй ойртуулах нь /var-ийг ирмэг уруу шилжүүлснээс илүү мэдэгдэхүйц хурдан ажиллагаанд хүргэхгүй. Эцэст нь найдвартай байдлыг бодох ёстой. Ихэвчлэн уншигддаг, жижиг, цэвэрхэн root хуваалт хэцүү сүйрэл болоход сэргэх боломж нь хамаагүй илүү байна. Гол Тохиргоо rc файлууд rc.conf Системийн тохиргооны мэдээлэл /etc/rc.conf дотор байдаг. Энэ файл нь өргөн хүрээний, зарчмын хувьд системийг эхлэх үед системийг тохируулахад ашиглагддаг тохиргооны мэдээллүүдээс тогтоно. Үүний нэр нь шууд утгыг тодорхойлно; энэ нь rc* файлуудад зориулсан тохиргооны мэдээлэл юм. Администратор /etc/defaults/rc.conf-ийн анхдагч утгуудыг rc.conf файлд өөрчилж оруулах хэрэгтэй. Анхдагчуудын файл /etc уруу хуулагдах ёсгүй - энэ нь жишээ биш анхдагч утгуудыг агуулдаг. Бүх системийн холбогдолтой өөрчлөлтүүд rc.conf файлд өөрт нь хийгдэх ёстой. Удирдлагын нэмэлт ачааллыг байнга бага байлгахын тулд сайт дагуух тохиргоог системийн тусгайлсан тохиргооноос тусгаарлах хэд хэдэн стратеги кластер хийгдсэн програмуудад байж болох юм. Сайтын дагуух тохиргоог /etc/rc.conf.site зэрэг өөр файлд байрлуулж дараа нь энэ файлыг зөвхөн системийн тусгайлсан мэдээллийг агуулдаг /etc/rc.conf-д оруулахыг зөвлөдөг. rc.conf нь &man.sh.1;-ээр уншигддаг болохоор үүнийг хийхэд амархан байна. Жишээ нь: rc.conf: . /etc/rc.conf.site hostname="node15.example.com" network_interfaces="fxp0 lo0" ifconfig_fxp0="inet 10.1.1.1" rc.conf.site: defaultrouter="10.1.1.254" saver="daemon" blanktime="100" Дараа нь rc.conf.site файл систем болгонд rsync эсвэл адил програмаар түгээгдэж болох бөгөөд харин rc.conf файл нь өөр өөр хэвээр байх болно. &man.sysinstall.8; эсвэл make world ашиглан системийг шинэчлэхэд rc.conf файлыг дарж бичихгүй, тэгэхээр системийн тохиргооны мэдээлэл хаягдахгүй. Програмын Тохиргоо Ерөнхийдөө суулгасан програмууд нь өөрийн дүрэм гэх мэт онцлогтой өөр өөрийн тохиргооны файлуудтай байдаг. Эдгээр файлуудыг багц удирдах хэрэгслүүдээр амархан олж удирдаж болохоор үндсэн системээс тусад нь байлгах нь чухал юм. /usr/local/etc Ерөнхийдөө эдгээр файлууд нь /usr/local/etc дотор суулгагддаг. Програм их олон тооны тохиргооны файлуудтай тохиолдолд тэдгээрийг агуулж дэд сан үүсгэгдэнэ. Ихэнхдээ порт эсвэл багц суухад жишээ тохиргооны файлууд бас суудаг. Эдгээр нь ихэнхдээ .default дагавраар танигддаг. Хэрэв програмын хувьд тохиргооны файлууд байхгүй байвал тэдгээрийг .default файлуудыг хуулж үүсгэнэ. Жишээ нь /usr/local/etc/apache санд байгаа файлуудыг үзье: -rw-r--r-- 1 root wheel 2184 May 20 1998 access.conf -rw-r--r-- 1 root wheel 2184 May 20 1998 access.conf.default -rw-r--r-- 1 root wheel 9555 May 20 1998 httpd.conf -rw-r--r-- 1 root wheel 9555 May 20 1998 httpd.conf.default -rw-r--r-- 1 root wheel 12205 May 20 1998 magic -rw-r--r-- 1 root wheel 12205 May 20 1998 magic.default -rw-r--r-- 1 root wheel 2700 May 20 1998 mime.types -rw-r--r-- 1 root wheel 2700 May 20 1998 mime.types.default -rw-r--r-- 1 root wheel 7980 May 20 1998 srm.conf -rw-r--r-- 1 root wheel 7933 May 20 1998 srm.conf.default Файлын хэмжээнүүд нь зөвхөн srm.conf файл өөрчлөгдсөнийг харуулж байна. Apache портын дараагийн шинэчлэл энэ өөрчлөгдсөн файлыг дарж хуулахгүй. Том Рөүдс Хувь нэмэр болгон оруулсан Цагаанхүүгийн Ганболд Орчуулсан Үйлчилгээнүүдийг эхлүүлэх нь үйлчилгээнүүд Олон хэрэглэгчид Портуудын Цуглуулгаас гуравдагч програм хангамжуудыг &os; дээр суулгахаар сонгодог. Ихэнх тохиолдолд програм хангамжийг систем ачаалахад эхлүүлэхээр тохируулах шаардлагатай байж болох юм. mail/postfix эсвэл www/apache13 зэрэг үйлчилгээнүүд нь системийг ачаалахад эхлүүлж болох програм хангамжийн багцуудын зөвхөн хоёрхон жишээ юм. Энэ хэсэгт гуравдагч програм хангамжийг ажиллуулах процедурын талаар тайлбарлах болно. &os; дээр &man.cron.8; зэрэг ихэнх үйлчилгээнүүд системийн эхлүүлэх скриптүүдийн тусламжтай эхэлдэг. Эдгээр скриптүүд &os; эсвэл үйлдвэрлэгчийн хувилбараас хамааран өөр өөр байна; гэхдээ хамгийн чухал авч үзэх зүйл нь тэдгээрийн эхлэх тохиргоог энгийн эхлүүлэх скриптүүдээр хийх боломжтой явдал юм. rc.d-ээс өмнө програм хангамжууд энгийн эхлүүлэх скриптээ системийн эхлүүлэх скриптүүдийн уншдаг /usr/local/etc/rc.d санд хийдэг байсан. Дараа нь эдгээр скриптүүд нь системийн ачаалалтын сүүлийн шатуудад ажилладаг. Олон хувь хүмүүс хуучин тохиргооны загварыг шинэ систем уруу нийлүүлэх гэж олон цагийг зарсаар байгаа боловч зарим гуравдагч хэрэгслүүд скриптээ дээр дурдсан сан уруу хийхийг шаардсан хэвээр байгаа юм. Скриптүүдийн гол ялгаанууд нь rc.d ашиглаж байгаа эсэхээс хамаарна. &os; 5.1-ээс өмнө хуучин тохиргооны загвар ашиглагдаж байсан бөгөөд бараг бүх л тохиолдлуудад шинэ загварын скриптүүд ч бас зүгээр ажиллах юм. Скрипт бүр зарим хамгийн бага шаардлагыг хангах ёстой боловч ихэнхдээ &os;-ийн хувилбараас хамаарна. Скрипт бүр төгсгөлдөө .sh өргөтгөл залгаатай байх шаардлагатай бөгөөд скрипт бүр систем дээр ажиллах боломжтой байх ёстой. Сүүлийнхийг chmod тушаал ашиглан ганц 755 эрхийг заан хийж болно. Мөн хамгийн багаар бодоход програмыг эхлүүлэх болон зогсоох тохируулгууд байх ёстой. Хамгийн энгийн эхлүүлэх скрипт яг энэн шиг харагдах болов уу: #!/bin/sh echo -n ' utility' case "$1" in start) /usr/local/bin/utility ;; stop) kill -9 `cat /var/run/utility.pid` ;; *) echo "Usage: `basename $0` {start|stop}" >&2 exit 64 ;; esac exit 0 Энэ скрипт utility хэмээгдсэн програмд зориулагдсан зогсоох болон эхлүүлэх тохируулгатай байна. Гараар ингэж эхлүүлж болно: &prompt.root; /usr/local/etc/rc.d/utility.sh start Бүх гуравдагч програм хангамжууд rc.conf-д мөр байхыг шаарддаггүй боловч бараг л өдөр болгон шинэ порт энэ тохиргоог авахаар өөрчлөгдөж байна. Тухайн програмын талаар дэлгэрэнгүй мэдээллийг суулгалтын сүүлийн дэлгэцэд гаргасан үр дүнгээс шалгаарай. Зарим гуравдагч програм хангамжууд програмыг rc.d-тэй цуг ашиглахыг зөвшөөрдөг эхлүүлэх скриптүүдтэй байдаг; гэхдээ энэ нь дараагийн хэсэгт хэлэлцэгдэнэ. Програмын Өргөтгөсөн Тохиргоо Одоогийн &os;-ийн rc.d-г агуулдаг нь програмын эхлүүлэх тохиргоог илүү хялбар, боломжтой болгосон. rc.d хэсэгт хэлэлцсэн түлхүүр үгүүдийг ашиглан програмууд жишээ нь DNS зэрэг зарим үйлчилгээнүүдийн дараа ажиллахаар тохируулагдаж болно; эхлүүлэх скриптүүдэд хатуугаар бичигдсэн тугуудын оронд rc.conf-оор нэмэлт тугуудыг өгөхийг зөвшөөрч болох гэх мэт. Үндсэн скрипт дараах байдлаар харагдаж болно: #!/bin/sh # # PROVIDE: utility # REQUIRE: DAEMON # KEYWORD: shutdown # # DO NOT CHANGE THESE DEFAULT VALUES HERE # SET THEM IN THE /etc/rc.conf FILE # utility_enable=${utility_enable-"NO"} utility_flags=${utility_flags-""} utility_pidfile=${utility_pidfile-"/var/run/utility.pid"} . /etc/rc.subr name="utility" rcvar=`set_rcvar` command="/usr/local/sbin/utility" load_rc_config $name pidfile="${utility_pidfile}" start_cmd="echo \"Starting ${name}.\"; /usr/bin/nice -5 ${command} ${utility_flags} ${command_args}" run_rc_command "$1" Энэ скрипт нь өгөгдсөн utilitydaemon үйлчилгээний дараа ажиллуулахаар тохируулагдсан. Мөн PID, эсвэл процессийн ID файлыг заах болон дагах аргыг бас хангадаг. Энэ програм дараах мөрийг /etc/rc.conf файлд оруулж болно: utility_enable="YES" Энэхүү арга нь тушаалын мөрийн нэмэлт өгөгдлүүдийг илүү хялбараар удирдах боломжийг зөвшөөрдөг бөгөөд /etc/rc.subr дахь анхдагч функцуудыг оруулах, &man.rcorder.8; хэрэгсэлтэй нийцтэй байх, болон rc.conf файлын тусламжтай хялбараар тохиргоо хийх боломжийг бас хангадаг. Үйлчилгээнүүдийг эхлүүлэхийн тулд үйлчилгээнүүдийг ашиглах нь POP3 сервер дэмонууд, IMAP зэрэг бусад үйлчилгээнүүд &man.inetd.8; ашиглан эхэлж болдог. Энэ нь Портуудын Цуглуулгаас /etc/inetd.conf файлд нэмэгдэх мөр бүхий эсвэл одоогийн байгаа мөрүүдийн нэгнээс тайлбарыг болиулж идэвхжүүлдэг үйлчилгээний хэрэгслийг суулгаснаар хэрэгждэг. inetd болон түүний тохиргоотой ажиллах талаар inetd хэсэгт гүнзгий тайлбарласан байгаа болно. Зарим тохиолдолд &man.cron.8; ашиглан системийн үйлчилгээнүүдийг эхлүүлэх нь илүү ашигтай байж болох юм. Энэ арга нь хэд хэдэн давуу талуудтай бөгөөд учир нь cron эдгээр процессуудыг crontab-н файлын эзэмшигчийн эрхээр ажиллуулдаг. Энэ нь ердийн хэрэглэгчдэд зарим програмуудыг эхлүүлж ажиллагааг хангах боломжийг олгодог. cron хэрэгсэл @reboot гэсэн бусдад байхгүй боломжийг олгодог бөгөөд цаг хугацааг заах хэсэгт ашиглагдах боломжтой. Энэ нь системийг эхлүүлэх явцад &man.cron.8; эхлэх үед тухайн ажлыг ажиллуулдаг. Том Рөүдс Хувь нэмэр болгон оруулсан Цагаанхүүгийн Ганболд Орчуулсан <command>cron</command> хэрэгслийг тохируулах нь cron тохиргоо &os;-ийн хамгийн ашигтай хэрэгслүүдийн нэг нь &man.cron.8; юм. cron хэрэгсэл ард ажилладаг бөгөөд /etc/crontab файлыг байнга шалгаж байдаг. cron хэрэгсэл /var/cron/tabs сангаас шинэ crontab файлуудыг бас шалгадаг. Эдгээр crontab файлууд нь тусгай функцуудыг агуулдаг бөгөөд эдгээрийг cron тодорхой хугацаанд ажиллуулах ёстой байдаг. cron хэрэгсэл системийн crontab болон хэрэглэгчийн crontab гэсэн хоёр төрлийн тохиргооны файлыг ашигладаг. Энэ хоёр хэлбэршилтийн зөвхөн ялгаа нь зургаа дахь талбар юм. Системийн crontab дээрх зургаа дахь талбар нь тушаалыг ажиллуулах хэрэглэгчийн нэр байдаг. Энэ нь системийн crontab-ийг ямар ч хэрэглэгчийн эрхээр тушаалуудыг ажиллуулах боломж олгодог. Хэрэглэгчийн crontab дээрх зургаа дахь талбар нь ажиллуулах тушаал бөгөөд бүх тушаалууд нь crontab-ийг үүсгэсэн хэрэглэгчийн эрхээр ажилладаг; энэ нь аюулгүй байдлын нэг чухал боломж юм. Хэрэглэгчийн crontab-ууд нь хэрэглэгчдэд root эрхийн шаардлагагүйгээр бодлогуудыг цагийн хуваариар ажиллуулах боломж олгодог. Хэрэглэгчийн crontab дахь тушаалууд нь crontab-ийг эзэмшиж байгаа хэрэглэгчийн эрхээр ажилладаг. root хэрэглэгч бас бусад хэрэглэгчийн нэгэн адил хэрэглэгчийн crontab-тай байж болно. Энэ нь /etc/crontab-аас (системийн crontab) өөр байна. Системийн crontab байдаг учраас root хэрэглэгчийн хувьд ихэнхдээ хэрэглэгчийн crontab шаардлагагүй байдаг. /etc/crontab файлыг (системийн crontab) харцгаая: # /etc/crontab - root's crontab for &os; # # $&os;: src/etc/crontab,v 1.32 2002/11/22 16:13:39 tom Exp $ # # SHELL=/bin/sh PATH=/etc:/bin:/sbin:/usr/bin:/usr/sbin HOME=/var/log # # #minute hour mday month wday who command # # */5 * * * * root /usr/libexec/atrun &os;-ийн ихэнх тохиргооны файлуудын адил # тэмдэгт тайлбарыг илэрхийлнэ. Тайлбарыг хүсэж байгаа үйлдэл нь юу болох яагаад хийгдэж байгааг сануулах зорилгоор файлд тавьж болдог. Тайлбаруудыг тушаал байгаа мөрд хийж болохгүй бөгөөд ингэсэн тохиолдолд тушаалын хэсэг мэтээр ойлгогдоно; тэдгээр нь шинэ мөрөнд байх ёстой. Хоосон мөрүүдийг тооцохгүй. Эхлээд орчин тодорхойлогдох шаардлагатай. Тэнцүүгийн (=) тэмдэг орчны тохиргоог тодорхойлоход ашиглагддаг бөгөөд энэ жишээн дээр SHELL,PATH, болон HOME тохируулгуудад ашиглагдаж байна. Хэрэв бүрхүүлийн мөрийг орхисон бол cron анхдагч болох sh-ийг ашигладаг. Хэрэв PATH хувьсагчийг орхисон бол ямар ч анхдагч ашиглагдахгүй бөгөөд файлын байрлалууд абсолют байх хэрэгтэй. Хэрэв HOME мөрийг орхисон бол cron ажиллуулж байгаа хэрэглэгчийн гэрийн санг ашигладаг. Энэ мөр нь нийт долоон талбарыг тодорхойлдог. Энд жагсаагдсан утгууд нь minute, hour, mday, month, wday, who, болон command юм. Эдгээрийг нэрээс нь харахад ойлгомжтой. minute нь тушаал ажиллах минутаар илэрхийлэгдсэн хугацаа. hour нь minute-ын адил тохируулга бөгөөд цагаар илэрхийлэгддэг. mday нь сарын өдрийг заана. month нь hour болон minute-тай адил бөгөөд сарыг зааж өгнө. wday тохируулга нь долоо хоногийн өдрийг заана. Эдгээр бүх талбарууд нь тоон утга байх ёстой бөгөөд хорин дөрвөн цагийг дагадаг. who талбар нь тусгай бөгөөд зөвхөн /etc/crontab файлд байдаг. Энэ талбар нь аль хэрэглэгчийн эрхээр тушаал ажиллахыг заадаг. Хэрэглэгч өөрийн crontab файлыг суулгах үед энэ тохируулга байдаггүй. Эцэст нь command тохируулга жагсаагддаг. Энэ нь сүүлийн талбар бөгөөд ажиллуулах тушаалд зориулагдсан байх ёстой. Энэ сүүлийн мөр нь дээр дурдсан утгуудыг тодорхойлдог. Энд бид хэд хэдэн * тэмдэгтүүд дараалсан */5 гэсэн жагсаалт байгааг анзаарах хэрэгтэй. Эдгээр * тэмдэгтүүд нь эхний-эцсийн гэсэн үг бөгөөд үргэлж гэж ойлгогдож болно. Тэгвэл энэ мөрөөс үзэхэд atrun тушаал нь root эрхээр 5 минут тутам аль өдөр сар байгаагаас үл хамааран ажиллана. atrun тушаалын талаар дэлгэрэнгүй мэдээллийг &man.atrun.8; гарын авлагаас үзнэ үү. Тушаалууд тэдгээрт өгч болох дурын тооны тугуудтай байж болно; гэхдээ олон мөр болон уртассан тушаалууд урагшаа ташуу \ үргэлжлүүлэх тэмдэгтээр хуваагдсан байх ёстой. Энэ нь crontab файл болгоны хувьд үндсэн тохиргоо байна, гэхдээ нэг зүйл нь үүнээс өөр байна. Хэрэглэгчийг заадаг зургаа дахь талбар нь зөвхөн системийн /etc/crontab файлд байна. Энэ талбарыг хэрэглэгчийн crontab файлуудын хувьд орхих хэрэгтэй. Crontab суулгах нь Та энд тайлбарласан процедурыг ашиглан системийн crontab-ийг засаж/суулгах шаардлагагүй. Зүгээр л өөрийн дуртай засварлагчийг ашигла: cron хэрэгсэл файл өөрчлөгдсөнийг мэдээд тэр даруй шинэчлэгдсэн хувилбарыг ашиглаж эхэлнэ. Дэлгэрэнгүй мэдээллийг Энэ БХА-ын оруулгаас үзнэ үү. Хэрэглэгчийн бичсэн шинэ crontab файлыг суулгахын тулд эхлээд өөрийн дуртай засварлагчийг ашиглаад зөв хэлбэршилттэй файл үүсгээд дараа нь crontab хэрэгслийг ашигла. Хамгийн их ашиглагддаг тушаал бол: &prompt.user; crontab crontab-file Энэ жишээн дээрх crontab-file нь урд нь үүсгэгдсэн crontab-ийн файлын нэр юм. Суулгасан crontab файлуудыг үзүүлдэг тохируулга бас байдаг: тохируулгыг crontab уруу өгч ажиллуулаад гарах үр дүнг хараарай. Өөрийн crontab файлыг загвар ашиглалгүйгээр эхнээс нь эхлүүлэхийг хүссэн хэрэглэгчдэд зориулсан crontab -e тохируулга байдаг. Энэ нь сонгосон засварлагчийг хоосон файлтай ажиллуулдаг. Файл хадгалагдсаны дараа автоматаар crontab тушаалаар суулгагддаг. Хэрэв та дараа нь өөрийн хэрэглэгчийн crontab-ийг бүр мөсөн устгахыг хүсвэл crontab-ийг тохируулгатай ашиглаарай. Том Рөүдс Хувь нэмэр болгон оруулсан Цагаанхүүгийн Ганболд Орчуулсан &os; дээр rc ашиглах нь 2002 онд &os; системийг эхлүүлэхэд зориулж NetBSD-ийн rc.d системийг оруулсан. Хэрэглэгчид /etc/rc.d сан доторх файлуудыг анзаарах хэрэгтэй. Эдгээр файлуудын ихэнх нь , , болон тохируулгуудаар хянагддаг үндсэн үйлчилгээнүүд байдаг. Жишээ нь &man.sshd.8; нь дараах тушаалаар дахин эхлэж болно: &prompt.root; /etc/rc.d/sshd restart Энэ процедур нь бусад үйлчилгээнүүдийн адил юм. Мэдээж үйлчилгээнүүд ихэнхдээ автоматаар &man.rc.conf.5;-д зааснаар ачаалах үед эхэлдэг. Жишээ нь Сүлжээний Хаяг Хөрвүүлэх дэмонг эхлэх үед ажиллуулахаар нээх нь амархан бөгөөд /etc/rc.conf-д дараах мөрийг нэмдэг: natd_enable="YES" Хэрэв мөр аль хэдийн байвал -ийг болгож өөрчлөөрэй. rc скриптүүд өөр бусад хамааралтай үйлчилгээнүүдийг дараагийн дахин ачаалалтын үеэр доор тайлбарласны дагуу автоматаар ачаалдаг. rc.d систем нь үндсэндээ системийн эхлэх/унтрах үеэр үйлчилгээнүүдийг эхлүүлэх/зогсоох зорилготой бөгөөд стандарт , болон тохируулгууд нь зөвхөн /etc/rc.conf-ийн харгалзах хувьсагчууд заагдсан үед өөрийн үйлдлийг гүйцэтгэдэг. Жишээ нь дээр дурдсан sshd restart тушаал нь /etc/rc.confsshd_enable хувьсагч гэсэн тохиолдолд зөвхөн ажиллана. /etc/rc.conf-д байгаа тохируулгаас үл хамааран үйлчилгээг , эсвэл хийхийн тулд тушаалууд one угтвартай байх шаардлагатай. Жишээ нь sshd/etc/rc.conf дахь тохиргооноос үл хамааран дахин эхлүүлэхдээ дараах тушаалыг ашиглана: &prompt.root; /etc/rc.d/sshd onerestart Тохирох rc.d скриптийг тохируулгатай ажиллуулж /etc/rc.conf-д үйлчилгээ нээгдсэн эсэхийг амархан шалгадаг. Тиймээс администратор sshd/etc/rc.conf-д нээгдсэн эсэхийг дараах тушаалыг ажиллуулж шалгаж болно: &prompt.root; /etc/rc.d/sshd rcvar # sshd $sshd_enable=YES Хоёр дахь мөр (# sshd) нь root консолынх биш sshd тушаалын гаргасан үр дүн юм. Үйлчилгээг ажиллах байгаа эсэхийг шалгах тохируулга байдаг. Жишээ нь sshd эхэлсэн эсэхийг шалгахдаа: &prompt.root; /etc/rc.d/sshd status sshd is running as pid 433. Зарим тохиолдолд үйлчилгээг хийх бас боломжтой байдаг. Энэ нь үйлчилгээг өөрийн тохиргооны файлуудыг дахин уншихыг зааж үйлчилгээ уруу дохио шидэхийг оролддог. Ихэнх тохиолдолд энэ нь үйлчилгээ уруу SIGHUP дохио шиднэ гэсэн үг юм. Үйлчилгээ болгонд энэ боломжийн дэмжлэг байдаггүй. rc.d систем нь зөвхөн сүлжээний үйлчилгээнд ашиглагдаад зогсохгүй мөн системийн эхлүүлэлтэд бас ихээхэн хувь нэмэр оруулдаг. Жишээ нь bgfsck файлыг авч үзье. Энэ скрипт ажиллахад дараах мэдээллийг хэвлэж гаргана: Starting background file system checks in 60 seconds. Тиймээс энэ файлыг зөвхөн системийг эхлүүлэх үед файлын системийн арын шалгалтыг хийхэд хэрэглэдэг. Системийн олон үйлчилгээнүүд зөв ажиллахын тулд бусад үйлчилгээнүүдээс хамаардаг. Жишээ нь NIS болон бусад RPC дээр тулгуурласан үйлчилгээнүүд rpcbind (portmapper) үйлчилгээ ажиллахаас нааш амжилттай ажилладаггүй. Үүнийг шийдэхийн тулд хамаарлуудын тухай болон бусад мета-өгөгдлийн тухай мэдээллийг эхлүүлэх скрипт бүрийн дээд хэсэгт тайлбараар оруулсан байдаг. &man.rcorder.8; програм хамаарлуудыг хангаж системийн үйлчилгээнүүдийг ямар дарааллаар ажиллуулах ёстойг тогтоохын тулд эдгээр тайлбаруудыг уншдаг. Дараах үгнүүдийг эхлүүлэх скрипт бүрийн дээд хэсэг оруулсан байж болно: PROVIDE: Энэ файлын хангаж байгаа үйлчилгээнүүдийг заана. REQUIRE: Энэ үйлчилгээнд шаардлагатай үйлчилгээнүүдийг жагсаана. Энэ файл заагдсан үйлчилгээнүүдийн дараа ажиллана. BEFORE: Энэ үйлчилгээнээс хамааралтай үйлчилгээнүүдийг жагсаана. Энэ файл заагдсан үйлчилгээнүүдийн өмнө ажиллана. Энэ аргыг ашигласнаар администратор системийн үйлчилгээнүүдийг бусад зарим &unix; үйлдлийн системүүд шиг ажиллах түвшингүүдтэй (runlevels) зууралдалгүйгээр амарханаар хянадаг. rc.d системийн талаар нэмэлт мэдээллийг &man.rc.8; болон &man.rc.subr.8; гарын авлагын хуудаснуудаас олж болно. Хэрэв та өөрийн rc.d скриптүүд бичих эсвэл байгаагаа сайжруулахыг сонирхож байгаа бол танд бас энэ нийтлэл хэрэгтэй байж болох юм. Марк Фонвил Хувь нэмэр болгон оруулсан Цагаанхүүгийн Ганболд Орчуулсан Сүлжээний интерфэйс картууд суулгах нь сүлжээний картууд тохиргоо Өнөөдөр бид сүлжээний холболтгүй компьютерийн талаар бодох ч аргагүй болсон билээ. Сүлжээний картыг нэмж тохируулах нь &os;-ийн дурын администраторын ердийн ажил болдог. Тохирох драйверийг олох нь сүлжээний картууд драйвер Эхлэхээсээ өмнө та өөрт байгаа картынхаа загвар, түүнд ашигласан бичил схем болон PCI эсвэл ISA картын аль нь эсэхийг мэдэх шаардлагатай. &os; өргөн төрлийн PCI болон ISA картуудыг дэмждэг. Таны карт таны ашиглах хувилбар дээр дэмжигдсэн эсэхийг Тоног Төхөөрөмжийн Нийцтэй Байдлын Жагсаалтаас шалгаарай. Таны карт дэмжигдсэнийг мэдсэний дараа та өөрийн картанд тохирох драйвераа тодорхойлох хэрэгтэй. /usr/src/sys/conf/NOTES болон /usr/src/sys/arch/conf/NOTES нь сүлжээний интерфэйс драйверуудын жагсаалтыг дэмжигдсэн бичил схем/картуудын тухай зарим мэдээллийн хамтаар танд өгөх болно. Хэрэв та аль драйвер нь зөв эсэхэд эргэлзэж байгаа бол драйверийн гарын авлагын хуудсыг уншаарай. Гарын авлагын хуудас нь дэмжигдсэн тоног төхөөрөмж болон бүр учирч болзошгүй асуудлуудын тухай дэлгэрэнгүй мэдээллийг өгдөг. Хэрэв та ердийн карттай бол ихэнхдээ драйверийг хичээнгүйлэн хайх шаардлагагүй юм. Ердийн сүлжээний картуудад зориулсан драйверууд нь GENERIC цөмд байдаг, тэгэхээр таны карт ачаалах явцад иймэрхүү харагдах ёстой: dc0: <82c169 PNIC 10/100BaseTX> port 0xa000-0xa0ff mem 0xd3800000-0xd38 000ff irq 15 at device 11.0 on pci0 dc0: Ethernet address: 00:a0:cc:da:da:da miibus0: <MII bus> on dc0 ukphy0: <Generic IEEE 802.3u media interface> on miibus0 ukphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto dc1: <82c169 PNIC 10/100BaseTX> port 0x9800-0x98ff mem 0xd3000000-0xd30 000ff irq 11 at device 12.0 on pci0 dc1: Ethernet address: 00:a0:cc:da:da:db miibus1: <MII bus> on dc1 ukphy1: <Generic IEEE 802.3u media interface> on miibus1 ukphy1: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto Энэ жишээн дээр систем дээр байгаа хоёр карт &man.dc.4; драйверийг ашиглаж байгааг бид харж байна. Хэрэв таны NIC-д (Network Interface Card буюу Сүлжээний Интерфэйс Карт) зориулсан драйвер GENERIC-д байхгүй бол та өөрийн NIC-г ашиглахын тулд тохирох драйверийг ачаалах хэрэгтэй. Ингэхийн тулд хоёр аргын аль нэгийг ашиглана: Хамгийн амархан арга нь ердөө л өөрийн сүлжээний картанд зориулсан цөмийн модулийг &man.kldload.8; ашиглан эсвэл тохирох мөрийг /boot/loader.conf-д нэмж ачаалах үед автоматаар ачаалах юм. Бүх NIC драйверууд модуль хэлбэрээр байдаггүй; модулиуд нь байдаггүй төхөөрөмжүүдийн дурдаж болох жишээнүүд гэвэл ISA картууд юм. Өөр нэг арга нь та өөрийн картын дэмжлэгийг цөмд оруулан статикаар хөрвүүлж болох юм. Өөрийн цөмийн тохиргооны файлд юу нэмэх ёстойг мэдэхийн тулд /usr/src/sys/conf/NOTES, /usr/src/sys/arch/conf/NOTES болон драйверийн гарын авлагын хуудсыг шалгаарай. Цөмийг дахин хөрвүүлэх талаар дэлгэрэнгүй мэдээллийг -с үзнэ үү. Хэрэв таны картыг таны цөм (GENERIC) ачаалах явцад илрүүлсэн бол та шинэ цөм бүтээх шаардлагагүй. &windows;-ийн NDIS драйверуудыг ашиглах нь NDIS NDISulator &windows; драйверууд Microsoft Windows Microsoft Windows төхөөрөмжийн драйверууд KLD (kernel loadable object буюу цөмийн ачаалж болох обьект) Харамсалтай нь өөрийн драйверуудад зориулсан схемүүдийг нээлттэй эхийн хүрээнийхэнд өгдөггүй, тийм мэдээллийг худалдааны нууц гэж үздэг олон үйлдвэрлэгчид байсаар байна. Ингэснээр &os; болон өөр үйлдлийн системүүдийн хөгжүүлэгчдэд хоёр сонголт үлдсэн: буцаах инженерчлэлийн хүнд хэцүү, урт хугацааны процессийг туулж драйверуудыг хөгжүүлэх эсвэл µsoft.windows; тавцангуудад байдаг хоёртын хэлбэрийн драйверуудыг ашиглах арга замууд юм. &os;-тэй холбогдсон зэрэг ихэнх хөгжүүлэгчид сүүлийн хандлагыг авч ашигладаг. Билл Полын (wpaul) оруулсан хувь нэмрийн ачаар &os; 5.3-RELEASE-с эхлээд Сүлжээний Драйверийн Интерфэйсийн Тодорхойлолтын (NDIS) эх (native) дэмжлэг ордог болсон. &os; NDISulator (өөрөөр Чөтгөр Төсөл) &windows; хоёртын драйверийг аваад ерөнхийдөө түүнийг &windows; дээр ажиллаж байгаа мэтээр хуурдаг. &man.ndis.4; драйвер нь &windows; хоёртын файл ашиглаж байгаа учраас энэ нь зөвхөн &i386; болон amd64 системүүд дээр хэрэглэгдэх боломжтой. &man.ndis.4; драйвер голчлон PCI, CardBus болон PCMCIA төхөөрөмжүүдийг дэмжихээр хийгдсэн бөгөөд одоогоор USB төхөөрөмжүүдийн дэмжлэг хийгдээгүй. NDISulator ашиглахын тулд танд 3 зүйл хэрэгтэй: Цөмийн эхүүд &windowsxp; драйверийн хоёртын файл (.SYS өргөтгөл) &windowsxp; драйверийн тохиргооны файл (.INF өргөтгөл) Та өөрийн картад зориулсан файлуудыг олоорой. Ерөнхийдөө тэдгээрийг хавсаргасан CD-үүд эсвэл үйлдвэрлэгчүүдийн вэб хуудаснаас олж болно. Дараах жишээнүүдэд бид W32DRIVER.SYS болон W32DRIVER.INF файлуудыг ашиглах болно. Та &windows;/i386 драйверийг &os;/amd64 дээр ашиглаж чадахгүй, зөв ажиллуулахын тулд &windows;/amd64 драйвер заавал олох шаардлагатай. Дараагийн алхамд драйверийн хоёртын файлыг цөмийн ачаалж болох модуль болгон хөрвүүлнэ. Үүнийг хийхийн тулд root эрхээр &man.ndisgen.8;-г хэрэглэнэ: &prompt.root; ndisgen /path/to/W32DRIVER.INF /path/to/W32DRIVER.SYS &man.ndisgen.8; хэрэгсэл нь интерактив бөгөөд шаардлагатай нэмэлт мэдээллийг асуудаг; энэ нь одоо байгаа санд цөмийн модуль үүсгэх бөгөөд дараах маягаар ачаалж болно: &prompt.root; kldload ./W32DRIVER.ko Үүсгэгдсэн цөмийн модулиас гадна та ndis.ko болон if_ndis.ko модулиудыг ачаалах хэрэгтэй. Энэ нь таныг &man.ndis.4;-ээс хамаарсан дурын модулийг ачаалах үед автоматаар хийгдэх ёстой. Хэрэв та тэдгээрийг гараар ачаалахыг хүсвэл дараах тушаалыг ашиглаарай: &prompt.root; kldload ndis &prompt.root; kldload if_ndis Эхний тушаал нь NDIS минипорт драйвер дугтуйлагчийг ачаалах бөгөөд хоёр дахь нь яг сүлжээний интерфэйсийг ачаална. Одоо &man.dmesg.8;-ийг шалгаж ачаалахад алдаа байгаа эсэхийг үзэх хэрэгтэй. Бүгд сайн болж өнгөрсөн бол та дараах үр дүнг харах ёстой: ndis0: <Wireless-G PCI Adapter> mem 0xf4100000-0xf4101fff irq 3 at device 8.0 on pci1 ndis0: NDIS API version: 5.0 ndis0: Ethernet address: 0a:b1:2c:d3:4e:f5 ndis0: 11b rates: 1Mbps 2Mbps 5.5Mbps 11Mbps ndis0: 11g rates: 6Mbps 9Mbps 12Mbps 18Mbps 36Mbps 48Mbps 54Mbps Эндээс эхлээд та ndis0 төхөөрөмжид өөр бусад сүлжээний интерфэйсийн (өөрөөр хэлбэл dc0) нэгэн адилаар хандах боломжтой болох юм. Та бусад модулиудтай адилаар NDIS модулиудыг ачаалах явцад ачаалахаар системийг тохируулж болно. Эхлээд үүсгэгдсэн модуль W32DRIVER.ko/boot/modules уруу хуулах хэрэгтэй. Тэгээд дараах мөрийг /boot/loader.conf-д нэмнэ: W32DRIVER_load="YES" Сүлжээний карт тохируулах нь сүлжээний картууд тохиргоо Сүлжээний картанд зориулсан зөв драйвер ачаалагдсаны дараа картыг тохируулах шаардлагатай. Бусад олон зүйлсийн адил сүлжээний карт нь sysinstall програмаар суулгах явцад тохируулагдаж болно. Таны системийн сүлжээний интерфэйсүүдэд зориулсан тохиргоог харуулахын тулд дараах тушаалыг ажиллуулна: &prompt.user; ifconfig dc0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500 inet 192.168.1.3 netmask 0xffffff00 broadcast 192.168.1.255 ether 00:a0:cc:da:da:da media: Ethernet autoselect (100baseTX <full-duplex>) status: active dc1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500 inet 10.0.0.1 netmask 0xffffff00 broadcast 10.0.0.255 ether 00:a0:cc:da:da:db media: Ethernet 10baseT/UTP status: no carrier lp0: flags=8810<POINTOPOINT,SIMPLEX,MULTICAST> mtu 1500 lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384 inet 127.0.0.1 netmask 0xff000000 tun0: flags=8010<POINTOPOINT,MULTICAST> mtu 1500 &os;-ийн хуучин хувилбарууд тохируулгыг &man.ifconfig.8;-ийн араас залгахыг шаардаж болох бөгөөд &man.ifconfig.8;-ийн зөв синтаксын дэлгэрэнгүй мэдээллийн талаар гарын авлагын хуудсанд хандана уу. Энэ жишээн дээр IPv6-тай (inet6 гэх мэт.) холбоотой оруулгууд орхигдсон болохыг анхаарна уу. Энэ жишээн дээр дараах төхөөрөмжүүдийг харуулсан: dc0: Эхний Ethernet интерфэйс dc1: Хоёрдугаар Ethernet интерфэйс lp0: Параллел порт интерфэйс lo0: Буцаж эргэх төхөөрөмж tun0: Туннель төхөөрөмж нь ppp-д ашиглагдана. &os; нь драйверийн нэр дээр цөмийн ачаалах явцад картууд ямар дарааллаар илрүүлэгдсэн тэр дарааллын тоог нэмж сүлжээний картыг нэрлэдэг. Жишээ нь sis2 нь систем дээрх &man.sis.4; драйвер ашиглаж байгаа 3 дахь сүлжээний карт байж болох юм. Энэ жишээн дээр dc0 төхөөрөмж босон ажиллаж байна. Түлхүүр индикаторууд нь: UP нь картын тохиргоо хийгдэж бэлэн болсныг илэрхийлнэ. Карт нь Интернэт (inet) хаягтай (энэ тохиолдолд 192.168.1.3). Энэ нь зөв дэд сүлжээний багтай (netmask; 0xffffff00 нь 255.255.255.0 адил). Энэ нь зөв нийтэд цацах хаягтай (энэ тохиолдолд 192.168.1.255). Картны MAC (ether) хаяг нь 00:a0:cc:da:da:da байна. Физик зөөгчийн сонголт нь автомат сонголтын горим дээр байна (media: Ethernet autoselect (100baseTX <full-duplex>)). dc1 нь 10baseT/UTP зөөгчтэй ажиллахаар тохируулагдсан байгааг бид харж болно. Байж болох зөөгчийн төрлүүдийн тухай дэлгэрэнгүй мэдээллийн талаар өөрийнх нь гарын авлагын хуудсанд хандаж үзнэ үү. Холболтын (status) төлөв нь active буюу идэвхтэй байна, өөрөөр хэлбэл дамжуулагч илэрсэн байна. dc1-ийн хувьд бид status: no carrier буюу дамжуулагч байхгүйг харж болно. Энэ нь Ethernet кабель картанд залгагдаагүй байх үед хэвийн байна. Хэрэв &man.ifconfig.8;-ийн үр дүн дараах маягтай төстэй байвал: dc0: flags=8843<BROADCAST,SIMPLEX,MULTICAST> mtu 1500 ether 00:a0:cc:da:da:da Энэ нь карт тохируулагдаагүйг илэрхийлнэ. Картаа тохируулахын тулд танд root зөвшөөрлүүд хэрэгтэй. Сүлжээний картын тохируулгууд тушаалын мөрөөс &man.ifconfig.8;-р хийгдэх боломжтой, гэхдээ та системийг дахин ачаалсан болгоныхоо дараа үүнийг хийх хэрэгтэй болно. /etc/rc.conf файл нь сүлжээний картын тохиргоог нэмэх газар юм. /etc/rc.conf-ийг өөрийн дуртай засварлагч дээр нээгээрэй. Систем дээрх сүлжээний карт бүрийн хувьд мөр нэмэх хэрэгтэй, манай жишээн дээр бид эдгээр мөрүүдийг нэмсэн: ifconfig_dc0="inet 192.168.1.3 netmask 255.255.255.0" ifconfig_dc1="inet 10.0.0.1 netmask 255.255.255.0 media 10baseT/UTP" Та dc0, dc1 болон бусдуудыг өөрийн картуудад зориулсан төхөөрөмжөөр өөрчлөх болон хаягуудыг зөвөөр солих хэрэгтэй. Зөвшөөрөгдсөн тохируулгуудын талаар дэлгэрэнгүйг картын драйвер болон &man.ifconfig.8;-ийн гарын авлагын хуудаснуудаас, бас &man.rc.conf.5; гарын авлагын хуудаснаас /etc/rc.conf-ийн синтаксын тухай дэлгэрэнгүй мэдээллийг унших хэрэгтэй. Хэрэв та суулгах явцад сүлжээг тохируулсан бол сүлжээний карт(ууд)ын талаар зарим мөрүүд аль хэдийн байж болох юм. Мөрүүд нэмэхээсээ өмнө /etc/rc.conf-ийг дахин шалгаарай. Мөн та LAN дахь төрөл бүрийн машинуудын нэрүүд болон IP хаягууд /etc/hosts файлд байхгүй бол тэдгээрийг нэмж засварлах шаардлагатай. Дэлгэрэнгүй мэдээллийн талаар &man.hosts.5; болон /usr/share/examples/etc/hosts файлд хандана уу. Тест хийх болон алдааг олж засварлах нь /etc/rc.conf-д хэрэгцээтэй өөрчлөлтүүдийг хийснийхээ дараа та системээ дахин ачаалах шаардлагатай. Ингэснээр интерфэйс(үүд)эд хийгдэх өөрчлөлт(үүд)ийг зөвшөөрөх бөгөөд ямар нэг тохиргооны алдаагүйгээр систем ачаалж байгаа эсэхийг шалгадаг. Систем дахин ачаалагдсаны дараа та сүлжээний интерфэйсүүдээ тест хийх хэрэгтэй. Ethernet карт тест хийх нь сүлжээний картууд тест хийх нь Ethernet карт зөв тохируулагдсаныг шалгахдаа та 2 зүйлийг оролдох хэрэгтэй. Эхлээд интерфэйс уруу өөр уруу нь ping хийгээд дараа нь LAN дахь өөр машин уруу ping хийх хэрэгтэй. Эхлээд локал интерфэйсийг тест хийнэ: &prompt.user; ping -c5 192.168.1.3 PING 192.168.1.3 (192.168.1.3): 56 data bytes 64 bytes from 192.168.1.3: icmp_seq=0 ttl=64 time=0.082 ms 64 bytes from 192.168.1.3: icmp_seq=1 ttl=64 time=0.074 ms 64 bytes from 192.168.1.3: icmp_seq=2 ttl=64 time=0.076 ms 64 bytes from 192.168.1.3: icmp_seq=3 ttl=64 time=0.108 ms 64 bytes from 192.168.1.3: icmp_seq=4 ttl=64 time=0.076 ms --- 192.168.1.3 ping statistics --- 5 packets transmitted, 5 packets received, 0% packet loss round-trip min/avg/max/stddev = 0.074/0.083/0.108/0.013 ms Одоо бид LAN дахь өөр машин уруу ping хийх хэрэгтэй: &prompt.user; ping -c5 192.168.1.2 PING 192.168.1.2 (192.168.1.2): 56 data bytes 64 bytes from 192.168.1.2: icmp_seq=0 ttl=64 time=0.726 ms 64 bytes from 192.168.1.2: icmp_seq=1 ttl=64 time=0.766 ms 64 bytes from 192.168.1.2: icmp_seq=2 ttl=64 time=0.700 ms 64 bytes from 192.168.1.2: icmp_seq=3 ttl=64 time=0.747 ms 64 bytes from 192.168.1.2: icmp_seq=4 ttl=64 time=0.704 ms --- 192.168.1.2 ping statistics --- 5 packets transmitted, 5 packets received, 0% packet loss round-trip min/avg/max/stddev = 0.700/0.729/0.766/0.025 ms Хэрэв та /etc/hosts файлыг тохируулсан бол 192.168.1.2-ийн оронд машины нэрийг бас ашиглаж болох болох юм. Алдааг олж засварлах нь сүлжээний картууд алдааг олж засварлах нь Тоног төхөөрөмж болон програм хангамжийн тохиргоонуудын алдааг олж засварлах нь үргэлж зовлон байдаг бөгөөд зовлонг энгийн зүйлүүдийг эхлээд шалгаснаар багасгах боломжтой. Таны сүлжээний кабель холбогдсон уу? Сүлжээний үйлчилгээнүүдээ зөв тохируулсан уу? Галт ханаа зөв тохируулсан уу? Таны хэрэглэж байгаа картыг &os; дэмждэг үү? Алдааны тайланг явуулахаасаа өмнө тоног төхөөрөмжийн тэмдэглэлийг заавал шалгах хэрэгтэй. Өөрийн &os;-ийн хувилбарыг хамгийн сүүлийн STABLE хувилбар уруу шинэчлээрэй. Захидлын жагсаалтын архивууд шалгах буюу эсвэл Интернетээс хайгаарай. Хэрэв карт ажилласан мөртлөө ажиллагаа муу бол &man.tuning.7; гарын авлагын хуудсыг унших нь зүйтэй юм. Мөн буруу сүлжээний тохиргоонууд удаан холболтын шалтгаан болдог учир та сүлжээний тохиргоог бас шалгаж болох юм. Зарим хэрэглэгчид ганц хоёр device timeout мэдээлэлтэй тулгарч болох бөгөөд энэ нь зарим картуудын хувьд хэвийн юм. Хэрэв энэ нь үргэлжлээд эсвэл шаналгаатай болоод эхэлбэл уг төхөөрөмж өөр бусад төхөөрөмжтэй зөрчилдөж байгаа эсэхийг та магадгүй шалгахыг хүсэх байх. Кабелийн холболтуудыг дахин шалгаарай. Магадгүй танд өөр нэг карт хэрэгтэй байж болох юм. Хэрэглэгчид зарим үед цөөн watchdog timeout гэсэн алдаанууд хардаг. Ийм үед эхлээд хийх юм нь сүлжээний кабелийг шалгана. Олон картууд Bus Mastering дэмждэг PCI оролтыг шаарддаг. Зарим нэг эх хавтангуудад үүнийг зөвхөн нэг PCI оролт зөвшөөрдөг (ихэнхдээ 0-р оролт). Энэ нь асуудал байж болох эсэхийг сүлжээний карт болон эх хавтангийн баримтаас шалгаарай. Систем пакетийг зорьсон газар нь чиглүүлж чадахгүй тохиолдолд No route to host мэдээллүүд гардаг. Энэ нь анхдагч чиглүүлэлт заагаагүй тохиолдолд эсвэл кабель салгагдсан бол гардаг. netstat -rn тушаалын үр дүнг үзээд таны хүрэхийг оролдож байгаа тэр хост уруу чинь зөв чиглүүлэлт байгаа эсэхийг шалгаарай. Хэрэв байхгүй бол -г уншаарай. ping: sendto: Permission denied алдааны мэдээллүүд нь буруу тохируулсан галт ханаас ихэвчлэн болдог. Хэрэв ipfw нь цөмд идэвхжсэн бөгөөд ямар ч дүрэм тодорхойлогдоогүй бол анхдагч бодлого нь бүх трафикийг бүр ping хүсэлтийг хүртэл татгалзан хаадаг! Дэлгэрэнгүйг -с уншина уу. Заримдаа картын ажиллагаа муу эсвэл дунджаас доогуур байдаг. Эдгээр тохиолдолд зөөгч сонголтын горимыг autoselect горимоос зөв зөөгчийн сонголт уруу болгож тааруулах нь шилдэг арга юм. Энэ нь ихэнх тоног төхөөрөмжийн хувьд ихэвчлэн ажиллах боловч хүн болгоны хувьд байгаа ийм асуудлыг шийдэхгүй ч байж болох юм. Дахин хэлэхэд бүх сүлжээний тохиргоонуудыг шалгаж &man.tuning.7; гарын авлагын хуудсыг уншаарай. Виртуал Хостууд виртуал хостууд өөр IP хаягууд (alias) &os;-ийн хамгийн түгээмэл хэрэглээ бол нэг сервер сүлжээн дээр олон сервер мэтээр ажиллах виртуал сайт хост хийх боломж юм. Үүнийг нэг интерфэйс дээр олон сүлжээний хаягууд тавьж хийдэг. Өгөгдсөн сүлжээний интерфэйс нь нэг жинхэнэ хаягтай бөгөөд дурын тооны өөр(alias) хаягуудтай байж болох юм. Эдгээр өөр хаягуудыг ихэнхдээ /etc/rc.conf-д тохирох хаягийн оруулгуудыг оруулан нэмж өгдөг. fxp0 интерфэйсд зориулсан өөр хаягийн оруулга нь иймэрхүү байна: ifconfig_fxp0_alias0="inet xxx.xxx.xxx.xxx netmask xxx.xxx.xxx.xxx" Өөр хаягийн оруулгууд нь alias0 гэж эхлэх ёстой бөгөөд дээш өгсөх дарааллаар явдаг (жишээ нь _alias1, _alias2, гэх мэт). Тохиргооны үйл явц эхний байхгүй дугаар дээр хүрч зогсдог. Өөр хаягийн сүлжээний багуудыг тооцоолох нь чухал байдаг, гэхдээ азаар энэ нь маш амархан. Өгөгдсөн интерфэйсийн хувьд сүлжээний багийг зөвөөр үзүүлдэг нэг хаяг байх ёстой. Энэ сүлжээн дэх өөр бусад хаягууд бүгд 1-ээс (энэ нь 255.255.255.255 гэх буюу эсвэл 0xffffffff гэж илэрхийлэгддэг) тогтсон сүлжээний багтай байх ёстой. Жишээ нь fxp0 интерфэйс нь 10.1.1.0 сүлжээнд 255.255.255.0 болон 202.0.75.16 сүлжээнд 255.255.255.240 багуудыг ашиглаж хоёр сүлжээнд холбогдсон гэж бодъё. Бид системийг 10.1.1.1-ээс 10.1.1.5 хүртэл болон 202.0.75.17-ээс эхлээд 202.0.75.20 хүртэлх хаягууд дээр байлгахыг хүсэж байна. Дээр тэмдэглэсний дагуу өгөгдсөн сүлжээний хүрээн дэх зөвхөн эхний хаяг (энэ тохиолдолд 10.0.1.1 болон 202.0.75.17) жинхэнэ сүлжээний багтай байх ёстой; бусад үлдсэн бүгд (10.1.1.2-ээс 10.1.1.5 хүртэл болон 202.0.75.18-ээс эхлээд 202.0.75.20 хүртэл) 255.255.255.255 сүлжээний багтай байхаар тохируулагдах хэрэгтэй. Дараах /etc/rc.conf оруулгууд нь энэ зорилгоор адаптерийг зөв тохируулж байна: ifconfig_fxp0="inet 10.1.1.1 netmask 255.255.255.0" ifconfig_fxp0_alias0="inet 10.1.1.2 netmask 255.255.255.255" ifconfig_fxp0_alias1="inet 10.1.1.3 netmask 255.255.255.255" ifconfig_fxp0_alias2="inet 10.1.1.4 netmask 255.255.255.255" ifconfig_fxp0_alias3="inet 10.1.1.5 netmask 255.255.255.255" ifconfig_fxp0_alias4="inet 202.0.75.17 netmask 255.255.255.240" ifconfig_fxp0_alias5="inet 202.0.75.18 netmask 255.255.255.255" ifconfig_fxp0_alias6="inet 202.0.75.19 netmask 255.255.255.255" ifconfig_fxp0_alias7="inet 202.0.75.20 netmask 255.255.255.255" Тохиргооны Файлууд <filename>/etc</filename>-н бүтэц Тохиргооны мэдээллийг хадгалдаг хэд хэдэн сангууд байдаг. Эдгээр нь: /etc Системийн ерөнхий тохиргооны мэдээлэл; энд байгаа өгөгдөл нь системийн хувьд өөр өөр. /etc/defaults Системийн тохиргооны файлуудын анхдагч хувилбарууд. /etc/mail &man.sendmail.8;-ийн нэмэлт тохиргоо, бусад MTA тохиргооны файлууд. /etc/ppp Хэрэглэгч- болон цөмийн-ppp програмуудад зориулсан тохиргоо. /etc/namedb &man.named.8; өгөгдөлд зориулсан анхдагч байрлал. Ихэнхдээ named.conf болон бүсийн файлууд энд хадгалагддаг. /usr/local/etc Суулгагдсан програмуудад зориулсан тохиргооны файлууд. Програм болгоны дэд сангуудыг агуулж болно. /usr/local/etc/rc.d Суулгагдсан програмуудад зориулсан эхлүүлэх/зогсоох скриптүүд. /var/db Багцын өгөгдлийн бааз, байршил олох өгөгдлийн бааз, гэх зэрэг систем болгоны хувьд автоматаар үүсгэгдсэн өгөгдлийн баазын файлууд. Хостын нэрс хостын нэр DNS <filename>/etc/resolv.conf</filename> resolv.conf /etc/resolv.conf нь &os;-ийн тодорхойлогч Интернэт Домэйн Нэрийн Системд (DNS) хэрхэн хандахыг заадаг. resolv.conf дахь хамгийн түгээмэл оруулгууд нь: nameserver Тодорхойлогчийн асуух нэрийн серверийн IP хаяг. Серверүүд нь хамгийн ихдээ гурав байх жагсаасан дарааллаар асуугддаг. search Хостын нэрийн хайлтад зориулж жагсаалтаас хайх. Энэ нь ихэнхдээ локал хостын нэрийн домэйноор тодорхойлогддог. domain Локал домэйн нэр. Ердийн resolv.conf: search example.com nameserver 147.11.1.11 nameserver 147.11.100.30 search болон domain тохируулгуудын зөвхөн нэг нь хэрэглэгдэх ёстой. Хэрэв та DHCP ашиглаж байгаа бол &man.dhclient.8; нь DHCP серверээс хүлээн авсан мэдээллээр resolv.conf-г дарж бичдэг. <filename>/etc/hosts</filename> хостууд /etc/hosts нь хуучин Интернэтийн үлдэгдэл энгийн текст өгөгдлийн бааз юм. Энэ нь DNS болон NIS-тэй цуг нэрийг IP хаяг уруу болгож тааруулах боломжийг ханган ажилладаг. LAN-аар холбогдсон локал компьютеруудыг амархан нэрлэх зориулалтаар &man.named.8; сервер суулгаж тохируулахын оронд энд байрлуулж болдог. Мөн /etc/hosts нь түгээмэл ханддаг нэрсэд зориулагдсан гадагшаа хандах хүсэлтийг багасгаж Интернэтийн нэрсийн локал бичлэгийг хангадаг байж болно. # $&os;$ # # Host Database # This file should contain the addresses and aliases # for local hosts that share this file. # In the presence of the domain name service or NIS, this file may # not be consulted at all; see /etc/nsswitch.conf for the resolution order. # # ::1 localhost localhost.my.domain myname.my.domain 127.0.0.1 localhost localhost.my.domain myname.my.domain # # Imaginary network. #10.0.0.2 myname.my.domain myname #10.0.0.3 myfriend.my.domain myfriend # # According to RFC 1918, you can use the following IP networks for # private nets which will never be connected to the Internet: # # 10.0.0.0 - 10.255.255.255 # 172.16.0.0 - 172.31.255.255 # 192.168.0.0 - 192.168.255.255 # # In case you want to be able to connect to the Internet, you need # real official assigned numbers. PLEASE PLEASE PLEASE do not try # to invent your own network numbers but instead get one from your # network provider (if any) or from the Internet Registry (ftp to # rs.internic.net, directory `/templates'). # /etc/hosts нь энгийн хэлбэрийг агуулдаг: [Internet address] [official hostname] [alias1] [alias2] ... Жишээ нь: 10.0.0.1 myRealHostname.example.com myRealHostname foobar1 foobar2 Дэлгэрэнгүй мэдээллийн талаар &man.hosts.5; хуудаснаас зөвлөгөө авна уу. Бүртгэлийн файлын тохиргоо бүртгэлийн файлууд <filename>syslog.conf</filename> syslog.conf syslog.conf нь &man.syslogd.8; програмын тохиргооны файл юм. Энэ нь ямар төрлийн syslog мэдээллүүд яг аль бүртгэлийн файлд бүртгэгдэхийг заадаг. # $&os;$ # # Spaces ARE valid field separators in this file. However, # other *nix-like systems still insist on using tabs as field # separators. If you are sharing this file between systems, you # may want to use only tabs as field separators here. # Consult the syslog.conf(5) manual page. *.err;kern.debug;auth.notice;mail.crit /dev/console *.notice;kern.debug;lpr.info;mail.crit;news.err /var/log/messages security.* /var/log/security mail.info /var/log/maillog lpr.info /var/log/lpd-errs cron.* /var/log/cron *.err root *.notice;news.err root *.alert root *.emerg * # uncomment this to log all writes to /dev/console to /var/log/console.log #console.info /var/log/console.log # uncomment this to enable logging of all log messages to /var/log/all.log #*.* /var/log/all.log # uncomment this to enable logging to a remote log host named loghost #*.* @loghost # uncomment these if you're running inn # news.crit /var/log/news/news.crit # news.err /var/log/news/news.err # news.notice /var/log/news/news.notice !startslip *.* /var/log/slip.log !ppp *.* /var/log/ppp.log Дэлгэрэнгүй мэдээллийн талаар &man.syslog.conf.5; гарын авлагын хуудаснаас зөвлөгөө авна уу. <filename>newsyslog.conf</filename> newsyslog.conf newsyslog.conf нь ихэнхдээ &man.cron.8; хуваарилан цагаар ажиллуулдаг &man.newsyslog.8;-д зориулагдсан тохиргоо юм. &man.newsyslog.8; нь хэзээ бүртгэлийн файлууд архивлагдах эсвэл дахин зохицуулагдахыг тодорхойлдог. logfile нь logfile.0 уруу, logfile.0 нь logfile.1 шилжих гэх зэргээр зохицуулагддаг. Бүртгэлийн файлууд өөрөөр &man.gzip.1; хэлбэрээр logfile.0.gz, logfile.1.gz гэх зэргээр нэрлэгдэн архивлагдаж болно. newsyslog.conf нь аль бүртгэлийн файлууд удирдагдах, хичнээн нь хадгалагдах болон хэзээ тэдгээрт хүрэхийг зааж өгдөг. Бүртгэлийн файлууд нь тодорхой хэмжээнд хүрэх үед болон эсвэл тодорхой цаг/огнооны давтамжтайгаар зохицуулагддаг ба/эсвэл архивлагддаг. # configuration file for newsyslog # $&os;$ # # filename [owner:group] mode count size when [ZB] [/pid_file] [sig_num] /var/log/cron 600 3 100 * Z /var/log/amd.log 644 7 100 * Z /var/log/kerberos.log 644 7 100 * Z /var/log/lpd-errs 644 7 100 * Z /var/log/maillog 644 7 * @T00 Z /var/log/sendmail.st 644 10 * 168 B /var/log/messages 644 5 100 * Z /var/log/all.log 600 7 * @T00 Z /var/log/slip.log 600 3 100 * Z /var/log/ppp.log 600 3 100 * Z /var/log/security 600 10 100 * Z /var/log/wtmp 644 3 * @01T05 B /var/log/daily.log 640 7 * @T00 Z /var/log/weekly.log 640 5 1 $W6D0 Z /var/log/monthly.log 640 12 * $M1D0 Z /var/log/console.log 640 5 100 * Z Дэлгэрэнгүй мэдээллийн талаар &man.newsyslog.8; гарын авлагын хуудаснаас зөвлөгөө авна уу. <filename>sysctl.conf</filename> sysctl.conf sysctl sysctl.conf нь rc.conf-той бараг л адил харагддаг. Утгууд нь хувьсагч=утга хэлбэрээр заагддаг. Тодорхойлсон утгууд нь систем олон-хэрэглэгчийн горимд шилжсэний дараа тохируулагддаг. Энэ горимд бүх хувьсагчууд тохируулагдах боломжгүй. Сүйрлийн дохионы гаралтуудын бүртгэлийг хааж бусад хэрэглэгчдийн эхлүүлсэн процессуудыг өөр хэрэглэгчдэд харуулахгүй байлгахын тулд дараах тохируулгуудыг sysctl.conf файлд тохируулж өгч болно: # Do not log fatal signal exits (e.g. sig 11) kern.logsigexit=0 # Prevent users from seeing information about processes that # are being run under another UID. security.bsd.see_other_uids=0 sysctl ашиглан тааруулах нь sysctl тааруулах нь sysctl ашиглан &man.sysctl.8; нь ажиллаж байгаа &os; системд өөрчлөлтүүдийг хийхийг танд зөвшөөрдөг интерфэйс юм. Энэ нь туршлагатай системийн администраторын хувьд ажиллагааг мэдэгдэхүйц сайжруулж чадах TCP/IP болон виртуал санах ойн системийн олон нарийн тохируулгуудыг агуулдаг. Таван зуу гаруй системийн хувьсагчуудыг &man.sysctl.8; ашиглан унших болон тохируулж болдог. &man.sysctl.8; нь голдоо хоёр үүргийг гүйцэтгэдэг: системийн тохиргоонуудыг унших болон өөрчлөх. Уншигдаж болох бүх хувьсагчуудыг харахдаа: &prompt.user; sysctl -a Тухайн хувьсагчийг уншихдаа, жишээ нь, kern.maxproc: &prompt.user; sysctl kern.maxproc kern.maxproc: 1044 Тухайн хувьсагчийг заахдаа хялбар хувьсагч=утга синтаксийг ашиглаарай: &prompt.root; sysctl kern.maxfiles=5000 kern.maxfiles: 2088 -> 5000 sysctl хувьсагчуудын тохиргоонууд нь ихэвчлэн тэмдэгтүүд (strings), тоонууд эсвэл boolean (boolean 1 нь тийм эсвэл 0 нь үгүй байна) утгууд байна. Хэрэв та машин ачаалах болгонд автоматаар зарим хувьсагчуудыг тохируулахыг хүсвэл /etc/sysctl.conf файлд тэдгээрийг нэмээрэй. Дэлгэрэнгүй мэдээллийн талаар &man.sysctl.conf.5; гарын авлагын хуудас болон -с үзнэ үү. Том Рөүдс Хувь нэмэр болгон оруулсан Цагаанхүүгийн Ганболд Орчуулсан Зөвхөн-унших &man.sysctl.8; Зарим тохиолдолд зөвхөн-унших &man.sysctl.8; утгуудыг өөрчлөх шаардлагатай байж болох юм. Энэ нь заримдаа хийхээс өөр аргагүй байдаг боловч зөвхөн (дахин) ачаалахад хийгдэх боломжтой. Жишээ нь зарим зөөврийн компьютерийн загваруудад &man.cardbus.4; төхөөрөмж нь санах ойн хүрээг шалгадаггүй бөгөөд доор дурдсантай төстэй алдаанууд гарган амжилтгүй болдог: cbb0: Could not map register memory device_probe_and_attach: cbb0 attach returned 12 Дээрх шиг тохиолдлууд нь ихэвчлэн зөвхөн уншихаар тохируулагдсан зарим анхдагч &man.sysctl.8; тохиргоонуудыг өөрчлөхийг шаарддаг. Эдгээр нөхцөлүүдийг давж гарахын тулд хэрэглэгч &man.sysctl.8; OID-уудыг тэдгээрийн /boot/loader.conf файлд хийж өгч болно. Анхдагч тохиргоонууд /boot/defaults/loader.conf файлд байрладаг. Дээр дурдсан асуудлыг шийдэхийн тулд хэрэглэгч урьд нь дурдсан файлд гэж тохируулах шаардлагатай. Ингэснээр &man.cardbus.4; зөв ажиллах болно. Дискнүүдийг тааруулах нь Sysctl хувьсагчууд <varname>vfs.vmiodirenable</varname> vfs.vmiodirenable vfs.vmiodirenable sysctl хувьсагч нь 0 (идэвхгүй) эсвэл 1 (идэвхтэй) гэж тохируулагдаж болно; анхдагчаар 1 байна. Энэ хувьсагч нь систем сангуудыг хэрхэн кэш (шуурхай санамж) хийхийг хянадаг. Ихэнх сангууд зөвхөн ганц фрагментийг (ихэвчлэн 1 K) файлын системд болон түүнээс багыг буфер кэшд хэрэглэн жижиг хэмжээтэй байдаг. Энэ хувьсагчийг хааснаар (0 болгосноор) буфер кэш нь таныг асар их хэмжээний санах ойтой байсан ч гэсэн зөвхөн тодорхой тооны сангуудыг кэш хийдэг. Нээгдсэн (1 болгосон) үед энэ sysctl нь бүх санах ойг кэш хийхэд бэлэн болгож буфер кэшд VM Хуудасны Кэшийг хэрэглэн сангуудыг кэш хийх боломжийг олгодог. Гэхдээ сангуудыг кэш хийх хамгийн бага гол дахь санах ой нь 512  байт биш харин физик хуудасны хэмжээ (ихэвчлэн 4 K) байдаг. Хэрэв та их олон тооны файлуудтай ажилладаг үйлчилгээ ажиллуулж байгаа бол бид энэ тохируулгыг идэвхтэй байлгахыг зөвлөж байна. Тийм үйлчилгээнүүдэд вэб кэшүүд, том захидлын системүүд, болон мэдээний системүүд орж болно. Энэ тохируулгыг идэвхтэй байлгах нь хайр гамгүй зарцуулсан санах ойтой байхад ч гэсэн ерөнхийдөө ажиллагааг удаашруулдаггүй, гэхдээ та түүнийг мэдэхийн тулд туршиж үзэж болно. <varname>vfs.write_behind</varname> vfs.write_behind vfs.write_behind sysctl хувьсагчийн анхдагч утга нь 1 (идэвхтэй) байна. Энэ нь том дараалсан файлуудыг бичих үед ихэвчлэн гардаг бүх кластеруудыг цуглуулсан үед зөөгчийн бичилтүүдийг хийхийг файлын системд хэлж өгдөг. Санаа нь бол I/O ажиллагааны хувьд ашиггүй байхад бохир буферууд бүхий буферийн кэшийг замхруулахаас зайлсхийхэд оршдог. Гэхдээ энэ нь процессуудыг зогсоож магадгүй бөгөөд зарим нөхцөл байдалд та магадгүй үүнийг идэвхгүй болгохыг хүсэж болох юм. <varname>vfs.hirunningspace</varname> vfs.hirunningspace vfs.hirunningspace sysctl хувьсагч өгөгдсөн дурын хоромд системийн хувьд бүхэлд нь хэдий хэмжээний хүлээгдэж байгаа бичих I/O-г дискний хянагчуудад өгөх дараалалд оруулж болохыг тодорхойлдог. Анхдагч утга нь ихэвчлэн хангалттай гэхдээ олон дисктэй машинууд дээр та үүнийг дөрөв эсвэл таван мегабайт хүртэл ихэсгэхийг хүсэж болох юм. Утгыг хэтэрхий өндөр тавих нь (буфер кэшийн бичих тогтоосон хэмжээг давах нь) туйлын муу кластерлах ажиллагаанд хүргэж болно. Энэ утгыг хэтэрхий өндөр бүү тавь! Өндөр бичих утгууд нь яг тэр үед хийгдэж байгаа уншилтуудад хоцрогдол нэмж магадгүй юм. Бусад төрөл бүрийн буфер-кэш болон VM хуудасны кэштэй холбоотой sysctl-ууд байдаг. Бид эдгээр утгуудыг өөрчлөхийг зөвлөдөггүй, VM систем нь өөрийгөө автоматаар тааруулж туйлын сайн ажилладаг. <varname>vm.swap_idle_enabled</varname> vm.swap_idle_enabled vm.swap_idle_enabled sysctl хувьсагч нь маш олон хэрэглэгчид таны системд орж гарч байдаг, сул зогссон олон процессуудтай, том, олон-хэрэглэгчийн системүүд дээр ашигтай байдаг. Ийм системүүд нь чөлөөт санах ойн хадгалалтад ихээхэн хэмжээний байнгын дарамтыг үүсгэж байдаг. Энэ боломжийг идэвхтэй болгож ар араас нь swap хийн гаргахыг (зогссон секундээр) vm.swap_idle_threshold1 болон vm.swap_idle_threshold2 хувьсагчуудын тусламжтай тохируулснаар зогссон процессуудтай холбоотой санах ойн хуудаснуудын дарааллыг ердийн хуудаслаж гаргах алгоритмаас илүү хурднаар багасгах боломжийг олгодог. Энэ нь хуудаслаж гаргах дэмонд тусламжийн гарыг өгөх болно. Энэ тохируулгыг танд хэрэгтэй л биш бол идэвхтэй болгож болохгүй, учир нь үүнийг та хийснээр үндсэндээ санах ойг илүү түргэн урьдчилан-хуудаслаж ингэснээр swap болон дискний багтаамжийг илүүтэйгээр идэхэд хүргэх юм. Жижиг систем дээр энэ тохируулга нь тодорхойлогдож болохуйц нөлөөлөлтэй байх ба харин боломжийн хуудаслалт аль хэдийн хийгээд байгаа том системүүдэд энэ тохируулга нь VM системд бүх процессуудыг санах ой уруу болон санах ойгоос хялбараар гаргах боломжийг бүрдүүлдэг. <varname>hw.ata.wc</varname> hw.ata.wc &os; 4.3-д IDE бичих кэш хийлтийг хаасан байдаг. Энэ нь IDE дискэнд бичих багтаамжийг багасгасан боловч хатуу диск үйлдвэрлэгчдийн гаргасан өгөгдлийн бүрэн бүтэн байдлын ноцтой асуудлуудаас болоод шаардлагатай болсон. Тэр асуудал нь IDE хөтлөгчүүд бичилт дуусах үед худлаа мэдээлдэг явдал юм. IDE бичих кэшийг идэвхтэй болгосноор IDE хатуу дискнүүд ямар нэг дараалалгүйгээр бичихээс гадна диск их ачаалалтай үед зарим блокуудыг бичихэд заримдаа тодорхойгүй саатдаг. Сүйрэл болон тэжээлийн уналт файлын системийн ноцтой эвдрэлд хүргэж болзошгүй байдаг. &os;-ийн анхдагч нь аюулгүй байхаар өөрчлөгдсөн. Харамсалтай нь үүний үр дүнд ажиллагааны асар том алдагдалд хүргэсэн бөгөөд хувилбар гарсны дараа бид бичих кэш хийлтийг анхдагчаар идэвхтэй байхаар буцаан өөрчилсөн юм. Та өөрийн систем дээрээ hw.ata.wc sysctl хувьсагчийг ажиглан анхдагч утгыг шалгах хэрэгтэй. Хэрэв IDE бичих кэш хийлт хаалттай бол та цөмийн хувьсагчийн утгыг 1 болгон түүнийг идэвхжүүлж болно. Үүнийг ачаалах үед ачаалагчаас хийх шаардлагатай. Цөм ачаалсны дараа хийхийг оролдвол ямар ч нөлөө үзүүлэхгүй. Дэлгэрэнгүй мэдээллийн талаар &man.ata.4;-с үзнэ үү. <literal>SCSI_DELAY</literal> (<varname>kern.cam.scsi_delay</varname>) kern.cam.scsi_delay цөмийн тохируулгууд SCSI_DELAY SCSI_DELAY цөмийн тохиргоо нь системийн ачаалах хугацааг багасгахад хэрэглэгддэг. Анхдагч утга нь нэлээн өндөр бөгөөд 15 секундын саатлыг ачаалах процессийн үед өгөхийг хариуцдаг. 5 секунд хүртэл багасгахад ихэвчлэн ажилладаг (ялангуяа орчин үеийн хөтлөгчүүдийн хувьд). &os;-ийн шинэ хувилбарууд (5.0 болон түүнээс дээш) ачаалах үеийн тохируулга болох kern.cam.scsi_delay хувьсагчийг ашиглах хэрэгтэй. Энэ тохируулга болон цөмийн тохиргооны тохируулга нь секундээр биш миллисекундээр утгыг хүлээн авдаг. Зөөлөн Шинэчлэлтүүд Зөөлөн Шинэчлэлтүүд tunefs &man.tunefs.8; програм файлын системийг нарийн тааруулахад ашиглагдаж болно. Энэ програм нь олон янзын тохируулгуудтай гэхдээ одоохондоо бид зөвхөн Зөөлөн Шинэчлэлтүүдийг идэвхжүүлэх ба хаах дээр анхаарах бөгөөд үүнийг дараах аргаар хийнэ: &prompt.root; tunefs -n enable /filesystem &prompt.root; tunefs -n disable /filesystem Файлын систем нь холбогдсон байхдаа &man.tunefs.8;-ээр өөрчлөгдөх боломжгүй. Зөөлөн Шинэчлэлтүүдийг идэвхжүүлэхэд тохирох үе нь аль ч хуваалтууд холболт хийгдээгүй байгаа ганц хэрэглэгчийн горим юм. Зөөлөн Шинэчлэлтүүд нь мета-өгөгдлийн ажиллагааг мэдэгдэхүйц сайжруулдаг бөгөөд санах ойн кэшийг ашиглан голчлон файлын үүсгэлт болон устгалтыг хурдасгадаг. Бид Зөөлөн Шинэчлэлтүүдийг өөрийн бүх файлын системүүдэд ашиглахыг зөвлөж байна. Зөөлөн Шинэчлэлтүүдийн хоёр дутагдалтай талыг та мэдэж байх ёстой: Нэгдүгээрт, Зөөлөн Шинэчлэлтүүд нь сүйрэл болсон тохиолдолд файлын системийн бүрэн бүтэн байдалд баталгаа өгдөг боловч физик дискийг шинэчлэхэд хэдэн секундын (минут ч байж болно!) хоцрогдолтой байж болно. Хэрэв таны систем сүйрэхэд бусад тохиолдлоос илүүтэйгээр та хийсэн ажлаа алдаж болзошгүй юм. Хоёрдугаарт, Зөөлөн Шинэчлэлтүүд нь файлын системийн блокуудыг чөлөөлөхийг саатуулдаг. Хэрэв та бараг дүүрсэн файлын системтэй (root файл систем гэх зэрэг) байгаа бол make installworld зэрэг гол шинэчлэлтийг хийх нь файлын системийг зайгүй болгож шинэчлэлт амжилтгүй болох шалтгаанд хүргэж болох юм. Зөөлөн Шинэчлэлтүүдийн талаар дэлгэрэнгүй Зөөлөн Шинэчлэлтүүд дэлгэрэнгүй Файлын системийн мета-өгөгдлийг диск уруу бичих уламжлалт хоёр хандлага байдаг. (Мета-өгөгдлийн шинэчлэлтүүд нь inode эсвэл сангууд зэрэг агуулгын бус өгөгдөлд хийх шинэчлэлтүүд юм) Түүхээс авч үзэхэд анхдагч ажиллах горим нь мета-өгөгдлийн шинэчлэлтүүдийг синхроноор буюу зэрэг бичдэг байсан явдал юм. Хэрэв сан өөрчлөгдсөн бол систем өөрчлөлтийг диск уруу бичигдэхийг хүлээдэг. Файлын өгөгдлийн буферууд (файлын агуулгууд) буфер кэшээр дамжин диск уруу сүүлд нь асинхроноор хадгалагддаг. Энэ шийдлийн давуу тал нь аюулгүй ажилладаг. Хэрэв шинэчлэлтийн үед амжилтгүй болбол мета-өгөгдөл нь үргэлж бүрэн бүтэн байдаг. Файл эсвэл бүрэн үүсч эсвэл бүр ерөөсөө үүсдэггүй. Хэрэв файлын өгөгдлийн блокууд сүйрэл болох үед буферийн кэшээс диск уруу өөрсдийн гарах замаа олохгүй байгаа бол &man.fsck.8; нь үүнийг таньж файлын уртыг 0 болгон файлын системийг засварладаг. Нэмж хэлэхэд энэ шийдэл нь цэвэрхэн ба хялбар юм. Сул тал нь мета-өгөгдлийн өөрчлөлтүүд нь удаан байдаг. rm -r тушаал жишээ нь сан дахь бүх файлуудад дараалан хандах бөгөөд гэхдээ сан болгоны өөрчлөлт (файлын устгалт) синхроноор зэрэг диск уруу бичигддэг. Үүнд сан уруу өөрт нь хийгдэх шинэчлэлтүүд, inode хүснэгт болон магадгүй файлын гаргасан шууд бус блокуудад хийх шинэчлэлтүүд ордог. Том иерархуудыг задлахад (tar -x) үүний нэгэн адилаар авч үздэг. Хоёр дахь нь асинхрон мета-өгөгдлийн шинэчлэлтүүд юм. Энэ нь Линукс/ext2fs-ийн хувьд анхдагч байх бөгөөд *BSD ufs-ийн хувьд mount -o async байх юм. Бүх мета-өгөгдлийн шинэчлэлтүүд нь буфер кэшээр бас дамждаг, тэгэхээр тэдгээр нь файлын агуулгын өгөгдлийн шинэчлэлтүүдтэй харилцан холилдох болно. Энэ шийдлийн давуу тал нь мета-өгөгдөл бүрийн шинэчлэлт диск уруу бичигдэхийг хүлээдэггүй бөгөөд ингэснээр ихээхэн хэмжээний мета-өгөгдлийн шинэчлэлтүүдийг хийдэг бүх үйлдлүүд синхрон хийгдэхээс хамаагүй хурдан ажилладаг. Мөн энэ шийдэл нь цэвэрхэн бас энгийн бөгөөд ингэснээр хорхойнууд (алдаа) код уруу мөлхөн орох эрсдэл бага юм. Сул тал нь файлын системийн бүрэн бүтэн төлвийн ямар нэг баталгаа ерөөсөө байдаггүй. Хэрэв их хэмжээний мета-өгөгдөл шинэчлэх үйлдлийн явцад амжилтгүй болсон бол (тэжээлийн тасалдал, эсвэл хэн нэг нь дахин эхлүүлэх товч дарсан зэрэгт) файлын систем тааж болшгүй төлөвт үлдэх болно. Систем дахин ачаалаад дуусахад файлын системийн төлөвийг мэдэх боломжгүй байдаг; inode хүснэгт эсвэл холбоотой сангийн шинэчлэлтүүд бичигдээгүй байхад файлын өгөгдлийн блокууд диск уруу аль хэдийн бичигдчихсэн байж болох юм. Ер нь гаргасан замбараагүйтлийг (учир нь хэрэгцээтэй мэдээлэл диск дээр байхгүй) цэвэрлэж чаддаг fsck тушаалын шийдлийг хийх боломжгүй. Хэрэв файлын систем засвар хийж чадахааргүй эвдэрсэн бол түүнд дээр &man.newfs.8;-ийг хэрэглэж нөөцөөс сэргээхээс өөр аргагүй юм. Энэ асуудлын шийдэл нь бохир бүсийн бүртгэл буюу бас журналчлалт гэгддэг шийдлийг гаргах явдал бөгөөд энэ ухагдахуун нь тогтвортой хэрэглэгддэггүй ба шилжүүлэлтийн бүртгэлийн бусад хэлбэрүүдэд бас заримдаа ашиглагддаг. Мета-өгөгдлийн шинэчлэлтүүд нь синхроноор бичигдсэн хэвээр байх бөгөөд гэхдээ зөвхөн дискний жижиг бүсэд бичигдэнэ. Дараа нь тэдгээрийг тэдний зөв байрлал уруу зөөдөг. Бүртгэлийн талбар нь диск дээр бага, үргэлжилсэн бүс байдаг учраас бүр хүнд үйлдлүүдийн үед ч гэсэн дискний толгойнууд шилжихэд хол зайтай биш байдаг болохоор эдгээр үйлдлүүд нь синхрон шинэчлэлтүүдээс илүү хурдан байдаг. Мөн энэ шийдлийн төвөгтэй байдал нь маш хязгаарлагдмал болохоор алдаанууд байх эрсдэл нь бага байдаг. Сул тал нь бүх мета-өгөгдөл нь хоёр удаа бичигддэг (бүртгэлийн бүсэд нэг удаа болон зөв байрлал уруу бас нэг удаа) болохоор энгийн ажлын хувьд ажиллагааны өөдрөг бус үзэгдэл гарч болзошгүй юм. Нөгөө талаас сүйрэл болоод систем дахин ачаалаад дуусахад хүлээгдэж байгаа бүх мета-өгөгдлийн үйлдлүүд бүртгэлийн талбараас хурдан буцаагдаж эсвэл гүйцэд хийгдэн дуусч болох бөгөөд энэ нь файлын системийг хурдан эхлүүлэхэд хүргэдэг. Беркли FFS-ийн хөгжүүлэгч Кирк МкКюзик энэ асуудлыг Soft Updates буюу Зөөлөн Шинэчлэлтүүдээр шийдсэн: хүлээгдэж байгаа бүх мета-өгөгдлийн шинэчлэлтүүд нь санах ойд хадгалагдах бөгөөд диск уруу эрэмбэлэгдсэн дарааллаар бичигддэг (дараалуулсан мета-өгөгдлийн шинэчлэлтүүд). Энэ нь мета-өгөгдлийн хүнд үйлдлүүдийн үед хэрэв эрт хийгдсэн шинэчлэлтүүд диск уруу бичигдээгүй санах ойд байж байхад нь сүүлд хийгдэх шинэчлэлтүүд тэдгээрийг барьж авдаг. Тэгэхээр сангийн хувьд хэлбэл түүнд хийгдэх бүх үйлдлүүд нь санах ойд шинэчлэлт диск уруу бичигдэхээс өмнө хийгддэг (өгөгдлийн блокууд нь мета-өгөгдлөөсөө түрүүлээд диск дээр байж байхгүйгээр өөрсдийн байрлалынхаа дагуу эрэмбэлэгддэг ). Хэрэв систем сүйрвэл энэ нь бүртгэл урагшлуулахад хүргэдэг: диск уруу гарах замаа олохгүй байгаа бүх үйлдлүүд хэзээ ч хийгдээгүй юм шиг байдаг. Файлын системийн бүрэн бүтэн төлөв хадгалагдаж 30-аас 60 секундын өмнөх төлөвт ордог. Хэрэглэгдэж байгаа эх үүсвэрүүдийг тэдгээрийн өөрсдийнх харгалзах битмапуудад: блокууд болон inode-уудад байдаг шигээр тэмдэглэхийг үүнд ашигласан алгоритм нь баталгаатай хангадаг. Сүйрэл болсны дараа зөвхөн гарсан эх үүсвэр суллан гаргалтын алдаа нь яг үнэндээ чөлөөтэй мөртлөө ашиглагдаж байгаа гэж тэмдэглэгдсэн эх үүсвэрүүд байдаг. &man.fsck.8; энэ байдлыг таних бөгөөд ашиглагдаагүй байгаа эх үүсвэрүүдийг чөлөөлдөг. Сүйрлийн дараа файлын системийн бохир төлвийг авч үзэлгүйгээр хүчээр mount -f тушаалаар холбох нь аюулгүй юм. Ашиглагдаагүй байж болзошгүй эх үүсвэрүүдийг чөлөөлөхдөө &man.fsck.8;-г сүүлд нь ажиллуулах хэрэгтэй. Энэ нь ард ажиллах fsck-ийн цаана байгаа санаа юм: системийг эхлүүлэх үед зөвхөн файлын системийн хормын зураг бичигддэг. fsck-г сүүлд нь ажиллуулж болно. Дараа нь бүх файлын системүүд бохир холбогдож системийн эхлэлт олон хэрэглэгчийн горимд үргэлжилдэг. Дараа нь ард ажиллах fsck-үүд ашиглагдаагүй байгаа эх үүсвэрүүдийг чөлөөлөхөөр шаардлагатай байгаа бүх файлын системийн хувьд ажиллахаар төлөвлөгддөг. (Зөөлөн Шинэчлэлтүүд ашигладаггүй файлын системүүдэд ердийн нүүрэн дээр ажиллах fsck хэрэгтэй хэвээр байна) Давуу тал нь мета-өгөгдлийн үйлдлүүд нь асинхрон шинэчлэлтүүдтэй бараг л адил хурдан байдаг (өөрөөр хэлбэл мета-өгөгдлийг хоёр дахин бичдэг бүртгэл хийлтээс хурдан байдаг). Сул талууд нь төвөгтэй код (хэрэглэгчийн өгөгдлийн алдагдлын хувьд их мэдрэмтгий талбар дахь байж болох алдаануудын тэр өндөр эрсдэлийг хэлж байна) болон санах ойн илүү хэрэглээ юм. Мөн хэн нэгний хэрэглэж байсан хувийн тохиргоонууд ч бас байдаг. Сүйрэл болсны дараа файлын системийн төлөв хуучин юм шиг харагддаг. Стандарт синхрон хандлага нь fsck-ийн дараа зарим нэг тэг-урттай файлуудыг үлдээхэд хүргэсэн нөхцөлд тэдгээр файлууд нь Зөөлөн Шинэчлэлтүүдтэй файлын системийн үед огт байдаггүй бөгөөд учир нь мета-өгөгдөл болон файлын агуулгууд хэзээ ч диск уруу бичигдээгүй байдаг. Дискний зай нь магадгүй rm ажиллуулснаас хэсэг хугацааны дараа диск уруу шинэчлэлтүүд бичигдэх хүртэл сулардаггүй. Энэ нь бүх файлуудыг хоёр дахин хадгалахад хангалттай хүрэлцэхүйц хэмжээний чөлөөтэй зай байхгүй файлын систем дээр их хэмжээний өгөгдлийг суулгаж байх үед асуудлууд гарахад хүргэж болох юм. Цөмийн хязгаарууд тохируулах нь тохируулах нь цөмийн хязгаарууд Файл/Процессийн хязгаарууд <varname>kern.maxfiles</varname> kern.maxfiles kern.maxfiles нь таны системийн шаардлагуудаас хамаараад дээшилж эсвэл доошилж болно. Энэ хувьсагч нь таны систем дээрх файлын тодорхойлогчуудын (descriptor) хамгийн их тоог илэрхийлдэг. Файлын тодорхойлогчийн хүснэгт дүүрсэн тохиолдолд file: table is full буюу файл: хүснэгт дүүрсэн гэсэн мэдээлэл давтагдан системийн богино мэдээллийн буфферт үзэгдэх бөгөөд үүнийг dmesg тушаал ашиглан үзэж болдог. Нээлттэй файл, сокет эсвэл fifo болгон нэг файлын тодорхойлогч хэрэглэдэг. Ажиллаж байгаа том-хэмжээний сервер зэрэгцээ ажиллаж байгаа үйлчилгээнүүдийн тоо болон төрлөөс хамааран олон мянган файлын тодорхойлогчуудыг өлхөн шаардаж болох юм. Хуучин FreeBSD хувилбаруудад kern.maxfiles-ийн анхдагч утга нь таны цөмийн тохиргооны файлын тохируулгаас гарсан байдаг. kern.maxfiles нь утгатай пропорционалаар өсдөг. Өөрчлөн тохируулсан цөмийг бүтээхдээ энэ цөмийн тохиргооны тохируулгыг өөрийн системийн хэрэглээний дагуу зааж өгөх нь зүйтэй байдаг. Энэ тооноос хамаарч цөм өөрийн ихэнх урьдчилан-тодорхойлсон хязгааруудыг өгдөг. Ажиллагаанд байгаа машин яг үнэндээ нэг удаа 256 хэрэглэгч зэрэг холбогдоогүй байж болох боловч өндөр-хэмжээний вэб серверийнхтэй адил эх үүсвэрүүд хэрэгтэй байж болох юм. FreeBSD 4.5-аас эхлэн kern.maxusers нь системд байгаа санах ойн дээр үндэслэн ачаалах үед автоматаар тавигддаг бөгөөд ажиллаж байх явцад зөвхөн уншигдах kern.maxusers sysctl хувьсагчийн утгыг шалгаж тогтоогдож болох юм. Зарим сайтууд kern.maxusers-ийн илүү их эсвэл бага утгуудыг шаардаж үүнийг ачаалагчаар тааруулагдахаар тохируулж болох юм; 64, 128, болон 256 утгууд нь ховор байдаг. Танд асар их тооны файлын тодорхойлогчууд хэрэгтэй л биш бол бид 256-аас дээш байлгахыг зөвлөдөггүй; өөрсдийн анхдагч утгуудад kern.maxusers-р заагддаг, тааруулагдах боломжтой утгуудын олонх нь тус тусдаа ачаалалтын үед эсвэл ажиллах явцад /boot/loader.conf-оор эсвэл энэ баримтын хаа нэгтээ тайлбарласнаар өөрчлөгдөж болдог (&man.loader.conf.5; гарын авлага эсвэл /boot/defaults/loader.conf файлыг санаа авахын тулд үзнэ үү). FreeBSD 4.4-өөс хуучин системүүд энэ утгыг цөмийн &man.config.8; тохируулга -ээр зааж өгөх хэрэгтэй. Хуучин хувилбаруудад хэрэв та maxusers-ийг 0 гэж шууд зааж өгсөн бол систем автоматаар тааруулж өгдөг Автоматаар тааруулах алгоритм maxusers-ийг систем дэх санах ойн хэмжээтэй адилаар хамгийн багадаа 32 ба хамгийн ихдээ 384 гэж зааж өгдөг.. Энэ тохируулгыг заахдаа ялангуяа та хэрэв X Цонхны Систем ашиглаж байгаа эсвэл програм хангамж хөрвүүлж байгаа бол maxusers-ийг хамгийн багадаа 4 гэж заахыг хүсэх болно. Шалтгаан нь гэвэл maxusers-ээр заагдсан хамгийн чухал хүснэгт бол 20 + 16 * maxusers гэж заагдсан процессуудын хамгийн их тоо бөгөөд хэрэв та maxusers-ийг 1 гэж заасан бол та 18 орчмыг нь ачаалах үед системийг эхлүүлэхэд болон 15 орчмыг нь таныг X Цонхны Системийг эхлүүлэхэд магадгүй үүсэж та нийт зөвхөн 36 зэрэг процесстой байж болох юм. Гарын авлагыг унших зэрэг хялбар бодлого хүртэл шүүх, шахсаныг задлах, болон үзэхэд зориулж есөн процессийг эхлүүлдэг. maxusers-ийг 64 гэж заах нь бараг л бүх хэрэгцээнд хангалттай байх 1044 зэрэг процесстой байж болохыг танд зөвшөөрнө. Гэхдээ өөр програм эхлүүлэхээр оролдож байх үед эсвэл их олон тооны зэрэгцээ хэрэглэгчидтэй сервер (ftp.FreeBSD.org-той адил) ажиллуулж байхад айдас төрүүлэм proc table full буюу proc хүснэгт дүүрсэн гэсэн алдаа хэрэв та харах юм бол үргэлж энэ тоог ихэсгэн цөмийг дахин бүтээж болох юм. maxusers нь таны машин уруу нэвтрэх хэрэглэгчдийн тоог хязгаарладаггүй. Энэ нь ердөө л таны систем дээр байж болох хамгийн их хэрэглэгчийн тоо болон тэдгээр тус бүрийн ажиллуулах процессийн тооноос хамааран төрөл бүрийн хүснэгтийн хэмжээнүүдийг боломжийн утгуудаар зааж өгдөг. Алсаас хандах зэрэгцээ нэвтрэлтүүдийн тоо болон X терминал цонхнуудыг хязгаарладаг нэг түлхүүр нь псевдо-төхөөрөмж pty 16 юм. &os; 5.X дээр &man.pty.4; драйвер aвто-клон хийх боломжтой болохоор та энэ тоон дээр санаа зовохгүй байж болно; та тохиргооны файлдаа device pty гэсэн мөрийг л ашилах юм. <varname>kern.ipc.somaxconn</varname> kern.ipc.somaxconn kern.ipc.somaxconn sysctl хувьсагч нь шинэ TCP холболтуудыг хүлээн авахад зориулсан сонсох дарааллын хэмжээг хязгаарладаг. Анхдагч утга 128 нь ачаалал ихтэй вэб серверийн орчин дахь шинэ холболтуудыг хүлээж авахад ерөнхийдөө хэтэрхий бага юм. Тийм орчны хувьд энэ утгыг 1024 эсвэл түүнээс их болгохыг зөвлөдөг. Үйлчилгээний дэмон нь өөрөө сонсох дарааллын хэмжээгээ (өөрөөр хэлбэл &man.sendmail.8;, эсвэл Apache) хязгаарлаж болох боловч ихэвчлэн өөрийн тохиргооны файлдаа дарааллын хэмжээг тааруулах тохиргооны мөртэй байдаг. Их хэмжээний сонсох дарааллууд нь бас Үйлчилгээг Зогсоох халдлагуудаас (DoS) илүү сайн зайлсхийж ажилладаг. Сүлжээний хязгаарууд NMBCLUSTERS цөмийн тохиргооны тохируулга нь системд байгаа сүлжээний Mbuf-уудын тоог зааж өгдөг. Бага тооны Mbuf-уудтай трафикийн ачаалал ихтэй сервер &os;-ийн чадварт саад болдог. Кластер бүр ойролцоогоор 2 K санах ойг илэрхийлдэг, тийм болохоор 1024 гэсэн утга нь сүлжээний буферуудад зориулж хадгалсан 2 мегабайт цөмийн санах ойг илэрхийлнэ. Хичнээн хэрэгтэйг олохын тулд хялбар тооцоо хийж болно. Хэрэв та хамгийн ихдээ 1000 зэрэгцээ холболтуудтай, холболт бүр нь 16 K хүлээн авах болон 16 K илгээх буферийг иддэг вэб сервертэй бол танд ойролцоогоор вэб серверийг хангахын тулд 32 MB хэмжээтэй тэнцэх сүлжээний буферууд хэрэгтэй болно. Практикаар ер нь 2-оор үржүүлдэг, тэгэхээр 2x32 MB / 2 KB = 64 MB / 2 kB = 32768 болох юм. Бид их санах ойтой машинуудын хувьд утгуудыг 4096-аас 32768-ын хооронд байлгахыг зөвлөдөг. Энэ параметрийн хувьд өндөр утгыг ямар ч нөхцөлд тавьж болохгүй, учир нь энэ нь ачаалах үеийн сүйрэлд хүргэж болно. &man.netstat.1;-д тохируулгыг ашиглаж сүлжээний кластерийн ашиглалтыг ажиглаж болох юм. kern.ipc.nmbclusters ачаалалтын тааруулах боломжтой тохируулга нь ачаалах үед үүнийг тааруулахад хэрэглэгдэх ёстой. Зөвхөн &os;-ийн хуучин хувилбарууд NMBCLUSTERS цөмийн &man.config.8; тохируулгыг ашиглахыг танаас шаарддаг. &man.sendfile.2; системийн дуудлагыг өргөнөөр ашигладаг завгүй серверүүдийн хувьд NSFBUFS цөмийн тохиргооны тохируулгын тусламжтай эсвэл түүний утгыг /boot/loader.conf-д зааж &man.sendfile.2; буферуудын тоог ихэсгэх шаардлагатай байж болох юм (дэлгэрэнгүйг &man.loader.8;-с үзнэ үү). Процессууд sfbufa төлөвт харагдах нь энэ параметрийг тааруулах хэрэгтэйг ихэвчлэн заадаг. kern.ipc.nsfbufs sysctl хувьсагч нь цөмөөр тохируулагдсан хувьсагч дахь зөвхөн уншигддаг гялбаа юм. Энэ параметр нь kern.maxusers-ийн хэмжээгээр тааруулагддаг, гэхдээ үүнийг түүний дагуу тохируурах шаардлагатай байж болох юм. Сокет блок-хийгддэггүй гэж тэмдэглэгдсэн ч гэсэн блок-хийгддэггүй сокет дээр &man.sendfile.2;-ийг дуудах нь хангалттай хэмжээний struct sf_buf-уудыг бий болготол &man.sendfile.2; дуудлага блок хийгдэхэд хүргэж болох юм. <varname>net.inet.ip.portrange.*</varname> net.inet.ip.portrange.* net.inet.ip.portrange.* sysctl хувьсагчууд нь TCP болон UDP сокетуудад автоматаар уягдах портын дугаарын хүрээнүүдийг хянадаг. Гурван хүрээ байдаг: доод хүрээ, анхдагч хүрээ, болон өндөр хүрээ. Ихэнх сүлжээний програмууд нь анхдагчаар 1024 болон 5000 байдаг net.inet.ip.portrange.first болон net.inet.ip.portrange.last хувьсагчуудаар хянагддаг анхдагч хүрээг ашигладаг. Уягдах портын хүрээнүүд гарах холболтуудад ашиглагддаг бөгөөд зарим тохиолдолд систем дэх портууд дуусч болох юм. Энэ нь ихэвчлэн таныг ачаалал ихтэй вэб прокси ашиглаж байхад гардаг. Ихэвчлэн ирж байгаа холболтуудыг хүлээн авдаг ердийн вэб сервер эсвэл захидал дамжуулагч зэрэг хязгаарлагдмал тооны гарах холболтуудтай серверүүдийг ажиллуулж байхад портын хүрээ нь асуудал биш юм. Таны порт дуусаж болох тийм тохиолдлуудад net.inet.ip.portrange.last хувьсагчийг даруухнаар ихэсгэхийг зөвлөдөг. 10000, 20000 эсвэл 30000 нь боломжийн утгууд юм. Портын хүрээг өөрчилж байхдаа галт ханын нөлөөллүүдийг бас бодолцох хэрэгтэй. Зарим галт хана их хэмжээний портуудыг хааж болох бөгөөд (ихэнхдээ бага дугаарын портууд) систем өндөр дугаарын портуудыг гарах холболтууддаа ашигладгийг бодолцох ёстой — ийм учраас net.inet.ip.portrange.first-ийг багасгахыг зөвлөдөггүй. TCP хурд сааруулагч бүтээгдэхүүнүүд TCP хурд сааруулагч бүтээгдэхүүний хязгаарлалт net.inet.tcp.inflight.enable TCP хурд сааруулагч бүтээгдэхүүний хязгаарлалт нь NetBSD дэх TCP/Vegas-тай адилхан юм. net.inet.tcp.inflight.enable sysctl хувьсагчийг 1 болгон тохируулж үүнийг идэвхжүүлдэг. Систем холболт бүрийн хувьд хурд сааруулагч бүтээгдэхүүнийг тооцоолохыг оролддог бөгөөд сүлжээн дэх дараалалд оруулах өгөгдлийн хэмжээг хамгийн боломжийн нэвтрүүлэх чадамжийг байнга барьж байх тэр хэмжээнд хүргэж хязгаарладаг. Хэрэв та өгөгдлийг модемууд, Гигабит Ethernet, эсвэл бүр өндөр хурдны WAN холболтуудаар (эсвэл дурын өндөр хурд сааруулагч бүтээгдэхүүнтэй холболт) дамжуулж байгаа бол ялангуяа та бас цонх өсгөлтийг ашиглаж байгаа эсвэл том илгээх цонх тохируулсан бол энэ боломж нь ашигтай юм. Хэрэв та энэ тохируулгыг идэвхжүүлэх бол бас net.inet.tcp.inflight.debug-ийг 0 (дибаг хийхийг болиулах) болгож тохируулах хэрэгтэй бөгөөд үйлдвэрлэлийн ашиглалтад net.inet.tcp.inflight.min-ийг хамгийн багаар бодоход 6144 болгох нь ашигтай байж болох юм. Гэхдээ хамгийн бага тоог өндөр болгох нь холболтоос хамааран хурд хязгаарлалтыг идэвхтэйгээр болиулж болохыг санах хэрэгтэй. Хязгаарлах боломж нь дундын чиглүүлэлтийн үед бүтээгдсэн өгөгдлийн хэмжээг багасгах бөгөөд пакетийн дарааллуудыг сольж локал хостын интерфэйс дэх дараалал дээр бүтээгдсэн өгөгдийн хэмжээг мөн багасгадаг. Дараалалд орсон цөөн тооны пакетуудтай, ялангуяа удаан модемоор дамжсан интерактив холболтууд нь бага Round Trip Times буюу Эргэн Аялах Хугацаатайгаар ажиллаж бас чаддаг. Гэхдээ энэ боломж нь зөвхөн өгөгдөл дамжуулалтад (илгээх / сервер талын) нөлөөлдгийг санах хэрэгтэй. Энэ нь өгөгдөл хүлээн авахад нөлөө үзүүлэхгүй (татаж авах). net.inet.tcp.inflight.stab-ийг тааруулахыг зөвлөдөггүй. Энэ параметр нь хурд сааруулах бүтээгдэхүүний цонхны тооцоололд нэмсэн 2 хамгийн их пакетийг илэрхийлж анхдагчаар 20 байдаг. Энэ алгоритмийг тогтворжуулах болон өөрчлөгдөж байгаа нөхцлүүдэд хариу өгөх боломжийг сайжруулахад нэмэлт цонх шаардлагатай боловч энэ нь бас удаан холболт дээр ping хийх хугацаа ихэсгэхэд хүргэдэг (гэхдээ таныг энэ (inflight) алгоритмийг ашиглаагүй байхад гарсан үр дүнгээс хамаагүй бага хэвээр л байна). Ийм тохиолдолд энэ параметрийг 15, 10, эсвэл 5 болгон багасгахыг хүсэж болох юм; мөн хүссэн үр дүндээ хүрэхийн тулд net.inet.tcp.inflight.min хувьсагчийг (жишээ нь 3500 болгож) бас багасгаж болох юм. Эдгээр параметрүүдийг багасгах нь хамгийн сүүлд авах арга хэмжээ байх ёстой юм. Виртуал санах ой <varname>kern.maxvnodes</varname> vnode нь файл эсвэл сангийн дотоод дүрслэл юм. Тэгэхээр үйлдлийн системд байх vnode-ийн тоог ихэсгэх нь диск I/O-г багасгадаг. Энэ нь ихэвчлэн үйлдлийн системээр зохицуулагддаг бөгөөд өөрчлөх хэрэггүй байдаг. Зарим тохиолдолд диск I/O нь гол асуудал учруулж системд vnode байхгүй болж байвал энэ тохируулгыг ихэсгэх хэрэгтэй болно. Идэвхгүй болон чөлөөтэй RAM-ийн хэмжээг бодолцох шаардлагатай. Тухайн үед ашиглагдаж байгаа vnode-уудыг үзэхдээ: - &prompt.root; sysctl vfs.numvnodes -vfs.numvnodes: 91349 + &prompt.root; sysctl vfs.numvnodes +vfs.numvnodes: 91349 Хамгийн их vnode-уудыг үзэхдээ: - &prompt.root; sysctl kern.maxvnodes -kern.maxvnodes: 100000 + &prompt.root; sysctl kern.maxvnodes +kern.maxvnodes: 100000 Хэрэв тухайн үеийн vnode ашиглалт хамгийн их хэмжээ уруу бараг дөхөж байвал kern.maxvnodes-ийг 1,000-аар ихэсгэх нь зүйтэй байж болох юм. vfs.numvnodes-ийн тоон дээр бас анхаарлаа хандуулаарай. Хэрэв энэ нь дахин хамгийн их уруугаа дээшилбэл kern.maxvnodes-ийг цааш ихэсгэх шаардлагатай болно. &man.top.1;-ийн гаргасан дүнгээс таны санах ойн өөрчлөлт харагдах ёстой. Түрүүнийхээс илүү санах ой идэвхтэй байх ёстой. Swap зай нэмэх нь Та яаж ч сайн төлөвлөсөн байлаа гэсэн заримдаа систем таны бодсоноор ажилладагүй. Хэрэв танд swap зай илүү хэрэгцээтэйг мэдвэл та үүнийг амархнаар нэмж болно. Та гурван аргаар swap зайг ихэсгэж болно: шинэ хатуу диск нэмэх, NFS-ийн тусламжтай swap идэвхжүүлэх болон байгаа хуваалт дээр swap файл үүсгэж ихэсгэж болно. Swap зайг хэрхэн шифрлэх, ямар тохируулгууд байгаа болон яагаад хийх ёстой талаар гарын авлагын хуудсанд хандана уу. Шинэ диск дээрх swap Мэдээж swap нэмэх хамгийн шилдэг арга нь энэ боломжийг шалтаг болгон ашиглаж өөр хатуу диск нэмэх явдал юм. Ер нь та үргэлж өөр хатуу диск ашиглаж болно л доо. Хэрэв та ингэх бол өөрийн swap-аа хэрхэн хамгийн шилдгээр зохион байгуулж болох талаар дурдсан зарим зөвлөгөөнүүдийн тухай Гарын авлагын дахь swap зайн хэлэлцүүлгээс дахин уншаарай. NFS-ийн тусламжтай swap хийх нь NFS-ийн тусламжтай swap хийхийг зөвхөн swap хийх локал хатуу диск танд байхгүй үед л зөвлөдөг; NFS swap хийх нь байгаа сүлжээний хурдаар хязгаарлагддаг бөгөөд NFS серверт нэмэлт ачаалал үзүүлдэг. Swap файлууд Та swap файл болгон ашиглахаар заасан хэмжээтэй файлыг үүсгэж болно. Энд байгаа жишээн дээр бид /usr/swap0 гэсэн нэртэй 64MB файлыг ашиглана. Мэдээж та хүссэн ямар ч нэрээ ашиглаж болно. Swap файл &os; дээр үүсгэх нь Таны цөмийн тохиргоонд санах ойн дискний драйвер (&man.md.4;) орсон эсэхийг шалгаарай. Энэ нь GENERIC цөмд анхдагчаар орсон байдаг. device md # Memory "disks" Swap файл (/usr/swap0) үүсгэнэ: &prompt.root; dd if=/dev/zero of=/usr/swap0 bs=1024k count=64 Зөв зөвшөөрлүүдийг (/usr/swap0-д) нээж тохируулна: &prompt.root; chmod 0600 /usr/swap0 /etc/rc.conf-д swap файлыг идэвхжүүлнэ: swapfile="/usr/swap0" # Set to name of swapfile if aux swapfile desired. Машиныг дахин эхлүүлнэ эсвэл swap файлыг шууд идэвхжүүлэхийн тулд дараах тушаалыг ажиллуулна: &prompt.root; mdconfig -a -t vnode -f /usr/swap0 -u 0 && swapon /dev/md0 Хитэн Пандиа Бичсэн Том Рөүдс Цагаанхүүгийн Ганболд Орчуулсан Тэжээл болон Эх үүсвэрийн Удирдлага Тоног төхөөрөмжийн эх үүсвэрүүдийг үр ашигтай ашиглах нь чухал юм. ACPI танилцуулагдахаас өмнө системийн тэжээлийн ашиглалт болон дулааны шинж чанаруудыг удирдахад үйлдлийн системүүдийн хувьд хэцүү, уян хатан биш байсан. Тоног төхөөрөмж нь BIOS-оор удирдагддаг байсан болохоор тэжээлийн удирдлагын тохиргоонуудын харагдац бага бөгөөд хэрэглэгчид хянах боломж бага байсан юм.Зарим нэгэн хязгаарлагдмал тохиргооны боломж Advanced Power Management буюу Тэжээлийн Дэвшилттэй Удирдлага (APM) интерфэйсээр хийгдэх боломжтой байсан. Тэжээл болон Эх үүсвэрийн Удирдлага нь орчин үеийн үйлдлийн системийн түлхүүр хэсгүүдийн нэг юм. Жишээ нь таны системийн хэм гэнэт нэмэгдэх тохиолдолд системийн хязгааруудыг үйлдлийн систем монитор хийхийг (магадгүй танд мэдээлэхийг) хүсэж болох юм. &os; Гарын авлагын энэ хэсэгт бид ACPI-ийн талаар нэвтэрхий мэдээллээр хангах болно. Цааш нэмж уншихад зориулсан мэдээллүүдийг төгсгөл хэсэгт оруулсан байгаа. ACPI гэж юу вэ? ACPI APM Advanced Configuration and Power Interface буюу Дэвшилттэй Тохиргоо ба Тэжээлийн Интерфэйс (ACPI) нь тоног төхөөрөмжийн эх үүсвэрүүд болон тэжээлийн удирдлагад (эндээс нэр гарсан) зориулсан стандарт интерфэйсийг хангах зорилгоор үйлдвэрлэгчдийн холбооноос бичин гаргасан стандарт юм. Энэ нь Үйлдлийн Системээр заалгасан тохиргоо ба Тэжээлийн Удирдлагын түлхүүр элемент юм, өөрөөр хэлбэл: энэ нь илүү хяналт болон уян хатан байдлыг үйлдлийн системд (OS) хангадаг. ACPI-г танилцуулахаас өмнө одоогийн Залгаад Тоглуулах интерфэйсүүдийн хязгааруудыг орчин үеийн системүүд сунгасан юм. ACPI нь APM-ийн (Advanced Power Management буюу Тэжээлийн Дэвшилтэт Удирдлага) шууд залгамжлагч юм. Тэжээлийн Дэвшилтэт Удирдлагын (APM) сул талууд Тэжээлийн Дэвшилтэт Удирдлага (APM) боломж нь системийн тэжээлийн ашиглалтыг түүний ажиллагаан дээр үндэслэн хянадаг. APM BIOS нь (систем) үйлдвэрлэгчээс хангагддаг бөгөөд тоног төхөөрөмжийн тавцан бүрийн хувьд онцлог байдаг. OS дахь APM драйвер нь тэжээлийн түвшингүүдийн удирдлагыг зөвшөөрдөг APM Програм хангамжийн Интерфэйс уруу хандах хандалтыг зуучилж өгдөг. APM-ийг 2000 онд болон тэрнээс өмнө үйлдвэрлэсэн системүүдэд ашиглах ёстой хэвээр байдаг. APM-д дөрвөн үндсэн асуудал байдаг. Нэгдүгээрт, тэжээлийн удирдлага (үйлдвэрлэгчийн онцлогтой) BIOS-оор хийгддэг бөгөөд OS нь энэ талын ямар ч мэдлэг байдаггүй. Үүний нэг жишээ нь хэрэглэгч хатуу дискний сул зогсох хугацааг APM BIOS дээр зааж өгөөд тэр нь зааснаас илүү гарвал BIOS хатуу дискийг OS-ийн зөвшөөрөлгүйгээр эргүүлдэг. Хоёрдугаарт, APM-ийн логик BIOS-д суулгагдсан байдаг бөгөөд OS-ийн эрх хэмжээнээс гадна ажилладаг. Энэ нь хэрэглэгчид өөрсдийн APM BIOS-ийг зөвхөн шинэ хувилбараар нь ROM уруу нь шарж асуудлуудыг засварлах боломжтой гэсэн үг юм; энэ нь амжилтгүй болбол системийг дахин сэргээгдэхгүй төлөвт орхиж болох боломжтой маш аюултай процедур юм. Гуравдугаарт, APM нь үйлдвэрлэгчийн онцлогтой технологи бөгөөд энэ нь маш олон адил төсөөтэй байдал (чармайлтуудын хуулбар) болон нэг үйлдвэрлэгчийн BIOS-д олдсон алдаанууд бусад үйлдвэрлэгчдийн хувьд шийдэгдээгүй байж болно гэсэн үг юм. Хамгийн сүүлд гэхдээ төгсгөлийнх биш, APM BIOS нь тэжээлийн маш нарийн бодлого эсвэл машины зориулалтад зориулагдан маш сайн тохируулагдах тийм шийдлийг хийхэд хангалттай зайгүй байдаг. Залгаад Тоглуулах BIOS (PNPBIOS) нь олон тохиолдолд найдвартай биш байсан юм. PNPBIOS нь 16-битийн технологи, тийм болохоор OS нь PNPBIOS аргуудтай холбогдохдоо 16-битийн эмуляц хэрэглэх шаардлагатай болдог. &os;-ийн APM драйвер &man.apm.4; гарын авлагын хуудсанд баримтжуулагдсан байдаг. <acronym>ACPI</acronym>-г тохируулах нь acpi.ko драйвер нь системийг эхлүүлэх үед &man.loader.8;-оор анхдагчаар ачаалагддаг бөгөөд цөмд оруулж хөрвүүлэгдэх ёсгүй. Үүний цаадах шалтгаан нь модулиудтай ажиллах хялбар байдаг, өөрөөр хэлбэл цөмийг дахин хөрвүүлэлгүйгээр өөр acpi.ko уруу шилждэг. Энэ нь тест хийлтийг илүү амархан болгодог давуу талтай юм. Нөгөө нэг шалтгаан нь системийг ажиллуулж дууссаны дараа ACPI-г ажиллуулахад ихэвчлэн сайн ажилладаггүй. Хэрэв та асуудлуудтай учирч байгаа бол ACPI-г бүхэлд нь хаах хэрэгтэй. Энэ драйверийг ачаалсны дараа буулгаж болиулж чаддаггүй, болдоггүй, учир нь системийн шугам үүнийг төрөл бүрийн тоног төхөөрөмжүүдийн харилцан үйлдлүүдэд хэрэглэдэг. ACPI/boot/loader.conf файлд юм уу эсвэл &man.loader.8; хүлээх мөрөнд hint.acpi.0.disabled="1" гэж тохируулан хааж болдог. ACPI болон APM нь цуг байж болохгүй бөгөөд салангид хэрэглэгдэх ёстой. Сүүлд ачаалагдах драйвер нь хэрэв нөгөө нэгийг ажиллаж байгааг мэдвэл ажиллагаагаа дуусгавар болгодог. ACPI нь &man.acpiconf.8;-ийн туг болон 1-5 тохируулгын тусламжтайгаар системийг унтах горим шилжүүлэхэд хэрэглэгдэж болно. Ихэнх хэрэглэгчдэд зөвхөн 1 эсвэл 3 (RAM руу түр зогсоох) хэрэгтэй байдаг. 5 тохируулга нь дараах тушаалтай нэг ёсондоо адилыг гүйцэтгэнэ: &prompt.root; halt -p Бусад тохируулгууд &man.sysctl.8;-ийн тусламжтай байдаг. Дэлгэрэнгүй мэдээллийн талаар &man.acpi.4; болон &man.acpiconf.8; гарын авлагын хуудаснуудаас шалгана уу. Нэйт Лоосон Бичсэн Питер Шульц Хувь нэмэрлэцгээсэн Том Рөүдс Цагаанхүүгийн Ганболд Орчуулсан &os;-ийн <acronym>ACPI</acronym>-г ашиглах нь ба дибаг хийх нь ACPI асуудлууд ACPI нь төхөөрөмжүүдийг илрүүлэх, тэжээлийн ашиглалтыг удирдах болон урьд нь BIOS-оор удирдагддаг байсан төрөл бүрийн тоног төхөөрөмжид хандах стандартчилагдсан хандалтыг хангадаг цоо шинэ арга юм. Бүх системүүд дээр ACPI-г ажиллуулах тал дээр дэвшил хийгдсэн бөгөөд гэхдээ зарим эх хавтангуудын ACPI Машины Хэлний (AML) байткод дахь алдаанууд, &os;-ийн цөмийн дэд системүүдийн бүрэн бүтэн бус байдал болон &intel; ACPI-CA тайлбарлагч дахь алдаанууд илэрсээр байна. Энэ баримт нь таныг &os;-ийн ACPI дэмжигчдэд тусалж таны ажигласан асуудлуудын үндсэн учир шалтгааныг таних, дибаг хийх болон шийдлийг хөгжүүлэхэд туслах зорилготой юм. Үүнийг уншиж байгаад талархлаа илэрхийлэхийн ялдамд бид таны системийн асуудлуудыг шийдэж чадна гэдэгт найдаж байна. Дибаг мэдээллийг илгээх нь Асуудлыг илгээхээсээ өмнө та хамгийн сүүлийн үеийн BIOS-ийн хувилбар болон хэрэв байх юм бол суулгагдсан хянагчийн хамгийн сүүлийн firmware хувилбар ажиллуулж байгаа эсэхээ шалгаарай. Асуудлыг шууд илгээхийг хүсэж байгаачууд дараах мэдээллийг freebsd-acpi@FreeBSD.org уруу илгээнэ үү: Системийн төрөл болон загварыг оролцуулан алдааг гаргаж байгаа зүйлийн хамтаар алдаатай ажиллагааг тайлбарласан мэдээлэл. Мөн хэрэв алдаа таны хувьд шинэ бол яг хэзээ гарч эхэлснийг аль болох тодорхой гаргаарай. boot -v ажилласны дараах &man.dmesg.8;-ийн гаралтыг алдааг шалгаж байхад таны үүсгэсэн алдааны мэдээллүүдийн хамтаар. Хэрэв ACPI-г хаасан байхад асуудлыг шийдэж байвал тийм байх үе дэх boot -v-ийн гаралт. sysctl hw.acpi-ийн гаралт. Энэ нь таны систем ямар ямар боломжуудыг санал болгож байгааг мэдэх бас нэг сайн арга юм. Таны ACPI Эх Хэл (ASL) байх URL хаяг. ASL нь маш том байж болох учир шууд битгий жагсаалт уруу илгээгээрэй. Өөрийн ASL-ийн хуулбарыг энэ тушаалыг ашиглаж үүсгээрэй: &prompt.root; acpidump -dt > name-system.asl (Өөрийн нэвтрэх нэрийг name-ийн оронд болон үйлдвэрлэгч/загварыг system-ийн оронд солиорой. Жишээ нь: njl-FooCo6000.asl) Ихэнх хөгжүүлэгчид &a.current; үзэж байдаг, гэхдээ асуудлуудаа харагдуулахын тулд &a.acpi.name; уруу илгээгээрэй. Бид бүгд хаа нэгтээ өөр өөрийн үндсэн ажилтай учир тэвчээртэй байна уу. Хэрэв таны алдаа шууд илэрхий биш байх юм бол магадгүй бид таныг &man.send-pr.1;-ийн тусламжтай PR илгээхийг асуух байх. PR оруулахдаа дээр хүссэний адил мэдээллээ оруулна уу. Энэ нь асуудлыг мөшгөж шийдвэрлэхэд бидэнд туслах юм. Бид PR-уудыг мэдээлэх механизмын зорилгоор биш байгаа асуудлуудыг санаж байх зорилгоор ашигладаг болохоор эхлээд &a.acpi.name; уруу захидал илгээлгүйгээр PR битгий илгээгээрэй. Магадгүй таны асуудлыг урд нь өөр хэн нэгэн мэдээлсэн байж болох юм. Оршил ACPI ACPI нь ia32 (x86), ia64 (Itanium) болон amd64 (AMD) архитектуруудтай нийцтэй орчин үеийн бүх компьютерт байдаг. Бүрэн стандарт нь CPU-ны ажиллагааны удирдлага, тэжээлийн онгоцуудын хяналт, дулааны бүсүүд, төрөл бүрийн батарейний системүүд, суулгагдсан хянагчууд болон шугамын жагсаалт зэрэг олон боломжуудтай. Ихэнх системүүд нь бүрэн стандартыг бүгдийг хангасан шийдэлтэй байдаггүй. Жишээ нь зөөврийн компьютер хөргөх болон бас батарейний удирдлагын дэмжлэгтэй байхад ширээний систем зөвхөн шугамын жагсаалтын хэсгийн шийдлийг агуулсан байдаг. Зөөврийн компьютерууд нь бас өөр өөрийн ярвигтай асуудлуудыг агуулсан түр зогсоох болон үргэлжлүүлэх боломжуудыг агуулдаг. ACPI-нийцтэй систем нь төрөл бүрийн хэсгүүдтэй байдаг. BIOS болон бичил схемийн үйлдвэрлэгчид APIC зураг (SMP-д ашиглагддаг), тохиргооны регистрүүд болон хялбар тохиргооны утгууд зэрэг зүйлсүүдийг заадаг төрөл бүрийн тогтмол хүснэгтүүдийг (өөрөөр хэлбэл FADT) санах ойд хангаж өгдөг. Мөн төхөөрөмжүүд болон аргуудын мод хэлбэрийн нэрийн талбарыг заадаг байткодын хүснэгтээр (Differentiated System Description Table буюу Системийн Ялгаварласан Тайлбарын Хүснэгт DSDT) бас хангадаг. ACPI драйвер нь тогтмол хүснэгтүүдийг задлан ялгал хийх, байткодын тайлбарлагчийг шийдэх болон ACPI дэд системийн мэдээллийг хүлээн авахаар төхөөрөмжүүдийн драйверууд болон цөмийг өөрчлөх ёстой. &os;-ийн хувьд &intel; нь Линукс болон NetBSD-тэй хуваалцан хэрэглэгддэг тайлбарлагчаар хангадаг. ACPI-CA эх кодын зам нь src/sys/contrib/dev/acpica. ACPI-CA-г &os; дээр ажиллуулах тэр цавуу код нь src/sys/dev/acpica/Osd байршилд байдаг. Эцэст нь төрөл бүрийн ACPI төхөөрөмжүүдийн драйверууд src/sys/dev/acpica байршлаас олддог. Нийтлэг асуудлууд ACPI асуудлууд ACPI зөв ажиллахын тулд бүх хэсгүүд бас зөв ажилласан байх ёстой. Энд зарим нэг нийтлэг асуудлуудыг илэрч байгаа давтамжийн дарааллаар зарим нэг тойрон гарах замууд болон засваруудтайгаар нь дурдъя. Хулганы асуудлууд Зарим тохиолдолд түр зогсоох үйлдэл хийгдсэний дараа үргэлжлүүлэхэд хулганыг ажиллахгүй болгодог. Мэдэгдэж байгаа тойрон гарах арга зам нь hint.psm.0.flags="0x3000" мөрийг /boot/loader.conf файлд нэмэх явдал юм. Хэрэв энэ нь ажиллахгүй бол дээр тайлбарласны дагуу алдааны тайлан илгээхийг бодно уу. Suspend/Resume буюу Түр зогсоох/Үргэлжлүүлэх ACPI нь RAM уруу түр зогсоох S1-S3 гэсэн гурван төлөвтэй (STR) бөгөөд диск уруу түр зогсоох S4 гэгддэг нэг төлөвтэй (STD). S5 нь soft off буюу зөөлөн зогсоолт бөгөөд тэжээлд залгагдсан боловч асаагдаагүй байх үеийн таны системийн жирийн төлөв юм. S4 нь хоёр тусдаа аргаар хийгдэх боломжтой. S4BIOS нь BIOS-ийн тусламжтайгаар диск уруу хийгдэх түр зогсоолт юм. S4OS нь бүхэлдээ үйлдлийн системээр хийгддэг. Түр зогсоолттой холбоотой зүйлүүдийг sysctl hw.acpi тушаалаар шалгаж эхлээрэй. Энд Thinkpad-тай холбоотой үр дүнгүүд байна: hw.acpi.supported_sleep_state: S3 S4 S5 hw.acpi.s4bios: 0 Энэ нь бид S3, S4OS болон S5-ийг шалгахад acpiconf -s тушаалыг ашиглаж болно гэсэн үг юм. Хэрэв нь нэг (1) байх юм бол бид S4OS-ийн оронд S4BIOS дэмжлэгтэй байх юм. Түр зогсоолт/үргэлжлүүлэлтийг тест хийхдээ хэрэв дэмжигдсэн бол S1-ээс эхлээрэй. Энэ төлөв нь драйверийн дэмжлэг барагтаа л шаарддаггүй болохоор бараг л ажиллах болно. Хэн ч S2-ийг хийгээгүй байдаг бөгөөд танд энэ хэрэв байгаа бол энэ нь S1-тэй адил байна. Дараагийн оролдох зүйл нь S3 юм. Энэ нь хамгийн гүнзгий STR төлөв бөгөөд таны тоног төхөөрөмжийг дахин зөв эхлүүлэхийн тулд драйверийн ихээхэн дэмжлэг шаарддаг. Хэрэв үргэлжлүүлэх үед танд асуудлууд гарч байгаа бол &a.acpi.name; жагсаалт уруу цахим захидал чөлөөтэй илгээгээрэй, гэхдээ илүү их тест хийлт, ажил шаардсан маш олон драйверууд/тоног төхөөрөмжүүд байдаг учир асуудал шийдэгдэхийг хүлээх хэрэггүй юм. Асуудлыг тусгаарлахад туслахын тулд өөрийн цөмөөс аль болох олон драйверуудыг арилгаарай. Хэрэв энэ нь ажиллаж байвал та яг аль драйвер асуудалтай байгааг драйверуудыг амжилтгүй ажиллах хүртэл ачаалан тодорхойлж болох юм. nvidia.ko, X11 дэлгэцийн драйверууд болон USB зэрэг хоёртын драйверууд нь ерөнхийдөө хамгийн их асуудлуудтай байдаг байхад Ethernet интерфэйсүүд ихэвчлэн зүгээр ажилладаг. Хэрэв та драйверуудыг зөв ачаалж/буулгаж чадаж байвал та тохирох тушаалуудыг /etc/rc.suspend болон /etc/rc.resume файлуудад хийж үүнийг автоматжуулж болно. Драйверийг буулгах болон ачаалахад зориулсан тайлбар болгосон жишээ байдаг. Хэрэв таны дэлгэц үргэлжлүүлэлт хийгдсэний дараа заваарсан бол -г тэг (0) болгож үзээрэй. Хэрэв тусламж болохоор бол -г арай урт эсвэл арай богино утгуудаар тохируулж үзээрэй. Өөр нэг турших зүйл нь ACPI дэмжлэгтэй сүүлийн үеийн Линуксийн түгээлтийг ачаалан тэдний түр зогсоолт/үргэлжлүүлэлтийн дэмжлэгийг адил тоног төхөөрөмж дээр турших явдал юм. Хэрэв Линукс дээр ажиллаж байвал энэ нь &os;-ийн драйверийн асуудал гэсэн үг бөгөөд яг аль драйвер асуудлыг үүсгэж байгааг олсноор асуудлыг засварлахад бидэнд тус болох болно. ACPI-ийг дэмжиж байдаг дэмжигчид нь өөр бусад драйверуудыг (өөрөөр хэлбэл дуу, ATA гэх мэт) ихэвчлэн дэмжин ажилладаггүй болохоор драйверийн асуудлыг мөшгөж хийгдсэн ажил бүр магадгүй эцсийн эцэст &a.current.name; жагсаалт болон драйверийг дэмжигч уруу илгээгдэх хэрэгтэйг санаарай. Хэрэв та адал явдлыг эрж байгаа бол драйверийн үргэлжлүүлэлтийн функцын аль хэсэгт өлгөгдөж байгааг мөшгөхийн тулд зарим дибаг хийх &man.printf.3;-үүдийг асуудалтай драйверт хийж эхлээрэй. Эцэст нь ACPI-г хааж оронд нь APM-г нээж оролдоорой. Хэрэв түр зогсоолт/үргэлжлүүлэлт APM-тэй байхад ажиллаж байвал та APM-тэйгээ үлдэх нь ялангуяа хуучин тоног төхөөрөмжийн (2000 оноос өмнөх) хувьд бараг дээр байх бизээ. ACPI дэмжлэгийг зөв болгоход үйлдвэрлэгчдэд цаг хугацаа шаардах бөгөөд магадгүй хуучин тоног төхөөрөмжүүд нь ACPI-ийн хувьд BIOS-ийн асуудлуудтай ихэвчлэн байдаг. Систем өлгөгдөх (түр хугацаагаар эсвэл бүрмөсөн) Ихэнх системийн өлгөгдлүүд нь гээгдсэн тасалдлууд эсвэл тасалдлын шуургын үр дүн юм. Бичил схемүүд нь ачаалахаас өмнө тасалдлуудыг BIOS хэрхэн тохируулдгаас болсон асуудлууд, APIC (MADT) хүснэгтийн зөв байдал болон System Control Interrupt буюу Системийн Хянагч Тасалдлын (SCI) чиглүүлэлт дээр тулгуурласан олон асуудлуудтай байдаг. тасалдлын шуургууд Тасалдлын шуургыг vmstat -i тушаалын гаралтаас acpi0 бүхий мөрийг шалгаж гээгдсэн тасалдлуудаас ялгаж болно. Хэрэв тоологч секунд тутам хоёроор нэмэгдэж байвал та тасалдлын шуургатай байна. Хэрэв систем өлгөгдсөн юм шиг байвал DDB (консол дээр CTRL ALTESC) уруу орж show interrupts гэж бичих хэрэгтэй. APIC хаах нь Тасалдлын асуудлуудтай ажиллаж байхад таны хамгийн шилдэг итгэл найдвар бол loader.confhint.apic.0.disabled="1" хэмээн зааж APIC дэмжлэгийг хаах явдал юм. Үймээнүүд Үймээнүүд нь ACPI-ийн хувьд харьцангуй ховор байдаг бөгөөд засварлах нэн тэргүүн ээлжийн асуудал байдаг. Эхний алхам бол үймээнийг дахин гаргах (хэрэв боломжтой бол) алхмуудыг тусгаарлаж буцах мөрийг (backtrace) авах явдал юм. options DDB мөрийг нээж сериал консол (-г үзнэ үү) тохируулах эсвэл &man.dump.8; хуваалтыг тохируулах зөвлөгөөг дагаарай. Та буцах мөрийг DDB дээр tr-р авч болно. Хэрэв та буцах мөрийг гараар бичих болбол мөр дэх хамгийн доодох тав (5) болон хамгийн дээдэх таван (5) мөрийг хамгийн багадаа бодоход аваарай. Дараа нь асуудлыг тусгаарлахыг оролдож ACPI-г хааж ачаалж үзээрэй. Хэрэв энэ нь ажиллаж байвал -ийн төрөл бүрийн утгуудыг хэрэглэж та ACPI дэд системийг тусгаарлаж болно. Зарим жишээнүүдийг &man.acpi.4; гарын авлагын хуудаснаас үзнэ үү. Түр зогссоны дараа эсвэл унтраасны дараа систем дахин эхлэх Эхлээд &man.loader.conf.5; дээр hw.acpi.disable_on_poweroff="0" гэж тохируулаад үз. Энэ нь унтраах процессийн үед төрөл бүрийн үйл явцуудыг ACPI хаахыг болиулдаг. Энэ зорилгын нэгэн адил зарим системүүд энэ утгыг 1 (анхдагч) болгож тохируулахыг шаарддаг. Энэ нь түр зогсоолт эсвэл унтраалт хийгдсэний дараа аяндаа гарсан систем асаж эхлэх асуудлыг ихэвчлэн засварладаг. Бусад асуудлууд Хэрэв танд ACPI-тай холбоотой бусад асуудлууд (суулгах станцтай ажиллах, төхөөрөмжүүд илрүүлэгдэхгүй гэх мэт) байвал тайлбарыг захидлын жагсаалт уруу бас илгээнэ үү; гэхдээ эдгээр асуудлуудын зарим нь ACPI дэд системийн дуусаагүй хэсгүүдтэй холбоотой байж болох бөгөөд тэдгээрийг шийдэж хийхэд нэлээн хугацаа зарцуулж болох юм. Тэвчээртэй байж бидний илгээж болох засваруудыг тест хийхэд бэлэн байгаарай. <acronym>ASL</acronym>, <command>acpidump</command>, болон <acronym>IASL</acronym> ACPI ASL Хамгийн нийтлэг асуудал бол BIOS үйлдвэрлэгчдийн гаргасан буруу (эсвэл алдаатай!) байткод юм. Энэ нь ихэвчлэн дараах шиг цөмийн консол мэдээллүүдээр ил тод болдог: ACPI-1287: *** Error: Method execution failed [\\_SB_.PCI0.LPC0.FIGD._STA] \\ (Node 0xc3f6d160), AE_NOT_FOUND Ихэвчлэн та эдгээр асуудлуудыг өөрийн BIOS-ийг хамгийн сүүлийн хувилбар уруу шинэчилснээр шийдэж болно. Ихэнх консолын мэдээллүүд нь аюулгүй гэхдээ хэрэв танд батарейний төлөв ажиллахгүй гэх мэт өөр бусад асуудлууд байгаа бол тэдгээр мэдээллүүд нь AML-д байгаа асуудлуудыг хайж болох боломжийн газар нь юм. AML гэгддэг байткод нь ASL хэмээгддэг эх хэлээс хөрвүүлэгддэг. AML нь DSDT гэгддэг хүснэгтэд байдаг. Өөрийн ASL-ийн хуулбарыг авахын тулд &man.acpidump.8;-ийг ашиглана. Та (тогтмол хүснэгтүүдийн агуулгуудыг үзүүлэх) болон (AML-ийг ASL уруу дизассембл хийх) тохируулгыг хоёуланг нь ашиглах хэрэгтэй. Синтаксын жишээг Дибаг Мэдээллийг Илгээх нь хэсгээс үзнэ үү. Таны хийж болох хамгийн хялбар анхны шалгалт нь алдаануудыг шалгахын тулд өөрийн ASL-ийг хөрвүүлэх явдал юм. Анхааруулгуудыг ихэвчлэн орхиж болох боловч алдаанууд нь ACPI-г зөв ажиллуулахад гол төлөв саад болдог хорхойнууд байдаг. Өөрийн ASL-ийг дахин хөрвүүлэхдээ дараах тушаалыг ажиллуулна: &prompt.root; iasl your.asl Өөрийн <acronym>ASL</acronym>-г засварлах нь ACPI ASL Бидний эцсийн зорилго бол бараг хүн болгоны хувьд хэрэглэгчийн ямар ч оролцоогүйгээр ACPI-г ажиллуулах явдал юм. Гэхдээ өнөөг хүртэл бид BIOS үйлдвэрлэгчдийн гаргасан нийтлэг алдаануудад зориулан тойрон гарах арга замуудыг хөгжүүлсээр байгаа билээ. µsoft;-ийн тайлбарлагч (acpi.sys болон acpiec.sys) нь стандартыг баримталж байгааг чанд шалгадаггүй бөгөөд BIOS-ийн олон үйлдвэрлэгчид ACPI-г зөвхөн &windows; дээр тест хийж өөрсдийн ASL-ийг хэзээ ч засдаггүй. Бид µsoft;-ийн тайлбарлагчид зөвшөөрөгдсөн ямар стандартын бус ажиллагаа байгааг үргэлжлүүлэн нарийн таньж баримтжуулан хэрэглэгчдээр ASL-ийг хүчлэн засуулалгүйгээр &os; ажиллаж чадахаар түүнийг хуулбарлах болно гэж найдаж байна. Тойрон гарах арга зам болгон биднийг энэ ажиллагааг танихад тусалж та ASL-ийг гараар засварлаж болно. Хэрэв таны хувьд энэ нь ажиллавал хуучин болон шинэ ASL-ийнхээ &man.diff.1;-ийг илгээнэ үү, бид бололцоогоороо ACPI-CA дахь алдаатай ажиллагааг тойрон гарч ингэснээр хойшид таны засвар байнга хийгдэх шаардлагагүй болох юм. ACPI алдааны мэдээллүүд Энд нийтлэг алдааны мэдээллүүд, тэдгээрийн шалтгаан болон хэрхэн засаж болох жагсаалтыг үзүүлэв: _OS хамаарлууд Зарим AML нь ертөнц төрөл бүрийн &windows; хувилбаруудаас тогтдог гэж үздэг. Хэрэв танд байгаа асуудлыг засаж чадаж байвал та &os;-г ямар нэг OS гэж харагдуулахаар хэлж өгч болно. Үүнийг хялбар аргаар дарж бичихийн тулд /boot/loader.confhw.acpi.osname="Windows 2001" гэж эсвэл ASL дахь өөр бусад адил мөрүүдийг тохируулж өгнө. Буцах мэдээллүүд байхгүй бол Зарим аргууд нь стандартын дагуу шууд утга буцаадаггүй. ACPI-CA нь үүнтэй ажиллаж чадахгүй байхад &os; үүнийг далдаар утга буцаалгах боломжийг олгодог тойрон гарах арга замтай байдаг. Хэрэв та утга буцаагдах ёстойг мэдэж байвал шаардлагатай газар нь Return буюу Буцах мэдээллүүдийг шууд нэмж болно. ASL-ийг iasl тушаалаар хүчээр хөрвүүлэхдээ тугийг ашиглана. Анхдагч <acronym>AML</acronym>-ийг дарж өөрчлөх нь your.asl-ийг өөрчилсний дараа үүнийг та хөрвүүлэхдээ: &prompt.root; iasl your.asl Хөрвүүлэх явцад алдаанууд байсан ч гэсэн та тугийг нэмж AML-ийг хүчээр үүсгэж болно. Зарим алдаануудыг (өөрөөр хэлбэл Буцах мэдээллүүд байхгүй гэх мэт) тайлбарлагчийн тусламжтайгаар автоматаар тойрон гардгийг санаарай. DSDT.aml нь iasl-ийн анхдагч гаралт файлын нэр юм. Та өөрийн BIOS-ийн алдаатай хуулбарын (флэш санах ойд байсаар байгаа) оронд /boot/loader.conf-ийг дараах байдлаар засварлан үүнийг ачаалж болно: acpi_dsdt_load="YES" acpi_dsdt_name="/boot/DSDT.aml" Өөрийн DSDT.aml файлын хуулбарыг /boot сан уруу хуулах хэрэгтэй. <acronym>ACPI</acronym>-аас дибаг мэдээлэл гаргаж авах нь ACPI асуудлууд ACPI дибаг ACPI драйвер нь маш уян хатан дибаг хийх боломжтой. Энэ нь дэд системүүдийн олонлог болон харуулах түвшинг зааж өгөхийг танд зөвшөөрдөг. Таны дибаг хийхийг хүсэж байгаа дэд системүүд нь давхаргууд болж заагдсан байдаг бөгөөд ACPI-CA хэсгүүд (ACPI_ALL_COMPONENTS) болон ACPI тоног төхөөрөмжийн дэмжлэг (ACPI_ALL_DRIVERS) болж задардаг. Дибаг гаралтын харуулалт нь үеээр заагддаг бөгөөд ACPI_LV_ERROR (зөвхөн алдаануудыг хэлдэг) тогтмолоос ACPI_LV_VERBOSE (бүгд) хүртэл байдаг. Үе нь олон тохируулгуудыг нэг удаа зайгаар зааглан тохируулж болох бит баг (bitmask) юм. Хэрэв энэ нь маш урт тэгээд консолын мэдээллийн буферийг арилган шинэчилж байвал та практик дээр гаралтыг бүртгэх сериал консолыг ашиглахыг хүсэж болох юм. Бие даасан давхаргууд болон түвшингүүдийн бүрэн жагсаалт &man.acpi.4; гарын авлагын хуудсанд байдаг. Дибаг гаралт анхдагчаар идэвхжүүлэгдээгүй байдаг. Идэвхтэй болгохын тулд ACPI хэрэв цөмд хөрвүүлэгдсэн бол options ACPI_DEBUG мөрийг өөрийн цөмийн тохиргооны файлд нэмэх хэрэгтэй. Нийтэд нь идэвхтэй болгохын тулд /etc/make.confACPI_DEBUG=1 мөрийг нэмж болно. Хэрэв энэ нь модуль бол та өөрийн acpi.ko модулийг дараах маягаар дахин хөрвүүлж болно: &prompt.root; cd /sys/modules/acpi/acpi && make clean && make ACPI_DEBUG=1 acpi.ko/boot/kernel-д суулгаад өөрийн хүссэн давхарга болон түвшинг loader.conf-д нэмнэ. Энэ жишээ нь ACPI-CA-ийн бүх хэсгүүд болон бүх ACPI тоног төхөөрөмжийн драйверуудад (CPU, LID, гэх мэт.) зориулан дибаг мэдээллүүдийг идэвхжүүлдэг. Энэ нь зөвхөн алдааны мэдээллүүдийг хамгийн багаар гаргаж харуулна. debug.acpi.layer="ACPI_ALL_COMPONENTS ACPI_ALL_DRIVERS" debug.acpi.level="ACPI_LV_ERROR" Хэрэв таны хүссэн мэдээлэл онцгой үйл явцаар эхэлсэн бол (түр зогсоолт болон үргэлжлүүлэлт гэж бодъё) та loader.conf-ийн өөрчлөлтүүдийг орхиж оронд нь sysctl-ийг ашиглан давхарга болон түвшинг ачаалсны дараа зааж онцгой үйл явцад зориулан өөрийн системийг бэлдэж болно. sysctl-ууд нь loader.conf дахь тохируулгуудын адилаар нэрлэгддэг. Лавлагаанууд ACPI-ийн талаар дэлгэрэнгүй мэдээллийг дараах байршлуудаас олж болно: &a.acpi; ACPI Захидлын Жагсаалтын Архивууд Хуучин ACPI Захидлын Жагсаалтын Архивууд ACPI 2.0 Тодорхойлолт &os; Гарын авлагын хуудаснууд: &man.acpi.4;, &man.acpi.thermal.4;, &man.acpidump.8;, &man.iasl.8;, &man.acpidb.8; DSDT дибаг эх үүсвэр. (Compaq-ийг жишээ болгон хэрэглэсэн боловч ерөнхийдөө хэрэгтэй.) diff --git a/mn_MN.UTF-8/books/handbook/disks/chapter.sgml b/mn_MN.UTF-8/books/handbook/disks/chapter.sgml index a7c5f11e1d..48edb0fbc8 100644 --- a/mn_MN.UTF-8/books/handbook/disks/chapter.sgml +++ b/mn_MN.UTF-8/books/handbook/disks/chapter.sgml @@ -1,4049 +1,4047 @@ Цагаанхүүгийн Ганболд Орчуулсан Хадгалалт Ерөнхий агуулга Энэ бүлэг нь FreeBSD дээр дискнүүдийг ашиглах талаар тайлбарлах болно. Эдгээрт санах ой дээр тулгуурласан дискнүүд, сүлжээнд залгагдсан дискнүүд, стандарт SCSI/IDE хадгалалтын төхөөрөмжүүд болон USB интерфэйс ашигладаг төхөөрөмжүүд багтах юм. Энэ бүлгийг уншсаны дараа, та дараах зүйлсийг мэдэх болно: Физик диск (хуваалтууд болон зүсмэлүүд) дээрх өгөгдлийн зохион байгуулалтыг тайлбарладаг FreeBSD-ийн ашигладаг ухагдахуун. Өөрийн систем дээр нэмэлт хатуу дискнүүдийг хэрхэн нэмэх талаар. USB хадгалалтын төхөөрөмжүүдийг ашиглахын тулд &os;-г хэрхэн тохируулах талаар. Санах ойн диск зэрэг виртуал файлын системүүдийг хэрхэн тохируулах талаар. Дискний зайн хэрэглээг хязгаарлахын тулд ноогдлыг хэрхэн ашиглах талаар. Дискийг халдагчдаас хамгаалж нууцлахын тулд хэрхэн шифрлэх талаар. FreeBSD дээр CD болон DVD-г хэрхэн үүсгэж шарах талаар. Нөөцлөлтөд зориулсан хадгалалтын төрөл бүрийн тохируулгууд. FreeBSD дээр байдаг нөөцлөлтийн програмуудыг хэрхэн ашиглах талаар. Уян диск уруу хэрхэн нөөцлөх талаар. Файлын системийн хормын хувилбар гэж юу болох түүнийг хэрхэн үр дүнтэйгээр ашиглах талаар. Энэ бүлгийг уншихаасаа өмнө та дараах зүйлсийг гүйцэтгэх хэрэгтэй: Шинэ FreeBSD цөмийг хэрхэн тохируулж суулгах талаар мэдэх (). Төхөөрөмжийн нэрс Дараах нь FreeBSD-д дэмжигдсэн физик хадгалалтын төхөөрөмжүүд болон тэдгээртэй холбоотой төхөөрөмжийн нэрсийн жагсаалт юм. Физик диск нэрлэх заншил Хөтчийн төрөл Хөтчийн төхөөрөмжийн нэр IDE хатуу хөтчүүд ad IDE CDROM хөтчүүд acd SCSI хатуу хөтчүүд болон USB Mass хадгалалтын төхөөрөмжүүд da SCSI CDROM хөтчүүд cd Төрөлжүүлсэн стандарт бус CDROM хөтчүүд Mitsumi CD-ROM-ийн хувьд mcd ба Sony CD-ROM хөтчүүдийн хувьд scd Уян хөтчүүд fd SCSI соронзон хальсны хөтчүүд sa IDE соронзон хальсны хөтчүүд ast Flash хөтчүүд &diskonchip; Flash хөтчийн хувьд fla RAID хөтчүүд &adaptec; AdvancedRAID-н хувьд aacd, &mylex;-ийн хувьд mlxd ба mlyd, AMI &megaraid;-ийн хувьд amrd, Compaq Smart RAID-ийн хувьд idad, &tm.3ware; RAID-ийн хувьд twed.
Дэйвид О'Брайн Анхлан хувь нэмэр болгон оруулсан Диск нэмэх дискнүүд нэмэх нь Бид шинэ SCSI дискийг одоогоор зөвхөн нэг хөтөчтэй байгаа машин дээр нэмэхийг хүсэж байна гэж бодъё. Эхлээд компьютераа унтраагаад хөтчийг компьютер, хянагч болон хөтчийн үйлдвэрлэгчийн заавруудын дагуу суулгана. Үүнийг хийх маш олон төрлийн процедуруудаас болоод энэ тухай дэлгэрэнгүй мэдээлэл нь энэ баримтын хамрах хүрээнээс гадна юм. root хэрэглэгчээр нэвтрэх хэрэгтэй. Та хөтчийг суулгасны дараа шинэ диск олдсон эсэхийг /var/run/dmesg.boot-с шалгаарай. Шинээр нэмсэн хөтөч нь da1 байх бөгөөд бид үүнийг /1 дээр холбохыг хүснэ (хэрэв та IDE хөтөч нэмж байгаа бол төхөөрөмжийн нэр нь ad1 болно). хуваалтууд зүсмэлүүд fdisk FreeBSD нь IBM-PC-тэй нийцтэй компьютеруудтай ажилладаг учраас PC BIOS хуваалтуудыг бодолцох ёстой. Эдгээр нь уламжлалт BSD хуваалтуудаас өөр юм. PC диск нь дөрөв хүртэлх тооны BSD хуваалттай байдаг. Хэрэв диск нь жинхэнээрээ FreeBSD-д зориулагдах бол та dedicated буюу зориулагдсан горимыг ашиглаж болно. Үгүй бол FreeBSD нь PC BIOS хуваалтуудын аль нэгэн дээр байрлах болно. FreeBSD нь PC BIOS хуваалтуудыг уламжлалт BSD хуваалтуудтай эндүүрэхгүйн тулд зүсмэлүүд гэж нэрлэдэг. Та бас FreeBSD-д зориулагдсан боловч өөр үйлдлийн систем суулгагдсан компьютер дээр ашигласан диск дээрх зүсмэлүүдийг хэрэглэж болох юм. Энэ нь FreeBSD биш өөр үйлдлийн системийн fdisk хэрэгсэлтэй андуурахаас хамгаалах нэг сайн арга юм. Зүсмэлийн хувьд бол хөтөч нь /dev/da1s1e гэж нэмэгдэх болно. Үүнийг SCSI диск, нэгжийн дугаар 1 (хоёр дахь SCSI диск), зүсмэл 1 (PC BIOS хуваалт 1) болон e BSD хуваалт гэж уншина. Зориулагдсан тохиолдолд хөтөч нь ердөө л /dev/da1e гэж нэмэгдэнэ. Секторуудын тоог хадгалахын тулд 32 битийн бүхэл тоог ашигладгаас болоод &man.bsdlabel.8; нь нэг дискний хувьд 2^32-1 сектор буюу ихэнх тохиолдолд 2TB болж хязгаарлагддаг. &man.fdisk.8; хэлбэршүүлэлт нь 2^32-1-с ихгүй эхлэх сектор болон 2^32-1-с ихгүй уртыг зөвшөөрч хуваалтуудыг 2TB, дискнүүдийг ихэнх тохиолдолд 4TB болгож хязгаарладаг. &man.sunlabel.8; хэлбэршүүлэлт нь нэг хуваалтын хувьд 2^32-1 сектороор, нийтдээ 16TB-ийн 8 хуваалтаар хязгаарлагддаг. Илүү том дискнүүдийн хувьд &man.gpt.8; хуваалтууд ашиглагдаж болох юм. &man.sysinstall.8;-г ашиглах нь sysinstall дискнүүд нэмэх нь su <application>Sysinstall</application>-г жолоодох нь Та sysinstall-н хялбар ашиглаж болох цэснүүдийн тусламжтайгаар шинэ дискийг хуваан хаяглаж болох юм. root хэрэгчээр нэвтрэх буюу эсвэл su тушаалыг ашиглаарай. sysinstall-г ажиллуулж Configure цэс уруу орно. FreeBSD Configuration Menu дотор доош шилжиж Fdisk тохируулгыг сонгоно. <application>fdisk</application> хуваалт засварлагч fdisk-ийн дотор байхдаа A гэж бичвэл дискийг бүхэлд нь FreeBSD-д ашиглах болно. Асуух үед нь хэрэв та ирээдүйд суулгаж болзошгүй үйлдлийн системүүдтэй хамтран ажиллахаар үлдэхийг хүсвэл YES гэж хариулаарай. W-г ашиглан өөрчлөлтүүдийг диск уруу бичнэ. Одоо FDISK засварлагчаас q гэж бичин гараарай. Дараа нь танаас Master Boot Record буюу Мастер Ачаалагч Бичлэгийн талаар асуух болно. Та ажиллаж байгаа систем дээр диск нэмж байгаа болохоор None-г сонгох хэрэгтэй. Дискний Шошго засварлагч BSD хуваалтууд Дараа нь sysinstall-с гарч дахин түүнийг эхлүүлэх хэрэгтэй. Дээрх заавруудыг дагаарай, гэхдээ энэ удаад Label тохируулгыг сонгоорой. Энэ нь Disk Label Editor буюу дискний шошго засварлагч уруу орно. Энд та уламжлалт BSD хуваалтуудыг үүсгэдэг. Диск нь a-h гэж хаяглагдсан найм хүртэлх хуваалтуудтай байж болно. Хуваалтын шошгонуудын цөөн хэд нь тусгай хэрэглээтэй байдаг. a хуваалт нь root хуваалтанд (/) ашиглагддаг. Тиймээс зөвхөн таны системийн диск (өөрөөр хэлбэл таны ачаалалт хийсэн диск) a хуваалттай байх ёстой. b хуваалт нь swap хуваалтуудад хэрэглэгддэг бөгөөд та swap хуваалттай олон дисктэй байж болох юм. c хуваалт нь зориулагдсан горимд бүх дискийг, зүсмэлийн горимд бүхэл FreeBSD зүсмэлийг эсвэл заадаг. Бусад хуваалтууд нь ерөнхий хэрэглээнд зориулагдсан. sysinstall-ийн шошго засварлагч нь root биш, swap биш хуваалтуудад зориулж e хуваалтыг илүүтэй үздэг. Шошго засварлагч дотор байхдаа C гэж бичин ганц файлын систем үүсгэх хэрэгтэй. Асуух үед, хэрэв энэ нь FS (файлын систем) эсвэл swap байх юм бол FS-г сонгож холбох цэгийг (өөрөөр хэлбэл /mnt) бичээрэй. Хэрэв дискийг суулгацын дараах горимд нэмж байгаа бол sysinstall нь танд зориулж оруулгуудыг /etc/fstab файлд үүсгэхгүй, тиймээс таны зааж өгсөн холбох цэг нь чухал биш юм. Та одоо шинэ шошгыг диск уруу бичиж түүн дээр файлын систем үүсгэхэд бэлэн боллоо. Үүнийг W гэж бичин хийнэ. sysinstall-ын шинэ хуваалтыг холбож чадахгүй байна гэсэн алдааг өнгөрүүлэх хэрэгтэй. Шошго засварлагч болон sysinstall-с бүр мөсөн гараарай. Төгсгөл Хамгийн сүүлийн алхам нь /etc/fstab файлыг засварлаж өөрийн шинэ дискний оруулгыг нэмэх явдал юм. Тушаалын мөрийн хэрэгслүүдийг ашиглах нь Зүсмэлүүдийг ашиглах нь Энэ тохиргоо нь таны дискийг өөрийн чинь компьютер дээр суулгагдсан байж болох бусад үйлдлийн системтэй зөв ажиллаж өөр бусад үйлдлийн системийн fdisk хэрэгслүүдтэй эндүүрэхгүй байх боломжийг бүрдүүлдэг. Шинэ дискийг суулгахад энэ аргыг ашиглахыг зөвлөдөг. Хэрэв танд үнэхээр тохирох шалтгаан байгаа тохиолдолд зориулагдсан горимыг ашиглаарай! &prompt.root; dd if=/dev/zero of=/dev/da1 bs=1k count=1 &prompt.root; fdisk -BI da1 #Initialize your new disk &prompt.root; bsdlabel -B -w -r da1s1 auto #Label it. &prompt.root; bsdlabel -e da1s1 # Edit the bsdlabel just created and add any partitions. &prompt.root; mkdir -p /1 &prompt.root; newfs /dev/da1s1e # Repeat this for every partition you created. &prompt.root; mount /dev/da1s1e /1 # Mount the partition(s) &prompt.root; vi /etc/fstab # Add the appropriate entry/entries to your /etc/fstab. Хэрэв танд IDE диск байвал daad гэж солиорой. Зориулагдсан OS/2 Хэрэв та шинэ хөтчийг өөр үйлдлийн системтэй цуг хуваалцахгүй бол зориулагдсан горимыг ашиглаж болох юм. Энэ горим нь Microsoft үйлдлийн системийн толгойг эргүүлж болохыг санаарай; гэхдээ тэдгээр нь ямар ч эвдрэл гэмтэл үүсгэхгүй. IBM-ийн &os2; нь харин олсон бүх ойлгохгүй байгаа ямар ч хуваалтыг хувьдаа завших болно. &prompt.root; dd if=/dev/zero of=/dev/da1 bs=1k count=1 &prompt.root; bsdlabel -Brw da1 auto &prompt.root; bsdlabel -e da1 # create the `e' partition &prompt.root; newfs -d0 /dev/da1e &prompt.root; mkdir -p /1 &prompt.root; vi /etc/fstab # add an entry for /dev/da1e &prompt.root; mount /1 Өөр нэг арга нь: &prompt.root; dd if=/dev/zero of=/dev/da1 count=2 &prompt.root; bsdlabel /dev/da1 | bsdlabel -BrR da1 /dev/stdin &prompt.root; newfs /dev/da1e &prompt.root; mkdir -p /1 &prompt.root; vi /etc/fstab # add an entry for /dev/da1e &prompt.root; mount /1 RAID Програм хангамжийн RAID Кристофер Шамвэй Анхлан ажилласан Жим Браун Хянан тохиолдуулсан RAIDпрограм хангамж RAIDCCD Нийлүүлэгдсэн Дискний Драйвер (Concatenated Disk Driver буюу CCD) тохиргоо Бөөн хадгалалтын шийдлийг сонгохдоо бодолцох хамгийн чухал хүчин зүйлүүд нь хурд, найдвартай байдал болон өртөг юм. Энэ гурвыг гурвууланг нь тэнцүү байлгах нь ховор байдаг; ерөнхийдөө хурдан, найдвартай бөөн хадгалалтын төхөөрөмж нь үнэтэй бөгөөд үнийн хувьд хямдыг сонгох нь хурд эсвэл найдвартай байдлын аль нэгийг золиослох хэрэгтэй болдог. Доор тайлбарласан системийг дизайн хийхдээ өртгийг хамгийн чухал хүчин зүйл гэж сонгож авсан бөгөөд үүний дараа хурд, хурдын дараа найдвартай байдлыг сонгосон. Энэ системийн өгөгдөл дамжуулах хурд нь эцсийн эцэст сүлжээгээр шахагддаг. Найдвартай байдал нь маш чухал боловч доор тайлбарласан CCD хөтөч нь CD-R-ууд дээр аль хэдийн бүтнээрээ нөөцлөгдсөн, амархнаар солигдож болох өгөгдөлд шууд үйлчилдэг. Өөрийн шаардлагыг тодорхойлох нь бөөн хадгалалтын шийдлийг сонгох анхны алхам юм. Хэрэв таны шаардлага нь хурд эсвэл найдвартай байдлыг өртгөөс илүүтэй үзэж байгаа бол таны шийдэл энэ хэсэгт тайлбарласан шийдлээс өөр болох болно. Тоног төхөөрөмжийг суулгах нь IDE системийн дискнээс гадна гурван Western Digital 30GB, 5400 RPM IDE диск нь доор тайлбарласан CCD дискний гол цөм болж нийтдээ ойролцоогоор 90GB шууд хадгалалт болно. Туйлын хүслээр бол IDE диск бүр өөрийн IDE хянагч болон кабельтай байна, гэхдээ өртгийг багасгахын тулд нэмэлт IDE хянагчууд ашиглагдаагүй болно. Харин дискнүүд нь jumper буюу холбогчоор тохируулагдсан бөгөөд ингэснээр IDE хянагч бүр нэг мастер болон нэг боолтой байна. Дахин ачаалах үед системийн BIOS залгагдсан дискнүүдийг автоматаар олохоор тохируулагдсан байдаг. Илүү чухал зүйл нь FreeBSD тэдгээрийг дахин ачаалахад олсон явдал юм: ad0: 19574MB <WDC WD205BA> [39770/16/63] at ata0-master UDMA33 ad1: 29333MB <WDC WD307AA> [59598/16/63] at ata0-slave UDMA33 ad2: 29333MB <WDC WD307AA> [59598/16/63] at ata1-master UDMA33 ad3: 29333MB <WDC WD307AA> [59598/16/63] at ata1-slave UDMA33 Хэрэв FreeBSD дискнүүдийг бүгдийг нь олохгүй байгаа бол та тэдгээрийг зөвөөр холбосон эсэхээ шалгаарай. IDE хөтчүүдийн ихэнх нь бас Cable Select холбогчтой байдаг. Энэ нь мастер/боол харилцаанд зориулагдсан холбогч биш юм. Хөтчийн баримтаас зөв холбогчийг таних талаар лавлаарай. Дараа нь тэдгээрийг файлын системийн хэсэг болгон залгах талаар бодох хэрэгтэй. Та &man.vinum.8; () болон &man.ccd.4; хоёуланг судлах хэрэгтэй. Энэ тохиргооны хувьд &man.ccd.4;-г сонгосон. CCD-г тохируулах нь &man.ccd.4; хөтөч нь хэд хэдэн адил дискнүүдийг авч тэдгээрийг нэг логик файл систем болгон нийлүүлэх боломжийг олгодог. &man.ccd.4;-г ашиглахын тулд танд &man.ccd.4; дэмжлэг цуг бүтээгдсэн цөм хэрэгтэй. Энэ мөрийг цөмийн тохиргооны файлдаа нэмээд цөмөө дахин бүтээж суулгаарай: device ccd &man.ccd.4; дэмжлэг цөмийн дуудагдах модуль хэлбэрээр бас дуудагдаж болно. &man.ccd.4;-г тохируулахын тулд та эхлээд дискнүүдийг хаяглах &man.bsdlabel.8;-г ашиглах ёстой: bsdlabel -r -w ad1 auto bsdlabel -r -w ad2 auto bsdlabel -r -w ad3 auto Энэ нь бүх дискний дагуух ad1c, ad2c болон ad3c-д зориулж bsdlabel үүсгэдэг. Дараагийн алхам нь дискний шошгоны төрлийг өөрчлөх явдал юм. Та дискнүүдийг засварлахдаа &man.bsdlabel.8;-г ашиглаж болно: bsdlabel -e ad1 bsdlabel -e ad2 bsdlabel -e ad3 Энэ нь диск бүр дэх тухайн дискний шошгыг EDITOR орчны хувьсагчид заасан засварлагчаар, ихэнхдээ &man.vi.1;-ээр онгойлгодог. Өөрчлөлт хийгдээгүй дискний шошго иймэрхүү харагдах болно: 8 partitions: # size offset fstype [fsize bsize bps/cpg] c: 60074784 0 unused 0 0 0 # (Cyl. 0 - 59597) &man.ccd.4;-д зориулж ашиглахаар шинэ e хуваалтыг нэмнэ. Үүнийг ихэвчлэн c хуваалтаас хуулж болох боловч нь 4.2BSD байх ёстой. Дискний шошго одоо иймэрхүү харагдах ёстой: 8 partitions: # size offset fstype [fsize bsize bps/cpg] c: 60074784 0 unused 0 0 0 # (Cyl. 0 - 59597) e: 60074784 0 4.2BSD 0 0 0 # (Cyl. 0 - 59597) Файлын системийг бүтээх нь Та бүх дискнүүдээ хаягласны дараа &man.ccd.4;-г бүтээх ёстой. Үүнийг хийхийн тулд дараах тохируулгуудтай адилаар &man.ccdconfig.8;-г ашиглана: ccdconfig ccd0 32 0 /dev/ad1e /dev/ad2e /dev/ad3e Тохируулга бүрийн хэрэглээ болон утгыг доор харуулав: Эхний нэмэлт өгөгдөл нь тохируулах төхөөрөмж байх бөгөөд энэ тохиолдолд /dev/ccd0c байна. /dev/ хэсэг байхгүй ч байж болно. Файлын системд зориулсан interleave. interleave нь дискний блокууд дээрх судлын хэмжээг тодорхойлдог бөгөөд нэг бүр нь ихэвчлэн 512 байт байдаг. Тэгэхээр 32 interleave нь 16,384 байт байна. &man.ccdconfig.8;-д зориулсан тугнууд. Хэрэв та хөтчийг толин тусгал үүсгэж идэвхжүүлэхийг хүсвэл тугийг энд зааж өгч болно. Энэ тохиргоо нь &man.ccd.4;-н хувьд толин тусгал үүсгэлтийг хангадаггүй учир энэ нь 0 (тэг) гэж тохируулагдсан. &man.ccdconfig.8; уруу өгөгдөх сүүлийн нэмэлт өгөгдлүүд нь массивт оруулах төхөөрөмжүүд юм. Төхөөрөмж бүрийн хувьд бүрэн гүйцэд замын нэрийг ашиглах хэрэгтэй. &man.ccdconfig.8;-г ажиллуулсны дараа &man.ccd.4; тохируулагдана. Файлын систем суулгагдаж болно. Тохируулгуудын талаар &man.newfs.8;-с лавлана уу, эсвэл ердөө л ингэж ажиллуулна: newfs /dev/ccd0c Бүгдийг автомат болгох нь Ерөнхийдөө та &man.ccd.4;-г дахин ачаалах бүртээ холбохыг хүснэ. Үүнийг хийхийн тулд та эхлээд тохируулах хэрэгтэй. Өөрийн одоогийн тохиргоогоо дараах тушаал ашиглаж /etc/ccd.conf уруу бичих хэрэгтэй: ccdconfig -g > /etc/ccd.conf Дахин ачаалах үед скрипт /etc/rc нь хэрэв /etc/ccd.conf байвал ccdconfig -C тушаалыг ажиллуулна. Энэ нь &man.ccd.4;-г холбож болохоор болгож автоматаар тохируулна. Хэрэв та ганц хэрэглэгчийн горим уруу ачаалж байгаа бол &man.ccd.4;-г &man.mount.8; хийхээсээ өмнө массивыг тохируулахын тулд дараах тушаалыг ажиллуулах шаардлагатай: ccdconfig -C &man.ccd.4;-г автоматаар холбохын тулд &man.ccd.4;-н оруулгыг /etc/fstab файлд байрлуулах хэрэгтэй. Ингэсэн тохиолдолд энэ нь ачаалах үед холбогдох болно: /dev/ccd0c /media ufs rw 2 2 Vinum Эзлэхүүн Менежер RAIDпрограм хангамж RAID Vinum Vinum Эзлэхүүн Менежер нь виртуал диск хөтчийг хийдэг блок төхөөрөмжийн драйвер юм. Энэ нь дискний тоног төхөөрөмжийг блок төхөөрөмжийн интерфэйсээс тусгаарлаж уян хатан байдал, ажиллагаа болон найдвартай байдлыг дискний хадгалалтын уламжлалт зүсмэлийн харагдалтаас илүүтэйгээр хангах тийм аргаар өгөгдлийг дүрсэлдэг. &man.vinum.8; нь RAID-0, RAID-1 болон RAID-5 загваруудыг тус бүрт нь болон холбоотой байдлаар нь шийддэг. &man.vinum.8;-ийн талаар дэлгэрэнгүй мэдээллийг -с үзнэ үү. Тоног төхөөрөмжийн RAID RAID тоног төхөөрөмж FreeBSD нь бас төрөл бүрийн тоног төхөөрөмжийн RAID хянагчуудыг дэмждэг. Эдгээр төхөөрөмжүүд нь FreeBSD-д зориулсан тусгай програм хангамжаар массивыг удирдах шаардлагагүйгээр RAID дэд системийг хянадаг. Карт дээрх BIOS-г ашиглан карт нь дискний үйлдлүүдийн ихэнхийг өөрөө хянадаг. Дараах нь Promise IDE RAID хянагчийг ашиглах тохиргооны товч тайлбар юм. Энэ карт суулгагдаж систем эхлэх үед мэдээллийг хүсэх мөрийг харуулна. Картны тохиргооны дэлгэц уруу орохын тулд заавруудыг дагана. Эндээс залгагдсан бүх хөтчүүдийг нэгтгэх боломж танд байх болно. Ингэж хийснийхээ дараа диск(нүүд) нь FreeBSD-д нэг хөтөч шиг харагдах болно. Бусад RAID түвшингүүдийг бас тохируулж болно. ATA RAID1 массивуудыг дахин бүтээх нь FreeBSD нь массив дахь гэмтсэн, ажиллагаагүй болсон дискийг шууд солих боломжийг олгодог. Энэ нь дахин ачаалахаасаа өмнө таныг ийм асуудлыг мэдэхийг шаарддаг. Та магадгүй доор дурдсантай адилыг /var/log/messages эсвэл &man.dmesg.8; гаралт дээр харж болох юм: ad6 on monster1 suffered a hard error. ad6: READ command timeout tag=0 serv=0 - resetting ad6: trying fallback to PIO mode ata3: resetting devices .. done ad6: hard error reading fsbn 1116119 of 0-7 (ad6 bn 1116119; cn 1107 tn 4 sn 11)\\ status=59 error=40 ar0: WARNING - mirror lost &man.atacontrol.8; ашиглан дэлгэрэнгүй мэдээллийг шалгана: &prompt.root; atacontrol list ATA channel 0: Master: no device present Slave: acd0 <HL-DT-ST CD-ROM GCR-8520B/1.00> ATA/ATAPI rev 0 ATA channel 1: Master: no device present Slave: no device present ATA channel 2: Master: ad4 <MAXTOR 6L080J4/A93.0500> ATA/ATAPI rev 5 Slave: no device present ATA channel 3: Master: ad6 <MAXTOR 6L080J4/A93.0500> ATA/ATAPI rev 5 Slave: no device present &prompt.root; atacontrol status ar0 ar0: ATA RAID1 subdisks: ad4 ad6 status: DEGRADED Та дискийг аюулгүйгээр салган авахын тулд эхлээд ata сувгийг ажиллахгүй байгаа дисктэй цуг салгана: &prompt.root; atacontrol detach ata3 Дискийг сольно. ata сувгийг дахин залгана: &prompt.root; atacontrol attach ata3 Master: ad6 <MAXTOR 6L080J4/A93.0500> ATA/ATAPI rev 5 Slave: no device present Шинэ дискийг массивт нөөц маягаар нэмнэ: &prompt.root; atacontrol addspare ar0 ad6 Массивыг дахин бүтээнэ: &prompt.root; atacontrol rebuild ar0 Дараах тушаалыг ашиглаж үйл явцыг шалгаж болно: &prompt.root; dmesg | tail -10 [output removed] ad6: removed from configuration ad6: deleted from ar0 disk1 ad6: inserted into ar0 disk1 as spare &prompt.root; atacontrol status ar0 ar0: ATA RAID1 subdisks: ad4 ad6 status: REBUILDING 0% completed Энэ үйлдэл хийгдэж дуустал хүлээх хэрэгтэй. Марк Фонвил Хувь нэмэр болгон оруулсан USB хадгалалтын төхөөрөмжүүд USB дискнүүд Одоо үед маш олон гадаад хадгалалтын шийдлүүд байгаа бөгөөд Universal Serial Bus (USB): хатуу хөтчүүд, USB хуруун хөтчүүд, CD-R шарагчид зэргийг ашигладаг. &os; нь эдгээр төхөөрөмжүүдийн дэмжлэгийг хангадаг. Тохиргоо USB бөөн хадгалалтын төхөөрөмжүүдийн драйвер &man.umass.4; нь USB хадгалалтын төхөөрөмжүүдийн дэмжлэгийг хангадаг. Хэрэв та GENERIC цөм ашиглавал өөрийн тохиргоондоо юу ч өөрчлөх шаардлагагүй. Хэрэв та өөрчлөн тохируулсан цөм ашиглах бол таны цөмийн тохиргооны файлд дараах мөрүүд байгаа эсэхийг шалгаарай: device scbus device da device pass device uhci device ohci device usb device umass &man.umass.4; драйвер нь USB хадгалалтын төхөөрөмжүүдэд хандахын тулд SCSI дэд системийг хэрэглэдэг бөгөөд таны USB төхөөрөмж системд SCSI төхөөрөмж маягаар харагдах болно. Таны эх хавтан дээрх USB бичил схемээс хамаарч танд зөвхөн device uhci эсвэл device ohci хоёрын аль нэг хэрэгтэй болно, гэхдээ хоёуланг нь цөмийн тохиргоондоо байлгах нь гэмгүй юм. Хэрэв та ямар нэг мөр нэмсэн бол шинэ цөмөө эмхэтгэж суулгахаа битгий мартаарай. Хэрэв таны USB төхөөрөмж чинь CD-R эсвэл DVD шарагч бол SCSI CD-ROM драйвер &man.cd.4;-г цөмд дараах мөрийн тусламжтай нэмэх ёстой: device cd Шарагч нь SCSI хөтөч гэж харагддаг учир &man.atapicam.4; драйверийг цөмийн тохиргоонд ашиглах ёсгүй. USB 2.0 хянагчуудын дэмжлэг &os;-д байдаг; гэхдээ та дараах мөрийг: device ehci өөрийн тохиргооны файлдаа USB 2.0 дэмжлэгт зориулж нэмэх ёстой. Хэрэв танд USB 1.X дэмжлэг хэрэгтэй бол &man.uhci.4; болон &man.ohci.4; драйверууд нь хэрэгтэй хэвээр болохыг санаарай. Тохиргоог тест хийх нь Тохиргоог тест хийхэд бэлэн боллоо: өөрийн USB төхөөрөмжийг залгахад системийн мэдэгдлийн буферт (&man.dmesg.8;) хөтөч нь иймэрхүү харагдах ёстой: umass0: USB Solid state disk, rev 1.10/1.00, addr 2 GEOM: create disk da0 dp=0xc2d74850 da0 at umass-sim0 bus 0 target 0 lun 0 da0: <Generic Traveling Disk 1.11> Removable Direct Access SCSI-2 device da0: 1.000MB/s transfers da0: 126MB (258048 512 byte sectors: 64H 32S/T 126C) Мэдээж хэрэг үйлдвэрлэгч, төхөөрөмжийн цэг (da0) болон бусад зүйлс таны тохиргооноос хамаараад өөр байж болно. USB төхөөрөмж нь SCSI төхөөрөмж гэж харагддаг болохоор camcontrol тушаалыг ашиглаж системд холбогдсон USB хадгалалтын төхөөрөмжүүдийн жагсаалтыг харуулж болно: &prompt.root; camcontrol devlist <Generic Traveling Disk 1.11> at scbus0 target 0 lun 0 (da0,pass0) Хэрэв хөтөч нь файлын системтэй ирвэл та түүнийг холбож чадна. хэсэг нь хэрэв шаардлагатай бол USB хөтчийг хэлбэршүүлж түүн дээр хуваалт үүсгэхэд танд туслах болно. Энэ төхөөрөмжийг энгийн хэрэглэгч холбож чаддагаар болгохын тулд тодорхой алхмуудыг хийх хэрэгтэй. Эхлээд USB хадгалалтын төхөөрөмж холбогдсон үед үүссэн төхөөрөмжүүдэд хэрэглэгч хандаж болохоор байх хэрэгтэй. Үүний шийдэл нь эдгээр төхөөрөмжүүдийн бүх хэрэглэгчдийг operator бүлгийн гишүүн болгох явдал юм. Үүнийг &man.pw.8;-ээр хийнэ. Хоёрдугаарт төхөөрөмжүүд нь үүсэх үед operator бүлэг тэдгээрийг уншиж бичиж чадаж байх ёстой. Тохирох мөрүүдийг /etc/devfs.rules файлд нэмснээр үүнийг хийж болно: [localrules=1] add path 'da*' mode 0660 group operator Хэрэв системд SCSI дискнүүд байгаа бол үүнийг арай өөрөөр хийх ёстой. Өөрөөр хэлбэл хэрэв систем нь аль хэдийн da0-ээс da2 хүртэлх холбогдсон дискнүүдийг агуулж байвал хоёр дахь мөрийг дараах маягаар солих хэрэгтэй: add path 'da[3-9]*' mode 0660 group operator Энэ нь байгаа дискнүүдийг operator бүлэгт хамааруулахгүй болгоно. Та бас өөрийн &man.devfs.rules.5; дүрмийн олонлогийг /etc/rc.conf файлд идэвхжүүлэх хэрэгтэй: devfs_system_ruleset="localrules" Дараа нь цөм нь ердийн хэрэглэгчдэд файлын системийг холбох боломжтойгоор тохируулагдах ёстой. Хамгийн хялбар арга бол /etc/sysctl.conf-д мөр нэмэх явдал юм: vfs.usermount=1 Дараагийн дахин ачаалалтын дараа энэ нь идэвхжихийг санаарай. Өөрөөр энэ хувьсагчийг тохируулахын тулд &man.sysctl.8;-г ашиглаж болох юм. Төгсгөлийн алхам нь файлын систем холбогдох санг үүсгэх явдал юм. Энэ санг файлын системийг холбох хэрэглэгч эзэмшсэн байх хэрэгтэй. Үүнийг хийх нэг арга нь root-ийн хувьд тэр хэрэглэгчийн эзэмшсэн дэд санг /mnt/$USER ($USER-г тухайн хэрэглэгчийнхээ нэвтрэх нэрээр солиорой) гэж үүсгэх явдал юм: &prompt.root; mkdir /mnt/$USER &prompt.root; chown $USER:$USER /mnt/$USER USB хуруун хөтөч залгагдаж /dev/da0s1 төхөөрөмж гарч иржээ гэж бодъё. Эдгээр төхөөрөмжүүд нь ихэвчлэн FAT файлын системээр хэлбэршүүлэгдсэн ирдэг бөгөөд эдгээрийг иймэрхүү маягаар холбож болно: &prompt.user; mount_msdosfs -m 644 -M 755 /dev/da0s1 /mnt/$USER Хэрэв та төхөөрөмжийг залгаснаа салгавал (дискийг урьдаар салгах ёстой) та системийн мэдэгдлийн буфераас доор дурдсантай төстэй мэдэгдлийг харах ёстой: umass0: at uhub0 port 1 (addr 2) disconnected (da0:umass-sim0:0:0:0): lost device (da0:umass-sim0:0:0:0): removing device entry GEOM: destroy disk da0 dp=0xc2d74850 umass0: detached Нэмэлт унших материалууд Диск нэмэх болон Файлын системүүдийг холбох болон салгах хэсгүүдээс гадна төрөл бүрийн гарын авлагын хуудаснуудыг унших нь хэрэгтэй байж болох юм: &man.umass.4;, &man.camcontrol.8;, болон &man.usbdevs.8;. Майк Мэйэр Хувь нэмэр болгон оруулсан Оптик зөөвөрлөгчийг (CD-үүд) үүсгэж ашиглах нь CDROM-ууд үүсгэх нь Танилцуулга CD-үүд нь тэдгээрийг ердийн дискнүүдээс ялгах хэд хэдэн боломжуудтай байдаг. Эхлээд хэрэглэгч CD дээр бичих боломжгүй байсан. Тэдгээр нь замуудын хооронд толгойг шилжүүлэхдээ сааталгүйгээр үргэлжлэн уншдагаар хийгджээ. Тэр үед байсан адил хэмжээтэй зөөвөрлөгчийг зөөхөөс тэдгээрийг систем хооронд зөөх нь хамаагүй хялбар байдаг. CD-үүд нь замтай байдаг боловч энэ нь дискний физик хэсэг биш харин үргэлжлэн уншигдах өгөгдлийн хэсгийг хэлдэг. FreeBSD дээр CD үүсгэхдээ CD дээр замууд үүсгэх өгөгдлийн файлуудыг бэлдэж дараа нь замуудыг CD уруу бичнэ. ISO 9660 файлын системүүд ISO 9660 ISO 9660 файлын систем нь эдгээр ялгаануудтай ажиллахаар хийгдсэн. Энэ нь тэр үед нийтлэг байсан файлын системийн хязгааруудыг харамсалтай нь кодчилдог. Азаар энэ нь зөв бичигдсэн CD-үүдэд тэдгээр хязгааруудыг давж гарахыг зөвшөөрөх өргөтгөлөөр хангадаг бөгөөд тэдгээр өргөтгөлүүдийг дэмждэггүй системүүдтэй ажиллаж чадсан хэвээр байдаг. sysutils/cdrtools sysutils/cdrtools портод ISO 9660 файлын системийг агуулах өгөгдлийн файлыг үүсгэдэг програм &man.mkisofs.8; байдаг. Энэ нь төрөл бүрийн өргөтгөлүүдийг дэмждэг тохируулгуудтай бөгөөд доор тайлбарлагдсан болно. CD шарагч ATAPI CD шарахдаа ямар хэрэгслийг ашиглах нь таны CD шарагч ATAPI юу аль эсвэл өөр үү гэдгээс шалтгаална. ATAPI CD шарагчид нь үндсэн системийн burncd програмыг ашигладаг. SCSI болон USB CD шарагчид нь sysutils/cdrtools портын cdrecord-г ашиглах ёстой. Мөн ATAPI тоног төхөөрөмж дээр SCSI хөтчүүдийн хувьд ATAPI/CAM модул ашиглан cdrecord-г хэрэглэх боломжтой байдаг. Хэрэв та график хэрэглэгчийн интерфэйстэй CD шарагч програм хангамжийг хүсэж байгаа бол X-CD-Roast эсвэл K3b-г үзээрэй. Эдгээр хэрэгслүүд нь багц хэлбэрээр эсвэл sysutils/xcdroast болон sysutils/k3b портуудад байдаг. X-CD-Roast болон K3b нь ATAPI тоног төхөөрөмж дээр ATAPI/CAM модулийг шаарддаг. mkisofs sysutils/cdrtools портын хэсэг &man.mkisofs.8; програм нь &unix;-ийн файлын системийн нэрийн талбар дахь сангийн модны дүрс болох ISO 9660 файлын системийг үүсгэдэг. Хамгийн хялбар хэрэглээ нь: &prompt.root; mkisofs -o imagefile.iso /path/to/tree файлын системүүд ISO 9660 Энэ тушаал нь /path/to/tree дахь модны хуулбар ISO 9660 файлын системийг агуулах imagefile.iso файлыг үүсгэх болно. Энэ процессод файлын нэрсийг ISO 9660 файлын системийн стандартын хязгаарлалтуудад багтах нэрсэд тааруулах бөгөөд ISO файлын системүүдэд байдаггүй нэрс бүхий файлуудыг оруулахгүй байх болно. файлын системүүд HFS файлын системүүд Joliet Тэдгээр хязгаарлалтуудыг давж гарах хэд хэдэн тохируулгууд байдаг. Ялангуяа тохируулга &unix; системүүдэд нийтлэг байдаг Rock Ridge өргөтгөлүүдийг идэвхжүүлдэг, нь Microsoft системүүдэд хэрэглэгддэг Joilet өргөтгөлүүдийг идэвхжүүлдэг бөгөөд нь &macos;-д хэрэглэгддэг HFS файлын системүүдийг үүсгэхэд ашиглагддаг. Зөвхөн FreeBSD системүүдэд ашиглагдах CD-үүдийн хувьд тохируулга бүх файлын нэрийн хязгаарлалтуудыг хаахад ашиглагдаж болно. тохируулгатай хэрэглэгдэх үед энэ нь таны эхэлсэн FreeBSD-ийн модтой ижил файлын системийн дүрсийг үүсгэдэг, гэхдээ энэ нь ISO 9660 стандартыг хэд хэдэн замаар зөрчиж болох юм. CDROM-ууд ачаалагддаг үүсгэх Ердийн хэрэглээний сүүлийн тохируулга нь юм. Энэ нь ачаалагдах El Torito CD-г үүсгэхэд хэрэглэгдэх ачаалагдах дүрсний байрлалыг заахад ашиглагддаг. Энэ тохируулга нь CD уруу бичигдэх модны дээд хэсгийн ачаалагдах дүрс хүрэх замыг заах нэмэлт өгөгдлийг авдаг. Анхдагчаар &man.mkisofs.8; нь floppy disk emulation буюу уян дискний эмуляц гэж нэрлэгддэг горимд ISO дүрсийг үүсгэдэг бөгөөд ачаалагдах дүрсийг яг 1200, 1440, эсвэл 2880 KB хэмжээтэй байна гэж тооцдог. FreeBSD түгээлтийн дискнүүдэд хэрэглэгддэг ачаалагч дуудагч зэрэг зарим ачаалагч дуудагчид нь эмуляц горимыг ашигладаггүй; энэ тохиолдолд тохируулгыг ашиглах шаардлагатай. Тэгэхээр хэрэв /tmp/myboot нь ачаалагдах FreeBSD системийг /tmp/myboot/boot/cdboot дэх ачаалагдах дүрстэй цуг агуулж байвал та ISO 9660 файлын системийн дүрсийг /tmp/bootable.iso-д иймэрхүү маягаар үүсгэж болох юм: &prompt.root; mkisofs -R -no-emul-boot -b boot/cdboot -o /tmp/bootable.iso /tmp/myboot Үүнийг хийснийхээ дараа хэрэв та цөмдөө md-г тохируулсан бол файлын системийг ингэж холбож болно: &prompt.root; mdconfig -a -t vnode -f /tmp/bootable.iso -u 0 &prompt.root; mount -t cd9660 /dev/md0 /mnt Энэ үед та /mnt болон /tmp/myboot нь ижил болохыг шалгаж болно. &man.mkisofs.8;-ийн ажиллагааг нарийн тааруулахын тулд та түүний бусад олон тохируулгуудыг ашиглаж болно. Ялангуяа ISO 9660-ийн байрлал болон Joilet ба HFS дискнүүдийн үүсгэлтэд өөрчлөлтүүд хийж болно. Дэлгэрэнгүйг &man.mkisofs.8;-ийн гарын авлагын хуудаснаас үзнэ үү. burncd CDROM-ууд шарах Хэрэв танд ATAPI CD шарагч байгаа бол та ISO дүрсийг CD уруу шарахдаа burncd тушаалыг ашиглаж болно. burncd нь үндсэн системийн хэсэг бөгөөд /usr/sbin/burncd гэж суулгагдсан байдаг. Энэ нь цөөн тохируулгуудтай болохоор хэрэглэхэд их хялбар байдаг: &prompt.root; burncd -f cddevice data imagefile.iso fixate Дээрх тушаал нь imagefile.iso-н хуулбарыг cddevice уруу шарах болно. Анхдагч төхөөрөмж нь /dev/acd0 юм. Бичих хурд, шарсны дараа CD-г гаргах болон аудио өгөгдөл бичихийг заах тохируулгуудын талаар &man.burncd.8;-с үзнэ үү. cdrecord Хэрэв танд ATAPI CD шарагч байхгүй бол та өөрийн CD-үүдийг шарахын тулд cdrecord-г ашиглах шаардлагатай. cdrecord нь үндсэн системд байдаггүй; та үүнийг sysutils/cdrtools дахь портоос эсвэл тохирох багцаас суулгах ёстой. Үндсэн системд хийгдсэн өөрчлөлт нь энэ програмын хоёртын хувилбарыг ажиллахгүй болгож, магадгүй асуудалд (coaster) хүргэж болох юм. Тийм болохоор та өөрийн системээ шинэчлэхдээ портоо бас шинэчлэх эсвэл хэрэв та -STABLE салбарыг дагаж байгаа бол портыг шинэ хувилбар гарахад нь шинэчлэх хэрэгтэй. cdrecord нь олон тохируулгатай байдаг боловч үндсэн хэрэглээ нь burncd-с бүр илүү хялбар байдаг. ISO 9660 дүрсийг шарахдаа: &prompt.root; cdrecord dev=device imagefile.iso cdrecord-г хэрэглэхэд гардаг нэг заль нь тохируулгыг олох явдал юм. Зөв тохиргоог олохын тулд cdrecord-ийн тугийг хэрэглэх хэрэгтэй бөгөөд энэ нь иймэрхүү үр дүнд хүргэж болох юм: CDROM-ууд шарах &prompt.root; cdrecord -scanbus Cdrecord-Clone 2.01 (i386-unknown-freebsd7.0) Copyright (C) 1995-2004 Jörg Schilling Using libscg version 'schily-0.1' scsibus0: 0,0,0 0) 'SEAGATE ' 'ST39236LW ' '0004' Disk 0,1,0 1) 'SEAGATE ' 'ST39173W ' '5958' Disk 0,2,0 2) * 0,3,0 3) 'iomega ' 'jaz 1GB ' 'J.86' Removable Disk 0,4,0 4) 'NEC ' 'CD-ROM DRIVE:466' '1.26' Removable CD-ROM 0,5,0 5) * 0,6,0 6) * 0,7,0 7) * scsibus1: 1,0,0 100) * 1,1,0 101) * 1,2,0 102) * 1,3,0 103) * 1,4,0 104) * 1,5,0 105) 'YAMAHA ' 'CRW4260 ' '1.0q' Removable CD-ROM 1,6,0 106) 'ARTEC ' 'AM12S ' '1.06' Scanner 1,7,0 107) * Энэ нь жагсаалтан дахь төхөөрөмжүүдийн хувьд тохирох утгыг жагсаадаг. Өөрийн CD шарагчийг олохын тулд тохируулгын утгад гурван дугаарыг таслалаар тусгаарлан хэрэглэнэ. Энэ тохиолдолд CRW төхөөрөмж нь 1,5,0, байх бөгөөд тохирох оролт нь болно. Энэ утгыг заах амархан аргууд байдаг; дэлгэрэнгүйг &man.cdrecord.1;-с үзнэ үү. Мөн тэндээс аудио замуудыг бичих, хурдыг хянах болон бусад зүйлүүдийн тухай мэдээллийг үзэж болно. Аудио CD-үүдийг хувилах Та аудио өгөгдлийг CD-ээс файлуудын цуваа болгон задалж дараа нь эдгээр файлуудыг хоосон CD дээр бичин аудио CD-г хувилж болно. Энэ процесс нь ATAPI болон SCSI хөтчүүдийн хувьд нэлээн өөр байдаг. SCSI хөтчүүд Аудиог cdda2wav ашиглан задлана. &prompt.user; cdda2wav -v255 -D2,0 -B -Owav cdrecord ашиглан .wav файлуудыг бичнэ. &prompt.user; cdrecord -v dev=2,0 -dao -useinfo *.wav хэсэгт тайлбарласны дагуу 2,0 гэж зөв заагдсан эсэхийг шалгаарай. ATAPI хөтчүүд ATAPI CD драйвер нь зам бүрийг /dev/acddtnn маягаар болгодог бөгөөд d нь хөтчийн дугаар ба nn нь шаардлагатай бол урдаа 0 тавьж хоёр оронтой тоогоор бичигдсэн замын дугаар юм. Тэгэхээр эхний диск дээрх эхний зам нь /dev/acd0t01, хоёр дахь нь /dev/acd0t02, гурав дахь нь /dev/acd0t03 гэх мэтчилэн байна. Тохирох файлууд /dev санд байгаа эсэхийг шалгаарай. Хэрэв оруулгууд байхгүй байгаа бол зөөвөрлөгчийг дахин үзэхээр системийг хүчлэх хэрэгтэй: &prompt.root; dd if=/dev/acd0 of=/dev/null count=1 Зам бүрийг &man.dd.1; ашиглан задална. Файлуудыг задлахдаа та тусгай блокийн хэмжээг бас ашиглах ёстой. &prompt.root; dd if=/dev/acd0t01 of=track1.cdr bs=2352 &prompt.root; dd if=/dev/acd0t02 of=track2.cdr bs=2352 ... Задалсан файлуудаа диск уруу burncd ашиглан шарна. Та эдгээрийг аудио файл гэж зааж өгөх хэрэгтэй бөгөөд burncd нь дуусахдаа дискийг бэхжүүлэх ёстой. &prompt.root; burncd -f /dev/acd0 audio track1.cdr track2.cdr ... fixate Өгөгдлийн CD-үүдийг хувилах Та өгөгдлийн CD-г &man.mkisofs.8;-р үүсгэсэн дүрс файлтай ажиллагааны хувьд адилхан дүрс файл уруу хуулж болох бөгөөд та үүнийг ямар ч өгөгдлийн CD хувилахад ашиглаж болно. Энд өгөгдсөн жишээ нь таны CDROM төхөөрөмжийг acd0 гэж үзэх болно. Өөрийн зөв CDROM төхөөрөмжөөр солиорой. &prompt.root; dd if=/dev/acd0 of=file.iso bs=2048 Одоо та нэгэнт дүрстэй болсон болохоор үүнийг CD уруу дээр тайлбарласны дагуу шарж болно. Өгөгдлийн CD-үүдийг ашиглах Одоо та стандарт өгөгдлийн CDROM үүсгэсэн болохоор түүнийг холбож түүн дээрх өгөгдлийг уншихыг хүсэх байх. Анхдагчаар &man.mount.8; нь файлын системийг ufs төрлийнх гэж үздэг. Хэрэв та доорх шиг оролдвол: &prompt.root; mount /dev/cd0 /mnt Incorrect super block гэж гомдоллохыг та харах бөгөөд холболт хийгдэхгүй байх болно. CDROM нь UFS файлын систем биш, тэгэхээр ингэж холбохыг оролдох нь амжилтгүй болох болно. Та &man.mount.8;-д файлын системийн төрөл нь ISO9660 гэж зааж өгөхөд л бүгд ажиллах болно. Та тохируулгыг &man.mount.8;-д өгч үүнийг хийнэ. Жишээ нь хэрэв та CDROM төхөөрөмж /dev/cd0/mnt-д холбохыг хүсвэл дараах тушаалыг ажиллуулах болно: &prompt.root; mount -t cd9660 /dev/cd0 /mnt Таны төхөөрөмжийн нэр (энэ жишээн дээр /dev/cd0) таны CDROM ямар интерфэйс ашиглаж байгаагаас хамааран өөр байж болох юм. Мөн тохируулга нь ердөө л &man.mount.cd9660.8;-г ажиллуулдаг. Дээрх жишээг ингэж богиносгож болно: &prompt.root; mount_cd9660 /dev/cd0 /mnt Та ерөнхийдөө энэ аргаар ямар ч үйлдвэрлэгчийн өгөгдлийн CDROM-уудыг ашиглаж болно. Гэхдээ зарим нэг ISO 9660 өргөтгөлүүдтэй дискнүүд хачин ажиллаж болох юм. Жишээ нь Joilet дискнүүд нь бүх файлын нэрсийг хоёр байт Юникод тэмдэгтээр хадгалдаг. FreeBSD цөм нь Юникодоор ярьдаггүй, гэхдээ &os;-ийн CD9660 драйвер Юникод тэмдэгтүүдийг шууд хувиргаж чаддаг. Хэрэв зарим нэг Англи бус тэмдэгтүүд асуултын тэмдэг хэлбэрээр харагдвал та ашиглаж байгаа локал тэмдэгтийн олонлогоо тохируулгаар зааж өгөх хэрэгтэй. Дэлгэрэнгүй мэдээллийг &man.mount.cd9660.8; гарын авлагын хуудаснаас лавлана уу. Энэ тэмдэгтийн хувиргалтыг тохируулгын тусламжтай хийхийн тулд цөм cd9660_iconv.ko модулийг дуудсан байхыг шаардах болно. Энэ мөрийг loader.conf файлд нэмж үүнийг: cd9660_iconv_load="YES" гэж хийн машиныг дахин ачаалах буюу эсвэл модулийг &man.kldload.8;-н тусламжтай дуудан хийж болох юм. Хааяа таныг CDROM-г холбохыг оролдох үед Device not configured гэсэн алдаа гарч болох юм. Энэ нь ихэнхдээ CDROM хөтөч нь төхөөрөмжид диск байхгүй эсвэл хөтөч нь шугаманд (bus) харагдахгүй байна гэж үзэж байна гэсэн үг юм. CDROM хөтөч нь хоёр секундын дотор үүнийг мэддэг болохоор тэвчээртэй байгаарай. Шугамын дахин тогтоолтод хариу өгөх хангалттай хугацаа байхгүйн улмаас заримдаа SCSI CDROM-ийг олохгүй байж болох юм. Хэрэв та SCSI CDROM-той бол та дараах тохируулгыг цөмийн тохиргоондоо нэмж өөрийн цөмийг дахин бүтээнэ үү. options SCSI_DELAY=15000 Энэ нь таны SCSI шугамд ачаалах үедээ 15 секунд түр саатахыг хэлж өгөх бөгөөд ингэснээр шугамын дахин тогтоолтод таны CDROM хөтчөөр хариу өгүүлэхийн тулд бүх байж болох боломжийг түүнд өгч байна гэсэн үг юм. Түүхий өгөгдлийн CD-үүдийг шарах Та ISO 9660 файлын системийг үүсгэлгүйгээр файлыг CD уруу шууд шарахаар сонгож болно. Зарим хүмүүс үүнийг нөөцлөх зорилгоор хийдэг. Энэ нь стандарт CD-г шарахаас илүү хурдан ажилладаг: &prompt.root; burncd -f /dev/acd1 -s 12 data archive.tar.gz fixate Тийм CD-д шарагдсан өгөгдлийг авахын тулд та түүхий төхөөрөмжийн цэгээс өгөгдлийг унших ёстой: &prompt.root; tar xzvf /dev/acd1 Та энэ дискийг ердийн CDROM-ийг холбодог шиг холбож чадахгүй. Ийм CDROM нь FreeBSD-ээс өөр ямар ч үйлдлийн систем дээр уншигдахгүй. Хэрэв та CD-гээ холбохыг эсвэл өөр үйлдлийн системтэй өгөгдлөө хуваалцах хүсэлтэй байгаа бол дээр тайлбарласны дагуу &man.mkisofs.8;-г ашиглах ёстой. Марк Фонвил Хувь нэмэр болгон оруулсан CD шарагч ATAPI/CAM драйвер ATAPI/CAM драйверийг ашиглах Энэ драйвер нь ATAPI төхөөрөмжүүдэд (CD-ROM, CD-RW, DVD хөтчүүд гэх мэт...) SCSI дэд системээр хандах боломжийг олгох бөгөөд ингэснээр sysutils/cdrdao эсвэл &man.cdrecord.1; зэрэг програмуудыг ашиглах боломжийг олгодог. Энэ драйверыг ашиглахын тулд та дараах мөрийг /boot/loader.conf файл уруу нэмэх хэрэгтэй болно: atapicam_load="YES" тэгээд өөрийн машинаа дахин ачаална. Хэрэв та өөрийн цөмдөө &man.atapicam.4; дэмжлэгийг статикаар эмхэтгэхийг хүсвэл энэ мөрийг өөрийн цөмийн тохиргооны файлдаа нэмэх хэрэгтэй болно: device atapicam Мөн та өөрийн цөмийн тохиргооны файлдаа дараах мөрүүдийг бас нэмэх хэрэгтэй болно: device ata device scbus device cd device pass Эдгээр нь аль хэдийн байж байх ёстой. Дараа нь дахин бүтээгээд өөрийн цөмийг суулгаж машинаа дахин ачаалах хэрэгтэй. Ачаалах процессийн үед таны шарагч иймэрхүү маягаар гарч ирэх ёстой: acd0: CD-RW <MATSHITA CD-RW/DVD-ROM UJDA740> at ata1-master PIO4 cd0 at ata1 bus 0 target 0 lun 0 cd0: <MATSHITA CDRW/DVD UJDA740 1.00> Removable CD-ROM SCSI-0 device cd0: 16.000MB/s transfers cd0: Attempt to query device size failed: NOT READY, Medium not present - tray closed Одоо хөтчид /dev/cd0 төхөрөөмжийн нэрийг ашиглан хандаж болох бөгөөд жишээ нь CD-ROM-г /mnt-д холбохдоо дараах тушаалыг бичих хэрэгтэй: &prompt.root; mount -t cd9660 /dev/cd0 /mnt root хэрэглэгчээр дараах тушаалыг ажиллуулж та шарагчийн SCSI хаягийг авч болно: &prompt.root; camcontrol devlist <MATSHITA CDRW/DVD UJDA740 1.00> at scbus1 target 0 lun 0 (pass0,cd0) Тэгэхээр 1,0,0 нь &man.cdrecord.1; болон бусад SCSI програмтай ашиглах SCSI хаяг болох юм. ATAPI/CAM болон SCSI системийн талаар дэлгэрэнгүй мэдээллийг &man.atapicam.4; болон &man.cam.4; гарын авлагын хуудаснуудаас лавлана уу. Марк Фонвил Хувь нэмэр болгон оруулсан Энди Поляков Зарим зүйл оруулсан Оптик зөөвөрлөгчийг (DVD-үүд) үүсгэж ашиглах нь DVD шарах нь Танилцуулга CD-тэй харьцуулахад DVD нь оптик зөөвөрлөгч хадгалалтын технологийн дараачийн үе юм. DVD нь ямар ч CD-ээс илүү өгөгдлийг агуулдаг бөгөөд одоогийн видео хэвлэлтийн стандарт болжээ. Бичигддэг DVD гэж бидний нэрлэдэг DVD-үүдийн физик 5 бичигддэг хэлбэршүүлэлтийг тодорхойлж болно: DVD-R: Энэ нь бичигддэг DVD-ий анхны хэлбэршүүлэлт юм. DVD-R стандарт нь DVD хэлэлцүүлгээр тодорхойлогдсон бөгөөд энэ нь зөвхөн нэг удаа бичих хэлбэршүүлэлт юм. DVD-RW: Энэ нь DVD-R стандартын дахин бичигдэх хувилбар юм. DVD-RW нь ойролцоогоор 1000 удаа бичигдэх боломжтой. DVD-RAM: Энэ нь DVD хэлэлцүүлгийн дэмждэг бас дахин бичигддэг хэлбэршүүлэлт юм. DVD-RAM нь зөөгдөж болох хатуу хөтөч маягаар харагддаг. Гэхдээ энэ зөөвөрлөгч нь ихэнх DVD-ROM хөтчүүд болон DVD-Видео тоглуулагчуудтай нийцтэй биш байдаг; цөөн DVD бичигчид DVD-RAM хэлбэршүүлэлтийг дэмждэг. DVD-RAM-ийн хэрэглээний талаар илүү дэлгэрэнгүйг -с уншина уу. DVD+RW: Энэ нь DVD+RW холбооноос тодорхойлсон дахин бичигдэх хэлбэршүүлэлт юм. DVD+RW нь ойролцоогоор 1000 удаа бичигдэх боломжтой. DVD+R: Энэ хэлбэршүүлэлт нь DVD+RW хэлбэршүүлэлтийн нэг удаа бичих хувилбар юм. Бичигддэг DVD-ий нэг давхарга нь 4,700,000,000 байт буюу 4.38 GB эсвэл 4485 MB (1 килобайт нь 1024 байт) хүртэлх мэдээлэл агуулж чадна. Физик зөөвөрлөгч болон програмыг ялгаж ойлгох ёстой. Жишээ нь DVD-Видео нь дурын бичигддэг DVD физик зөөвөрлөгч DVD-R, DVD+R, DVD-RW гэх зэрэг уруу бичигдэж болох тусгай байршлын зураглал юм. Зөөвөрлөгчийн төрлийг сонгохын өмнө шарагч болон DVD-Видео тоглуулагч (дан тоглуулагч эсвэл компьютер дээрх DVD-ROM хөтөч) нь хэрэглэхээр төлөвлөж байгаа зөөвөрлөгчтэй нийцтэй эсэхийг шалгах хэрэгтэй. Тохиргоо DVD бичлэг хийхэд &man.growisofs.1; програм ашиглагдана. Энэ тушаал нь dvd+rw-tools хэрэгслүүдийн (sysutils/dvd+rw-tools) нэг хэсэг юм. dvd+rw-tools нь DVD зөөвөрлөгчийн бүх төрлийг дэмждэг. Эдгээр хэрэгслүүд нь төхөөрөмжүүд уруу хандахын тулд SCSI дэд системийг ашигладаг, тиймээс таны цөмд ATAPI/CAM дэмжлэг нэмэгдсэн байх ёстой. Хэрэв таны шарагч USB интерфэйс ашигладаг бол энэ нэмэлт нь хэрэггүй бөгөөд та USB төхөөрөмжүүдийн тохиргооны талаар илүү дэлгэрэнгүйг -с унших шаардлагатай. Та мөн ATAPI төхөөрөмжүүдийн хувьд DMA хандалтыг идэвхжүүлэх ёстой бөгөөд дараах мөрийг /boot/loader.conf файлд нэмж үүнийг хийнэ: hw.ata.atapi_dma="1" dvd+rw-tools-г ашиглахаасаа өмнө өөрийн DVD шарагчтай холбоотой мэдээллийг dvd+rw-tools' тоног төхөөрөмжийн нийцтэй байдал хаягаас лавлах хэрэгтэй. Хэрэв та график хэрэглэгчийн интерфэйсийг хүсэж байвал &man.growisofs.1; болон бусад олон шарагч хэрэгслүүдийг хэрэглэгчид ашиглахад амар интерфэйсээр хангадаг K3b (sysutils/k3b) програмыг үзэх хэрэгтэй. Өгөгдлийн DVD-үүдийг шарах нь &man.growisofs.1; тушаал нь mkisofs-ийн нүүр хэсэг юм, энэ нь шинэ файлын системийн байршлыг үүсгэхийн тулд &man.mkisofs.8;-г дуудах бөгөөд DVD дээр бичих үйлдлийг гүйцэтгэнэ. Энэ нь та шарах процессоос өмнө өгөгдлийн дүрсийг үүсгэх хэрэггүй гэсэн үг юм. DVD+R эсвэл DVD-R уруу өгөгдлийг /path/to/data сангаас шарахдаа дараах тушаалыг ашиглана: &prompt.root; growisofs -dvd-compat -Z /dev/cd0 -J -R /path/to/data Файлын системийг үүсгэхдээ тохируулгуудыг &man.mkisofs.8;-д дамжуулдаг (энэ тохиолдолд Joilet болон Rock Ridge өргөтгөлүүдтэй ISO 9660 файлын систем). Дэлгэрэнгүйг &man.mkisofs.8; гарын авлагын хуудаснаас лавлана уу. тохируулгыг ямар ч тохиолдолд (олон сессүүд эсвэл ганц сесс) эхний сессийг бичихдээ хэрэглэдэг. DVD төхөөрөмж /dev/cd0-г өөрийн тохиргооны дагуу өөрчлөх хэрэгтэй. параметр дискийг хаах бөгөөд бичилтийг нэмэх нь боломжгүй болох юм. Энэ нь DVD-ROM хөтчүүдтэй зөөвөрлөгчийн нийцтэй байдлыг илүүтэй хангах юм. Мөн урьдчилан урласан дүрсийг шарах бас боломжтой, жишээ нь imagefile.iso дүрсийг шарахын тулд бид дараах тушаалыг ажиллуулна: &prompt.root; growisofs -dvd-compat -Z /dev/cd0=imagefile.iso Бичих хурдыг олж зөөвөрлөгч ба ашиглагдаж байгаа хөтчөөс хамаарч автоматаар тохируулах болно. Хэрэв та бичих хурдыг өөрчлөх хүсэлтэй байгаа бол параметрийг ашиглах хэрэгтэй. Дэлгэрэнгүй мэдээллийг &man.growisofs.1; гарын авлагын хуудаснаас уншина уу. DVD DVD-Video DVD-Видео шарах нь DVD-Видео нь ISO 9660 болон микро-UDF (M-UDF тодорхойлолтууд дээр тулгуурласан тусгай файлын байршлын зураглал юм. DVD-Видео нь бас өгөгдлийн бүтцийн тусгай шатлалыг үзүүлдэг бөгөөд энэ нь DVD-г зохиохын тулд multimedia/dvdauthor зэрэг тусгай програмыг та яагаад ашиглах хэрэгтэй болдгийн шалтгаан юм. Хэрэв танд DVD-Видео файлын системийн дүрс байгаа бол ямар ч дүрсний нэгэн адил аргаар шарах хэрэгтэй. Өмнөх хэсгийн жишээнээс үзнэ үү. Хэрэв та DVD зохиолт хийсэн бөгөөд үр дүн нь жишээ нь /path/to/video санд байгаа бол DVD-Видеог шарахын тулд дараах тушаалыг ашиглах хэрэгтэй: &prompt.root; growisofs -Z /dev/cd0 -dvd-video /path/to/video тохируулга &man.mkisofs.8;-д дамжуулагдах бөгөөд энэ нь DVD-Видео файлын системийн байршлын зураглал үүсгэхийг тушаах болно. Үүнээс гадна тохируулга нь &man.growisofs.1;-ийн тохируулгыг агуулдаг. DVD DVD+RW DVD+RW ашиглах нь CD-RW-с ялгаатай нь шинэ DVD+RW нь ашиглагдахаа өмнө хэлбэршүүлэгдсэн байх ёстой. &man.growisofs.1; нь шаардлагатай үед автоматаар үүнийг хийх бөгөөд энэ аргыг зөвлөдөг юм. Гэхдээ та dvd+rw-format тушаалыг ашиглан DVD+RW-г хэлбэршүүлж болно: &prompt.root; dvd+rw-format /dev/cd0 Та энэ үйлдлийг зөвхөн нэг удаа хийх хэрэгтэй бөгөөд зөвхөн шинэ DVD+RW зөөвөрлөгчдийн хувьд хэлбэршүүлэх ёстойг санаарай. Дараа нь та DVD+RW-г дээрх хэсгүүдэд дурдсаны адил шарж болно. Хэрэв та шинэ өгөгдлийг (зарим өгөгдлийг нэмэх биш бүр мөсөн шинэ файлын систем шарах) DVD+RW уруу шарахыг хүсэж байгаа бол түүнийг хоосон болгох шаардлагагүй юм, иймэрхүүгээр өмнөх бичилтэн дээрээ (шинэ сесс үүсгээд) дараад л бичих хэрэгтэй юм: &prompt.root; growisofs -Z /dev/cd0 -J -R /path/to/newdata DVD+RW хэлбэршүүлэлт нь өмнөх бичилтэд өгөгдлийг хялбараар нэмэх боломжийг олгодог. Энэ үйлдэл нь шинэ сессийг хуучин байгаатай нь нийлүүлэх бөгөөд энэ нь олон сесс бүхий бичилт биш юм. &man.growisofs.1; нь зөөвөрлөгч дээр байгаа ISO 9660 файлын системийг өсгөх (сунгах) болно. Жишээ нь хэрэв бид өөрсдийн урьдны DVD+RW уруу өгөгдөл нэмэхийг хүсвэл доор дурдсаныг ашиглах хэрэгтэй болно: &prompt.root; growisofs -M /dev/cd0 -J -R /path/to/nextdata Эхний сессийг шарахдаа бидний хэрэглэдэг &man.mkisofs.8;-ийн адил тохируулгууд дараагийн бичилтүүдийн үеэр хэрэглэгдэх ёстой. Хэрэв та DVD-ROM хөтчүүдтэй зөөвөрлөгчийн хувьд илүүтэй нийцтэй байхыг хүсвэл тохируулгыг хэрэглэхийг хүсэж болох юм. DVD+RW тохиолдлын хувьд энэ нь таныг өгөгдөл нэмэхийг болиулж чадахгүй юм. Хэрэв та ямар нэг шалтгаанаар зөөвөрлөгчийг хоосон болгохыг хүсвэл доор дурдсаныг хийх хэрэгтэй: &prompt.root; growisofs -Z /dev/cd0=/dev/zero DVD DVD-RW DVD-RW ашиглах нь DVD-RW нь дискний хоёр хэлбэршүүлэлтийг авдаг: нэмэгдсэн дараалсан хэлбэршүүлэлт болон хязгаарлагдмал дарж бичих хэлбэршүүлэлт юм. Анхдагчаар DVD-RW дискнүүд нь дараалсан хэлбэршүүлэлтэд байдаг. Шинэ DVD-RW нь хэлбэршүүлэлт хийгдэлгүйгээр шууд бичигдэж болдог, гэхдээ шинэ биш дараалсан хэлбэршүүлэлтэд байх DVD-RW нь шинэ эхний сесс бичигдэхээс өмнө хоосон болгогдсон байх шаардлагатай байдаг. Дараалсан горим дахь DVD-RW-г хоослохдоо дараах тушаалыг ажиллуулна: &prompt.root; dvd+rw-format -blank=full /dev/cd0 Бүр мөсөн хоослолт () 1x зөөвөрлөгч дээр нэг цаг орчим болно. Хэрэв DVD-RW нь Disk-At-Once (DAO) горимоор бичигдэх бол хурдан хоослолтыг тохируулга ашиглан хийж болно. DVD-RW-г DAO горимд шарахын тулд дараах тушаалыг ашиглана: &prompt.root; growisofs -use-the-force-luke=dao -Z /dev/cd0=imagefile.iso тохируулгыг шаардах ёсгүй, учир нь &man.growisofs.1; нь (хурдан хоосолсон) зөөвөрлөгчийг илрүүлэхийг бага оролдож DAO бичилтийг захиалах болно. Яг үнэндээ дурын DVD-RW-ийн хувьд хязгаарлагдмал дарж бичих горимыг ашиглах хэрэгтэй бөгөөд энэ хэлбэршүүлэлт нь анхдагч нэмэгдсэн дараалсан хэлбэршүүлэлтээс илүү уян хатан байдаг. Дараалсан DVD-RW дээр өгөгдлийг бичихдээ бусад DVD хэлбэршүүлэлтийн нэгэн адил заавруудыг ашиглана: &prompt.root; growisofs -Z /dev/cd0 -J -R /path/to/data Хэрэв та зарим өгөгдлийг өөрийн урьдны бичлэгт нэмэхийг хүсвэл &man.growisofs.1;-ийн тохируулгыг ашиглах хэрэгтэй болно. Гэхдээ хэрэв та нэмэгдсэн дараалсан горимд байгаа DVD-RW уруу өгөгдлийг нэмэх үйлдлийг хийвэл диск дээр шинэ сесс үүсгэгдэх бөгөөд үүний үр дүн нь олон сесс бүхий диск болох юм. DVD-RW нь хязгаарлагдмал дарж бичих хэлбэршүүлэлтэд шинэ эхний сессээс өмнө хоосон болгогдох шаардлагагүй, та ердөө л дискийг тохируулгатай дарж бичих хэрэгтэй бөгөөд энэ нь DVD+RW тохиолдолтой төстэй юм. Мөн диск дээр бичигдсэн байгаа ISO 9660 файлын системийг DVD+RW-тэй адил аргаар тохируулгын тусламжтай өсгөж (сунгаж) бас болно. Үр дүн нь нэг сесс бүхий DVD болох юм. DVD-RW-г хязгаарлагдмал дарж бичих хэлбэршүүлэлтэд оруулахдаа дараах тушаалыг ашиглах ёстой: &prompt.root; dvd+rw-format /dev/cd0 Дараалсан хэлбэршүүлэлт уруу буцааж өөрчлөхдөө дараах тушаалыг ашиглана: &prompt.root; dvd+rw-format -blank=full /dev/cd0 Олон сесс Маш цөөн DVD-ROM хөтчүүд олон сесс бүхий DVD-үүдийг дэмждэг бөгөөд тэдгээр нь ихэнхдээ зөвхөн эхний сессийг уншдаг. DVD+R, DVD-R болон DVD-RW нь дараалсан хэлбэршүүлэлтдээ олон сессийг хүлээн авч чаддаг бөгөөд DVD+RW болон DVD-RW хязгаарлагдмал дарж бичих хэлбэршүүлэлтүүдийн хувьд олон сесс гэсэн ойлголт байдаггүй. Дараалсан хэлбэршүүлэлтэд DVD+R, DVD-R эсвэл DVD-RW дээрх эхний (хаагдаагүй) сессийн дараа дараах тушаалыг ашиглаж дискэнд шинэ сесс үүсгэнэ: &prompt.root; growisofs -M /dev/cd0 -J -R /path/to/nextdata Энэ тушаалын мөрийг DVD+RW эсвэл DVD-RW-тэй цуг ашиглан хязгаарлагдмал дарж бичих горим дээр шинэ сессийг хуучин байгаатай нийлүүлэн өгөгдлийг нэмэх болно. Үр дүн нь нэг сесс бүхий диск болох юм. Энэ нь эдгээр зөөвөрлөгчүүд дээр эхний бичилтийн дараа өгөгдөл нэмэх арга юм. Зөөвөрлөгч дээрх зарим зай нь сесс бүрийн хооронд сессийн төгсгөл болон эхлэлд хэрэглэгддэг. Тиймээс зөөвөрлөгчийн зайг оновчтой ашиглахын тулд их өгөгдөлтэй сессүүдийг нэмэх ёстой юм. Сессийн тоо DVD+R-ийн хувьд 154, DVD-R-ийн хувьд 2000 орчим, DVD+R хос давхаргын хувьд 127-оор хязгаарлагдана. Дэлгэрэнгүй мэдээллийг DVD-ийн талаар илүү мэдээллийг авахын тулд dvd+rw-mediainfo /dev/cd0 тушаалыг хөтөч дотор диск байхад ажиллуулж болно. dvd+rw-tools-н тухай дэлгэрэнгүй мэдээлэл нь &man.growisofs.1; гарын авлагын хуудас, dvd+rw-tools вэб сайт болон cdwrite захидлын жагсаалтын архивуудаас олдож болно. Бичигдсэн үр дүн эсвэл асуудалтай зөөвөрлөгчийн dvd+rw-mediainfo гаралт нь ямар ч асуудлын тайлангийн чухал хэсэг юм. Энэ гаралтгүйгээр танд туслах бараг л боломжгүй юм. DVD-RAM ашиглах нь DVD DVD-RAM Тохиргоо DVD-RAM бичигчид нь SCSI аль эсвэл ATAPI интерфэйстэй цуг ирдэг. ATAPI төхөөрөмжүүдийн хувьд DMA хандалт идэвхтэй болсон байх ёстой, дараах мөрийг /boot/loader.conf файлд нэмж үүнийг хийнэ: hw.ata.atapi_dma="1" Зөөвөрлөгчийг бэлдэх нь Өмнө нь бүлгийн танилцуулгад дурдсанаар DVD-RAM нь зөөврийн хатуу хөтөч маягаар харагддаг. Бусад хатуу дискнүүдийн адил DVD- RAM нь ашиглагдаж эхлэхээсээ өмнө бэлдэгдсэн байх ёстой. Жишээн дээр дискний бүх зай стандарт UFS2 файлын системтэй ашиглагдана: &prompt.root; dd if=/dev/zero of=/dev/acd0 count=2 &prompt.root; bsdlabel -Bw acd0 &prompt.root; newfs /dev/acd0 DVD төхөөрөмж acd0-ийг өөрийн тохиргооны дагуу өөрчлөн ашиглах ёстой. Зөөвөрлөгчийг ашиглах нь Дээрх үйлдлүүд DVD-RAM дээр хийгдсэний дараа үүнийг энгийн хатуу хөтчийн нэгэн адил холбож болно: &prompt.root; mount /dev/acd0 /mnt Үүний дараа DVD-RAM нь уншигдах бичигдэх боломжтой болно. Жулио Мерино Анхлан хийсэн Мартин Карлсон Дахин бичсэн Уян дискнүүдийг үүсгэж ашиглах нь Өгөгдлийг уян дискнүүд уруу хадгалах нь заримдаа ашигтай байдаг. Жишээ нь хэн нэгэнд нь шилжүүлж болдог ямар ч хадгалалтын зөөвөрлөгч байхгүй тохиолдолд эсвэл бага хэмжээний өгөгдлийг өөр компьютер уруу зөөх хэрэгцээ гарсан үед уян диск нь хэрэг болдог. Энэ хэсэг нь FreeBSD дээр уян дискийг хэрхэн ашиглах талаар тайлбарлах болно. Энд 3.5 инчийн DOS уян дискнүүдийг хэлбэршүүлж ашиглах талаар үндсэндээ тайлбарлах бөгөөд гэхдээ энэ ойлголт нь бусад уян дискний хэлбэршүүлэлттэй төстэй юм. Уян дискнүүдийг хэлбэршүүлэх нь Төхөөрөмж Уян дискнүүдэд бусад төхөөрөмжүүдийн адил /dev сан дахь оруулгуудаар ханддаг. Түүхий уян дискэнд хандахын тулд /dev/fdN-г ердөө л ашиглах хэрэгтэй. Хэлбэршүүлэх нь Уян дискийг ашиглахаасаа өмнө доод түвшний хэлбэршүүүлэлт хийсэн байх хэрэгтэй. Үүнийг ихэвчлэн үйлдвэрлэгч хийдэг боловч хэлбэршүүлэлт нь зөөвөрлөгчийн бүрэн бүтэн байдлыг шалгах нэг сайн арга юм. Илүү том (эсвэл жижиг) дискний хэмжээг хүчлэн ашиглах боломжтой байдаг боловч 1440kB хэмжээнд зориулагдан ихэнх уян диск хийгдсэн байдаг. Уян дискэнд доод түвшний хэлбэршүүлэлт хийхийн тулд та &man.fdformat.1;-г ашиглах хэрэгтэй. Энэ хэрэгсэл нь төхөөрөмжийн нэрийг нэмэлт өгөгдөл маягаар оруулахыг хүлээж байдаг. Алдааны мэдэгдлийг тэмдэглэж аваарай, учир нь эдгээр нь дискийг сайн эсвэл муу эсэхийг тодорхойлоход туслах болно. Уян дискнүүдийг хэлбэршүүлэх нь /dev/fdN төхөөрөмжүүдийг ашиглан уян дискийг хэлбэршүүлэх хэрэгтэй. Шинэ 3.5 инч диск өөрийн хөтөч уруугаа хийгээд дараах тушаалыг ажиллуул: &prompt.root; /usr/sbin/fdformat -f 1440 /dev/fd0 Дискний шошго Дискэнд доод түвшний хэлбэршүүлэлт хийсний дараа танд диск дээр шошго тавих хэрэгтэй болно. Энэ дискний шошго нь дараа нь устгагдах боловч дискний хэмжээ болон геометрийг дараа нь тодорхойлоход системд хэрэг болдог. Шинэ дискний шошго нь бүхэл дискийг хамарч уян дискний геометрийн тухай бүх л зөв мэдээллийг агуулах болно. Дискний шошгоны геометрийн утгууд нь /etc/disktab файлд жагсаагдсан байдаг. Та одоо ингэж &man.bsdlabel.8;-г ажиллуулж болно: &prompt.root; /sbin/bsdlabel -B -r -w /dev/fd0 fd1440 Файлын систем Одоо уян дискэнд дээд түвшний хэлбэршүүлэлт хийхэд бэлэн боллоо. Энэ нь дискийг FreeBSD унших болон түүнд бичих боломжийг олгох шинэ файлын системийг диск дээр байрлуулах болно. Шинэ файлын системийг үүсгэсний дараа дискний шошго устгагдах бөгөөд хэрэв та дискийг дахин хэлбэршүүлэхийг хүсвэл дискний шошгыг дахин үүсгэх шаардлагатай болно. Уян дискний файлын систем нь UFS эсвэл FAT хоёрын аль нэг нь байна. FAT нь ерөнхийдөө уян дискнүүдийн хувьд илүү дээр сонголт байдаг. Уян диск дээр шинэ файлын системийг байрлуулахын талд дараах тушаалыг ажиллуулна: &prompt.root; /sbin/newfs_msdos /dev/fd0 Диск одоо ашиглахад бэлэн боллоо. Уян дискийг ашиглах нь Уян дискийг ашиглахын тулд &man.mount.msdosfs.8; тушаалаар холбох хэрэгтэй. Мөн портын цуглуулгаас emulators/mtools-г ашиглаж бас болох юм. Өгөгдлийн соронзон хальснууд үүсгэж ашиглах нь соронзон хальс зөөвөрлөгч Гол соронзон хальс зөөвөрлөгчүүд нь 4мм, 8мм, QIC, мини-хайрцаг болон DLT юм. 4мм (DDS: Digital Data Storage) соронзон хальс зөөвөрлөгч DDS (4mm) соронзон хальснууд соронзон хальс зөөвөрлөгч QIC соронзон хальснууд 4мм соронзон хальснууд нь QIC-г халж ажлын станцын нөөц зөөвөрлөгч болон сонгогдож байна. Conner компани нь QIC хөтчүүдийн тэргүүлэх үйлдвэрлэгч Archive-г худалдаж авч дараа нь QIC хөтчүүдийг үйлдвэрлэхээ зогсоосноор энэ чиг хандлага нь илүү хурдассан юм. 4мм хөтчүүд нь жижиг, чимээгүй боловч 8мм хөтчүүд шиг найдвартай ажиллагаагаараа алдартай биш юм. Хайрцагнууд нь үнэтэй биш бөгөөд 8мм-ийн хайрцагнуудаас бага (3 x 2 x 0.5 инч, 76 x 51 x 12 мм) юм. 4мм соронзон хальс нь 8мм-ийн нэгэн адил шалтгаанаар толгой нь богино настай бөгөөд хоёулаа мушгиа сканыг ашигладаг. Эдгээр хөтчүүд дээрх өгөгдлийн дамжуулах чадвар нь ~150 kB/s-с эхэлж ~500 kB/s хүрнэ. Өгөгдлийн багтаамж 1.3 GB-с эхэлж 2.0 GB хүрнэ. Тоног төхөөрөмжийн шахалт энэ хөтчүүдийн ихэнхэд байх бөгөөд энэ нь багтаамжийг ойролцоогоор хоёр дахин нэмэгдүүлдэг. Олон хөтөч бүхий соронзон хальсны сан (library) автомат соронзон хальс солигчтой нэг кабинетийн хувьд 6 хөтөчтэй байж болно. Сангийн багтаамж нь 240 GB хүрнэ. DDS-3 стандарт нь одоогоор 12 GB (эсвэл 24 GB шахагдсан) багтаамжтай соронзон хальсыг дэмждэг. 4мм хөтчүүд нь 8мм-ийн хөтчүүдийн нэгэн адил мушгиа хайлтыг хэрэглэдэг. Мушгиа хайлт хийхийн бүх ашигтай тал болон сул талууд нь 4мм болон 8мм-ийн хөтчүүдийн аль алинд нь хамаардаг. Соронзон хальснууд нь 2000 удаагийн ашиглалт эсвэл 100 бүрэн нөөцлөлтийн дараа хэрэглээнээс гарах ёстой. 8мм (Exabyte) соронзон хальс зөөвөрлөгч Exabyte (8мм) соронзон хальснууд 8мм соронзон хальснууд нь хамгийн нийтлэг SCSI соронзон хальсны хөтчүүд юм; тэдгээр нь соронзон хальснууд солих хамгийн сайн сонголт болдог. Бараг сайт бүр Exabyte 2 GB 8мм-ийн соронзон хальсны хөтөчтэй байдаг. 8мм-ийн хөтчүүд нь найдвартай, хэрэглэхэд амар, чимээгүй байдаг. Хайрцагнууд нь хямд, жижиг (4.8 x 3.3 x 0.6 инч; 122 x 84 x 15 мм) байдаг. 8мм-ийн соронзон хальсны нэг сул тал нь толгойнуудын дагуух соронзон хальсны харьцангуй хөдөлгөөний өндөр хувиас болоод харьцангуй богино толгой ба соронзон хальсны амьдрах хугацаатай байдаг явдал юм. Өгөгдөл дамжуулах чадвар нь ~250 kB/s-аас ~500 kB/s хүртэл байна. Өгөгдлийн хэмжээ нь 300 MB-аас эхэлж 7 GB хүрнэ. Тоног төхөөрөмжийн шахалт энэ хөтчүүдийн ихэнхэд байх бөгөөд энэ нь багтаамжийг ойролцоогоор хоёр дахин нэмэгдүүлдэг. Эдгээр хөтчүүд нь нэг буюу эсвэл нэг кабинетдаа 6 хөтөч болон 120 соронзон хальстай олон хөтөч бүхий соронзон хальсны сан (library) хэлбэрээр байдаг. соронзон хальснууд нь автоматаар солигддог. Сангийн багтаамж 840+ GB хүрнэ. Exabyte Mammoth загвар нь нэг соронзон хальс дээр 12 GB ((24 GB шахалттайгаар) дэмждэг бөгөөд ердийн соронзон хальсны хөтчөөс ойролцоогоор хоёр дахин үнэтэй байдаг. Өгөгдөл нь соронзон хальс уруу мушгиа скан ашиглагдан бичигддэг, толгойнууд нь зөөвөрлөгч уруу өнцгөөр байрладаг (ойролцоогоор 6 градус). Соронзон хальс нь толгойнуудыг барьж байдаг дамрын 270 градус орчим ороодог. Соронзон хальс дамар дээгүүр гулгаж байхад дамар нь эргэж байдаг. Үр дүнд нь өгөгдлийн өндөр нягтрал болон соронзон хальсны дагуу нэг ирмэгээс нөгөө уруу өнцөгдсөн ойрхон багцалсан замууд үүсэх болно. QIC соронзон хальс зөөвөрлөгч QIC-150 QIC-150 соронзон хальснууд болон хөтчүүд нь магадгүй хамгийн нийтлэг соронзон хальсны хөтөч, зөөвөрлөгч юм. QIC соронзон хальсны хөтчүүд нь хамгийн хямд нухацтай нөөцлөлтийн хөтчүүд юм. Сул тал нь зөөвөрлөгчийн үнэ байдаг. QIC соронзон хальснууд нь 8мм болон 4мм соронзон хальснуудтай харьцуулахад GB өгөгдлийн хадгалалтын хувьд 5 дахин үнэтэй байдаг. Гэхдээ таны хэрэглээнд цөөн (half-dozen) соронзон хальснууд хангалттай бол QIC нь магадгүй зөв сонголт болж болох юм. QIC нь хамгийн нийтлэг соронзон хальсны хөтөч юм. Сайт бүр ямар нэг хэмжээний QIC хөтөчтэй байдаг. QIC нь физикийн хувьд төстэй (заримдаа адил) соронзон хальснуудад их хэмжээний нягтралтай байдаг. QIC хөтчүүд нь чимээгүй биш юм. Эдгээр хөтчүүд нь өгөгдлийг бичиж эхлэхээсээ өмнө дуутайгаар хайдаг бөгөөд унших, бичих эсвэл хайхдаа мэдэгдэхүйц дуутай байдаг. QIC соронзон хальснууд нь 6 x 4 x 0.7 инч (152 x 102 x 17 мм) хэмжээтэй байдаг. Өгөгдлийн дамжуулах чадвар ~150 kB/s-с ~500 kB/s хүртэл байна. Өгөгдлийн багтаамж 40 MB-с 15 GB хүртэл байна. Шинэ QIC хөтчүүдийн ихэнхэд тоног төхөөрөмжийн шахалт байдаг. QIC хөтчүүд нь бага суулгагддаг; тэдгээр нь DAT хөтчүүдээр шахагдсан юм. Өгөгдөл нь соронзон хальс уруу замаар бичигддэг. Замууд нь соронзон хальсны зөөвөрлөгчийн нэг төгсгөлөөс нөгөө уруу урт тэнхлэгийн дагуу байдаг. Замуудын тоо болон замын өргөн соронзон хальсны багтаамжаас хамаарч өөр өөр байдаг. Бүх шинэ хөтчүүдийн ихэнх нь хамгийн багадаа бодоход уншилтын (ихэнхдээ бас бичилтийн хувьд) хуучинтайгаа нийцтэй байдаг. QIC нь өгөгдлийн аюулгүй байдлын хувьд нэлээн нэр хүндтэй байдаг (механизм нь хөтчүүдийг мушгиа скан хийснээс илүү хялбар бөгөөд хүчирхэг байдаг). 5,000 нөөцлөлтийн дараа соронзон хальснуудыг ашиглахаа болих шаардлагатай. DLT соронзон хальс зөөвөрлөгч DLT DLT нь энд жагсаагдсан бүх хөтчийн төрлүүдээс хамгийн хурдан өгөгдөл дамжуулах чадвартай байдаг. 1/2" (12.5мм) соронзон хальс нь ганц дамартай хайрцагт (4 x 4 x 1 инч; 100 x 100 x 25 мм) байдаг. Хайрцаг нь нэг талаараа ганхах хаалгатай байдаг. Хөтчийн механизм соронзон хальсны тэргүүнийг гаргаж авахын тулд энэ хаалгыг онгойлгодог. Соронзон хальсны тэргүүн нь зууван нүхтэй байх бөгөөд хөтөч соронзон хальсыг дэгээдэхдээ үүнийг ашигладаг. Авах (take-up) дамар нь соронзон хальсны хөтчийн дотор байрладаг. Энд жагсаагдсан бусад соронзон хальсны хайрцагнууд (9 замтай соронзон хальснууд нь жич юм) нь соронзон хальсны хайрцган дотор байрлах хангах болон take-up дамруудтай байдаг. Өгөгдөл дамжуулах чадвар нь ойролцоогоор 1.5 MB/s бөгөөд 4мм, 8м, QIC соронзон хальсны хөтчүүдийн дамжуулах чадвараас 3 дахин их байдаг. Өгөгдлийн багтаамж нь нэг хөтчийн хувьд 10 GB-аас 20 GB хүрдэг. Хөтчүүд нь олон соронзон хальс солигчид болон олон соронзон хальс хэлбэрээр байдаг, олон хөтөч бүхий соронзон хальсны сангууд нь нийтдээ 50 GB-с 9 TB хүртэл хадгалалт бүхий 5-аас 900 хүртэл соронзон хальснуудыг 1-ээс 20 хүртэлх хөтчүүд дээр агуулдаг. Шахалттай бол DLT Төрөл 4 хэлбэршүүлэлт нь 70 GB багтаамжийг дэмждэг. Өгөгдөл нь соронзон хальсны замууд дээр аялалын чиглэлийн дагуу (QIC соронзон хальснуудын адил) зэрэгцээгээр бичигддэг. Хоёр зам нэг удаа бичигддэг. Унших/бичих толгойны амьдрах хугацаа харьцангуй урт байдаг; соронзон хальс хөдлөхөө болиход толгой болон соронзон хальсны хоорондын хамаатай хөдөлгөөн байхгүй болно. AIT соронзон хальс зөөвөрлөгч AIT AIT нь Sony-гоос гаргасан шинэ хэлбэршүүлэлт бөгөөд нэг соронзон хальсны хувьд 50  GB хүртэл (шахалттайгаар) мэдээллийг агуулж чадна. Соронзон хальснууд нь санах ойн бичил схемүүдийг агуулдаг бөгөөд эдгээр нь соронзон хальсны агуулгын индексийг хадгалдаг. Бусад соронзон хальснуудын хувьд хэд хэдэн минут шаардагддаг бол харин энэ индексийг соронзон хальсны хөтөч соронзон хальс дээрх файлуудын байрлалыг тодорхойлохын тулд маш хурдан уншдаг. SAMS:Alexandria зэрэг програм нь соронзон хальсны санах ойн бичил схемтэй шууд холбогдон агуулгыг дэлгэцэд гаргаж, ямар файлууд аль соронзон хальс уруу нөөцлөгдсөнийг тодорхойлж, зөв соронзон хальсыг олон ачаалж соронзон хальснаас өгөгдлийг сэргээн дөч болон түүнээс дээш AIT соронзон хальсны сангуудыг ажиллуулж чаддаг. Үүнтэй адил сангууд $20,000 хавьцаа үнэ хүрч тэдгээрийг сонирхогчдын зах зээлээс бага зэрэг шахдаг байна. Шинэ соронзон хальсыг анх удаа ашиглах нь Анхны удаа шинэ, хов хоосон соронзон хальсыг уншихыг оролдвол амжилтгүй болно. Консолын мэдэгдлүүд үүнтэй төстэй байна: sa0(ncr1:4:0): NOT READY asc:4,1 sa0(ncr1:4:0): Logical unit is in process of becoming ready Соронзон хальс нь Identifier Block буюу Танигч Блокийг (block number 0) агуулаагүй байна. Бүх QIC соронзон хальснууд нь QIC-525 стандартыг хэрэглэж эхэлснээс хойш Танигч Блокийг соронзон хальсанд бичдэг. Хоёр шийдэл байдаг: mt fsf 1 тушаал нь Танигч Блокийг соронзон хальс уруу бичихийг соронзон хальсны хөтчид хэлнэ. Нүүрний товчлуурыг ашиглан соронзон хальсыг гаргаж авна. Соронзон хальсыг дахин хийгээд түүн уруу өгөгдлийг dump хийнэ. dump тушаал нь DUMP: End of tape detected гэж мэдэгдэх бөгөөд консол HARDWARE FAILURE info:280 asc:80,96 гэж харуулна. mt rewind тушаал ашиглан соронзон хальсыг буцаана. Дараа дараачийн соронзон хальсны үйлдлүүд амжилттай болно. Уян диск уруу нөөцлөх Өөрийн өгөгдлийг нөөцлөхийн тулд би уян дискнүүдийг ашиглаж болох уу? нөөц уян дискнүүд уян дискнүүд Уян дискнүүд нь нөөц хийхэд тийм ч тохиромжтой зөөвөрлөгч биш юм, учир нь: Энэ зөөвөрлөгч нь найдваргүй, ялангуяа урт хугацааны туршид найдваргүй байдаг. Нөөцлөх болон буцааж сэргээх нь их удаан байдаг. Тэдгээр нь маш хязгаарлагдмал багтаамжтай (бүхэл бүтэн хатуу дискийг хэдэн арван уян дискэнд нөөцлөх нь их олон өдөр шаардана). Гэхдээ хэрэв танд өөрийн өгөгдлийг нөөцлөх өөр ямар ч арга байхгүй бол уян дискнүүдэд нөөцлөх нь нөөц хийхгүй байснаас хамаагүй дээр юм. Хэрэв та уян дискнүүд ашиглах шаардлагатай болсон бол сайн чанарынхыг ашигласан эсэхээ шалгах хэрэгтэй. Оффис дээр чинь хоёр жил хэвтсэн уян дискнүүд муу сонголт болох юм. Нэр хүндтэй үйлдвэрлэгчээс гаргасан шинэ дискнүүдийг ашиглах нь зүйтэй юм. Тэгэхээр би өөрийн өгөгдлийг уян диск уруу хэрхэн нөөцлөх вэ? Уян диск уруу нөөцлөх хамгийн шилдэг арга нь &man.tar.1; тушаалыг (олон эзлэхүүн) тохируулгатайгаар ашиглах явдал юм. Энэ нь олон уян дискнүүдэд нөөцлөх боломжийг олгодог. Тухайн сан болон дэд сан доторх бүх файлуудыг нөөцлөхийн тулд үүнийг ашиглах хэрэгтэй (root хэрэглэгчээр): &prompt.root; tar Mcvf /dev/fd0 * Эхний уян диск дүүрсний дараа &man.tar.1; нь дараагийн эзлэхүүнийг оруулахыг хүсэх болно (учир нь &man.tar.1; нь зөөвөрлөгчөөс хамааралгүй бөгөөд эзлэхүүнүүдэд ханддаг; энд уян дискийг хэлж байна). Prepare volume #2 for /dev/fd0 and hit return: Энэ нь заагдсан файлууд архивлагдах хүртэл (эзлэхүүний дугаар нэмэгдэн) давтагдах болно. Би өөрийнхөө нөөцүүдийг шахаж болох уу? tar gzip шахалт Харамсалтай нь &man.tar.1; нь олон эзлэхүүн бүхий архивуудын хувьд тохируулгыг ашиглахыг зөвшөөрдөггүй. Мэдээж та бүх файлуудыг &man.gzip.1; хийж тэдгээрийг уян диск уруу &man.tar.1; хийж дараа нь файлуудыг дахин &man.gunzip.1; хийж болно! Би өөрийн нөөцүүдийг хэрхэн сэргээх вэ? Бүхэл архивыг сэргээхдээ дараах тушаалыг ашиглана: &prompt.root; tar Mxvf /dev/fd0 Зөвхөн заагдсан файлуудыг сэргээх хоёр арга байдаг бөгөөд та тэдгээрийг ашиглаж болно. Эхлээд та эхний дискнээс эхлээд дараах тушаалыг ашиглана: &prompt.root; tar Mxvf /dev/fd0 filename &man.tar.1; хэрэгсэл нь шаардлагатай файлыг олох хүртлээ дараа дараагийн уян дискнүүдийг хийхийг танаас хүсэх болно. Өөрөөр, хэрэв та файл нь яг аль уян диск дээр байгааг мэдэж байвал ердөө л тэр уян дискийг оруулж дээрхтэй адил тушаалыг ашиглах хэрэгтэй. Хэрэв уян диск дээрх эхний файл нь өмнөх диск дээрхийн үргэлжлэл бол таныг асуугаагүй байсан ч гэсэн &man.tar.1; үүнийг сэргээж чадахгүй гэж танд анхааруулах болно! Лоуэл Жилбэрт Анхлан хийсэн Нөөцлөх стратегууд Нөөцлөх төлөвлөгөөг боловсруулах эхний шаардлага нь дараах бүх асуудлуудыг хамарсан эсэхийг шалгах явдал юм: Дискний гэмтэл Санамсаргүй файл устгалт Санамсаргүй файлын эвдрэл Газар дээрх нөөцүүд байвал тэдгээрийг оруулаад машины бүрэн сүйрэл (өөрөө хэлбэл гал). Эдгээр асуудал бүрийг шал өөр техникээр шийдэснээр зарим системүүдийг илүүтэй ажиллуулах төгс боломж байж болох юм. Маш бага үнэ цэнэтэй өгөгдөл бүхий чанга хувийн системүүдийг тооцохгүй юм бол нэг техник нь бүх асуудлуудыг хамрах нь бараг боломжгүй юм. Хэрэгслийн хайрцаг дахь зарим нэг техникүүдийг дурдвал: Бүх системийн архивууд нь сайтаас гадна байнгын зөөвөрлөгчид нөөцлөгдөнө. Энэ нь дээр дурдсан бүх асуудлуудаас хамгаалах боловч сэргээх нь тохиромжгүй удаан байдаг. Та нөөцүүдийн хуулбаруудыг газар дээр нь ба/эсвэл шууд авч болохоор хадгалж болох боловч файлуудыг сэргээх нь ялангуяа зөвшөөрөгдөөгүй хэрэглэгчдэд бас л тохиромжгүй хэвээр байдаг. Файлын системийн хормын хувилбарууд. Энэ нь яг үнэндээ зөвхөн санамсаргүйгээр файлыг устгасан тохиолдолд тустай, гэхдээ энэ нь тийм тохиолдолд маш тус болохуйц байдаг бөгөөд хурдан, ажиллахад хялбар байдаг. Бүх файлын систем ба/эсвэл дискнүүдийн хуулбарууд (бүхэл машины үе үе давтагдах &man.rsync.1;). Энэ нь ерөнхийдөө онцгой шаардлага бүхий сүлжээнүүдэд хамгийн ашигтай байдаг. Дискний эвдрэл, гэмтлийн эсрэг ерөнхий хамгаалалтын хувьд энэ нь ихэвчлэн RAID-с чанарын хувьд муу байдаг. Санамсаргүйгээр устгасан файлуудыг сэргээхэд энэ нь UFS хормын хувилбартай дүйцэхээр боловч та алийг дээдэлдгээс хамаарах юм. RAID. Диск эвдрэх, гэмтэх үед зогсох хугацааг багасгаж зайлсхийдэг. Маш бага шаардлагатай хэдий ч дискний эвдрэлүүдтэй илүүтэй зууралдах (учир нь та олон дисктэй) хэрэгтэй болдог. Файлуудын байрлалыг (хурууны хээ) шалгах. Үүнд &man.mtree.8; хэрэгсэл их ашигтай байдаг. Энэ нь нөөцлөх техник биш боловч танд өөрийн нөөцүүддээ хандахаар болох үед та хэрэг болох болно. Энэ нь сайтаас гаднах шууд бус нөөцүүдийн хувьд ялангуяа чухал бөгөөд үе үе шалгагдаж байх ёстой. Үүнээс илүү олон техникийг бодож олох нь амархан бөгөөд тэдгээрийн ихэнх нь дээр дурдсан техникүүдийн өөр хувилбарууд юм. Тусгайлсан шаардлагууд нь ихэвчлэн тусгайлсан техникт хүргэдэг (жишээ нь шууд ажиллаж байгаа мэдээллийн баазыг нөөцлөх нь зөвхөн мэдээллийн санд зориулагдсан аргыг дундын шат болгон ихэвчлэн ашиглахыг шаарддаг). Ямар аюулуудаас та хамгаалахыг хүсэж байгаа болон тэдгээр тус бүртэй хэрхэн ажиллахаа мэдэх нь чухал юм. Нөөцлөлтийн үндсүүд Гурван гол нөөцлөх програм бол &man.dump.8;, &man.tar.1; болон &man.cpio.1; юм. Dump ба Restore нөөцлөх програм хангамж dump / restore dump restore Уламжлалт &unix; нөөцлөх програмууд нь dump ба restore юм. Тэдгээр нь файлын системүүдээр үүсгэгдсэн файлууд, холбоосууд болон сангуудын хийсвэр ойлголтуудын доор хөтчүүд дээр дискний блокуудын цуглуулга хэлбэрээр ажилладаг. dump нь төхөөрөмж дээрх бүхэл файлын системийг нөөцөлдөг. Файлын системийн зөвхөн хэсгийг эсвэл нэгээс илүү файлын систем дагуу байрлах сангийн модыг энэ нь нөөцөлж чаддаггүй. dump нь файлууд болон сангуудыг соронзон хальс уруу бичдэггүй, харин файлууд болон сангуудаас тогтох түүхий өгөгдлийн блокуудыг бичдэг. Хэрэв та өөрийн root сандаа dump-г хэрэглэвэл та /home, /usr эсвэл бусад олон сангуудыг нөөцлөхгүй бөгөөд үүний учир бол эдгээр нь ихэвчлэн бусад файлын системүүдийн холбох цэгүүд буюу эсвэл тэдгээр файлын системүүд уруу заасан симболын холбоосууд байдаг. dump нь өөрийн хөгжлийн эхний өдрүүд болох AT&T UNIX-ийн 6-р хувилбараас (1975 он орчим) үлдсэн кодтой байдаг. Анхдагч параметрүүд нь өнөөдөр байгаа өндөр нягтралтай (62,182 ftpi хүртэл) зөөвөрлөгчид биш 9 зам (6250 bpi) бүхий соронзон хальсанд тохирдог. Одоогийн соронзон хальсны хөтчүүдийн багтаамжийг хэрэглэхийн тулд эдгээр анхдагчуудыг тушаалын мөрөөс дарж өөрчлөх ёстой. .rhosts Мөн сүлжээгээр өөр компьютерт холбогдсон соронзон хальсны хөтөч уруу өгөгдлийг rdump болон rrestore тушаал ашиглан нөөцлөх боломжтой байдаг. Энэ хоёр програм нь алсын соронзон хальсны хөтчид хандахдаа &man.rcmd.3; болон &man.ruserok.3;-д тулгуурладаг. Тиймээс нөөцлөлтийг хийж байгаа хэрэглэгч алсын компьютерийн .rhosts файл дотор жагсаагдсан байх ёстой. rdump болон rrestore тушаалуудад өгөх нэмэлт өгөгдлүүд нь алсын компьютер дээр ашиглаж болохоор байх ёстой. komodo гэж нэрлэгдсэн Sun уруу холбогдсон Exabyte соронзон хальсны хөтөч уруу FreeBSD компьютераас rdump хийхдээ дараах тушаалыг ашиглана: &prompt.root; /sbin/rdump 0dsbfu 54000 13000 126 komodo:/dev/nsa8 /dev/da0a 2>&1 Болгоомжлоорой: .rhosts танин нэвтрэлтийг зөвшөөрөх нь аюулгүй байдлын асуудлууд үүсгэдэг. Өөрийн нөхцөл байдлыг анхааралтай үнэлэх хэрэгтэй. Мөн dump болон restore тушаалыг илүү аюулгүй загвараар ssh дээгүүр ашиглах бас боломжтой байдаг. <application>ssh</application>-ээр <command>dump</command>-г ашиглах нь &prompt.root; /sbin/dump -0uan -f - /usr | gzip -2 | ssh -c blowfish \ targetuser@targetmachine.example.com dd of=/mybigfiles/dump-usr-l0.gz Эсвэл dump-ийн дотор байдаг нэг арга болох RSH орчны хувьсагчийг тохируулан ашиглаж болно: <application>ssh</application>-ээр <envar>RSH</envar> тохируулан <command>dump</command>-г ашиглах нь &prompt.root; RSH=/usr/bin/ssh /sbin/dump -0uan -f targetuser@targetmachine.example.com:/dev/sa0 /usr <command>tar</command> нөөцлөх програм хангамж tar &man.tar.1; нь бас AT&T UNIX-ийн 6-р хувилбараас (1975 он орчим) эхтэй. tar нь файлын системтэй хамт ажилладаг; энэ нь файлууд болон сангуудыг соронзон хальс уруу бичдэг. tar нь &man.cpio.1;-д байдаг бүрэн хэмжээний тохируулгуудыг дэмждэггүй боловч энэ нь cpio-ийн хэрэглэдэг ховор тушаалын дамжуулах хоолойг шаарддаггүй. tar FreeBSD 5.3 болон түүнээс хойшх хувилбарт GNU tar болон анхдагч bsdtar тушаалууд байдаг. GNU хувилбарыг gtar гэж ажиллуулж болдог. Энэ нь rdump-тай адил дүрмийг ашиглаж алсын төхөөрөмжүүдийг дэмждэг. komodo гэж нэрлэгдсэн Sun уруу холбогдсон Exabyte соронзон хальсны хөтөч уруу tar хийхдээ дараах тушаалыг ашиглана: &prompt.root; /usr/bin/gtar cf komodo:/dev/nsa8 . 2>&1 Алсын соронзон хальсны хөтөч уруу өгөгдлийг илгээхдээ rsh болон дамжуулах хоолой ашиглан bsdtar тушаалаар үүнийг бас хийж болно. &prompt.root; tar cf - . | rsh hostname dd of=tape-device obs=20b Хэрэв та сүлжээгээр нөөцлөхийн аюулгүй байдалд санаа зовж байгаа бол rsh-ийн оронд ssh тушаалыг ашиглах хэрэгтэй. <command>cpio</command> нөөцлөх програм хангамж cpio &man.cpio.1; нь соронзон зөөвөрлөгчид зориулагдсан &unix;-ийн анхны файл солилцох соронзон хальсны програм юм. cpio нь (бусад олон тохируулгуудын дотроос) байт солилцохыг хийх, хэд хэдэн төрлийн архивын хэлбэршүүлэлтүүдийг бичих болон өгөгдлийг өөр програм уруу хоолойгоор гаргах зэрэг тохируулгуудтай байдаг. Сүүлийн боломж нь cpio-г суулгацын зөөвөрлөгчийн хувьд сайн сонголт болгодог. cpio нь сангийн модоор хэрхэн явахаа мэддэггүй бөгөөд файлуудын жагсаалтыг stdin-ээс хангаж өгөх ёстой. cpio cpio нь сүлжээгээр нөөцлөхийг дэмждэггүй. Та дамжуулах хоолой болон rsh-ийг ашиглаж өгөгдлийг алсын соронзон хальсны хөтөч уруу илгээж болно. &prompt.root; for f in directory_list; do find $f >> backup.list done &prompt.root; cpio -v -o --format=newc < backup.list | ssh user@host "cat > backup_device" directory_list нь таны нөөцлөхийг хүссэн сангуудын жагсаалт бол user@host нь нөөцлөлтийг хийж байгаа хэрэглэгч/хостын нэрийн хослол бөгөөд backup_device нь нөөцлөлт хийгдэх төхөөрөмж (өөрөөр хэлбэл /dev/nsa0) юм. <command>pax</command> нөөцлөх програм хангамж pax pax POSIX IEEE &man.pax.1; нь tar болон cpio тушаалын IEEE/&posix;-ийн хариулт юм. Жил ирэх тутам tar болон cpio тушаалуудын төрөл бүрийн хувилбарууд нь хоорондоо мэдэгдэхүйц нийцгүй болж ирсэн юм. Тэдгээртэй тэмцэж бүр мөсөн стандартчилахын оронд &posix; нь архивын шинэ хэрэгсэл үүсгэсэн юм. pax нь өөрийн шинэ хэлбэршүүлэлтээс гадна cpio болон tar тушаалуудын төрөл бүрийн хэлбэршүүлэлтийн ихэнхийг уншиж бичихийг оролддог. Энэ тушаалын олонлог нь tar тушаалынхтай биш харин cpio тушаалынхтай илүү төстэй байдаг. <application>Amanda</application> нөөцлөх програм хангамж Amanda Amanda Amanda (Advanced Maryland Network Disk Archiver) нь нэг програм биш клиент/сервер програм юм. Amanda сервер нь ганц соронзон хальсны хөтөч уруу Amanda клиенттэй, Amanda сервер уруу сүлжээгээр холбогдсон дурын тооны компьютерийг нөөцлөх болно. Хэд хэдэн том дискнүүд бүхий сайтууд дээр байдаг нийтлэг асуудлууд нь өгөгдлийг соронзон хальс уруу нөөцлөхөд шаардагдах хугацаа нь уг үйлдлийн хувьд зориулагдсан хугацаанаас илүү гарах явдал юм. Amanda нь энэ асуудлыг шийддэг. Amanda нь хэд хэдэн файлын системүүдийг нэг зэрэг нөөцлөхдөө holding disk буюу хүлээгдэх дискийг ашигладаг. Amanda нь архивын олонлогууд буюу Amanda-ийн тохиргооны файлд жагсаагдсан бүх файлын системүүдийн бүрэн нөөцлөлтүүдийг үүсгэхэд хэсэг хугацаанд хэрэглэгдсэн бүлэг соронзон хальснуудыг үүсгэдэг. Архивын олонлогууд нь бас файлын системүүдийн шөнө болгоны нэмэгдсэн (эсвэл ялгаатай) нөөцлөлтүүдийг агуулдаг. Эвдэрсэн файлын системийг сэргээх нь хамгийн сүүлийн бүрэн нөөцлөлт болон нэмэгдсэн нөөцлөлтүүдийг шаарддаг. Тохиргооны файл нь нөөцлөлтүүд болон Amanda-ийн үүсгэдэг сүлжээний урсгалыг нарийн хянах боломжийг хангадаг. Amanda нь өгөгдлийг соронзон хальс уруу бичихийн тулд дээр дурдсан нөөцлөлтийн програмуудыг ашиглана. Amanda нь порт эсвэл багц хэлбэрээр байдаг бөгөөд анхдагчаар суулгагдаагүй байдаг. Юу ч хийхгүй байх Юу ч хийхгүй байх нь компьютерийн програм биш боловч энэ нь хамгийн их ашиглагддаг нөөцлөлтийн стратеги юм. Ямар ч эхний зардал байхгүй. Мөрдөх нөөцлөлтийн төлөвлөгөө байхгүй. Зүгээр л үгүй гэх хэрэгтэй. Хэрэв таны өгөгдөлд ямар нэг асуудал тохиолдвол шүд зуугаад л тэвчих хэрэгтэй! Хэрэв таны цаг болон өгөгдөл нь тийм ч чухал биш эсвэл юу ч биш бол Do nothing буюу юу ч хийхгүй байх нь таны компьютерийн хувьд хамгийн тохиромжтой нөөцлөлтийн програм болох юм. Гэхдээ &unix; нь ашигтай хэрэгсэл юм, та зургаан сарын дотор үнэтэй файлуудын цуглуулгатай болж үүнийг мэдрэх болно. Юу ч хийхгүй байх нь /usr/obj болон таны компьютераар яг үүсгэгдэж болох бусад сангийн моднуудын хувьд зөв нөөцлөх арга болдог. Үүний жишээ нь энэ гарын авлагын HTML эсвэл &postscript;-с тогтох хувилбарын файлууд байж болох юм. Эдгээр баримтын хэлбэршүүлэлтүүд нь SGML оролтын файлуудаас үүсгэгддэг. HTML эсвэл &postscript; файлуудын нөөцлөлтийг үүсгэх нь шаардлагагүй юм. SGML файлууд нь байнга нөөцлөгддөг. Аль нөөцлөлтийн програм хамгийн шилдэг нь вэ? LISA &man.dump.8; Үе. Элизабет Д. Звики энд дурдагдсан бүх нөөцлөлтийн програмуудыг зовоосон тест хийсэн. Өөрийн бүх өгөгдөл болон &unix; файлын системүүдийн онцлогуудыг хадгалах цэвэр сонголт бол dump болсон байна. Элизабет маш их төрөл бүрийн ховор нөхцөлүүдийг (зарим нь тийм ч ховор биш) агуулсан файлын системүүдийг үүсгэж тэдгээр файлын системүүдийг нөөцлөн дараа нь сэргээж програм бүрийг тест хийсэн байна. Онцгой зүйлүүдэд цоорхойтой файлууд, хоосон блоктой болон цоорхойтой файлууд, сонин тэмдэгт бүхий нэрээс тогтсон файлууд, бичигдэх боломжгүй уншигдах боломжгүй файлууд, төхөөрөмжүүд, нөөцлөлтийн үед хэмжээгээ өөрчлөх файлууд, нөөцлөлтийн үед үүсгэгдэж/устгагдсан файлууд зэргийг дурдаж болох юм. Тэрээр үр дүнгээ 1991 оны 10 сард LISA дээр үзүүлсэн байна. Нөөцлөлт болон Архивын програмуудыг зовоох тест холбоосыг үзнэ үү. Яаралтай сэргээх процедур Гамшгийн өмнө Учирч болзошгүй гамшигт бэлтгэхийн тулд таны хийх ёстой дөрвөн үе шат байдаг. bsdlabel Эхлээд өөрийн диск бүрийн bsdlabel (өөрөөр хэлбэл bsdlabel da0 | lpr), өөрийн файлын системийн хүснэгт (/etc/fstab) болон бүх ачаалалтын мэдэгдлүүдийг тус бүр хоёр хувь хэвлэх хэрэгтэй. fix-it уян дискнүүд Дараа нь ачаалах болон уян дискнүүд (boot.flp болон fixit.flp) таны бүх төхөөрөмжүүдийг агуулсан эсэхийг тодорхойлно. Хамгийн хялбараар шалгах арга нь уян дискний хөтөчдөө ачаалах уян дискийг хийж дахин ачаалж ачаалалтын мэдэгдлүүдийг шалгах явдал юм. Хэрэв таны бүх төхөөрөмжүүд байгаад ажиллаж байвал гуравдугаар алхам уруу алгасаарай. Эсрэг тохиолдолд та өөрийн бүх дискийг холбож таны соронзон хальсны хөтчид хандаж чадах цөм бүхий тусгайлсан хоёр ачаалагдах уян диск бэлдэх хэрэгтэй. Эдгээр уян дискнүүд нь fdisk, bsdlabel, newfs, mount болон таны ашигладаг програмуудыг агуулсан байх ёстой. Эдгээр програмууд нь статикаар холбогдсон байх ёстой. Хэрэв та dump-г ашигласан бол уян диск нь restore-г агуулсан байх ёстой. Гуравдугаарт нөөц соронзон хальснуудыг байнга үүсгэж байх хэрэгтэй. Таны сүүлийн нөөцлөлтөөс хойш хийгдсэн өөрчлөлтүүд буцааж авагдах боломжгүйгээр алга болж болох юм. Нөөц соронзон хальснууд уруу хийж болзошгүй бичилтийг хамгаалах хэрэгтэй. Дөрөвдүгээрт уян дискнүүд (boot.flp болон fixit.flp аль эсвэл хоёрдугаар үе дээр таны хийсэн тусгайлсан хоёр ачаалагдах уян дискнүүд.) болон нөөц соронзон хальснуудыг тест хийнэ. Процедурынхаа талаар тэмдэглэгээ хийх хэрэгтэй. Эдгээр тэмдэглэгээнүүдээ ачаалагдах уян дискнүүд, хэвлэсэн зүйл болон нөөц соронзон хальснуудтайгаа цуг хадгалах хэрэгтэй. Сэргээж байх үед таны анхаарал их сарнисан байж болох бөгөөд тэдгээр тэмдэглэгээнүүд чинь таныг өөрийн нөөц соронзон хальснуудаа устгахаас сэргийлэх болно (Яаж? tar xvf /dev/sa0 тушаалын оронд та санамсаргүйгээр tar cvf /dev/sa0 гэж бичээд өөрийн нөөц соронзон хальсыг дарж бичиж болох юм). Аюулгүй байдлын нэмэгдэл арга хэмжээ болгож тухайг бүрт нь ачаалагдах уян дискнүүд болон нөөц соронзон хальс хоёрыг бэлдэж байх хэрэгтэй. Тус бүрийг нь тусад нь алсад өөр газар хадгалах хэрэгтэй. Тэр өөр газар нь яг тэр оффисийн байрны подвал байх ЁСГҮЙ. Дэлхийн Худалдааны Төвийн хэд хэдэн фирм үүнийг хэцүү замаар мэдэрсэн юм. Тэр өөр газар нь таны компьютерууд болон дискний хөтчүүдээс тусгаарлагдсан физикийн хувьд нэлээд зайтай газар байх ёстой. Ачаалагдах уян диск үүсгэх скрипт /mnt/sbin/init gzip -c -best /sbin/fsck > /mnt/sbin/fsck gzip -c -best /sbin/mount > /mnt/sbin/mount gzip -c -best /sbin/halt > /mnt/sbin/halt gzip -c -best /sbin/restore > /mnt/sbin/restore gzip -c -best /bin/sh > /mnt/bin/sh gzip -c -best /bin/sync > /mnt/bin/sync cp /root/.profile /mnt/root cp -f /dev/MAKEDEV /mnt/dev chmod 755 /mnt/dev/MAKEDEV chmod 500 /mnt/sbin/init chmod 555 /mnt/sbin/fsck /mnt/sbin/mount /mnt/sbin/halt chmod 555 /mnt/bin/sh /mnt/bin/sync chmod 6555 /mnt/sbin/restore # # create the devices nodes # cd /mnt/dev ./MAKEDEV std ./MAKEDEV da0 ./MAKEDEV da1 ./MAKEDEV da2 ./MAKEDEV sa0 ./MAKEDEV pty0 cd / # # create minimum file system table # cat > /mnt/etc/fstab < /mnt/etc/passwd < /mnt/etc/master.passwd < Гамшгийн дараа Түлхүүр асуулт бол: таны тоног төхөөрөмж амьд гарч чадсан уу? Байнгын нөөцлөлт хийж байсан болохоор програм хангамжийн талаар та санаа зовох хэрэггүй юм. Хэрэв тоног төхөөрөмж эвдэрсэн бол компьютерийг ашиглахаасаа өмнө эвдэрсэн хэсгүүдийг солих шаардлагатай. Хэрэв таны тоног төхөөрөмж зүгээр байгаа бол уян дискнүүдээ шалгаарай. Хэрэв та тусгайлан өөрчилсөн ачаалах уян диск ашиглаж байгаа бол ганц хэрэглэгчийн горим уруу ачаалах хэрэгтэй (boot: хүлээх мөрөн дээр -s гэж бичнэ). Дараагийн хэсгийг алгасаарай. Хэрэв та boot.flp болон fixit.flp уян дискнүүдийг ашиглаж байгаа бол цааш нь уншаарай. boot.flp уян дискээ эхний уян дискний хөтөчдөө хийгээд компьютераа ачаалах хэрэгтэй. Эхний суулгах цэс дэлгэц дээр гарах болно. Fixit--Repair mode with CDROM or floppy. тохируулгыг сонгоно. fixit.flp-г асуухад нь хийнэ. Танд хэрэгтэй restore болон бусад програмууд /mnt2/rescue санд байрлана (5.2 хувилбараас хуучин &os;-ийн хувьд /mnt2/stand). Файлын систем бүрийг тус тусад нь сэргээнэ. mount root хуваалт bsdlabel newfs Өөрийн эхний дискний root хуваалтыг mount (өөрөөр хэлбэл mount /dev/da0a /mnt) хийхийг оролдоорой. Хэрэв bsdlabel эвдэрсэн бол bsdlabel тушаалыг ашиглан дискийг дахин хувааж таны хэвлэж хадгалсан шошготой адил тааруулж хаяглах хэрэгтэй. newfs тушаал ашиглан файлын системүүдийг дахин үүсгэнэ. Уян дискний root хуваалтыг унших-бичихээр дахин холбох хэрэгтэй (mount -u -o rw /mnt). Энэ файлын системийн хувьд өгөгдлийг сэргээхийн тулд өөрийн нөөцлөх програм болон соронзон хальснуудыг ашиглана (өөрөөр хэлбэл restore vrf /dev/sa0). Файлын системийг салгана (өөрөөр хэлбэл umount /mnt). Эвдэрсэн файлын систем бүрийн хувьд давтана. Таны систем ажилласны дараа өөрийн өгөгдлийг шинэ соронзон хальс уруу нөөцлөх хэрэгтэй. Сүйрэл эсвэл өгөгдлийн алдагдалд хүргэсэн тэр явдал дахин болж болох юм. Одоо зарцуулсан нэг цаг таныг зовлонд учрахаас хожим аварч болох юм. * I Did Not Prepare for the Disaster, What Now? ]]> Марк Фонвил Дахин зохион байгуулж өргөжүүлсэн Сүлжээ, санах ой болон файл дээр тулгуурласан файлын системүүд виртуал дискнүүд дискнүүд виртуал Өөрийн компьютер уруу физикээр хийж болдог уян диск, CD-үүд, хатуу хөтчүүд гэх зэрэг дискнүүдээс гадна бусад хэлбэрийн дискнүүд буюу виртуал дискнүүдийг FreeBSD ойлгодог. NFS Coda дискнүүд санах ой Эдгээрт Network File System буюу сүлжээний файлын систем болон Coda зэрэг сүлжээний файлын системүүд, санах ой дээр тулгуурласан файлын системүүд болон файл дээр тулгуурласан файлын системүүд орно. FreeBSD-ийн ямар хувилбарыг ажиллуулж байгаагаас хамаарч та файл дээр болон санах ой дээр тулгуурласан файлын системүүдийг үүсгэж ашиглахдаа өөр өөр хэрэгслүүдийг хэрэглэх шаардлагатай болно. Хэрэглэгчийн хувьд мэдэгдэлгүйгээр төхөөрөмжийн цэгүүдийг хуваарилахын тулд &man.devfs.5;-г ашиглана. Файл дээр тулгуурласан файлын систем дискнүүд файл дээр тулгуурласан &man.mdconfig.8; хэрэгсэл нь FreeBSD дээр санах ой дээр тулгуурласан дискнүүд, &man.md.4;-г тохируулж идэвхжүүлэхэд хэрэглэгддэг. &man.mdconfig.8;-г ашиглахын тулд та &man.md.4; модулийг ачаалах хэрэгтэй, эсвэл өөрийн цөмийн тохиргооны файлдаа дэмжлэгийг нэмэх хэрэгтэй болно: device md &man.mdconfig.8; тушаал нь гурван төрлийн санах ой дээр тулгуурласан виртуал дискийг дэмждэг: эдгээр нь &man.malloc.9;-р хуваарилагдсан санах ойн дискнүүд, файл эсвэл swap зай ашигласан санах ойн дискнүүд юм. Нэг боломжтой хэрэглээ нь файлд хадгалагдсан уян эсвэл CD дүрсийг холбох явдал юм. Байгаа файлын системийн дүрсийг холбохдоо: <command>mdconfig</command> ашиглан байгаа файлын системийн дүрсийг холбох нь &prompt.root; mdconfig -a -t vnode -f diskimage -u 0 &prompt.root; mount /dev/md0 /mnt &man.mdconfig.8; ашиглан шинэ файлын системийн дүрсийг үүсгэхдээ: <command>mdconfig</command> тушаал ашиглан шинэ файл дээр тулгуурласан диск үүсгэх нь &prompt.root; dd if=/dev/zero of=newimage bs=1k count=5k 5120+0 records in 5120+0 records out &prompt.root; mdconfig -a -t vnode -f newimage -u 0 &prompt.root; bsdlabel -w md0 auto &prompt.root; newfs md0a /dev/md0a: 5.0MB (10224 sectors) block size 16384, fragment size 2048 using 4 cylinder groups of 1.25MB, 80 blks, 192 inodes. super-block backups (for fsck -b #) at: 160, 2720, 5280, 7840 &prompt.root; mount /dev/md0a /mnt &prompt.root; df /mnt Filesystem 1K-blocks Used Avail Capacity Mounted on /dev/md0a 4710 4 4330 0% /mnt Хэрэв та тохируулгаар нэгжийн дугаарыг зааж өгөхгүй юм бол &man.mdconfig.8; нь хэрэглэгдээгүй төхөөрөмжийг сонгохын тулд &man.md.4; автомат хуваарилалтыг ашиглах болно. Хуваарилагдсан нэгжийн нэр нь stdout уруу md4 мэтээр гарах болно. &man.mdconfig.8;-ийн тухай дэлгэрэнгүй мэдээллийг гарын авлагын хуудаснаас лавлана уу. &man.mdconfig.8; хэрэгсэл нь их ашигтай, гэхдээ энэ нь файл дээр тулгуурласан файлын систем үүсгэхийн тулд олон тушаалын мөрийг асуудаг. FreeBSD нь бас &man.mdmfs.8; гэж нэрлэгддэг хэрэгсэлтэй ирдэг, энэ програм нь &man.md.4;-г &man.mdconfig.8; тушаал ашиглан тохируулж &man.newfs.8; ашиглан UFS файлын систем түүн дээр тавьж &man.mount.8; ашиглан түүнийг холбодог. Жишээ нь хэрэв та дээрхтэй ижил файлын системийн дүрсийг үүсгэж холбохыг хүсвэл ердөө л дараах тушаалыг бичээрэй: <command>mdmfs</command> тушаал ашиглан файл дээр тулгуурласан дискийг тохируулж холбох нь &prompt.root; dd if=/dev/zero of=newimage bs=1k count=5k 5120+0 records in 5120+0 records out &prompt.root; mdmfs -F newimage -s 5m md0 /mnt &prompt.root; df /mnt Filesystem 1K-blocks Used Avail Capacity Mounted on /dev/md0 4718 4 4338 0% /mnt Хэрэв та тохируулгыг нэгжийн дугааргүй ашиглавал &man.mdmfs.8; нь ашиглагдаагүй төхөөрөмжийг автоматаар сонгохдоо &man.md.4; авто-нэгж боломжийг ашиглах болно. &man.mdmfs.8;-ийн тухай дэлгэрэнгүй мэдээллийг гарын авлагын хуудаснаас лавлана уу. Санах ой дээр тулгуурласан файлын систем дискнүүд санах ойн файлын систем Санах ой дээр тулгуурласан файлын системийн хувьд swap backing буюу swap дээрх тулгуурлалтыг ихэнхдээ ашиглах хэрэгтэй. swap дээрх тулгуурлалтыг ашиглах нь санах ойн диск нь анхдагчаар диск уруу swap хийгдэнэ гэсэн үг биш бөгөөд харин ердөө л санах ойн диск нь санах ойн цөөрмөөс хуваарилагдаж хэрэв хэрэгцээтэй бол диск уруу swap хийгдэж болно гэсэн үг юм. Мөн &man.malloc.9; дээр тулгуурласан санах ойн дискийг үүсгэх боломжтой байдаг. Гэхдээ malloc дээр тулгуурласан санах ойн дискнүүдийг, ялангуяа том хэмжээтэйг нь ашиглах нь цөм санах ойгүй болох тохиолдолд системийг сүйрэлд хүргэж болох юм. <command>mdconfig</command> тушаал ашиглан шинэ санах ой дээр тулгуурласан диск үүсгэх нь &prompt.root; mdconfig -a -t swap -s 5m -u 1 &prompt.root; newfs -U md1 /dev/md1: 5.0MB (10240 sectors) block size 16384, fragment size 2048 using 4 cylinder groups of 1.27MB, 81 blks, 192 inodes. with soft updates super-block backups (for fsck -b #) at: 160, 2752, 5344, 7936 &prompt.root; mount /dev/md1 /mnt &prompt.root; df /mnt Filesystem 1K-blocks Used Avail Capacity Mounted on /dev/md1 4718 4 4338 0% /mnt <command>mdmfs</command> тушаал ашиглан шинэ санах ой дээр тулгуурласан диск үүсгэх нь &prompt.root; mdmfs -s 5m md2 /mnt &prompt.root; df /mnt Filesystem 1K-blocks Used Avail Capacity Mounted on /dev/md2 4846 2 4458 0% /mnt Системээс санах ойн дискийг салгах нь дискнүүд санах ойн дискийг салгах нь Санах ой дээр тулгуурласан эсвэл файл дээр тулгуурласан файлын систем ашиглагдахгүй байгаа бол та бүх эх үүсвэрүүдийг системд суллаж өгөх шаардлагатай. Эхний хийх ёстой зүйл нь файлын системийг салгаад дараа нь &man.mdconfig.8; ашиглан дискийг системээс салгаж эх үүсвэрүүдийг суллана. Жишээ нь /dev/md4-г салгаж түүний хэрэглэсэн бүх эх үүсвэрүүдийг чөлөөлөхийн тулд дараах тушаалыг ажиллуулна: &prompt.root; mdconfig -d -u 4 Тохиргоо хийгдсэн &man.md.4; төхөөрөмжүүдийн тухай мэдээллийг mdconfig -l тушаал ашиглан жагсааж болно. Том Рөүдс Хувь нэмэр болгон оруулсан Файлын системийн хормын хувилбарууд файлын системүүд хормын хувилбарууд FreeBSD нь Soft Updates буюу зөөлөн шинэчлэлтүүдийн хамт Файлын системийн хормын хувилбарууд боломжийг санал болгодог. Хормын хувилбарууд нь заасан файлын системүүдийн дүрсийг үүсгэж тэдгээртэй файлтай ханддаг шиг хандах боломжийг хэрэглэгчид зөвшөөрдөг. Хормын хувилбарын файлууд нь үйлдэл хийгдсэн файлын систем дээр үүсгэгдэх ёстой бөгөөд нэг файлын системийн хувьд 20-с ихгүй хормын хувилбаруудыг хэрэглэгч үүсгэж болно. Идэвхтэй хормын хувилбарууд нь супер блокт бичигддэг бөгөөд ингэснээр тэдгээр нь системийн дахин ачаалалтуудын үед салгах болон дахин холбох явцад тэсвэртэй байдаг. Хормын хувилбар нь хэрэггүй болсон үед энэ нь стандарт &man.rm.1; тушаалаар устгагдаж болно. Хормын хувилбарууд нь ямар ч дарааллаар устгагдаж болох бөгөөд гэхдээ ашиглагдсан бүх зайг дахин олж авахгүй байж болох юм. Учир нь өөр нэг хормын хувилбар чөлөөлөгдсөн блокуудын заримыг шаардаж болзошгүй юм. Өөрчлөгдөхгүй файл тохируулга нь хормын хувилбарыг эхлээд үүсгэсний дараа &man.mksnap.ffs.8; тушаалаар заагддаг. &man.unlink.1; тушаал нь хормын хувилбарын файлуудын хувьд орхидог бөгөөд учир нь энэ нь тэдгээрийг устгахыг зөвшөөрдөг байна. Хормын хувилбарууд нь &man.mount.8; тушаалаар үүсгэгддэг. /var-ийн хормын хувилбарыг /var/snapshot/snap файлд байрлуулахын тулд дараах тушаалыг ашиглана: &prompt.root; mount -u -o snapshot /var/snapshot/snap /var Өөрөөр та хормын хувилбар үүсгэхийн тулд &man.mksnap.ffs.8;-г ашиглаж болно: &prompt.root; mksnap_ffs /var /var/snapshot/snap Файлын систем (өөрөөр хэлбэл /var) дээр хормын хувилбарын файлуудыг &man.find.1; тушаал ашиглан олж болно: &prompt.root; find /var -flags snapshot Хормын хувилбар үүсгэгдсэний дараа энэ нь хэд хэдэн хэрэглээтэй байдаг: Зарим администраторууд хормын хувилбарын файлыг нөөцийн зорилгоор ашигладаг, учир нь хормын хувилбар нь CD-үүд эсвэл соронзон хальс уруу дамжуулагдаж болдог. Файлын системийн бүрэн бүтэн байдлыг шалгадаг &man.fsck.8; нь хормын хувилбар дээр ажиллаж болдог. Файлын систем нь холбогдсон үедээ цэвэр байсан гэж үзвэл та үргэлж цэвэр (өөрчлөгдөөгүй) үр дүнг авах болно. Үүнийг гол нь арын &man.fsck.8; процесс хийдэг. &man.dump.8; хэрэгслийг хормын хувилбар дээр ажиллуулдаг. Хормын хувилбарын файлын систем болон цагтай нэг янз хуулбар хийгддэг. &man.dump.8; нь бас хормын хувилбарыг авч нөөц дүрсийг үүсгэж чаддаг бөгөөд дараа нь хормын хувилбарыг нэг тушаалаар тугийг ашиглан устгаж чаддаг. Хормын хувилбарыг файлын системийн хөлдөөгдсөн дүрс маягаар &man.mount.8; хийдэг. /var/snapshot/snap хормын хувилбарыг &man.mount.8; хийхийн тулд доор дурдсаныг ажиллуулна: &prompt.root; mdconfig -a -t vnode -f /var/snapshot/snap -u 4 &prompt.root; mount -r /dev/md4 /mnt Та одоо /mnt-д холбогдсон өөрийн хөлдөөгдсөн /var файлын системийн шатлалаар аялж болно. Хормын хувилбар үүсгэх үе дэх төлвийн адил төлөвт бүгд эхлээд байна. Цорын ганц өөр зүйл нь өмнөх хормын хувилбарууд нь тэг урттай файлууд маягаар гарч ирэх болно. Хормын хувилбарын хэрэглээг хязгаарлах үед үүнийг дараах тушаалыг ажиллуулан салгаж болно: &prompt.root; umount /mnt &prompt.root; mdconfig -d -u 4 буюу зөөлөн шинэчлэлтүүд болон файлын системийн хормын хувилбаруудын талаар дэлгэрэнгүй мэдээллийг техникийн баримтуудыг оролцуулаад та Маршал Кирк МкКюзикийн вэб хуудас уруу зочлон орж үзэж болно. Файлын системийн ноогдлууд бүртгэл хийх дискний зай дискний ноогдлууд Quota буюу ноогдол нь хэрэглэгч эсвэл бүлгийн гишүүдийн хувьд дискний зай ба/эсвэл файлуудын тоог файлын систем тус бүрийн хувьд хуваарилж хязгаарлах боломжийг бүрдүүлэх үйлдлийн системийн нэг нэмэлт боломж юм. Энэ нь дурын нэг хэрэглэгч эсвэл бүлэг хэрэглэгчдийн хуваарилж болох эх үүсвэрүүдийг хязгаарлах шаардлагатай цаг хуваалцах систем дээр ихэвчлэн хэрэглэгддэг. Энэ нь нэг хэрэглэгч эсвэл бүлэг хэрэглэгчид бүх байгаа дискний зайг хэрэглэхээс хамгаалдаг юм. Дискний ноогдлуудыг идэвхтэй болгохын тулд өөрийн системийг тохируулах нь Дискний ноогдлыг ашиглаж эхлэхээсээ өмнө ноогдлууд нь цөмд тохируулагдсан эсэхийг шалгах шаардлагатай. Дараах мөрийг өөрийн цөмийн тохиргооны файлд нэмж үүнийг хийнэ: options QUOTA Анхны GENERIC цөм нь үүнийг анхнаасаа идэвхжүүлээгүй байдаг болохоор та дискний ноогдлуудыг ашиглахын тулд тусгайлсан цөмийг тохируулж бүтээн суулгах хэрэгтэй болох юм. Цөмийн тохиргооны талаар дэлгэрэнгүй мэдээллийг -с лавлана уу. Дараа нь та дискний ноогдлуудыг /etc/rc.conf файлд идэвхжүүлэх хэрэгтэй. Дараах мөрийг нэмж үүнийг хийнэ: enable_quotas="YES" дискний ноогдлууд шалгах нь Өөрийн ноогдлын эхлүүлэлтэд сайн хяналт тавихад хэрэгтэй нэмэлт тохиргооны хувьсагчууд байдаг. Ердийн үед ачаалалтын үеэр файлын систем бүрийн ноогдлын бүрэн бүтэн байдал &man.quotacheck.8; програмаар шалгагддаг. &man.quotacheck.8; боломж нь ноогдлын мэдээллийн бааз дахь өгөгдөл файлын систем дээрх өгөгдлийг зөв тусгаж байгаа эсэхийг шалгаж байдаг. Энэ нь хугацаа их шаардсан процесс бөгөөд таны систем ачаалах хугацаанд мэдэгдэхүйц нөлөөлдөг. Хэрэв та энэ алхмыг алгасахыг хүсвэл энэ зорилгоор хувьсагчийг /etc/rc.conf файлд тохируулах хэрэгтэй: check_quotas="NO" Төгсгөлд нь та файлын систем бүрийн хувьд дискний ноогдлуудыг идэвхжүүлэхийн тулд /etc/fstab файлыг засварлах хэрэгтэй. Энд та хэрэглэгч эсвэл бүлгийн ноогдлууд эсвэп хоёуланг нь өөрийн бүх файлын системийн хувьд идэвхжүүлэх боломжтой юм. Файлын систем дээр хэрэглэгч бүрийн хувьд ноогдлуудыг идэвхжүүлэхийн тулд өөрийн ноогдлууд идэвхжүүлэхийг хүсэж байгаа файлын системийн хувьд /etc/fstab файлын харгалзах оруулгын options буюу тохируулгыг заах талбарт тохируулгыг нэмж өгөх хэрэгтэй. Жишээ нь: /dev/da1s2g /home ufs rw,userquota 1 2 Үүнтэй төстэйгээр бүлгийн ноогдлуудыг идэвхжүүлэхийн тулд тохируулгын оронд тохируулгыг ашиглах хэрэгтэй. Хэрэглэгч болон бүлгийн ноогдлуудыг хоёуланг нь идэвхжүүлэхийн тулд оруулгыг ингэж өөрчилнө: /dev/da1s2g /home ufs rw,userquota,groupquota 1 2 Анхдагчаар ноогдлын файлууд файлын системийн root санд хэрэглэгчийн ноогдлын хувьд quota.user, бүлгийн ноогдлын хувьд quota.group нэрээр хадгалагддаг. Дэлгэрэнгүй мэдээллийг &man.fstab.5;-с үзнэ үү. &man.fstab.5; гарын авлагын хуудас ноогдлын файлуудын хувьд өөр байрлалыг зааж өгч болохыг хэлдэг боловч ноогдлын төрөл бүрийн хэрэгслүүд үүнтэй зөв ажиллаж чаддаггүй болохоор ингэхийг зөвлөдөггүй юм. Энэ үед хүрээд та өөрийн системийг шинэ цөмтэй дахин ачаалах хэрэгтэй. /etc/rc нь таны /etc/fstab файлд идэвхжүүлсэн бүх ноогдлуудын хувьд эхний ноогдлын файлуудыг үүсгэдэг тохирох тушаалуудыг автоматаар ажиллуулах бөгөөд ингэснээр ямар ч тэг урттай ноогдлын файлуудыг гараар үүсгэх шаардлагагүй юм. Ердийн үйлдлүүдийн үед &man.quotacheck.8;, &man.quotaon.8;, эсвэл &man.quotaoff.8; тушаалуудыг та заавал ажиллуулах ёсгүй юм. Гэхдээ тэдгээрийн хийдэг үйлдлүүдтэй танилцахын тулд тэдгээрийн гарын авлагын хуудаснуудыг уншихыг хүсэж болох юм. Ноогдлын хязгаарлалтуудыг тохируулах нь дискний ноогдлууд хязгаарлалтууд Та ноогдлыг идэвхжүүлж өөрийн системийг тохируулсны дараа тэдгээр нь яг жинхэнэдээ идэвхтэй болсон эсэхийг шалгаарай. Үүнийг хийх хялбар арга нь дараах тушаалыг ажиллуулах явдал юм: &prompt.root; quota -v Та ноогдлууд идэвхжүүлэгдсэн файлын систем бүрийн хувьд дискний хэрэглээ болон тухайн үеийн ноогдлын хязгаарлалтуудын ерөнхий нэг мөр үр дүнг харах ёстой. Та одоо &man.edquota.8; тушаал ашиглан ноогдлын хязгаарлалтуудыг зааж өгч эхлэхэд бэлэн боллоо. Хэрэглэгч эсвэл бүлгийн хуваарилж болох дискний зай болон тэд хичнээн файл үүсгэж болох хэмжээний хязгаарлалтуудыг хүчлэн зааж өгч болох хэд хэдэн сонголт танд байдаг. Та хуваарилалтыг дискний зай (блок ноогдлууд) эсвэл файлын тоо (inode ноогдлууд) эсвэл хоёулангийн хослолоор хязгаарлан өгч болно. Эдгээр хязгаарлалт бүр дараа нь хоёр зэрэглэлт хуваагддаг: энэ нь хатуу ба зөөлөн хязгаарлалтууд юм. хатуу хязгаарлалт Хатуу хязгаарлалтаас илүү гарч болохгүй. Хэрэглэгч өөрийн хатуу хязгаарлалтад хүрэхэд асуудалтай байгаа файлын систем дээр хэрэглэгч ямар ч хуваарилалт хийж чадахгүй болно. Жишээ нь хэрэв хэрэглэгч файлын систем дээр 500 кбайт хатуу хязгаарлалттай бөгөөд 490 кбайтыг одоогоор ашиглаж байгаа бол хэрэглэгч зөвхөн 10 кбайтыг нэмж хуваарилж чадна. 11 кбайт нэмж хуваарилахыг оролдох нь амжилтгүй болох болно. зөөлөн хязгаарлалт Нөгөө талаас зөөлөн хязгаарлалтууд нь тодорхой хугацааны туршид илүү гарч болно. Энэ хугацааг энэрэнгүй хугацаа гэдэг бөгөөд анхдагчаар нэг долоо хоног байдаг. Хэрэв хэрэглэгч өөрийн зөөлөн хязгаарлалтаас илүү гарсан хэвээр энэрэнгүй хугацааг өнгөрөх юм бол зөөлөн хязгаарлалт нь хатуу хязгаарлалт болж дахин хуваарилалтыг зөвшөөрдөггүй. Хэрэглэгч зөөлөн хязгаарлалтаас доош орвол энэрэнгүй хугацаа дахин тавигдах болно. Дараах нь &man.edquota.8; тушаалыг ажиллуулах үед таны харж болох гаралтын жишээ юм. &man.edquota.8; тушаалыг ажиллуулахад EDITOR орчны хувьсагчид заагдсан засварлагч уруу эсвэл EDITOR хувьсагч заагдаагүй бол vi засварлагч уруу таныг оруулах бөгөөд энэ нь ноогдлын хязгаарлалтуудыг засварлах боломжийг танд олгоно. &prompt.root; edquota -u test Quotas for user test: /usr: kbytes in use: 65, limits (soft = 50, hard = 75) inodes in use: 7, limits (soft = 50, hard = 60) /usr/var: kbytes in use: 0, limits (soft = 50, hard = 75) inodes in use: 0, limits (soft = 50, hard = 60) Та ноогдлууд идэвхжүүлэгдсэн файлын систем бүрийн хувьд хоёр мөрийг ердийн үед харах болно. Нэг мөр нь блокийн хязгаарлалтад, нөгөө мөр нь inode хязгаарлалтад зориулагддаг. Ноогдлын хязгаарлалтуудыг өөрчлөхийн тулд та ердөө л утгыг шинэчлэхийг хүсэж байгаа утгаараа солих хэрэгтэй. Жишээ нь энэ хэрэглэгчийн блок хязгаарлалтыг зөөлөн хязгаарлалт 50, хатуу хязгаарлалт 75 байсныг зөөлөн хязгаарлалт 500 болон хатуу хязгаарлалт 600 болгон өсгөхийн тулд дараах: /usr: kbytes in use: 65, limits (soft = 50, hard = 75) мөрийг доорх шиг болгож өөрчлөх хэрэгтэй: /usr: kbytes in use: 65, limits (soft = 500, hard = 600) Таныг засварлагчаас гарсны дараа шинэ ноогдлын хязгаарлалтууд байрандаа орох болно. Заримдаа ноогдлын хязгаарлалтуудыг зарим UID-ийн хүрээний хувьд зааж өгөх шаардлага гардаг. Үүнийг &man.edquota.8; тушаалд тохируулгыг ашиглан хийдэг. Эхлээд хэрэглэгчид хүссэн ноогдлын хязгаарлалтаа зааж өгөөд дараа нь edquota -p protouser startuid-enduid тушаалыг ажиллуулна. Жишээ нь хэрэв хэрэглэгч test хүссэн ноогдлын хязгаарлалттай байгаа бол энэ ноогдлын хязгаарлалтыг 10,000-с 19,999 хүртэлх UID-уудад хувилж хамааруулахын тулд дараах тушаалыг ажиллуулна: &prompt.root; edquota -p test 10000-19999 Дэлгэрэнгүй мэдээллийг &man.edquota.8; гарын авлагын хуудаснаас үзнэ үү. Ноогдлын хязгаарлалтууд болон дискний хэрэглээг шалгах нь дискний ноогдлууд шалгах нь Ноогдлын хязгаарлалтууд болон дискний хэрэглээг шалгахын тулд та &man.quota.1; эсвэл &man.repquota.8; тушаалын нэгийг ашиглаж болно. &man.quota.1; тушаалыг хэрэглэгч эсвэл бүлгийн ноогдлууд болон дискний зайг шалгахад хэрэглэж болно. Хэрэглэгч нь зөвхөн өөрийн ноогдол болон өөрийн гишүүн бүлгийн ноогдлыг шалгаж чадна. Зөвхөн супер хэрэглэгч бүх хэрэглэгч болон бүлгийн ноогдлуудыг харж болно. &man.repquota.8; тушаалыг ноогдлууд идэвхжүүлэгдсэн файлын системүүдийн хувьд бүх ноогдлууд болон дискний хэрэглээний ерөнхий дүнг авахад хэрэглэж болно. Дараах нь хоёр файлын систем дээр ноогдлын хязгаарлалттай хэрэглэгчийн хувьд quota -v тушаалын жишээ гаралт юм. Disk quotas for user test (uid 1002): Filesystem usage quota limit grace files quota limit grace /usr 65* 50 75 5days 7 50 60 /usr/var 0 50 75 0 50 60 энэрэнгүй хугацаа Дээрх жишээний /usr файлын систем дээр хэрэглэгч 50 кбайтын зөөлөн хязгаарлалтыг 15 кбайтаар илүүдүүлсэн байгаа бөгөөд 5 хоногийн энэрэнгүй хугацаа үлдсэн байна. Од * тэмдэгт нь хэрэглэгч өөрийн ноогдлын хязгаарлалтаас илүү гарсныг харуулж байна. Ердийн үед хэрэглэгч ямар ч дискний зай ашиглаагүй байгаа тийм файлын системүүд, файлын системийн хувьд ноогдлын хязгаарлалт байсан ч гэсэн &man.quota.1; тушаалын гаралтад харагддаггүй байна. тохируулга нь тэдгээр файлын системүүдийг харуулах бөгөөд дээрх жишээн дээр /usr/var файлын системийг харуулж байна. NFS дээгүүрх ноогдлууд NFS Ноогдлууд нь NFS сервер дээр ноогдлын дэд системээр хянагддаг. &man.rpc.rquotad.8; демон нь NFS клиентүүд дээр өөрсдийн ноогдлын статистикуудыг хэрэглэгчдэд үзэх боломжийг олгож ноогдлын мэдээллийг тэдгээр машинууд дээр &man.quota.1; тушаалд бэлэн болгож өгдөг. rpc.rquotad/etc/inetd.conf файлд ингэж идэвхжүүлнэ: rquotad/1 dgram rpc/udp wait root /usr/libexec/rpc.rquotad rpc.rquotad Одоо inetd-г дахин ачаал: &prompt.root; kill -HUP `cat /var/run/inetd.pid` Лаки Грийн Хувь нэмэр болгон оруулсан
shamrock@cypherpunks.to
Дискний хуваалтуудыг шифрлэх нь дискнүүд шифрлэх нь FreeBSD нь өгөгдөлд зөвшөөрөгдөөгүй хандах хандалтын эсрэг маш сайн шууд хамгаалалтуудыг санал болгодог. Файлын зөвшөөрлүүд болон Mandatory Access Control (MAC) буюу Албадмал Хандалт Хяналт (-г үзнэ үү) нь компьютер ассан, үйлдлийн систем идэвхтэй байх үед зөвшөөрөлгүй гуравдагч нөхдүүдийг өгөгдөлд хандахаас хамгаалахад тусалдаг. Гэхдээ хэрэв халдагч компьютерт физик хандалт олж аван компьютерийн хатуу хөтчийг өөр систем уруу зөөн эмзэг өгөгдлийг хуулж шинжилгээ хийж чадах бол үйлдлийн системийн мөрдүүлдэг зөвшөөрлүүд нь хамааралгүй болох юм. Халдагч хэрхэн хатуу диск эсвэл унтраасан компьютерийг эзэмшсэнээс үл хамаарч &os; дээрх GEOM Based Disk Encryption (gbde) буюу GEOM дээр тулгуурласан дискний шифрлэлт болон geli криптограф дэд системүүд нь компьютерийн файлын системүүд дээрх өгөгдлийг бүр чухал эх үүсвэрүүд бүхий, зорилгодоо хүрэхээр ихээхэн чармайсан халдагчдаас хамгаалж чадах юм. Зөвхөн тухайн файл бүрийг шифрлэдэг ярвигтай шифрлэлтийн аргуудаас ялгаатай нь gbde болон geli нь бүх файлын системүүдийг харагдаж мэдэгдэхгүйгээр шифрлэдэг. Хатуу дискний хавтгайд цэвэр текст хэзээ ч бичигддэггүй. <application>gbde</application>-ээр диск шифрлэх <username>root</username> болно gbde-г тохируулахад супер хэрэглэгчийн эрхүүдийг шаарддаг. &prompt.user; su - Password: Цөмийн тохиргооны файлдаа &man.gbde.4; дэмжлэгийг нэмнэ Дараах мөрийг цөмийн тохиргооны файлдаа нэмнэ: options GEOM_BDE Цөмөө -д тайлбарласны дагуу дахин бүтээнэ. Шинэ цөм уруугаа дахин ачаална. Цөмийг дахин бүтээхээс өөр нэг арга нь kldload ашиглаж &man.gbde.4;-г ачаалах явдал юм: &prompt.root; kldload geom_bde Шифрлэгдсэн хатуу хөтчүүдийг бэлдэх нь Дараах жишээ нь таныг өөрийн систем уруу шинэ хатуу хөтөч нэмж ганц шифрлэгдсэн хуваалтыг агуулна гэж тооцдог. Энэ хуваалт нь /private гэж холбогдох болно. gbde нь /home болон /var/mail-г бас шифрлэхэд ашиглагддаг боловч энэ нь энэ танилцуулгын хүрээнээс хальж илүү төвөгтэй заавруудыг шаарддаг. Шинэ хатуу хөтчийг нэмнэ Шинэ хөтчийг систем уруу -д тайлбарласны дагуу нэмнэ. Энэ жишээн дээр шинэ хатуу хөтчийн хуваалт /dev/ad4s1c гэж нэмэгдсэн байгаа. /dev/ad0s1* төхөөрөмжүүд нь жишээ систем дээр байгаа стандарт FreeBSD хуваалтуудыг харуулж байна. &prompt.root; ls /dev/ad* /dev/ad0 /dev/ad0s1b /dev/ad0s1e /dev/ad4s1 /dev/ad0s1 /dev/ad0s1c /dev/ad0s1f /dev/ad4s1c /dev/ad0s1a /dev/ad0s1d /dev/ad4 gbde цоож файлуудыг агуулах санг үүсгэнэ &prompt.root; mkdir /etc/gbde gbde цоож файл нь шифрлэгдсэн хуваалтуудад хандахад gbde-д шаардагдах мэдээллийг агуулдаг. Цоож файлд хандах боломжгүй бол gbde нь шифрлэгдсэн хуваалтын агуулсан өгөгдлийг хөндлөнгийн их хүч шаардсан оролцоогүйгээр буцааж тайлж чадахгүй юм. Үүнийг програм хангамж дэмждэггүй. Шифрлэгдсэн хуваалт бүр тусдаа цоож файл ашигладаг. gbde хуваалтыг эхлүүлнэ gbde хуваалт ашиглагдаж эхлэхээсээ өмнө эхэлж тохируулагдсан байх шаардлагатай. Энэ эхний тохируулга нь зөвхөн нэг удаа хийгдэх ёстой: &prompt.root; gbde init /dev/ad4s1c -i -L /etc/gbde/ad4s1c &man.gbde.8; нь загварт төрөл бүрийн тохиргооны сонголтуудыг зааж өгөх боломжийг танд өгч таны засварлагчийг онгойлгох болно. UFS1 эсвэл UFS2-той ашиглахын тулд sector_size-г 2048 гэж заана: $FreeBSD: src/sbin/gbde/template.txt,v 1.1 2002/10/20 11:16:13 phk Exp $ # # Sector size is the smallest unit of data which can be read or written. # Making it too small decreases performance and decreases available space. # Making it too large may prevent filesystems from working. 512 is the # minimum and always safe. For UFS, use the fragment size # sector_size = 2048 [...] &man.gbde.8; нь өгөгдлийг аюулгүй болгоход хэрэглэгдэх ёстой нэвтрэх үгийг хоёр удаа бичихийг танаас хүснэ. Нэвтрэх үг нь хоёуланд нь адил байх ёстой. gbde-ийн таны өгөгдлийг хамгаалах чадвар таны сонгосон нэвтрэх үгийн чанараас бүхэлдээ хамаарна. Амархан тогтоож болох аюулгүй нэвтрэх үгийг хэрхэн сонгох талаар зөвлөгөөнүүдийг Diceware Passphrase вэб хуудаснаас үзнэ үү. gbde init тушаал нь таны gbde хуваалтад зориулж цоож файлыг үүсгэх бөгөөд энэ жишээн дээр /etc/gbde/ad4s1c гэж хадгалагдсан байна. gbde цоож файлууд нь шифрлэгдсэн хуваалтуудын агуулгатай цуг нөөцлөгдөх ёстой. Зөвхөн цоож файлыг устгах нь шийдсэн халдагч gbde хуваалтыг буцааж тайлахаас хамгаалж чаддаггүй бөгөөд цоож файлгүйгээр хууль ёсны эзэмшигч нь шифрлэгдсэн хуваалт дээрх өгөгдөлд &man.gbde.8; болон түүнийг зохиогчийн ерөөсөө дэмждэггүй, их хүч шаардсан ажиллагаагүйгээр хандаж чадахгүй болох юм. Шифрлэгдсэн хуваалтыг цөмд залгана &prompt.root; gbde attach /dev/ad4s1c -l /etc/gbde/ad4s1c Шифрлэгдсэн хуваалтыг эхэлж тохируулж байх үед таны сонгосон нэвтрэх үгийг оруулахыг танаас асуух болно. Шинэ шифрлэгдсэн төхөөрөмж /dev дотор /dev/device_name.bde гэж гарч ирнэ: &prompt.root; ls /dev/ad* /dev/ad0 /dev/ad0s1b /dev/ad0s1e /dev/ad4s1 /dev/ad0s1 /dev/ad0s1c /dev/ad0s1f /dev/ad4s1c /dev/ad0s1a /dev/ad0s1d /dev/ad4 /dev/ad4s1c.bde Шифрлэгдсэн төхөөрөмж дээр файлын систем үүсгэнэ Шифрлэгдсэн төхөөрөмж цөмд залгагдсаны дараа та энэ төхөөрөмж дээр файлын систем үүсгэж болно. Шифрлэгдсэн төхөөрөмж дээр файлын систем үүсгэхийн тулд &man.newfs.8;-г ашиглана. Хуучин UFS1 файлын системийг эхлүүлснээс шинэ UFS2 файлын системийг эхлүүлэх нь хамаагүй хурдан учраас &man.newfs.8;-г тохируулгатай хэрэглэхийг зөвлөдөг. &prompt.root; newfs -U -O2 /dev/ad4s1c.bde &man.newfs.8; тушаал нь төхөөрөмжийн нэрэндээ *.bde гэж өргөтгөлөөр танигдах залгагдсан gbde хуваалт дээр хийгдэх ёстой. Шифрлэгдсэн хуваалтыг холбоно Шифрлэгдсэн файлын системд зориулж холбох цэгийг үүсгэнэ. &prompt.root; mkdir /private Шифрлэгдсэн файлын системийг холбоно. &prompt.root; mount /dev/ad4s1c.bde /private Шифрлэгдсэн файлын систем байгаа эсэхийг шалгана Шифрлэгдсэн файлын систем одоо &man.df.1;-д харагдаж ашиглахад бэлэн болох ёстой. &prompt.user; df -H Filesystem Size Used Avail Capacity Mounted on /dev/ad0s1a 1037M 72M 883M 8% / /devfs 1.0K 1.0K 0B 100% /dev /dev/ad0s1f 8.1G 55K 7.5G 0% /home /dev/ad0s1e 1037M 1.1M 953M 0% /tmp /dev/ad0s1d 6.1G 1.9G 3.7G 35% /usr /dev/ad4s1c.bde 150G 4.1K 138G 0% /private Байгаа шифрлэгдсэн файлын системүүдийг холбох нь Ачаалалт бүрийн дараа ямар ч шифрлэгдсэн файлын системүүдийг ашиглаж эхлэхээсээ өмнө цөмд дахин залгаж, алдааг нь шалгаж холбож болно. Шаардлагатай тушаалуудыг root хэрэглэгч ажиллуулах ёстой гэж үздэг. gbde хуваалтыг цөмд залгана &prompt.root; gbde attach /dev/ad4s1c -l /etc/gbde/ad4s1c Шифрлэгдсэн gbde хуваалтыг эхэлж тохируулж байх үед таны сонгосон нэвтрэх үгийг оруулахыг танаас асуух болно. Файлын систем дээр алдааг шалгана Шифрлэгдсэн файлын системүүд нь автоматаар холбогдохын тулд /etc/fstab файлд одоохондоо жагсаагдах боломжгүй учир файлын системүүд дээр алдаа байгаа эсэхийг шалгаж тэдгээрийг холбохоос өмнө &man.fsck.8;-г гараар ажиллуулах ёстой. &prompt.root; fsck -p -t ffs /dev/ad4s1c.bde Шифрлэгдсэн файлын системийг холбоно &prompt.root; mount /dev/ad4s1c.bde /private Шифрлэгдсэн файлын систем одоо ашиглахад бэлэн боллоо. Шифрлэгдсэн хуваалтуудыг автоматаар холбох нь Шифрлэгдсэн хуваалтыг автоматаар залган шалгаж холбох скриптийг үүсгэж болох боловч аюулгүй байдлын шалтгаанаас болоод скрипт нь &man.gbde.8; нууц үгийг агуулсан байх ёсгүй. Харин эдгээр скриптүүдийг гараар ажиллуулж нууц үгийг консол эсвэл &man.ssh.1;-ээр оруулахыг зөвлөдөг. Өөр нэг арга нь rc.d скрипт байдаг. Энэ скриптийн нэмэлт өгөгдлүүдийг &man.rc.conf.5;-оор дамжуулж болно, жишээ нь: - gbde_autoattach_all="YES" -gbde_devices="ad4s1c" + gbde_autoattach_all="YES" +gbde_devices="ad4s1c" Энэ нь gbde нэвтрэх үгийг ачаалах үед оруулахыг шаарддаг. Зөв нэвтрэх үгийг бичсэний дараа gbde шифрлэгдсэн хуваалт автоматаар холбогдох болно. Энэ нь gbde-г зөөврийн компьютер дээр хэрэглэж байгаа үед их ашигтай байдаг. gbde-ийн ажиллуулдаг криптограф хамгаалалтууд &man.gbde.8; нь 128-bit AES-ийг CBC горимд ашиглан сектор ачааг шифрлэдэг. Диск дээрх сектор бүр өөр өөр AES түлхүүрээр шифрлэгддэг. Секторын түлхүүрүүд хэрэглэгчийн оруулсан нэвтрэх үгээс хэрхэн гаргагддаг зэрэг gbde-ийн криптограф дизайны талаар дэлгэрэнгүйг &man.gbde.4;-ээс үзнэ үү. Нийцтэй байдлын асуудлууд &man.sysinstall.8; нь gbde-шифрлэгдсэн төхөөрөмжүүдтэй нийцгүй байдаг. Бүх *.bde төхөөрөмжүүдийг &man.sysinstall.8; эхлүүлэхээс өмнө цөмөөс салгасан байх ёстой бөгөөд ингэхгүй бол энэ нь төхөөрөмжүүдийг шалгаж эхлэхдээ сүйрэх болно. Бидний жишээн дээр ашиглагдсан шифрлэгдсэн төхөөрөмжийг салгахдаа дараах тушаалыг ашиглана: &prompt.root; gbde detach /dev/ad4s1c Мөн &man.vinum.4; нь &man.geom.4; дэд системийг ашигладаггүйг анхаараарай, та gbdevinum эзлэхүүнүүдтэй ашиглаж болохгүй. Даниэл Гэрзо Хувь нэмэр болгон оруулсан <command>geli</command>-ээр диск шифрлэх нь Шинэ криптограф GEOM ангилал &os; 6.0-с эхлэн geli гэж орж иржээ. Үүнийг одоогоор - &a.pjd; хөгжүүлж байгаа болно. Geli нь + &a.pjd; хөгжүүлж байгаа болно. geli нь gbde-ээс өөр бөгөөд энэ нь өөр боломжуудыг санал болгож криптограф үйлдэлдээ өөр схемийг ашигладаг. &man.geli.8;-ийн хамгийн чухал боломжууд бол: &man.crypto.9; тогтолцоог ашигладаг — криптограф тоног төхөөрөмж бэлэн болоход geli түүнийг автоматаар ашигладаг. Олон криптограф алгоритмуудыг дэмждэг (одоогоор AES, Blowfish, болон 3DES). root хуваалтыг шифрлэх боломжийг олгодог. Шифрлэгдсэн root хуваалтад хандахад хэрэглэгддэг нэвтрэх үгийг систем ачаалахад асуудаг. Бие биеэндээ хамааралгүй хоёр түлхүүрүүдийг ашиглахыг зөвшөөрдөг (өөрөөр хэлбэл key болон company key). geli нь хурдан байдаг. Энгийн сектороос сектор уруу шифрлэлтийг хийдэг. Мастер түлхүүрүүдийг нөөцлөх ба сэргээхийг зөвшөөрдөг. Хэрэглэгч өөрийн түлхүүрүүдийг устгах хэрэгтэй болоход нөөцөөс түлхүүрүүдийг сэргээж өгөгдөлд дахин хандах боломжтой болох юм. Дискийг санамсаргүй, нэг удаагийн түлхүүрээр залгахыг зөвшөөрдөг — энэ нь swap хуваалтууд болон түр зуурын файлын системүүдэд ашигтай байдаг. geli-ийн илүү боломжуудыг &man.geli.8;-ийн гарын авлагын хуудаснаас олж болно. Дараагийн алхмууд нь geli-ийн дэмжлэгийг &os; цөмд хэрхэн идэвхжүүлэхийг тайлбарлах бөгөөд шинэ geli - шифрлэлт үзүүлэгчийг хэрхэн үүсгэх талаар өгүүлэх болно. Төгсгөлд нь - geli-ийн санал болгодог боломжуудыг ашиглан swap хуваалтыг - хэрхэн үүсгэхийг харуулах болно. + шифрлэлт үзүүлэгчийг хэрхэн үүсгэх болон ашиглах талаар өгүүлэх болно. geli-г ашиглахын тулд та &os; 6.0-RELEASE болон түүнээс дээшхи хувилбарыг хэрэглэж байх ёстой. Цөмд өөрчлөлтүүд шаардлагатай учраас супер хэрэглэгчийн эрхүүд хэрэгтэй болно. - Цөмийн тохиргооны файлд <command>geli</command> дэмжлэгийг + <title>Цөмд <command>geli</command> дэмжлэгийг нэмэх нь Дараах мөрийг цөмийн тохиргооны файлд нэмнэ: - options GEOM_ELI -device crypto + options GEOM_ELI +device crypto Цөмөө -д тайлбарласны дагуу дахин бүтээнэ. Мөн geli модулийг ачаалах үед дуудаж болно. Дараах мөрийг /boot/loader.conf файлд нэмнэ: - geom_eli_load="YES" + geom_eli_load="YES" &man.geli.8; нь одоо цөмд дэмжигдсэн байх ёстой. Мастер түлхүүр үүсгэх нь Дараах жишээ нь түлхүүр файлыг хэрхэн үүсгэх талаар тайлбарлах бөгөөд энэ нь /private доор холбогдсон шифрлэгдсэн үзүүлэгчийн Мастер түлхүүрийн хэсэг болон ашиглагдах болно. Түлхүүр файл нь Мастер түлхүүрийг шифрлэхэд хэрэглэгдэх зарим санамсаргүй өгөгдлийг өгөх болно. Мастер түлхүүр нь нэвтрэх үгээр бас хамгаалагдах болно. Үзүүлэгчийн секторын хэмжээ 4kB том байх болно. Мөн энэ хэлэлцүүлэг нь geli үзүүлэгчийг хэрхэн залгаж түүн дээр файлын систем үүсгэх, хэрхэн түүнийг холбож ажиллах болон төгсгөлд нь хэрхэн салгах талаар тайлбарлах болно. Илүү сайн ажиллагааг хангахын тулд секторын том хэмжээг (4kB ч юм уу) ашиглахыг зөвлөдөг. Мастер түлхүүр нь нэвтрэх үгээр хамгаалагдах бөгөөд түлхүүр файлд зориулагдсан өгөгдлийн эх нь /dev/random байх болно. Бидний үзүүлэгч гэж нэрлэдэг /dev/da2.eli-ийн секторын хэмжээ 4kB байх болно. &prompt.root; dd if=/dev/random of=/root/da2.key bs=64 count=1 &prompt.root; geli init -s 4096 -K /root/da2.key /dev/da2 Enter new passphrase: Reenter new passphrase: Нэвтрэх үг болон түлхүүр файлыг хоёуланг нь заавал ашиглах шаардлагагүй; Мастер түлхүүрийг нууцлах аль ч аргыг тусад нь ашиглаж болно. Хэрэв түлхүүр файл - гэж өгөгдсөн бол стандарт оролтыг ашиглана. Энэ жишээ нь нэгээс олон түлхүүр файлыг хэрхэн ашиглаж болох талаар харуулж байна. &prompt.root; cat keyfile1 keyfile2 keyfile3 | geli init -K - /dev/da2 Үзүүлэгчийг үүсгэсэн түлхүүрийн тусламжтай залгах нь &prompt.root; geli attach -k /root/da2.key /dev/da2 Enter passphrase: Шинэ цэвэр текст төхөөрөмж /dev/da2.eli гэж нэрлэгдэх болно. &prompt.root; ls /dev/da2* /dev/da2 /dev/da2.eli Шинэ файлын системийг үүсгэх нь &prompt.root; dd if=/dev/random of=/dev/da2.eli bs=1m &prompt.root; newfs /dev/da2.eli &prompt.root; mount /dev/da2.eli /private Шифрлэгдсэн файлын систем &man.df.1;-д харагдаж - ашиглахад бэлэн болох ёстой. + ашиглахад бэлэн болох ёстой: &prompt.root; df -H Filesystem Size Used Avail Capacity Mounted on /dev/ad0s1a 248M 89M 139M 38% / /devfs 1.0K 1.0K 0B 100% /dev /dev/ad0s1f 7.7G 2.3G 4.9G 32% /usr /dev/ad0s1d 989M 1.5M 909M 0% /tmp /dev/ad0s1e 3.9G 1.3G 2.3G 35% /var /dev/da2.eli 150G 4.1K 138G 0% /private Үзүүлэгчийг холбосныг салгаж залгасныг болиулах Шифрлэгдсэн хуваалт дээрх ажил хийгдэж дуусаад /private хуваалт хэрэггүй болох үед geli шифрлэгдсэн хуваалтыг холбосноо салган цөмд залгаснаа бас салгах нь зүйтэй юм. &prompt.root; umount /private &prompt.root; geli detach da2.eli &man.geli.8;-ийг хэрэглэх тухай дэлгэрэнгүй мэдээллийг гарын авлагын хуудаснаас олж болно. <filename>geli</filename> <filename>rc.d</filename> скриптийг ашиглах нь geli нь geli-ийн хэрэглээг хялбаршуулахад ашиглаж болох rc.d скрипттэй цуг ирдэг. geli-г &man.rc.conf.5;-оор тохируулах жишээг дараахаас харж болно: - geli_devices="da2" -geli_da2_flags="-p -k /root/da2.key" + geli_devices="da2" +geli_da2_flags="-p -k /root/da2.key" Энэ нь /dev/da2-г Мастер түлхүүр файл нь /root/da2.key-д байрлах geli үзүүлэгч гэж тохируулах бөгөөд үзүүлэгчийг залгаж байхдаа geli нь нэвтрэх үгийг ашиглахгүй (хэрэв -P сонголт geli-г эхлүүлэх үед өгөгдсөн тохиолдолд энэ нь ашиглагдах боломжтой). Систем нь geli үзүүлэгчийг цөмөөс систем унтрахаас өмнө салгах болно. rc.d-г тохируулах талаар дэлгэрэнгүй мэдээлэл энэхүү гарын авлагын rc.d хэсэгт байгаа болно.
Крисчан Брюффэр Бичсэн Swap зайг шифрлэх swap шифрлэх &os; дээрх swap-ийн шифрлэлт нь тохируулахад амархан байдаг бөгөөд &os; 5.3-RELEASE-с эхлээд ийм боломжтой болсон юм. &os;-ийн аль хувилбарыг ашиглаж байгаагаас хамаараад өөр өөр тохируулгууд байдаг бөгөөд тохиргоо нь нэлээн өөр өөр байдаг. &os; 6.0-RELEASE-с эхлээд &man.gbde.8; эсвэл &man.geli.8; шифрлэх системүүдийг swap-ийг шифрлэхэд ашиглаж болно. Өмнөх хувилбаруудад зөвхөн &man.gbde.8; байдаг. Энэ хоёр систем нь хоёулаа encswap rc.d скриптийг ашигладаг. Өмнөх Дискний хуваалтуудыг шифрлэх хэсэг нь өөр өөр шифрлэх системүүдийн тухай богино хэлэлцүүлгийг агуулдаг. Swap яагаад шифрлэгдэх ёстой вэ? Дискний хуваалтуудын шифрлэлтийн нэгэн адил swap зайн шифрлэлт нь эмзэг мэдээллийг хамгаалахын тулд хийгддэг. Нууц үгстэй ажилладаг програм байлаа гэж бодъё. Эдгээр нууц үгс нь физик санах ойд байгаа үед бүгд зүгээр байна. Гэхдээ хэрэв үйлдлийн систем нь бусад програмуудад зориулж зайг чөлөөлөхийн тулд санах ойн хуудаснуудыг swap хийж эхэлбэл нууц үгс нь дискний хавтгай дээр шифрлэгдэлгүй бичигдэж болох бөгөөд энэ нь өрсөлдөгчийн хувьд олж авахад амархан болох юм. Swap зайг шифрлэх нь энэ тохиолдолд шийдэл болж болох юм. Бэлтгэл Энэ хэсгийн үлдсэн хэсэгт ad0s1b нь swap хуваалт байх болно. Энэ хүртэл swap нь шифрлэгдээгүй байгаа билээ. Аль хэдийн нууц үгс эсвэл бусад эмзэг өгөгдөл дискний хавтгайнууд дээр цэвэр текстээр байж болзошгүй юм. Үүнийг засварлахын тулд swap хуваалт дээрх өгөгдлийг санамсаргүй хаягдлаар дарж бичих хэрэгтэй: &prompt.root; dd if=/dev/random of=/dev/ad0s1b bs=1m &man.gbde.8; ашиглан swap шифрлэлт хийх Хэрэв &os; 6.0-RELEASE болон түүнээс шинэ хувилбар ашиглагдаж байгаа бол .bde дагаварыг /etc/fstab-ийн тохирох swap мөр дэх төхөөрөмжид нэмэх шаардлагатай: - + # Device Mountpoint FStype Options Dump Pass# /dev/ad0s1b.bde none swap sw 0 0 - + &os; 6.0-RELEASE хувилбараас өмнөх системүүдэд дараах мөр нь /etc/rc.conf файлд бас хэрэгтэй: gbde_swap_enable="YES" &man.geli.8; ашиглан swap шифрлэлт хийх Өөрөөр, swap шифрлэлтэд зориулж &man.geli.8;-г ашиглах процедур нь &man.gbde.8; ашиглахтай төстэй. .eli дагаварыг /etc/fstab-ийн тохирох swap мөр дэх төхөөрөмжид нэмэх шаардлагатай: - + # Device Mountpoint FStype Options Dump Pass# /dev/ad0s1b.eli none swap sw 0 0 - + &man.geli.8; нь AES алгоритмийг анхдагчаар 256 битийн урттай түлхүүртэй ашигладаг. Мөн эдгээр анхдагчуудыг /etc/rc.conf файлд geli_swap_flags тохируулгыг ашиглан өөрчилж болно. Дараах мөр нь encswap rc.d скриптийг detach on last close тохируулгыг зааж 4 килобайтын секторын хэмжээтэй, 128 бит түлхүүрийн урттайгаар Blowfish алгоритм ашиглан &man.geli.8; swap хуваалт үүсгэ гэж хэлж байна: geli_swap_flags="-a blowfish -l 128 -s 4096 -d" &man.geli.8; гарын авлагын хуудсан дахь onetime тушаалын тайлбараас боломжит тохируулгуудын жагсаалтыг лавлана уу. Ажиллаж байгаа эсэхийг шалгах Систем дахин ачаалагдсаны дараа шифрлэгдсэн swap-ийн зөв үйлдлийг swapinfo тушаал ашиглан шалгаж болно. Хэрэв &man.gbde.8; ашиглагдаж байвал: &prompt.user; swapinfo Device 1K-blocks Used Avail Capacity /dev/ad0s1b.bde 542720 0 542720 0% Хэрэв &man.geli.8; ашиглагдаж байвал: &prompt.user; swapinfo Device 1K-blocks Used Avail Capacity /dev/ad0s1b.eli 542720 0 542720 0%
diff --git a/mn_MN.UTF-8/books/handbook/introduction/chapter.sgml b/mn_MN.UTF-8/books/handbook/introduction/chapter.sgml index e2b0b131de..96f36decf2 100644 --- a/mn_MN.UTF-8/books/handbook/introduction/chapter.sgml +++ b/mn_MN.UTF-8/books/handbook/introduction/chapter.sgml @@ -1,880 +1,884 @@ Жим Мок Дахин бүтцийг өөрчилж зохион байгуулсан, зарим хэсгийг дахин бичсэн Цагаанхүүгийн Ганболд Орчуулсан Танилцуулга Ерөнхий агуулга FreeBSD-г сонирхсон танд баярлалаа! Дараах бүлэг FreeBSD төслийн түүх, зорилго, хөгжүүлэх загвар зэрэг бусад төрөл бүрийн ойлголтуудыг хамарна. Энэ бүлгийг уншсаны дараа, та дараах зүйлсийг мэдэх болно: FreeBSD бусад компьютерийн үйлдлийн системүүдтэй ямар хамааралтай талаар. FreeBSD төслийн түүх. FreeBSD төслийн зорилгууд. FreeBSD-ийн нээлттэй-эх хөгжүүлэх загварын үндсүүд. Мөн мэдээж FreeBSD нэр хаанаас гарсан талаар. FreeBSD-д тавтай морилно уу! 4.4BSD-Lite FreeBSD нь Интел (x86 болон &itanium;), AMD64, Alpha, Sun &ultrasparc; компьютеруудад зориулагдсан 4.4BSD-Lite дээр үндэслэсэн үйлдлийн систем юм. Мөн өөр бусад архитектур уруу порт хийгдэж байгаа болно. Та мөн FreeBSD-ийн түүх эсвэл одоогийн хувилбарыг унших боломжтой. Хэрэв та - энэ төсөлд (код, тоног төхөөрөмж, тэмдэглээгүй тооцоонууд) хувь нэмэр оруулахыг сонирхож + энэ төсөлд (код, тоног төхөөрөмж, сан) хувь нэмэр оруулахыг сонирхож байгаа бол FreeBSD-д хувь нэмэр оруулах нь нийтлэлийг уншина уу. FreeBSD юу хийж чадах вэ? FreeBSD олон тооны дурдахад буруудахгүй боломжуудтай. Эдгээрийн зарим нь: Илүү өндөр давуу эрх бүхий бодлогоор солигдох боломж бүхий олон бодлогочлол Компьютерийг их ачаалалтай байсан ч програмууд болон хэрэглэгчдийн хооронд бартаагүй, ижил хуваалцах нөхцлийг бүрдүүлэх, динамик дараалал тохируулалттай, илүү өндөр давуу эрх бүхий бодлогоор солигдох боломж бүхий олон бодлогочлол. Олон-хэрэглэгчийн боломжууд Олон-хэрэглэгчийн боломжууд нь олон хүмүүс FreeBSD системийг төрөл бүрийн зүйлд зориулан зэрэгцэн хэрэглэх боломжийг зөвшөөрдөг. Энэ нь, жишээ нь, хэвлэгчүүд болон соронзон хальсны хөтлөгчүүд зэрэг системийн захын төхөөрөмжүүд нь систем эсвэл сүлжээн дэх бүх хэрэглэгчдийн дунд зөвөөр хуваалцах ба эх үүсвэр бүр дэх хязгаарууд нь маш чухал системийн эх үүсвэрүүдийг илүү ашиглахаас хамгаалж хэрэглэгчдэд болон бүлэг хэрэглэгчдэд тавигдаж болно гэсэн үг юм. TCP/IP сүлжээ - SCTP, DHCP, NFS, NIS, PPP ба SLIP зэрэг үйлдвэрлэлийн стандартуудын + SCTP, DHCP, NFS, NIS, PPP, SLIP, IPsec, болон IPv6 зэрэг үйлдвэрлэлийн стандартуудын дэмжлэгтэй, хүчирхэг TCP/IP сүлжээ. Энэ нь таны FreeBSD машин бусад үйлдлийн системүүдтэй хялбар харилцан ажиллаж чадахаас гадна мөн NFS (файлд алсаас хандах) цахим захидлын үйлчилгээнүүд зэрэг чухал боломжуудыг хангадаг эсвэл Интернэтэд WWW, FTP, чиглүүлэх эсвэл галт ханын (аюулгүй байдал) үйлчилгээнүүдийн хамт та өөрийнхөө байгууллагыг байрлуулах Enterprise сервер шиг ажиллаж чадна гэсэн үг юм. санах ойн хамгаалалт Санах ойн хамгаалалт нь програмууд (эсвэл хэрэглэгчид) өөр хоорондоо нөлөөлөхгүй нөхцлийг хангадаг. Нэг програм сүйрэхэд бусдад аль ч замаар нөлөөлөхгүй. FreeBSD нь 32-бит үйлдлийн систем (Альфа дээр 64-бит, &itanium;, AMD64, болон &ultrasparc;) бөгөөд бүр анхнаасаа эхлэн дизайн хийгдсэн юм. X Цонхны Систем XFree86 - Үйлдвэрлэлийн стандарт болох X Цонхны Систем (X11R6) + Үйлдвэрлэлийн стандарт болох X Цонхны Систем (X11R7) нь ердийн VGA карт ба дэлгэцийн үнэнд хэрэглэгчийн график интерфэйсийг (GUI) хангадаг бөгөөд бүрэн эхийн хамт ирдэг. хоёртын нийлэмж Линукс хоёртын нийлэмж SCO хоёртын нийлэмж SVR4 хоёртын нийлэмж BSD/OS хоёртын нийлэмж NetBSD Линукс, SCO, SVR4, BSDI ба NetBSD-д зориулан бүтээгдсэн олон програмуудтай хоёртын нийлэмж. Олон мянган ажиллахад бэлэн програмууд FreeBSD-ийн портууд болон багцуудын цуглуулганд байдаг. Эндээс бүгдийг олж болж байхад яагаад сүлжээнээс хайх хэрэгтэй гэж? Олон мянган нэмэлт болон амархан порт хийх боломжтой програмууд Интернэтэд байдаг. FreeBSD нь эх кодын хувьд ихэнх олны мэддэг арилжааны &unix; системүүдтэй нийцтэй бөгөөд ихэнх програмуудыг хөрвүүлэхэд хэрэв байгаа бол цөөн өөрчлөлтүүдийг шаарддаг. виртуал санах ой Шаардлагаар хуудасладаг (demand paged) виртуал санах ой ба нийлүүлсэн VM/түр хадгалагч дизайн нь санах ойн хувьд их хэрэглэдэг програмуудын хүслийг үр ашигтайгаар хангадаг бөгөөд ингэхдээ бусад хэрэглэгчдэд харилцан хариу өгөх боломжийг олгосоор байдаг. Адил Хэмт Олон-Боловсруулалт (SMP) Олон CPU-тай машинуудад зориулсан SMP дэмжлэг. хөрвүүлэгчид C хөрвүүлэгчид C++ хөрвүүлэгчид ФОРТРАН C, C++, болон ФОРТРАН хөгжүүлэх багажуудын бүрэн бүрэлдэхүүн. Нарийн судалгаа болон хөгжүүлэлтэд зориулсан олон нэмэлт хэлнүүд бас портууд болон багцуудын цуглуулганд байдаг. эх код Бүх системд зориулсан эх код гэдэг нь та орчноо хамгийн ихээр хянана гэсэн үг юм. Та жинхэнэ нээлттэй системтэй мөртлөө яагаад үйлдвэрлэгчийн буянд хаалттай шийдэлд цоожтой байх ёстой гэж? Дэлгэрэнгүй онлайн баримтжуулалт. гэх мэт өөр илүү олныг дурдаж болно! 4.4BSD-Lite Компьютерийн Системийн Судалгааны Бүлэг (CSRG) К.И.С. Беркли FreeBSD нь Беркли дэх Калифорнийн Их Сургуулийн Компьютерийн Системийн Судалгааны Бүлгээс (CSRG) гаргасан 4.4BSD-Lite хувилбар дээр үндэслэсэн бөгөөд BSD системийн хөгжүүлэлтийн бусдаас ялгаатай уламжлалыг үргэлжлүүлсээр байна. CSRG-ээс гаргасан сайхан ажлаас гадна FreeBSD Төсөл нь жинхэнэ амьдрал дээрх ачааллын үеийн найдвартай болон хамгийн сайн ажиллагааг хангах системийг нарийн тохируулахад олон мянган цагийг зориулжээ. Улам олон арилжааны аваргууд ийм боломжууд, ажиллагаа болон найдвартай байдал бүхий PC үйлдлийн системийг гаргах гэж тэмцэж байхад FreeBSD тэдгээрийг одоо санал болгож чадна! FreeBSD-г ямар хэрэглээнд ашиглах нь зөвхөн таны төсөөллийн хүрээнд байна. Програм хангамжийн хөгжүүлэлтээс эхлээд үйлдвэрлэлийн автоматжуулалт, төлвийн хяналтаас авахуулаад алсын хиймэл дагуулын антеннуудын азимут засварлалт; хэрэв үүнийг арилжааны &unix; бүтээгдэхүүнээр хийж чадах бол мэдээж та үүнийг FreeBSD-ээр ч бас хийж чадна! Мөн FreeBSD дэлхий даяар судалгааны төвүүд болон их сургуулиудад хөгжүүлсэн ихэнхдээ бага эсвэл үнэгүй байдаг олон мянган өндөр чанарын програмуудаас мэдэгдэхүйц үр ашгийг авдаг. Арилжааны програмууд бас байдаг бөгөөд өдөр ирэх тусам их хэмжээгээр нэмэгдэж байна. FreeBSD-ийн өөрийн эх код ерөнхийдөө байгаа болохоор тусгай програмууд эсвэл төслүүдэд зориулж системийг бараг сонсоогүй хэмжээнд өөрчлөх боломжтой бөгөөд ерөнхийдөө бусад ихэнх том том арилжааны үйлдвэрлэгчдийн үйлдлийн системүүдэд үүнийг хийх боломжгүй байдаг. Энд FreeBSD-г ашиглаж байгаа хүмүүсийн хэрэглээний зарим нэг байна: Интернэтийн Үйлчилгээнүүд: FreeBSD дэх хүчирхэг TCP/IP сүлжээ нь төрөл бүрийн Интернэтийн үйлчилгээнүүдэд хамгийн тохирсон тавцан болгодог: FTP серверүүд FTP серверүүд вэб серверүүд Дэлхий Даяарх Вэб серверүүд (стандарт эсвэл нууцлаг [SSL]) + + + + IPv4 болон IPv6 чиглүүлэлт гал хана NAT Галт хананууд болон NAT (IP маскарад хийх) гарцууд цахим захидал захидал захидал Цахим Захидлын серверүүд USENET USENET Мэдээнүүд эсвэл Зарлалын Самбарын Системүүд гэх мэт өөр илүү олныг дурдаж болно... Та FreeBSD-тэй байхад хямд 386 ангиллын PC-тэй жижгээс хялбархнаар эхлээд таны Enterprise өсөхийн хэрээр RAID хадгалалт бүхий 4 процессортой Xeon хүртэл шинэчилж болно. Боловсрол: Та компьютерийн шинжлэх ухаан эсвэл түүнтэй холбоотой инженерчлэлийн салбарын оюунтан уу? Үйлдлийн систем, компьютерийн архитектур болон сүлжээний талаар сурахад FreeBSD-ийн далд хангаж өгдөг боломж шиг илүү сайн арга байхгүй. Чөлөөтэй байдаг хэд хэдэн CAD, математикийн болон графикийн дизайн хийх багцууд нь өөр бусад ажлуудыг хийхийн тулд компьютерийг ашигладаг хүмүүст FreeBSD-г илүү их ашигтай болгодог! Судалгаа: Бүхэл системийн хувьд эх кодтой FreeBSD нь үйлдлийн системүүд болон компьютерийн шижлэх ухааны бусад салбаруудын хувьд судалгааны маш сайн тавцан болдог. FreeBSD-ийн чөлөөтэй байдаг чанар нь алсад байгаа бүлгүүд тусгай лицензийн гэрээ эсвэл нээлттэй форум дээр хэлэлцэж болох хязгааруудад санаа зоволгүйгээр шинэ санаанууд болон хуваалцсан хөгжүүлэлт дээр хамтран ажиллах боломжийг бүрдүүлдэг. чиглүүлэгч DNS Сервер Сүлжээ: Шинэ чиглүүлэгч? Нэрийн сервер (DNS)? Хүмүүсийг дотоод сүлжээнээс гадуур байлгах галт хана хэрэгтэй байна уу? FreeBSD нь ашиглаагүй, буланд хэвтэж байгаа 386 эсвэл 486 PC-г пакет шүүлт хийх сайжруулсан боломжуудтай өргөтгөсөн чиглүүлэгч болгон хялбархан хувиргаж чадна. X Цонхны Систем XFree86 X Цонхны Систем Хурдасгасан-X X Цонхны ажлын станц: FreeBSD нь чөлөөтэй байдаг X11 серверийг ашиглан хямд X терминалын шийдэлд зориулсан сайн сонголт болдог. X терминалаас ялгаатай нь хэрэв хүсвэл олон програмуудыг FreeBSD ажиллуулахыг зөвшөөрдөг бөгөөд ингэснээр төв серверийн ачааллыг хөнгөвчилдөг. FreeBSD нь дискгүй ачаалж чадсанаар ажлын станцуудыг хямд, амархан удирдах боломжтой болгодог. GNU Хөрвүүлэгчийн Цуглуулга Програм Хангамжийн Хөгжүүлэлт: Үндсэн FreeBSD систем нь нийтэд алдаршсан GNU C/C++ хөрвүүлэгч болон алдаа ологч зэрэг програмчлалын үндсэн хэрэгслүүдтэй ирдэг. FreeBSD нь CDROM, DVD, болон нэргүй FTP дээр эх болон хоёртын хэлбэрээр байдаг. FreeBSD-г олж авах талаар дэлгэрэнгүй мэдээллийг хаягаас үзнэ үү. FreeBSD-г хэн ашигладаг вэ? хэрэглэгчид FreeBSD ажиллуулдаг том сайтууд FreeBSD нь интернэт дэх зарим нэг хамгийн томоохон вэб хуудсуудыг ажиллуулдаг: Yahoo! Yahoo! Apache Apache Blue Mountain Arts Blue Mountain Arts Pair Networks Pair Networks Sony Japan Sony Japan Netcraft Netcraft Weathernews Weathernews Supervalu Supervalu TELEHOUSE America TELEHOUSE America Sophos Anti-Virus Sophos Anti-Virus JMA Wired JMA Wired гэх мэт өөр илүү олон вэб хуудсуудыг дурдаж болно. FreeBSD Төслийн тухай Дараах хэсэг төслийн товч түүх, төслийн зорилгууд,болон төслийн хөгжүүлэлтийн загвар зэрэг төслийн тухай зарим нэг мэдээллийг өгнө. Жордан Хаббард Хувь нэмэр болгон оруулсан FreeBSD-ийн товч түүх 386BSD Залруулах багц Хаббард, Жордан Вилльямс, Нэйт Граймс, Род FreeBSD Төсөл түүх FreeBSD төслийн үүсэл 1993 оны эхэн хэсэгт үүдэлтэй бөгөөд залруулах багцын сүүлийн 3 зохицуулагчид болох Нэйт Вилльямс, Род Граймс болон миний биеийн хамтран гаргасан Албан ёсны бус 386BSD Залруулах багцаас хэсэгчилэн хөгжсөн юм. 386BSD Бидний анхны зорилго хэд хэдэн асуудлуудыг шийдэхийн тулд 386BSD-ийн дундын хормын хувилбарыг гаргаж авах явдал байсан бөгөөд залруулах багцын механизм үүнийг шийдэж чаддаггүй байлаа. Та нарын зарим нэг нь төслийн ажлын анхны нэр тэр явдалтай холбоотой 386BSD 0.5 эсвэл 386BSD Дундын гэж байсныг санаж магадгүй юм. Жолиц, Билл 386BSD нь бараг жил орчмын үл ойшоолтоос болж ихээхэн зовж байсан тэр үед хүрсэн Билл Жолицийн үйлдлийн систем байсан юм. Залруулалтын багц нь өдөр өнгөрөх бүр улам эвгүйгээр томорч байсан бөгөөд бид ямар нэг юм хийх ёстойг 100 хувь зөвшөөрч Биллд туслахаар шийдэж энэхүү дундын цэвэрлэсэн хормын хувилбарыг гаргасан юм. Тэдгээр төлөвлөгөөнүүд нь Билл Жолицийг юу хийгдэж болохыг тодорхой харуулахын оронд ямар ч зүйлгүйгээр төслийн өөрийн санкцаас гэнэт татгалзах шийдвэрт хүргэж бүдүүлэг зогсоолтод хүргэсэн юм. Грийнмэн, Дэйвид Волнат Крийк CDROM Биллийн дэмжлэггүй ч гэсэн зорилго маань харамсахааргүй хэвээрээ үлдэхийг бид нэг их удалгүй шийдсэн бөгөөд Дэйвид Грийнмэний бодож олсноор FreeBSD нэрийг авсан юм. Бидний эхний зорилгууд системийн одоогийн хэрэглэгчидтэй зөвлөлдсөний дараа тодорхойлогдсон бөгөөд төсөл эхэлсэн нь тодорхой болсны дараа бүр магадгүй амьдрал дээр биеллээ олохын тулд би Интернэт уруу хялбар хандах боломжгүй олон золгүйчүүдэд зориулж FreeBSD-ийн түгээлтийн сувгуудыг сайжруулах зорилготойгоор Волнат Крийк CDROM-той холбоо тогтоосон юм. Волнат Крийк CDROM нь FreeBSD-г CD дээр түгээх санааг дэмжээд зогсоогүй ажиллах машин бас хурдан Интернэтийн холболтыг төсөлд зориулан хангасан юм. Волнат Крийк CDROM-ийн тэр үед тэр чигээрээ үл мэдэгдэх төсөлд бараг л урьдчилан тооцох аргагүй өгсөн итгэлгүйгээр FreeBSD одоогийн хүрсэн шиг ийм хол түвшинд, ийм хурдан хүрэхгүй байсан биз ээ. 4.3BSD-Lite Net/2 К.И.С. Беркли 386BSD Чөлөөт Програм Хангамжийн Сан Анхны CDROM (ерөнхийдөө сүлжээнд өргөнөөр) түгээлт 1993 оны 12 сард гаргасан FreeBSD 1.0 байлаа. Энэ нь Берклигийн К.И.С-ийн 4.3BSD-Lite (Net/2) соронзон хальс дээр тулгуурласан, бас 386BSD болон Чөлөөт Програм Хангамжийн Сангаас хангасан олон хэсгүүдээс тогтсон байсан билээ.Энэ бол эхний удаад нэлээн боломжийн амжилт байсан бөгөөд дараа нь бид маш өндөр амжилт олсон FreeBSD 1.1 хувилбарыг 1994 оны 5 сард гаргасан юм. Новэлл К.И.С. Беркли Net/2 AT&T Энэ үед урт удаан үргэлжилсэн Берклигийн Net/2 соронкон хальны хууль эрх зүйн статустай холбоотой Новэлл ба Берклигийн К.И.С нарын хоорондох зарга шийдэгдэж гэнэтийн хар үүлс бий болсон юм. Тэр тохиролцооны нөхцөл нь саад болсон код ба Новэллийн урьд нь AT&T-ээс авсан өмч болох Net/2-ийн ихэнх хэсэг дээр хийсэн Берклигийн К.И.С-ийн буулт байлаа. Хариуд нь Новэллийн адислал 4.4BSD-Lite хувилбар байсан бөгөөд энэ нь гарсныхаа дараа саадгүйгээр тунхаглагдаж түүн уруу Net/2-ийн бүх хэрэглэгчид маш хүчтэйгээр шилжихийг дэмжих явдал байлаа. Үүнд FreeBSD бас орсон бөгөөд төсөлд 1994 оны 7 сараас хүртэл хугацаа өгч өөрийн Net/2 дээр тулгуурласан бүтээгдэхүүнээ гаргахыг хориглосон юм. Тэр гэрээний хүрээнд эцсийн хугацаанаас өмнө төсөлд сүүлийн нэг хувилбар гаргахыг зөвшөөрсөн бөгөөд тэр хувилбар нь FreeBSD 1.1.5.1 байлаа. Дараа нь FreeBSD бараг тэр чигээрээ шинэ, бүрэн биш 4.4BSD-Lite-ийн хэсгээс өөрийгээ дахин бүтээх хүнд бэрх бодлогыг тогтоосон юм. Lite хувилбарууд нь зарим талаараа хөнгөн байсан, учир нь ачаалагдаж ажиллах системийг бүтээхэд шаардлагатай кодын ихээхэн хэсгийг Берклигийн CSRG арилгасан (төрөл бүрийн хууль эрх зүйн шаардлагаар) бөгөөд 4.4-ийн Интелийн хэсэг бас нэлээн бүрэн биш байлаа. Энэ шилжилтийг хийсээр төсөл 1994 оны 11 сар хүргэсэн бөгөөд тэр үед сүлжээ болон CDROM (12 сарын сүүлээр) дээр FreeBSD 2.0-ийг гаргасан байна. Хэдийгээр гадуураа бага зэрэг түүхий байсан боловч энэ хувилбар нь ихээхэн амжилттай болсон бөгөөд удалгүй илүү хүчирхэг, амархан суулгадаг FreeBSD 2.0.5 хувилбарыг 1995 оны 6 сард гаргасан билээ. 1996 оны 8 сард FreeBSD 2.1.5-ыг бид гаргасан бөгөөд энэ нь ISP болон арилжааны хүрээнийхэнд нэлээн алдаршсан ба 2.1-STABLE салбарын бас нэг өөр хувилбар сайшаагдсан билээ. Энэ нь 1997 оны 2 сард гарсан FreeBSD 2.1.7.1 бөгөөд 2.1-STABLE -ийн зонхилох хөгжүүлэлтийн төгсгөл болсон юм. Одоо үйл ажиллагааг хангах горимд зөвхөн аюулгүй байдлын өргөжүүлэлт болон бусад ноцтой алдааны засварлалтууд энэ салбарын (RELENG_2_1_0) хувьд хийгдэх болно. FreeBSD 2.2 нь хөгжүүлэлтийн гол салбараас (-CURRENT) 1996 оны 11 сард RELENG_2_2 салбар болон салбарлан гарсан бөгөөд анхны бүрэн хувилбар (2.2.1) 1997 оны 4 сард гарсан юм. 2.2 салбарын дараагийн хувилбарууд 97 оны зун болон намар гарцгаасан бөгөөд тэдгээрийн сүүлийнх (2.2.8) 1998 оны 11 сард гарчээ. Анхны албан ёсны 3.0 хувилбар 1998 оны 10 сард гарсан бөгөөд 2.2 салбарын хувьд төгсгөл болох эхлэлийг тавьсан юм. 1999 оны 1 сарын 20-нд мод дахин салбарласан бөгөөд 4.0-CURRENT болон 3.X-STABLE салбарууд гарахад хүргэжээ. 3.X-STABLE-ээс 3.1 1999 оны 2 сарын 15-нд гарсан, 3.2 1999 оны 5 сарын 15-нд, 3.3 1999 оны 9 сарын 16-нд, 3.4 1999 оны 12 сарын 20-нд, тэгээд 3.5 2000 оны 6 сарын 24-нд гарсан бөгөөд хэдхэн хоногийн дараагаар Kerberos-т сүүлийн минутын аюулгүй байдлын засваруудыг оруулсан багахан хувилбар шинэчлэл 3.5.1-ийг гарахад хүргэсэн юм. Энэ нь 3.X салбар дахь сүүлийн хувилбар юм. 2000 оны 3 сарын 13-нд нэг салбар гарсан нь 4.X-STABLE салбар бий болсон явдал юм. Үүнээс хэд хэдэн хувилбарууд гарсан: 4.0-RELEASE 2000 оны 3 сард танилцуулагдсан бөгөөд сүүлийн 4.11-RELEASE 2005 оны 1 сард гарсан юм. Удаан хүсэн хүлээсэн 5.0-RELEASE 2003 оны 1 сарын 19-нд зарлагдсан. Ойролцоогоор 3 жилийн ажлыг шингээсэн энэ хувилбар нь FreeBSD-г өргөжүүлсэн олон процессор, програмын урсгал дэмжлэгийн замд гаргаж &ultrasparc; ба ia64 тавцангуудад зориулсан дэмжлэгийг танилцуулсан билээ. Энэ хувилбарын дараагаа 2003 оны 6 сард 5.1 хувилбар гарсан. -CURRENT салбарын сүүлийн 5.X хувилбар 2004 оны 2 сард танилцуулагдсан 5.2.1-RELEASE байв. RELENG_5 салбар 2004 оны 8 сард үүссэн бөгөөд дараагаар нь 5-STABLE салбар хувилбаруулын эхлэлийг тэмдэглэсэн 5.3-RELEASE гарсан юм. Хамгийн сүүлийн &rel2.current;-RELEASE &rel2.current.date; гарсан. RELENG_5 салбараас дахиж нэмэлт хувилбарууд гарахгүй. 2005 оны 7 сард энэ удаа RELENG_6-д зориулж мод дахин салбарлажээ. 6.X салбарын анхны хувилбар болох 6.0-RELEASE 2005 оны 11 сард гарчээ. Хамгийн сүүлийн &rel.current;-RELEASE &rel.current.date; гарсан. RELENG_6 салбарын нэмэлт хувилбарууд гарах болно. Одоогоор урт хугацааны хөгжүүлэлтийн төслүүд 7.X-CURRENT (транк) салбарт үргэлжлэх бөгөөд ажил урагшлах бүр CDROM дээрх (мэдээж сүлжээнд бас) 7.X-ийн SNAPshot хувилбарууд Хормын агшны сервэрээс үргэлжлэн гарсаар байх болно. Жордан Хаббард Хувь нэмэр болгон оруулсан FreeBSD Төслийн Зорилгууд FreeBSD Төсөл зорилгууд FreeBSD Төслийн зорилгууд нь ямар нэг хязгаарлалтгүйгээр дурын зорилгоор ашиглаж болох програм хангамжийг хангах явдал юм. Бидний олонхи нь кодонд (болон төсөлд) чухал хөрөнгө оруулалт хийцгээсэн бөгөөд одоо болон ирээдүйд багахан санхүүгийн нөхөн олговроос мэдээж татгалзахгүй, гэхдээ бид мэдээж үүнийг шаардахаар бэлтгэгдээгүй юм. Бидний анхны бөгөөд нэн тэргүүний даалгавар бол ирсэн дурын болон бүгдэд аль ч зорилгоор ашиглагдаж болох кодоор хангах бөгөөд код нь аль болох өргөн хэрэглэгдэж, аль болох өргөн үр ашгийг өгөх явдал юм. Энэ нь Чөлөөт Програм Хангамжийн хамгийн үндсэн зорилгуудын нэг бөгөөд бид үүнийг санаачлагатайгаар дэмжих ёстой гэдэгт би итгэж байна. GNU General Public License (GPL) GNU Lesser General Public License (LGPL) BSD Зохиогчийн Эрх Бидний эх модонд байгаа GNU General Public License (GPL) эсвэл Library General Public License (LGPL) хүрээнд байдаг код нь арай илүү хязгаарлалттай бөгөөд ядаж л эсрэгээрээ байх биш харин ч хүчилсэн хандлагын талд байдаг. GPL програм хангамжийг арилжааны зорилгоор ашиглахад гарах нэмэлт төвөгтэй асуудлуудаас болоод бид ингэж хийхэд боломжийн сонголт байгаа нөхцөлд арай зөөлөн BSD Зохиогчийн Эрхийн доор програм хангамжийг ирүүлэхийг илүүд үздэг. Сатоши Асами Хувь нэмэр болгон оруулсан FreeBSD Хөгжүүлэх Загвар FreeBSD Төсөл хөгжүүлэх загвар FreeBSD-ийн хөгжүүлэлт нь бидний хувь нэмэр оруулагчдын жагсаалтаас харахад дэлхий даяар хэдэн зуун хүмүүсийн оруулсан хувь нэмэр дээр бүтээгдсэн, их нээлттэй, уян хатан процесс юм. FreeBSD-ийн хөгжүүлэлтийн дэд бүтэц нь эдгээр хэдэн зуун хөгжүүлэгчдийг Интернэтээр хамтран ажиллах боломжийг нээж өгдөг. Бид шинэ хөгжүүлэгчид, болон санаануудыг тогтмол хайж байдаг бөгөөд төсөлтэй илүү ойртохыг сонирхсон хэн ч гэсэн &a.hackers; хаягаар бидэнд хандаарай. Мөн бусад FreeBSD хэрэглэгчдэд гол гол ажлуудын талаар мэдээлэх &a.announce; бас байгаа болно. Чөлөөтэй болон нягт хамтын ажиллагаан доор ажилладгаас үл хамааран FreeBSD төсөл болон түүний хөгжүүлэлтийн процессийн талаар ашигтай зүйлсийн талаар мэдэхийг хүсвэл: CVS репозитор CVS репозитор Зэрэгцээ Хувилбаруудын Систем CVS FreeBSD-ийн гол эх мод нь FreeBSD-тэй цуг багцалсан чөлөөтэй байдаг эх кодыг хянах багаж болох CVS-ээр (Зэрэгцээ Хувилбаруудын Систем) тэтгэгдэж байдаг. Үндсэн CVS репозитор АНУ-ийн Калифорнийн Санта Клара дахь машин дээр байрладаг бөгөөд тэндээс дэлхий даяар байрласан хэд хэдэн толин тусгалын машинууд уруу хувилагддаг. -CURRENT болон -STABLE модуудыг агуулсан CVS мод таны өөрийн машин дээр ч гэсэн амархан хувилагдах боломжтой. Үүнийг хэрхэн хийх талаар дэлгэрэнгүй мэдээллийг Өөрийн эх модоо хамгийн сүүлийн түвшинд аваачих хэсэг уруу хандаж үзээрэй. Итгэмжлэн оруулагчдын жагсаалт итгэмжлэн оруулагчид Итгэмжлэн оруулагчид нь CVS мод уруу бичих эрхтэй бөгөөд FreeBSD-ийн эхэд өөрчлөлтүүд хийх зөвшөөрөлтэй хүмүүс юм (итгэмжлэн оруулагч гэсэн ойлголт нь CVS репозитор уруу шинэ өөрчлөлтүүдийг хийдэг &man.cvs.1;-ийн commit тушаалаас гаралтай). Итгэмжлэн оруулагчдад илгээсэн зүйлээ хянуулахаар өгөх хамгийн шилдэг арга нь &man.send-pr.1; тушаал юм. Хэрэв ямар нэг зүйл систем дээр гацвал &a.committers; уруу та цахим захидал бас илгээн холбогдож болно. FreeBSD-ийн гол баг гол баг FreeBSD-г компани гэж бодох юм бол FreeBSD-ийн гол баг нь захирлуудын зөвлөлтэй ижил утгатай юм. Гол багийн үндсэн үүрэг нь төсөл бүхэлдээ сайн байж, түүнийг зөв чиглэлээр явуулахыг хянаж байх явдал юм. Өөрийгөө бүрэн дайчилсан, хариуцлагатай хөгжүүлэгчдийг итгэмжлэн оруулагчдын бүлэгт урих нь гол багийн үүргүүдийн нэг бөгөөд зарим гишүүд шилжихэд гол багийн шинэ гишүүдийг шинээр авах нь бас нэг үүрэг нь юм. Одоогийн гол баг нь нэр дэвшигч итгэмжлэн оруулагчдаас 2006 оны 7 сард сонгогдсон. Сонгууль 2 жилд нэг удаа явагддаг. Гол багийн зарим гишүүд тусгай хариуцлагатай бөгөөд системийн ихээхэн хэсэг сурталчилсан хэмжээгээрээ ажиллаж байхыг хянаж бие сэтгэлээ зориулж байдаг. FreeBSD хөгжүүлэгчдийн жагсаалт болон тэдний аль хэсэгт хариуцлагатайг Хувь нэмэр оруулагчдын жагсаалтаас үзнэ үү. Гол багийн ихэнх гишүүд FreeBSD-ийн хөгжүүлэлтэд сайн дураар оролцдог бөгөөд төслөөс санхүүгийн хувьд ашиг олдоггүй болохоор commitment гэдэг нь баталгаатай дэмжлэг гэсэн үг гэж ойлгож болохгүй юм. Дээрх захирлуудын зөвлөл гэсэн аналог нь тийм ч зөв биш бөгөөд эдгээр хүмүүс нь FreeBSD-ийн тусын тулд өөрсдийнхөө илүү шийдлийн эсрэг амьдралаа орхисон хүмүүс гэвэл магадгүй илүү тохирох биз ээ! Гаднын хувь нэмэр оруулагчид хувь нэмэр оруулагчид Эцэст нь, гэхдээ мэдээж хамгийн сүүлийнх биш, хамгийн том бүлэг хөгжүүлэгчид нь санал сэтгэгдэл болон алдааны засваруудыг бидэнд бараг л тогтмол илгээдэг хэрэглэгчид юм. FreeBSD-ийн илүү төвлөрсөн бус хөгжүүлэлттэй холбоотой байх үндсэн арга нь тийм зүйлсийн талаар хэлэлцдэг &a.hackers;-д бүртгүүлэх явдал юм. FreeBSD-ийн төрөл бүрийн захидлын жагсаалтын талаар дэлгэрэнгүйг -ээс үзнэ үү. FreeBSD-ийн Хувь нэмэр оруулагчдын Жагсаалт нь урт бөгөөд өсөн нэмэгдэж байгаагийн нэг, тийм болохоор яагаад өнөөдөр FreeBSD-д хувь нэмэр оруулж энэ жагсаалтад нэгдэж болохгүй гэж? Код ирүүлэх нь төсөлд хувь нэмэр оруулах ганц арга биш юм; Хийх шаардлагатай байгаа зүйлсүүдийн бүрэн жагсаалтын талаар FreeBSD Төслийн вэб хуудсын хаягт хандаж үзнэ үү. Дүгнэж хэлэхэд бидний хөгжүүлэлтийн загвар нь нэг нь нөгөөдөө багтсан, чөлөөтэй тойргууд маягаар зохион байгуулагдсан загвар юм. Төвлөрсөн загвар нь ирээдүйтэй хувь нэмэр оруулагчдыг цааш түлхэлгүйгээр нэг төвийн кодын суурийг хялбар хянах боломжийг олгож FreeBSD-ийн хэрэглэгчдэд эвтэй байхаар зориулагдан дизайн хийгдсэн юм. Бидний хүсэл бол хэрэглэгчид амархан суулгаж ашиглаж болдог ихээхэн хэмжээний уялдаа холбоотой хэрэглээний програмуудтай тогтвортой үйлдлийн системийг бий болгох явдал юм — энэнд хүрэхэд энэ загвар нь маш сайн тохирон ажиллаж байна. Төслийн амжилттай байсаар байгаад хүргэж байгаа одоогийн хүмүүсийн адил бие сэтгэлийнхээ зарим ч гэсэн хэсгийг зориулахыг FreeBSD хөгжүүлэгч болон бидэнтэй нэгдэж байгаа хүмүүсээс хүсэж байгаа бидний цорын ганц хүсэлт юм! Одоогийн FreeBSD хувилбарууд NetBSD OpenBSD 386BSD Чөлөөт Програм Хангамжийн Сан К.И.С. Беркли Компьютерийн Системийн Судалгааны Бүлэг (CSRG) FreeBSD нь чөлөөтэй байдаг, Интел &i386;, &i486;, &pentium;, &pentium; Pro, &celeron;, &pentium; II, &pentium; III, &pentium; 4 (эсвэл нийцтэй), &xeon;, DEC Alpha болон Sun &ultrasparc;-д зориулагдсан бүрэн эх 4.4BSD-Lite дээр тулгуурласан хувилбар юм. Энэ нь үндсэндээ NetBSD, OpenBSD, 386BSD, болон Чөлөөт Програм Хангамжийн Сангийн зарим өргөжүүлэлт хийгдсэн Берклигийн К.И.С.-ийн CSRG бүлгээс гаргасан програм хангамжууд дээр үндэслэсэн. 1994 оны сүүлд гарсан FreeBSD 2.0 хувилбараас хойш FreeBSD-ийн хурдан ажиллагаа, боломжууд болон тогтвортой байдал мэдэгдэхүйц сайжирсан. Хамгийн том өөрчлөлт нь нийлсэн VM/файл буферийн кэш бүхий засварласан виртуал санах ойн систем бөгөөд энэ нь ажиллагааг хурдасгаад зогсохгүй FreeBSD-ийн санах ойн мөрийг багасгаж 5 MB тохиргоог илүү боломжийн хамгийн бага хэмжээнд хүргэсэн. Бусад өргөтгөлүүдийг дурдвал гүйцэд NIS клиент ба серверийн дэмжлэг, шилжилтийн TCP дэмжлэг, шаардлагаар залгах PPP, цогц DHCP дэмжлэг, сайжруулсан SCSI дэд систем, ISDN дэмжлэг, ATM-ийн дэмжлэг, FDDI, Хурдан болон Гигабит Ethernet (1000 Mbit) картууд, сүүлийн үеийн Адаптек хянагчууд болон олон мянган алдаануудын засварууд зэрэг юм. Үндсэн түгээлтүүдээс гадна FreeBSD нь мянга мянган байнга хайгддаг програмуудтай хөрвүүлсэн програм хангамжийн цуглуулгатай байдаг. Энэ авлагыг хэвлэж байх үед &os.numports; гаруй портууд байсан! Портуудын жагсаалтад http (WWW) серверүүдээс тоглоомууд, хэлнүүд, засварлагчид, зэрэг бараг л бүх төрлийн програмууд байдаг. Портуудын Цуглуулга бүхэлдээ ойролцоогоор &ports.size; хэмжээний хадгалалт шаарддаг бөгөөд бүх портууд өөрсдийн жинхэнэ эхийн хувьд дельта болж илэрхийлэгддэг. Энэ нь бидэнд портуудыг шинэчлэхэд хялбар болгож хуучин 1.0 Портуудын Цуглуулгын шаарддаг байсан дискний зайн шаардлагыг ихээхэн багасгаж өгдөг. Портыг хөрвүүлэхийн тулд та суулгахыг хүсэж байгаа програмын сан уруу шилжиж make install хэмээн бичихэд систем цааш үлдсэнийг хийх болно. Таны бүтээх порт болгоны жинхэнэ эх бүрэн түгээлт динамикаар CDROM эсвэл локал FTP хаягаас татагдах бөгөөд танд зөвхөн хүссэн портоо бүтээх хангалттай дискний зай л шаардлагатай. Порт бүр урьдчилан хөрвүүлсэн багц хэлбэрээр бас байх бөгөөд өөрийн портыг эхээс хөрвүүлэх хүсэлгүй хүмүүс хялбар тушаалаар (pkg_add) ийм портыг суулгаж болдог. Багцууд болон портуудын талаар дэлгэрэнгүй мэдээллийг хаягаар олж болно. Танд FreeBSD суулгаж ашиглах явцад маш их тус болохуйц хэд хэдэн баримтуудыг хамгийн сүүлийн үеийн дурын FreeBSD машин дээр /usr/share/doc сангаас бас олох боломжтой юм. Локалаар суусан гарын авлагуудыг та HTML боломжтой хөтчүүдийг ашиглан дараах хаягаас үзэж болно: FreeBSD Гарын авлага /usr/share/doc/handbook/index.html FreeBSD-ийн БХА (байнга хариулагддаг асуултууд FAQ) /usr/share/doc/faq/index.html Мөн та мастер (болон бусдаас их шинэчлэгддэг) хуулбаруудыг хаягаас үзэж болно. diff --git a/mn_MN.UTF-8/books/handbook/network-servers/chapter.sgml b/mn_MN.UTF-8/books/handbook/network-servers/chapter.sgml index 5261b20b5c..f4d17d71bf 100644 --- a/mn_MN.UTF-8/books/handbook/network-servers/chapter.sgml +++ b/mn_MN.UTF-8/books/handbook/network-servers/chapter.sgml @@ -1,4546 +1,4557 @@ Мюррей Стөүкли Дахин зохион байгуулсан Лодойсамбын Баянзул Орчуулсан Сүлжээний орчны Серверүүд Ерөнхий агуулга Энэ бүлэгт өргөн хэрэглэгддэг, &unix; системүүдийн сүлжээний орчинд ажилладаг үйлчилгээнүүдийн талаар авч үзэх болно. Бид энд олон өөр үйлчилгээнүүдийг хэрхэн суулгах, тохируулах, шалгах болон засвар үйлчилгээг хариуцах талаар үзэх болно. Танд зориулж жишээ тохиргооны файлуудыг мөн оруулж өгсөн байгаа. Энэ бүлгийг уншсаны дараа, та дараах зүйлсийг мэдэх болно: inetd дэмонг хэрхэн удирдах. Сүлжээний орчны файл системийг хэрхэн зохион байгуулах. Хэрэглэгчийн бүртгэлийг хуваалцах сүлжээний орчны мэдээллийн серверийг хэрхэн зохион байгуулах. DHCP ашиглан автоматаар сүлжээний тохиргоог хэрхэн хийх. Домэйн нэрийн серверийг хэрхэн зохион байгуулах. Apache HTTP Серверийг хэрхэн зохион байгуулах. File Transfer Protocol буюу Файл Дамжуулах Протокол(FTP) Серверийг хэрхэн зохион байгуулах. Samba ашиглан &windows; хэрэглэгчид зориулсан файл болон хэвлэгч серверийг хэрхэн зохион байгуулах. Цаг болон өдрийг тохируулах хийгээд NTP протокол ашиглан цагийн серверийг хэрхэн зохион байгуулах. Энэ бүлгийг уншихаасаа өмнө, та дараах зүйлсийг мэдсэн байх шаардлагатай: /etc/rc скриптүүдийн үндсийг ойлгосон байх. Сүлжээний үндсэн нэр томъёоллыг мэддэг байх. Гуравдагч этгээдийн нэмэлт програмыг() хэрхэн суулгахыг мэддэг байх. Шерн Лий Хувь нэмрээ оруулсан &os; 6.1-RELEASE-д зориулж шинэчилсэн &os; Баримтжуулах Төсөл Лодойсамбын Баянзул Орчуулсан <application>inetd</application> <quote>Супер-Сервер</quote> Ерөнхий агуулга &man.inetd.8; нь олон тооны үйлчилгээний холболтуудыг удирддаг тул заримдаа түүнийг Интернэт Супер-Сервер гэж нэрлэх нь бий. Гаднаас үүсч буй холболтыг inetd хүлээн авч, аль програмтай холбогдохыг тодорхойлон, тухайн процессийг салаалуулж, сокетийг түүн рүү чиглүүлнэ (програмын стандарт оролт, гаралт болон алдааны дескриптороор үйлчилгээний сокетийг өгнө). Бага ашиглагддаг сервер дээр inetd-г ажиллуулах нь бүх дэмонг дангаар бие-даах горимд ажиллуулсантай харьцуулахад системийн нийт ачааллыг багасгаж өгдөг. Голчлон, inetd нь бусад дэмонуудыг салаалуулахад хэрэглэгддэг боловч chargen, auth, ба daytime гэх мэт нилээд олон ердийн протоколуудыг шууд зохицуулан ажиллуулж чадна. Энэ хэсэгт inetd-н анхан шатны тохиргоог тушаалын мөрний тохируулгаар, мөн /etc/inetd.conf тохиргооны файлаар хэрхэн хийхийг үзүүлэх болно. Тохиргоо inetd нь &man.rc.8; системээр эхлүүлэгдэнэ. -inetd_enable тохируулгын анхдагч утга нь NO бөгөөд, -системийг суулгах явцад хэрэглэгчийн зааж өгсний дагуу sysinstall -програмын тусламжтай идэвхжүүлж болно. inetd_enable="YES" эсвэл -inetd_enable="NO"/etc/rc.conf -файл дотор байрлуулснаар inetd-г систем ачаалахад эхэлдэг болгож болно. -/etc/rc.d/inetd rcvar тушаалыг өгөн одоо идэвхтэй байгаа -тохиргоог харж болно. + inetd_enable тохируулгын анхдагч утга нь NO бөгөөд, + системийг суулгах явцад хэрэглэгчийн зааж өгсний дагуу sysinstall + програмын тусламжтай идэвхжүүлж болно. + + inetd_enable="YES" + + эсвэл + + inetd_enable="NO" + + гэж /etc/rc.conf + файл дотор байрлуулснаар inetd-г систем ачаалахад + эхэлдэг болгож болно. Доор дурдсан: + + /etc/rc.d/inetd rcvar + + тушаалыг өгөн одоо идэвхтэй байгаа + тохиргоог харж болно. Дээр нь, inetd_flags тохируулгаар дамжуулан inetd програмд тушаалын мөрнөөс өөр олон тохируулгыг зааж өгч болно. Тушаалын мөрний тохируулгууд Бусад сервер дэмоны адил, inetd нь түүнийг өөрчлөн тохируулахад зориулагдсан олон тооны тохируулгуудын хамт ирдэг. Тохируулгуудыг бүрнээр жагсаан бичвэл: inetd inetd-н эдгээр тохируулгуудыг /etc/rc.conf файл доторх inetd_flags тохируулгын тусламжтай зааж өгч болно. Анхдагч байдлаар, inetd_flags нь -wW -C 60 гэсэн утгыг авсан байх ба энэ нь inetd-ны үйлчилгээнүүдийн хувьд TCP wrapping буюу TCP-ийн гүйцэтгэл хялбаршуулалтыг идэвхжүүлэх ба тухайн ямар нэг IP хаягнаас аль нэг үйлчилгээнд нэг минутанд 60-аас дээш удаа хүсэлт тавих боломжгүй болгоно. Хэдийгээр бид гаднаас хэтэрхий олон тооны хандалт хийгдэж байгаа үед тохируулгаар түүнийг хэрхэн хязгаарлахыг доор үзүүлж байгаа ч гэсэн, анхлан суралцагчдад зөвлөхөд эдгээр параметрүүдийг ихэвчлэн өөрчлөх шаардлагагүй байдаг. Тохируулгуудын бүрэн жагсаалтыг &man.inetd.8; заавар хуудаснаас үзнэ үү. -c maximum Үйлчилгээг нэгэн зэрэг хэдэн удаа дуудаж болох хамгийн дээд тооны анхдагч утгыг заана; Анхдагч утга нь хязгааргүй. Үйлчилгээ тус бүрээр параметрийн тусламжтай утгыг дарж өөрчилж болно. -C rate Үйлчилгээг нэг IP хаягнаас нэг минутын дотор хэдэн удаа дуудаж болох хамгийн дээд тооны анхдагч утгыг заана; Анхдагч утга нь хязгааргүй. Үйлчилгээ тус бүрээр параметрийн тусламжтай утгыг дарж өөрчилж болно. -R rate Үйлчилгээг нэг минутын дотор хэдэн удаа дуудаж болох хамгийн дээд тоог заана; Анхдагч утга нь 256. 0-г тавьснаар хязгааргүй болгоно. -s maximum Үйлчилгээг нэг IP хаягнаас хэдэн удаа дуудаж болох хамгийн дээд тоог заана; Анхдагч утга нь хязгааргүй. Үйлчилгээ тус бүрээр параметрийн тусламжтай утгыг дарж өөрчилж болно. <filename>inetd.conf</filename> inetd/etc/inetd.conf файлын тусламжтай тохируулна. /etc/inetd.conf файлд өөрчлөлт хийсний дараа, inetd-р тохиргооны файлыг дахин уншуулахдаа дараах тушаалыг өгнө: <application>inetd</application>-н тохиргооны файлыг дахин дуудах нь &prompt.root; /etc/rc.d/inetd reload Тохиргооны файлын мөр бүр тусдаа дэмонг заана. Файл доторх тайлбарууд нь урдаа # тэмдэгтэй байна. /etc/inetd.conf файл доторх бичлэгүүдийн формат дараах байдалтай байна: service-name socket-type protocol {wait|nowait}[/max-child[/max-connections-per-ip-per-minute[/max-child-per-ip]]] user[:group][/login-class] server-program server-program-arguments IPv4 ашигладаг &man.ftpd.8; дэмоны хувьд жишээ бичлэг дараах байдалтай байж болно: ftp stream tcp nowait root /usr/libexec/ftpd ftpd -l service-name Тухайн дэмоны үйлчилгээний нэрийг заана. Энэ нь /etc/services файл дотор бичигдсэн үйлчилгээнүүдийн нэг байх ёстой бөгөөд аль портон дээр сонсохыг inetd-д хэлж өгнө. Хэрэв шинэ үйлчилгээ үүсгэсэн бол түүнийг заавал /etc/services файл дотор нэмсэн байх ёстой. socket-type stream, dgram, raw, эсвэл seqpacket эдгээрийн нэг байна. stream-г холболтон дээр үндэслэсэн TCP дэмонуудын хувьд хэрэглэдэг бол, dgramUDP протоколоор ажилладаг дэмонуудын хувьд хэрэглэнэ. protocol Доор дурдсанаас нэг нь байна: Протокол Тайлбар tcp, tcp4 TCP IPv4 udp, udp4 UDP IPv4 tcp6 TCP IPv6 udp6 UDP IPv6 tcp46 TCP IPv4 ба v6 хоёул udp46 UDP IPv4 ба v6 хоёул {wait|nowait}[/max-child[/max-connections-per-ip-per-minute[/max-child-per-ip]]] нь inetd-р дуудагдсан дэмон өөрийн сокетийг зохицуулж чадах эсэхийг заана. сокеттой дэмоны хувьд тохируулгыг хэрэглэнэ. Харин ихэвчлэн олон салаатай байдаг stream сокеттой дэмоны хувьд тохируулгыг хэрэглэх хэрэгтэй. нь ихэвчлэн олон сокетийг нэг дэмонд шилжүүлэн өгдөг бол, нь шинээр үүссэн сокет тус бүрт харгалзуулан хүүхэд дэмонг салаалуулан үүсгэдэг. inetd-ийн салаалуулан үүсгэж чадах хамгийн их хүүхэд дэмоны тоог тохируулгын тусламжтай зааж өгч болно. Хэрэв тухайн дэмоны ажиллаж болох тохиолдлыг 10-р хязгаарлах бол, -н ард /10 гэж бичнэ. /0 нь хүүхдийн тоог хязгаарлахгүй гэсэн утгатай. -с гадна, нэг газраас тухайн дэмонтой үүсгэж байгаа холболтын тоог хязгаарладаг өөр хоёр тохируулгыг хэрэглэж болно. нь тухайн ямар нэг IP хаягнаас нэг минутанд үүсгэж болох холболтын тоог хязгаарлана, жишээлбэл: 10 гэсэн утга нь тухайн ямар нэг IP хаягнаас нэг минутын дотор тухайн үйлчилгээнд холбогдохоор оролдох оролдлогын тоог 10-р хязгаарлана. нь Тухайн ямар нэг IP хаяг дээр үүсгэгдсэн хүүхдийн тоог хязгаарлана. Эдгээр тохируулгууд нь санаатай болон санамсаргүйгээр нөөцийг хэтрүүлэн хэрэглэх, мөн Үйлчилгээг Зогсоох (DoS) халдлагаас хамгаалахад хэрэгтэй байдаг. Хэрэглэхдээ, ба хоёрын аль нэгийг заавал хэрэглэх ёстой. Харин , ба тохируулгуудыг сонгон хэрэглэж болно. Stream төрлийн олон салаатай (урсгал) дэмоны хувьд, , эсвэл хязгаарлалтуудын алийг ч хэрэглэхгүй бол ердөө л: nowait байна. Дээрхтэй адил дэмон, 10 хүүхэд дэмоны хязгаарлалттай бол: nowait/10 байна. Мөн адил дэмон, 10 хүүхэд дэмоны хязгаарлалттай, минутанд нэг IP хаягнаас үүсгэх холболтын тоог 20-р хязгаарлах бол: nowait/10/20 байна. Эдгээр тохируулгуудыг &man.fingerd.8; дэмоны анхдагч тохиргоон дээр жишээ болгон харвал: finger stream tcp nowait/3/10 nobody /usr/libexec/fingerd fingerd -s Эцэст нь, 100 хүүхдийн хязгаарлалттай, нэг IP хаягнаас үүсэх холболтын тоог 5-р хязгаарласан дэмоны жишээг авбал: nowait/100/0/5 байх юм. user Энд тухайн дэмон ямар хэрэглэгчийн нэрээр ажиллахыг зааж өгнө. Ихэвчлэн дэмонууд root хэрэглэгчийн нэр дээр ажилладаг. Аюулгүй байдлын үүднээс, зарим серверүүд daemon, эсвэл хамгийн бага эрхтэй nobody хэрэглэгчийн нэр дээр ажиллах нь элбэг байдаг. server-program Энд гаднаас холболт хүлээн авахад ажиллуулах дэмоны бүрэн замыг зааж өгнө. Хэрэв энэ дэмон inetd-р удирдагдсан дотоод үйлчилгээ бол тохируулгыг хэрэглэх хэрэгтэй. server-program-arguments Үүнийг -тай хамт, argv[0]-с эхлэн програмын аргументыг зааж өгөх байдлаар хэрэглэнэ. Хэрэв командын мөрөнд mydaemon -d гэсэн байдлаар хэрэглэдэг бол, -н утга mydaemon -d байна. Дахин хэлэхэд, хэрэв тухайн дэмон дотоод үйлчилгээний нэг бол -г энд мөн хэрэглэнэ үү. Аюулгүй байдал Үйлдлийн системийг суулгах үед хийсэн сонголтуудаас хамааран inetd-н үйлчилгээнүүдийн ихэнх нь идэвхтэй болсон байдаг. Хэрэв хэрэглэх онцын шаардлага байхгүй бол тэдгээрийг идэвхгүй болгоно уу. /etc/inetd.conf файл дотор, идэвхгүй болгох гэж байгаа демоныхоо харгалзах мөрийн урд # тэмдгийг тавьна. Дараа нь inetd-н тохиргоог дахин ачаална. fingerd зэрэг зарим дэмонууд гадны халдагчид хэрэгтэй мэдээллийг түгээж байдаг тул тэдгээр үйлчилгээг бүрмөсөн хааж болох юм. Зарим дэмонууд аюулгүй байдлыг бодолцолгүйгээр бүтээгдсэн байдаг ба холболт тогтоох харьцангуй урт болзоот хугацаатай, эсвэл болзоот хугацааг огт зааж өгөөгүй байдаг. Энэ нь халдагчид тодорхой дэмон уруу холболт тогтоох хүсэлтийг олон дахин илгээж, нөөцийг дуусгах замаар системд халдах боломжийг олгодог. Хэрэв ямар нэг дэмоны хувьд үүссэн холболтын тоо хэтэрхий олон байвал , эсвэл тохиргооны тусламжтайгаар хязгаарлалт хийх нь оновчтой байдаг. Анхдагч байдлаар TCP-ийн дундын хяналт (гүйцэтгэл хялбаршуулалт) идэвхтэй байдаг. inetd-р дуудагдсан дэмонуудын хувьд TCP хязгаарлалт тавихын талаар дэлгэрэнгүй мэдээллийг &man.hosts.access.5; заавар хуудаснаас үзнэ үү. Элдэв зүйлс daytime, time, echo, discard, chargen, ба auth бүгд inetd-н дотоод үйлчилгээнүүд юм. auth үйлчилгээ нь сүлжээний орчинд, тодорхойлолт өгөх үйлчилгээ үзүүлдэг бөгөөд тодорхой түвшинд тохиргоо хийх боломжтой байдаг бол бусад үйлчилгээнүүдийг зөвхөн идэвхтэй эсвэл идэвхгүй болгох боломжтой. Бүрэн дүүрэн мэдээллийг &man.inetd.8; заавар хуудаснаас үзнэ үү. Том Рөүдс Дахин зохион байгуулж, сайжруулсан Билл Свингл Бичсэн Лодойсамбын Баянзул Орчуулсан Сүлжээний Файлын Систем (NFS) NFS FreeBSD дээр дэмжигддэг олон файлын системүүдийн нэг бол Network File System буюу Сүлжээний Файлын Систем юм, мөн NFS гэж нэрлэнэ. NFS нь сүлжээний орчинд файл болон санг бусадтай хуваалцах боломжийг олгодог. NFS-г хэрэглэн, хэрэглэгчид болон програмууд алслагдсан систем рүү дотоод файл руу хандаж байгаатай адилаар хандах боломжтой. NFS-н тэмдэглүүштэй давуу талуудаас дурдвал: Өргөн хэрэглэгддэг өгөгдлийг нэгтгэн нэг машин дээр байрлуулж, түүнд алсаас хандах боломжтой болсноор дотоод машинууд илүү бага диск хэрэглэх болно. Хэрэглэгчийн хувьд сүлжээнд байгаа машин бүр дээр тус тусдаа гэрийн сантай байх шаардлагагүй болно. Гэрийн санг нэг удаа NFS сервер дээр үүсгээд түүнийгээ сүлжээгээр дамжин хэрэглэх боломжтой. Уян диск, CDROM болон &iomegazip; төхөөрөмжүүдийг сүлжээний бусад машинууд хэрэглэх боломжтой болно. Ингэснээр сүлжээнд хэрэглэгдэх зөөвөрлөх боломжтой хадгалах төхөөрөмжүүдийн тоог багасгана. <acronym>NFS</acronym> хэрхэн ажилладаг вэ NFS нь үндсэн хоёр хэсгээс бүрдэнэ: сервер болон нэг ба түүнээс дээш тооны харилцагч. Сервер машин дээр хадгалагдаж байгаа өгөгдөл рүү харилцагч алсаас хандана. Дээрх үйлдлийг зөв гүйцэтгэхийн тулд нилээд хэдэн процессийн тохиргоог хийж, ажиллуулсан байх ёстой. Сервер дээр дараах дэмонууд ажиллаж байх ёстой: NFS сервер файл сервер UNIX харилцагчид rpcbind mountd nfsd Дэмон Тайлбар nfsd NFS харилцагчдаас ирэх хүсэлтийг хүлээн авах NFS дэмон. mountd &man.nfsd.8;-с дамжиж ирсэн хүсэлтийг гүйцэтгэгч NFS холбох дэмон. rpcbind Энэ дэмоны тусламжтай NFS харилцагчид NFS сервер аль портон дээр ажиллаж байгааг олж мэднэ. Харилцагч nfsiod гэсэн дэмонг мөн ажиллуулж болно. nfsiod дэмон NFS серверээс ирэх хүсэлтийг гүйцэтгэнэ. Ингэх нь системийг хэвийн, алдаагүй ажиллуулахад зайлшгүй шаардлагагүй боловч зарим үзүүлэлтүүдийг сайжруулдаг тул нэмэлт байдлаар хэрэглэж болно. Дэлгэрэнгүй мэдээллийг &man.nfsiod.8; хуудаснаас үзнэ үү. <acronym>NFS</acronym>-н тохиргоог хийх NFS тохиргоо NFS-н тохиргоог хийх нь харьцангуй амархан. Ажиллах ёстой процессуудыг системтэй хамт автоматаар асдаг болгохын тулд /etc/rc.conf файлыг бага зэрэг өөрчлөхөд хангалттай. NFS сервер дээрх /etc/rc.conf файл дотор дараах тохируулгууд идэвхжсэн байгаа эсэхийг шалгана уу: rpcbind_enable="YES" nfs_server_enable="YES" mountd_flags="-r" mountd нь NFS серверийг идэвхжүүлсэн тохиолдолд өөрөө автоматаар ажиллана. Харилцагч талд, /etc/rc.conf файл дотор дараах тохируулга идэвхтэй байгаа эсэхийг шалгана уу: nfs_client_enable="YES" /etc/exports файл дотор NFS ямар файл системүүдийг экспорт хийхийг (заримдаа хуваалцах гэж мөн нэрлэнэ) зааж өгнө. /etc/exports файлын мөр бүр нь нэг файл системд харгалзана. Энэ файл системд хандах эрхтэй машинуудыг заахаас гадна, ямар тохируулгаар хандахыг мөн зааж өгч болно. Энэ файл дотор бичигдэж болох нилээд олон ийм тохируулгууд байгаа хэдий ч, бид тэдгээрээс зөвхөн заримыг нь энд авч үзэх болно. Та бусад тохируулгуудын талаар &man.exports.5; заавар хуудаснаас уншиж мэднэ үү. Доор /etc/exports файлаас хэдэн жишээ мөрийг үзүүлэв: NFS экспортлох жишээ Дараах жишээн дээрээс файл системийг хэрхэн экспортлох санааг олж авах болно. Тохируулгууд нь таны сүлжээний тохиргоо, нөхцөл байдлаас шалтгаалан өөр байхыг анхаарна уу. Жишээ нь, /cdrom гэсэн санг 3 машин руу экспортлохын тулд дараах байдалтай бичнэ. Жишээн дээрх 3 машин сервертэй адил домэйн нэртэй, эсвэл таны /etc/hosts файл дотор тодорхойлогдсон гэж үзсэн болно. туг нь экспортлогдож буй файл системийг зөвхөн унших боломжтой болохыг заана. Энэ тугийг тавьснаар алсаас хандаж буй машин энэ файл систем дээр ямар нэг өөрчлөлт хийх боломжгүй болно. /cdrom -ro host1 host2 host3 Дараах жишээн дээр /home санг IP хаягаар нь зааж өгсөн 3 машин руу экспортолж байна. Ингэж IP хаягаар нь зааж өгөх нь дотоод сүлжээндээ DNS сервер ажиллуулаагүй үед их хэрэгтэй байдаг. Эсвэл /etc/hosts файл дотор дотоод хостуудын нэрийг тохируулж болно; &man.hosts.5; хэсгийг дахин үзнэ үү. гэсэн туг нь дэд сангуудыг холболтын цэг байхыг зөвшөөрч өгдөг. Өөрөөр хэлбэл, дэд сангуудыг холболгүй орхиж, харилцагч зөвхөн өөрийн хэрэгцээтэй байгаа сангаа холбохыг зөвшөөрнө гэсэн үг юм. /home -alldirs 10.0.0.2 10.0.0.3 10.0.0.4 Дараах жишээн дээр /a санг хоёр өөр домэйноос 2 харилцагч хандаж болохоор экспортолж байна. гэсэн туг нь алслагдсан систем дээрх root хэрэглэгч экспортлогдсон файл систем дээр root эрхээр бичихийг зөвшөөрнө. Хэрэв -maproot=root тугийг тусгайлан зааж өгөөгүй бол, хэдий алслагдсан систем дээрх хэрэглэгч root эрхтэй ч экспортлогдсон файл систем дээр бичих эрхгүй болно. /a -maproot=root host.example.com box.example.org Харилцагч экспортлогдсон файл систем рүү хандахын тулд эрх нь байх ёстой. Тухайн харилцагч /etc/exports файл дотор бүртгэлтэй эсэхийг шалгаарай. /etc/exports файл дотор мөр болгон нь нэг файл системийг нэг хост руу экспортлох мэдээллийг төлөөлнө. Алслагдсан хост аль нэг файл системийн хувьд зөвхөн ганц удаа л тодорхойлогдсон байх ёстой ба үүнд харгалзах ганцхан анхдагч бичлэг байж болно. Жишээ нь, /usr нь нэг файл систем гэж бодъё. /etc/exports файл доторх дараах бичлэгүүд нь буруу юм: # Invalid when /usr is one file system /usr/src client /usr/ports client Учир нь /usr гэсэн файл системийг client гэсэн хост руу экспортолсон хоёр бичлэг байна. Энэ тохиолдолд дараах форматаар бичвэл зөв болно: /usr/src /usr/ports client Нэг хост руу экспортлогдож байгаа файл системийн хувьд шинжүүдийг бүгдийг нэг мөрөнд жагсаан бичих ёстой. Харилцагчийг зааж өгөөгүй мөрүүдийг энгийн хост гэж үзнэ. Энэ нь файл системийг экспортлох боломжийг хязгаарлана, гэвч энэ нь ихэнх хүмүүст хүнд асуудал биш байдаг. Дараагийн жишээн дээр /usr ба /exports гэсэн дотоод файл системийг экспортолсон байна: # Export src and ports to client01 and client02, but only # client01 has root privileges on it /usr/src /usr/ports -maproot=root client01 /usr/src /usr/ports client02 # The client machines have root and can mount anywhere # on /exports. Anyone in the world can mount /exports/obj read-only /exports -alldirs -maproot=root client01 client02 /exports/obj -ro /etc/exports файл дотор гарсан өөрчлөлтүүдийг хүчинтэй болгохын тулд, өөрчлөлт орсон тухай бүрд mountd дэмонг албадан /etc/exports-г дахин уншуулах хэрэгтэй болдог. Үүний тулд эсвэл HUP дохиог ажиллаж байгаа дэмонд өгөх хэрэгтэй: &prompt.root; kill -HUP `cat /var/run/mountd.pid` эсвэл mountd &man.rc.8; скриптийг зохих параметрийн хамт ажиллуулах хэрэгтэй: &prompt.root; /etc/rc.d/mountd onereload rc скриптийг хэрэглэх зааврыг хэсгээс үзнэ үү. Бас нэг боломж нь, FreeBSD-г эхнээс нь ачаалж, бүх процессийг дахин эхлүүлэх юм. Гэвч үүний тулд заавал системийг дахин ачаалах шаардлага байхгүй. root эрхээр дараах тушаалуудыг өгснөөр зөвхөн хэрэгтэй процессуудаа дахин эхлүүлэх боломжтой. NFS сервер дээр: &prompt.root; rpcbind &prompt.root; nfsd -u -t -n 4 &prompt.root; mountd -r NFS харилцагч дээр: &prompt.root; nfsiod -n 4 Одоо алсын файл системийг холбоход бэлэн боллоо. Доорх жишээнүүд дээр серверийн нэрийг server, харилцагчийн нэрийг client гэж авсан болно. Хэрэв та алсын файл системийг зөвхөн түр хугацаагаар холбох гэж байгаа эсвэл тохиргоогоо шалгах гэж байгаа бол, харилцагч талд root эрхээр дараах тушаалыг өгөхөд хангалттай: NFS холболт &prompt.root; mount server:/home /mnt Энэ тушаалыг өгснөөр та сервер талд байгаа /home гэсэн санг харилцагч талд байгаа /mnt сантай холбох болно. Хэрэв бүх зүйл зөв тохируулагдсан бол, та харилцагч талын /mnt сан дотор орж сервер дээр байгаа файлуудыг харж чадах ёстой. Хэрэв систем шинээр ачаалах бүрд ямар нэг алсын файл системийг холбох хүсэлтэй байгаа бол, түүнийгээ /etc/fstab файл дотор нэмж бичих хэрэгтэй. Жишээ нь: server:/home /mnt nfs rw 0 0 Боломжит бүх сонголтуудын талаар &man.fstab.5; заавар хуудаснаас үзнэ үү. Цоожлолт Зарим програмууд (ж.н. mutt) зөв ажиллахын тулд файл цоожлолтыг шаарддаг. NFS-н хувьд, rpc.lockd-г файл цоожлолтонд хэрэглэж болно. Түүнийг идэвхжүүлэхийн тулд, сервер болон харилцагч талд хоёуланд нь /etc/rc.conf файл дотор дараах мөрүүдийг нэмж өгөх хэрэгтэй (NFS сервер болон харилцагч талуудыг аль хэдийн тохируулчихсан гэж үзэв): rpc_lockd_enable="YES" rpc_statd_enable="YES" Програмыг дараах байдалтай эхлүүлнэ: &prompt.root; /etc/rc.d/nfslocking start Хэрэв NFS харилцагч болон NFS сервер талуудын хооронд жинхэнэ файл цоожлолт хийгдэх шаардлагагүй бол, NFS харилцагч талд &man.mount.nfs.8;-д тохируулгыг өгөн дотоод цоожлолт хийлгэж болно. Дэлгэрэнгүй мэдээллийг &man.mount.nfs.8; заавар хуудаснаас үзнэ үү. Практик хэрэглээ NFS нь олон практик хэрэглээтэй. Хамгийн элбэг тохиолддог хэрэглээг доор жагсаав: NFS хэрэглээ Олон машиныг нэг CDROM эсвэл төхөөрөмжийг дундаа хэрэглэдэг байхаар зохион байгуулах. Энэ нь нэг програмыг олон машин дээр суулгах хамгийн хямд, хялбар арга юм. Том сүлжээний хувьд, бүх хэрэглэгчдийн гэрийн санг хадгалдаг төвлөрсөн NFS серверийг тохируулах. Эдгээр гэрийн сангуудыг дараа нь сүлжээний орчинд экспортолсноор хэрэглэгчид аль машин дээр ажиллаж буйгаас үл хамааран өөрийн нэг л сан дотор ажиллах боломжтой болно. Олон машин дундаа нэг /usr/ports/distfiles сантай байх. Ийм замаар, нэг портыг олон машин дээр суулгах хэрэгтэй үед машин бүр дээр эх файлыг татаж авалгүйгээр хурдан суулгах боломжтой болно. Вылий Стилвэл Хувь нэмрээ оруулсан Шерн Лий Дахин эмхтгэсэн Лодойсамбын Баянзул Орчуулсан <application>amd</application>-р автоматаар холбох нь amd автоматаар холбогч дэмон &man.amd.8; (автоматаар холбогч дэмон) нь алсын файл системийн файл эсвэл санд хэрэглэгч хандах тухай бүрт уг файл системийг автоматаар холбодог. Хэсэг хугацааны туршид идэвхгүй байгаа файл системийг amd мөн автоматаар салгана. amd-г хэрэглэснээр /etc/fstab дотор бичигддэг байнгын холболтоос гадна, холболт хийх боломжийг олгодог. amd нь өөрийгөө, /host ба /net сангууд дээр NFS сервер байдлаар холбож ажиллах бөгөөд эдгээр сангууд доторх файлд хандах үед, amd харгалзах алсын холболтыг хайж олоод автоматаар холбох болно. /net нь экспортлогдсон файл системийг IP хаягаар нь холбоход, харин /host нь хост нэрээр нь холбоход хэрэглэгдэнэ. /host/foobar/usr сан доторх файлд хандана гэдэг нь amdfoobar гэсэн хост дээр экспортлогдсон /usr санг холбохын зааж өгнө. Экспортыг <application>amd</application>-р холбох Алсын хост дээр байгаа боломжит холболтуудын жагсаалтыг showmount тушаалын тусламжтай харж болно. Жишээлбэл, foobar нэртэй хостын экспортыг харахын тулд: &prompt.user; showmount -e foobar Exports list on foobar: /usr 10.10.10.0 /a 10.10.10.0 &prompt.user; cd /host/foobar/usr Жишээн дээр үзүүлснээр showmount нь /usr-г экспортлогдсон болохыг харуулж байна. /host/foobar/usr сан дотор ороход, amd нь foobar гэсэн хост нэрийг тайлахыг оролдох ба заасан санг холбоно. amd-г эхлэл скриптүүдээр эхлүүлж болох ба үүний тулд /etc/rc.conf файл дотор дараах мөрийг нэмэх хэрэгтэй: amd_enable="YES" Мөн, amd програмд amd_flags тохируулгын тусламжтай тугуудыг өгч болно. amd_flags-н анхдагч утга нь: amd_flags="-a /.amd_mnt -l syslog /host /etc/amd.map /net /etc/amd.map" /etc/amd.map файл дотор экспортуудыг холбох анхдагч тохируулгуудыг зааж өгсөн байна. /etc/amd.conf файл дотор amd-н илүү дээд түвшний чанаруудыг тодорхойлж өгнө. Дэлгэрэнгүй мэдээллийг &man.amd.8; ба &man.amd.conf.5; заавар хуудаснаас үзнэ үү. Жон Линд Хувь нэмрээ оруулсан Лодойсамбын Баянзул Орчуулсан Бусад системтэй нэгтгэхэд тохиолдох асуудлууд ISA PC системд зориулсан зарим Ethernet адаптерууд учир дутагдалтай байдгаас сүлжээний орчинд ажиллахад, тэр дундаа NFS-тэй ажиллахад нилээд асуудалтай байдаг. Энэ асуудал зөвхөн FreeBSD-д тохиолддоггүй боловч FreeBSD систем үүнд нилээд өртөмтгий байдаг. Энэ асуудал нь (FreeBSD) PC системийг өндөр үзүүлэлттэй машинуудтай (жишээлбэл, Silicon Graphics, Inc., ба Sun Microsystems, Inc компаниудын хийсэн) сүлжээнд холбох үед бараг үргэлж тохиолддог. NFS холболт хийхэд асуудалгүй, зарим үйлдлүүдийг хийхэд амжилттай байх боловч, гаднаас ирж явж байгаа хүсэлтүүдийг боловсруулж чадаж байгаа хэдий ч сервер гэнэт харилцагчид хариу өгөхгүй болдог. Энэ асуудал мөн харилцагчийн хувьд, харилцагч FreeBSD систем эсвэл ажлын машин байхаас үл шалтгаалан тохиолдоно. Ихэнх системийн хувьд, нэгэнт ийм асуудалд орсон бол харилцагч талыг ном ёсных нь дагуу унтраах боломжгүй болдог. Ганц авдаг арга хэмжээ бол системийг хүчээр унтрааж асаах юм. Учир нь, NFS-н энэ асуудал одоо хир нь шийдэгдээгүй байна. Хэдийгээр зөв шийдэл бол FreeBSD системд тохирох илүү өндөр үзүүлэлттэй, илүү багтаамжтай Ethernet адаптерийг олж авах боловч, боломжит ажиллагааг хангахын тулд нэг арга байна. Хэрэв FreeBSD систем нь сервер бол, харилцагч талаас холболт хийхдээ тохируулгыг оруулж өгөх явдал юм. Хэрэв FreeBSD систем нь харилцагч бол, NFS файл системтэй холбогдохдоо тохируулгыг хэрэглэх юм. Эдгээр тохируулгуудыг автомат холболтын хувьд fstab бичлэгийн дөрөв дэх талбарыг ашиглан, гар аргаар холболт хийх бол &man.mount.8; тушаалын параметрыг ашиглан зааж өгч болно. NFS сервер болон харилцагчид өөр өөр сүлжээнд байхад гардаг өөр нэг асуудлыг энэ асуудалтай хольж хутгах тохиолдол байдгийг энд дурдах нь зүйтэй болов уу. Хэрэв тийм бол, чиглүүлэгчид шаардлагатай UDP мэдээллийг дамжуулж чадаж байгаа эсэхийг нягталж үзээрэй. Үгүй бол, өөр юу ч хийлээ гээд та үр дүнд хүрч чадахгүй. Дараах жишээн дээр, fastws нь өндөр үзүүлэлттэй ажлын машины хост (интерфэйс) нэр, freebox нь бага үзүүлэлттэй Ethernet адаптертай FreeBSD системийн нэр юм. Мөн, /sharedfs нь экспортлогдох гэж байгаа NFS файл систем (&man.exports.5;-г үз), ба /project нь харилцагч талын экспортлогдсон файл системийг холбох цэг байх болно. Аль ч тохиолдолд, эсвэл ба зэрэг нэмэлт тохируулгууд таны хувьд хэрэгтэй байж болох юм. FreeBSD системийг (freebox) freebox дээр /etc/fstab дотор харилцагч байдлаар зааж өгөх жишээ: fastws:/sharedfs /project nfs rw,-r=1024 0 0 freebox дээр гараар холбохдоо: &prompt.root; mount -t nfs -o -r=1024 fastws:/sharedfs /project FreeBSD системийг (freebox) fastws дээр /etc/fstab дотор сервер байдлаар зааж өгөх жишээ: freebox:/sharedfs /project nfs rw,-w=1024 0 0 fastws дээр гараар холбохдоо: &prompt.root; mount -t nfs -o -w=1024 freebox:/sharedfs /project Бараг бүх 16-битийн Ethernet адаптерийн хувьд унших ба бичих хэмжээн дээр дээрх байдлаар хязгаарлалт хийлгүйгээр ажиллах боломжтой байдаг. Сонирхсон улсуудад толилуулахад, дээрх алдаа гарахад чухам юу тохиолддог, яагаад засагдах боломжгүй болох талаар дор тайлбарлав. NFS нь голчлон 8 K (хэдийгээр илүү бага хэмжээтэй хэсэг дээр ажиллаж чадах боловч) хэмжээтэй блокууд дээр ажилладаг. Хамгийн урт Ethernet пакет 1500 байт орчим байх ба, NFS блок нь хэд хэдэн Ethernet пакетуудад хуваагдах хэрэгтэй болдог. Дээд түвшний програмын хувьд энэ нь нэг нэгж хэвээр байх ба хүлээж аваад, нийлүүлээд, бататгал хийхэд ч мөн нэг нэгж хэвээр байдаг. Өндөр үзүүлэлттэй ажлын машинууд NFS нэгжийг бүрдүүлж байгаа тэдгээр пакетуудыг стандартад заасны дагуу аль болох ойрхон ойрхон, нэг нэгээр нь цувуулж гаргана. Жижиг, бага багтаамжтай картууд дээр, дээд түвшний програмд дамжуулахаас өмнө сүүлийн пакет нь өмнөх пакетаа дарснаар тухайн нэгжийг буцааж нийлүүлж, бататгах боломжгүй болно. Үүнээс болж, ажлын машины болзоот хугацаа дуусаж бүхэл бүтэн 8 K нэгжийг дахин дамжуулах болно. Энэ үйл ажиллагаа дахин дахин хязгааргүй давтагдах болно. Нэгжийн хэмжээг Ethernet пакетийн хэмжээнээс бага байлгаснаар, бид Ethernet пакет тус бүрийг бататгаж мухардалд орохоос сэргийлж чадна. Өндөр үзүүлэлттэй ажлын машинууд PC систем рүү өгөгдлийг цацсаар байх үед давхцал үүссээр байх боловч, илүү сайн карт ашигласнаар NFS нэгжийн хувьд заавал тийм давхцал үүсэх албагүй болно. Давхцал үүссэн тохиолдолд, түүнд өртсөн нэгжийг дахин дамжуулах ба түүнийг хүлээн авч, нийлүүлж, бататгах боломж өндөртэй. Билл Свингл Бичсэн Эрик Огрен Сайжруулсан Удо Эрделхофф Лодойсамбын Баянзул Орчуулсан Сүлжээний Мэдээллийн Систем (NIS/YP) Энэ юу вэ? NIS Solaris HP-UX AIX Linux NetBSD OpenBSD NIS, нь Network Information Services буюу Сүлжээний Мэдээллийн Үйлчилгээнүүд гэсэн үгийн товчлол бөгөөд &unix; (анхандаа &sunos;) системүүдийн удирдлагыг төвлөрүүлэх зорилгоор Sun Microsystems анх хөгжүүлсэн. Одоо энэ салбарын үндсэн стандарт болжээ; бүх гол &unix; төрлийн системүүд (&solaris;, HP-UX, &aix;, Линукс, NetBSD, OpenBSD, FreeBSD, гэх мэт) NIS-г дэмждэг. шар хуудасNIS NIS анх Yellow Pages буюу Шар Хуудас гэсэн нэртэй байсан боловч худалдааны тэмдгийн асуудлаас болж Sun нэрийг нь сольсон. Хуучин нэр (ба yp) нь одоо хир нь хэрэглэгдсээр байдаг. NIS домэйнууд Энэ нь RPC дээр үндэслэсэн, нэг NIS домэйнд байгаа бүлэг машинууд дундаа адилхан тохиргооны файлтай боломжийг олгодог харилцагч/сервер систем юм. Үүний тусламжтай системийн администратор NIS харилцагч системийг зайлшгүй байх үндсэн тохиргоотойгоор үүсгэх, тохиргооны өгөгдлийг нэг дор нэмэх, хасах, өөрчлөх зэрэг үйлдлүүдийг хийх боломжтой болдог. Windows NT Энэ нь &windowsnt;-н домэйн системтэй төстэй. Хэдийгээр тэдгээрийн дотоод ажиллагаа нь ердөө ч адилхан биш боловч үндсэн үүргийг нь адилтгаж болох юм. Таны мэдэж байх ёстой Нэр томъёо/Процессууд NIS сервер эсвэл NIS харилцагч байдлаар ажилладаг NIS-г FreeBSD дээр зохион байгуулахын тулд нилээд хэдэн нэр томъёо, чухал хэрэглэгчийн процессуудтай та тааралдах болно: rpcbind portmap Нэр томъёо Тайлбар NIS домэйн нэр NIS мастер сервер болон түүний бүх харилцагчид (түүний зарц серверийг оруулаад) бүгд NIS домэйн нэртэй байна. &windowsnt;-н домэйн нэртэй адилаар, NIS домэйн нэр DNS-тэй ямар ч хамаагүй. rpcbind RPC-г (Remote Procedure Call буюу Алсын Процедур Дуудах, NIS-н ашигладаг сүлжээний протокол) идэвхтэй байлгахын тулд заавал ажиллаж байх ёстой. Хэрэв rpcbind ажиллахгүй бол, NIS сервер ажиллуулах, NIS харилцагч болох боломжгүй. ypbind NIS харилцагчийг NIS сервертэй холбоно. NIS домэйн нэрийг системээс авч, RPC ашиглан сервертэй холбоно. ypbind нь NIS орчны харилцагч-серверийн харилцааны цөм нь болж өгдөг; Хэрэв харилцагчийн машин дээр ypbind үхвэл, NIS сервер рүү хандах боломжгүй болно. ypserv Зөвхөн NIS сервер дээр ажиллаж байх ёстой; энэ бол NIS сервер процесс өөрөө юм. Хэрэв &man.ypserv.8; үхвэл, сервер NIS хүсэлтэд хариу өгөх боломжгүй болно (магадгүй, түүний үүргийг үргэлжлүүлэх зарц сервер байгаа байх). Зарим NIS-н хувьд (FreeBSD-гийх биш), анх холбогдож байсан сервер байхгүй болбол өөр сервертэй холбоо тогтоохыг оролддоггүй хувилбарууд байдаг. Ихэнхдээ, ийм үед ганц тус болох зүйл бол сервер процессийг дахин эхлүүлэх (эсвэл серверийг бүхлээр нь), эсвэл харилцагч талын ypbind процессийг дахин эхлүүлэх юм. rpc.yppasswdd Зөвхөн NIS эзэн сервер дээр ажиллаж байх ёстой өөр нэг процесс; Энэ дэмон NIS харилцагч нарыг өөрсдийн нэвтрэх үгийг солих боломжийг олгоно. Хэрэв энэ дэмон ажиллахгүй бол, хэрэглэгчид NIS эзэн сервер рүү нэвтэрч орон тэнд нэвтрэх үгээ солих хэрэгтэй болно. Хэрхэн ажилладаг вэ? NIS орчинд гурван төрлийн хост байна: эзэн сервер, зарц сервер, ба харилцагч. Серверүүд нь хостуудын тохиргооны мэдээллийг хадгалсан агуулахын үүргийг гүйцэтгэнэ. Эзэн сервер энэ мэдээллийн бүрэн эрхтэй хуулбарыг хадгалж байдаг бол, зарц сервер нь энэ мэдээллийн хуулбарыг нөөцөнд хадгалж байдаг. Серверүүд харилцагчдыг эдгээр мэдээллээр хангана. Олон файлд байгаа мэдээллийг энэ маягаар хуваалцаж хэрэглэнэ. master.passwd, group, ба hosts гэсэн файлуудыг ихэвчлэн NIS тусламжтай хуваалцана. Эдгээр файлд байдаг мэдээлэл харилцагч талын нэг процессод хэрэгтэй боллоо гэхэд түүнийг өөрийн дотоодоос хайхын оронд түүнд оноогдсон NIS серверээс асуулга хийнэ. Машины төрөл NIS эзэн сервер NIS эзэн сервер. Энэ сервер, &windowsnt;-н анхдагч домэйн сервер хянагчийн нэг адил, NIS харилцагчдын хэрэгцээний бүх файлуудыг агуулсан байна. passwd, group ба NIS харилцагчийн хэрэглэх бусад олон файлууд эзэн сервер дээр байна. Нэг машин нэгээс олон NIS домэйны хувьд NIS эзэн сервер байж болно. Гэхдээ, энд бид бага хэмжээний NIS орчны талаар ярилцах тул энэ талаар энд үзэхгүй. NIS зарц сервер NIS зарц сервер. &windowsnt;-н нөөц домэйн хянагчтай адилаар, NIS зарц сервер нь NIS эзэн серверийн өгөгдлийн файлын хуулбарыг хадгална. NIS зарц серверүүд нь нөөцөнд байдаг. Тэдгээр нь мөн эзэн серверийн ачааллыг хуваалцаж байдаг: NIS Харилцагчид нь хамгийн түрүүнд хариу өгсөн серверт холбогдох ба үүний тоонд зарц серверүүд ч бас орно. NIS харилцагч NIS харилцагч. NIS харилцагч нь ихэнх &windowsnt; ажлын машины адилаар, NIS серверт шалгуулж (эсвэл &windowsnt; ажлын машины хувьд &windowsnt; домэйн хянагчид) нэвтэрнэ. NIS/YP-г хэрэглэх нь Энэ хэсэгт жишээ NIS орчныг үүсгэх болно. Төлөвлөх Та өөрийгөө нэгэн их сургуулийн жижигхэн лабораторын администратор гэж бод. Энэ лаб 15 FreeBSD машинаас бүрдэх ба одоогоор төвлөрсөн удирдлага байхгүй; машин бүр өөрийн /etc/passwd ба /etc/master.passwd файлуудтай. Эдгээр файлуудыг адилхан байлгахын тулд гараараа зөөж тавьдаг; одоогийн байдлаар лабораторид шинэ хэрэглэгч нэмэхийн тулд, бүх 15 машин дээр нэг бүрчлэн adduser тушаалыг оруулах хэрэгтэй байгаа. Мэдээж үүнийг өөрчлөх хэрэгтэй, иймээс та лабораторидоо NIS хэрэглэхээр боллоо. Машинуудаасаа хоёрыг нь сервер болгохоор сонгож авлаа. Тиймээс, лабораторын тохиргоо дараах байдалтай байна: Машины нэр IP хаяг Машины үүрэг ellington 10.0.0.2 NIS эзэн coltrane 10.0.0.3 NIS зарц basie 10.0.0.4 Факультетийн ажлын машин bird 10.0.0.5 Харилцагч машин cli[1-11] 10.0.0.[6-17] Бусад харилцагч машинууд Хэрэв та NIS зураглалыг анх удаа хийж байгаа бол, хаанаас эхлэхээ эхлээд сайн бодох хэрэгтэй. Сүлжээ чинь ямар ч хэмжээтэй байж болно, гол нь хэд хэдэн сонголт хийх хэрэгтэй. NIS Домэйн Нэрийг сонгох нь NIS домэйннэр Өөрийн тань байнга хэрэглэдэг домэйн нэр байж болохгүй. Залруулж хэлбэл NIS домэйн нэр байх ёстой. Харилцагч мэдээлэл олж авахын тулд хүсэлтээ цацах үед NIS домэйн нэрийг хэрэглэнэ. Үүгээр нэг сүлжээнд байгаа олон серверүүд хэн нь хэний асуултанд хариулах ёстойгоо мэдэж авна. NIS домэйн нэрийг хоорондоо ямар нэг байдлаар хамаатай бүлэг хостын нэр гэж ойлгож болно. Зарим байгууллагууд өөрийн Интернэтийн домэйн нэрийг NIS домэйн нэрээр хэрэглэх нь байдаг. Энэ нь сүлжээний ямар нэг асуудлыг задлан шинжлэх явцад түвэг удах тул энэ аргыг зөвлөдөггүй. NIS домэйн нэр нь сүлжээний орчинд цор ганц байх ёстой бөгөөд төлөөлж байгаа бүлэг машинаа онцолсон нэр байвал дөхөм байдаг. Жишээлбэл, Acme Inc. компаний Урлагийн хэлтэс acme-art гэсэн NIS домэйнтой байж болох юм. Бид өөрсдийн жишээндээ test-domain гэсэн домэйн нэрийг авлаа. SunOS Гэвч, зарим үйлдлийн системүүд (цохон дурдвал &sunos;) өөрийн NIS домэйн нэрийг Интернэт домэйн нэрээр хэрэглэдэг. Хэрэв таны сүлжээний нэг болон түүнээс дээш тооны машин ийм асуудалтай бол, та Интернэт домэйн нэрээ NIS домэйндоо хэрэглэх ёстой. Серверт тавигдах шаардлагууд NIS серверт зориулсан машин сонгон авахдаа анхаарах хэд хэдэн зүйлс бий. NIS-тэй холбоотой нэг учир дутагдалтай зүйл бол харилцагчдын серверээс хамаарах хамаарал юм. Хэрэв харилцагч өөрийн NIS домэйныг асуухаар сервертэй холбогдож чадахгүй бол, тэр машин ашиглагдах боломжгүй болдог. Хэрэглэгч болон бүлгийн мэдээлэл дутуугаас ихэнх системүүд түр хугацаанд зогсдог. Тиймээс, дахин дахин асааж унтраалгаад байхааргүй, эсвэл туршилтад хэрэглэгдэхээр машиныг сонгох хэрэгтэй. NIS сервер нь тусдаа, зөвхөн NIS серверт зориулагдсан машин байх ёстой. Хэрэв ачаалал багатай сүлжээнд ажиллаж байгаа бол, NIS серверийг өөр үйлчилгээ ажиллаж байгаа машин дээр тавьж болох талтай. Хамгийн гол нь NIS сервер чинь ажиллахгүй болбол, бүх NIS харилцагчид чинь мөн ажиллахгүй болохыг санаарай. NIS Серверүүд Бүх NIS мэдээлэл он цагийн дарааллаараа NIS эзэн сервер дээр хадгалагдаж байдаг. Энэ мэдээллийг хадгалж байгаа өгөгдлийн санг NIS буулгалт гэж нэрлэнэ. FreeBSD-д, эдгээр буулгалтууд /var/yp/[domainname] файл дотор байрлана. [domainname] нь NIS домэйн нэр болно. Нэг NIS сервер хэд хэдэн домэйныг зэрэг агуулж чадах тул домэйн тус бүрт зориулсан хэд хэдэн ийм сан байж болно. Домэйн бүр өөрийн гэсэн буулгалтуудтай байна. NIS эзэн болон зарц серверүүд бүх NIS хүсэлтийг ypserv дэмоны тусламжтай удирдаж явуулна. ypserv нь NIS харилцагч нараас ирж буй хүсэлтийг хүлээн авч, домэйныг хөрвүүлэн, уг домэйн нэрд харгалзах өгөгдлийн файлын замыг хайж олоод, өгөгдлийг буцаан харилцагчид дамжуулах үүрэгтэй. NIS Эзэн Серверийг зохион байгуулах нь NIS серверийн тохиргоо Эзэн NIS серверийг зохион байгуулах нь харьцангуй ойлгомжтой. FreeBSD нь бэлэн NIS суучихсан ирдэг. Зөвхөн /etc/rc.conf файл дотор дараах мөрүүдийг нэмэхэд л хангалттай, үлдсэнийг нь FreeBSD таны өмнөөс хийгээд өгөх болно. nisdomainname="test-domain" Энэ мөр сүлжээ асахад (жишээ нь, систем дахин ачаалсны дараа) NIS домэйн нэрийг test-domain болгоно. nis_server_enable="YES" Энэ мөр нь сүлжээ асахад NIS сервер процессуудыг асаахыг хэлж өгнө. nis_yppasswdd_enable="YES" Энэ мөр нь rpc.yppasswdd дэмонг идэвхжүүлнэ. Дээр хэлсэнчлэн, энэ дэмон нь харилцагч машин дээрээс хэрэглэгч өөрийн NIS нэвтрэх үгийг солих боломжтой болгодог. Таны NIS тохиргооноос хамааран, нэмэлт мөрүүдийг оруулах хэрэгтэй болж магадгүй. NIS сервер мөртлөө давхар NIS харилцагч серверийн тухай хэсгээс, доор, дэлгэрэнгүй мэдээллийг авна уу. Одоо, супер хэрэглэгчийн эрхээр /etc/netstart тушаалыг өгөх л үлдлээ. Энэ нь таны /etc/rc.conf файл дотор тодорхойлж өгсөн утгуудыг ашиглан бүх зүйлсийг таны өмнөөс хийх болно. NIS Буулгалтуудыг эхлүүлэх нь NIS буулгалтууд NIS буулгалтууд нь өгөгдлийн сангийн файлууд бөгөөд /var/yp сан дотор хадгалагдана. Тэдгээрийг NIS эзэн серверийн /etc сан дотор байгаа /etc/master.passwd файлаас бусад тохиргооны файлуудаас үүсгэдэг. Энэ нь их учиртай. Мэдээж та өөрийн root болон удирдах эрхтэй дансуудынхаа нэвтрэх үгийг NIS домэйн дахь бүх сервер дээр тарааж тавих хүсэлгүй байгаа биз дээ. Тиймээс, NIS буулгалтуудыг эхлүүлэхийн өмнө, дараах зүйлсийг хийх хэрэгтэй: &prompt.root; cp /etc/master.passwd /var/yp/master.passwd &prompt.root; cd /var/yp &prompt.root; vi master.passwd Системийн дансуудад хамаарах мөрүүдийг (bin, tty, kmem, games, гэх мэт), мөн NIS харилцагч дээр тарааж тавих хүсэлгүй байгаа дансуудад хамаарах мөрүүдийг (жишээлбэл root ба бусад UID 0 (супер хэрэглэгчийн) дансууд) бүгдийг устгах хэрэгтэй. /var/yp/master.passwd файл бүлгийн болон нийтийн хувьд унших эрхгүй (600 төлөв) байгааг нягтална уу! Шаардлагатай бол chmod тушаалыг хэрэглээрэй. Tru64 UNIX Дээр дурдсаныг гүйцэтгэж дууссаны дараа, сая NIS буулгалтуудыг эхлүүлнэ! FreeBSD нь танд үүнийг хийж өгөх ypinit нэртэй скриптийг (холбогдох заавар хуудаснаас дэлгэрэнгүй мэдээллийг авна уу) агуулж байдаг. Энэ скрипт ихэнх &unix; үйлдлийн системд байдаг боловч, заримд нь байхгүй байх тохиолдол бий. Digital UNIX/Compaq Tru64 UNIX дээр энэ скрипт ypsetup гэсэн нэртэй байдаг. Бид NIS эзэн серверийн хувьд буулгалтуудыг үүсгэж байгаа тул ypinit тушаалыг тохируулгын хамт өгнө. Дээрх алхмуудыг бүгдийг хийсний дараа, NIS буулгалтуудыг үүсгэхдээ дараах тушаалыг өгнө: ellington&prompt.root; ypinit -m test-domain Server Type: MASTER Domain: test-domain Creating an YP server will require that you answer a few questions. Questions will all be asked at the beginning of the procedure. Do you want this procedure to quit on non-fatal errors? [y/n: n] n Ok, please remember to go back and redo manually whatever fails. If you don't, something might not work. At this point, we have to construct a list of this domains YP servers. rod.darktech.org is already known as master server. Please continue to add any slave servers, one per line. When you are done with the list, type a <control D>. master server : ellington next host to add: coltrane next host to add: ^D The current list of NIS servers looks like this: ellington coltrane Is this correct? [y/n: y] y [..output from map generation..] NIS Map update completed. ellington has been setup as an YP master server without any errors. ypinit нь /var/yp/Makefile.dist/var/yp/Makefile-г үүсгэсэн байх ёстой. Үүсэхдээ, энэ файл таныг ганц NIS сервертэй орчинд зөвхөн FreeBSD машинуудтай ажиллаж байна гэж үзнэ. test-domain нь зарц сервертэй тул, та /var/yp/Makefile файлыг засах хэрэгтэй: ellington&prompt.root; vi /var/yp/Makefile Доорх мөрийг далдлах хэрэгтэй NOPUSH = "True" (хэрэв далдлагдаагүй бол). NIS Зарц Серверийг зохион байгуулах нь NIS зарц сервер NIS зарц серверийг зохион байгуулах нь эзэн серверийг зохион байгуулахаас ч хялбар байдаг. Зарц сервер рүү нэвтэрч ороод түрүүн хийсэн шигээ /etc/rc.conf файлыг засах хэрэгтэй. Ганц ялгаа нь ypinit тушаалыг өгөхдөө тохируулгыг өгнө. тохируулга нь NIS эзэн серверийн нэрийг хамт оруулахыг шаардах тул бидний тушаалын мөр дараах байдалтай байна: coltrane&prompt.root; ypinit -s ellington test-domain Server Type: SLAVE Domain: test-domain Master: ellington Creating an YP server will require that you answer a few questions. Questions will all be asked at the beginning of the procedure. Do you want this procedure to quit on non-fatal errors? [y/n: n] n Ok, please remember to go back and redo manually whatever fails. If you don't, something might not work. There will be no further questions. The remainder of the procedure should take a few minutes, to copy the databases from ellington. Transferring netgroup... ypxfr: Exiting: Map successfully transferred Transferring netgroup.byuser... ypxfr: Exiting: Map successfully transferred Transferring netgroup.byhost... ypxfr: Exiting: Map successfully transferred Transferring master.passwd.byuid... ypxfr: Exiting: Map successfully transferred Transferring passwd.byuid... ypxfr: Exiting: Map successfully transferred Transferring passwd.byname... ypxfr: Exiting: Map successfully transferred Transferring group.bygid... ypxfr: Exiting: Map successfully transferred Transferring group.byname... ypxfr: Exiting: Map successfully transferred Transferring services.byname... ypxfr: Exiting: Map successfully transferred Transferring rpc.bynumber... ypxfr: Exiting: Map successfully transferred Transferring rpc.byname... ypxfr: Exiting: Map successfully transferred Transferring protocols.byname... ypxfr: Exiting: Map successfully transferred Transferring master.passwd.byname... ypxfr: Exiting: Map successfully transferred Transferring networks.byname... ypxfr: Exiting: Map successfully transferred Transferring networks.byaddr... ypxfr: Exiting: Map successfully transferred Transferring netid.byname... ypxfr: Exiting: Map successfully transferred Transferring hosts.byaddr... ypxfr: Exiting: Map successfully transferred Transferring protocols.bynumber... ypxfr: Exiting: Map successfully transferred Transferring ypservers... ypxfr: Exiting: Map successfully transferred Transferring hosts.byname... ypxfr: Exiting: Map successfully transferred coltrane has been setup as an YP slave server without any errors. Don't forget to update map ypservers on ellington. Одоо /var/yp/test-domain нэртэй сан үүссэн байх ёстой. NIS эзэн серверийн буулгалтуудын хуулбарууд энэ сан дотор байх ёстой. Эдгээр файлууд шинэчлэгдэж байгаа эсэхийг нягтлаж байх хэрэгтэй. Таны зарц серверийн /etc/crontab доторх дараах мөрүүд үүнийг хийх болно: 20 * * * * root /usr/libexec/ypxfr passwd.byname 21 * * * * root /usr/libexec/ypxfr passwd.byuid Энэ хоёр мөр нь зарц сервер өөрийн буулгалтуудыг эзэн сервертэй ижилхэн байлгахыг хүчилнэ. Хэдийгээр эдгээр мөрүүдийг заавал хэрэглэх шаардлагагүй боловч, эзэн сервер өөрийх нь NIS буулгалтад гарсан өөрчлөлтүүд зарц серверүүдийн хувьд дамжигдсан эсэхийг шалгадаг, нэвтрэх үгийн тухай мэдээлэл нь системийн хувьд амин чухал зэргээс дээрх шинэчлэлтийг хүчлэх нь зүгээр. Одоо, зарц сервер талд мөн /etc/netstart тушаалыг өгч NIS серверийг ажиллуулна. NIS Харилцагчид NIS харилцагч нь ypbind дэмоны тусламжтай тодорхой нэг NIS сервертэй холбоо тогтооно. ypbind системийн анхдагч домэйныг шалгах ба (domainname тушаалаар өгөгдсөн), дотоод сүлжээнд RPC хүсэлтийг цацаж эхлэнэ. Эдгээр хүсэлтүүд нь ypbind-н холбоо тогтоох гэж байгаа домэйн нэрийг зааж өгнө. Хэрэв тухайн домэйнд үйлчлэхээр тохируулагдсан сервер дээрх хүсэлтийг хүлээн авбал, ypbind-д хариу өгөх ба хариуг хүлээж авсан тал серверийн хаягийг тэмдэглэж авна. Хэрэв хэд хэдэн сервер хариу өгсөн бол (нэг эзэн ба хэд хэдэн зарц), ypbind хамгийн түрүүнд хариу өгсөн серверийг сонгон авна. Түүнээс хойш, харилцагч өөрийн бүх NIS хүсэлтүүдээ тэр сервер рүү явуулна. ypbind нь хааяа сервер амьд байгаа эсэхийг нягтлахын тулд ping хийж үзнэ. Хэрэв хангалттай хугацааны дотор хариу хүлээж аваагүй бол, ypbind энэ домэйнтой холбоо тасарлаа гэж үзээд өөр сервер олохын тулд хүсэлтээ цацаж эхэлнэ. NIS Харилцагчийг зохион байгуулах NIS харилцагчийг тохируулах нь FreeBSD машин дээр NIS харилцагчийг зохион байгуулах нь нилээд хялбар байдаг. /etc/rc.conf файлыг нээгээд, NIS домэйн нэрийг зааж өгөх ба сүлжээ асах үед ypbind-г ажиллуулдаг болгохын тулд дараах мөрүүдийг нэмж бичнэ: nisdomainname="test-domain" nis_client_enable="YES" NIS серверээс хэрэгтэй нэвтрэх үгүүдийг импортолж авахын тулд /etc/master.passwd файл дотор байгаа бүх хэрэглэгчийн дансыг устгаад, файлын төгсгөлд дараах мөрийг нэмэхийн тулд vipw тушаалыг ашиглана: +::::::::: Энэ мөр нь NIS серверийн нэвтрэх үгийн буулгалтад байгаа хүчинтэй хэрэглэгчид данс олгоно. Энэ мөрийг өөрчлөх замаар NIS харилцагчийг хэд хэдэн янзаар тохируулж болно. Дэлгэрэнгүй мэдээллийг доорх netgroups section хэсгээс үзнэ үү. Цааш гүнзгийрүүлэн судлах хүсэлтэй бол NFS ба NIS-г удирдах нь тухай O'Reilly-н номыг үзнэ үү. Дор хаяж нэг дотоод эрхийг (өөрөөр хэлбэл NIS-с импортолж аваагүй) /etc/master.passwd файл дотор авч үлдэх хэрэгтэй. Энэ данс wheel бүлгийн гишүүн байх ёстой. Хэрэв NIS дээр ямар нэг асуудал гарлаа гэхэд энэ эрхээр алсаас нэвтрэн орж, root болоод асуудлыг шийдвэрлэх болно. NIS серверээс бүх бүлгүүдийг импортолж авахын тулд дараах мөрийг /etc/group файлд нэмнэ: +:*:: Үүний дараа, ypcat passwd тушаалыг өгч NIS серверийн passwd буулгалтыг харж чадаж байх ёстой. NIS-н Аюулгүй байдал Ер нь ямар ч алсын хэрэглэгчийн хувьд өөрийн чинь домэйн нэрийг мэдэж байвал RPC хүсэлтийг &man.ypserv.8;-д явуулж NIS буулгалтыг харах боломжтой. Ийм төрлийн зөвшөөрөгдөөгүй үйлдлээс сэргийлэхийн тулд &man.ypserv.8; нь зөвхөн зааж өгсөн хостуудаас ирсэн хандалтыг зөвшөөрдөг securenets гэсэн функцыг агуулж байдаг. Систем анх ачаалахад, &man.ypserv.8; нь securenets-н мэдээллийг /var/yp/securenets гэсэн файлаас ачаална. Энэ замыг тохируулгаар зааж өгөх ба янз бүр байж болно. Энэ файлд сүлжээг сүлжээний багийн хамт зайгаар тусгаарлан оруулж өгсөн байна. # тэмдгээр эхэлсэн мөрүүд нь тайлбар болно. Жишээ securenets файл дараах байдалтай байна: # allow connections from local host -- mandatory 127.0.0.1 255.255.255.255 # allow connections from any host # on the 192.168.128.0 network 192.168.128.0 255.255.255.0 # allow connections from any host # between 10.0.0.0 to 10.0.15.255 # this includes the machines in the testlab 10.0.0.0 255.255.240.0 Хэрэв &man.ypserv.8;-н хүсэлт хүлээж авсан хаяг эдгээр дүрмүүдийн аль нэгэнд тохирч байвал хүсэлтийг ердийн байдлаар боловсруулна. Хэрэв энэ хаяг ямар ч дүрмэнд тохирохгүй байвал, хүсэлтийг үл анхаарах бөгөөд анхааруулах бичлэгийг бүртгэлд нэмнэ. Хэрэв /var/yp/securenets гэсэн файл байхгүй бол, ypserv нь гаднаас ирсэн бүх хүсэлтийг хүлээн авна. ypserv програм нь Wietse Venema-н TCP Wrapper багцыг дэмждэг. Энэ нь администраторуудын хувьд /var/yp/securenets-ны оронд TCP Wrapper-н тохиргооны файлыг хандалтыг хянахад хэрэглэх боломжтой болгодог. Хэдийгээр эдгээр хандалтыг хянах механизмууд нь аюулгүй байдлыг адил түвшинд хангах боловч, хоёул IP залилах халдлагад өртөмтгий байдаг. NIS-тэй холбоотой бүх урсгалыг галт хана дээрээ хааж өгөх хэрэгтэй. /var/yp/securenets хэрэглэж байгаа серверүүд хуучин TCP/IP дээр ажиллаж байгаа зүй ёсны NIS харилцагчид үйлчилж чадахгүй байж магадгүй. Учир нь, тэдгээр нь өргөн цацалт хийхдээ хост битүүдийг бүгдийг тэглэдэг ба өргөн цацалтын хаягийг тооцоолохдоо дэд сүлжээний багийг таньж чаддаггүй болно. Хэдийгээр эдгээр асуудлуудыг харилцагчийн тохиргоог өөрчилснөөр шийдэж болох боловч, бусад асуудлууд нь харилцагчийн системийг цааш ашиглах боломжгүй эсвэл /var/yp/securenets-г болиулах шаардлагатай болдог. Ийм хуучин TCP/IP дээр ажилладаг сервер дээр /var/yp/securenets-г хэрэглэх нь үнэхээр хэрэггүй бөгөөд сүлжээний ихэнх хэсэгт NIS-г ашиглах боломжгүй байдаг. TCP Wrapper-ууд TCP Wrapper багцыг ашиглах нь NIS серверийн хоцролтыг ихэсгэдэг. Энэ нэмэлт саатал нь харилцагчийн програм дээр ялангуяа ачаалал ихтэй сүлжээнд, эсвэл удаан NIS сервертэй бол хүлээх хугацаа дуусахад хүргэх талтай. Хэрэв таны харилцагч систем чинь дээрх шинж тэмдгүүдийн аль нэгийг агуулж байгаа бол та энэ харилцагч системээ NIS зарц сервер болгож өөрчлөн хүчээр өөрөөсөө өөртөө холбогдохоор тохируулах хэрэгтэй. Зарим хэрэглэгчдийн нэвтрэхийг хаах Манай лабораторын жишээн дээр, basie нэртэй нэг машин байгаа. Энэ машиныг зөвхөн багш нар хэрэглэх ёстой. Бид энэ машиныг NIS домэйн дотроос гаргахыг хүсэхгүй байгаа, дээр нь эзэн NIS сервер дээр байгаа passwd файл нь багш нар болон оюутнуудын дансыг хоёуланг агуулж байгаа. Бид одоо яах ёстой вэ? NIS өгөгдлийн сан дотор бүртгэл нь байгаа ч, зарим хэрэглэгчдийг тухайн машин руу нэвтрэхийг хаах нэг арга байна. Үүний тулд -username гэсэн мөрийг харилцагч машин дээр /etc/master.passwd файлын төгсгөлд нэмэх хэрэгтэй. Энд username гэдэг нь нэвтрэхийг нь хаах гэж байгаа хэрэглэгчийн нэр юм. Дээрх үйлдлийг хийхдээ vipw-г ашиглахыг зөвлөж байна. vipw нь /etc/master.passwd файл дотор хийгдсэн өөрчлөлтийг хянах бөгөөд өөрчлөлт хийж дууссаны дараа нэвтрэх үгийн санг автоматаар дахин үүсгэж өгдөг. Жишээ нь, хэрэв бид bill гэсэн хэрэглэгчийг basie хост дээр нэвтрэхийг хаахыг хүсэж байгаа бол: basie&prompt.root; vipw [add -bill to the end, exit] vipw: rebuilding the database... vipw: done basie&prompt.root; cat /etc/master.passwd root:[password]:0:0::0:0:The super-user:/root:/bin/csh toor:[password]:0:0::0:0:The other super-user:/root:/bin/sh daemon:*:1:1::0:0:Owner of many system processes:/root:/sbin/nologin operator:*:2:5::0:0:System &:/:/sbin/nologin bin:*:3:7::0:0:Binaries Commands and Source,,,:/:/sbin/nologin tty:*:4:65533::0:0:Tty Sandbox:/:/sbin/nologin kmem:*:5:65533::0:0:KMem Sandbox:/:/sbin/nologin games:*:7:13::0:0:Games pseudo-user:/usr/games:/sbin/nologin news:*:8:8::0:0:News Subsystem:/:/sbin/nologin man:*:9:9::0:0:Mister Man Pages:/usr/share/man:/sbin/nologin bind:*:53:53::0:0:Bind Sandbox:/:/sbin/nologin uucp:*:66:66::0:0:UUCP pseudo-user:/var/spool/uucppublic:/usr/libexec/uucp/uucico xten:*:67:67::0:0:X-10 daemon:/usr/local/xten:/sbin/nologin pop:*:68:6::0:0:Post Office Owner:/nonexistent:/sbin/nologin nobody:*:65534:65534::0:0:Unprivileged user:/nonexistent:/sbin/nologin +::::::::: -bill basie&prompt.root; Удо Эрделхофф Хувь нэмрээ оруулсан Лодойсамбын Баянзул Орчуулсан Netgroups-г Хэрэглэх нь netgroups Цөөхөн тооны машин эсвэл хэрэглэгчийн хувьд тусгай дүрэм хэрэгтэй үед өмнөх хэсэгт дурдсан аргыг хэрэглэх нь илүү тохиромжтой. Харин том сүлжээний хувьд зарим хэрэглэгчийн чухал машин руу нэвтрэх эрхийг хаахаа мартах, эсвэл бүх машиныг нэг бүрчлэн гараараа тохируулж өгөх, өөрөөр хэлбэл NIS-н төвлөрсөн удирдлага гэсэн гол санааг ашиглаж чадахгүй байх тохиолдлууд гарах болно. NIS-г хөгжүүлэгчид энэ асуудлыг шийдэхийн тулд netgroups буюу сүлжээний бүлгүүд гэсэн шинэ зүйлийг бий болгожээ. Түүний зорилго болон семантикийг &unix; файл системийн жирийн бүлэгтэй дүйцүүлж болох юм. Гол ялгаанууд нь гэвэл тоон дугаар байхгүй, мөн сүлжээний бүлгийг тодорхойлж өгөхдөө хэрэглэгч болон өөр сүлжээний бүлгийг оруулж болдог. Сүлжээний бүлэг нь хэдэн зуун хэрэглэгч болон машинтай том, төвөгтэй сүлжээтэй ажиллахад зориулж бүтээгдсэн юм. Нэг талаар, хэрэв та үнэхээр тийм том сүлжээнд ажиллаж байгаа бол энэ нь Сайн Зүйл юм. Харин нөгөө талаас, энэ байдал нь жижигхэн сүлжээнд хялбар жишээн дээр сүлжээний бүлгийг тайлбарлах бараг боломжгүй болгож байна. Энэ хэсгийн үлдсэн хэсэгт хэрэглэж байгаа жишээн дээр энэ асуудлыг харуулахыг оролдлоо. NIS-г лабораторидоо нэвтрүүлсэн тань танай удирдлагуудын анхаарлыг татсан гэж бодьё. Одоо оюутны хотхон дотор байгаа бусад машиныг NIS домэйнд оруулж өргөтгөх ажлыг хийхийг танд даалгажээ. Дараах хоёр хүснэгтэнд шинээр нэмэх хэрэглэгч болон машины нэрийг товч тайлбарын хамт үзүүллээ. Хэрэглэгчийн нэр Тайлбар alpha, beta IT хэлтсийн ердийн ажилчид charlie, delta IT хэлтсийн шинэ дагалдан echo, foxtrott, golf, ... бусад ердийн ажилчид able, baker, ... дадлагажигчид Машины нэр Тайлбар war, death, famine, pollution Таны хамгийн чухал серверүүд. Зөвхөн IT хэлтсийн ажилчид л нэвтрэх эрхтэй. pride, greed, envy, wrath, lust, sloth Харьцангуй чухал биш серверүүд. IT хэлтэст харъяалагддаг бүх хүмүүс нэвтрэх эрхтэй. one, two, three, four, ... Ердийн ажлын машинууд. Зөвхөн үндсэн ажилчид нэвтрэх эрхтэй. trashcan Чухал зүйл байхгүй маш хуучин машин. Дадлагажигчид хүртэл нэвтрэх эрхтэй. Хэрэв та дээрх хязгаарлалтуудыг тус бүрд нь хэрэглэгчийг хаах замаар хийх гэж оролдвол бүх машин дээр хаах хэрэглэгч тус бүрийн хувьд -user мөрийг passwd файл дотор нэмж өгөх ёстой болно. Хэрэв нэг л мөрийг нэмэхээ мартвал асуудалд орно гэсэн үг. Энэ байдалд сүлжээний бүлгийг ашиглах нь нилээд олон давуу талтай. Хэрэглэгч бүрийг тус тусад нь авч үзнэ; нэг хэрэглэгчийг нэг болон түүнээс дээш тооны сүлжээний бүлэгт оноож, тухайн сүлжээний бүлгийн бүх гишүүдийн хувьд нэвтрэхийг эсвэл зөвшөөрч эсвэл хаана. Хэрэв та шинэ машин нэмбэл, зөвхөн сүлжээний бүлгүүдийн хувьд л нэвтрэх эрхийг зааж өгнө. Хэрэв шинэ хэрэглэгч нэмбэл, тухайн хэрэглэгчийг нэг болон түүнээс дээш тооны сүлжээний бүлэгт нэмэхэд л хангалттай. Эдгээр өөрчлөлтүүд нь нэг нэгнээсээ хамааралгүй: хэрэглэгч ба машины бүх хувилбарт нэмэх... шаардлагагүй болно. Хэрэв та NIS-г анхнаас нь бодлоготой хийх юм бол, машинууд руу нэвтрэх эрхийг хянахдаа зөвхөн ганцхан тохиргооны файлыг өөрчлөхөд хангалттай. Хамгийн эхний алхам бол NIS сүлжээний бүлгийн буулгалтыг эхлүүлэх юм. FreeBSD-н &man.ypinit.8; нь энэ буулгалтыг анхдагч байдлаар үүсгэдэггүй, гэвч хэрэв нэгэнт үүсгэчихвэл түүний NIS-тэй ажиллах хэсэг нь энэ буулгалт дээр ажиллах чадвартай. Хоосон буулгалт үүсгэхийн тулд: ellington&prompt.root; vi /var/yp/netgroup гэж бичээд дараах зүйлсийг нэмж бичнэ. Манай жишээний хувьд, бидэнд дор хаяж дөрвөн сүлжээний бүлэг хэрэгтэй: IT ажилчид, IT дагалдангууд, ердийн ажилчид болон дадлагажигчид. IT_EMP (,alpha,test-domain) (,beta,test-domain) IT_APP (,charlie,test-domain) (,delta,test-domain) USERS (,echo,test-domain) (,foxtrott,test-domain) \ (,golf,test-domain) INTERNS (,able,test-domain) (,baker,test-domain) IT_EMP, IT_APP гэх мэт нь сүлжээний бүлгийн нэр. Хаалтан дотор байгаа бүлэг нь хэрэглэгч нэмж байгаа нь. Бүлэг доторх гурван талбар нь: Дараах зүйлүүд хүчинтэй байх хостын нэр. Хэрэв хостын нэр зааж өгөхгүй бол, бүх хостын хувьд хүчинтэй гэсэн үг. Хэрэв хостын нэр зааж өгвөл, та үл ойлгогдох, толгой эргүүлсэн хачин зүйлстэй тулгарах болно. Энэ сүлжээний бүлэгт хамаарах дансны нэр. Тухайн дансны NIS домэйн. Хэрэв та нэгээс олон NIS домэйнд харъяалагддаг азгүй залуусын нэг бол, өөрийн сүлжээний бүлэгт өөр NIS домэйноос данс импортолж болно. Эдгээр талбаруудын алинд ч орлуулагддаг тэмдэгт ашиглаж болно. Дэлгэрэнгүй мэдээллийг &man.netgroup.5; заавар хуудаснаас үзнэ үү. сүлжээний бүлгүүд Сүлжээний бүлгүүдийн нэр 8-с дээш тэмдэгт байж болохгүй, ялангуяа тухайн NIS домэйнд өөр үйлдлийн системтэй машинууд ажиллаж байгаа бол. Нэрүүд нь том жижиг үсгийн ялгаатай; сүлжээний бүлгийн нэрийг том үсгээр бичих нь хэрэглэгчийн нэр, машины нэр болон сүлжээний бүлгийн нэрийг хооронд нь ялгахад хялбар болгодог. Зарим NIS харилцагчид (FreeBSD-с бусад) олон тооны гишүүдтэй сүлжээний бүлэгтэй ажиллаж чаддаггүй. Жишээлбэл, &sunos;-н зарим хуучин хувилбарууд сүлжээний бүлэг 15-с дээш тооны гишүүн-тэй бол асуудалтай байдаг. Энэ хязгаарыг давахын тулд 15 ба түүнээс доош тооны хэрэглэгчтэй дэд сүлжээний бүлгүүд үүсгээд, дараа нь эдгээр дэд сүлжээний бүлгүүдээс тогтсон жинхэнэ сүлжээний бүлэг үүсгэх замаар үүсгэж болно: BIGGRP1 (,joe1,domain) (,joe2,domain) (,joe3,domain) [...] BIGGRP2 (,joe16,domain) (,joe17,domain) [...] BIGGRP3 (,joe31,domain) (,joe32,domain) BIGGROUP BIGGRP1 BIGGRP2 BIGGRP3 Хэрэв танд нэг сүлжээний бүлэгт 225-с дээш хэрэглэгч хэрэгтэй бол, дээрх үйлдлийг давтах маягаар цааш үргэлжлүүлж болно. Шинээр үүсгэсэн NIS буулгалтаа идэвхжүүлэх болон тараах нь амархан: ellington&prompt.root; cd /var/yp ellington&prompt.root; make Ингэснээр netgroup, netgroup.byhost ба netgroup.byuser гэсэн гурван NIS буулгалт үүсэх болно. Дээрх шинэ буулгалтууд идэвхтэй болсон эсэхийг &man.ypcat.1; ашиглан шалгаарай: ellington&prompt.user; ypcat -k netgroup ellington&prompt.user; ypcat -k netgroup.byhost ellington&prompt.user; ypcat -k netgroup.byuser Эхний тушаалын үр дүн /var/yp/netgroup файл доторхтой төстэй байх ёстой. Хэрэв та хостоор тусгайлан сүлжээний бүлэг үүсгээгүй бол хоёр дахь тушаалын үр дүнд юу ч гарах ёсгүй. Гурав дахь тушаалын тусламжтай тухайн хэрэглэгчийн сүлжээний бүлгүүдийн жагсаалтыг харахад хэрэглэгдэнэ. Харилцагчийг тохируулахад нилээд хялбар. war нэртэй серверийг тохируулахын тулд, &man.vipw.8;-г ажиллуулаад +::::::::: гэсэн мөрийг +@IT_EMP::::::::: гэсэн мөрөөр сольж бичих хэрэгтэй. Ингэснээр, зөвхөн IT_EMP сүлжээний бүлэгт заагдсан хэрэглэгчдийн мэдээлэл war-н нэвтрэх үгийн санд импортлогдож, зөвхөн эдгээр хэрэглэгчид л энэ машин руу нэвтрэх эрхтэй боллоо. Харамсалтай нь, энэ хязгаарлалт нь бүрхүүлийн ~ функцад, мөн хэрэглэгчийн нэр ба тоон дугаарыг хооронд нь хөрвүүлдэг бүх дэд програмуудад хамаатай. Өөрөөр хэлбэл, cd ~user тушаал ажиллахгүй, ls -l тушаал хэрэглэгчийн нэрийн оронд түүний тоон дугаарыг харуулах ба find . -user joe -print тушаал Тийм хэрэглэгч байхгүй гэсэн алдааны мэдээлэл өгч амжилтгүй болох болно. Үүнийг засахын тулд, бүх хэрэглэгчдийн бүртгэлийг сервер рүү нэвтрэх эрхгүйгээр импортлох хэрэгтэй болно. Үүний тулд өөр нэг мөрийг /etc/master.passwd файлд нэмж өгөх хэрэгтэй. Энэ мөр нь: +:::::::::/sbin/nologin гэсэн бичлэгийг агуулж байх ёстой бөгөөд, энэ нь бүх бүртгэлийг импортол, гэхдээ импортлогдож байгаа бүртгэлүүдийн бүрхүүлийг /sbin/nologin-р соль гэсэн утгатай. Үүнтэй адилаар passwd файлын ямар ч талбарыг /etc/master.passwd файл дахь анхдагч утгыг сольж бичсэнээр өөрчилж болно. +:::::::::/sbin/nologin гэсэн мөр +@IT_EMP::::::::: гэсэн мөрийн дараа бичигдсэн эсэхийг сайтар нягтлаарай. Үгүй бол, NIS-с импортлогдсон бүх хэрэглэгчдийн бүрхүүл /sbin/nologin болчихно шүү. Дээрх өөрчлөлтийг хийсний дараа, хэрэв IT хэлтэст шинэ ажилчин орвол, зөвхөн ганцхан NIS буулгалтыг өөрчлөх боллоо. Чухал бус бусад серверийн хувьд ижилхэн арга хэрэглэж, тэдгээрийн өөрийн /etc/master.passwd файл дотор байгаа хуучин +::::::::: мөрийг: +@IT_EMP::::::::: +@IT_APP::::::::: +:::::::::/sbin/nologin гэсэн мөрөөр сольж бичих хэрэгтэй. Ердийн ажлын машины хувьд: +@IT_EMP::::::::: +@USERS::::::::: +:::::::::/sbin/nologin байх ёстой. Ингээд бүх зүйл асуудалгүй ажиллах болно. Гэтэл хэдэн долоо хоногийн дараа дүрэм, журманд өөрчлөлт орлоо: IT хэлтэс дадлагажигч авч эхэллээ. IT хэлтсийн дадлагажигчид ердийн ажлын машин болон чухал бус серверүүдэд нэвтрэх эрхтэй; IT дагалдангууд гол сервер рүү нэвтрэх эрхтэй болжээ. Одоо IT_INTERN гэсэн шинэ сүлжээний бүлэг нэмж, энэ бүлэгт шинэ IT дадлагажигчдийг нэмээд, энэ өөрчлөлтийг бүх машины тохиргоонд оруулж эхлэх хэрэгтэй... Бидний хэлж заншсанаар: Төвлөрсөн төлөвлөгөөн дээрх алдаа, бүх юмыг орвонгоор нь эргүүлнэ. Энэ мэт тохиолдолуудад NIS-н өөр сүлжээний бүлгээс шинэ сүлжээний бүлэг үүсгэх боломж нь тус болно. Нэг боломж нь үүрэг дээр үндэслэсэн сүлжээний бүлэг юм. Жишээ нь, чухал серверүүд рүү нэвтрэх эрхийг хянахын тулд BIGSRV гэсэн нэртэй сүлжээний бүлэг үүсгэж болох ба, чухал бус серверүүдийн хувьд өөр SMALLSRV гэсэн бүрэг үүсгэж, USERBOX гэсэн гурав дахь бүлгийг ердийн ажлын машинуудад зориулж үүсгэж болох юм. Эдгээр сүлжээний бүлэг тус бүр дээрх гурван төрлийн машинд нэвтрэх эрхтэй сүлжээний бүлгүүдийг агуулна. NIS сүлжээний бүлгийн буулгалт дараах байдалтай байна: BIGSRV IT_EMP IT_APP SMALLSRV IT_EMP IT_APP ITINTERN USERBOX IT_EMP ITINTERN USERS Нэвтрэх эрхийг хязгаарлах энэ арга нь ижил төрлийн хязгаарлалттай машинуудыг нэг бүлэг болговол илүү үр дүнтэй ажиллана. Харамсалтай нь, заавал тийм байх албагүй. Ихэнх тохиолдолд, машин тус бүрээр нэвтрэх эрхийг хязгаарлах боломжтой байх шаардлага зайлшгүй тулгардаг. Машин дээр үндэслэсэн сүлжээний бүлэг тодорхойлох нь дээрх мэтийн дүрэм журамд өөрчлөлт ороход хэрэглэж болох хоёр дахь боломж юм. Энэ тохиолдолд, машин бүрийн /etc/master.passwd файл дотор +-р эхэлсэн хоёр мөр бичлэг байна. Эхнийх нь энэ машин руу нэвтрэх эрхтэй дансуудаас бүрдсэн сүлжээний бүлгийг нэмж өгнө, хоёр дахь нь бусад дансуудыг /sbin/nologin бүрхүүлтэйгээр нэмнэ. Сүлжээний бүлгийн нэрийг машины нэрийг БҮХ ҮСГИЙГ ТОМООР байхаар сонгож авах нь тохиромжтой. Өөрөөр хэлбэл, мөрүүд дараах байдалтай харагдах ёстой: +@BOXNAME::::::::: +:::::::::/sbin/nologin Бүх машины хувьд дээрх үйлдлийг хийж дууссаны дараа, өөрийн /etc/master.passwd файлыг дахин өөрчлөх шаардлагагүй болно. Бусад бүх өөрчлөлтүүдийг NIS буулгалтыг өөрчилснөөр шийдэх болно. Дээрх асуудалд тохирох сүлжээний бүлгийн буулгалтыг зарим нэмэлт өөрчлөлтүүдийн хамт дор жишээ болгож үзүүлэв: # Define groups of users first IT_EMP (,alpha,test-domain) (,beta,test-domain) IT_APP (,charlie,test-domain) (,delta,test-domain) DEPT1 (,echo,test-domain) (,foxtrott,test-domain) DEPT2 (,golf,test-domain) (,hotel,test-domain) DEPT3 (,india,test-domain) (,juliet,test-domain) ITINTERN (,kilo,test-domain) (,lima,test-domain) D_INTERNS (,able,test-domain) (,baker,test-domain) # # Now, define some groups based on roles USERS DEPT1 DEPT2 DEPT3 BIGSRV IT_EMP IT_APP SMALLSRV IT_EMP IT_APP ITINTERN USERBOX IT_EMP ITINTERN USERS # # And a groups for a special tasks # Allow echo and golf to access our anti-virus-machine SECURITY IT_EMP (,echo,test-domain) (,golf,test-domain) # # machine-based netgroups # Our main servers WAR BIGSRV FAMINE BIGSRV # User india needs access to this server POLLUTION BIGSRV (,india,test-domain) # # This one is really important and needs more access restrictions DEATH IT_EMP # # The anti-virus-machine mentioned above ONE SECURITY # # Restrict a machine to a single user TWO (,hotel,test-domain) # [...more groups to follow] Хэрэв та хэрэглэгчдийнхээ дансыг удирдахын тулд ямар нэг өгөгдлийн санг ашигладаг бол, дээрх буулгалтын эхний хэсгийг өгөгдлийн сангийнхаа тайлан бэлтгэх багажуудыг ашиглах үүсгэх боломжтой. Энэ замаар, шинэ хэрэглэгчид машинуудад хандах эрхийг автоматаар олж авах болно. Эцэст нь анхааруулж хэлэх нэг зүйл байна: Машин дээр үндэслэсэн сүлжээний бүлгийг хэрэглэхийг байнга зөвлөхгүй. Хэрэв оюутны лабораторид зориулсан, хэдэн арван эсвэл хэдэн зуун нэг ижил машинтай ажиллаж байгаа бол, NIS буулгалтыг тодорхой хэмжээнд барьж байхын тулд машин дээр үндэслэсэн сүлжээний бүлгийн оронд үүрэг дээр үндэслэсэн сүлжээний бүлгийг хэрэглэх хэрэгтэй. Санаж явах чухал зүйлс NIS орчинд ороод, өөрөөр хийх ёстой хэд хэдэн зүйлс байна. Лабораторид шинэ хэрэглэгч нэмэх бүрдээ зөвхөн эзэн NIS серверт нэмэх ёстой, ба NIS буулгалтыг заавал дахин үүсгэх ёстой. Хэрэв ингэхээ мартвал, шинэ хэрэглэгч эзэн NIS серверээс өөр хаашаа ч нэвтэрч чадахгүй болно. Жишээ нь, бид jsmith гэсэн шинэ хэрэглэгчийг лабораторид нэмэх боллоо: &prompt.root; pw useradd jsmith &prompt.root; cd /var/yp &prompt.root; make test-domain pw useradd jsmith-н оронд adduser jsmith-г мөн хэрэглэж болно. Администратор эрхтэй дансуудыг NIS буулгалтад оруулах ёсгүй. Администратор эрхээр орох ёсгүй хэрэглэгчдийн машин дээр администратор эрхтэй дансууд болон нэвтрэх үгүүдийг тараах хүсэлгүй байгаа биз дээ. NIS эзэн болон зарц серверийн аюулгүй байдлыг хангаж, ажиллахгүй байх хугацааг багасгах хэрэгтэй. Хэрэв хэн нэг нь серверт нууцаар нэвтэрч, эсвэл унтрааж орхивол хүмүүсийг лабораторын машинууд руу нэвтрэх боломжгүй болгож, саад болох болно. Энэ нь ямар ч төвлөрсөн удирдах системийн гол сул тал юм. Хэрэв та өөрийн NIS серверийг хамгаалахгүй бол, та маш олон ууртай хэрэглэгчидтэй таарах болно шүү! NIS v1 нийцтэй байдал FreeBSD-н ypserv нь NIS v1 харилцагчдад үйлчлэх зарим дэмжигчтэй ирдэг. FreeBSD-н NIS нь зөвхөн NIS v2 протоколыг хэрэглэдэг, гэхдээ бусад нь хуучин системүүдтэй нийцтэй ажиллахын тулд v1 протоколыг дэмждэг байхаар бүтээгдсэн байдаг. Эдгээр системтэй хамт ирсэн ypbind дэмонууд хэдийгээр үнэн хэрэг дээрээ хэзээ ч хэрэглэхгүй боловч NIS v1 сервертэй холболт үүсгэхийг оролддог (ба v2 серверээс хариу хүлээж авсан ч өргөн цацалт хийж хайлтаа үргэлжлүүлдэг талтай). Хэдийгээр ердийн харилцагчийн хүсэлтийг дэмждэг боловч, ypserv-н энэ хувилбар v1 буулгалтыг зөөх хүсэлттэй ажиллаж чадахгүй; иймээс, зөвхөн v1 протоколыг дэмждэг хуучин NIS серверүүдтэй холбоотойгоор эзэн эсвэл зарц байдлаар ажиллаж чадахгүй. Аз болоход, ийм серверийг одоо хэрэглэж байгаа газар байхгүй. NIS Сервер мөртлөө NIS Харилцагч Сервер машин нь мөн NIS харилцагч байдлаар ажилладаг олон сервертэй домэйнд ypserv-г ажиллуулахдаа анхааралтай байх хэрэгтэй. Ийм серверийг өргөн цацалт хийлгэж, өөр нэг сервертэй холбоо тогтоохыг зөвшөөрөхийн оронд өөрөө өөртэй нь хүчээр холбох нь ихэвчлэн дээр байдаг. Хэрэв нэг сервер унтарч, бусад серверүүд түүнээс хамааралтай байх юм бол хачин алдаанууд гарч болзошгүй. Эцэст нь бүх харилцагчдын хүлээх хугацаа дуусаж, бүгд өөр сервертэй холбогдохыг оролдох болно. Хэдийгээр бүх серверүүд холболтуудаа сэргээж буцаад хэвийн байдалдаа орсон ч, саатлаас болж харилцагчид холбогдож чадахгүй хэвээр байх болно. Хостыг ямар нэг сервертэй холбогдохыг ypbind тушаалыг тугийн хамт ажиллуулж, урдаас зааж өгч болно. Хэрэв NIS серверийг дахин ачаалах тоолонд энэ тушаалыг гараар оруулах хүсэлгүй байгаа бол, дараах мөрүүдийг өөрийн /etc/rc.conf файл дотор нэмээрэй: nis_client_enable="YES" # run client stuff as well nis_client_flags="-S NIS domain,server" Дэлгэрэнгүй мэдээллийг &man.ypbind.8; заавар хуудаснаас үзнэ үү. Нэвтрэх үгийн хэлбэр NIS нэвтрэх үгийн хэлбэр NIS-г зохион байгуулах явцад ихэвчлэн тохиолддог асуудлуудын нэг бол нэвтрэх үгийн хэлбэрийн нийцгүй байдал юм. Хэрэв таны NIS сервер DES хувиргалттай нэвтрэх үгийг хэрэглэдэг бол, зөвхөн DES хэрэглэдэг харилцагчид үйлчлэх чадвартай. Жишээлбэл, хэрэв сүлжээнд чинь &solaris; NIS харилцагчид байгаа бол, та бараг л DES хувиргалттай нэвтрэх үг хэрэглэх шаардлагатай гэсэн үг. Таны сервер болон харилцагчид ямар хэлбэрийн нэвтрэх үг хэрэглэдгийг шалгахдаа /etc/login.conf файлыг үзээрэй. Хэрэв тухайн хост DES хувиргалттай нэвтрэх үг хэрэглэдэг бол, default буюу анхдагч ангилал нь дараах мөрүүдийг агуулсан байх болно: default:\ :passwd_format=des:\ :copyright=/etc/COPYRIGHT:\ [Further entries elided] passwd_format нь өөр blf ба md5 гэсэн утгуудыг авч болно (Blowfish болон MD5 хувиргалттай нэвтрэх үгийн хувьд). Хэрэв та /etc/login.conf файлд өөрчлөлт хийсэн бол, нэвтрэх чадварын санг дахин үүсгэх шаардлагатай. Үүний тулд дараах тушаалыг root эрхээр өгөх хэрэгтэй: &prompt.root; cap_mkdb /etc/login.conf /etc/master.passwd файл дотор аль хэдийн үүссэн нэвтрэх үгийн хэлбэр нь хэрэглэгч нэвтрэх чадварын сан дахин үүссэнээс хойш анх удаа нэвтрэх үгээ солих хүртэл өөрчлөгдөхгүй. Мөн, таны сонгосон хэлбэрээр нэвтрэх үгүүдэд хувиргалт хийгддэг болгохын тулд, /etc/auth.conf файл доторх crypt_default утга таны сонгосон хэлбэрийг хамгийн түрүүнд оруулсан байгаа эсэхийг шалгах хэрэгтэй. Жишээ нь, DES хувиргалттай нэвтрэх үгийг хэрэглэх үед: crypt_default = des blf md5 &os; дээр тулгуурласан NIS сервер болон харилцагч бүр дээр дээрх үйлдлүүдийг хийснээр, нэвтрэх үгийн хэлбэр бүгд таарч байгаа гэдэгт санаа амар байж болно. Хэрэв NIS харилцагч дээр нэвтэрч ороход асуудал гарвал, асуудлыг тодруулах нэг газар байна. Хэрэв та холимог сүлжээний хувьд NIS сервер босгох гэж байгаа бол, ихэнх систем дээр зайлшгүй байх хамгийн бага стандарт тул, бүх системүүд дээрээ DES ашиглах хэрэгтэйг санаарай. Грег Саттер Бичсэн Лодойсамбын Баянзул Орчуулсан Автомат Сүлжээний Тохиргоо (DHCP) DHCP гэж юу вэ? Динамик Хостын Тохиргооны Протокол DHCP Интернэт Програм Хангамжийн Консорциум(ISC) DHCP, Dynamic Host Configuration Protocol буюу Динамик Хостын Тохиргооны Протокол нь систем ямар байдлаар сүлжээнд холбогдох, тухайн сүлжээнд харилцаанд орохын тулд шаардагдах мэдээллийг хэрхэн олж авахыг зааж өгдөг. FreeBSD-н 6.0-с өмнөх хувилбарууд ISC (Internet Software Consortium) DHCP харилцагчийг (&man.dhclient.8;) хэрэглэдэг. Хамгийн сүүлийн хувилбар дээр OpenBSD 3.7-с авсан OpenBSD-н dhclient-г хэрэглэдэг. Энэ бүлэгт гарах dhclient-р ISC ба OpenBSD DHCP харилцагчийг хоёуланг нь төлөөлүүлсэн болно. DHCP серверийн хувьд ISC тархацын серверийг авч үзэх болно. Энэ хэсэгт авч үзэх зүйлс Энэ хэсэгт ISC ба OpenBSD DHCP харилцагчийн харилцагч талыг бүтээж байгаа элементүүд, болон ISC DHCP системийн сервер талыг бүтээж байгаа элементүүдийг хоёуланг нь авч үзэх болно. Харилцагч талын програм, dhclient, нь FreeBSD-тэй нэгдмэл байдлаар ирдэг бол, сервер талын хэсэг нь net/isc-dhcp3-server портоос суулгах боломжтой байдлаар ирдэг. &man.dhclient.8;, &man.dhcp-options.5;, ба &man.dhclient.conf.5; заавар хуудсууд болон доор өгөгдсөн зөвлөмжүүд нь хэрэг болно. Хэрхэн ажилладаг вэ? UDP Харилцагч машин дээр dhclient DHCP харилцагчийг ажиллуулахад, тохиргооны мэдээллийг хүссэн хүсэлтийг цацаж эхэлнэ. Анхдагч байдлаар, эдгээр хүсэлтүүд нь UDP 68-р портоос гарч, серверийн UDP 67 порт руу илгээгдэнэ. Сервер харилцагчид IP хаяг болон сүлжээний баг, чиглүүлэгч, DNS серверийн хаяг зэрэг хэрэгтэй мэдээллийг хариу илгээнэ. Энэ бүх мэдээллийг DHCP түрээслэх хэлбэрээр өгөх ба зөвхөн тодорхой хугацааны туршид хүчинтэй байна (DHCP серверийг хариуцагч тохируулж өгсөн байна). Ийм байдлаар, сүлжээнд холбогдохоо больсон харилцагчийн ашиглагдаагүй IP хаягуудыг автоматаар буцааж авах боломжтой болно. DHCP харилцагч серверээс өргөн мэдээллийг авч чадна. Бүрэн жагсаалтыг &man.dhcp-options.5;-с олж үзэж болно. FreeBSD-тэй нэгдмэл байдал &os; нь ISC эсвэл OpenBSD DHCP харилцагч, dhclient-г өөртэйгөө бүрэн нэгтгэсэн байдаг (&os; хувилбараас хамааран). DHCP сервер ажиллаж байгаа сүлжээнд сүлжээний тохиргоог хийх нарийн чимхлүүр ажлаас хөнгөвчлөх үүднээс, DHCP харилцагчийг систем суулгагч болон үндсэн системийн аль алинд хамт оруулж өгсөн байдаг. dhclient нь FreeBSD-н 3.2-с хойших бүх тархацуудад нэгтгэгдсэн байгаа. sysinstall sysinstall нь DHCP-г дэмждэг. sysinstall-р сүлжээний интерфэйсийг тохируулахад асуудаг хоёр дахь асуулт бол: Та энэ интерфэйсийг DHCP-р тохируулахыг хүсэж байна уу?. Зөвшөөрсөн хариулт өгсөн тохиолдолд dhclient-г ажиллуулах бөгөөд, хэрэв амжилттай бол сүлжээний тохиргоо автоматаар хийгдэнэ. Систем ачаалах үед DHCP ашигладаг болгохын тулд, хоёр зүйлийг хийх хэрэгтэй: DHCP шаардлагууд bpf төхөөрөмж цөмтэй хамт эмхэтгэгдсэн байх ёстой. Үүний тулд, device bpf мөрийг цөмийн тохиргооны файлд нэмж бичээд цөмийг дахин бүтээх хэрэгтэй. Цөмийг бүтээх талаар дэлгэрэнгүй мэдээллийг хэсгээс авна уу. bpf төхөөрөмж нь FreeBSD-н GENERAL цөмийн нэг хэсэг бөгөөд, DHCP-г ажиллуулахын тулд тусгайлан шинээр цөм бүтээх шаардлагагүй. Аюулгүй байдлын талаар сэтгэл зовнидог хүмүүст зөвлөхөд, bpf нь пакет шиншлэгчдийг зөв ажиллах боломжийг олгодог төхөөрөмж болохыг анхааралдаа авна уу (хэдийгээр тэдгээр програм ажиллахын тулд root эрх хэрэгтэй боловч). DHCP-г ашиглахын тулд bpf заавал хэрэгтэй, гэвч хэрэв та аюулгүй байдлыг маш ихээр анхааралдаа авдаг бол, зөвхөн хэзээ нэгэн цагт DHCP-г ашиглахын тулд bpf-г цөмд нэмэх хэрэггүй. /etc/rc.conf файлыг нээгээд дараах мөрийг нэмж бичнэ: ifconfig_fxp0="DHCP" -д тайлбарласан ёсоор, fxp0-г динамикаар тохируулах гэж байгаа интерфэйсийн нэрээр сольж бичнэ. Хэрэв таны dhclient өөр газар байгаа бол, эсвэл хэрэв та dhclient-г нэмэлт тугуудын хамт ажиллуулах хүсэлтэй бол, дараах мөрүүдийг нэмж бичнэ үү (эсвэл шаардлагатай хэсгийг засаж бичнэ үү): dhcp_program="/sbin/dhclient" dhcp_flags="" DHCP сервер DHCP сервер dhcpd нь портуудын цуглуулгад байгаа net/isc-dhcp3-server портын нэг хэсэг байдлаар ирдэг. Энэ порт нь ISC DHCP сервер болон түүний баримтуудыг агуулсан байдаг. Файлууд DHCP тохиргооны файлууд /etc/dhclient.conf dhclient нь /etc/dhclient.conf гэсэн тохиргооны файлыг шаарддаг. Ихэвчлэн энэ файл зөвхөн тайлбаруудаас бүрдэх ба анхдагч утгууд нь харьцангуй өөрчлөх шаардлагагүйгээр өгөгдсөн байдаг. Энэ тохиргооны файлыг &man.dhclient.conf.5; заавар хуудсанд тайлбарласан байгаа. /sbin/dhclient dhclient нь статикаар холбогдсон байх ба /sbin дотор байрлана. &man.dhclient.8; хуудаснаас dhclient-н талаар дэлгэрэнгүй мэдээллийг авна уу. /sbin/dhclient-script dhclient-script нь зөвхөн FreeBSD-д байдаг, DHCP харилцагчийг тохируулах зориулалттай тусгай скрипт юм. Энэ скриптийг &man.dhclient-script.8; заавар хуудсанд тайлбарласан байх ба, ажиллуулахын тулд хэрэглэгч ямар нэг засвар хийх шаардлагагүй. /var/db/dhclient.leases DHCP харилцагч нь түрээсэлж авсан хаягуудаа агуулсан өгөгдлийн санг энэ файлд хадгалах бөгөөд бүртгэл маягаар бичдэг. &man.dhclient.leases.5; хэсэгт илүү дэлгэрэнгүй тайлбар бий. Гүнзгийрүүлэн унших DHCP протокол нь бүрэн хэмжээгээр RFC 2131-д тодорхойлогдсон байдаг. Нэмэлт эх үүсвэрүүд -д мөн бий. DHCP Серверийг Суулгах болон Тохируулах Энэ хэсэгт авч үзэх зүйлс Энэ хэсэгт ISC (Internet Software Consortium) DHCP серверийг ашиглан FreeBSD системийг хэрхэн DHCP сервер байдлаар ажиллуулах талаар авч үзэх болно. Сервер нь FreeBSD-н нэг хэсэг байдлаар ирдэггүй бөгөөд ийм үйлчилгээ үзүүлэхийн тулд net/isc-dhcp3-server портыг суулгах хэрэгтэй болдог. Портуудын цуглуулгын хэрхэн ашиглах талаар хэсгээс дэлгэрэнгүй мэдээллийг авна уу. DHCP Серверийг суулгах нь DHCP суулгах FreeBSD системийг DHCP сервер байдлаар тохируулахын тулд, &man.bpf.4; төхөөрөмж цөмд эмхэтгэгдсэн байх ёстой. Үүний тулд, цөмийн тохиргооны файл дотор bpf төхөөрөмжийг нэмээд цөмийг дахин бүтээх хэрэгтэй. Цөмийг бүтээх талаар дэлгэрэнгүй мэдээллийг хэсгээс үзнэ үү. bpf төхөөрөмж нь FreeBSD-н GENERAL цөмийн нэг хэсэг бөгөөд, DHCP-г ажиллуулахын тулд тусгайлан шинээр цөм бүтээх шаардлагагүй. Аюулгүй байдлын талаар сэтгэл зовнидог хүмүүст зөвлөхөд, bpf нь пакет шиншлэгчдийг зөв ажиллах боломжийг олгодог төхөөрөмж болохыг анхааралдаа авна уу (хэдийгээр тэдгээр програм ажиллахын тулд root эрх хэрэгтэй боловч). DHCP-г ашиглахын тулд bpf заавал хэрэгтэй, гэвч хэрэв та аюулгүй байдлыг маш ихээр анхааралдаа авдаг бол, зөвхөн хэзээ нэгэн цагт DHCP-г ашиглахын тулд bpf-г цөмд нэмэх хэрэггүй. Үүний дараа net/isc-dhcp3-server порттой хамт ирсэн жишээ dhcpd.conf файлыг засах хэрэгтэй. Анхдагч байдлаар, /usr/local/etc/dhcpd.conf.sample гэсэн файл байх ба өөрчлөлт хийхийнхээ өмнө энэ файлыг /usr/local/etc/dhcpd.conf нэртэйгээр хуулж тавих хэрэгтэй. DHCP Серверийг тохируулах DHCP dhcpd.conf dhcpd.conf нь дэд сүлжээ болон хостуудтай холбоотой өгөгдөл зарлалтаас бүрдэх ба жишээн дээр тайлбарлавал илүү амархан байх болов уу: option domain-name "example.com"; option domain-name-servers 192.168.4.100; option subnet-mask 255.255.255.0; default-lease-time 3600; max-lease-time 86400; ddns-update-style none; subnet 192.168.4.0 netmask 255.255.255.0 { range 192.168.4.129 192.168.4.254; option routers 192.168.4.1; } host mailhost { hardware ethernet 02:03:04:05:06:07; fixed-address mailhost.example.com; } Энэ тохируулга нь анхдагч хайлтын домэйн байдлаар харилцагчид өгөх домэйныг заана. Энэ талаар дэлгэрэнгүй мэдээллийг &man.resolv.conf.5; хэсгээс үзнэ үү. Энэ тохируулга нь харилцагчийн хэрэглэх ёстой DNS серверүүдийг таслалаар холбосон жагсаалт байна. Хэрэглэгчид өгөх сүлжээний багийг заана. Түрээслэлт (lease) хүчинтэй байх тийм тусгай хугацааг харилцагч хүсэж болох юм. Хэрэв харилцагч хүсээгүй бол сервер энд заасан дуусах хугацаагаар (секундээр) түрээс хийх болно. Серверийн түрээслүүлэх хамгийн дээд хугацааг заана. Харилцагч үүнээс урт хугацаагаар түрээслэх хүсэлт тавибал хүсэлтийг хүлээж авах боловч зөвхөн max-lease-time секундын туршид хүчинтэй байна. Түрээслэх болон эргүүлж авахад DHCP сервер DNS-г шинэчлэхийг оролдох шаардлагатай эсэхийг зааж өгнө. ISC шийдлийн хувьд, энэ тохируулга заавал байх ёстой. Харилцагчид оноох IP хаягуудын хүрээг заана. Энэ хүрээнд багтах IP хаягуудыг харилцагчид өгөх болно. Харилцагчид өгөх анхдагч гарцыг заана. Хостын MAC хаягийг заана (ингэснээр DHCP сервер тухайн хостыг хүсэлт тавихад таньж чадна). Хостод тогтмол IP хаяг оноохыг заана. Энд хостын нэрийг хэрэглэж болохыг тэмдэглэх хэрэгтэй. DHCP сервер IP хаяг түрээслүүлэх хариуг өгөхөөс өмнө хост нэрийг тайлах болно. dhcpd.conf файлыг бичиж дууссаны дараа, /etc/rc.conf файл дотор DHCP серверийг идэвхжүүлэх хэрэгтэй, өөрөөр хэлбэл доорх мөрүүдийг нэмж бичих хэрэгтэй: dhcpd_enable="YES" dhcpd_ifaces="dc0" dc0-г өөрийн тань DHCP сервер DHCP харилцагчдын хүсэлтийг хүлээж авах ёстой интерфэйсийн нэрээр (эсвэл интерфэйсүүдийг зайгаар тусгаарлан) сольж бичих хэрэгтэй. Дараа нь, доорх тушаалыг өгөн серверийг ажиллуулах хэрэгтэй: &prompt.root; /usr/local/etc/rc.d/isc-dhcpd.sh start Серверийнхээ тохиргооны файлд өөрчлөлт оруулах бүрдээ, SIGHUP дохиог dhcpd-д өгөх нь бусад дэмонуудын хувьд тохиргоог дахин дууддаг шиг биш харин тохиргоог дахин ачаалахгүй болохыг анхаарах хэрэгтэй. Процессийг зогсоохын тулд SIGTERM дохиог өгөх хэрэгтэй ба дээрх тушаалыг өгөн дахин эхлүүлэх хэрэгтэй. Файлууд DHCP тохиргооны файлууд /usr/local/sbin/dhcpd dhcpd нь статикаар холбогдсон байх ба /usr/local/sbin дотор байрлана. Порттой хамт суусан &man.dhcpd.8; заавар хуудаснаас dhcpd-н талаар дэлгэрэнгүй мэдээллийг авна уу. /usr/local/etc/dhcpd.conf dhcpd нь /usr/local/etc/dhcpd.conf гэсэн тохиргооны файлыг шаарддаг. Энэ файл дотор харилцагчид өгөх бүх мэдээллээс гадна серверийн өөрийн үйл ажиллагаатай холбоотой мэдээлэл байх ёстой. Энэ тохиргооны файлыг портоос суусан &man.dhcpd.conf.5; заавар хуудсанд тайлбарласан байгаа. /var/db/dhcpd.leases DHCP сервер нь түрээслүүлсэн хаягуудаа агуулсан өгөгдлийн санг энэ файлд хадгалах бөгөөд бүртгэл маягаар бичдэг. Портоос суусан &man.dhcpd.leases.5; заавар хуудсанд илүү дэлгэрэнгүй тайлбар бий. /usr/local/sbin/dhcrelay dhcrelay-г нэг DHCP сервер харилцагчаас хүлээн авсан хүсэлтийг өөр сүлжээнд байгаа нөгөө DHCP сервер рүү дамжуулдаг, нарийн бүтэцтэй орчинд хэрэглэнэ. Хэрэв энэ функцыг ашиглах шаардлагатай бол, net/isc-dhcp3-relay портыг суулгаарай. Порттой хамт ирэх &man.dhcrelay.8; заавар хуудаснаас дэлгэрэнгүй мэдээллийг авна уу. Шерн Лий Хувь нэмрээ оруулсан Том Родес Даниэл Гэрзо Лодойсамбын Баянзул Орчуулсан Домэйн Нэрийн Систем (<acronym>DNS</acronym>) Удиртгал BIND &os; анхдагч байдлаар DNS протоколын хамгийн өргөн хэрэглэгддэг хэрэгжүүлэлт болох BIND (Berkeley Internet Name Domain)-н аль нэг хувилбарыг агуулсан байдаг. DNS нь нэрүүдийг IP хаягууд руу, мөн эсрэгээр нь буулгахад хэрэглэгддэг протокол юм. Жишээ нь, www.FreeBSD.org-г асуусан DNS асуулга явуулахад, хариуд нь &os; Төсөлийн вэб серверийн IP хаяг ирэх бол, ftp.FreeBSD.org-н хувьд асуулга явуулахад, хариуд нь харгалзах FTP машины IP хаяг ирэх болно. Яг үүнтэй адилаар эсрэгээр нь хийж болно. Ямар нэг IP-р асуулга явуулахад түүний хост нэрийг олж болно. DNS хайлт хийхийн тулд тухайн системд домэйн нэрийн сервер ажиллаж байх ёстой. &os; нь одоо BIND9 DNS сервер програмын хамт ирдэг болсон. Бидний суулгац нь файл системийн шинэчилсэн зохион байгуулалт, автомат &man.chroot.8; тохиргоо зэрэг аюулгүй байдлыг дээд зэргээр хангах функцүүдтэй ирдэг. DNS DNS бол Интернэт дээр тулгуурласан, бүрэн эрхт root буюу эх сервер, Top Level Domain буюу Дээд Түвшний Домэйн (TLD) сервер, болон домэйн тус бүрийн мэдээллийг агуулж байдаг бусад жижиг нэрийн серверүүдээс бүтсэн нарийн төвөгтэй систем юм. BIND одоо Internet Software Consortium -н мэдэлд байдаг. Нэр Томъёо Энэ баримтыг ойлгохын тулд, DNS-тэй холбоотой зарим нэр томъёог ойлгосон байх шаардлагатай. resolver reverse DNS root zone Нэр Тайлбар Forward буюу Ердийн DNS Хост нэрийг IP хаяг руу буулгана. Origin буюу Үүсэл Тухайн бүсийн файлд хамрагдаж байгаа домэйныг заана. named, BIND, нэрийн сервер &os;-н BIND нэрийн серверийг нэрлэх түгээмэл нэршил. Resolver буюу Тайлагч Машин, бүсийн мэдээллийн талаар нэрийн серверээс асуулга явуулахын тулд ашигладаг системийн процесс. Reverse буюу Урвуу DNS Ердийн DNS-н урвуу нь; IP хаягийг хост нэр рүү буулгана. Root zone буюу Эх бүс Интернэт бүсийн шатлалын эхлэл. Файл системийн бүх файлууд эх санд харъяалагддаг шиг, бүх бүсүүд эх бүсэд харъяалагдана. Zone буюу Бүс Нэг бүрэн эрхт газраар удирдуулж байгаа домэйн, дэд домэйн, эсвэл DNS-н нэг хэсэг. бүсүүд жишээнүүд Бүсүүдийн жишээ: . бол эх бүс. org. бол эх бүсийн доорх Top Level Domain буюу Дээд Түвшний Домэйн (TLD). example.org. бол org. TLD-н доорх бүс. 1.168.192.in-addr.arpa бол 192.168.1.* IP хүрээнд багтаж байгаа бүх IP хаягуудыг агуулсан бүс. Хост нэр зүүн тал руугаа явах тусам илүү тодорхой болж байгааг та бүхэн анзаарсан байх. Жишээлбэл, example.org. нь org.-с илүү тодорхой, харин org. нь эх бүсээс илүү тодорхой байна. Хост нэрийн зохион байгуулалт нь файл системийнхтэй төстэй: /dev директор нь эх директорт харъяалагдана, гэх мэт. Нэрийн Сервер ажиллуулах Шалтгаанууд Нэрийн Серверүүд ихэвчлэн хоёр янз байна: authoritative буюу бүрэн эрхт нэрийн сервер, ба caching буюу түр тогтоогч нэрийн сервер. Бүрэн эрхт нэрийн сервер нь дараах тохиолдлуудад хэрэгтэй: DNS мэдээллийг өөртөө агуулж, энэ мэдээллийг нийтэд зарлан, ирсэн асуулгуудад бүрэн эрхтэйгээр хариулах хүсэлтэй үед. Бүртгэлтэй домэйны хувьд, жишээлбэл example.org, түүний дор орших хост нэрүүдэд IP хаяг оноож өгөх хэрэгтэй үед. Бүлэг IP хаягуудад урвуу DNS мэдээлэл хэрэгтэй үед (IP-с хост нэр рүү). Нөөц эсвэл хоёрдогч нэрийн сервер, зарц гэж нэрлэнэ, асуулгуудад хариулуулах шаардлагатай үед. Түр тогтоогч нэрийн сервер дараах тохиолдлуудад хэрэгтэй: Дотоод DNS сервер нь асуулгын хариуг түр тогтоосноор гадаад нэрийн серверээс илүү хурдан хариу өгч байгаа үед. www.FreeBSD.org-р асуулга явуулсан үед, тайлагч ихэвчлэн үйлчилгээ авдаг ISP-нхаа нэрийн серверээс асуугаад хариуг олж авна. Дотоод, түр тогтоогч DNS сервер ажиллуулснаар, асуулгыг гадаад интернэтээс зөвхөн ганц удаа явуулах бөгөөд, хариуг тогтоож авна. Түүнээс хойших асуулгуудад түр тогтоогч нэрийн сервер хариулах ба гадагшаа дахин асуулга явуулах шаардлага байхгүй. Хэрхэн ажилладаг вэ? &os;-д BIND дэмонг ойлгомжтойгоор named гэж нэрлэнэ. Файл Тайлбар &man.named.8; BIND дэмон. &man.rndc.8; Нэрийн серверийг хянах хэрэгсэл. /etc/namedb BIND-н бүсийн мэдээлэл хадгалагдаж байгаа сан. /etc/namedb/named.conf дэмоны тохиргооны файл. Тухайн бүс сервер дээр хэрхэн тохируулагдсанаас хамаарч энэ бүстэй хамааралтай файлууд /etc/namedb директорын master, slave, эсвэл dynamic гэсэн дэд сангуудад байрлана. Эдгээр файлуудад гадны асуулгад хариу болгон өгөх DNS мэдээллүүд байрлана. BIND-г ажиллуулах нь BIND ажиллуулах BIND нь анхдагч байдлаар суучихсан ирдэг тул тохируулахад хялбар байдаг. named-н анхдагч тохиргоо нь &man.chroot.8; орчинд ажиллах, тайлагч нэрийн сервер байдлаар хийгдсэн байдаг. Энэ тохиргоогоор серверийг ажиллуулахын тулд дараах тушаалыг өгөх хэрэгтэй: &prompt.root; /etc/rc.d/named forcestart named дэмонг систем ачаалах үед ажиллуулдаг болгохын тулд /etc/rc.conf дотор дараах мөрүүдийг нэмэх хэрэгтэй: named_enable="YES" Мэдээж /etc/namedb/named.conf файл дотор өөр олон тохируулгууд байгаа боловч энэ баримтын мэдлээс халих тул энд дурдсангүй. Хэрэв &os; дээрх named-н эхлэл тохируулгуудын талаар сонирхож байгаа бол /etc/defaults/rc.conf дотор байгаа named_* тугуудыг нэг ороод үзээрэй. Мөн &man.rc.conf.5; заавар хуудаснаас тусламж авч болно. хэсгийг уншихад илүүдэхгүй. Тохиргооны файлууд BIND тохиргооны файлууд named-н тохиргооны файлууд нь /etc/namedb директор дотор байрлах ба хэрэв хялбар тайлагчаас өөр түвшинд ажиллах хэрэгтэй бол ажиллуулахаасаа өмнө тохиргооны файлд засвар хийх хэрэгтэй. Ихэнх тохиргоог энэ сан дотор гүйцэтгэнэ. <command>make-localhost</command>-г хэрэглэх нь localhost-н хувьд эзэн бүсийг тохируулахын тулд /etc/namedb директорруу шилжээд дараах тушаалыг өгнө: &prompt.root; sh make-localhost Хэрэв бүх зүйл зүй ёсоор явагдвал, master дэд директор дотор шинэ файл үүссэн байх ёстой. Файлууд нь дотоод домэйны хувьд localhost.rev, IPv6 тохиргооны хувьд localhost-v6.rev гэсэн нэртэй байна. Анхдагч тохиргооны файлын хувьд named.conf файл дотор шаардлагатай мэдээллүүд байрлана. <filename>/etc/namedb/named.conf</filename> // $FreeBSD$ // // Refer to the named.conf(5) and named(8) man pages, and the documentation // in /usr/share/doc/bind9 for more details. // // If you are going to set up an authoritative server, make sure you // understand the hairy details of how DNS works. Even with // simple mistakes, you can break connectivity for affected parties, // or cause huge amounts of useless Internet traffic. options { directory "/etc/namedb"; pid-file "/var/run/named/pid"; dump-file "/var/dump/named_dump.db"; statistics-file "/var/stats/named.stats"; // If named is being used only as a local resolver, this is a safe default. // For named to be accessible to the network, comment this option, specify // the proper IP address, or delete this option. listen-on { 127.0.0.1; }; // If you have IPv6 enabled on this system, uncomment this option for // use as a local resolver. To give access to the network, specify // an IPv6 address, or the keyword "any". // listen-on-v6 { ::1; }; // In addition to the "forwarders" clause, you can force your name // server to never initiate queries of its own, but always ask its // forwarders only, by enabling the following line: // // forward only; // If you've got a DNS server around at your upstream provider, enter // its IP address here, and enable the line below. This will make you // benefit from its cache, thus reduce overall DNS traffic in the Internet. /* forwarders { 127.0.0.1; }; */ Тайлбар дээр хэлсэнчлэн дээд гарцын түр тогтоогчоос хүртэхийн тулд forwarders-г идэвхжүүлж болох юм. Энгийн үед, нэрийн сервер нь хариултыг олтлоо давталттай байдлаар хэд хэдэн нэрийн серверүүдээр дамжин асууна. Энэ тохируулгыг идэвхжүүлснээр, дээд гарцынхаа нэрийн серверээс (эсвэл зааж өгсөн нэрийн сервер) хамгийн түрүүнд асууж, энэ серверийн түр санах ойд байгаа мэдээллээс хүртэхийг эрмэлзэнэ. Хэрэв дээд гарцын нэрийн сервер нь олон асуулгад хариулдаг, хурдан үйлчилдэг сервер байвал дээрх тохируулгыг идэвхжүүлсний үр ашиг гарна. 127.0.0.1 энд ажиллахгүй. Энэ IP хаягийг өөрийн дээд гарцын нэрийн серверээр сольж бичнэ үү. /* * If there is a firewall between you and nameservers you want * to talk to, you might need to uncomment the query-source * directive below. Previous versions of BIND always asked * questions using port 53, but BIND versions 8 and later * use a pseudo-random unprivileged UDP port by default. */ // query-source address * port 53; }; // If you enable a local name server, don't forget to enter 127.0.0.1 // first in your /etc/resolv.conf so this server will be queried. // Also, make sure to enable it in /etc/rc.conf. zone "." { type hint; file "named.root"; }; zone "0.0.127.IN-ADDR.ARPA" { type master; file "master/localhost.rev"; }; // RFC 3152 zone "1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.IP6.ARPA" { type master; file "master/localhost-v6.rev"; }; // NB: Do not use the IP addresses below, they are faked, and only // serve demonstration/documentation purposes! // // Example slave zone config entries. It can be convenient to become // a slave at least for the zone your own domain is in. Ask // your network administrator for the IP address of the responsible // primary. // // Never forget to include the reverse lookup (IN-ADDR.ARPA) zone! // (This is named after the first bytes of the IP address, in reverse // order, with ".IN-ADDR.ARPA" appended.) // // Before starting to set up a primary zone, make sure you fully // understand how DNS and BIND works. There are sometimes // non-obvious pitfalls. Setting up a slave zone is simpler. // // NB: Don't blindly enable the examples below. :-) Use actual names // and addresses instead. /* An example master zone zone "example.net" { type master; file "master/example.net"; }; */ /* An example dynamic zone key "exampleorgkey" { algorithm hmac-md5; secret "sf87HJqjkqh8ac87a02lla=="; }; zone "example.org" { type master; allow-update { key "exampleorgkey"; }; file "dynamic/example.org"; }; */ /* Examples of forward and reverse slave zones zone "example.com" { type slave; file "slave/example.com"; masters { 192.168.1.1; }; }; zone "1.168.192.in-addr.arpa" { type slave; file "slave/1.168.192.in-addr.arpa"; masters { 192.168.1.1; }; }; */ named.conf доторх эдгээр жишээнүүд нь ердийн болон урвуу бүсийн зарц бүртгэлүүд болно. Шинэ бүс нэмэхдээ, named.conf файл дотор шинэ бүртгэл оруулах хэрэгтэй. Жишээ нь, example.org домэйны хувьд хамгийн хялбар бүртгэл дараах байдалтай байна: zone "example.org" { type master; file "master/example.org"; }; Энэ бүс нь эзэн бүс болохыг илэрхийллээс харж болно. Мөн бүсийн мэдээллийг /etc/namedb/master/example.org файл дотор агуулж байгааг илэрхийллээс харж болно. zone "example.org" { type slave; file "slave/example.org"; }; Зарц бүсийн хувьд, тухайн бүсийн хувьд бүсийн мэдээлэл эзэн нэрийн серверээс зөөгдөж ирэх ба зааж өгсөн файлд хадгалагдана. Эзэн сервер унтарсан эсвэл холбоо тогтоох боломжгүй болбол, зарц нэрийн серверт бүсийн мэдээлэл байгаа тул асуулгуудад хариулах чадвартай байна. Бүсийн Файлууд BIND бүсийн файлууд example.org домэйны хувьд жишээ эзэн бүсийн файлыг дор үзүүлэв (/etc/namedb/master/example.org файл): $TTL 3600 ; 1 hour example.org. IN SOA ns1.example.org. admin.example.org. ( 2006051501 ; Serial 10800 ; Refresh 3600 ; Retry 604800 ; Expire 86400 ; Minimum TTL ) ; DNS Servers IN NS ns1.example.org. IN NS ns2.example.org. ; MX Records IN MX 10 mx.example.org. IN MX 20 mail.example.org. IN A 192.168.1.1 ; Machine Names localhost IN A 127.0.0.1 ns1 IN A 192.168.1.2 ns2 IN A 192.168.1.3 mx IN A 192.168.1.4 mail IN A 192.168.1.5 ; Aliases www IN CNAME @ . тэмдэгтээр төгссөн хост нэрүүд нь жинхэнэ хост нэрүүд бөгөөд . тэмдэгтээр төгсөөгүй нэрүүдэд үүсэл залгагдахыг анхаарна уу. Жишээлбэл, www нь www.үүсэл-руу хөрвүүлэгдэх болно. Манай жишээн дээр бол, бидний үүсэл example.org. тул www нь www.example.org. болж хөрвүүлэгдэнэ. Бүсийн файл дараах хэлбэртэй байна: recordname IN recordtype value DNS бичлэгүүд Хамгийн өргөн хэрэглэгддэг DNS бичлэгүүд: SOA start of zone authority буюу бүсийн бүрэн эрхт мэдээллийн эхлэл NS бүрэн эрхт нэрийн сервер A хостын хаяг CNAME хуурамч дүрд өгөх хүлээн зөвшөөрөгдсөн нэр MX захидал солилцогч PTR домэйн нэрийг заагч (урвуу DNS-д хэрэглэнэ) example.org. IN SOA ns1.example.org. admin.example.org. ( 2006051501 ; Serial 10800 ; Refresh after 3 hours 3600 ; Retry after 1 hour 604800 ; Expire after 1 week 86400 ) ; Minimum TTL of 1 day example.org. домэйн нэр, мөн энэ бүсийн файлын хувьд үүсэл болно. ns1.example.org. энэ бүсийн гол/бүрэн эрхт нэрийн сервер. admin.example.org. энэ бүсийг хариуцагч хүн, @ тэмдэгтийг нь орлуулсан цахим захидлын хаяг. (admin@example.org нь admin.example.org болно) 2006051501 Файлын сериал дугаар. Бүсийн файлд өөрчлөлт оруулах болгонд энэ дугаарыг нэмэгдүүлэх шаардлагатай. Одоо цагт ихэнх админууд энэ сериал дугаарыг yyyymmddrr хэлбэрээр хэрэглэх болсон. 2006051501 гэдэг нь хамгийн сүүлд 05/15/2006-нд засвар хийсэн, хамгийн сүүлийн 01 гэдэг нь энэ өдөр хийгдсэн хамгийн анхны засвар гэдгийг илтгэнэ. Энэ сериал дугаар нь зарц серверүүдэд бүсийн мэдээлэл өөрчлөгдсөн талаар мэдээлэл өгдөг тул их чухал зүйл байгаа юм. IN NS ns1.example.org. Энэ бол NS бичлэг. Тухайн бүсийн хувьд бүрэн эрхт хариултыг өгч чадах сервер бүрийн хувьд энэ бичлэг байх ёстой. localhost IN A 127.0.0.1 ns1 IN A 192.168.1.2 ns2 IN A 192.168.1.3 mx IN A 192.168.1.4 mail IN A 192.168.1.5 A бичлэг нь машины нэрийг заана. Дээр үзүүлсэнчлэн, ns1.example.org нь 192.168.1.2-руу буулгагдана. IN A 192.168.1.1 Энэ мөр нь 192.168.1.1 гэсэн IP хаягийг үүсэлд оноож байна, бидний жишээн дээр example.org. www IN CNAME @ Хүлээн зөвшөөрөгдсөн нэрийн бичлэг нь машинд хуурамч дүр өгөхөд хэрэглэгдэнэ. Энэ жишээн дээр, www нь example.org (192.168.1.1) гэсэн домэйн нэртэй эзэн машины хуурамч дүрийн нэр юм. CNAME-г хуурамч хост нэр өгөхөд, эсвэл олон машины дунд тойрч хэрэглэгдэх нэг хост нэр өгөхөд хэрэглэнэ. MX бичлэг IN MX 10 mail.example.org. MX бичлэг нь аль захидлын серверүүд тухайн бүсийн захидлыг хүлээж авах үүрэгтэй болохыг зааж өгнө. mail.example.org нь захидлын серверийн хост нэр бөгөөд 10 нь энэ захидлын серверийн зэрэглэлийг зааж байна. Нэг бүсэд 10, 20 гэх мэт ялгаатай зэрэглэлтэй хэд хэдэн захидлын сервер байж болно. example.org домэйн руу захидал явуулах гэж байгаа сервер эхлээд хамгийн өндөр зэрэглэлтэй MX сервертэй (хамгийн бага зэрэглэлийн дугаартай), дараа нь дараагийн хамгийн өндөр зэрэглэлтэй сервертэй гэх мэтчилэн захидлыг явуулж чадтал дарааллаар нь холбоо тогтооно. in-addr.arpa бүсийн файл (урвуу DNS) нь ижил хэлбэртэй байна. Ганцхан ялгаа нь A болон CNAME бичлэгийн оронд PTR бичлэгийг хэрэглэнэ. $TTL 3600 1.168.192.in-addr.arpa. IN SOA ns1.example.org. admin.example.org. ( 2006051501 ; Serial 10800 ; Refresh 3600 ; Retry 604800 ; Expire 3600 ) ; Minimum IN NS ns1.example.org. IN NS ns2.example.org. 1 IN PTR example.org. 2 IN PTR ns1.example.org. 3 IN PTR ns2.example.org. 4 IN PTR mx.example.org. 5 IN PTR mail.example.org. Энэ файлд, жишээ домэйны IP-с хост нэр рүү буулгасан зохих шаардлагатай буулгалтуудыг үзүүлсэн байна. Түр тогтоогч Нэрийн Сервер (Caching Name Server) BIND түр тогтоогч нэрийн сервер Түр тогтоогч нэрийн сервер гэдэг нь ямар ч бүсийн хувьд бүрэн эрхт биш нэрийн серверийг хэлнэ. Ийм төрлийн сервер нь зөвхөн асуулга явуулах бөгөөд хариултыг дараа хэрэглэхээр тогтоож авдаг. Ийм нэрийн серверийг зохион байгуулахын тулд, тохиргоог ердийн нэрийн сервертэй адилаар хийх боловч, ямар ч бүсийн мэдээллийг оруулахгүй байхаар хийнэ. Аюулгүй байдал Хэдийгээр BIND нь хамгийн өргөн хэрэглэгддэг DNS сервер боловч, аюулгүй байдалтай холбоотой асуудлууд байнга тулгардаг. Гадны халдлагад өртөж болзошгүй аюулгүй байдлын цоорхой заримдаа олддог. Хэдийгээр &os; named-г автоматаар &man.chroot.8; орчинд оруулдаг боловч; DNS халдлагад ашиглаж болохуйц хэд хэдэн механизмууд байсаар байна. CERT-с гаргадаг аюулгүй байдлын санамжуудыг уншихыг зөвлөж байна. Мөн &a.security-notifications;-д бүртгүүлж, шинээр гарч байгаа Интернэт болон &os;-н аюулгүй байдлын асуудлуудын талаар мэдээлэлтэй байхыг зөвлөе. Хэрэв ямар нэгэн асуудал тулгарвал, эхийг байнга шинэчилж, named-г шинээр бүтээх нь алдаа болохгүй. Гүнзгийрүүлэн унших BIND/named заавар хуудсууд: &man.rndc.8; &man.named.8; &man.named.conf.5; ISC BIND-н Албан ёсны Хуудас ISC BIND-н Албан ёсны Хэлэлцүүлэг BIND FAQ O'Reilly "DNS ба BIND" 5 дахь Хэвлэлт RFC1034 - Домэйн Нэрүүд - Зарчмууд болон Боломжууд RFC1035 - Домэйн Нэрүүд - Хэрэгжүүлэлт болон Үзүүлэлтүүд Мюррей Стөүкли Хувь нэмрээ оруулсан Лодойсамбын Баянзул Орчуулсан Apache HTTP Сервер вэб серверүүд зохион байгуулах Apache Удиртгал Дэлхийн хамгийн их ачаалалтай ажилладаг зарим вэб сайтууд &os; дээр ажилладаг. Интернэтэд ажиллаж байгаа вэб серверүүдийн олонхи нь Apache HTTP Серверийг ашиглаж байна. Apache програм хангамжийн багц таны FreeBSD суулгах дискэнд орсон байгаа. Хэрэв та &os;-г анх суулгахдаа Apache-г хамт суулгаагүй бол www/apache13 эсвэл www/apache20 портоос суулгаж болно. Apache нэгэнт амжилттай суусан бол түүнийг тохируулах шаардлагатай. Apache HTTP Server-н 1.3.X хувилбар нь &os;-д хамгийн өргөн хэрэглэгддэг тул бид энэ хэсэгт энэ хувилбарыг үзэх болно. Apache 2.X-д олон шинэ технологи нэвтэрсэн боловч бид энэ талаар энд үзэхгүй. Apache 2.X-н талаар дэлгэрэнгүй мэдээллийг хаягаар орж үзнэ үү. Тохиргоо Apache тохиргооны файл &os; дээрх Apache HTTP Серверийн гол тохиргооны файл бол /usr/local/etc/apache/httpd.conf юм. Энэ файлд, &unix;-н текст тохиргооны файлын нэгэн адил тайлбар мөрүүдийн өмнө # тэмдэгтийг хэрэглэдэг. Бүх боломжит тохируулгуудын талаар дэлгэрүүлж тайлбарлах нь энэ номын хүрээнээс халих тул, хамгийн их өөрчлөлт хийгддэг директивүүдийг энд авч үзье. ServerRoot "/usr/local" Энэ директив Apache суулгацын анхдагч директор шатлалын эхийг зааж өгнө. Хоёртын файлууд серверийн эх директорын bin ба sbin дэд директоруудад, тохиргооны файлууд etc/apache дэд директорт байрлана. ServerAdmin you@your.address Сервертэй холбоотой асуудлуудын талаар илгээх цахим захидлын хаягийг заана. Энэ хаяг алдааны хуудсууд гэх зэрэг сервер талаас автоматаар үүсгэгддэг зарим хуудсууд дээр бичигдэх болно. ServerName www.example.com ServerName нь хост дээр тохируулагдсан хост нэрээс өөр нэрийг сервертээ өгөх боломжийг танд олгоно (өөрөөр хэлбэл, хостын жинхэнэ хост нэрийн оронд www-г хэрэглэх). Энэ нэрээр таны сервер харилцагч нартай харилцах болно. DocumentRoot "/usr/local/www/data" DocumentRoot: Энэ директорт байгаа вэб баримтуудыг харилцагч нарт үзүүлэх болно. Анхдагч байдлаар, бүх хүсэлтүүд энэ директорт өгөгдөнө. Гэвч симбол холбоосууд болон хуурамч дүрүүдийг ашиглан өөр газар руу зааж өгч болно. Apache-н тохиргооны файлд ямар нэг өөрчлөлт хийхээсээ өмнө нөөц хуулбарыг авч үлдэхээ мартуузай. Тохиргоо хийж дууссан бол одоо Apache-г ажиллуулах хэрэгтэй. <application>Apache</application>-г ажиллуулах нь Apache эхлүүлэх ба зогсоох Бусад олон сүлжээний орчны серверүүд inetd супер серверээс ажилладаг бол, Apache тэгдэггүй. Харилцагч вэб хөтчүүдээс ирэх HTTP хүсэлтүүдэд хариулахдаа илүү өндөр үзүүлэлттэй ажиллуулахын тулд түүнийг бие даан ажилладаг байхаар тохируулсан байдаг. Эхлүүлэх, зогсоох болон дахин эхлүүлэх зэрэг үйлдлийг аль болох хялбар болгохын тулд бүрхүүлийн скрипт хялбаршуулагч хамт ирдэг. Apache-г анх удаа эхлүүлэхийн тулд, дараах тушаалыг өгнө: &prompt.root; /usr/local/sbin/apachectl start Хүссэн үедээ серверийг дараах тушаалаар зогсооно: &prompt.root; /usr/local/sbin/apachectl stop Тохиргооны файлд өөрчлөлт оруулсны дараа, серверийг дахин эхлүүлэх шаардлагатай: &prompt.root; /usr/local/sbin/apachectl restart Тогтсон холболтуудыг таслалгүйгээр Apache-г дахин эхлүүлэхийн тулд дараах тушаалыг өгнө: &prompt.root; /usr/local/sbin/apachectl graceful Нэмэлт мэдээллийг &man.apachectl.8; заавар хуудаснаас авна уу. Систем ачаалах үед Apache-г эхлүүлэхийн тулд дараах мөрүүдийг /etc/rc.conf файлд нэмж бичнэ: apache_enable="YES" Хэрэв систем ачаалах үед эхэлдэг Apache httpd програмд нэмэлт тушаалын мөрний тохируулгуудыг оруулах хүсэлтэй бол, дараах мөрийг мөн rc.conf файлд нэмэх хэрэгтэй: apache_flags="" Одоо таны вэб сервер ажиллаж байна. Та өөрийн вэб сайтыг вэб хөтөч дээрээ http://localhost/ хаягийг оруулан харж болно. Энд гарах анхдагч вэб хуудас бол /usr/local/www/data/index.html юм. Давхар байршуулалт Apache нь хоёр төрлийн давхар байршуулах үйлчилгээг дэмждэг. Эхнийх нь нэр дээр үндэслэсэн давхар байршуулалт юм. Нэр дээр үндэслэсэн давхар байршуулалт дээр хост нэрийг ялгаж мэдэхдээ харилцагчийн HTTP/1.1 толгойн хэсгийг ашигладаг. Иим байдлаар олон өөр домэйнууд нэг IP хаягийг хуваан хэрэглэх боломжтой болдог. Apache дээр, нэр дээр үндэслэсэн давхар байршуулалтыг хэрэглэхийн тулд доор дурдсантай төстэй бүртгэлийг httpd.conf файл дотор нэмж бичих хэрэгтэй: NameVirtualHost * Таны вэб серверийн нэр www.domain.tld бөгөөд www.someotherdomain.tld нэртэй домэйныг давхар байршуулах хүсэлтэй бол, та дараах бүртгэлийг httpd.conf файлд нэмэх хэрэгтэй болно: <VirtualHost *> ServerName www.domain.tld DocumentRoot /www/domain.tld </VirtualHost> <VirtualHost *> ServerName www.someotherdomain.tld DocumentRoot /www/someotherdomain.tld </VirtualHost> Дээрх хаягуудын оронд хэрэгтэй хаягуудыг, замуудын оронд баримтууд байгаа зохих замуудыг сольж бичнэ үү. Давхар хостуудыг зохион байгуулах талаар дэлгэрэнгүй мэдээллийг Apache-н албан ёсны баримтжуулалт: -с олж үзнэ үү. Apache Модулиуд Apache модулиуд Үндсэн серверийн үүрэг функцыг сайжруулахын тулд бүтээгдсэн Apache-н олон модулиуд байдаг. FreeBSD Портуудын Цуглуулга нь Apache-г түүний өргөн хэрэглэгддэг зарим модулиудын хамт хялбар суулгах боломжийг олгодог. mod_ssl вэб серверүүд аюулгүй SSL криптограф mod_ssl модуль нь Secure Sockets Layer (SSL v2/v3) ба Transport Layer Security (TLS v1) протоколоор дамжуулан өндөр нууцлалыг хангахын тулд OpenSSL санг ашигладаг. Энэ модуль нь батламж олгодог итгэмжлэгдсэн байгууллагаас батламж авахын тулд шаардлагатай бүх зүйлсээр хангадаг тул та үүнийг ашиглан &os; дээр аюулгүй вэб сервер ажиллуулж чадна. Хэрэв та Apache-г суулгаж амжаагүй бол, mod_ssl модулийг агуулдаг Apache-н 1.3.X хувилбарыг www/apache13-modssl портоос суулгаж болох юм. Apache 2.X-н хувьд SSL дэмжлэгийг www/apache20 портоос авч болно. SSL дэмжлэг автоматаар идэвхжсэн байдаг. Perl & PHP орсон Динамик Вебсайтууд Сүүлийн жилүүдэд, өөрийн ашиг орлогыг нэмэгдүүлэх, хүмүүст хүрэх зорилгоор илүү олон компаниуд бизнесээ Интернэтээр явуулах болжээ. Энэ нь динамик агуулгатай вэб хуудсууд төрөн гарах хэрэгцээ шаардлагыг улам нэмэгдүүлсэн. µsoft; гэх мэт зарим компаниуд ч өөрийн бүтээгдэхүүнүүдэд тэдгээрээс оруулах болсон хэдий ч, нээлттэй эхийн нэгдэл энэ асуудалд хариу өгсөн юм. Динамик вэб агуулгыг бий болгох хоёр боломж бол mod_perl & mod_php байлаа. mod_perl mod_perl Perl Apache/Perl нэгтгэх төсөл Perl програмчлалын хэл ба Apache HTTP Серверийн бүх хүч чадлыг нэгтгэсэн юм. mod_perl модулийн тусламжтай Apache модулиудыг тэр чигээр нь Perl дээр бичих боломжтой. Дээр нь, серверт суулгасан шургуу хөрвүүлэгч, гадны хөрвүүлэгч ашиглах илүү ажил болон Perl эхлүүлэх хугацааны алдагдлаас зайлсхийж чадсан юм. mod_perl-г хэд хэдэн янзаар хэрэглэж болно. mod_perl-г хэрэглэж эхлэхээс өмнө mod_perl 1.0 зөвхөн Apache 1.3-тай ажилладаг, mod_perl 2.0 зөвхөн Apache 2-той ажилладаг гэдгийг санаарай. mod_perl 1.0-г www/mod_perl портоос, түүний статикаар эмхэтгэсэн хувилбарыг www/apache13-modperl портоос суулгаж болно. mod_perl 2.0-г www/mod_perl2 портоос суулгаж болно. Том Рөүдс Бичсэн Лодойсамбын Баянзул Орчуулсан mod_php mod_php PHP PHP буюу PHP:Hypertext Preprocessor бол вэб хөгжүүлэлтэд тусгайлан тохируулсан, энгийн хэрэглээний скрипт хэл юм. HTML дотор суулгах боломжтой түүний синтакс C, &java;, ба Perl-с гаралтай. Энэ нь вэб хөгжүүлэгчдэд динамикаар үүсгэгдэх вэб хуудсыг хурдан бичих боломжтой болгох үүднээс тэгсэн хэрэг. Apache вэб серверийг PHP5-г дэмждэг болгохын тулд, lang/php5 портыг суулгаж эхлэх хэрэгтэй. Хэрэв lang/php5 портыг анх удаа суулгаж байгаа бол, боломжит ТОХИРУУЛГУУД автоматаар дэлгэцэн дээр гарч ирнэ. Хэрэв цэс гарч ирэхгүй бол, өөрөөр хэлбэл lang/php5 портыг өмнө нь хэзээ нэгэн цагт суулгаж байсан бол, тохируулгуудын харилцах цонхыг гаргаж ирэхийн тулд дараах тушаалыг: &prompt.root; make config порт директор дотор өгөх хэрэгтэй. Тохируулгуудын харилцах цонхонд, mod_php5Apache-н ачаалах боломжтой модуль байдлаар бүтээхийн тулд APACHE тохируулгыг идэвхжүүлнэ. Олон сайтууд PHP4-г янз бүрийн шалтгааны улмаас (өөрөөр хэлбэл, нийцтэй байдал эсвэл аль хэдийн үйлчилгээнд гаргачихсан вэб програмууд) ашигласаар байна. Хэрэв mod_php4mod_php5-н оронд ашиглах шаардлагатай бол, lang/php4 портыг ашиглаарай. lang/php4 порт нь lang/php5 портод байдаг тохиргооны болон бүтээх үеийн олон тохируулгуудыг дэмждэг. Энэ хэсэг код динамик PHP програмыг дэмждэг болгоход шаардлагатай модулиудыг суулгаж тохируулах болно. Доорх мөрүүд /usr/local/etc/apache/httpd.conf файл дотор нэмэгдсэн эсэхийг шалгаарай: LoadModule php5_module libexec/apache/libphp5.so AddModule mod_php5.c <IfModule mod_php5.c> DirectoryIndex index.php index.html </IfModule> <IfModule mod_php5.c> AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps </IfModule> Үүний дараа, PHP модулийг ачаалахын тулд, дараах тушаалыг өгч серверийг дахин ачаалах хэрэгтэй: &prompt.root; apachectl graceful Дараа, PHP-н хувилбарыг дээшлүүлэх үедээ, make config тушаалыг өгөх шаардлагагүй; идэвхжүүлсэн ТОХИРУУЛГУУД &os; Портуудын тогтолцоонд автоматаар хадгалагдсан байгаа. &os;-н PHP дэмжлэг нь дээд зэргээр модульчлагдсан тул үндсэн суулгац нь маш хязгаарлагдмал байдаг. lang/php5-extensions портыг ашиглан дэмжлэг нэмэх нь үнэхээр амархан асуудал. PHP өргөтгөлийг суулгах явцад, энэ порт танд цэсээс тогтсон интерфэйсийг санал болгоно. Өөрөөр, өргөтгөлүүдийг нэг нэгээр нь харгалзах портуудаас суулгаж болно. Жишээлбэл, PHP5-д MySQL өгөгдлийн сангийн серверийн дэмжлэгийг нэмэхийн тулд, databases/php5-mysql портыг суулгахад хангалттай. Ямар нэг өргөтгөл суулгасны дараа, тохиргооны өөрчлөлтийг хүчин төгөлдөр болгохын тулд Apache серверийг дахин ачаалах шаардлагатайг анхаарна уу: &prompt.root; apachectl graceful Мюррей Стөүкли Хувь нэмрээ оруулсан Файл Дамжуулах Протокол (FTP) FTP серверүүд Удиртгал File Transfer Protocol буюу Файл Дамжуулах Протокол (FTP) нь хэрэглэгчдэд FTP серверээс файлыг авах болон тавих хялбар замыг бий болгодог. &os; үндсэн систем дотроо FTP сервер програм ftpd-г агуулж байдаг. Энэ нь FreeBSD дээр FTP серверийг босгох, удирдах ажлыг төвөггүй болгодог. Тохиргоо Тохиргоо хийхийн өмнөх хамгийн чухал алхам бол ямар дансууд FTP серверт хандах эрхтэй байх вэ гэдгийг шийдэх байдаг. Ердийн FreeBSD систем нь янз бүрийн дэмонуудад хэрэглэгддэг олон тооны системийн дансуудтай байдаг ба гадны хэрэглэгчид эдгээр дансыг ашиглан нэвтрэх ёсгүй. /etc/ftpusers файл дотор FTP хандалт зөвшөөрөгдөөгүй хэрэглэгчдийн жагсаалтыг хадгална. Анхдагч байдлаар, дээр дурдсан системийн дансууд энэ файлд байна. FTP хандалтыг зөвшөөрөх ёсгүй өөр хэрэглэгчдийг ч мөн энэ файлд нэмж болно. Зарим хэрэглэгчдийн FTP хэрэглэхийг нь бүр болиулчихалгүйгээр, зөвхөн зарим нэг эрхийг нь хязгаарлаж бас болно. Үүнийг /etc/ftpchroot файлын тусламжтай гүйцэтгэж болно. Энэ файл дотор FTP хандалтыг нь хязгаарлах хэрэглэгчид болон бүлгүүдийн жагсаалт байна. &man.ftpchroot.5; заавар хуудсанд бүх мэдээлэл байгаа тул энд дурдсангүй. FTP нийтийн Хэрэв сервертээ нийтийн FTP хандалтыг зөвшөөрөх хүсэлтэй байгаа бол, &os; систем дээрээ ftp нэртэй хэрэглэгч нэмэх хэрэгтэй. Ингэснээр хэрэглэгчид таны FTP сервер рүү ftp эсвэл anonymous гэсэн нэрээр ямар ч нэвтрэх үг шаардагдахгүйгээр (тогтсон заншил ёсоор хэрэглэгч цахим шуудангийн хаягаа нэвтрэх үгийн оронд хэрэглэх шаардлагатай) нэвтрэн орох болно. Нийтийн хэрэглэгч системд орж ирэхэд FTP сервер түүний эрхийг зөвхөн ftp хэрэглэгчийн гэрийн сан дотор хязгаарлахын тулд &man.chroot.2;-г дуудна. FTP харилцагчдад зориулсан мэндчилгээний үгнүүдийг агуулсан хоёр текст файл байдаг. /etc/ftpwelcome файл дотор байгааг нэвтрэлт хүлээх мөр гарахаас өмнө хэрэглэгчдэд дэлгэцэн дээр хэвлэнэ. Амжилттай нэвтэрч орсны дараа /etc/ftpmotd файл дотор байгааг дэлгэцэн дээр хэвлэнэ. Энэ файлын зам нь нэвтэрч орсон орчинтой харьцангуйгаар авсан зам гэдгийг анхаарна уу, тиймээс нийтийн хэрэглэгчдийн хувьд ~ftp/etc/ftpmotd файлыг хэвлэх болно. FTP серверийн тохиргоог зохих ёсоор хийсний дараа, /etc/inetd.conf файл дотор идэвхжүүлэх хэрэгтэй. Үүний тулд, ftpd гэсэн мөрний өмнөх # тэмдэгтийг арилгахад хангалттай: ftp stream tcp nowait root /usr/libexec/ftpd ftpd -l хэсэгт тайлбарласан ёсоор энэ тохиргооны файлд өөрчлөлт оруулсны дараа inetd-г дахин ачаалах шаардлагатай. Одоо та дараах тушаалыг өгөн FTP сервер рүү нэвтрэн орж болно: &prompt.user; ftp localhost Арчилгаа syslog бүртгэлийн файлууд FTP ftpd дэмон бүртгэл хөтлөхдөө &man.syslog.3;-г ашигладаг. Анхдагч байдлаар, системийн бүртгэлийн дэмон FTP-тэй холбоотой зурвасуудыг /var/log/xferlog файлд бичнэ. FTP бүртгэлийн файлын байршлыг өөрчлөхийн тулд /etc/syslog.conf файл дотор, дараах мөрийг засах хэрэгтэй: ftp.info /var/log/xferlog FTP нийтийн Нийтийн FTP сервер ажиллуулахад тохиолдох болзошгүй асуудлуудын талаар мэдлэгтэй байгаарай. Ялангуяа, нийтийн хэрэглэгчдэд файл байршуулахыг зөвшөөрөх тухайд сайн бодох хэрэгтэй. Таны FTP сайт лицензгүй програм хангамжуудыг наймаалцдаг талбар болох, эсвэл түүнээс ч муу зүйл тохиолдохыг үгүйсгэхгүй. Хэрэв нийтийн FTP байршуулалтыг зөвшөөрөх шаардлагатай бол, файлуудыг нягталж үзэхээс нааш бусад нийтийн хэрэглэгчид тэдгээр файлыг унших эрхгүй байхаар тохируулж өгөх хэрэгтэй. Мюррей Стөүкли Хувь нэмрээ оруулсан Лодойсамбын Баянзул Орчуулсан µsoft.windows; харилцагчдад зориулсан Файл болон Хэвлэх Үйлчилгээ (Samba) Samba сервер Microsoft Windows файл сервер Windows харилцагчид хэвлэх сервер Windows харилцагчид Ерөнхий Агуулга Samba бол µsoft.windows; харилцагчдад файл болон хэвлэх үйлчилгээг үзүүлдэг, өргөн хэрэглэгддэг нээлттэй эхийн програм хангамжийн багц юм. Ийм төрлийн харилцагчид FreeBSD файлын орчинд холбогдож, файлуудыг өөрийн дискэн дээр байгаа юм шиг, эсвэл FreeBSD хэвлэгчийг өөрийн дотоод хэвлэгч шиг хэрэглэх боломжтой болдог. Samba програм хангамжийн багцууд таны FreeBSD суулгах дискэнд орсон байгаа. Хэрэв та анх FreeBSD суулгахдаа Samba-г хамт суулгаагүй бол, net/samba3 порт эсвэл багцаас суулгаж болно. Тохиргоо Samba-н анхдагч тохиргооны файл /usr/local/share/examples/smb.conf.default гэж суугдсан байдаг. Энэ файлыг /usr/local/etc/smb.conf нэртэй хуулаад, Samba-г ашиглаж эхлэхээсээ өмнө өөртөө тааруулан засварлах ёстой. smb.conf файл нь &windows; харилцагчтай хуваалцах хүсэлтэй файл системийн хэсэг ба хэвлэгчийн тодорхойлолт гэх зэрэг Samba-н ажиллах үеийн тохиргооны мэдээллийг агуулж байдаг. Samba багц дотор smb.conf файл дээр ажиллах хялбар арга замыг хангасан swat нэртэй вэб дээр суурилсан хэрэгсэл хамт ирдэг. Samba-г Вэбээр Удирдах Хэрэгсэл (SWAT) Samba Web Administration Tool буюу Samba-г Вэбээр Удирдах Хэрэгсэл (SWAT) нь inetd-н дэмон хэлбэрээр ажиллана. Тиймээс, Sambaswat ашиглан тохируулахын өмнө /etc/inetd.conf доторх дараах мөрийг ил гаргах шаардлагатай: swat stream tcp nowait/400 root /usr/local/sbin/swat swat хэсэгт тайлбарласан ёсоор, энэ тохиргооны файлд өөрчлөлт оруулсны дараа -inetd-г дахин ачаалах шаардлагатай. +inetd-ийн тохиргоог дахин ачаалах шаардлагатай. swatinetd.conf дотор идэвхжүүлсний дараа, вэб хөтөч ашиглан хаяганд холбогдоно. Та эхлээд системийн root дансаар нэвтэрч орох ёстой. Samba-н тохиргооны үндсэн хуудсанд амжилттай нэвтэрч орсон бол, системийн баримтуудаар аялах, эсвэл Globals цэсэн дээр дарж тохиргоог хийх боломжтой болно. Globals хэсэг /usr/local/etc/smb.conf файлын [global] хэсэгт байгаа хувьсагчдад харгалзана. Глобал тохиргоо swat-г хэрэглэж байгаа эсвэл /usr/local/etc/smb.conf-г гараараа засаж байгаа аль нь ч бай, Samba-г тохируулах явцад тааралдах хамгийн эхний директивууд бол: workgroup Энэ нь сервер рүү хандах компьютеруудын NT Домэйн-Нэр эсвэл Ажлын бүлгийн-Нэр. netbios name NetBIOS Энэ директив Samba серверийн NetBIOS нэрийг заана. Анхдагч байдлаар, хостын DNS нэрийн эхний хэсэгтэй адил байна. серверийн мөр Энэ директив net view тушаалын хариуд гарч ирэх эсвэл зарим сүлжээний хэрэгслүүд дээр энэ серверийг төлөөлж гарах мөрийг заана. Аюулгүй байдлын Тохиргоо /usr/local/etc/smb.conf доторх хамгийн чухал хоёр тохиргоо бол аюулгүй байдлын загвар, болон харилцагчдын нэвтрэх үгийн арын шугамны хэлбэр юм. Дараах директивүүд эдгээр тохируулгуудыг хянана: security Энд хамгийн элбэг хэрэглэгддэг хоёр сонголт бол security = share ба security = user юм. Хэрэв танай харилцагч нар &os; машин дээр хэрэглэдэг хэрэглэгчийн нэртэй ижил нэрийг ашигладаг бол, user түвшний аюулгүй байдлыг сонгохыг хүсэж байж магадгүй. Энэ бол аюулгүй байдлын анхдагч бодлого бөгөөд эх үүсвэрт хандахаас өмнө харилцагчийг системд нэвтэрч орохыг шаардана. share түвшний аюулгүй байдалд, харилцагчид эх үүсвэрт хандахаас өмнө хүчин төгөлдөр хэрэглэгчийн нэр болон нэвтрэх үгээр сервер рүү нэвтрэн орох шаардлагагүй байдаг. Энэ бол Samba-н хуучин хувилбаруудын хувьд аюулгүй байдлын анхдагч загвар байсан. passdb backend NIS+ LDAP SQL өгөгдлийн сан Samba-д хэд хэдэн төрлийн арын шугамны магадлах загварууд байдаг. Харилцагчдыг LDAP, NIS+, SQL өгөгдлийн сан, эсвэл хувиргасан нэвтрэх үгийн файлаар магадлаж болно. Анхдагч магадлах арга бол smbpasswd бөгөөд бид зөвхөн энэ талаар авч үзэх болно. Анхдагч smbpasswd арын шугамыг хэрэглэж байгаа гэж үзвэл, Samba харилцагчдыг магадлахын тулд /usr/local/private/smbpasswd файлыг эхлээд үүсгэх ёстой. Хэрэв &unix; хэрэглэгчийн эрхээр &windows; харилцагчаас ханддаг байх шаардлагатай бол, дараах тушаалыг хэрэглэнэ: &prompt.root; smbpasswd -a username Тохируулгуудын талаар нэмэлт мэдээллийг Албан ёсны Samba HOWTO-с олж авна уу. Энд цухас дурдсан үндсэн мэдлэгтэйгээр Samba-г ажиллуулж эхлэх чадвартай байх ёстой. <application>Samba</application>-г Эхлүүлэх нь net/samba3 портод Samba-г удирдахад зориулсан шинэ эхлэл скрипт орсон байгаа. Энэ скриптийг идэвхжүүлэхийн тулд, өөрөөр хэлбэл энэ скриптийг ашиглан Samba-г эхлүүлэх, зогсоох болон дахин эхлүүлдэг болохын тулд, /etc/rc.conf файл дотор дараах мөрийг нэмж бичих хэрэгтэй: samba_enable="YES" Эсвэл илүү нарийнаар доор дурдсан шиг тохируулж болно: nmbd_enable="YES" smbd_enable="YES" Ингэснээр мөн Samba-г систем ачаалах үед автоматаар эхлүүлдэг болгоно. Үүний дараа хүссэн үедээ Samba-г эхлүүлэхийн тулд дараах тушаалыг өгөхөд хангалттай: &prompt.root; /usr/local/etc/rc.d/samba start Starting SAMBA: removing stale tdbs : Starting nmbd. Starting smbd. rc скриптийг ашиглах талаар дэлгэрэнгүй мэдээллийг хэсгээс авна уу. Samba нь үнэн хэрэгтээ гурван тусдаа дэмоноос тогтоно. nmbd ба smbd дэмонууд samba скриптээр эхлүүлдэг болохыг та анзаарах болно. Хэрэв smb.conf дотор winbind нэр тайлах үйлчилгээг идэвхжүүлсэн бол winbindd дэмон бас ажиллаж эхэлсэн болохыг харж болно. Samba-г хүссэн үедээ зогсоохын тулд дараах тушаалыг өгөхөд хангалттай: &prompt.root; /usr/local/etc/rc.d/samba stop Samba бол µsoft.windows; сүлжээтэй өргөн хүрээнд нэгдмэл ажиллах боломжийг олгодог нарийн төвөгтэй програмын цогц юм. Энд тайлбарласан үндсэн суулгацаас хальсан функцуудын талаар дэлгэрэнгүй мэдээллийг хаягаар орж авна уу. Том Хөүкинс Хувь нэмрээ оруулсан Лодойсамбын Баянзул Орчуулсан NTP-р Цаг Тааруулах нь NTP Ерөнхий Агуулга Цаг хугацаа өнгөрөхөд компьютерийн цаг зөрөх хандлагатай байдаг. Network Time Protocol буюу Сүлжээний Цагийн Протоколыг(NTP) цагийг зөв байлгах, зөв ажиллуулахад хэрэглэдэг. Олон тооны Интернэт үйлчилгээнүүд компьютерийн цагаас хамаарч, эсвэл хүртэж ажилладаг. Жишээлбэл, вэб сервер тодорхой цагаас хойш өөрчлөлт орсон файлуудыг илгээх хүсэлт хүлээн авсан байж болох юм. Дотоод сүлжээний орчинд, нэг файл серверээр үйлчлүүлж байгаа компьютеруудын хувьд файлын цагийн тамга дүйж байхын тулд тэдгээрийн цагууд хоорондоо тохирч байх ёстой. &man.cron.8; зэрэг үйлчилгээнүүд тодорхой цагт тушаалыг гүйцэтгэхийн тулд системийн цагт бүрэн найдаж ажилладаг. NTP ntpd FreeBSD &man.ntpd.8; NTP серверийн хамт ирдэг. &man.ntpd.8; NTP нь таны машины цагийг тааруулахын тулд бусад NTP серверүүдээс асуух эсвэл бусдад цагийн мэдээллийг түгээх үйлчилгээг үзүүлдэг. Зохимжтой NTP Серверийг Сонгох нь NTP серверийг сонгох нь Цагаа тааруулахын тулд, та нэг болон түүнээс дээш тооны NTP серверийг хэрэглэх хэрэгтэй болно. Танай сүлжээний администратор эсвэл ISP үүнд зориулсан NTP сервертэй байж болох юм—тийм эсэхийг тэдний заавраас шалгана уу. нийтэд зориулсан NTP серверүүдийн онлайн жагсаалтыг ашиглан өөртөө ойрхон байгаа NTP серверийг олно уу. Сонгож авсан серверийнхээ ашиглах журмыг судлаарай. Мөн хэрэв шаардлагатай бол зөвшөөрөл аваарай. Таны сонгосон сервер холбогдох боломжгүй, эсвэл цаг нь бүрэн итгэж болохооргүй үе гарах тул, хоорондоо хамааралгүй хэд хэдэн NTP серверүүдийг сонгох нь хамгийн зөв сонголт болдог. &man.ntpd.8; бусад серверээс хүлээн авсан хариултуудыг маш ухаалгаар хэрэглэдэг—итгэж болох серверүүдийг илүү авч үздэг. Өөрийн Машиныг Тохируулах нь NTP тохиргоо Үндсэн Тохиргоо ntpdate Хэрэв та машин асахад цагаа тааруулах хүсэлтэй байгаа бол, &man.ntpdate.8;-г ашиглаж болно. Энэ нь олон дахин тааруулах шаардлагагүй, ойр ойрхон асааж унтраадаг ширээний компьютерийн хувьд зохимжтой байж болох юм. Гэхдээ ихэнх машины хувьд &man.ntpd.8;-г ажиллуулах нь зүйтэй. Систем ачаалах үед &man.ntpdate.8;-г ашиглах нь &man.ntpd.8; ажиллаж байгаа машинуудын хувьд зөв санаа юм. Учир нь &man.ntpd.8; програм нь цагийг алгуур өөрчилдөг байхад, &man.ntpdate.8; машины одоогийн цаг болон зөв цагын хооронд хир их ялгаа байгааг үл хайхран цагийг тааруулдаг. &man.ntpdate.8;-г систем ачаалах үед идэвхжүүлэхийн тулд, ntpdate_enable="YES" гэсэн мөрийг /etc/rc.conf файлд нэмэх хэрэгтэй. Мөн цаг авах гэж байгаа бүх серверүүд болон &man.ntpdate.8;-д өгөх тугуудыг ntpdate_flags-д зааж өгөх хэрэгтэй. NTP ntp.conf Ерөнхий Тохиргоо NTP-г /etc/ntp.conf файлын тусламжтай, &man.ntp.conf.5;-д заасан хэлбэрээр тохируулна. Доор хялбар жишээг үзүүлэв: server ntplocal.example.com prefer server timeserver.example.org server ntp2a.example.net driftfile /var/db/ntp.drift server тохируулгаар ямар серверүүдийг ашиглахыг заана. Нэг мөрөнд нэг серверийг бичнэ. Хэрэв аль нэг серверийг prefer гэсэн аргументаар онцолсон бол, ntplocal.example.com шиг, тэр серверийг бусдаас илүүд үзнэ. Илүүд үзсэн серверээс ирсэн хариу бусад серверүүдийн хариунаас мэдэгдэхүйцээр зөрж байгаа үед хариуг тоохгүй өнгөрөөнө. Түүнээс бусад тохиолдолд бусад серверийн хариуг үл харгалзан тэр серверийн хариуг хэрэглэх болно. prefer аргументийг ер нь өндөр нарийвчлалтай, тусгай цаг хянадаг тоног төхөөрөмж дээр тулгуурласан NTP серверийн хувьд хэрэглэнэ. driftfile тохируулгаар ямар файлд системийн цагийн алдах зөрүү утгыг хадгалж байгааг заана. &man.ntpd.8; програм энэ утгыг ашиглан цагийн алдсан зөрүүг автоматаар нөхнө. Ингэснээр цагийн бүх гадаад эх үүсвэрүүдтэй холбоо тогтоох боломжгүй болсон үед, хэсэг хугацааны туршид ч гэсэн цагийг харьцангуй зөв ажиллуулах боломжийг олгоно. driftfile тохируулгаар ямар файлд таны зааж өгсөн NTP серверүүдийн өмнөх хариунуудын тухай мэдээллийг хадгалж байгааг заана. Энэ файлд NTP-н дотоод үйл ажиллагааны мэдээллийг хадгалдаг. Энэ мэдээллийг өөр ямар ч процесс өөрчлөх ёсгүй. Өөрийн Сервер рүү Хандах Хандалтыг Хянах нь Анхдагч байдлаар, таны NTP сервер рүү Интернэтэд байгаа бүх хост хандах боломжтой. /etc/ntp.conf файл дотор restrict тохируулгаар ямар машинууд таны сервер рүү хандаж болохыг хянаж болно. Хэрэв та өөрийн NTP сервер рүү хэнийг ч хандуулахыг хүсэхгүй байгаа бол /etc/ntp.conf файл дотор дараах мөрийг нэмэх хэрэгтэй: restrict default ignore Энэ нь таны серверээс өөрийн чинь локал тохиргоонд жагсаагдсан аль ч сервер үрүү хандах боломжийг бас хаана. Хэрэв та өөрийн NTP серверийг гадаад NTP сервертэй синхрончлох хэрэгтэй бол ямар нэг серверийг зөвшөөрөх ёстой. Дэлгэрэнгүй мэдээллийг &man.ntp.conf.5; гарын авлагаас үзнэ үү. Хэрэв та зөвхөн өөрийн сүлжээнд байгаа машинуудыг таны сервертэй цагаа тааруулахыг зөвшөөрөөд, гэхдээ таны серверийн тохиргоог өөрчлөх болон тэгш эрхтэй серверүүд шиг цагийн мэдээллийг хуваахыг зөвшөөрөхгүй бол дээр дурдсаны оронд: restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap гэсэн мөрийг бичнэ үү. Энд 192.168.1.0 нь таны сүлжээний IP хаяг, 255.255.255.0 нь таны сүлжээний баг болно. /etc/ntp.conf дотор олон тооны restrict тохируулгууд байж болно. Илүү дэлгэрэнгүй мэдээллийг &man.ntp.conf.5;-н Хандалтыг Удирдах Дэмжлэг дэд хэсгээс үзнэ үү. NTP Серверийг Ажиллуулах нь NTP серверийг систем ачаалах үед эхлүүлэхийн тулд, ntpd_enable="YES" гэсэн мөрийг /etc/rc.conf файлд нэмж бичих хэрэгтэй. Хэрэв &man.ntpd.8;-д нэмэлт тугуудыг өгөх хүсэлтэй бол, /etc/rc.conf файлд байгаа ntpd_flags параметрийг засах хэрэгтэй. Машиныг дахин ачаалалгүйгээр серверийг эхлүүлэхийн тулд, ntpd тушаалыг /etc/rc.conf-д заасан ntpd_flags нэмэлт параметрүүдийн хамтаар өгөх хэрэгтэй. Жишээлбэл: &prompt.root; ntpd -p /var/run/ntpd.pid ntpd-г Түр зуурын Интернэт Холболттой үед Хэрэглэх нь &man.ntpd.8; програм зөв ажиллахын тулд байнгын Интернэт холболт шаардлагагүй. Гэхдээ, хэрэгцээтэй үедээ гадагшаа залгадаг тийм төрлийн түр зуурын холболттой бол, NTP трафикийг гадагшаа залгах болон холболтыг бариад байхаас сэргийлэх нь чухал. Хэрэв та PPP хэрэглэдэг бол, /etc/ppp/ppp.conf файл дотор байгаа filter директивийг ашиглаж болно. Жишээ нь: set filter dial 0 deny udp src eq 123 # Prevent NTP traffic from initiating dial out set filter dial 1 permit 0 0 set filter alive 0 deny udp src eq 123 # Prevent incoming NTP traffic from keeping the connection open set filter alive 1 deny udp dst eq 123 # Prevent outgoing NTP traffic from keeping the connection open set filter alive 2 permit 0/0 0/0 Дэлгэрэнгүй мэдээллийг &man.ppp.8;-н PACKET FILTERING хэсгээс болон /usr/share/examples/ppp/-д байгаа жишээнүүдээс авч болно. Зарим Интернэт үйлчилгээ үзүүлэгчид бага дугаартай портуудыг хаасан байдаг бөгөөд ингэснээр хариу нь таны машинд хэзээ ч хүрэхгүй болж NTP ажиллахгүй болдог. Цааших Мэдээлэл NTP серверийн баримтжуулалтыг HTML хэлбэрээр /usr/share/doc/ntp/-с олж үзэж болно.