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 9bdc9e0427..4a15db34d2 100644 --- a/mn_MN.UTF-8/books/handbook/advanced-networking/chapter.sgml +++ b/mn_MN.UTF-8/books/handbook/advanced-networking/chapter.sgml @@ -1,5413 +1,5413 @@ Цагаанхүүгийн Ганболд Орчуулсан
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 болгож тохируулж болно. BGP RIP OSPF Урсгалыг хааш нь илгээхээ мэдэхийн тулд таны шинэ чиглүүлэгчид чиглүүлэлтүүд хэрэгтэй болно. Хэрэв таны сүлжээ хангалттай хялбар байх юм бол статик чиглүүлэлтүүд ашиглаж болно. FreeBSD нь стандарт BSD чиглүүлэлтийн дэмон &man.routed.8; програмтай бас ирдэг. Энэ нь RIP (1 ба 2-р хувилбар) болон IRDP протоколуудыг дэмждэг. BGP v4, OSPF v2 болон бусад төвөгтэй чиглүүлэлтийн протоколуудын дэмжлэгийг net/zebra багц хангадаг. &gated; зэрэг арилжааны бүтээгдэхүүнүүд бас илүү төвөгтэй сүлжээний чиглүүлэлтийн шийдлүүдэд зориулагдсан байдаг. Аль Хоанг Хувь нэмэр болгон оруулсан Статик чиглүүлэлтүүдийг тохируулах нь Гар тохиргоо Бид дараах сүлжээтэй байна гэж төсөөлье: 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;-ийн гарын авлагын хуудаснаас олж болно. &os; 7.0-с эхлэн &man.mrouted.8; multicast чиглүүлэлтийн демон үндсэн системээс хасагдсан. Энэ нь DVMRP multicast чиглүүлэлтийн протоколыг хэрэгжүүлдэг бөгөөд үүнийг ихэнх multicast суулгацуудад &man.pim.4;-р ихэвчлэн сольсон байдаг. Холбогдох &man.map-mbone.8; болон &man.mrinfo.8; хэрэгслүүд бас хасагдсан. Одоо эдгээр програмууд нь &os;-ийн портын цуглуулгад net/mrouted портод байгаа болно. 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;, wlan_scan_ap болон wlan_scan_sta модулиуд байх бөгөөд &man.wlan.4; модуль нь утасгүй төхөөрөмжийн драйвертай цуг автоматаар дуудагддаг ба үлдсэн модулиуд нь /boot/loader.conf файлын тусламжтайгаар ачаалах үед дуудагдах ёстой: wlan_scan_ap_load="YES" wlan_scan_sta_load="YES" Үүнтэй цуг таны ашиглах аюулгүй байдлын протоколуудад зориулагдсан криптографын дэмжлэгийг хийдэг модулиуд хэрэгтэй болно. Эдгээр нь &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_scan_ap # 802.11 AP mode scanning device wlan_scan_sta # 802.11 STA mode scanning 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:3 100 EPS WPA WME freebsdap 00:11:95:c3:0d:ac 1 54M 22:1 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="ssid your_ssid_here inet 192.168.1.100 netmask 255.255.255.0" 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 ssid my_net wepmode on weptxkey 3 wepkey 3:0x3456789012 \ inet 192.168.1.100 netmask 255.255.255.0 weptxkey нь дамжуулалтад ямар WEP түлхүүр ашиглахыг хэлж байна. Энд бид гурав дахь түлхүүрийг ашиглаж байна. Энэ нь хандалтын цэг дэх тохиргоотой таарах ёстой. Хэрэв та хандалтын цэг дээр ямар түлхүүр ашиглагдаж байгааг мэдэхгүй байгаа бол энэ утгад 1-ийг (өөрөөр хэлбэл эхний түлхүүр) ашиглах хэрэгтэй. 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 ssid freebsdap mediaopt adhoc inet 192.168.0.1 netmask 255.255.255.0 &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:3 100 IS Гаралт дээрх I нь A машин ad-hoc горимд байгааг батална. Бид одоо B-г өөр IP хаягтайгаар тохируулах хэрэгтэй: &prompt.root; ifconfig ath0 ssid freebsdap mediaopt adhoc inet 192.168.0.2 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.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 нь одоо мэдээлэл солилцоход бэлэн боллоо. &os; хандах цэг болж ажиллах &os; нь Access Point (AP) буюу хандах цэг болж ажилласнаар нэмэлт хандах цэг болсон төхөөрөмж худалдаж авах эсвэл цэгээс цэгийн хооронд холбогдож ажилладаг сүлжээ байгуулах зэрэг нэмэлт үйлдлүүдийг хэмнэж болдог. Хэрэв таны &os; машин сүлжээнээс сүлжээний хооронд дамжуулдаг гүүр болж (жишээ нь интернэтэд холбож) ажиллах шаардлагатай үед илүү тохирдог. Үндсэн тохиргоо &os; машинаа хандах цэг болж ажилладгаар тохируулахаасаа өмнө цөмөө сүлжээнийхээ картанд тохируулж тохируулсан байх ёстой. Та мөн хэрэглэх нууцлалын дамжуулах протокол буюу бүртгэлээ нэмэх хэрэгтэй. Нэмэлт мэдээллийг хэсгээс харна уу. NDIS хэмээгч драйвер орлуулагч болон Виндоусын драйверуудыг ашигласан тохиолдолд хандах цэг болгож ашиглах боломж одоогоор байхгүй. Зөвхөн &os;-н үндсэн утасгүй холболтын драйвер л хандах цэг болох горимыг дэмжиж байгаа. Утасгүй холболтын сүлжээ дэмжигдэх ажилладаг болж ирэнгүүт нь утасгүй сүлжээний төхөөрөмж тань тухайн машин дээрээ хандах цэг болж ажиллах чадвартайг шалгаж болдог (заримдаа hostap горим гэж нэрлэдэг): &prompt.root; ifconfig ath0 list caps ath0=783ed0f<WEP,TKIP,AES,AES_CCM,IBSS,HOSTAP,AHDEMO,TXPMGT,SHSLOT,SHPREAMBLE,MONITOR,TKIPMIC,WPA1,WPA2,BURST,WME> Дээрх тушаалын гаралтаас HOSTAP гэдэг үг нь тухай утасгүй сүлжээний карт нь хандах цэг болж ажиллах чадвартай гэдгийг баталж өгч байна. Мөн төрөл бүрийн нууцлалын боломжууд нь WEP, TKIP, WPA2, гэх мэтээр дурдагддаг бөгөөд эдгээр нь хандах цэгийн дамжуулалтаа нууцлахад нь хэрэглэгдэх чухал хэрэгтэй мэдээлэл болж өгдөг. Одоо утасгүй сүлжээний төхөөрөмж нь hostap горимд шилжиж өөрийн гэсэн SSID дугаар болон IP хаягаа аваад ажиллах боломжтой болно: &prompt.root; ifconfig ath0 ssid freebsdap mode 11g mediaopt hostap inet 192.168.0.1 netmask 255.255.255.0 Дахин ifconfig тушаалаар ath0 төхөөрөмжийн төлөв байдлыг шалгая: &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 mode 11g <hostap> status: associated ssid freebsdap channel 1 bssid 00:11:95:c3:0d:ac authmode OPEN privacy OFF txpowmax 38 bmiss 7 protmode CTS burst dtimperiod 1 bintval 100 hostap үг нь уг төхөөрөмжийг тухайн машин дээр хандах цэг болж ажиллаж байгааг нь илэрхийлж байна. Тухайн төхөөрөмжийн ийм тохируулгыг машин асах үед нь хийгдэхээр тохируулъя гэж бодсон тохиолдолд /etc/rc.conf файлд дараах мөрийг оруулж өгөх хэрэгтэй: ifconfig_ath0="ssid freebsdap mode 11g mediaopt hostap inet 192.168.0.1 netmask 255.255.255.0" Тухайн машин дээр хандах цэг нь нэвтрэх үйлдэл болон нууцлах үйлчилгээ ашиглахгүй ажиллах Хэдийгээр хандах цэгийг нэвтрэх үйлдэл болон холболтын нууцлал ашиглахгүйгээр ажиллуулах нь тийм сайшаалтай биш боловч хандах цэгийн ажиллагааг шалгахын тулд ингэж тохируулж ажиллуулах шаардлага гардаг. Энэ тохируулга нь мөн хэрэглэгчтэй холбогдолтой хүндрэлүүдийг шийдэхэд бас хэрэглэгдэж болно. Өмнө харуулснаар тохируулагдсан хандах цэгийг өөр утасгүй сүлжээтэй ажиллаж буй машинаас хайлт хийж олж болдог: &prompt.root; ifconfig ath0 up scan SSID BSSID CHAN RATE S:N INT CAPS freebsdap 00:11:95:c3:0d:ac 1 54M 22:1 100 ES Хэрэглэгч машинаас хандах цэгийг ингэж олоод түүнтэй дараах маягаар холбогдож болно: &prompt.root; ifconfig ath0 ssid freebsdap inet 192.168.0.2 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.2 netmask 0xffffff00 broadcast 192.168.0.255 ether 00:11:95:d5:43:62 media: IEEE 802.11 Wireless Ethernet autoselect (OFDM/54Mbps) status: associated ssid freebsdap channel 1 bssid 00:11:95:c3:0d:ac authmode OPEN privacy OFF txpowmax 36 protmode CTS bintval 100 WPA нууцлалтай хандах цэг болсон машин Энэ хэсэгт хандах цэг болж ажиллаж буй &os; машиныг WPA нууцлалын бүртгэл хэрэглэх тухай өгүүлэх болно. WPA нууцлалтай холбогдолтой болон WPA дээр суурилсан хэрэглэгчийн тохиргооны талаар дэлгэрэнгүй мэдээллийг хэсгээс хараарай. hostapd нэртэй далд чөтгөр нь WPA-г ашиглаж буй хандах цэг дээр хэрэглэгчийг нэвтрүүлэх болон түлхүүр үг солилцох үйлдлүүдэд зориулагдсан байдаг. Дараах жишээн дээр бүх тохиргооны үйлдлүүд нь хандах цэг болж ажиллаж буй &os; машин дээр гүйцэтгэгдэх болно. Хандах цэг зөв ажиллаж эхэлсэн үед hostapd далд чөтгөрийг автоматаар машиныг ачаалагдах үед зөвшөөрөхийн тулд /etc/rc.conf файлд дараах мөрийг нэмж өгөх хэрэгтэй: hostapd_enable="YES" hostapd далд чөтгөрийг тохируулахаасаа өмнө хэсэгт заасан ерөнхий тохиргоог хийсэн эсэхээ магадлаарай. WPA-PSK WPA-PSK нь хэрэглэгчид нэвтрэх үйлдэл хийдэг сервер шаардлагагүй юм уу эсвэл боломжгүй болсон бага зэргийг сүлжээнд зориулагдсан билээ. Тохиргоо нь /etc/hostapd.conf файлд хийгддэг: interface=ath0 debug=1 ctrl_interface=/var/run/hostapd ctrl_interface_group=wheel ssid=freebsdap wpa=1 wpa_passphrase=freebsdmall wpa_key_mgmt=WPA-PSK wpa_pairwise=CCMP TKIP Энэ талбар нь хандах цэг болж ажиллаж буй утасгүй сүлжээний төхөөрөмжийг заадаг. hostapd-н гүйцэтгэж байгаа явцыг харуулалтын түвшинг заадаг талбар. 1 гэсэн утга нь хамгийн бага түвшинг зааж байгаа билээ. ctrl_interface гэсэн талбар нь hostapd-д хэрэглэгддэг &man.hostapd.cli.8; төрлийн гадны програмуудтай холбогдоход хэрэглэгддэг домэйн сокет файлуудыг хадгалах сангийн байрлалыг зааж өгдөг. Энд анхдагч утга нь хэрэглэгдсэн байна. ctrl_interface_group гэсэн мөрөнд хяналт хийдэг төхөөрөмж рүү хандаж болох бүлгийн нэр (энд wheel бүлгийг оруулсан) байна. Энэ талбарт сүлжээний нэрийг оруулдаг. wpa талбар нь WPA нууцлалыг зөвшөөрдөг бөгөөд ямар бүртгэл шаардлагатайг нь тодорхойлж өгнө. 1 гэсэн утга нь хандах цэгийг WPA-PSK нууцлалаар тохируулдаг. wpa_passphrase талбарт ASCII тэмдэгтээр бичигдсэн WPA нэвтрэх үйлдлийн нууц үг агуулагддаг. Болж өгвөл урт олон үсэгнээс бүтсэн таахад хялбар биш чангавтар нууц үг сонгох хэрэгтэй. wpa_key_mgmt мөр нь хэрэглэж буй түлхүүр үгний зориулалтанд хамаатай. Манай тохиолдолд энэ нь WPA-PSK байна. wpa_pairwise талбар нь хандах цэгт тохиромжтой нууц хувиргалтуудыг харуулдаг. Энд TKIP (WPA) ба CCMP (WPA2) хувиргагчид хоёулаа хүлээн зөвшөөрөгдөнө. CCMP хувиргагч нь TKIP-н бас нэг хувилбар бөгөөд боломжтой бол үүнийг илүүд үзэх хэрэгтэй. TKIP хувиргагчийг CCMP хувиргагч хэрэглэх боломжгүй үед л сонгох нь зүйтэй. Дараагийн алхам нь hostapd-г эхлүүлэх: &prompt.root /etc/rc.d/hostapd forcestart &prompt.root; ifconfig ath0 ath0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 2290 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 mode 11g <hostap> status: associated ssid freebsdap channel 1 bssid 00:11:95:c3:0d:ac authmode WPA2/802.11i privacy MIXED deftxkey 2 TKIP 2:128-bit txpowmax 36 protmode CTS dtimperiod 1 bintval 100 Хандах цэг одоо ажиллагаанд орсон бөгөөд хэрэглэгчийн зүгээс холбогдох тухай дэлгэрэнгүй мэдээллийг хэсгээс харна уу. Хандах цэгт холбогдсон төхөөрөмжүүдийг ifconfig ath0 list sta гэсэн тушаалаар харж болно. WEP нууцлал хэрэглэж хандах цэг болсон машин Ямар ч нэвтрэх үйлдэл хэрэглэдэггүй учраас амархан дайралтад өртдөгийн улмаас WEP нууцлалын хувиргуурыг хэрэглэх нь тийм сайшаалтай биш. Зарим худалдаанд хэрэглэгдэж буй утасгүй сүлжээний картууд нь зөвхөн WEP нууцлалын бүртгэл хэрэглэдэг ба ийм картуудыг хандах цэг болгож хэрэглэхээр бол хэрэглэгчийн таних үйлдэл хийхээр тохируулах боломж байхгүй байх болно. Утасгүй сүлжээний төхөөрөмж тэгэхээр одоо hostap горимд ажиллаж болох бөгөөд шаардлагатай зөв SSID дугаар болон IP хаягаа авах шаардлагатай: &prompt.root; ifconfig ath0 ssid freebsdap wepmode on weptxkey 3 wepkey 3:0x3456789012 mode 11g mediaopt hostap \ inet 192.168.0.1 netmask 255.255.255.0 weptxkey гэдэг нь дамжуулалтад WEP нууцлал хэрэглэхийг зааж өгч байна. Энд бид гуравдугаар түлхүүрийг (түлхүүрийн дугаар нь 1 гэсэн тоогоор эхэлдэг) хэрэглэсэн байна. Энэ сонголт нь дамжуулагдах өгөгдлийг хувиргахад хэрэглэгддэг. wepkey гэдэг нь WEP түлхүүрийг сонгосныг зааж байна. Энэ нь index:key гэсэн хэлбэртэй байдаг ба хэрэв эхний дугаарлалт нь заагдаагүй бол түлхүүр нь 1 гэж суугддаг. Тэгэхээр хэрэв эхний түлхүүрээс өөр түлхүүр хэрэглэх шаардлагатай бол эхний дугаарлалтыг нь зааж өгөх шаардлагатай гэсэн үг. Ингээд дахин ifconfig тушаалыг ашиглаж ath0 төхөөрөмжийн төлөв байдлыг шалгаж болно: &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 mode 11g <hostap> status: associated ssid freebsdap channel 1 bssid 00:11:95:c3:0d:ac authmode OPEN privacy ON deftxkey 3 wepkey 3:40-bit txpowmax 36 protmode CTS dtimperiod 1 bintval 100 Өөр утасгүй холбогддог машинаас хандах цэгийг хайж шалгаж болдог: &prompt.root; ifconfig ath0 up scan SSID BSSID CHAN RATE S:N INT CAPS freebsdap 00:11:95:c3:0d:ac 1 54M 22:1 100 EPS Хэрэглэгчийн машинаас хандах цэгийг олоод зөв тохиргоог нь зааж өгөн (дугаар түлхүүр гэх мэт) холбогдох тухай дэлгэрэнгүй зааврыг хэсгээс харна уу. Алдааг олж засварлах Хэрэв та утасгүй сүлжээндээ асуудалтай байгаа бол асуудлыг олж засварлахад туслах хэд хэдэн алхмууд байдаг. Хайлт хийж байхдаа та хандалтын цэгийг олж харахгүй байгаа бол та өөрийн утасгүй төхөөрөмжөө тодорхой хэдэн сувгууд дээр хязгаарлаж тохируулаагүй эсэхээ шалгаарай. Хэрэв та хандалтын цэгт холбогдож чадахгүй байгаа бол таны станцын тохиргоо хандалтын цэгийн аль нэгтэй тохирч байгаа эсэхийг шалгаарай. Үүнд нэвтрэлт танилтын схем болон аюулгүй байдлын протоколууд хамаарна. Өөрийн тохиргоогоо аль болох хялбаршуулах хэрэгтэй. Хэрэв та 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 /etc/rc.d/bluetooth скрипт нь Bluetooth стекийг эхлүүлэх болон зогсооход хэрэглэгддэг. Төхөөрөмжийг салгахаасаа өмнө стекийг зогсоох нь зөв байдаг, гэхдээ энэ нь (ихэвчлэн) сүйрлийн биш байдаг. Стекийг эхлүүлж байхад доор дурдсантай төстэй гаралтыг та хүлээн авах болно: &prompt.root; /etc/rc.d/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 Алсын клиентүүдэд 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 хаягийн бүсийг дэд сүлжээ болгон хуваалгүйгээр хуваарилж болно. Хаягийн хязгаарууд Интерфэйсийн цаана байгаа давтагдашгүй эх MAC хаягуудын тоо хязгаартай байж болно. Тэр хязгаарт хүрэх үед мэдэгдэхгүй эх хаягтай пакетууд нь тухайн үед байгаа хостын кэш оруулгын хугацаа дуусах юм уу эсвэл устгагдах хүртэл хаягдсаар байх болно. Доор дурдсан жишээ нь vlan100 дээр байгаа CustomerA-д зориулж Ethernet төхөөрөмжүүдийн хамгийн их тоог 10 болгон тохируулж байна. &prompt.root; ifconfig bridge0 ifmaxaddr vlan100 10 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 Эндрю Томпсон Бичсэн Холбоос нэгтгэлт ба ослыг тойрон гарах (Link Aggregation and Failover) lagg failover fec lacp loadbalance roundrobin Танилцуулга &man.lagg.4; интерфэйс нь fault-tolerance буюу алдаанд тэсвэртэй байдал болон өндөр хурдны холбоосуудыг хангах зорилгоор сүлжээний олон интерфэйсүүдийг нэг виртуал интерфэйс болгон нэгтгэх боломжийг олгодог. Ажиллагааны горимууд failover Зөвхөн мастер портоор урсгалыг илгээж хүлээн авна. Хэрэв мастер порт байхгүй болвол дараагийн идэвхтэй порт ашиглагдана. Эхний нэмэгдсэн интерфэйс нь мастер порт болох бөгөөд үүний дараа нэмэгдсэнүүд нь ослыг тойрон гарах төхөөрөмжүүд болон ашиглагдах болно. fec Сискогийн EtherChannel-ийг дэмждэг. Энэ нь статик тохируулга бөгөөд нөгөө талтайгаа нэгтгэлт хийхэд тохиролцдоггүй эсвэл холбоосыг монитор хийхийн тулд хүрээнүүд солилцдоггүй. Хэрэв шилжүүлэгч LACP-г дэмждэг бол түүнийг ашиглах ёстой. Хэш хийгдсэн протоколын толгойн мэдээлэл дээр үндэслэн идэвхтэй портуудаар гарч байгаа урсгалыг тэнцвэржүүлж дурын идэвхтэй портоос ирж байгаа урсгалыг хүлээн авна. Хэш нь Ethernet эхлэл болон очих хаяг ба хэрэв байгаа бол VLAN хаяг болон IPv4/IPv6 эхлэл болон очих хаягийг багтаадаг. lacp IEEE 802.3ad Link Aggregation Control Protocol (LACP) буюу Холбоос Нэгтгэлт Хянах Протокол болон Marker буюу Тэмдэглэгээний Протоколыг дэмждэг. LACP нь нэгтгэж болох холбоосуудыг нөгөө талтай нь нэг буюу хэд хэдэн Link Aggregated Group буюу Холбоос Нэгтгэгдсэн бүлгүүд болгон тохиролцуулдаг. LAG бүр нь адил хурдтай, гүйцэд дуплекс ажиллагаанд тохируулсан портуудаас тогтоно. Урсгал нь LAG дахь портуудын дагуу хамгийн их нийт хурдаар тэнцвэржүүлэгдэх бөгөөд ихэнх тохиолдолд бүх портуудыг агуулсан зөвхөн нэг LAG байх болно. Физик холболт өөрчлөгдөхөд Холбоос Нэгтгэлт шинэ тохиргоо уруу хурдан шилжих болно. Хэш хийгдсэн протоколын толгойн мэдээлэл дээр үндэслэн идэвхтэй портуудаар гарч байгаа урсгалыг тэнцвэржүүлж дурын идэвхтэй портоос ирж байгаа урсгалыг хүлээн авна. Хэш нь Ethernet эхлэл болон очих хаяг ба хэрэв байгаа бол VLAN хаяг болон IPv4/IPv6 эхлэл болон очих хаягийг багтаадаг. loadbalance Энэ нь fec горимын хуулбар юм. roundrobin Тойрон эргэх хуваарилалтыг ашиглан гарч байгаа урсгалыг бүх идэвхтэй портуудаар тарааж дурын идэвхтэй портоос ирж байгаа урсгалыг хүлээн авна. Энэ горим нь Ethernet хүрээний дарааллыг зөрчих бөгөөд болгоомжтой ашиглах шаардлагатай байдаг. Жишээнүүд Сиско шилжүүлэгчтэй LACP нэгтгэлт Энэ жишээ нь &os; машины хоёр интерфэйсийг шилжүүлэгч рүү ачаалал тэнцвэржүүлсэн, алдаанд тэсвэртэй ганц холбоосоор холбож байна. Дамжуулах чанар болон алдаанд тэсвэртэй байдлыг сайжруулах зорилгоор илүү олон интерфэйсүүдийг нэмж болно. Ethernet холбоосууд дээр хүрээний дараалал чухал байдаг учраас хоёр станцын хоорондох ямар ч урсгал аль нэг интерфэйсийн хамгийн их хурдаар хязгаарлагдан тэр физик холбоосоор үргэлж урсаж байдаг. Дамжуулах алгоритм нь өөр өөр урсгалуудыг ялгаж, байгаа интерфэйсүүдээр тэдгээрийг тэнцвэржүүлэхийн тулд аль болох их мэдээллийг ашиглахыг оролддог. Сиско шилжүүлэгч дээр сувгийн бүлэгт интерфэйсүүдийг нэмнэ. interface FastEthernet0/1 channel-group 1 mode active channel-protocol lacp ! interface FastEthernet0/2 channel-group 1 mode active channel-protocol lacp ! &os; машин дээр lagg интерфэйсийг үүсгэнэ. &prompt.root; ifconfig lagg0 create &prompt.root; ifconfig lagg0 up laggproto lacp laggport fxp0 laggport fxp1 ifconfig-аас гарах интерфэйсийн төлвийг үзэх хэрэгтэй. ACTIVE гэж тэмдэглэгдсэн портууд нь алсын шилжүүлэгчтэй тохиролцсон, идэвхтэй нэгтгэлтийн бүлгийн хэсэг бөгөөд урсгал нь дамжуулагдаж хүлээн авагдах болно. LAG таних тэмдгүүдийг үзэхийн тулд &man.ifconfig.8;-ийн дэлгэрэнгүй гаралтыг ашиглаарай. lagg0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500 options=8<VLAN_MTU> ether 00:05:5d:71:8d:b8 media: Ethernet autoselect status: active laggproto lacp laggport: fxp1 flags=1c<ACTIVE,COLLECTING,DISTRIBUTING> laggport: fxp0 flags=1c<ACTIVE,COLLECTING,DISTRIBUTING> Шилжүүлэгч нь аль портууд идэвхтэйг харуулах болно. Дэлгэрэнгүй мэдээллийг үзэхийн тулд show lacp neighbor detail тушаалыг ашиглах хэрэгтэй. switch# show lacp neighbor Flags: S - Device is requesting Slow LACPDUs F - Device is requesting Fast LACPDUs A - Device is in Active mode P - Device is in Passive mode Channel group 1 neighbors Partner's information: LACP port Oper Port Port Port Flags Priority Dev ID Age Key Number State Fa0/1 SA 32768 0005.5d71.8db8 29s 0x146 0x3 0x3D Fa0/2 SA 32768 0005.5d71.8db8 29s 0x146 0x4 0x3D Failover горим Failover буюу ослыг тойрон гарах горимыг мастер дээр холбоос тасарсан тохиолдолд өөр интерфэйс уруу шилжихэд ашиглаж болно. &prompt.root; ifconfig lagg0 create &prompt.root; ifconfig lagg0 up laggproto failover laggport fxp0 laggport fxp1 lagg0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500 options=8<VLAN_MTU> ether 00:05:5d:71:8d:b8 media: Ethernet autoselect status: active laggproto failover laggport: fxp1 flags=0<> laggport: fxp0 flags=5<MASTER,ACTIVE> Урсгал fxp0 дээр хүлээн авагдаж дамжих болно. Хэрэв холбоос fxp0 дээр тасарсан бол fxp1 нь идэвхтэй холбоос болно. Хэрэв холбоос нь мастер интерфэйс дээр сэргээгдсэн бол энэ нь эргээд идэвхтэй холбоос болно. Жан-Франсуа Докье Шинэчилсэн Алекс Дюпре Дахин зохион байгуулж өргөтгөсөн Дискгүй ажиллагаа дискгүй ажлын станц дискгүй ажиллагаа 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 host2 Холболт ажиллаж байгааг баталгаажуулахын тулд хост бүр уруу очоод нөгөө тал уруу 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 үйлчилгээ үзүүлдэг эсэхийг мэдэхийн тулд өөрийн Интернэтийн үйлчилгээ үзүүлэгчид хандах хэрэгтэй. SixXS нь дэлхий даяар эцсийн хэрэглэгчдийн хооронд туннелийн үйлчилгээ үзүүлдэг. 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-уудын тусламжтайгаар тааруулж болно: OID Тайлбар net.inet.carp.allow Ирж байгаа CARP пакетуудыг хүлээж авах. Анхдагчаар идэвхжсэн байдаг. net.inet.carp.preempt Энэ тохируулга нь хост дээрх бүх CARP интерфэйсүүдийг аль нэг нь зогссон тохиолдолд зогсоодог. Анхдагчаар идэвхжээгүй байдаг. net.inet.carp.log 0 гэсэн утга нь бүртгэлийг идэвхжүүлдэггүй. 1 гэсэн утга нь муу CARP пакетуудын бүртгэлийг идэвхжүүлдэг. 1-ээс их утгууд нь CARP интерфэйсүүдийн хувьд төлвийн өөрчлөлтүүдийн бүртгэлийг идэвхжүүлдэг. Анхдагч утга нь 1 байна. net.inet.carp.arpbalance ARP ашиглан дотоод сүлжээний урсгалыг тэнцвэржүүлнэ. Анхдагчаар идэвхжээгүй байдаг. net.inet.carp.suppress_preempt Preemption буюу өөр илүү өндөр давуу эрх бүхий бодлого/урсгалаар солигдох боломжийг хаасан хориглолтын төлвийг үзүүлэх зөвхөн уншигдах OID. Хэрэв интерфэйс дээрх холбоос босоогүй бол илүү өндөр давуу эрх бүхий бодлого/урсгалаар солигдох боломжийг хааж болно. 0 утга нь илүү өндөр давуу эрх бүхий бодлого/урсгалаар солигдох боломж хаагдаагүй гэсэн утгатай. Асуудал бүр энэ OID-ийг нэгээр ахиулж нэмэгдүүлнэ. CARP төхөөрөмжүүдийг 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 testpass 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 хаягийг анхдагч агуулгын сервер рүү суллахгүй байж болох юм. Энэ тохиолдолд администратор мастер уруу буцааж 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/network-servers/chapter.sgml b/mn_MN.UTF-8/books/handbook/network-servers/chapter.sgml index c414668bf5..20c7842a25 100644 --- a/mn_MN.UTF-8/books/handbook/network-servers/chapter.sgml +++ b/mn_MN.UTF-8/books/handbook/network-servers/chapter.sgml @@ -1,4666 +1,4666 @@ Мюррей Стөүкли Дахин зохион байгуулсан Лодойсамбын Баянзул Орчуулсан Сүлжээний орчны Серверүүд Ерөнхий агуулга Энэ бүлэгт &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_flags тохируулгаар дамжуулан inetd програмд тушаалын мөрнөөс өөр бусад тохируулгуудыг зааж өгч болно. Тушаалын мөрний тохируулгууд Ихэнх сервер дэмоны нэгэн адил, inetd нь түүнийг өөрчлөн тохируулахад зориулагдсан олон тооны тохируулгуудын хамт ирдэг. Тохируулгуудыг бүрнээр жагсаан бичвэл: inetd /etc/rc.conf файл доторх inetd_flags тохируулгыг ашиглан эдгээр тохируулгуудыг inetd-д дамжуулна. Анхдагч байдлаар, 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-р дуудагдсан дэмон өөрийн сокетийг удирдаж чадах эсэхийг заана. төрлийн сокет дэмоны хувьд тохируулгыг хэрэглэх ёстой байдаг бол, ихэвчлэн олон урсгалтай байдаг сокет дэмоны хувьд тохируулгыг хэрэглэх хэрэгтэй байдаг. нь ихэвчлэн олон сокетийг нэг дэмонд шилжүүлэн өгдөг бол, нь шинээр үүссэн сокет тус бүрт харгалзуулан хүүхэд дэмонг салаалуулан үүсгэдэг. 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/lockd start &prompt.root; /etc/rc.d/statd 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-г нэмэлт тугуудын хамт ажиллуулах хүсэлтэй бол, дараах мөрүүдийг нэмж бичнэ үү (эсвэл шаардлагатай хэсгийг засаж бичнэ үү): dhclient_program="/sbin/dhclient" dhclient_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 2.2-ийн хувьд: apache22_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/apache22 портоос авч болно. SSL дэмжлэг автоматаар идэвхжсэн байдаг. Хэлний холболтууд Ихэнх гол скрипт хэлнүүдэд зориулсан Apache-ийн модулиуд байдаг. Эдгээр модулиуд нь Apache-ийн модулиудыг бүхэлд нь скрипт хэл дээр бичих боломжийг ихэвчлэн бүрдүүлдэг. Эдгээр нь бас гадаад тайлбарлагчийг эхлүүлэх нэмэлт зардал болон димамик вэб сайтуудын хувьд байдаг эхлүүлэх хугацааны алдагдлыг тойрон гарах, серверт багтааж хийгдсэн байнгын тайлбарлагч болон дараагийн хэсэгт тайлбарлагдсан шигээр ихэвчлэн ашиглагддаг. Динамик вэб сайтууд web servers dynamic Сүүлийн 10 жилд, өөрийн ашиг орлогыг нэмэгдүүлэх, хүмүүст хүрэх зорилгоор илүү олон компаниуд бизнесээ Интернэтээр явуулах болжээ. Энэ нь динамик агуулгатай вэб хуудсууд төрөн гарах хэрэгцээ шаардлагыг улам нэмэгдүүлсэн. µsoft; гэх мэт зарим компаниуд ч өөрийн бүтээгдэхүүнүүдэд тэдгээрээс оруулах болсон хэдий ч, нээлттэй эхийн нэгдэл энэ асуудалд хариу өгсөн юм. Динамик вэб агуулгыг бий болгох орчин үеийн боломжууд бол Django, Ruby on Rails, mod_perl болон mod_php юм. Django Python Django Django нь өндөр ажиллагаатай, гоёмсог вэб програмыг хурдан бичих боломжийг хөгжүүлэгчдэд олгохоор хийгдсэн, BSD лицензтэй тогтолцоо юм. Энэ нь өгөгдлийн төрлүүд Python обьект хэлбэрээр хөгжүүлэгддэг байхаар болгосон обьектийн харилцааг оноогчтой бөгөөд тэдгээр обьектуудад зориулсан хөгжүүлэгчдэд SQL бичих шаардлагагүй болгож өгдөг, баялаг динамик өгөгдлийн сангийн хандалтын API-тай юм. Энэ нь бас програмын логикийг HTML үзүүлбэрээс тусгаарлах боломжийг бүрдүүлэх нэмэлт загварын системтэй байдаг. Django нь mod_python, Apache, болон таны сонгосон SQL өгөгдлийн сангийн хөдөлгүүрээс хамаардаг. FreeBSD порт нь эдгээр бүх хамаарлуудыг тохирсон сонголтуудтай нь танд суулгаж өгөх болно. Django-г Apache2, mod_python3, болон PostgreSQL-тэй суулгах нь &prompt.root; cd /usr/ports/www/py-django; make all install clean -DWITH_MOD_PYTHON3 -DWITH_POSTGRESQL Django болон бусад хамаарлууд суулгагдсаны дараа та Django төслийн санг үүсгэх хэрэгтэй бөгөөд өөрийн сайт дээрх тухайн URL дээр өөрийн програмыг дуудахын тулд суулгагдсан Python тайлбарлагчийг ашиглахаар болгож Apache-г тохируулах хэрэгтэй. Django/mod_python-д зориулсан Apache-ийн тохиргоо Та өөрийн вэб програм руу тодорхой URL-уудад зориулсан хүсэлтүүдийг дамжуулахаар Apache-г тохируулахын тулд apache-ийн httpd.conf файлд мөр нэмэх шаардлагатай: <Location "/"> SetHandler python-program PythonPath "['/dir/to/your/django/packages/'] + sys.path" PythonHandler django.core.handlers.modpython SetEnv DJANGO_SETTINGS_MODULE mysite.settings PythonAutoReload On PythonDebug On </Location> Ruby on Rails Ruby on Rails Ruby on Rails нь бүрэн гүйцэд хөгжүүлэлтийн стекийн боломжийг олгодог бөгөөд вэб хөгжүүлэгчдийг хүчирхэг програмыг хурдан шуурхай, илүү үр бүтээлтэй бичдэг байхаар оновчлогдсон, нээлттэй эхийн вэб тогтолцоо юм. Үүнийг портын системээс хялбараар суулгаж болно. &prompt.root; cd /usr/ports/www/rubygem-rails; make all install clean 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.X-тэй ажилладаг гэдгийг санаарай. 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-г дахин ачаалах шаардлагатай. Өөрийн систем дээр inetd-г идэвхжүүлэх талаар дэлгэрэнгүйг -с үзнэ үү. Мөн ftpd-ийг дангаар нь ажиллуулахаар тохируулж болно. Энэ тохиолдолд /etc/rc.conf файлд тохирох хувьсагчийг тохируулахад хангалттай байдаг: ftpd_enable="YES" Дээрх хувьсагчийг тохируулсны дараа сервер дараачийн ачаалалт хийхэд ажиллах боломжтой болох бөгөөд эсвэл дараах тушаалыг root эрхээр ажиллуулан эхлүүлж болно: &prompt.root; /etc/rc.d/ftpd start Одоо та дараах тушаалыг өгөн 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/samba/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-ийн тохиргоог дахин ачаалах шаардлагатай. 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 3.0.23c-аас эхлээд нэвтрэлтийн файлуудад зориулсан сан нь /usr/local/etc/samba сан юм. Энэ үед санал болгодог арын мэдээллийн сан нь tdbsam бөгөөд хэрэглэгчийн бүртгэлийг нэмэхийн тулд дараах тушаалыг ашиглах ёстой: &prompt.root; pdbedit 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/-с олж үзэж болно. diff --git a/mn_MN.UTF-8/books/handbook/serialcomms/chapter.sgml b/mn_MN.UTF-8/books/handbook/serialcomms/chapter.sgml index 0490e3ae21..d2c25bab7d 100644 --- a/mn_MN.UTF-8/books/handbook/serialcomms/chapter.sgml +++ b/mn_MN.UTF-8/books/handbook/serialcomms/chapter.sgml @@ -1,2803 +1,2806 @@ Цагаанхүүгийн Ганболд Орчуулсан Цуваа холбоонууд Ерөнхий агуулга цуваа холбоонууд &unix; нь цуваа холбоонуудад зориулсан дэмжлэгтэй үргэлж байсаар ирсэн. Тухайлбал хамгийн анхны &unix; машинууд хэрэглэгчийн оролт болон гаралтын хувьд цуваа шугамууд дээр тулгуурладаг байсан. Дундаж терминал нь секундэд 10 тэмдэгт дамжих цуваа хэвлэгч болон гараас тогтдог байсан тэр үеэс хойш юмс асар их өөрчлөгдсөөр ирсэн юм. Энэ бүлэг нь FreeBSD дээр цуваа холбоонуудыг ашиглах зарим аргуудаас дурдах болно. Энэ бүлгийг уншсаны дараа, та дараах зүйлсийг мэдэх болно: Өөрийн FreeBSD системд терминалуудыг хэрхэн холбох талаар. Алсын хостууд уруу хэрхэн модемоор залгаж холбогдох талаар. Алсын хэрэглэгчдийг модемоор таны систем уруу нэвтрэхийг хэрхэн зөвшөөрөх талаар. Цуваа консолоос өөрийн системийг хэрхэн ачаалах талаар. Энэ бүлгийг уншихаасаа өмнө та дараах зүйлсийг гүйцэтгэх хэрэгтэй: Шинэ цөмийг хэрхэн тохируулан суулгах талаар мэдэх (). &unix; зөвшөөрлүүд болон процессуудыг ойлгох (). FreeBSD дээр ашиглахыг хүсэж байгаа цуваа тоног төхөөрөмжийн (модем эсвэл олон порттой карт) техникийн гарын авлагад хандаж болохоор байх. Танилцуулга Ухагдахуунууд bits-per-second bps Bits per Second буюу секундэд дамжуулах бит — өгөгдөл дамжих хурд DTE DTE Data Terminal Equipment буюу Өгөгдлийн Терминал Төхөөрөмж — жишээ нь таны компьютер DCE DCE Data Communications Equipment буюу Өгөгдлийн Холбоонуудын Төхөөрөмж — таны модем RS-232 RS-232C кабелиуд Тоног төхөөрөмжийн цуваа холбоонуудад зориулсан EIA стандарт Холбоонуудын өгөгдлийн хурдны талаар ярихдаа энэ хэсэг baud гэсэн ухагдахууныг ашигладаггүй. Baud нь тодорхой хугацаанд хийгдсэн цахилгааны төлвийн шилжилтүүдийн тоог хэлдэг бол bps (bits per second буюу секундэд дамжуулах бит) нь хэрэглэгдэх зөв ойлголт юм (энэ нь ямар ч байсан хэцүү зөрүүд хүмүүст тийм ч яршиг төвөг болдоггүй юм шиг санагддаг). Кабелиуд болон Портууд Өөрийн FreeBSD систем уруу модем эсвэл терминалыг холбохын тулд танд компьютер дээр чинь цуваа порт болон өөрийн цуваа төхөөрөмж уруу холбох зөв кабель хэрэгтэй болно. Хэрэв та өөрийн тоног төхөөрөмжтэй болон шаардагдах кабельтай аль хэдийн танил болсон бол энэ хэсгийг айлгүйгээр орхиж болно. Кабелиуд Хэд хэдэн өөр өөр төрлийн цуваа кабелиуд байдаг. Бидний зорилгод нийцэх хоёр хамгийн нийтлэг төрөл бол null-модем болон стандарт (straight буюу шууд) RS-232 кабелиуд юм. Таны тоног төхөөрөмжийн баримт шаардлагатай кабелийн төрлийг тайлбарлах ёстой. Null-модем кабелиуд null-модем кабель Null-модем кабель нь Signal Ground буюу Газар дохио зэрэг зарим дохионуудыг шууд нэвтрүүлдэг боловч зарим дохионуудыг шилжүүлдэг. Жишээ нь нэг талын Transmitted Data буюу Дамжигдсан Өгөгдөл зүү нь нөгөө талын Received Data буюу Хүлээн авсан Өгөгдөл зүү уруу ордог. Та бас өөрийн null-модем кабелийг терминалуудтай ажиллахаар болгож болно (өөрөөр хэлбэл чанарын зорилгоор). Энэ хүснэгт нь RS-232C дохионууд болон DB-25 холбогч дээрх зүүний тоонуудыг харуулж байна. Мөн стандарт нь шууд холбогдох 1-р зүүг 1-р зүү Protective Ground буюу Хамгаалалтын Газар шугам уруу дууддаг боловч энэ нь ихэвчлэн орхигддог. Зарим терминалууд 2, 3 болон 7-р зүүнүүдийг зөвхөн ашиглахад зүгээр ажилладаг бол бусдууд нь доор дурдсан жишээнүүдээс өөр тохиргоонуудыг шаарддаг. DB-25-аас DB-25 Null-Модем кабель Дохио Зүү # Зүү # Дохио SG 7 холбогдох 7 SG TD 2 холбогдох 3 RD RD 3 холбогдох 2 TD RTS 4 холбогдох 5 CTS CTS 5 холбогдох 4 RTS DTR 20 холбогдох 6 DSR DTR 20 холбогдох 8 DCD DSR 6 холбогдох 20 DTR DCD 8 холбогдох 20 DTR
Одоо үед нийтлэг байдаг өөр хоёр схемийг энд үзүүлэв. DB-9-өөс DB-9 Null-Модем кабель Дохио Зүү # Зүү # Дохио RD 2 холбогдох 3 TD TD 3 холбогдох 2 RD DTR 4 холбогдох 6 DSR DTR 4 холбогдох 1 DCD SG 5 холбогдох 5 SG DSR 6 холбогдох 4 DTR DCD 1 холбогдох 4 DTR RTS 7 холбогдох 8 CTS CTS 8 холбогдох 7 RTS
DB-9-өөс DB-25 Null-Модем кабель Дохио Зүү # Зүү # Дохио RD 2 холбогдох 2 TD TD 3 холбогдох 3 RD DTR 4 холбогдох 6 DSR DTR 4 холбогдох 8 DCD SG 5 холбогдох 7 SG DSR 6 холбогдох 20 DTR DCD 1 холбогдох 20 DTR RTS 7 холбогдох 5 CTS CTS 8 холбогдох 4 RTS
Нэг талд байгаа нэг зүү нь нөгөө талын хос зүү уруу холбогдох бол тэдгээрийн холбогч дээр хос зүүний хооронд нэг богино утсаар болон урт утсаар нөгөө ганц зүү уруу холбон ихэвчлэн шийдсэн байдаг. Дээрх дизайнууд нь хамгийн нийтлэг юм шиг санагддаг. Өөр хувилбарууд дээр (RS-232 Made Easy номонд тайлбарласнаар) SG нь SG уруу, TD нь RD уруу, RTS болон CTS нь DCD уруу, DTR нь DSR уруу болон эсрэгээр холбогддог.
Стандарт RS-232C кабелиуд RS-232C кабелиуд Стандарт цуваа кабель нь RS-232C дохионуудыг бүгдийг нь шууд нэвтрүүлдэг. Өөрөөр хэлбэл кабелийн нэг талын Transmitted Data буюу Дамжигдсан Өгөгдөл зүү нь нөгөө талын Transmitted Data буюу Дамжигдсан Өгөгдөл зүү уруу ордог. Энэ нь модемийг таны FreeBSD систем уруу болон зарим нэг тохирох терминалиуд уруу холбоход хэрэглэгдэх кабелийн төрөл юм.
Портууд Цуваа портууд нь өгөгдлийг FreeBSD хост компьютер болон терминалын хооронд дамжуулах төхөөрөмжүүд юм. Энэ хэсэг нь ямар төрлийн портууд байдаг болон FreeBSD дээр тэдгээрт хэрхэн ханддагийг тайлбарлах болно. Портуудын төрлүүд Хэд хэдэн төрлийн портууд байдаг. Та кабелийг худалдаж авах юм уу эсвэл хийхээсээ өмнө энэ нь таны терминал болон FreeBSD систем дээрх портуудад таарах эсэхийг шалгах хэрэгтэй. Ихэнх терминалууд DB-25 портуудтай байдаг. FreeBSD ажиллаж байгаа PC-үүд зэрэг персонал компьютерууд нь DB-25 эсвэл DB-9 портуудтай байдаг. Хэрэв та PC дээрээ олон порттой цуваа карттай бол танд RJ-12 эсвэл RJ-45 портууд байж болох юм. Тоног төхөөрөмжтэй цуг ирсэн баримтаас ашиглах портын төрлийн тодорхойлолтыг үзнэ үү. Портыг нүдээрээ харж шалгах нь бас үр дүнгээ өгдөг. Портын нэрс FreeBSD дээр цуваа порт бүрт /dev сан дахь оруулгаар та ханддаг. Хоёр өөр төрлийн оруулга байдаг: Call-in буюу дуудагдах портууд нь /dev/ttydN гэгддэг бөгөөд N нь тэгээс эхлэх портын дугаар юм. Ерөнхийдөө дуудагдах портыг терминалуудад зориулж ашигладаг. Data carrier detect (DCD) буюу өгөгдлийн зөөгч илрүүлэх дохиог зөв ажиллахыг цуваа шугам батлахыг дуудагдах портууд нь шаарддаг. Call-out буюу дуудах портууд нь /dev/cuadN гэгддэг. Дуудах портуудыг терминалуудад зориулж ихэвчлэн ашигладаггүй, зөвхөн модемуудад зориулж ашигладаг. Цуваа кабель эсвэл терминал нь зөөгчийг илрүүлэх дохиог дэмждэггүй бол та дуудах портуудыг ашиглаж болох юм. Хэрэв та терминалыг эхний цуваа порт уруу (&ms-dos; дээр COM1) холбосон бол терминалд хандахдаа /dev/ttyd0 гэж ашиглах болно. Хэрэв терминал нь хоёр дахь цуваа порт дээр байгаа бол (бас COM2 гэгддэг) /dev/ttyd1 гэх мэтээр ашиглах ёстой.
Цөмийн тохиргоо FreeBSD нь анхдагчаар дөрвөн цуваа портыг дэмждэг. &ms-dos;-ийн ертөнцөд эдгээр нь COM1, COM2, COM3, болон COM4 гэгддэг. FreeBSD нь одоогоор BocaBoard 1008 болон 2016 зэрэг дүлий олон порттой цуваа интерфэйс картууд болон Digiboard болон Stallion Technologies-ийн хийдэг илүү ухаалаг олон порттой картуудыг дэмждэг. Гэхдээ анхдагч цөм нь зөвхөн стандарт COM портуудыг хайдаг. Таны цуваа портуудыг таны цөм таньж байгаа эсэхийг харахын тулд цөмийг ачаалж байх үед мэдэгдлүүдийг үзэх хэрэгтэй эсвэл цөмийн ачаалалтын мэдэгдлүүдийг дахин харуулах /sbin/dmesg тушаалыг ашиглах хэрэгтэй. Ялангуяа sio тэмдэгтүүдээр эхэлсэн мэдэгдлүүдийг хайгаарай. sio орсон мэдэгдлүүдийг харахын тулд дараах тушаалыг ашиглана: &prompt.root; /sbin/dmesg | grep 'sio' Жишээ нь дөрвөн цуваа порттой систем дээр эдгээр нь цуваа порттой холбоотой цөмийн ачаалалтын мэдэгдлүүд юм: sio0 at 0x3f8-0x3ff irq 4 on isa sio0: type 16550A sio1 at 0x2f8-0x2ff irq 3 on isa sio1: type 16550A sio2 at 0x3e8-0x3ef irq 5 on isa sio2: type 16550A sio3 at 0x2e8-0x2ef irq 9 on isa sio3: type 16550A Хэрэв таны цөм бүх цуваа портуудыг чинь танихгүй байгаа бол та өөрийн цөмийг /boot/device.hints файлд тохируулах хэрэгтэй байж болох юм. Та өөртөө байхгүй төхөөрөмжүүдийн хувьд тэдгээр мөрүүдийг тайлбар болгох эсвэл бүрмөсөн арилгаж болох юм. Цуваа портууд болон олон порттой хавтангийн тохиргооны талаар дэлгэрэнгүй мэдээллийг &man.sio.4; гарын авлагын хуудаснаас лавлана уу. Өөр хувилбарын FreeBSD дээр урьд нь ашиглаж байсан тохиргооны файл та ашиглаж байгаа бол болгоомжтой байгаарай, учир нь төхөөрөмжийн тугууд болон синтакс хувилбарууд хооронд өөрчлөгдсөн байдаг. IO_COM1 порт нь 0x3f8 хаяг дээрх портод зориулагдсан орлуулалт юм, IO_COM2 нь 0x2f8-ийн IO_COM3 нь 0x3e8-ийн IO_COM4 нь 0x2e8-ийн орлуулалт юм. Эдгээр хаягууд нь цуваа портуудын нэлээн түгээмэл портын хаягууд бөгөөд 4,3, 5 болон 9 тасалдлууд нь нэлээн түгээмэл тасалдал хүсэх шугамнууд юм. Ердийн цуваа портууд нь ISA-bus бүхий PC-үүд дээр тасалдлуудыг хуваалцаж чаддаггүйг бас санаарай (олон порттой хавтангууд нь өөр дээрээ хавтан дээр бүх 16550A-уудад нэг эсвэл хоёр тасалдал хүсэх шугамуудыг хуваалцахыг зөвшөөрдөг бичил схемүүдтэй байдаг). Төхөөрөмжийн Тусгай файлууд Цөм дэх ихэнх төхөөрөмжүүдэд төхөөрөмжийн тусгай файлуудын тусламжтайгаар ханддаг бөгөөд эдгээр файлууд нь /dev санд байдаг. sio төхөөрөмжид /dev/ttydN (dial-in буюу гаднаас залгах) болон /dev/cuadN (call-out буюу дуудах) төхөөрөмжүүдийн тусламжтай ханддаг. FreeBSD нь бас эхлүүлэх төхөөрөмжүүд (/dev/ttydN.init болон /dev/cuadN.init) болон түгжих төхөөрөмжүүдтэй (/dev/ttydN.lock болон /dev/cuadN.lock) байдаг. Эхлүүлэх төхөөрөмжүүд нь урсгалын хяналтдаа RTS/CTS дохиоллыг ашигладаг модемийн crtscts зэрэг холбооны портын параметрүүдийг порт нээгдэх бүрт эхлүүлж тохируулахад хэрэглэгддэг. Түгжих төхөөрөмжүүд нь хэрэглэгчид болон програмуудын зарим нэг параметрүүдийг өөрчлөхөөс сэргийлэхийн тулд портууд дээр тугуудыг түгжихэд хэрэглэгддэг. Терминалын тохиргоонууд, түгжих болон эхлүүлэх төхөөрөмжүүд болон терминалын тохируулгуудыг тохируулах талаар дэлгэрэнгүй мэдээллийг &man.termios.4;, &man.sio.4;, болон &man.stty.1; гарын авлагын хуудаснуудаас үзнэ үү. Цуваа портын тохиргоо ttyd cuad ttydN (эсвэл cuadN) төхөөрөмж нь таны өөрийн програмууддаа зориулж нээхийг хүсэх ердийн төхөөрөмж юм. Процесс төхөөрөмжийг онгойлгоход энэ нь терминалын I/O тохиргоонуудын анхдагч олонлогтой байх болно. Та эдгээр тохиргоонуудыг дараах тушаалаар үзэж болно &prompt.root; stty -a -f /dev/ttyd1 Энэ төхөөрөмжид тохиргоонуудыг өөрчлөхөд төхөөрөмжийг хаах хүртэл тохиргоонууд нь идэвхтэй байдаг. Дахин онгойлгоход энэ нь анхдагч тохиргоо уруугаа буцдаг. Анхдагч олонлогт өөрчлөлтүүдийг хийхийн тулд та онгойлгоод эхний төлөвт төхөөрөмжийн тохиргоонуудыг тааруулж болно. Жишээ нь ttyd5-ийн хувьд анхдагчаар горим, 8 бит холбоо, болон урсгалын хяналтыг идэвхжүүлэхийн тулд доор дурдсаныг бичнэ: &prompt.root; stty -f /dev/ttyd5.init clocal cs8 ixon ixoff rc файлууд rc.serial Цуваа төхөөрөмжүүдийн системийн дагуух эхлүүлэлт нь /etc/rc.d/serial файлаар хянагддаг. Энэ файл нь цуваа төхөрөмжүүдийн анхдагч тохиргоонуудад нөлөөлдөг. Програм зарим тохиргоонуудыг өөрчлөхөөс сэргийлэхийн тулд түгжих төлөвт төхөөрөмжид тохиргоо хийнэ. Жишээ нь ttyd5-ийн хурдыг 57600 bps болгож түгжихийн тулд доор дурдсаныг бичнэ: &prompt.root; stty -f /dev/ttyd5.lock 57600 Одоо програм ttyd5-ийг онгойлгож портын хурдыг өөрчлөхийг оролдоход хурд нь 57600 bps-с хөдлөхгүй байх болно. Мэдээж та эхний төлөвт болон түгжих төлөвт төхөөрөмжүүдийг зөвхөн root бүртгэл бичдэгээр болгох хэрэгтэй.
Шон Келли Хувь нэмэр болгон оруулсан Терминалууд терминалууд Терминалууд нь таныг компьютерийнхаа консол дээр байхгүй үед эсвэл сүлжээнд холбогдоогүй байхад амархан, үнэ хямд аргаар FreeBSD систем уруу хандах боломжийг олгодог. Энэ хэсэг нь терминалуудыг FreeBSD-тэй хэрхэн ашиглах талаар тайлбарлана. Терминалуудын хэрэглээ болон төрлүүд Анхдагч &unix; системүүдэд консол байгаагүй юм. Харин компьютерийн цуваа портуудад холбогдсон терминалуудаар хүмүүс нэвтрэн ороод програмууд ажиллуулдаг байсан байна. Энэ нь зөвхөн текст орчны ажил хийхийн тулд модем болон терминал програм хангамж ашиглан алсын системд залган орохтой бараг төстэй юм. Одоогийн PC-үүд нь өндөр чанарын графикуудыг үзүүлж чадах консолуудтай боловч цуваа порт дээр нэвтрэх сесс үүсгэх чадвар өнөөгийн бараг бүх &unix; загварын үйлдлийн системд байдаг бөгөөд FreeBSD ч бас үүний нэгэн адил юм. Ашиглагдаагүй байгаа цуваа портод холбогдсон терминалыг ашиглан та нэвтрэн орж дурын текст програмыг консол эсвэл X цонхны систем дээр xterm цонхонд ажиллуулдаг байсан шигээр ажиллуулж болох юм. Бизнесийн хэрэглэгчийн хувьд та FreeBSD системд олон терминалуудыг холбож тэдгээрийг өөрийн ажилтнуудынхаа ширээний компьютерууд дээр байрлуулж болох юм. Гэрийн хэрэглэгчийн хувьд хуучин IBM PC эсвэл &macintosh; зэрэг нөөц компьютер нь FreeBSD ажиллуулж байгаа илүү хүчтэй компьютерт холбогдсон терминал болж болох юм. Та ганц хэрэглэгчийн байсан компьютерийг хүчирхэг олон хэрэглэгчийн систем болгон хувиргаж болох юм. FreeBSD-ийн хувьд гурван төрлийн терминал байдаг: Дүлий терминалууд Терминал маягаар ажиллаж байгаа PC-үүд X терминалууд Дараах дэд хэсгүүд нь дээрх төрлүүдийг тайлбарлах болно. Дүлий терминалууд Дүлий терминалууд нь таныг компьютерууд уруу цуваа шугамуудаар холбогдохыг зөвшөөрөх тусгайлсан тоног төхөөрөмж юм. Тэдгээрийг дүлий гэдэг бөгөөд тэдгээр нь зөвхөн текст харуулах, илгээх, болон хүлээж авах хангалттай тооцооллын хүчин чадалтай учраас тэр юм. Та тэдгээр дээр ямар ч програм ажиллуулж чадахгүй. Текст засварлагчууд, эмхэтгэгчид, цахим захидал, тоглоомууд гэх зэргүүдийг ажиллуулах хүчин чадал бүхий таны компьютерт тэдгээрийг холбодог. Digital Equipment Corporation-ий VT-100 болон Wyse-ийн WY-75 зэрэг олон үйлдвэрлэгчдийн хийсэн дүлий терминалуудын хэдэн зуун төрөл байдаг. Бараг бүх төрөл FreeBSD-тэй цуг ажиллана. Зарим нэг өндөр чанартай терминалууд график үзүүлж чаддаг боловч эдгээр дэвшилтэт боломжуудыг зөвхөн цөөн хэдэн програм хангамжийн багцууд ашиглаж чаддаг. Ажилтнууд нь X цонхны системийн зэрэг график програмуудад хандах шаардлагагүй ажлын орчинд дүлий терминалууд нь түгээмэл байдаг. Терминал маягаар ажиллаж байгаа PC-үүд Хэрэв дүлий терминал нь текст харуулах, илгээж хүлээн авах чадвартай байдаг бол ямар ч нөөц персонал компьютер дүлий терминал болж чадна. Танд зөв кабель болон компьютер дээр ажиллах зарим нэг терминал эмуляц хийх програм хангамж хоёр л хэрэгтэй болох юм. Ийм тохиргоо гэрт их нийтлэг байдаг. Жишээ нь хэрэв таны гэр бүлийн хүн FreeBSD системийн чинь консол дээр завгүй ажиллаж байвал та FreeBSD систем уруу терминал маягаар холбосон арай хүчин чадал багатай персонал компьютер дээрээс зарим нэг текст орчны ажил зэрэг хийж байж болох юм. &os;-ийн үндсэн системд цуваа холболтоор ажиллахад хэрэглэж болох хамгийн багаар бодоход хоёр хэрэгсэл байдаг: энэ нь &man.cu.1; болон &man.tip.1; юм. &os; ажиллаж байгаа клиент систем дээрээс өөр системийн цуваа холболт уруу холбогдохын тулд та дараах тушаалыг ашиглаж болно: &prompt.root; cu -l serial-port-device Энд байгаа serial-port-device нь таны системийн цуваа портод зориулагдсан тусгай төхөөрөмжийн файлын нэр юм. Эдгээр төхөөрөмжийн файлууд нь /dev/cuadN гэж нэрлэгддэг. Төхөөрөмжийн N-хэсэг нь цуваа портын дугаарыг илэрхийлнэ. &os; дээр төхөөрөмжийн дугаарууд нь нэгээс биш тэгээс эхэлдэг (жишээ нь &ms-dos;-оос үүдэлтэй системүүд дээр байдаг шиг биш). Энэ нь юу гэсэн үг вэ гэхээр &ms-dos; дээр тулгуурласан системүүдийн COM1 гэж нэрлэдэг порт &os; дээр ихэвчлэн /dev/cuad0 гэгддэг. Зарим хүмүүс портын цуглуулгад байдаг өөр програмууд ашиглахыг илүүд үздэг. Портуудад &man.cu.1; болон &man.tip.1;-тэй төстэй ажилладаг comms/minicom зэрэг цөөнгүй хэдэн хэрэгслүүд байдаг. X терминалууд X терминалууд нь хамгийн төвөгтэй терминалуудын нэг юм. Цуваа порт уруу холбогдохын оронд тэдгээр нь ихэвчлэн Ethernet зэрэг сүлжээнд холбогддог. Зөвхөн текст орчны програмуудад зориулагдсан биш тэдгээр нь харин X програм үзүүлж чаддаг. Энэ сэдвийг гүйцэд хамарч бүрэн бүтэн байлгах үүднээс бид X терминалуудыг танилцуулж байна. Гэхдээ энэ бүлэг X терминалуудыг суулгах, тохируулах болон тэдгээрийн хэрэглээг тайлбарлахгүй. Тохиргоо Энэ хэсэг нь терминал дээр нэвтрэх сесс идэвхжүүлэхийн тулд өөрийн FreeBSD систем дээр таныг юу тохируулах хэрэгтэйг тайлбарлах болно. Энэ нь цуваа порт дэмжихээр өөрийн цөмийг таныг аль хэдийн тохируулсан байгаа гэж үздэг. Цуваа порт уруу терминал холбогдсон бөгөөд таныг тэр терминал уруу холбогдсон байгаа гэж тооцдог. init процесс нь бүх процессийн хяналт болон системийн эхлүүлэх үе дэх эхний тохиргоог хариуцдагийг -с санах хэрэгтэй. init-ийн хийдэг үйлдлүүдийн нэг нь /etc/ttys файлыг уншиж байгаа терминалууд дээр getty процессийг эхлүүлэх явдал юм. getty процесс нь нэвтрэх нэрийг уншиж login програмыг ажиллуулахыг хариуцдаг. Тиймээс өөрийн FreeBSD системийн хувьд терминалуудыг тохируулахын тулд root хэрэглэгчээр дараах алхмуудыг гүйцэтгэх хэрэгтэй: /dev сан дахь оруулгад зориулж /etc/ttys файлд хэрэв байхгүй бол цуваа портын мөрийг нэмнэ. /usr/libexec/getty нь порт дээр ажиллахыг зааж /etc/gettytab файлаас тохирох getty төрлийг тохируулах хэрэгтэй. Анхдагч терминалын төрлийг заана. Портыг on болгоно. Порт secure байх ёстой эсэхийг заана. init тушаалаар /etc/ttys файлыг дахин уншуулна. Нэмэлт алхам болгож хоёрдугаар алхам дээр та өөр getty төрлийг хэрэглээнд зориулан /etc/gettytab-д оруулан үүсгэж болох юм. Энэ бүлэг нь үүнийг хэрхэн хийхийг тайлбарлахгүй бөгөөд дэлгэрэнгүй мэдээллийг &man.gettytab.5; болон &man.getty.8; гарын авлагын хуудаснуудаас үзэхийг зөвлөж байна. <filename>/etc/ttys</filename> уруу оруулгууд нэмэх нь /etc/ttys файл нь нэвтрэлтүүдийг зөвшөөрөхийг хүссэн таны FreeBSD систем дээрх бүх портуудыг жагсаадаг. Жишээ нь эхний виртуал консол ttyv0 нь энэ файлд өөрийн оруулгатай байна. Та энэ оруулгыг ашиглан консол дээр нэвтрэн орж чадна. Энэ файл нь бас бусад виртуал консолууд, цуваа портууд, болон псевдо tty-уудын оруулгуудыг бас агуулдаг. Хатуугаар холбогдсон терминалын хувьд цуваа портын /dev оруулгыг /dev хэсэггүйгээр (жишээ нь /dev/ttyv0 нь ttyv0 гэж жагсаагдах болно) жагсаадаг. Анхдагч FreeBSD суулгац нь /etc/ttys файлыг эхний дөрвөн цуваа портын дэмжлэгтэйгээр агуулдаг: ttyd0ttyd3 хооронд байна. Хэрэв та терминалыг эдгээр портуудын аль нэгэнд холбож байгаа бол өөр оруулга нэмэх шаардлагагүй юм. <filename>/etc/ttys</filename> уруу терминалын оруулгууд нэмэх нь Бид системд хоёр терминал холбохыг хүслээ гэж бодъё: Wyse-50 болон VT-100 терминалыг эмуляц хийх Procomm терминал програм хангамжийг ажиллуулж байгаа хуучин 286 IBM PC-г терминал маягаар ашиглая. Бид Wyse-ийг хоёр дахь цуваа порт уруу холбож 286-г зургаа дахь цуваа порт уруу холбоё (олон порттой цуваа картын порт). /etc/ttys файл дахь харгалзах оруулгууд нь иймэрхүү байна: ttyd1 "/usr/libexec/getty std.38400" wy50 on insecure ttyd5 "/usr/libexec/getty std.19200" vt100 on insecure Эхний талбар нь ихэвчлэн /dev-д байгаа терминалын тусгай файлын нэрийг заадаг. Хоёр дахь талбар нь энэ мөрийн хувьд ажиллах тушаал бөгөөд ихэвчлэн &man.getty.8; байдаг. getty нь эхлүүлж шугамыг нээн хурдыг тохируулан хэрэглэгчийн нэрийг асууж &man.login.1; програмыг ажиллуулдаг. getty програм нь нэг (нэмэлт) параметр getty төрлийг өөрийн тушаалын мөрөнд хүлээн авдаг. getty төрөл нь терминалын шугам дахь bps хурд болон parity зэрэг шинжүүдийг тохируулдаг. getty програм нь эдгээр шинжүүдийг /etc/gettytab файлаас уншдаг. /etc/gettytab файл нь хуучин болон шинэ терминалын шугамнуудад зориулсан олон мөрүүдийг агуулдаг. Бараг бүх тохиолдолд std текстээр эхэлсэн оруулгууд нь hardwired буюу хатуугаар холбогдсон терминалуудын хувьд ажилладаг. Эдгээр оруулгууд нь parity-г орхидог. 110-аас 115200 хүртэл bps хурд болгоны хувьд std оруулга байдаг. Мэдээж та өөрийнхөө оруулгыг энэ файлд нэмж болно. &man.gettytab.5; гарын авлагын хуудас илүү дэлгэрэнгүй мэдээллийг өгөх болно. getty төрлийг /etc/ttys файлд тохируулахдаа терминал дахь холбооны тохируулгууд таарч байгаа эсэхийг шалгаарай. Бидний жишээн дээр Wyse-50 нь parity ашиглахгүй бөгөөд 38400 bps хурдаар холбогдоно. 286 PC нь parity ашиглахгүй бөгөөд 19200 bps хурдаар холбогдоно. Гурав дахь талбар нь тэр tty шугам уруу ихэвчлэн холбогдсон байдаг терминалын төрөл юм. Хэрэглэгч нь бараг л дурын терминалын төрөл эсвэл програм хангамжаар утасдан холбогдож болох учир dial-up портуудын хувьд unknown эсвэл dialup төрөл энэ талбарт ихэвчлэн ашиглагддаг. Хатуугаар холбогдсон терминалуудын хувьд терминалын төрөл өөрчлөгдөхгүй учраас та энэ талбарт &man.termcap.5; мэдээллийн баазаас жинхэнэ терминалын төрлийг тавьж болно. Бидний жишээн дээр Wyse-50 нь жинхэнэ терминалын төрлийг ашиглах бол Procomm ажиллуулж байгаа 286 PC нь VT-100-г эмуляц хийхээр тохируулагдах болно. Дөрөв дэх талбар нь порт идэвхтэй байх ёстой эсэхийг заадаг. Энд on гэж тавихад init процесс хоёр дахь талбар дахь програм getty-г ажиллуулах болно. Хэрэв та энэ талбарт off гэж тавьбал getty үгүй болж порт дээр нэвтрэлт байхгүй болно. Сүүлийн талбар нь порт аюулгүй эсэхийг заахад хэрэглэгддэг. Портыг secure буюу аюулгүй болгох нь root бүртгэлийг (эсвэл хэрэглэгчийн ID 0 бүхий дурын бүртгэлийг) тэр портоос нэвтрэхийг зөвшөөрч хангалттай итгэнэ гэсэн үг юм. Insecure буюу аюулгүй биш портууд нь root нэвтрэлтүүдийг зөвшөөрдөггүй. Insecure буюу аюулгүй биш порт дээр хэрэглэгчид нь эрхгүй бүртгэлүүдээс нэвтрэн орж супер хэрэглэгчийн эрхүүдийг авахын тулд &man.su.1; эсвэл өөр төстэй арга замыг ашиглах ёстой юм. Түгжээтэй хаалганы цаана байгаа терминалын хувьд ч гэсэн insecure тохируулгыг ашиглах нь хамгийн зөв зүйтэй юм. Хэрэв танд супер хэрэглэгчийн зөвшөөрлүүд хэрэгтэй бол нэвтрэн ороод su тушаалыг ашиглах нь их амархан байдаг. <filename>/etc/ttys</filename>-г <command>init</command> тушаалаар дахин уншуулах /etc/ttys файлд шаардлагатай өөрчлөлтүүдийг хийсний дараа init процесс уруу өөрийн тохиргооных нь файлыг дахин уншуулахын тулд SIGHUP (hangup) дохиог илгээх хэрэгтэй. Жишээ нь: &prompt.root; kill -HUP 1 init нь үргэлж систем дээр ажиллаж байгаа эхний процесс байдаг учир энэ нь үргэлж PID 1-тэй байна. Хэрэв бүгд зөв тохируулагдаж бүх кабелиуд нь байх ёстой газраа байж терминалууд нь ассан байгаа бол терминал бүр дээр getty процесс ажиллаж байх ёстой бөгөөд та энэ үед өөрийн терминалууд дээр нэвтрэлт хүлээх мөрүүдийг харах ёстой. Өөрийн холболтод гарсан алдааг олж засварлах нь Нягт нямбай анхаарал хандуулсан байлаа ч гэсэн терминалыг тохируулж байх явцад алдаа гарч буруутаж болох юм. Энд шинж тэмдгүүдийн жагсаалт болон зарим нэг санал болгосон засваруудыг үзүүлэв. Нэвтрэлт хүлээх мөр гарч ирэхгүй байх Терминал холбогдсон бөгөөд ассан байгаа эсэхийг шалгана. Энэ нь хэрэв терминал маягаар ажиллаж байгаа персонал компьютер бол зөв цуваа порт дээр терминал эмуляц хийх програм хангамж ажиллуулж байгаа эсэхийг шалгаарай. Кабель терминал болон FreeBSD компьютерт сайн холбогдсон эсэхийг шалгах хэрэгтэй. Энэ нь зөв төрлийн кабель болохыг баталгаажуулж үзээрэй. Терминал болон FreeBSD нь bps хурд болон parity тохиргоонууд дээр тохирч байгаа эсэхийг шалгаарай. Хэрэв та видео дэлгэцийн терминалтай бол хар цагаан болон тод байдлын хяналтууд таарсан эсэхийг үзээрэй. Хэрэв энэ нь хэвлэх терминал бол цаас болон бэх сайн эсэхийг шалгаарай. getty процесс ажиллаж терминалд үйлчилж байгаа эсэхийг үзнэ. Жишээ нь ажиллаж байгаа getty процессуудын жагсаалтыг ps тушаалаар авахын тулд доор дурдсаныг бичнэ: &prompt.root; ps -axww|grep getty Та терминалын хувьд түүний оруулгыг харах ёстой. Жишээ нь дараах дэлгэц нь getty нь хоёр дахь цуваа порт ttyd1 дээр ажиллаж /etc/gettytab файлд std.38400 гэсэн оруулгыг ашиглаж байгааг харуулж байна: 22189 d1 Is+ 0:00.03 /usr/libexec/getty std.38400 ttyd1 Хэрэв ямар ч getty процесс ажиллахгүй байгаа бол /etc/ttys файлд та портыг идэвхжүүлсэн эсэхээ шалгаарай. Мөн ttys файлыг өөрчилснийхөө дараа kill -HUP 1 тушаалыг ажиллуулахаа мартуузай. Хэрэв getty процесс ажиллаж байгаа боловч терминал нь нэвтрэлт хүлээх мөрийг харуулахгүй байгаа, эсвэл энэ нь хүлээх мөрийг үзүүлж байгаа боловч танд бичихийг зөвшөөрөхгүй байгаа бол таны терминал эсвэл кабель тоног төхөөрөмжийн handshaking буюу харилцан зохицож холбогдох горимыг дэмжихгүй байна гэсэн үг юм. /etc/ttys файл дахь оруулгыг std.384003wire.38400 уруу болгож үзээрэй (/etc/ttys файлыг өөрчилснийхөө дараа kill -HUP 1 тушаалыг ажиллуулахаа мартуузай). 3wire оруулга нь std-тэй төстэй боловч тоног төхөөрөмжийн handshaking хийдэггүй. Магадгүй та хурдыг багасгаж эсвэл 3wire-г ашиглаж байхдаа буфер дүүрэхээс сэргийлж програм хангамжийн урсгалын хяналтыг идэвхжүүлэх хэрэгтэй байж болох юм. Нэвтрэлт хүлээх мөрийн оронд хог гарч ирвэл Терминал болон FreeBSD нь bps хурд болон parity тохиргоонууд дээр тохирч байгаа эсэхийг шалгана. Зөв getty төрлийг ашиглаж байгаа эсэхийг баталгаажуулж getty процессуудыг шалгах хэрэгтэй. Хэрэв үгүй бол /etc/ttys-г засварлаж kill -HUP 1 тушаалыг ажиллуулна. Тэмдэгтүүд хоёр удаа гарах; бичих үед нууц үг гарах Терминалыг (эсвэл терминал эмуляц хийх програм хангамжийг) half duplex эсвэл local echo горимоос full duplex уруу шилжүүлнэ. Гай Хэлмер Хувь нэмэр болгон оруулсан Шон Келли Нэмсэн Dial-in буюу гаднаас залгах үйлчилгээ dial-in үйлчилгээ Өөрийн FreeBSD системийг dial-in буюу гаднаас залгах үйлчилгээнд зориулж тохируулах нь терминалууд холбохтой маш төстэй бөгөөд ялгаатай тал нь та терминалуудын оронд модемуудтай ажиллах юм. Гадаад, Дотоод модемууд Гадаад модемууд нь dial-up буюу гадагш залгахад илүү тохиромжтой байдаг, учир нь гадаад модемууд нь хувирдаггүй RAM-д хадгалагдах параметрүүдээр хагас тогтмолоор ихэвчлэн тохируулагдсан байж болдог бөгөөд тэдгээр нь ихэвчлэн чухал RS-232 дохионуудын төлөвийг үзүүлдэг гэрлийн заагчтай байдаг. Анивчих гэрлүүд нь гийчдийн сэтгэлийг татахаас гадна гэрлүүд нь бас модем зөв ажиллаж байгаа эсэхийг харахад их ашигтай байдаг. Дотоод модемуудад ихэвчлэн хувирдаггүй RAM байдаггүй болохоор тэдгээрийн тохиргоо зөвхөн DIP шилжүүлэгчдийг тохируулснаар хязгаарлагдаж болох юм. Хэрэв таны дотоод модем ямар нэг дохио заагч гэрэлтэй бол системийн гадар байгаа нөхцөлд харахад хүнд байх байсан болов уу. Модемууд болон Кабелууд модем Хэрэв та гадаад модем ашиглаж байгаа бол танд мэдээж зөв кабель хэрэгтэй болно. Хэвийн бүх дохионууд холбогдсон байхад стандарт RS-232C цуваа кабель хангалттай байх ёстой: Дохионы нэрс Товчлолууд Нэрс RD Received Data буюу Хүлээн авсан өгөгдөл TD Transmitted Data буюу Дамжуулсан өгөгдөл DTR Data Terminal Ready буюу Өгөгдлийн терминал бэлэн DSR Data Set Ready буюу Өгөгдлийн олонлог бэлэн DCD Data Carrier Detect буюу Өгөгдлийн зөөгч илрүүлэх (RS-232-ийн Хүлээн авсан Шугамын Дохио Илрүүлэгч) SG Signal Ground буюу Дохио газар RTS Request to Send буюу Илгээх хүсэлт CTS Clear to Send буюу Илгээхэд цэвэр
2400 bps хурдаас дээш урсгалын хяналтад RTS болон CTS дохионууд FreeBSD-д хэрэгтэй байдаг. Мөн хэзээ дуудлага хүлээн авсан эсвэл шугам таслагдсаныг мэдэх CD дохио болон сесс бүрэн гүйцэд болсны дараа модемийг дахин тохируулах DTR дохионууд хэрэгтэй байдаг. Зарим кабелиуд нь бүх хэрэгцээтэй дохионуудгүйгээр холбогдсон байдаг болохоор шугам таслагдах үед нэвтрэх сесс байхгүй болохгүй байх зэрэг асуудлууд хэрэв танд байгаа бол таны кабель асуудалтай байж болох юм. Бусад &unix; төст үйлдлийн системүүдийн адил FreeBSD нь хэзээ дуудлагыг хүлээн авсан эсвэл шугам хэзээ таслагдсан болон дуудлагын дараа модемийг тасалж дахин тохируулахыг мэдэх тоног төхөөрөмжийн дохионуудыг ашигладаг. FreeBSD нь модем уруу тушаалуудыг илгээх эсвэл модемоос төлвийн тайлангуудыг харахаас зайлсхийдэг. Хэрэв та модемуудыг PC дээр тулгуурласан мэдээ тавих системүүд уруу холбохыг мэддэг бол энэ нь болхи санагдаж магадгүй юм.
Цуваа интерфэйсийн эргэцүүллүүд FreeBSD нь NS8250-, NS16450-, NS16550-, болон NS16550A-дээр тулгуурласан EIA RS-232C (CCITT V.24) холбооны интерфэйсүүдийг дэмждэг. 8250 болон 16450 интерфэйсүүд нь ганц тэмдэгтийн буфертай байдаг. 16550 төхөөрөмж нь системийн ажиллагааг илүү сайн болгох 16 тэмдэгтийн буфертай байдаг. (Цэвэр 16550 дахь алдаанууд нь 16 тэмдэгтийн буферийн хэрэглээнээс зайлсхийдэг, тиймээс хэрэв боломжтой бол 16550A-г ашиглаарай). Ганц тэмдэгтийн буфер бүхий төхөөрөмжүүд нь 16 тэмдэгтийн буфер бүхий төхөөрөмжүүдээс илүү ажил үйлдлийн системээс шаарддаг учраас 16550A-дээр тулгуурласан цуваа интерфэйс картуудыг эрхэмлэх нь зүйтэй юм. Хэрэв систем олон идэвхтэй цуваа портуудтай бол эсвэл их ачаалалтай бол 16550A-дээр тулгуурласан картууд нь бага алдааны түвшин бүхий холбоонуудад илүү зохицдог. Түргэн дүгнэлт getty Терминалуудтай адил init нь гаднаас залгах холболтуудын хувьд тохируулсан цуваа порт бүрийн хувьд getty процессийг ажиллуулдаг. Жишээ нь хэрэв модем /dev/ttyd0 уруу залгагдсан бол ps ax тушаал ингэж харуулж болох юм: 4850 ?? I 0:00.09 /usr/libexec/getty V19200 ttyd0 Хэрэглэгч модемийн шугам залгаад модем холбогдох үед CD (Carrier Detect буюу Зөөгч Илрүүлэгч) шугамыг модем гаргаж харуулна. Цөм зөөгч илрүүлэгдсэнийг мэдэж getty-ийн порт нээхийг гүйцээнэ. getty нь login: хүлээх мөрийг заагдсан эхний шугамын хурдаар илгээдэг. getty нь зөвшөөрөгдсөн тэмдэгтүүд хүлээн авагдсан эсэхийг мэдэхийн тулд харж байдаг бөгөөд ердийн тохиргоонд хэрэв энэ нь хог олох юм бол (модемийн холболтын хурд getty-ийн хурднаас өөр байгаагаас магадгүй болоод) getty нь боломжийн тэмдэгтүүд хүлээж автлаа шугамын хурдуудыг тааруулахыг оролдох болно. /usr/bin/login Хэрэглэгч өөрийн нэвтрэх нэрийг оруулсны дараа getty тушаал хэрэглэгчийн нууц үгийг асууж нэвтрэлтийг гүйцээн хэрэглэгчийн бүрхүүлийг эхлүүлдэг /usr/bin/login тушаалыг ажиллуулдаг. Тохиргооны файлууд /etc санд гурван системийн тохиргооны файл байдаг бөгөөд өөрийн FreeBSD системд dial-up буюу гадагш залгах боломжийг олгохын тулд та магадгүй засварлах хэрэгтэй болно. Эхний /etc/gettytab нь /usr/libexec/getty демоны тохиргооны мэдээллийг агуулдаг. Хоёр дахь /etc/ttys нь getty процессуудын ажиллах tty төхөөрөмжүүдэд юу байх ёстойг /sbin/init тушаалд хэлж өгөх мэдээллийг агуулдаг. Сүүлд нь порт эхлүүлэх тушаалуудыг та /etc/rc.d/serial скриптэд байрлуулж болно. &unix; дээр dial-up модемуудын талаар санаа бодлын хоёр сургууль байдаг. Нэг бүлэг нь алсын хэрэглэгч ямар ч хурдаар залгасан байсан гэсэн локал компьютераас модемд холбогдсон RS-232 интерфэйс түгжигдсэн хурдаар ажиллахаар өөрсдийн модемууд болон системүүдийг тохируулах дуртай байдаг. Энэ тохиргооны ашигтай тал нь алсын хэрэглэгч системийн нэвтрэлт хүлээх мөрийг үргэлж нэн даруй хардаг явдал юм. Сул тал нь систем хэрэглэгчийн өгөгдлийн жинхэнэ хурдыг мэддэггүй явдал бөгөөд Emacs зэрэг бүрэн дэлгэцийн програмууд нь удаан холболтуудын хувьд хариултыг сайжруулахын тулд өөрийн дэлгэц будах аргуудаа тааруулахгүй байх болно. Нөгөө нэг сургууль нь өөрсдийн модемуудынхаа RS-232 интерфэйсийн хурдыг алсын компьютерийн холболтын хурд дээр тулгуурлан өөрчилдгөөр тохируулдаг. Жишээ нь модем уруу хийгдэх V.32bis (14.4 Kbps) холболтууд нь модемийг өөрийн RS-232 интерфэйсийг 19.2 Kbps хурдаар ажиллуулах бол 2400 bps холболтууд нь модемийн RS-232 интерфэйсийг 2400 bps хурд дээр ажиллуулдаг. getty нь тухайн ямар нэг модемийн холболтын хурдны тайлагналтыг ойлгодоггүй учраас getty тушаал нь login: мэдэгдлийг эхний хурдан дээр өгдөг бөгөөд хариултаас ирэх тэмдэгтүүдийг харж байдаг. Хэрэв хэрэглэгч хог харвал тэдгээр нь танигдах хүлээх мөрийг хартлаа Enter товчлуурыг дарах ёстой гэдгээ мэдэж байгаа гэж тооцдог. Хэрэв өгөгдлийн хурд таарахгүй бол getty нь хэрэглэгчийн бичсэн болгоныг хог гэж харах бөгөөд дараагийн хурдыг оролдож login: хүлээх мөрийг дахин өгдөг. Энэ процедур дотор муухайрах түвшинд хүртэл үргэлжилж болох боловч хэрэглэгч зөв хүлээх мөрийг харах хүртэл ихэвчлэн ганц хоёр товчлуур даруулдаг. Мэдээж энэ нэвтрэлтийн дараалал нь түрүүчийн locked-speed буюу түгжигдсэн хурдтай адил цэвэр байдаггүй боловч бага хурдтай холболтон дээр байх хэрэглэгчийн хувьд бүрэн дэлгэцийн програмуудаас илүү сайн интерактив хариултыг хүлээн авах ёстой юм. Энэ хэсэг нь тэнцвэртэй тохиргооны мэдээллийг өгөхийг оролдох боловч модемийн өгөгдлийн хурд холболтын хурдыг дагах тал уруу илүү хазайсан байгаа болно. <filename>/etc/gettytab</filename> /etc/gettytab /etc/gettytab нь &man.getty.8;-ийн тохиргооны мэдээллийн &man.termcap.5; загварын файл юм. Файлын хэлбэр болон боломжуудын жагсаалтын тухай бүрэн мэдээллийг &man.gettytab.5; гарын авлагын хуудаснаас үзнэ үү. Locked-speed буюу түгжигдсэн хурд тохиргоо Хэрэв та өөрийн модемийн өгөгдлийн холбоонуудын хурдыг тухайн нэг хурдан дээр түгжиж байгаа бол магадгүй /etc/gettytab файлд ямар нэг өөрчлөлт хийх шаардлагагүй юм. Matching-speed буюу таарах хурд тохиргоо Өөрийн модемд зориулж ашиглахыг хүссэн хурдны талаар getty-д мэдээлэл өгөхийн тулд /etc/gettytab файлд та оруулга тохируулах хэрэгтэй болно. Хэрэв та 2400 bps модемтой бол байгаа D2400 оруулгыг магадгүй ашиглаж болох юм. # # Fast dialup terminals, 2400/1200/300 rotary (can start either way) # D2400|d2400|Fast-Dial-2400:\ :nx=D1200:tc=2400-baud: 3|D1200|Fast-Dial-1200:\ :nx=D300:tc=1200-baud: 5|D300|Fast-Dial-300:\ :nx=D2400:tc=300-baud: Хэрэв та илүү хурдтай модемтой бол /etc/gettytab файлд магадгүй оруулга нэмэх хэрэгтэй болж болох юм; энд интерфэйсийн дээд хурд нь 19.2 Kbps бүхий 14.4 Kbps модемд зориулан таны ашиглах оруулга байна: # # Additions for a V.32bis Modem # um|V300|High Speed Modem at 300,8-bit:\ :nx=V19200:tc=std.300: un|V1200|High Speed Modem at 1200,8-bit:\ :nx=V300:tc=std.1200: uo|V2400|High Speed Modem at 2400,8-bit:\ :nx=V1200:tc=std.2400: up|V9600|High Speed Modem at 9600,8-bit:\ :nx=V2400:tc=std.9600: uq|V19200|High Speed Modem at 19200,8-bit:\ :nx=V9600:tc=std.19200: Энэ нь 8 бит, parity байхгүй холболтуудад хүргэнэ. Дээрх жишээ нь холболтын хурдаа 19.2 Kbps (V.32bis холболтын хувьд) гэж эхлүүлж дараа нь 9600 bps (V.32-ийн хувьд), 2400 bps, 1200 bps, 300 bps, гэж оролдоод 19.2 Kbps хурд уруу буцах болно. Холбооны хурдны тойролт нь nx= (next table буюу дараагийн хүснэгт) боломжтой цуг хийгдсэн байдаг. Мөр бүр нь өгөгдлийн тухайн хурдны хувьд стандарт тохиргоонуудын үлдсэнийг авахын тулд tc= (table continuation буюу хүснэгтийн үргэлжлэл) оруулгыг ашигладаг. Хэрэв та 28.8 Kbps модемтой ба/эсвэл та 14.4 Kbps модем дээр шахалтын давуу талыг авахыг хүсвэл 19.2 Kbps-ээс илүү холбооны хурдыг ашиглах хэрэгтэй юм. Энд 57.6 Kbps-ээс эхлэх gettytab оруулгын жишээ байна: # # Additions for a V.32bis or V.34 Modem # Starting at 57.6 Kbps # vm|VH300|Very High Speed Modem at 300,8-bit:\ :nx=VH57600:tc=std.300: vn|VH1200|Very High Speed Modem at 1200,8-bit:\ :nx=VH300:tc=std.1200: vo|VH2400|Very High Speed Modem at 2400,8-bit:\ :nx=VH1200:tc=std.2400: vp|VH9600|Very High Speed Modem at 9600,8-bit:\ :nx=VH2400:tc=std.9600: vq|VH57600|Very High Speed Modem at 57600,8-bit:\ :nx=VH9600:tc=std.57600: Хэрэв та удаан CPU-тэй эсвэл ачаалал ихтэй системтэй бөгөөд 16550A дээр тулгуурласан цуваа портуудтай бол 57.6 Kbps хурд дээр та sio silo гэсэн алдаанууд хүлээн авч болох юм. <filename>/etc/ttys</filename> /etc/ttys /etc/ttys файлын тохиргоо хэсэгт яригдсан байгаа. Модемуудын тохиргоо төстэй боловч бид өөр терминалын төрлийг заахын тулд getty уруу өөр нэмэлт өгөгдлүүдийг дамжуулах ёстой. Түгжигдсэн хурдтай болон таарах хурдтай тохиргоонуудын ерөнхий хэлбэр нь иймэрхүү байна: ttyd0 "/usr/libexec/getty xxx" dialup on Дээрх мөрний эхнийх нь энэ оруулгад зориулсан төхөөрөмжийн тусгай файл юм — ttyd0 нь /dev/ttyd0 гэсэн үг бөгөөд үүнийг getty харж байдаг. Хоёр дахь "/usr/libexec/getty xxx" (xxx нь эхний gettytab боломжоор солигдоно) нь энэ төхөөрөмж дээр init-ийн ажиллуулах процесс юм. Гурав дахь dialup гэдэг нь терминалын анхдагч төрөл юм. Дөрөв дэх параметр on гэдэг нь init-д шугам ажиллагаатай гэдгийг заана. Тав дахь параметр secure байж болох боловч энэ нь зөвхөн физикийн хувьд аюулгүй терминалуудад (системийн консолд) ашиглагдах ёстой юм. Анхдагч терминалын төрөл нь (дээрх жишээний dialup) локал тохируулгуудаас хамаарна. dialup нь dial-up шугамууд дээрх уламжлалт терминалын анхдагч төрөл бөгөөд хэрэглэгчид нь өөрсдийн нэвтрэх скриптүүдийг терминал dialup байгаа үед мэдэхээр өөрчилж өөрсдийн терминалын төрлийг автоматаар тааруулж болох юм. Гэхдээ зохиогч өөрийн сайт дээр анхдагч терминалын төрлөө vt102 гэх нь хялбар болохыг олсон бөгөөд хэрэглэгчид өөрсдийн алсын системүүд дээрээ ердөө л VT102 эмуляцыг ашигладаг болохоор тэр юм. Та /etc/ttys файлд өөрчлөлтүүд хийснийхээ дараа init процессод файлыг дахин уншуулахын тулд HUP дохиог илгээж болох юм. Та дараах тушаалыг ашиглаж &prompt.root; kill -HUP 1 дохио илгээж болно. Хэрэв та анх удаагаа системийг тохируулж байгаа бол өөрийн модем(үүд)ийг зөв тохируулж init уруу дохиолохоос өмнө холбогдох хүртэл хүлээхийг хүсэж болох юм. Locked-speed буюу түгжигдсэн хурд тохиргоо Түгжигдсэн хурд тохиргооны хувьд таны ttys оруулга getty уруу өгөгдөх тогтмол хурд бүхий оруулгатай байх хэрэгтэй. Портын хурд нь 19.2 Kbps гэж түгжигдсэн модемийн хувьд ttys оруулга нь иймэрхүү харагдаж болох юм: ttyd0 "/usr/libexec/getty std.19200" dialup on Хэрэв таны модем өөр хурдан дээр түгжигдсэн бол std.19200-ийн оронд std.speed-ийн хувьд тохирох утгыг тавьж солиорой. Та /etc/gettytab-д жагсаагдсан зөв төрлийг ашигласан эсэхээ шалгаарай. Matching-speed буюу таарах хурд тохиргоо Таарах хурд тохиргоон дээр таны ttys оруулга нь /etc/gettytab дахь тохирох зөв auto-baud (sic) оруулгаас авах хэрэгтэй болдог. Жишээ нь хэрэв та дээрх санал болгосон оруулгыг 19.2 Kbps-ээс (V19200 эхлэх цэгийг агуулах gettytab оруулга) эхлэх таарах хурд бүхий модемийн хувьд нэмсэн бол таны ttys оруулга иймэрхүү харагдах болно: ttyd0 "/usr/libexec/getty V19200" dialup on <filename>/etc/rc.d/serial</filename> rc files rc.serial V.32, V.32bis, болон V.34 зэрэг өндөр хурдтай модемууд тоног төхөөрөмжийн (RTS/CTS) урсгал хяналтыг ашиглах хэрэгтэй. Та модемийн портуудын хувьд FreeBSD цөмд тоног төхөөрөмжийн урсгалын хяналтын тугийг тохируулахын тулд stty тушаалуудыг /etc/rc.d/serial файлд нэмж болно. Жишээ нь гаднаас залгах болон гадагш залгах эхний төхөөрөмжүүдийн хувьд цуваа порт #1 дээр crtscts гэсэн termios-ийн тугийг тохируулахын тулд дараах мөрүүдийг /etc/rc.d/serial файлд нэмж болох юм: # Serial port initial configuration stty -f /dev/ttyd1.init crtscts stty -f /dev/cuad1.init crtscts Модемийн тохиргоонууд Хэрэв та хувирдаггүй RAM-д параметрүүд нь тогтмолоор тохируулагдсан байж болох модемтой бол параметрүүдийг тохируулахын тулд та терминал програм (&ms-dos; дээр Telix эсвэл FreeBSD дээр tip гэх мэт) ашиглах хэрэгтэй болно. Эхний хурдтай адил холболтын хурдыг ашиглан модем уруу холбогдохын тулд getty нь доор дурдсан шаардлагуудтай таарахын тулд модемийн хувирдаггүй RAM-ийг хэрэглэж тохируулах болно: Холбогдох үед CD шалгагдана Үйлдлийн хувьд DTR шалгагдана; DTR-ийг хаях нь шугамыг салгаж модемийг дахин тохируулахад хүргэнэ CTS нь өгөгдлийн урсгалын хяналтыг дамжуулсан XON/XOFF урсгалын хяналтыг хаана RTS нь өгөгдлийн урсгалын хяналтыг хүлээн авсан Чимээгүй горим (үр дүнгийн кодууд байхгүй) Тушаалын цуурай байхгүй Аль тушаалууд ба/эсвэл DIP шилжүүлэгчийн тохиргоонуудыг та өгөх ёстой болохыг олохын тулд өөрийн модемийн баримтыг уншина уу. Жишээ нь &usrobotics; &sportster; 14,400 хурдтай гадаад модем дээр дээрх параметрүүдийг тохируулахын тулд эдгээр тушаалуудыг модемд өгч болох юм: ATZ AT&C1&D2&H1&I0&R2&W V.42bis ба/эсвэл MNP5 шахалтыг ашиглах зэрэг модемийн бусад тохиргоонуудыг тааруулахын тулд та бас энэ боломжийг ашиглахыг хүсэж болох юм. &usrobotics; &sportster; 14,400 хурдтай гадаад модем нь тохируулах хэрэгтэй DIP шилжүүлэгчүүдтэй бас байдаг; бусад модемуудын хувьд та эдгээр тохируулгуудыг жишээ болгон ашиглаж болох юм: Шилжүүлэгч 1: ДЭЭШ — DTR Хэвийн Шилжүүлэгч 2: N/A буюу Байхгүй (Үр дүнгийн үгэн кодууд/Үр дүнгийн тоон кодууд) Шилжүүлэгч 3: ДЭЭШ — Үр дүнгийн дарах/хориглох кодууд Шилжүүлэгч 4: ДООШ — Цуурай байхгүй, холбогдоогүй үеийн тушаалууд Шилжүүлэгч 5: ДЭЭШ — Автомат хариулна Шилжүүлэгч 6: ДЭЭШ — Зөөгч илрүүлэлт хэвийн Шилжүүлэгч 7: ДЭЭШ — NVRAM анхдагчуудыг ачаалах Шилжүүлэгч 8: N/A буюу Байхгүй (Ухаалаг Горим/Дүлий Горим) Хэрэв getty тушаал нь login: хүлээх мөрийг тушаалын горимд байгаа модем уруу андуурч өгсөн бөгөөд модем нь тушаалыг цуурайтуулан буцааж эсвэл үр дүнгийн кодыг буцаахад үүсч болох асуудлуудаас сэргийлэхийн тулд үр дүнгийн кодууд нь dial-up модемуудын хувьд хаагдсан/дарагдсан байх ёстой. Энэ дараалал нь getty болон модемийн хооронд сунасан, тэнэг ярианд хүргэж болох юм. Locked-speed буюу түгжигдсэн хурд тохиргоо Түгжигдсэн хурд тохиргооны хувьд та модемийг холболтын хурдаас хамааралгүйгээр модемоос компьютер хүртэлх өгөгдлийн хурдыг тогтмолоор байлгахаар тохируурах хэрэгтэй. &usrobotics; &sportster; 14,400 хурдтай гадаад модем дээр эдгээр тушаалууд нь модемоос компьютер хүртэлх өгөгдлийн хурдыг тушаалуудыг ажиллуулах хурд дээр түгжих болно: ATZ AT&B1&W Matching-speed буюу таарах хурд тохиргоо Хувьсах хурд тохиргооны хувьд ирж байгаа дуудлагын хурдтай ижил байлгаж өөрийн цуваа портын өгөгдлийн хурдыг тааруулахын тулд та өөрийн модемийг тохируулах хэрэгтэй болно. &usrobotics; &sportster; 14,400 хурдтай гадаад модем дээр эдгээр тушаалууд нь модемийн алдаа засварлах өгөгдлийн хурдыг тушаалуудыг ажиллуулах хурд дээр түгжих боловч цуваа портын хурдыг алдаа засварлахүй холболтуудын хувьд хувьсах байхаар зөвшөөрөх болно: ATZ AT&B2&W Модемийн тохиргоог шалгах нь Ихэнх өндөр хурдтай модемууд нь модемийн тухайн үеийн үйлдлийн параметрүүдийг хүн уншиж болохоор үзүүлэх тушаалуудтай байдаг. &usrobotics; &sportster; 14,400 хурдтай гадаад модемууд дээр ATI5 тушаал хувирдаггүй RAM-д хадгалагдаж байгаа тохиргоонуудыг харуулдаг. Модемийн үйлдлийн жинхэнэ параметрүүдийг харахын тулд (модемийн DIP шилжүүлэгчийн тохиргоонууд нөлөөлсөн) ATZ болон дараа нь ATI4 тушаалуудыг ашиглана. Хэрэв та өөр загварын модемтой бол өөрийн модемийн тохиргооны параметрүүдийг хэрхэн давхар шалгах талаар өөрийн модемийн гарын авлагаас шалгаарай. Алдааг олж засварлах нь Өөрийн систем дээр dial-up модемийг шалгахын тулд таны дагах цөөн хэдэн алхмууд энд байна. FreeBSD системийг шалгах Өөрийн модемийг өөрийн FreeBSD системд залгаад системээ ачаалах бөгөөд хэрэв таны модем төлөв заах гэрлүүдтэй бол системийн консол дээр login: хүлээх мөр гарч ирэх үед модемийн DTR заагч асаж байгаа эсэхийг шалгах хэрэгтэй — хэрэв асаж байгаа бол FreeBSD нь тохирох холболтуудын порт дээр getty-г эхлүүлж модемийг дуудлага хүлээж авахыг хүлээж байна гэсэн үг юм. Хэрэв DTR заагч асахгүй бол FreeBSD систем уруу консолоор нэвтрээд FreeBSD нь зөв порт дээр getty процессийг ажиллуулахаар оролдож байгаа эсэхийг харахын тулд ps ax тушаалыг ажиллуулна. Та эдгээртэй төстэй мөрүүдийг процессуудын хамтаар харах ёстой: 114 ?? I 0:00.10 /usr/libexec/getty V19200 ttyd0 115 ?? I 0:00.10 /usr/libexec/getty V19200 ttyd1 Хэрэв та үүнтэй адил өөр: 114 d0 I 0:00.10 /usr/libexec/getty V19200 ttyd0 мөрийг харсан бөгөөд модем нь дуудлага хүлээж авч амжаагүй байгаа бол getty нь холболтуудын порт дээр өөрийн онгойлголтыг бүрэн хийж гүйцсэн гэсэн үг юм. Энэ нь кабелийн асуудал эсвэл буруу тохируулсан модемтой холбоотой асуудлыг зааж болох юм. Яагаад гэвэл getty нь CD-г (carrier detect буюу зөөгч илрүүлэх) модемоор шалгагдтал холболтуудын портуудыг онгойлгож чадахгүй байх ёстой юм. Хэрэв та хүссэн ttydN портыг онгойлгохыг хүлээж байгаа ямар нэг getty процессуудыг харахгүй байгаа бол /etc/ttys файл дахь өөрийн оруулгуудад алдаа байгаа эсэхийг давхар шалгаарай. Мөн init эсвэл getty тушаалаас гарсан бүртгэлийн ямар нэг мэдэгдлүүд асуудлууд байгаа эсэхийг мэдээлсэн эсэхийг харахын тулд бүртгэлийн файл /var/log/messages-г бас шалгаарай. Хэрэв ямар нэг мэдэгдлүүд байгаа бол /etc/ttys болон /etc/gettytab тохиргооны файлуудыг гурав дахин шалгаарай. Мөн /dev/ttydN зэрэг тохирох төхөөрөмжийн тусгай файлуудад алдаанууд, оруулгууд дутагдаж байгаа эсэх, эсвэл төхөөрөмжийн тусгай файлууд дутагдаж байгаа эсэхийг бас шалгаарай. Гаднаас залгаж үзэх Систем уруу гаднаас залгаж үзээрэй; 8 битийг parity байхгүйгээр болон алсын систем дээр 1 зогсох битийг ашигласан эсэхээ шалгаарай. Хэрэв та хүлээх мөрийг тэр дор нь хүлээж авахгүй бол эсвэл хог хүлээн авсан бол секунд тутам нэг Enter дараад оролдоод үзээрэй. Тэгсэн ч гэсэн та login: хүлээх мөрийг хэсэг хугацаа өнгөрсөн ч гэсэн харахгүй байгаа бол BREAK илгээж оролдоод үзээрэй. Та залгахдаа өндөр хурдтай модем ашиглаж байгаа бол модемийн интерфэйсийн хурдыг (жишээ нь &usrobotics; &sportster; модем дээр AT&B1 тушаал ашиглан) түгжсэнийхээ дараа дахин залгаад оролдоод үзээрэй. Хэрэв та тэгсэн ч гэсэн login: хүлээх мөрийг хүлээн авахгүй байгаа бол /etc/gettytab файлыг дахин шалгаад доор дурдсаныг давхар шалгаарай Шугамын хувьд /etc/ttys файлд заагдсан боломжийн эхний нэр /etc/gettytab дахь боломжийн нэртэй таарч байгаа эсэх nx= оруулга бүр gettytab боломжийн өөр нэртэй таарч байгаа эсэх tc= оруулга бүр gettytab боломжийн өөр нэртэй таарч байгаа эсэх Хэрэв таныг залгахад FreeBSD систем дээрх модем хариулахгүй байгаа бол DTR шалгагдах үед модем нь утсанд хариулахаар тохируулагдсан эсэхийг шалгаарай. Хэрэв модем зөв тохируулагдсан юм шиг байвал DTR шугам шалгагдсан эсэхийг модемийн заагч гэрлүүдийг (гэрлүүдтэй бол) шалган нягтлаарай. Хэрэв та бүгдийг хэд хэдэн удаа шалгасан бөгөөд ажиллахгүй хэвээр байгаа бол завсарлага аваад дараа нь үзээрэй. Хэрэв тэгсэн ч гэсэн ажиллахгүй байгаа бол та &a.questions; уруу өөрийн модем болон асуудлынхаа талаар цахим захидал илгээж болох бөгөөд жагсаалтан дахь сайн хүмүүс танд туслахыг оролдох болно.
Dial-out буюу гадагш залгах үйлчилгээ dial-out үйлчилгээ Дараах нь таны хостыг модемоор өөр компьютер уруу холбох зааврууд юм. Энэ нь алсын хосттой терминал сесс үүсгэхэд тохирох юм. Энэ нь BBS уруу нэвтрэн ороход ашигтай байдаг. Хэрэв та PPP дээр асуудалтай байгаа бол Интернэт дэх файлыг авахад энэ төрлийн холболт нь туйлын ашигтай байж болох юм. Хэрэв та ямар нэг зүйл FTP хийх хэрэгтэй бөгөөд PPP эвдэрсэн бол терминал сесс ашиглан FTP хийж болно. Дараа нь түүнийг өөрийн машин уруу дамжуулахын тулд zmodem ашиглана. Миний Hayes модем дэмжигдээгүй байна, би юу хийх вэ? Жинхэнэдээ бол tip-д зориулсан гарын авлагын хуудас хуучирсан байгаа. Энгийн Hayes залгагч аль хэдийн цуг бүтээгдсэн байгаа болно. Өөрийн /etc/remote файлд ердөө л at=hayes-г ашиглаарай. Hayes драйвер нь шинэ модемуудын дэвшилтэт боломжуудын заримыг таних хэмжээний ухаалаг байдаггүй бөгөөд BUSY, NO DIALTONE, эсвэл CONNECT 115200 зэрэг мэдэгдлүүд нь түүнийг самууруулах болно. Та tip-ийг хэрэглэхдээ тэдгээр мэдэгдлүүдийг (ATX0&W-г ашиглаж) хаах хэрэгтэй. Бас tip-ийн хувьд залгах хугацаа нь 60 секунд байдаг. Таны модем нь үүнээс багыг ашиглах ёстой бөгөөд тэгэхгүй бол tip холбоонд асуудал байна гэж үзэх болно. ATS7=45&W гэж үзээрэй. Эдгээр AT тушаалуудыг би хэрхэн оруулах ёстой вэ? /etc/remote Өөрийн /etc/remote файлдаа шууд гэгддэг оруулгыг хийх хэрэгтэй. Жишээ нь хэрэв таны модем эхний цуваа порт /dev/cuad0-д холбогдсон бол дараах мөрийг тавьна: cuad0:dv=/dev/cuad0:br#19200:pa=none br боломжид таны модемийн дэмждэг хамгийн их bps хурдыг ашиглаарай. Дараа нь tip cuad0 гэж бичихэд та өөрийн модемд холбогдох болно. root хэрэглэгчээр cu-г дараах маягаар ашиглаарай: &prompt.root; cu -lline -sspeed line нь цуваа порт (өөрөөр хэлбэл /dev/cuad0) бөгөөд speed нь хурд (өөрөөр хэлбэл 57600) юм. Та AT тушаалуудыг оруулж дуусаад гарахын тулд ~. дарна. pn боломжийн <literal>@</literal> тэмдэг ажиллахгүй байна! Утасны дугаарын боломжийн @ тэмдэг нь tip-ийг /etc/phones файлаас утасны дугаар хайхыг заадаг. Гэхдээ @ тэмдэг нь бас /etc/remote зэрэг боломжийн файлуудын тусгай тэмдэгт юм. Үүнийг урагш ташуу зураас ашиглан оруулж болно: pn=\@ Тушаалын мөрөн дээр би утасны дугаар уруу хэрхэн залгах вэ? Өөрийн /etc/remote файлд ердийн гэгддэг оруулгыг оруулна. Жишээ нь: tip115200|Dial any phone number at 115200 bps:\ :dv=/dev/cuad0:br#115200:at=hayes:pa=none:du: tip57600|Dial any phone number at 57600 bps:\ :dv=/dev/cuad0:br#57600:at=hayes:pa=none:du: Дараа нь та иймэрхүү зүйлс хийж болно: &prompt.root; tip -115200 5551234 Хэрэв та cutip-ээс илүүд үздэг бол ердийн cu оруулгыг ашиглаж: cu115200|Use cu to dial any number at 115200bps:\ :dv=/dev/cuad1:br#57600:at=hayes:pa=none:du: дараа нь ингэж бичнэ: &prompt.root; cu 5551234 -s 115200 Би түүнийг хийх болгондоо bps хурдыг бичих хэрэгтэй юу? tip1200 эсвэл cu1200-ийн хувьд оруулгыг хийнэ, гэхдээ br боломжтой тохирох ямар ч bps хурдыг ашиглаж болно. tip нь боломжийн анхдагч утга бол 1200 bps гэж үздэг. tip1200 оруулгыг хайдгийн учир нь ийм юм. Гэхдээ та заавал 1200 bps хурдыг ашиглах шаардлагагүй юм. Би терминал серверээр хэд хэдэн хостууд уруу ханддаг Та холбогдох хүртлээ хүлээж CONNECT host гэж тухай бүрт бичиж байхын оронд tip-ийн cm боломжийг ашиглаж болно. Жишээ нь /etc/remote файл дахь эдгээр оруулгууд нь: pain|pain.deep13.com|Forrester's machine:\ :cm=CONNECT pain\n:tc=deep13: muffin|muffin.deep13.com|Frank's machine:\ :cm=CONNECT muffin\n:tc=deep13: deep13:Gizmonics Institute terminal server:\ :dv=/dev/cuad2:br#38400:at=hayes:du:pa=none:pn=5551234: pain эсвэл muffin хостууд уруу холбогдохын тулд танд tip pain эсвэл tip muffin гэж бичих боломжийг олгохоос гадна терминал сервер уруу орохын тулд tip deep13 гэж бичих боломжийг бас олгоно. Сайт болгоны хувьд нэгээс их мөрийг tip оролдож чадах уу? Энэ нь их сургууль хэд хэдэн модемийн шугамуудтай бөгөөд хэдэн мянган оюутнууд тэдгээрийг ашиглахыг оролдох үед ихэвчлэн гардаг асуудал юм. Өөрийн их сургуулийн оруулгыг /etc/remote файлд хийгээд pn боломжийн хувьд @-ийг ашиглаарай: big-university:\ :pn=\@:tc=dialout dialout:\ :dv=/dev/cuad3:br#9600:at=courier:du:pa=none: Дараа нь их сургуулиудын хувьд утасны дугааруудыг /etc/phones файлд жагсаана: big-university 5551111 big-university 5551112 big-university 5551113 big-university 5551114 tip нь жагсаагдсан дарааллаар утас болгоныг оролдож дараа нь зогсоно. Та оролдлогоо үргэлжлүүлсээр байхын тулд tip-ийг while давталтад ажиллуулах хэрэгтэй. <keycombo action="simul"> <keycap>Ctrl</keycap> <keycap>P</keycap> </keycombo> хослолыг нэг удаа илгээхийн тулд <keycombo action="simul"> <keycap>Ctrl</keycap> <keycap>P</keycap> </keycombo> хослолыг яагаад хоёр удаа дарах хэрэгтэй гэж? CtrlP нь анхдагч force буюу хүчлэх тэмдэгт бөгөөд tip тушаалд дараагийн тэмдэгт нь үсгэн өгөгдөл гэдгийг хэлэхэд хэрэглэгддэг. Та хүчлэх тэмдэгтийг дурын тэмдэгт болгон ~s тушаалаар зааж өгч болно. ~s тушаал нь хувьсагчийг тохируулах гэсэн үг юм. ~sforce=single-char гэж бичээд шинэ мөр авах хэрэгтэй. single-char нь дурын ганц тэмдэгт юм. Хэрэв та single-char-г орхих юм бол хүчлэх тэмдэгт нь хоосон тэмдэгт болох бөгөөд та үүнийг Ctrl2 эсвэл CtrlSpace гэж бичин авч болно. single-char-ийн хувьд боломжийн утга Shift Ctrl 6 байж болох бөгөөд энэ нь зөвхөн зарим нэг терминал серверүүдийн хувьд ашиглагддаг. Та хүчлэх тэмдэгтийг өөрийн хүссэнээр $HOME/.tiprc файлд доор дурдсаныг зааж тохируулж болно: force=single-char Гэнэт миний бичсэн болгон том үсгээр гараад байна?? Та эвдэгдсэн caps-lock товчлуур бүхий хэрэглэгчдэд тусгайлан зориулагдсан tip-ийн өсгөх тэмдэгт болох Ctrl A хослолыг дарсан байна. Дээр дурдсаны адил ~s тушаалыг ашиглан raisechar хувьсагчийг боломжийн утгаар тохируулах хэрэгтэй. Та үүнийг хүчлэх тэмдэгттэй адилаар тохируулж болох юм. Өөрөөр хэлбэл хэрэв та эдгээр боломжуудын аль нэгийг ашиглах бол ингэж болох юм. Ctrl2 болон CtrlA хослолуудыг байнга бичих хэрэгтэй болдог Emacs хэрэглэгчдэд яг зориулагдсан жишээ .tiprc файл энд байна: force=^^ raisechar=^^ ^^ нь ShiftCtrl6 юм. <command>tip</command>-ээр би яаж файл дамжуулалтуудыг хийх вэ? Хэрэв та өөр &unix; системтэй харьцаж байвал та ~p (put буюу тавих) болон ~t (take буюу авах) тушаалуудыг ашиглан файлуудыг илгээж хүлээн авч болно. Эдгээр тушаалууд нь файлуудыг хүлээн авч илгээхийн тулд алсын систем дээр cat болон echo тушаалуудыг ажиллуулдаг. Синтакс нь ийм байна: ~p local-file remote-file ~t remote-file local-file Алдаа шалгалт байдаггүй учраас магадгүй та zmodem-той адил өөр протокол ашиглах хэрэгтэй юм. <command>tip</command>-тэй би zmodem-ийг хэрхэн ажиллуулах вэ? Файлуудыг хүлээн авахын тулд алсын машин дээр програмыг илгээж эхэлнэ. Дараа нь тэдгээрийг локалаар хүлээн авч эхлэхийн тулд ~C rz гэж бичнэ. Файлуудыг илгээхийн тулд алсын машин дээр програмыг хүлээн авч эхэлнэ. Дараа нь тэдгээрийг алсын систем уруу илгээхийн тулд ~C sz files гэж бичнэ. Казутака ЁОКОТА Хойно дурдсан хүний бичсэн баримт дээр тулгуурлан хувь нэмэр болгон оруулсан Билл Пол Бичиг баримтыг бичсэн Цуваа консолыг тохируулах нь цуваа консол Танилцуулга FreeBSD нь зөвхөн цуваа порт дээр консол маягаар ашиглах дүлий терминал бүхий систем дээр ачаалах чадвартай байдаг. Ийм тохиргоо нь хоёр ангиллын хүмүүст ашигтай байх ёстой бөгөөд эдгээр нь гар эсвэл монитор байхгүй машинууд дээр FreeBSD суулгахыг хүссэн системийн администраторууд болон цөм эсвэл төхөөрөмжийн драйверуудыг дибаг хийхийг хүссэн хөгжүүлэгчид юм. -т тайлбарласнаар FreeBSD нь гурван шаттай эхлүүлэгчийг хэрэглэдэг. Эхний хоёр шат нь ачаалах диск дээрх FreeBSD-ийн зүсмэлийн эхлэл дээр хадгалагддаг ачаалах блокийн кодод байдаг. Ачаалах блок нь ачаалагч дуудагчийг (/boot/loader) гурав дахь шатны код болгон дуудаж ажиллуулдаг. Цуваа консолыг тохируулахын тулд та ачаалах блокийн код, ачаалагч дуудах код болон цөмөө тохируулах ёстой болно. Цуваа консолын тохиргоо, Товч хувилбар Энэ хэсэг нь таныг анхдагч тохируулга ашиглаж байгаа бөгөөд цуваа консолыг тохируулах хурдан тоймыг авахыг хүсэж байгаа гэж үздэг. Цуваа кабелийг COM1 болон хянаж байгаа терминал уруу холбоно. Цуваа консол дээр бүх ачаалалтын мэдэгдлүүдийг харахын тулд супер хэрэглэгчээр нэвтэрснийхээ дараа дараах тушаалыг ажиллуулна: &prompt.root; echo 'console="comconsole"' >> /boot/loader.conf /etc/ttys-г засварлаж ttyd0 оруулгын хувьд off гэснийг on, dialup гэснийг vt100 болгоно. Ингэхгүй бол цуваа консолоор холбогдоход нууц үг шаардахгүй бөгөөд боломжит аюулгүй байдлын цоорхой үүсгэх юм. Өөрчлөлтүүд идэвхтэй болсон эсэхийг харахын тулд системийг дахин ачаална. Хэрэв өөр тохиргоо шаардлагатай бол хэсэгт илүү гүнзгий тохиргооны тайлбар байгаа болно. Цуваа консолын тохиргоо Цуваа кабель бэлдэнэ. null-модем кабель Танд null-модем кабель эсвэл стандарт цуваа кабель болон null-модем хувиргагч хэрэгтэй болно. Цуваа кабелиудын тухай хэлэлцүүлгийг хэсгээс үзнэ үү. Гарыг салгана. Ихэнх PC системүүд нь Power-On Self-Test (POST) буюу асаах үеийн тестийн үеэр гарыг байгаа эсэхийг шалгадаг бөгөөд гар олдохгүй бол алдаа үүсгэдэг. Зарим машинууд нь гар байхгүйг чангаар мэдээлж залгагдтал нь цааш ачаалдаггүй. Хэрэв таны компьютер алдааг мэдээлсэн боловч цааш ачаалах юм бол та ямар нэг тусгай зүйл хийх шаардлагагүй юм. (Phoenix BIOS суулгагдсан зарим машинууд нь ердөө л Keyboard failed гэж мэдээлээд хэвийнээр цааш ачаалах болно.) Хэрэв таны компьютер гар залгалгүйгээр ачаалахаас татгалзвал энэ алдааг авч үзэлгүйгээр орхихоор болгож та BIOS-оо тохируулах хэрэгтэй болно (хэрэв болдог бол). Үүнийг хэрхэн хийх талаар дэлгэрэнгүйг өөрийн эх хавтангийн гарын авлагаас лавлана уу. BIOS-ийн тохиргоон дээр гараа Not installed буюу суулгагдаагүй гэж тохируулна. Тэгсэн ч гэсэн та өөрийн гарыг ашиглаж чадах болно. Үүний хийж байгаа зүйл нь BIOS-д асах үед гарыг шалгахгүй гэж хэлж өгч байгаа юм. Таны BIOS гар байхгүй үед гомдоллохгүй байх ёстой. Та энэ тугийг Not installed гэж тохируулсан байлаа ч гэсэн гараа залгаатай хэвээр орхиж болох бөгөөд гар ажилласан хэвээр - байх болно. + байх болно. Хэрэв дээрх тохиргоо BIOS-д байхгүй бол оронд нь + Halt on Error тохиргоог хайх хэрэгтэй. Үүнийг + All but Keyboard гэж эсвэл + No Errors гэж тохируулах нь ижил үйлчилгээтэй байдаг. Хэрэв таны систем &ps2; хулганатай бол та бас өөрийн гарны адил хулганаа бас салгах шаардлагатай байж болох юм. Учир нь юу вэ гэвэл &ps2; хулгана нь гартай цуг зарим тоног төхөөрөмжийг хуваалцдаг бөгөөд хулганаа залгаатай орхих нь гар шалгагчийг гар байсаар байгаа гэж бодоход хүргэн хуурч болох юм. AMI BIOS бүхий Gateway 2000 Pentium 90 MHz систем ингэдэг гэж яригддаг. Ерөнхийдөө хулгана нь гаргүйгээр олигтой ажиллахгүй болохоор энэ нь асуудал биш юм. Дүлий терминалыг COM1 уруу залгана (sio0). Хэрэв танд дүлий терминал байхгүй бол та хуучин PC/XT-г модемийн програмтай цуг, эсвэл өөр &unix; хайрцаг дээр цуваа портыг ашиглаж болох юм. Хэрэв танд COM1 (sio0) байхгүй бол түүнтэй болох хэрэгтэй. Одоогоор ачаалах блокуудыг дахин эмхэтгэлгүйгээр ачаалах блокуудын хувьд COM1-с өөр портыг сонгох арга байхгүй. Хэрэв та COM1-г өөр төхөөрөмжид ашиглаж байгаа бол та тэр төхөөрөмжөө түр зуур салгаад FreeBSD эхлүүлж ажиллуулсныхаа дараа шинэ ачаалах блок болон цөмийг суулгах хэрэгтэй болно. (COM1 нь файл/тооцоолох/терминал сервер дээр байдаг гэж үздэг; хэрэв танд COM1 нь үнэхээр өөр зүйлд хэрэгтэй байгаа (бөгөөд та тэр өөр зүйлээ COM2 (sio1) уруу шилжүүлж чадахгүй байгаа)) бол та магадгүй эхлээд энэ бүх зүйл дээр бүр санаа зовох шаардлагагүй байж болох юм.) Таны цөмийн тохиргооны файлд COM1-ийн (sio0) хувьд тохирох тугууд тохируулагдсан эсэхийг шалгаарай. Холбоотой тугууд нь: 0x10 Энэ нэгжид зориулан консолын дэмжлэгийг идэвхжүүлнэ. Энэ туг тохируулагдаагүй бол бусад тугууд нь орхигддог. Одоогоор хамгийн ихдээ нэг нэгж консолын дэмжлэгтэй байж болдог; Энэ туг тохируулагдсан эхнийхийг (тохиргооны файлын дарааллаар) эрхэмлэдэг. Энэ тохируулга нь ганцаараа цуваа портыг консол болгодоггүй. Дараах тугийг тохируулах юм уу эсвэл энэ тугтай цуг доор тайлбарласан тохируулгыг ашиглана. 0x20 Доор тайлбарласан тохируулга байгаа эсэхээс үл хамаарч энэ нэгжийг консол болгоно (өөр илүү эрхтэй консол байхгүй тохиолдолд). 0x20 туг нь тугтай цуг ашиглагдах ёстой. 0x40 Энэ нэгжийг (0x10-тай цуг) нөөцөлж хэвийн хандалтад энэ нэгжийг байхгүй болгоно. Та энэ тугийг цуваа консол маягаар ашиглахыг хүсэж байгаа цуваа портын нэгждээ тохируулах ёсгүй юм. Энэ тугны цорын ганц хэрэглээ нь алсаас цөмийг дибаг хийхэд нэгжийг зориулах явдал юм. Алсаас дибаг хийх талаар илүү мэдээллийг Хөгжүүлэгчийн Гарын Авлагаас үзнэ үү. Жишээ: device sio0 at isa? port IO_COM1 flags 0x10 irq 4 Илүү дэлгэрэнгүйг &man.sio.4; гарын авлагын хуудаснаас үзнэ үү. Хэрэв тугнууд тохируулагдаагүй бол UserConfig-г (өөр консол дээр) ажиллуулах юм уу эсвэл цөмийг дахин эмхэтгэх хэрэгтэй. Ачаалах төхөөрөмж дээр a хуваалтын root санд boot.config файлыг үүсгэнэ. Энэ файл нь системийг та хэрхэн ачаалахыг хүсэж байгааг ачаалах блокийн кодод зааварлах болно. Цуваа консолыг идэвхжүүлэхийн тулд танд дараах нэг буюу хэд хэдэн тохируулгууд хэрэгтэй болно—хэрэв та олон тохируулгуудыг хүсэж байгаа бол бүгдийг нэг мөрт оруулах хэрэгтэй: Дотоод болон цуваа консолуудыг харилцан сольно. Та үүнийг ашиглан консол төхөөрөмжүүдийг сольж шилжүүлж болно. Жишээ нь хэрэв та дотоод (видео) консолоос ачаалах бол ачаалагч дуудагч болон цөмд өөрийн консолын төхөөрөмждөө цуваа портыг ашиглуулахаар чиглүүлэх тохируулгыг ашиглаж болох юм. Мөн өөрөөр хэрэв та цуваа портоос ачаалах бол ачаалагч дуудагч болон цөмд видео дэлгэцийг консол маягаар харин хэрэглүүлэхийн тулд тохируулгыг ашиглаж болох юм. Ганц болон хоёр консолын тохиргоонуудыг сольно. Ганц тохиргоон дээр дээрх тохиргооны төлвөөс хамаарч консол нь дотоод консол (видео дэлгэц) байх юм уу эсвэл цуваа порт байх болно. Хоёр консолын тохиргоон дээр видео дэлгэц болон цуваа порт нь хоёулаа тохиргооны төлвөөс үл хамааран консол болох юм. Гэхдээ хоёр консолын тохиргоо нь зөвхөн ачаалах блок ажиллаж байх үед идэвхтэй байхыг санаарай. Ачаалагч дуудагч хяналтыг авсны дараа тохируулгаар заагдсан консол нь цорын ганц консол болох юм. Ачаалах блокоор гарыг шалгуулна. Хэрэв гар олдоогүй бол болон тохируулгууд автоматаар тохируулагдана. Зайны шаардлагаас болоод ачаалах блокуудын одоогийн хувилбарт тохируулга нь зөвхөн өргөтгөсөн гарнуудыг олох чадвартай байдаг. 101 товчлуураас бага товчлууруудтай (ба F11 болон F12 товчлууруудгүй) гарнууд нь олдохгүй байж болох юм. Зарим нэг зөөврийн компьютерууд дээрх гарнууд нь энэ хязгаарлалтаас болоод зөвөөр олдохгүй байж болох юм. Хэрэв та ийм системтэй бол тохируулга ашиглахаа болих хэрэгтэй юм. Харамсалтай нь энэ асуудлыг тойрон гарах арга зам байдаггүй. Консолио автоматаар сонгохын тулд тохируулгыг ашиглах юм уу эсвэл цуваа консолыг идэвхжүүлэхийн тулд тохируулгыг ашиглана. Та &man.boot.8;-д тайлбарласны адил бас бусад тохируулгуудыг оруулж болох юм. -с бусад тохируулгууд нь ачаалагч дуудагчид (/boot/loader) дамжуулагддаг. Ачаалагч дуудагч нь зөвхөн тохируулгын төлөвийг шалгаж дотоод видео эсвэл цуваа портын аль нь консол болох ёстойг тодорхойлох болно. Энэ нь хэрэв та /boot.config файлд тохируулгыг тохируулаад гэхдээ тохируулгыг тохируулаагүй бол та цуваа портыг зөвхөн ачаалах блокийн үед консол болгон ашиглаж болно гэсэн үг юм; ачаалагч дуудагч нь дотоод видео дэлгэцийг консол маягаар ашиглах болно. Машиныг ачаална. Та өөрийн FreeBSD хайрцгийг эхлүүлэх үед ачаалах блокууд нь /boot.config файлын агуулгуудыг консол уруу гаргаж харуулах болно. Жишээ нь: /boot.config: -P Keyboard: no Хоёр дахь мөр нь /boot.config файлд тохируулгыг зөвхөн тавьсан тохиолдолд гарах бөгөөд гар байгаа/байхгүйг заадаг. Эдгээр мэдэгдлүүд нь /boot.config файл дахь тохируулгаас хамаараад цуваа эсвэл дотоод консол уруу, эсвэл хоёулан уруу гардаг. Тохируулгууд Мэдэгдлүүд гарах газар байхгүй дотоод консол цуваа консол цуваа болон дотоод консолууд цуваа болон дотоод консолууд , гар байна дотоод консол , гар байхгүй цуваа консол Дээрх мэдэгдлүүдийн дараа ачаалах блокууд нь ачаалагч дуудагчийг дуудахаас өмнө болон бусад дараа дараагийн мэдэгдлүүд консол дээр хэвлэгдэхээс өмнө бага хэмжээний завсарлага (пауз) авах болно. Хэвийн нөхцөлд танд ачаалах блокуудыг тасалдуулах хэрэггүй боловч та бүх зүйлс зөв тохируулагдсаныг баталгаажуулахын тулд ингэхийг хүсэж болох юм. Ачаалах процессийг тасалдуулахын тулд консол дээр Enter-с өөр дурын товчлуурыг дарах хэрэгтэй. Ачаалах блокууд нь дараа нь танаас дараачийн чинь үйлдлийг асуух болно. Та одоо иймэрхүү мэдэгдэл харах ёстой: >> FreeBSD/i386 BOOT Default: 0:ad(0,a)/boot/loader boot: Дээрх мэдэгдэл цуваа эсвэл дотоод консол дээр эсвэл хоёулан дээр гарч байгаа эсэхийг /boot.config файлд хийсэн тохируулгуудынхаа дагуу шалгаарай. Хэрэв мэдэгдэл зөв консол дээр гарч байвал ачаалах процессийг үргэлжлүүлэхийн тулд Enter дараарай. Хэрэв та цуваа консолыг хүсэж байгаа боловч цуваа терминал дээр хүлээх мөрийг харахгүй байгаа бол таны тохиргоонд ямар нэг зүйл буруу байна. Тэр хооронд та ачаалах блокт (ба дараа нь ачаалагч дуудагч болон цөмд) цуваа портыг консолд зориулан сонгуулахыг хэлэхийн тулд гэж бичээд Enter эсвэл Return (боломжтой бол) дараарай. Систем ачаалсны дараа юу буруу болсныг буцаж шалгаарай. Ачаалагч дуудагч дуудагдсаны дараа та ачаалах процессийн гурав дахь шатанд байгаа бол ачаалагч дуудагчид зохих орчны хувьсагчуудыг тохируулж дотоод консол болон цуваа консолын хооронд та шилжиж чадсан хэвээр байх болно. -г үзнэ үү. Дүгнэлт Энэ хэсэгт хэлэлцсэн төрөл бүрийн тохиргоонуудын дүгнэлт болон эцсийн дүнд консол сонгогдсон тухай мэдээлэл энд байна. Тохиолдол 1: Та <devicename>sio0</devicename>-д зориулж тугуудыг 0x10 болгож тохируулна device sio0 at isa? port IO_COM1 flags 0x10 irq 4 /boot.config дахь тохируулгууд Ачаалах блокуудын үеийн консол Ачаалагч дуудагчийн үеийн консол Цөм дэх консол юу ч байхгүй дотоод дотоод дотоод цуваа цуваа цуваа цуваа болон дотоод дотоод дотоод цуваа болон дотоод цуваа цуваа , гар байна дотоод дотоод дотоод , гар байхгүй цуваа болон дотоод цуваа цуваа Тохиолдол 2: Та <devicename>sio0</devicename>-д зориулж тугуудыг 0x30 болгож тохируулна device sio0 at isa? port IO_COM1 flags 0x30 irq 4 /boot.config дахь тохируулгууд Ачаалах блокуудын үеийн консол Ачаалагч дуудагчийн үеийн консол Цөм дэх консол юу ч байхгүй дотоод дотоод цуваа цуваа цуваа цуваа цуваа болон дотоод дотоод цуваа цуваа болон дотоод цуваа цуваа , гар байна дотоод дотоод цуваа , гар байхгүй цуваа болон дотоод цуваа цуваа Цуваа консолд зориулсан зааврууд Цуваа портын хурдыг илүү хурдан болгох Анхдагчаар цуваа портын тохируулгууд нь 9600 baud, 8 бит, parity байхгүй, ба 1 зогсох бит бүхий байна. Хэрэв та анхдагч консолын хурдыг өөрчлөхийг хүсвэл танд дараах сонголтууд байна: Ачаалах блокуудыг консолын шинэ хурд заагдсан BOOT_COMCONSOLE_SPEED хувьсагчтай цуг дахин эмхэтгэнэ. Шинэ ачаалах блокуудыг бүтээж суулгах талаар дэлгэрэнгүй заавруудыг -с үзнэ үү. Хэрэв цуваа консол нь тохируулгатайгаар ачаалахаас өөр аргаар тохируулагдсан бол эсвэл цөмийн ашиглаж байгаа цуваа консол нь ачаалах блокуудын ашиглаж байгаагаас өөр бол та дараах тохируулгыг цөмийн тохиргооны файлдаа бас нэмж шинэ цөмөө эмхэтгэх ёстой юм: options CONSPEED=19200 Цөмийн ачаалах тохируулгыг ашиглана. тушаалын мөрийн тохируулга нь /boot.config файлд нэмэгдэж болно. /boot.config файлд хэрхэн тохируулгууд нэмэх тухай тайлбар болон дэмжигдсэн тохируулгуудын талаар &man.boot.8; гарын авлагын хуудаснаас үзнэ үү. Өөрийн /boot/loader.conf файлд comconsole_speed тохируулгыг идэвхжүүлнэ. Энэ тохируулга нь /boot/loader.conf файлд бас console, boot_serial, болон boot_multicons тохируулагдсан эсэхээс хамаардаг. Цуваа консолын хурдыг өөрчлөх comconsole_speed тохируулгын хэрэглээний жишээ энд байна: boot_multicons="YES" boot_serial="YES" comconsole_speed="115200" console="comconsole,vidconsole" Консолд зориулж <devicename>sio0</devicename>-с өөр цуваа портыг ашиглах sio0-с өөр портыг консолд ашиглах нь зарим нэг дахин эмхэтгэлтийг шаарддаг. Та ямар ч шалтгаанаар байлаа гэсэн өөр цуваа портыг ашиглахыг хүсвэл доор дурдсан шигээр ачаалах блокууд, ачаалагч дуудагч болон цөмийг дахин эмхэтгэх хэрэгтэй. Цөмийн эхийг авна. ( бүлгийг үзнэ үү) /etc/make.conf файлыг засварлаж BOOT_COMCONSOLE_PORT хувьсагчийг ашиглахыг хүсэж байгаа портынхоо хаягаар (0x3F8, 0x2F8, 0x3E8 эсвэл 0x2E8) тохируулна. Зөвхөн sio0sio3 (COM1COM4) хүртэлх портууд ашиглагдаж болно; олон порттой цуваа картууд ажиллахгүй. Тасалдлын тохируулга шаардлагагүй. Тусгайлсан цөмийн тохиргооны файл үүсгээд ашиглахыг хүсэж байгаа портынхоо хувьд тохирох тугуудыг нэмээрэй. Жишээ нь хэрэв та sio1 (COM2) портыг консол болгохыг хүсэж байгаа бол: device sio1 at isa? port IO_COM2 flags 0x10 irq 3 эсвэл device sio1 at isa? port IO_COM2 flags 0x30 irq 3 Бусад цуваа портуудын хувьд консолын тугууд тохируулагдах ёсгүй. Ачаалах блокууд болон ачаалагч дуудагчийг дахин эмхэтгээд суулгана: &prompt.root; cd /sys/boot &prompt.root; make clean &prompt.root; make &prompt.root; make install Цөмийг дахин бүтээж суулгана. Ачаалах блокуудыг ачаалах диск уруу &man.bsdlabel.8;-ийн тусламжтай бичээд шинэ цөмөөс ачаална. Цуваа шугамнаас DDB дибаг хийгч уруу орох Хэрэв та цуваа консолоос цөмийг дибаг хийгч уруу орохыг хүсвэл (алсаас хийх шинжилгээнд ашиг тустай байдаг боловч хэрэв та цуваа порт дээр алдаатай BREAK үүсгэсэн бол энэ нь аюултай байдаг!) та өөрийн цөмийг дараах тохируулгуудтай эмхэтгэх шаардлагатай: options BREAK_TO_DEBUGGER options DDB Цуваа консол дээр нэвтрэлт хүлээх мөр гаргаж авах Энэ нь шаардлагатай биш боловч та одоо цуваа шугамаар ачаалалтын мэдэгдлүүдийг харж цөмийн дибаг хийх сесс уруу орж чадаж байгаа юм чинь та цуваа шугамаар нэвтрэлт хүлээх мөрийг авахыг хүсэж болох юм. Энд хэрхэн үүнийг хийх талаар байна. /etc/ttys файлыг засварлагчаар онгойлгоод дараах мөрүүдийг олно: ttyd0 "/usr/libexec/getty std.9600" unknown off secure ttyd1 "/usr/libexec/getty std.9600" unknown off secure ttyd2 "/usr/libexec/getty std.9600" unknown off secure ttyd3 "/usr/libexec/getty std.9600" unknown off secure ttyd0ttyd3 хүртэлх нь COM1COM4 хүртэлхтэй тохирно. Хүссэн порт дээрээ off гэснийг on болгож өөрчилнө. Хэрэв та цуваа портын хурдыг өөрчилсөн бол тухайн үеийн тохиргоотой тааруулахын тулд std.9600-г өөрчлөх хэрэгтэй болно, өөрөөр хэлбэл std.19200 гэх мэт. Та бас терминалын төрлийг unknown гэдгээс өөрийн цуваа терминалын жинхэнэ төрлөөр солихыг хүсэж болох юм. Файлыг засварласны дараа та энэ өөрчлөлтийг идэвхжүүлэхийн тулд kill -HUP 1 хийх ёстой. Ачаалагч дуудагчаас консолыг өөрчлөх Өмнөх хэсгүүд нь ачаалах блокуудыг тохируулан цуваа консолыг хэрхэн тохируулах талаар тайлбарлалаа. Энэ хэсэг нь ачаалагч дуудагч дээр зарим нэг тушаалууд болон орчны хувьсагчуудыг оруулж консолыг тохируулах талаар үзүүлэх болно. Ачаалах блокийн дараа ачаалах процессийн гурав дахь шатан дээр ачаалагч дуудагч ажиллах үед ачаалагч дуудагч дахь тохиргоонууд нь ачаалах блок дахь тохиргоонуудыг дарж ажиллах болно. Цуваа консол тохируулах Та ачаалагч дуудагч болон цөмд цуваа консолыг ашиглуулахын тулд /boot/loader.conf файлд зөвхөн нэг мөр бичээд амархан зааж өгч болно: set console="comconsole" Энэ нь өмнөх хэсэгт хэлэлцсэн ачаалах блок дахь тохиргоонуудаас үл хамааран идэвхжих болно. Та цуваа консол дээр ачаалалтын мэдэгдлүүдийг аль болох эрт харахын тулд дээрх мөрийг /boot/loader.conf файлынхаа хамгийн эхний мөр болгон оруулах нь зүйтэй юм. Үүнтэй адилаар та дотоод консолоо ингэж зааж өгч болно: set console="vidconsole" Хэрэв та ачаалагч дуудагчийн орчны хувьсагч console-г тохируулахгүй бол ачаалагч болон дараа нь цөм ачаалах блок дахь тохируулгаар заагдсан тэр консолыг ашиглах болно. Консолыг /boot/loader.conf.local юм уу эсвэл /boot/loader.conf файлд зааж өгч болно. Дэлгэрэнгүй мэдээллийг &man.loader.conf.5;-с үзнэ үү. Одоогоор ачаалагч дуудагчид ачаалах блок дахь тохируулгатай адил тохируулга байдаггүй бөгөөд гар байгаа эсэхээс хамаарч дотоод консол ба цуваа консолыг автоматаар сонгох бэлтгэл байдаггүй юм. Консолд зориулж <devicename>sio0</devicename>-с өөр цуваа портыг ашиглах Та цуваа консолд зориулж sio0-с өөр цуваа портыг ашиглахын тулд ачаалагч дуудагчийг дахин эмхэтгэх хэрэгтэй. хэсэгт тайлбарласан процедурыг дагаарай. Анхаарах зүйлс Гол санаа нь график тоног төхөөрөмж эсвэл гар залгагдсан байхыг шаарддаггүй тийм зориулагдсан серверүүдийг тохируулах боломжийг хүмүүст зөвшөөрөх явдал юм. Ихэнх системүүд нь гаргүйгээр ачаалах боломжийг танд олгох боловч харамсалтай нь график хувиргагчгүйгээр танд ачаалахыг зөвшөөрдөггүй нэлээн хэдэн системүүд байдаг. AMI BIOS-уудтай машинуудыг график хувиргагч суулгалгүйгээр ачаалдаг болгож тохируулж болдог. Ингэхийн тулд ердөө л CMOS тохиргоон дахь graphics adapter тохируулгыг Not installed болгож өөрчилнө. Гэхдээ олон машинууд энэ тохируулгыг дэмждэггүй бөгөөд та систем дээрээ ямар ч дэлгэцийн тоног төхөөрөмж байхгүй бол машин ачаалахаас татгалзах болно. Ийм машинуудад та ямар нэг төрлийн график карт (хогийн хар цагаан хавтан байсан ч гэсэн болно) залгаж орхих хэрэгтэй болох боловч заавал дэлгэц залгах шаардлагагүй юм. Та бас AMI BIOS суулгахыг оролдож болох юм.