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 a499a72882..44d2caca0b 100644 --- a/mn_MN.UTF-8/books/handbook/advanced-networking/chapter.sgml +++ b/mn_MN.UTF-8/books/handbook/advanced-networking/chapter.sgml @@ -1,4925 +1,5120 @@ Цагаанхүүгийн Ганболд Орчуулсан
tsgan@hotmail.com
Сүлжээний нэмэлт ойлголтууд Ерөнхий агуулга Энэ бүлэг нь хэд хэдэн сүлжээний дэвшилтэт нэмэлт сэдвүүдийг хамрах болно. Энэ бүлгийг уншсаны дараа, та дараах зүйлсийг мэдэх болно: Гарцууд болон чиглүүлэлтүүдийн үндсүүд. IEEE 802.11 болон &bluetooth; төхөөрөмжүүдийг хэрхэн суулгах талаар. FreeBSD-г гүүр болгож хэрхэн тохируулах талаар. Дискгүй машин дээр сүлжээгээр ачаалахыг хэрхэн тохируулах талаар. Сүлжээний хаягийн хөрвүүлэлтийг хэрхэн тохируулах талаар. PLIP-ээр хоёр компьютерийг хэрхэн холбох талаар. FreeBSD машин дээр IPv6-г хэрхэн тохируулах талаар. ATM-ийг хэрхэн тохируулах талаар. &os; дээр Common Access Redundancy Protocol буюу CARP-ийн боломжуудыг хэрхэн идэвхжүүлж ашиглах талаар. Энэ бүлгийг уншихаасаа өмнө та дараах зүйлсийг гүйцэтгэх хэрэгтэй: /etc/rc скриптүүдийн үндсүүдийг ойлгосон байх. Сүлжээний үндсэн ухагдахуудын талаар мэдлэгтэй байх. Шинэ FreeBSD цөм хэрхэн тохируулж суулгах талаар мэдэх (). Нэмэлт гуравдагч талуудын хийсэн програм хангамжийг хэрхэн суулгах талаар мэдэх (). Коранф Грайфон Хувь нэмэр болгон оруулсан Гарцууд болон Чиглүүлэлтүүд чиглүүлэлт хийх гарц дэд сүлжээ Сүлжээгээр нэг машин нөгөө машиныг олж чаддаг байхын тулд нэгээс нөгөө уруу хэрхэн хүрэхийг тайлбарласан арга замууд байх ёстой. Үүнийг routing буюу чиглүүлэлт хийх гэдэг. Чиглүүлэлт нь destination буюу зорьсон газар болон гарц хаягийн хослолоор тодорхойлогддог. Хэрэв та энэ зорьсон газар уруу очихоор оролдож байгаа бол энэ гарцаар холбогдоно гэж энэ хослол нь зааж байгаа юм. Гурван төрлийн зорьсон газар байдаг: эдгээр нь хостууд, дэд сүлжээнүүд болон анхдагч юм. Анхдагч чиглүүлэлт нь аль ч чиглүүлэлтэд хамаарахгүй бол ашиглагддаг. Бид анхдагч чиглүүлэлтийн талаар дараа нь арай дэлгэрэнгүй ярилцах болно. Бас гурван төрлийн гарц байдаг: эдгээр нь хостууд, интерфэйсүүд (бас links буюу холбоосууд гэгддэг) болон Ethernet тоног төхөөрөмжийн хаягууд (MAC хаягууд) юм. Жишээ Чиглүүлэлтийн өөр ойлголтуудыг үзүүлэхийн тулд бид netstat-ийн дараах жишээг ашиглах болно: &prompt.user; netstat -r Routing tables Destination Gateway Flags Refs Use Netif Expire default outside-gw UGSc 37 418 ppp0 localhost localhost UH 0 181 lo0 test0 0:e0:b5:36:cf:4f UHLW 5 63288 ed0 77 10.20.30.255 link#1 UHLW 1 2421 example.com link#1 UC 0 0 host1 0:e0:a8:37:8:1e UHLW 3 4601 lo0 host2 0:e0:a8:37:8:1e UHLW 0 5 lo0 => host2.example.com link#1 UC 0 0 224 link#1 UC 0 0 анхдагч чиглүүлэлт Эхний хоёр мөр нь анхдагч чиглүүлэлт (бид үүнийг дараагийн хэсэгт авч үзэх болно) болон localhost чиглүүлэлтийг заана. loopback төхөөрөмж Энэ чиглүүлэлтийн хүснэгтийн заасан localhost-д зориулж ашиглах интерфэйс (Netif багана) нь lo0 бөгөөд энэ нь бас loopback буюу буцах интерфэйс гэгддэг. Энэ нь уг очих газрын хувьд бүх урсгалыг LAN уруу илгээхийн оронд дотооддоо үлдээнэ гэж хэлж байгаа бөгөөд энэ нь хаанаас эхэлсэн тэндээ буцаж очих учраас тэр юм. Ethernet MAC хаяг Дараагийн байгаа зүйл бол 0:e0:-с эхэлсэн хаягууд юм. Эдгээр нь Ethernet тоног төхөөрөмжийн хаягууд бөгөөд бас MAC хаягууд гэгддэг. FreeBSD нь локал Ethernet дээр байгаа ямар ч хостуудыг (жишээн дээрх test0) автоматаар таньж тэр хостод зориулж шууд түүн уруу ed0 Ethernet интерфэйсээр гарахаар чиглүүлэлт нэмдэг. Энэ төрлийн чиглүүлэлттэй холбоотой хугацаа (Expire багана) байдаг бөгөөд энэ нь заасан хугацаанд тэр хостоос бид нар юу ч сонсохгүй үед ашиглагддаг. Ийм явдал болоход энэ хост уруу заагдсан чиглүүлэлт автоматаар устгагдах болно. Эдгээр хостууд нь RIP (Routing Information Protocol буюу чиглүүлэлтийн мэдээллийн протокол) гэгддэг арга замаар танигддаг бөгөөд энэ нь хамгийн богино замыг тодорхойлсны үндсэн дээр локал хостууд уруу очих чиглүүлэлтийг олдог. дэд сүлжээ FreeBSD нь бас локал дэд сүлжээнд зориулж дэд сүлжээний чиглүүлэлтүүдийг нэмдэг (10.20.30.255 нь 10.20.30 дэд сүлжээний цацах хаяг бөгөөд example.com нь тэр дэд сүлжээтэй холбоотой домэйний нэр юм). link#1 тэмдэглэгээ нь машин дахь эхний Ethernet картыг заана. Та тэдгээрт зориулж ямар ч нэмэлт интерфэйс заагдаагүйг харах болно. Эдгээр бүлгүүд (локал сүлжээний хостууд болон локал дэд сүлжээнүүд) нь автоматаар routed гэгддэг дэмоноор тохируулагдсан чиглүүлэлтүүдтэй байна. Хэрэв энэ нь ажиллахгүй байгаа бол зөвхөн статикаар тодорхойлогдсон (өөрөө хэлбэл илэрхий оруулж өгсөн) чиглүүлэлтүүд байх болно. host1 мөр нь бидний хостыг зааж байгаа бөгөөд түүнийг Ethernet хаягаар нь мэддэг. Бид илгээж байгаа хост болохоор FreeBSD нь Ethernet интерфэйсээр илгээхийн оронд loopback буюу буцах интерфэйсийг (lo0) ашиглахаа мэддэг. Хоёр host2 мөрүүд нь биднийг &man.ifconfig.8; alias буюу өөр нэр ашиглах үед (Ethernet-ийн талаар дурдсан хэсгээс бид үүнийг яагаад хийдгийг үзээрэй) учирч болзошгүй зүйлийн жишээ юм. lo0 интерфэйсийн дараа байгаа => тэмдэг нь бид зөвхөн loopback буюу буцах интерфэйсийг ашиглаад зогсохгүй (энэ хаяг нь бас локал хостыг хэлж байгаа болохоор) энэ нь ялангуяа alias буюу өөр нэр гэдгийг хэлж байгаа юм. Ийм чиглүүлэлтүүд нь alias-ийг дэмждэг хост дээр зөвхөн харагдана; локал сүлжээн дэх бусад бүх хостууд ийм чиглүүлэлтүүдийнхээ хувьд ердөө л link#1 мөртэй байна. Төгсгөлийн мөр (очих дэд сүлжээ 224) нь multicast-тай ажиллаж байгаа бөгөөд үүнийг өөр хэсэгт авч үзэх болно. Төгсгөлд нь чиглүүлэлт бүрийн төрөл бүрийн шинж чанаруудыг Flags баганаас харж болно. Эдгээр тугуудын зарим болон тэдгээрийн харгалзах утга санаануудыг доорх богино хүснэгтээр харуулав: U Up: Чиглүүлэлт идэвхтэй байна. H Host: Чиглүүлэлтийн очих газар нь ганц хост байна. G Gateway: Энэ очих газарт зориулж бүгдийг энэ алсын систем уруу илгээх бөгөөд алсын систем нь тэндээсээ хаашаа илгээхээ олох болно. S Static: Энэ чиглүүлэлт нь системээр автоматаар үүсгэгдсэн биш гараар тохируулагдсан. C Clone: Бидний холбогдож байгаа машины хувьд энэ чиглүүлэлт дээр үндэслэн шинэ чиглүүлэлт үүсгэдэг. Энэ төрлийн чиглүүлэлт нь ихэвчлэн локал сүлжээнүүдэд ашиглагддаг. W WasCloned: Локал сүлжээний (Clone) чиглүүлэлт дээр үндэслэн автоматаар тохируулагдсан чиглүүлэлтийг заана. L Link: Чиглүүлэлт нь Ethernet тоног төхөөрөмжтэй холбоотой зүйлийг хамарна. Анхдагч чиглүүлэлтүүд анхдагч чиглүүлэлт Локал систем нь алсын хост уруу холболт хийх хэрэгтэй үед мэдэгдэж байгаа зам байгаа эсэхийг тодорхойлохын тулд энэ нь чиглүүлэлтийн хүснэгтээс шалгадаг. Хэрэв алсын хост нь бидний хэрхэн хүрэхийг нь мэдэх (клон хийгдсэн чиглүүлэлтүүд) дэд сүлжээнд байгаа бол систем тэр интерфэйсээр холбогдож болох эсэхийг шалгадаг. Хэрэв бүх мэдэгдэж байгаа зам амжилтгүй болвол системд сүүлчийн ганц сонголт анхдагч чиглүүлэлт үлдэнэ. Энэ чиглүүлэлт нь гарц чиглүүлэлтийн тусгай төрөл (системд ихэвчлэн ганц байдаг) бөгөөд тугнуудын талбартаа үргэлж c гэж тэмдэглэгдсэн байдаг. Локал сүлжээн дэх хостын хувьд энэ гарц нь машины гадаад ертөнц уруу шууд холбогдох зүйлээр (PPP холболт, DSL, кабель модем, T1, эсвэл өөр сүлжээний интерфэйсээр) тохируулагддаг. Хэрэв та өөрөө гаднах ертөнц уруу гарц маягаар ажиллаж байгаа машины хувьд анхдагч чиглүүлэлтийг тохируулж байгаа бол анхдагч чиглүүлэлт нь таны Интернэтийн Үйлчилгээ Үзүүлэгчийн (ISP) сайт дахь гарц машин болох юм. Анхдагч чиглүүлэлтүүдийн жишээг харцгаая. Энэ нь нийтлэг тохиргоо юм: [Local2] <--ether--> [Local1] <--PPP--> [ISP-Serv] <--ether--> [T1-GW] Local1 болон Local2 хостууд нь таны сайтад байна. Local1 нь ISP уруу dial-up PPP холболтоор холбогдсон. Энэ PPP сервер компьютер нь дотоод сүлжээгээр өөр нэг гарц компьютер уруу гадаад интерфэйсээр ISP-ийн Интернэт өгч байгаа уруу холбогдсон байна. Таны машин бүрийн хувьд анхдагч чиглүүлэлтүүд нь ийм болно: Хост Анхдагч Гарц Интерфэйс Local2 Local1 Ethernet Local1 T1-GW PPP Түгээмэл асуулт нь Бид яагаад Local1-ийн хувьд түүний холбогдсон ISP-ийн серверийн оронд T1-GW-г анхдагч гарц гэж тохируулсан бэ? гэсэн асуулт юм. PPP интерфэйс нь өөрийн талын холболтондоо ISP-ийн локал сүлжээн дэх хаягийг ашиглаж байгаа болохоор ISP-ийн локал сүлжээн дэх бусад дурын машинуудад зориулсан чиглүүлэлт автоматаар үүсгэгдэх болно гэдгийг санаарай. Ийм учраас та T1-GW машин уруу хэрхэн хүрэхээ аль хэдийн мэдэж байгаа болохоор ISP-ийн сервер уруу урсгал илгээх дундын алхам шаардлагагүй юм. Өөрийн локал сүлжээний хувьд X.X.X.1 хаягийг гарц хаяг болгож ашиглах нь түгээмэл байдаг. Тэгэхээр (адил жишээг ашиглаад) хэрэв таны локал C ангиллын хаягийн талбар 10.20.30 байсан бөгөөд таны ISP 10.9.9-г ашиглаж байгаа бол анхдагч чиглүүлэлтүүд нь ийм байна: Хост Анхдагч Чиглүүлэлт Local2 (10.20.30.2) Local1 (10.20.30.1) Local1 (10.20.30.1, 10.9.9.30) T1-GW (10.9.9.1) Та /etc/rc.conf файлын тусламжтай анхдагч чиглүүлэлтийг хялбараар тодорхойлж болно. Бидний жишээн дээр Local2 машин дээр бид дараах мөрийг /etc/rc.conf файлд нэмсэн: defaultrouter="10.20.30.1" Үүнийг шууд тушаалын мөрөөс &man.route.8; тушаалаар хийж бас болно: &prompt.root; route add default 10.20.30.1 Сүлжээний чиглүүлэлтийн хүснэгтүүдийг гараар удирдах талаар дэлгэрэнгүй мэдээллийг &man.route.8; гарын авлагын хуудаснаас лавлана уу. Хос гэртэй хостууд хос гэртэй хостууд Өөр бас нэг тохиргооны төрлийг бид хэлэлцэх ёстой бөгөөд энэ нь хоёр өөр сүлжээн дээр байгаа хостын тухай юм. Техникийн хувьд гарц болж байгаа дурын машин (дээрх жишээн дээр PPP холболтыг ашиглах нь) хос гэртэй хост гэж тооцогддог. Гэхдээ үнэндээ энэ ухагдахуун нь хоёр дотоод сүлжээнд байгаа машиныг хэлэхэд зөвхөн ашиглагддаг. Нэг тохиолдолд машин нь хоёр Ethernet карттай бөгөөд карт бүр тусдаа дэд сүлжээний хаягтай байна. Өөрөөр, машин нь зөвхөн нэг Ethernet карттай бөгөөд &man.ifconfig.8; alias хийлт буюу өөр нэрийг ашигладаг байж болно. Эхнийх нь физикийн хувьд тусдаа хоёр Ethernet сүлжээ ашиглагдаж байгаа үед хэрэглэгдэх бөгөөд сүүлийнх нь ганц физик сүлжээний сегмент байгаа боловч логикийн хувьд хоёр тусдаа дэд сүлжээнүүд байгаа үед хэрэглэгддэг. Аль ч тохиолдолд энэ машин нь нөгөө дэд сүлжээ уруу хүрэх тодорхойлогдсон гарц (гаднаас ирэх чиглүүлэлт) гэдгийг дэд сүлжээ бүр мэддэг байхаар чиглүүлэлтийн хүснэгтүүд тохируулагддаг. Хоёр дэд сүлжээний хооронд чиглүүлэгч маягаар ажиллах машинтай энэ тохиргоо нь бид аль нэг тал уруу эсвэл хоёр талын хоёулангийн хувьд пакет шүүгч буюу галт хана дээр тулгуурласан аюулгүй байдлын шийдлийг хийх шаардлагатай үед ихэвчлэн хэрэглэгддэг. Хоёр интерфэйсийн хооронд пакетуудыг дамжуулдаг байхаар энэ машиныг байлгахыг хэрэв та хүсвэл энэ боломжийг идэвхжүүлэхийг FreeBSD-д хэлэх хэрэгтэй. Үүнийг хэрхэн хийх талаар дэлгэрэнгүйг дараагийн хэсгээс үзнэ үү. Чиглүүлэгч бүтээх нь чиглүүлэгч Сүлжээний чиглүүлэгч нь ердөө л нэг интерфэйсээс нөгөө интерфэйс уруу пакетуудыг дамжуулдаг систем юм. Интернэтийн стандартууд болон сайн инженерчлэлийн туршлага нь үүнийг FreeBSD дээр анхдагчаар идэвхжүүлсэн байхаас FreeBSD төслийг сэргийлдэг. &man.rc.conf.5; дахь дараах хувьсагчийг YES болгон өөрчилснөөр та энэ боломжийг идэвхжүүлж болно: gateway_enable=YES # Set to YES if this host will be a gateway Энэ тохируулга нь &man.sysctl.8;-ийн хувьсагч net.inet.ip.forwarding1 болгоно. Хэрэв та чиглүүлэлтийг түр зуур зогсоох хэрэгтэй бол үүнийг түр зуур 0 болгож тохируулж болно. Урсгалыг хааш нь илгээхээ мэдэхийн тулд таны шинэ чиглүүлэгчид чиглүүлэлтүүд хэрэгтэй болно. Хэрэв таны сүлжээ хангалттай хялбар байх юм бол статик чиглүүлэлтүүд ашиглаж болно. FreeBSD нь стандарт BSD чиглүүлэлтийн дэмон &man.routed.8; програмтай бас ирдэг. Энэ нь RIP (1 ба 2-р хувилбар) болон IRDP протоколуудыг дэмждэг. BGP v4, OSPF v2 болон бусад төвөгтэй чиглүүлэлтийн протоколуудын дэмжлэгийг net/zebra багц хангадаг. &gated; зэрэг арилжааны бүтээгдэхүүнүүд бас илүү төвөгтэй сүлжээний чиглүүлэлтийн шийдлүүдэд зориулагдсан байдаг. BGP RIP OSPF Аль Хоанг Хувь нэмэр болгон оруулсан Статик чиглүүлэлтүүдийг тохируулах нь Гар тохиргоо Бид дараах сүлжээтэй байна гэж төсөөлье: INTERNET | (10.0.0.1/24) Default Router to Internet | |Interface xl0 |10.0.0.10/24 +------+ | | RouterA | | (FreeBSD gateway) +------+ | Interface xl1 | 192.168.1.1/24 | +--------------------------------+ Internal Net 1 | 192.168.1.2/24 | +------+ | | RouterB | | +------+ | 192.168.2.1/24 | Internal Net 2 Энэ тохиолдолд RouterA нь Интернэт уруу гарах чиглүүлэгч маягаар ажиллаж байгаа бидний &os; машин байна. Энэ нь анхдагч чиглүүлэлтээ 10.0.0.1 гэж тохируулсан бөгөөд ингэснээр гаднах ертөнц уруу холбогдох боломжийг олгоно. Бид RouterB нь зөв тохируулагдсан бөгөөд хаа явах хэрэгцээтэй газраа хэрхэн хүрэхээ мэддэг гэж үзэх болно. (Энэ нь зураг дээр хялбар юм. Ердөө л RouterB дээр 192.168.1.1-г гарц болгон анхдагч чиглүүлэлт нэмнэ.) Хэрэв бид RouterA-ийн чиглүүлэлтийн хүснэгтийг харвал доор дурдсантай төстэйг харах болно: &prompt.user; netstat -nr Routing tables Internet: Destination Gateway Flags Refs Use Netif Expire default 10.0.0.1 UGS 0 49378 xl0 127.0.0.1 127.0.0.1 UH 0 6 lo0 10.0.0/24 link#1 UC 0 0 xl0 192.168.1/24 link#2 UC 0 0 xl1 Энэ үеийн чиглүүлэлтийн хүснэгттэй байхад RouterA нь бидний Internal Net 2 буюу дотоод сүлжээ 2 уруу хүрч чадахгүй байх болно. Энэ нь 192.168.2.0/24-ийн хувьд чиглүүлэлтгүй байна. Үүнийг арилгах нэг арга нь гараар чиглүүлэлт нэмэх явдал юм. Дараах тушаал нь RouterA-ийн чиглүүлэлтийн хүснэгтэд 192.168.1.2-г дараагийн зөрлөг (hop) болгон ашиглан Internal Net 2 сүлжээг нэмэх болно: &prompt.root; route add -net 192.168.2.0/24 192.168.1.2 Одоо RouterA нь 192.168.2.0/24 сүлжээн дэх дурын хост уруу хүрч чадна. Байнгын тохиргоо Дээрх жишээ нь ажиллаж байгаа систем дээр статик чиглүүлэлтийг тохируулахад төгс төгөлдөр юм. Гэхдээ нэг асуудал нь таны &os; машин дахин ачаалахад чиглүүлэлтийн мэдээлэл үлдэхгүй байх явдал юм. Статик чиглүүлэлтийг байнга байлгахын тулд түүнийг /etc/rc.conf файлд нэмнэ: # Add Internal Net 2 as a static route static_routes="internalnet2" route_internalnet2="-net 192.168.2.0/24 192.168.1.2" static_routes тохиргооны хувьсагч нь зайгаар тусгаарлагдсан үгнүүдийн жагсаалт юм. Үг бүр чиглүүлэлтийн нэрийг заана. Бидний жишээн дээр static_routes мөрөнд бид зөвхөн нэг үгтэй байна. Энэ нь internalnet2 юм. Бид дараа нь &man.route.8; тушаалд өгөх бүх тохиргооны нэмэлт өгөгдлүүдийг route_internalnet2 гэгдсэн тохиргооны хувьсагчийн хамтаар нэмнэ. Бидний жишээний хувьд бид ийм тушаал ашиглаж болно: &prompt.root; route add -net 192.168.2.0/24 192.168.1.2 тэгэхээр бидэнд "-net 192.168.2.0/24 192.168.1.2" хэрэгтэй. Дээр дурдсанаар бид static_routes мөрөнд нэгээс илүү үгс оруулж болно. Энэ нь бидэнд олон статик чиглүүлэлтүүд үүсгэх боломжийг олгоно. Дараах мөрүүд нь 192.168.0.0/24 болон 192.168.1.0/24 сүлжээний хувьд статик чиглүүлэлтүүдийг санаандаа төсөөлсөн чиглүүлэгч дээрээ нэмж байгаа жишээг үзүүлж байна: static_routes="net1 net2" route_net1="-net 192.168.0.0/24 192.168.0.1" route_net2="-net 192.168.1.0/24 192.168.1.1" Чиглүүлэлтийн тархалт чиглүүлэлтийн тархалт Бид гаднах ертөнц уруу чиглэсэн өөрсдийн чиглүүлэлтүүдийг хэрхэн тодорхойлох талаар ярилцсан боловч гаднах ертөнц хэрхэн биднийг олох талаар хэлэлцээгүй билээ. Чиглүүлэлтийн хүснэгтүүдийг тухайн нэг хаягийн талбарын (бидний жишээн дээр C ангиллын дэд сүлжээ) бүх урсгал тэр сүлжээний тухайн нэг хост уруу илгээгдэж тэр нь пакетуудыг дотогшоо дамжуулдгаар тохируулж болно гэдгийг бид мэдэж байгаа билээ. Та өөрийн сайтдаа заагдсан хаягийн талбарыг авах үед таны үйлчилгээ үзүүлэгч өөрсдийн чиглүүлэлтийн хүснэгтүүдийг таны дэд сүлжээнд зориулагдсан бүх урсгал таны PPP холбоосоор таны сайт уруу илгээгддэгээр тохируулах болно. Гэхдээ улс даяар байх бусад сайтууд таны ISP уруу илгээхээ яаж мэдэх вэ? Бүх заагдсан хаягийн талбаруудыг хянаж Интернэтийн үндсэн сүлжээ уруу холбогдох холболтын цэгийг тодорхойлдог систем (тараагдсан DNS-ийн мэдээлэлтэй бараг адил) байдаг. Backbone буюу гол нуруу (үндсэн сүлжээ) нь улс даяар болон дэлхий даяар Интернэтийн урсгалыг зөөвөрлөж байдаг гол шугамнууд юм. Гол нуруу машин бүр мастер хүснэгтүүдийн хуулбартай байдаг бөгөөд эдгээр хүснэгтүүд нь тухайн нэг сүлжээнд зориулсан урсгалыг онцгой гол нуруу зөөвөрлөгч уруу чиглүүлж тэндээсээ доош бусад үйлчилгээ үзүүлэгчдээр дамжин таны сүлжээнд хүрдэг. Үндсэн (гол нуруу) сайтууд уруу зарлаж тэдгээр нь таны сайтын хувьд холболтын цэг (буюу орох зам) гэж тодорхойлох нь таны үйлчилгээ үзүүлэгчийн үүрэг юм. Үүнийг чиглүүлэлтийн тархалт гэж нэрлэдэг. Алдааг олж засварлах traceroute Заримдаа чиглүүлэлтийн тархалт асуудалтай бөгөөд зарим нэгэн сайтууд өөр уруу чинь холбогдож чадахгүй байж болно. Чиглүүлэлт хаана ажиллахгүй болж байгааг олоход тус болох магадгүй хамгийн ашигтай тушаал нь &man.traceroute.8; тушаал юм. Хэрэв та алсын машин уруу холбогдож чадахгүй юм шиг байвал (өөрөөр хэлбэл &man.ping.8; амжилтгүй болвол) энэ нь бас адил ашигтай байдаг. &man.traceroute.8; тушаалыг таны холбогдохыг оролдож байгаа алсын хостын нэртэй ажиллуулдаг. Энэ нь гарц хостуудыг оролдлого хийж байгаа замын хамтаар харуулдаг бөгөөд эцсийн хост уруу хүрэх юм уу эсвэл холболтын асуудлаас болоод эцсийн хост уруугаа хүрэлгүйгээр ажиллаж дуусдаг. Дэлгэрэнгүй мэдээллийг &man.traceroute.8;-ийн гарын авлагын хуудаснаас үзнэ үү. Multicast чиглүүлэлт хийх multicast чиглүүлэлт хийх цөмийн тохируулгууд MROUTING FreeBSD нь multicast програмууд болон multicast чиглүүлэлтийг угаасаа дэмждэг. Multicast програмууд нь FreeBSD-ийн ямар нэг тусгай тохиргоо шаарддаггүй; програмууд нь шууд л ажилладаг. Multicast чиглүүлэлт нь дэмжлэгийг цөмд эмхэтгэхийг шаарддаг: options MROUTING Мөн multicast чиглүүлэлтийн дэмон &man.mrouted.8; нь туннелиуд болон DVMRP-г үүсгэхээр /etc/mrouted.conf файлын тусламжтай тохируулагдсан байх ёстой. Multicast тохиргооны талаар дэлгэрэнгүй мэдээллийг &man.mrouted.8;-ийн гарын авлагын хуудаснаас олж болно. Loader Марк Фонвил Мюррей Стөүкли Утасгүй сүлжээ утасгүй сүлжээ 802.11 утасгүй сүлжээ Утасгүй сүлжээний үндсүүд Ихэнх утасгүй сүлжээнүүд нь IEEE 802.11 стандартууд дээр үндэслэсэн байдаг. Үндсэн утасгүй сүлжээ нь 2.4GHz юм уу эсвэл 5GHz-ийн зурваст цацдаг радио долгионоор холбогддог олон станцуудаас тогтдог (энэ нь орон нутгаас хамаарч өөр өөр байдаг бөгөөд 2.3GHz-с 4.9GHz-ийн хүрээнд холбоог идэвхжүүлэхээр өөрчлөгдөж байгаа). 802.11 сүлжээ нь хоёр аргаар зохион байгуулагддаг: дэд бүтцийн горимд нэг станц мастер маягаар ажиллаж бусад станцууд нь түүнтэй холбогддог; энэ сүлжээг BSS гэдэг бөгөөд мастер станц нь хандалтын цэг (access point)(AP) гэгддэг. BSS-т бүх холбоо AP-р дамждаг; нэг станц өөр нэг утасгүй станцтай холбоо тогтоохыг хүссэн байсан ч гэсэн мэдэгдлүүд нь AP-р дамжих ёстой байдаг. Хоёр дахь хэлбэрийн сүлжээнд мастер байдаггүй бөгөөд станцууд нь шууд холбогддог. Энэ сүлжээний хэлбэрийг IBSS гэдэг бөгөөд бас ad-hoc сүлжээ гэгддэг. 802.11 сүлжээнүүд нь 2.4GHz-ийн зурваст IEEE 802.11 болон 802.11b стандартуудаар тодорхойлогдсон протоколуудыг ашиглан эхлэн хийгдэж байсан. Эдгээр тодорхойлолтууд нь ажиллах давтамжууд, хүрээ хийх болон дамжуулах хурд (холболт төрөл бүрийн хурдаар хийгдэж болно) зэрэг MAC давхаргын үзүүлэлтүүдийг агуулдаг. Сүүлд 802.11a стандарт нь өөр дохионы арга замууд болон илүү өндөр дамжуулах хурдууд зэрэг 5GHz-ийн зурвасын ажиллагааг тодорхойлсон билээ. Мөн дараа нь 802.11b сүлжээнүүдтэй буцаж нийцтэй байхаар 802.11a дохионы хэрэглээ болон 2.4GHz-ийн зурваст дамжуулах арга замуудыг идэвхжүүлж 802.11g стандарт тодорхойлогдсон байна. Суурь болсон дамжуулах техникүүдээс гадна 802.11 сүлжээнүүд нь төрөл бүрийн аюулгүй байдлын арга замуудтай байдаг. Анхдагч 802.11 тодорхойлолтууд нь WEP гэгддэг аюулгүй байдлын энгийн протоколыг тодорхойлсон билээ. Энэ протокол нь тогтмол, урьдчилан хуваалцсан түлхүүр болон RC4 криптограф шифр ашиглан сүлжээнд дамжуулагдах өгөгдлийг кодчилдог. Станцууд нь өөр хоорондоо холбогдохын тулд бүгд нэг тогтмол түлхүүр дээр зөвшилцөх ёстой. Энэ схемийг амархан эвдэх боломжтойг харуулсан бөгөөд дамжин өнгөрөх хэрэглэгчдийг сүлжээнд нэгдэхийг зөвлөдөггүйгээс бусад тохиолдолд одоо ховор ашиглагдах болсон байна. Криптографийн шинэ шифрүүд болон станцуудыг хандалтын цэгт танин нэвтрүүлж өгөгдлийн холболтыг хийхийн тулд түлхүүрүүдийг солилцох нэмэлт протоколыг тодорхойлдог IEEE 802.11i тодорхойлолтоор одоогийн аюулгүй байдлын практикийг тодорхойлдог. Мөн криптограф түлхүүрүүд нь үе үе шинэчлэгддэг бөгөөд халдлагын оролдлогуудыг илрүүлэх (ба халдлагын оролдлогуудыг сөрөх) арга замууд бас байдаг. Утасгүй сүлжээнүүдэд түгээмэл ашиглагддаг өөр нэг аюулгүй байдлын протоколын тодорхойлолт нь WPA юм. Энэ нь үйлдвэрлэлийн бүлгийн тодорхойлсон 802.11i-ийн өмнөх протокол бөгөөд 802.11i-г батлахыг хүлээж байх хугацаанд түр зуурын арга хэмжээ болох юм. WPA нь 802.11i-д байгаа шаардлагуудын дэд олонлогийг тодорхойлж хуучин тоног төхөөрөмжүүд дээрх шийдэлд зориулагдан хийгджээ. Ялангуяа WPA нь анхдагч WEP шифрээс гарсан TKIP шифрийг зөвхөн шаарддаг. 802.11i нь TKIP-ийн хэрэглээг зөвшөөрдөг боловч өгөгдлийг шифрлэхэд зориулж илүү хүчирхэг шифр болох AES-CCM-ийн дэмжлэгийг бас шаарддаг. (AES шифр нь WPA-д шаардагддаггүй, учир нь үүнийг хуучин тоног төхөөрөмж дээр хийхэд тооцооллын хувьд өртөгтэй гэж үздэг.) Дээрх протоколын стандартуудаас гадна мэдэж байх өөр нэг чухал стандарт бол 802.11e юм. Энэ нь 802.11 сүлжээнд видео дамжуулах, IP дээгүүрх дуу (VoIP) зэрэг мультимедиа хэрэглээнүүдэд шаардлагатай протоколуудыг тодорхойлдог. 802.11i-тай адил 802.11e нь үйлдвэрлэлийн бүлгээс 802.11e-ийн дэд олонлог гэж тодорхойлсон, 802.11e-г батлахыг хүлээж байх хугацаанд мультимедиа хэрэглээнүүдийг идэвхжүүлэхэд ашиглаж болох WME (сүүлд WMM) гэгдсэн урьдчилсан тодорхойлолт байдаг. 802.11e болон WME/WMM-ийн талаар мэдэх ёстой хамгийн чухал зүйл нь утасгүй сүлжээний зэрэглэл тогтоогдсон урсгалын хэрэглээг Quality of Service (QoS) буюу үйлчилгээний чанарын протоколууд болон өргөтгөсөн зөөвөрлөгчийн хандалтын протоколуудын тусламжтайгаар идэвхжүүлдэг явдал юм. Эдгээр протоколуудын зөв шийдэл нь өгөгдлийн өндөр хурдтай тэсрэлт болон зэрэглэл тогтоогдсон урсгалыг идэвхжүүлдэг. 6.0 хувилбараас эхлээд &os; нь 802.11a, 802.11b, болон 802.11g-г ашиглан ажилладаг сүлжээнүүдийг дэмждэг. WPA болон 802.11i аюулгүй байдлын протоколууд нь адилхан (11a, 11b, болон 11g-тэй цуг) дэмжигдсэн байдаг бөгөөд WME/WMM протоколуудын шаарддаг QoS болон урсгалын зэрэглэлт нь хязгааргүй тооны утасгүй төхөөрөмжүүдэд дэмжигдсэн байдаг. Үндсэн тохируулга Цөмийн тохиргоо Утасгүй сүлжээг ашиглахын тулд танд утасгүй сүлжээний карт болон цөмийг тохирох утасгүй сүлжээний дэмжлэгтэйгээр тохируулах хэрэгтэй болно. Сүүлийнх нь олон модулиудад хуваагддаг. Тэгэхээр танд зөвхөн өөрийнхөө ашиглах програм хангамжийг тохируулах хэрэгтэй болох юм. Танд эхлээд хэрэг болох зүйл нь утасгүй сүлжээний төхөөрөмж юм. Хамгийн түгээмэл хэрэглэгддэг төхөөрөмжүүд нь Atheros-ийн хийдэг хэсгүүдийг ашигладаг төхөөрөмжүүд байдаг. Эдгээр төхөөрөмжүүд нь &man.ath.4; драйвераар дэмжигддэг бөгөөд /boot/loader.conf файлд дараах мөрийг нэмэхийг шаарддаг: if_ath_load="YES" Atheros драйвер нь гурван тусдаа хэсэгт хуваагддаг: эдгээр нь зөв драйвер (&man.ath.4;), бичил схемийн функцуудыг зохицуулдаг, тоног төхөөрөмжийн дэмжлэгийн давхарга (&man.ath.hal.4;), болон хүрээнүүдийг дамжуулахын тулд хэд хэдэн боломжит хурдуудаас (энд ath_rate_sample) сонгох алгоритм юм. Та энэ дэмжлэгийг модуль хэлбэрээр дуудах үед түүнтэй хамааралтай зүйлс автоматаар зохицуулагдах болно. Хэрэв танд Atheros төхөөрөмжийн оронд өөр төхөөрөмж байгаа бол та тэр төхөөрөмжид зориулсан модулийг сонгох юм, өөрөөр хэлбэл: if_wi_load="YES" гэж Intersil Prism хэсгүүд дээр суурилсан төхөөрөмжүүдийн хувьд хийж өгнө (&man.wi.4; driver). Энэ баримтын үлдсэн хэсэгт бид &man.ath.4; төхөөрөмжийг ашиглах бөгөөд жишээнүүд дээрх төхөөрөмжийн нэр таны тохиргооны дагуу өөрчлөгдөх ёстой. Байгаа утасгүй драйверуудын жагсаалтыг &man.wlan.4; гарын авлагын хуудасны эхнээс олж болно. Таны утасгүй төхөөрөмжид зориулагдсан &os;-ийн драйвер байхгүй бол магадгүй &windows; драйверийг NDIS драйверийн гүйцэтгэл хялбаршуулагчийн тусламжтай шууд ашиглаж болох юм. Төхөөрөмжийн драйверийг тохируулсныхаа дараа та драйверийн шаарддаг 802.11 сүлжээний дэмжлэгийг бас оруулах хэрэгтэй болно. &man.ath.4; драйверийн хувьд энэ нь ядахдаа &man.wlan.4; модуль байх бөгөөд энэ модуль нь утасгүй төхөөрөмжийн драйвертай цуг автоматаар дуудагддаг. Үүнтэй цуг таны ашиглах аюулгүй байдлын протоколуудад зориулагдсан криптографын дэмжлэгийг хийдэг модулиуд хэрэгтэй болно. Эдгээр нь &man.wlan.4; модулиар автоматаар шаардлагын дагуу дуудагддаг байхаар зориулагдсан боловч одоохондоо эдгээрийг гараар тохируулах шаардлагатай. Дараах модулиуд байдаг: &man.wlan.wep.4;, &man.wlan.ccmp.4; болон &man.wlan.tkip.4;. &man.wlan.ccmp.4; болон &man.wlan.tkip.4; драйверууд нь WPA ба/эсвэл 802.11i аюулгүй байдлын протоколуудыг ашиглахаар болсон тохиолдолд танд зөвхөн хэрэгтэй байдаг. Хэрэв таны сүлжээ нээлттэй (өөрөөр хэлбэл шифрлэлтгүй) ажиллах бол танд &man.wlan.wep.4; дэмжлэг ерөөсөө хэрэггүй. Эдгээр модулиудыг ачаалах үед дуудахын тулд дараах мөрүүдийг /boot/loader.conf файлд нэмнэ: wlan_wep_load="YES" wlan_ccmp_load="YES" wlan_tkip_load="YES" Системийн эхлүүлэх тохиргооны файлд (өөрөөр хэлбэл /boot/loader.conf) ийм мэдээлэлтэйгээр та өөрийн &os; хайрцгийг дахин ачаалах хэрэгтэй. Хэрэв та өөрийн машиныг дахин ачаалахыг хүсэхгүй байгаа бол та модулиудыг &man.kldload.8;-ийн тусламжтайгаар гараар дуудаж болно. Хэрэв та модулиудыг ашиглахыг хүсэхгүй байгаа бол дараах мөрүүдийг өөрийн цөмийн тохиргооны файлд нэмж эдгээр драйверуудыг цөмд эмхэтгэж болно: device ath # Atheros IEEE 802.11 wireless network driver device ath_hal # Atheros Hardware Access Layer device ath_rate_sample # John Bicket's SampleRate control algorithm. device wlan # 802.11 support (Required) device wlan_wep # WEP crypto support for 802.11 devices device wlan_ccmp # AES-CCMP crypto support for 802.11 devices device wlan_tkip # TKIP and Michael crypto support for 802.11 devices Цөмийн тохиргооны файлдаа ийм мэдээлэлтэйгээр цөмөө дахин эмхэтгээд өөрийн &os; машиныг дахин ачаалах хэрэгтэй. Систем ассаны дараа ачаалах үеийн мэдэгдлүүдэд үүнтэй адил утасгүй төхөөрөмжийн талаар зарим мэдээллийг олж болно: ath0: <Atheros 5212> mem 0xff9f0000-0xff9fffff irq 17 at device 2.0 on pci2 ath0: Ethernet address: 00:11:95:d5:43:62 ath0: mac 7.9 phy 4.5 radio 5.6 Дэд бүтцийн горим Дэд бүтцийн горим буюу BSS горим нь ихэвчлэн ашиглагддаг горим юм. Энэ горимд утасгүй хандалтын цэгүүд нь утастай сүлжээнд холбогдсон байдаг. Утасгүй сүлжээ бүр өөрийн нэртэй байдаг бөгөөд энэ нэр нь сүлжээний SSID гэгддэг. Утасгүй клиентүүд нь утасгүй хандалтын цэгүүдэд холбогддог. &os; клиентүүд Хандалтын цэгүүдийг хэрхэн олох вэ Сүлжээнүүдийг хайхын тулд ifconfig тушаалыг ашиглана. Энэ хүсэлт нь хэсэг хором болж болох бөгөөд боломжтой утасгүй давтамж бүр уруу шилжиж, байгаа хандалтын цэгүүдийг шалгахыг системээс шаарддаг. Зөвхөн супер хэрэглэгч ийм хайлт эхлүүлж чадна: &prompt.root; ifconfig ath0 up scan SSID BSSID CHAN RATE S:N INT CAPS dlinkap 00:13:46:49:41:76 6 54M 29:0 100 EPS WPA WME freebsdap 00:11:95:c3:0d:ac 1 54M 22:0 100 EPS WPA Та хайлт хийхээсээ өмнө интерфэйсээ болгож тэмдэглэх ёстой. Дараа дараагийн хайлтын хүсэлтүүд интерфэйсийг up болгож тэмдэглэхийг шаарддаггүй. Хайлтын хүсэлтийн гаралт олсон BSS/IBSS сүлжээ бүрийг харуулдаг. Сүлжээний нэр SSID-с гадна хандалтын цэгийн MAC хаяг болох BSSID-г бид харах болно. CAPS талбар нь сүлжээ бүрийн төрөл болон тэнд ажиллаж байгаа станцуудын боломжуудыг заана: E Extended Service Set (ESS) буюу өргөтгөсөн үйлчилгээний олонлог. Станц нь дэд бүтцийн сүлжээний хэсэг гэдгийг харуулна (IBSS/ad-hoc сүлжээтэй харьцуулах юм бол ). I IBSS/ad-hoc сүлжээ. Станц нь ad-hoc сүлжээний хэсэг гэдгийг харуулна (ESS сүлжээтэй харьцуулах юм бол). P Хувийн нууц. BSS-ийн дотор солилцож байгаа өгөгдлийн бүх хүрээнүүдэд өгөгдлийн нууц байдал шаардлагатай байдаг. Энэ BSS нь бусадтай солилцох өгөгдлийн хүрээнүүдийг шифрлэх/буцаах WEP, TKIP эсвэл AES-CCMP зэрэг криптограф ашиглахыг станцаас шаарддаг гэсэн үг юм. S Богино оршил (preamble). Сүлжээ богино оршлуудыг (802.11b өндөр хурд/DSSS PHY-д тодорхойлогдсоноор богино оршил нь урт оршилд ашиглагддаг 128 бит талбартай харьцуулах юм бол 56 бит sync талбарыг хэрэглэдэг) ашиглаж байгааг харуулдаг. s Богино слот (ангархай) хугацаа. 802.11g сүлжээ хуучин (802.11b) станцууд байхгүй байгаа учраас богино слот хугацааг хэрэглэж байгааг харуулна. Мэдэгдэж байгаа сүлжээнүүдийн одоогийн жагсаалтыг бас доорх тушаалаар харуулж болно: &prompt.root; ifconfig ath0 list scan Энэ мэдээллийг автоматаар хувиргагчаар (adapter) эсвэл гараар хүсэлтийн тусламжтай шинэчилж болно. Хуучин өгөгдөл кэшээс автоматаар арилгагдах болохоор хэсэг хугацаа өнгөрсний дараа нэмэлт хайлтууд хийхгүй л бол энэ жагсаалт багасаж болох юм. Үндсэн тохиргоонууд Энэ хэсэгт &os; дээр утасгүй сүлжээний хувиргагчийг шифрлэлтгүйгээр хэрхэн ажиллуулахыг харуулсан энгийн жишээг үзүүлнэ. Эдгээр ойлголтуудыг мэддэг болсныхоо дараа өөрийнхөө утасгүй сүлжээг тохируулахдаа WPA-г ашиглахыг бид тууштай зөвлөж байна. Утасгүй сүлжээг тохируулах гурван үндсэн алхам байдаг: эдгээрт хандалтыг цэгийг сонгох, өөрийн станцыг таниулж нэвтрүүлэх, болон IP хаягийг тохируулах багтана. Дараах хэсэг алхам бүрийг хэлэлцэнэ. Хандалтын цэгийг сонгох нь Ихэнх тохиолдолд систем өөртөө бүтээгдсэн гүнзгийрүүлэн шалгах аргаа (heuristic) ашиглан хандалтын цэгийг сонгохыг нь зөвшөөрөх хангалттай байдаг. Таныг интерфэйсийг up гэж тэмдэглэх үед энэ нь анхдагч байх бөгөөд хэрэв үгүй бол интерфэйсийг /etc/rc.conf файлд жагсаан тохируулна, өөрөөр хэлбэл: ifconfig_ath0="DHCP" Хэрэв олон хандалтын цэгүүд байгаа бөгөөд та тухайн нэгийг сонгохыг хүсвэл түүнийг SSID-аар нь сонгож болно: ifconfig_ath0="ssid your_ssid_here DHCP" Адил SSID-тай олон хандалтын цэгүүд байгаа орчинд (роуминг-ийг (тэнүүчлэх) хялбар болгохын тулд ихэвчлэн хийдэг) аль нэг тухайн төхөөрөмж уруу холбогдох шаардлагатай болж болох юм. Энэ тохиолдолд та хандалтын цэгийн BSSID-ийг зааж өгч бас болох юм (та бас SSID-ийг үлдээж болно): ifconfig_ath0="ssid your_ssid_here bssid xx:xx:xx:xx:xx:xx DHCP" Системийн хайлт хийх давтамжуудын олонлогийг хязгаарлах зэрэг хандалтын цэгийн сонголтыг шаардах өөр аргууд байдаг.Та олон зурвасын утасгүй сүлжээний карттай байх тохиолдолд энэ нь ашигтай байдаг. Ийм тохиолдолд бүх боломжит сувгуудыг хайх нь цаг хугацаа шаардсан ажил байдаг. Ажиллагааг тухайн нэг зурвас дээр хязгаарлахын тулд параметрийг та ашиглаж болно, өөрөөр хэлбэл: ifconfig_ath0="mode 11g ssid your_ssid_here DHCP" нь картыг 2.4GHz давтамжуудын хувьд тодорхойлогдсон 802.11g горимд картыг ажиллуулах бөгөөд бусад 5GHz-ийн сувгуудыг авч үзэхгүй байх болно. Үүнийг хийх өөр нэг арга нь ажиллагааг тухайн нэг давтамжид түгжих параметр болон хайлт хийхдээ сувгуудын жагсаалтыг заах параметрийг ашиглах явдал юм. Эдгээр параметрүүдийн талаар дэлгэрэнгүй мэдээллийг &man.ifconfig.8; гарын авлагын хуудаснаас лавлана уу. Нэвтрэлт танилт Хандалтын цэгийг сонгосны дараа таны станц өгөгдөл дамжуулахаа өмнө өөрийгөө таниулан нэвтрэх хэрэгтэй. Нэвтрэлт танилт хэд хэдэн аргаар хийгдэж болно. Ашиглагддаг хамгийн түгээмэл схем бол нээлттэй нэвтрэлт танилт гэгддэг бөгөөд энэ нь дурын станц сүлжээнд нэгдэж холбогдохыг зөвшөөрдөг. Энэ нь эхний удаа утасгүй сүлжээг тохируулж байхдаа тестийн зорилгоор таны ашиглах ёстой нэвтрэлт танилт юм. Бусад схемүүд нь өгөгдлийн урсгал эхлэхээс өмнө криптограф мэдээлэл солилцоо хийгдэхийг шаарддаг; урьдчилсан хуваалцсан түлхүүрүүд эсвэл нууц үгс ашиглах эсвэл RADIUS зэрэг арын үйлчилгээнүүдийг ашигладаг илүү төвөгтэй схемүүд зэргийг дурдаж болно. Ихэнх хэрэглэгчид нээлттэй нэвтрэлт танилт ашиглах бөгөөд энэ нь анхдагч тохиргоо байдаг. Дараагийн хамгийн түгээмэл тохируулга бол WPA-PSK бөгөөд энэ нь бас WPA Personal гэгддэг. Энэ тохируулга доор тайлбарлагдсан байгаа. Хэрэв танд хандалтын цэгт зориулсан &apple; &airport; Extreme дээр суурилсан үндсэн станц байгаа бол WEP түлхүүртэй хамт хуваалцсан түлхүүрийг тохируулах хэрэгтэй болж болох юм. Үүнийг /etc/rc.conf файл эсвэл &man.wpa.supplicant.8; програмыг ашиглан хийж болно. Хэрэв та ганц &airport; үндсэн станцтай бол хандалтыг иймэрхүүгээр хийж өгч болно: ifconfig_ath0="authmode shared wepmode on weptxkey 1 wepkey 01234567 DHCP" Ерөнхийдээ хуваалцсан түлхүүр бүхий нэвтрэлт танилтыг ашиглахаас зайлсхийх хэрэгтэй, яагаад гэвэл WEP түлхүүрийн материалыг их хүчилсэн хэлбэрээр ашигладаг нь түлхүүрийг эвдэх боломжийг илүү амархан болгодог. Хэрэв WEP ашиглагдах ёстой бол (өөрөөр хэлбэл хуучин төхөөрөмжтэй нийцтэй байх үүднээс) WEP-ийг open буюу нээлттэй нэвтрэлт танилттай цуг ашиглах нь зүйтэй юм. WEP-ийн талаар дэлгэрэнгүй мэдээллийг -с олж болно. DHCP-ээр IP хаяг авах Хандалтын цэгийг сонгож нэвтрэлт танилтын параметрүүдийг тохируулсны дараа холбогдохын тулд та IP хаяг авах хэрэгтэй болно. Та өөрийн утасгүй IP хаягийг ихэвчлэн DHCP-ээр авах болно. Ингэхийн тулд ердөө л /etc/rc.conf файлыг засварлаж дээрх жишээн дээр үзүүлсэн шиг өөрийн төхөөрөмжийн тохиргоонд зориулж DHCP гэж нэмж өгнө: ifconfig_ath0="DHCP" Энэ хүрэхэд та утасгүй интерфэйсээ ажиллуулахад бэлэн байх болно: &prompt.root; /etc/rc.d/netif start Интерфэйс ажиллаж эхэлсний дараа ath0 интерфэйсийн төлөвийг үзэхийн тулд ifconfig тушаалыг ашиглана: &prompt.root; ifconfig ath0 ath0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500 inet6 fe80::211:95ff:fed5:4362%ath0 prefixlen 64 scopeid 0x1 inet 192.168.1.100 netmask 0xffffff00 broadcast 192.168.1.255 ether 00:11:95:d5:43:62 media: IEEE 802.11 Wireless Ethernet autoselect (OFDM/54Mbps) status: associated ssid dlinkap channel 6 bssid 00:13:46:49:41:76 authmode OPEN privacy OFF txpowmax 36 protmode CTS bintval 100 status: associated мөр нь таныг утасгүй сүлжээнд (бидний тохиолдолд dlinkap сүлжээ уруу) холбогдсон гэдгийг харуулж байна. bssid 00:13:46:49:41:76 хэсэг нь таны хандалтын цэгийн MAC хаяг юм; authmode мөр нь холболт шифрлэгдээгүй гэдгийг танд харуулж байна (OPEN). Статик IP хаяг DHCP серверээс IP хаяг авч чадахгүй тохиолдолд тогтмол IP хаяг та тавьж болно. Дээр үзүүлсэн DHCP гэсэн түлхүүр үгийг хаягийн мэдээллээр солих хэрэгтэй. Хандалтын цэгийг сонгохдоо хэрэглэсэн бусад параметрүүдийг үлдээхээ мартуузай: ifconfig_ath0="inet 192.168.1.100 netmask 255.255.255.0 ssid your_ssid_here" WPA WPA (Wi-Fi Protected Access буюу Wi-Fi Хамгаалагдсан Хандалт) нь WEP-ийн сул тал болон зөв нэвтрэлт танилтын дутмаг байдлыг арилгах зорилгоор 802.11 сүлжээнүүдэд цуг ашиглагддаг аюулгүй байдлын протокол юм. WPA нь 802.1X нэвтрэлт танилтын протоколыг хөшүүрэгддэг бөгөөд өгөгдлийн бүрэн бүтэн байдалд зориулж WEP-ийн оронд хэд хэдэн шифрүүдийн нэгийг ашигладаг. WPA-ийн шаарддаг цорын ганц шифр бол TKIP (Temporary Key Integrity Protocol) бөгөөд энэ нь бүрэн бүтэн байдал шалгалт, хуурамч үйлдлийг илрүүлэлт болон илрүүлсэн халдлагуудад хариулахад зориулсан арга хэмжээнүүдийг WEP-ийн ашигладаг үндсэн RC4 шифрт нэмэн өргөтгөсөн шифр юм. TKIP нь хуучин тоног төхөөрөмж дээр зөвхөн програм хангамжийн өөрчлөлттэйгөөр ажиллахаар хийгдсэн; энэ нь аюулгүй байдлыг сайжруулдаг боловч халдлагаас бүрэн гүйцэд хамгаалж чаддаггүй. WPA нь TKIP-г орлуулж AES-CCMP шифрийг бас заадаг бөгөөд боломжтой тохиолдолд үүнийг хэрэглэхийг урьтал болгодог; энэ тодорхойлолтод WPA2 (эсвэл RSN) гэсэн ухагдахуун нийтлэг ашиглагддаг. WPA нь нэвтрэлт танилт болон шифрлэлтийн протоколуудыг тодорхойлдог. Нэвтрэлт танилт нь хоёр техникийн аль нэгээр ихэвчлэн хийгддэг: 802.1X болон RADIUS зэрэг арын нэвтрэлт танилтын үйлчилгээгээр эсвэл урьдчилан хуваалцсан нууц үг ашиглан станц болон хандалтын хооронд хамгийн багаар мэдээлэл солилцох (handshake) замаар хийгддэг. Эхнийх нь ихэвчлэн WPA Enterprise, сүүлийнх нь WPA Personal гэгддэг. Ихэнх хүмүүс утасгүй сүлжээнд зориулж арын RADIUS сервер тохируулдаггүй учир WPA-PSK нь WPA-д зориулсан хамгийн түгээмэл тохиолддог тохиргоо юм. Утасгүй холболтын хяналт болон нэвтрэлт танилт (түлхүүрийн тохиролцоо эсвэл сервертэй хийх нэвтрэлт танилт) нь &man.wpa.supplicant.8; хэрэгслээр хийгддэг. Энэ програм нь ажиллахын тулд /etc/wpa_supplicant.conf тохиргооны файл шаарддаг. Энэ файлын талаар дэлгэрэнгүй мэдээллийг &man.wpa.supplicant.conf.5; гарын авлагын хуудаснаас олж болно. WPA-PSK WPA-PSK нь бас WPA Personal гэгддэг бөгөөд өгөгдсөн нууц үгээс үүсгэгдсэн pre-shared key буюу (PSK) урьдчилан хуваалцсан түлхүүр дээр суурилдаг бөгөөд утасгүй сүлжээнд мастер түлхүүр болон ашиглагддаг. Энэ нь утасгүй хэрэглэгч бүр адил түлхүүрийг хуваалцана гэсэн үг юм. WPA-PSK нь нэвтрэлт танилтын сервер хэрэглэх боломжгүй эсвэл шаардлагагүй жижиг сүлжээнүүдэд зориулагдсан юм. Хангалттай урт, төрөл бүрийн тэмдэгтүүдээс бүтсэн, таах буюу/эсвэл халдах боломжгүй хэцүү нууц үгсийг үргэлж ашиглах хэрэгтэй. Эхний алхам нь /etc/wpa_supplicant.conf файлыг өөрийн сүлжээний SSID болон урьдчилан хуваалцсан түлхүүрээр тохируулах явдал юм: network={ ssid="freebsdap" psk="freebsdmall" } Дараа нь бид /etc/rc.conf файлд утасгүй төхөөрөмжийн тохиргоо WPA-аар хийгдэж IP хаяг DHCP-ээс авагдана гэдгийг зааж өгнө: ifconfig_ath0="WPA DHCP" Дараа нь бид интерфэйсийг босгож ажиллуулна: &prompt.root; /etc/rc.d/netif start Starting wpa_supplicant. DHCPDISCOVER on ath0 to 255.255.255.255 port 67 interval 5 DHCPDISCOVER on ath0 to 255.255.255.255 port 67 interval 6 DHCPOFFER from 192.168.0.1 DHCPREQUEST on ath0 to 255.255.255.255 port 67 DHCPACK from 192.168.0.1 bound to 192.168.0.254 -- renewal in 300 seconds. ath0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500 inet6 fe80::211:95ff:fed5:4362%ath0 prefixlen 64 scopeid 0x1 inet 192.168.0.254 netmask 0xffffff00 broadcast 192.168.0.255 ether 00:11:95:d5:43:62 media: IEEE 802.11 Wireless Ethernet autoselect (OFDM/36Mbps) status: associated ssid freebsdap channel 1 bssid 00:11:95:c3:0d:ac authmode WPA privacy ON deftxkey UNDEF TKIP 2:128-bit txpowmax 36 protmode CTS roaming MANUAL bintval 100 Эсвэл та үүнийг гараар дээрх /etc/wpa_supplicant.conf ашиглан хийж доор дурдсан тушаалыг ажиллуулж болно: &prompt.root; wpa_supplicant -i ath0 -c /etc/wpa_supplicant.conf Trying to associate with 00:11:95:c3:0d:ac (SSID='freebsdap' freq=2412 MHz) Associated with 00:11:95:c3:0d:ac WPA: Key negotiation completed with 00:11:95:c3:0d:ac [PTK=TKIP GTK=TKIP] Дараагийн үйлдэл нь DHCP серверээс IP хаяг авахын тулд dhclient тушаалыг ажиллуулах явдал юм: &prompt.root; dhclient ath0 DHCPREQUEST on ath0 to 255.255.255.255 port 67 DHCPACK from 192.168.0.1 bound to 192.168.0.254 -- renewal in 300 seconds. &prompt.root; ifconfig ath0 ath0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500 inet6 fe80::211:95ff:fed5:4362%ath0 prefixlen 64 scopeid 0x1 inet 192.168.0.254 netmask 0xffffff00 broadcast 192.168.0.255 ether 00:11:95:d5:43:62 media: IEEE 802.11 Wireless Ethernet autoselect (OFDM/48Mbps) status: associated ssid freebsdap channel 1 bssid 00:11:95:c3:0d:ac authmode WPA privacy ON deftxkey UNDEF TKIP 2:128-bit txpowmax 36 protmode CTS roaming MANUAL bintval 100 Хэрэв /etc/rc.conf файл нь ifconfig_ath0="DHCP" мөртэй тохируулагдсан бол dhclient тушаалыг гараар ажиллуулах шаардлагагүй, dhclient тушаал нь түлхүүрүүдийг wpa_supplicant гаргаж авсны дараа ажиллах болно. DHCP-ийн хэрэглээ боломжгүй тохиолдолд wpa_supplicant станцыг таниулж нэвтрүүлсний дараа та статик IP хаяг тохируулж болно: &prompt.root; ifconfig ath0 inet 192.168.0.100 netmask 255.255.255.0 &prompt.root; ifconfig ath0 ath0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500 inet6 fe80::211:95ff:fed5:4362%ath0 prefixlen 64 scopeid 0x1 inet 192.168.0.100 netmask 0xffffff00 broadcast 192.168.0.255 ether 00:11:95:d5:43:62 media: IEEE 802.11 Wireless Ethernet autoselect (OFDM/36Mbps) status: associated ssid freebsdap channel 1 bssid 00:11:95:c3:0d:ac authmode WPA privacy ON deftxkey UNDEF TKIP 2:128-bit txpowmax 36 protmode CTS roaming MANUAL bintval 100 DHCP сервер ашиглагдаагүй үед та анхдагч гарц болон нэрийн серверийг гараар бас тохируулах хэрэгтэй болно: &prompt.root; route add default your_default_router &prompt.root; echo "nameserver your_DNS_server" >> /etc/resolv.conf EAP-TLS-тэй WPA WPA-г ашиглах хоёр дахь арга нь 802.1X арын нэвтрэлт танилтын сервертэй цуг ашиглах явдал бөгөөд энэ тохиолдолд WPA-г урьдчилан хуваалцсан түлхүүр бүхий аюулгүй байдлын хувьд арай дутуу WPA-Personal-с ялгахын тулд WPA-Enterprise гэдэг. WPA-Enterprise дахь нэвтрэлт танилт нь EAP (Extensible Authentication Protocol буюу өргөтгөсөн нэвтрэлт танилтын протокол) дээр суурилдаг. EAP нь шифрлэлтийн аргагүй ирдэг бөгөөд харин шифрлэгдсэн туннелийн дотор EAP-ийг суулгахаар шийдсэн байдаг. EAP нэвтрэлт танилтын аргуудын олон төрлүүд бүтээгдсэн бөгөөд хамгийн түгээмэл аргууд нь EAP-TLS, EAP-TTLS болон EAP-PEAP юм. EAP-TLS (EAP with Transport Layer Security) нь Wi-Fi alliance-аас хамгийн түрүүнд батламжлагдсан EAP арга бөгөөд утасгүй ертөнц дэх маш сайн дэмжигдсэн нэвтрэлт танилтын протокол юм. EAP-TLS нь ажиллахын тулд гурван сертификат шаарддаг: эдгээр нь CA сертификат (бүх машин дээр суулгагдсан), таны нэвтрэлт танилтын серверт зориулсан сертификат, утасгүй клиент бүрд зориулсан клиентийн сертификат юм. Энэ EAP арга дээр нэвтрэлт танилтын сервер болон утасгүй клиент нь өөр өөрсдийн сертификатыг бие биендээ үзүүлж нэг нэгнийгээ танин нэвтрүүлдэг бөгөөд тэд эдгээр сертификатыг танай байгууллагын сертификатын удирдлага (CA) олгож баталгаажуулсан болохыг шалгадаг. Урьдын адил тохиргоог /etc/wpa_supplicant.conf файлаар хийнэ: network={ ssid="freebsdap" proto=RSN key_mgmt=WPA-EAP eap=TLS identity="loader" ca_cert="/etc/certs/cacert.pem" client_cert="/etc/certs/clientcert.pem" private_key="/etc/certs/clientkey.pem" private_key_passwd="freebsdmallclient" } Энэ талбар нь сүлжээний нэрийг заана (SSID). Энд бид RSN (IEEE 802.11i) протоколыг ашиглана, өөрөөр хэлбэл, WPA2. key_mgmt мөр нь бидний ашиглах түлхүүр удирдах протоколыг заана. Бидний тохиолдолд энэ нь EAP нэвтрэлт танилтыг ашиглаж байгаа WPA юм: WPA-EAP. Энэ талбарт бид өөрсдийн холболтдоо зориулж EAP аргыг заана. identity талбар нь EAP-ийг таниулах мөрийг агуулна. ca_cert талбар нь CA сертификат файлын замыг заана. Энэ файл нь серверийн сертификатыг шалгахад хэрэгтэй. client_cert шугам клиентийн сертификатын файлын замыг өгнө. Энэ сертификат нь сүлжээний утасгүй клиент бүрийн хувьд давтагдашгүй байна. private_key талбар нь клиентийн сертификатын хувийн түлхүүрийн файлын замын нэр юм. private_key_passwd талбар нь хувийн түлхүүрийн нэвтрэх үгийг агуулдаг. Тэгээд дараах мөрийг /etc/rc.conf файлд нэмнэ: ifconfig_ath0="WPA DHCP" Дараагийн алхам нь rc.d боломжийн тусламжтай интерфэйсийг босгож ажиллуулах явдал юм: &prompt.root; /etc/rc.d/netif start Starting wpa_supplicant. DHCPREQUEST on ath0 to 255.255.255.255 port 67 DHCPREQUEST on ath0 to 255.255.255.255 port 67 DHCPACK from 192.168.0.20 bound to 192.168.0.254 -- renewal in 300 seconds. ath0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500 inet6 fe80::211:95ff:fed5:4362%ath0 prefixlen 64 scopeid 0x1 inet 192.168.0.254 netmask 0xffffff00 broadcast 192.168.0.255 ether 00:11:95:d5:43:62 media: IEEE 802.11 Wireless Ethernet autoselect (DS/11Mbps) status: associated ssid freebsdap channel 1 bssid 00:11:95:c3:0d:ac authmode WPA2/802.11i privacy ON deftxkey UNDEF TKIP 2:128-bit txpowmax 36 protmode CTS roaming MANUAL bintval 100 Урьд нь үзүүлсний адил интерфэйсийг гараар wpa_supplicant болон ifconfig тушаалуудаар босгох боломжтой байдаг. EAP-TTLS-тэй WPA EAP-TLS-тэй байхад нэвтрэлт танилтын сервер болон клиентэд сертификат хэрэгтэй бол EAP-TTLS-тэй (EAP-Tunneled Transport Layer Security) байхад клиентийн сертификат нэмэлт сонголт байдаг. Энэ арга нь зорчигчид клиент талдаа сертификатгүй байсан ч гэсэн нууцлаг SSL туннель үүсгэж чаддаг зарим нэг аюулгүй вэб сайтуудын хийдэгтэй ойролцоо байдаг. EAP-TTLS нь нэвтрэлт танилтын өгөгдлийг аюулгүй тээвэрлэхэд зориулж шифрлэгдсэн TLS туннелийг ашиглах болно. Тохиргоог /etc/wpa_supplicant.conf файлаар хийнэ: network={ ssid="freebsdap" proto=RSN key_mgmt=WPA-EAP eap=TTLS identity="test" password="test" ca_cert="/etc/certs/cacert.pem" phase2="auth=MD5" } Энэ талбарт бид өөрийн холболтондоо зориулж EAP аргыг дурдана. identity талбар нь шифрлэгдсэн TLS туннель доторх EAP нэвтрэлт танилтад зориулсан таниулах мөрийг агуулна. password талбар нь EAP нэвтрэлт танилтад зориулсан нэвтрэх үгийг агуулна. ca_cert талбар нь CA сертификатын файлын замын нэрийг заана. Энэ файл нь серверийн сертификатыг шалгахад хэрэгтэй байдаг. Энэ талбарт бид шифрлэгдсэн TLS туннельд ашиглагдсан нэвтрэлт танилтын аргыг заана. Бидний тохиолдолд MD5-Challenge-тай цуг EAP ашиглагдаж байна. inner authentication дотоод нэвтрэлт танилт үе нь ихэвчлэн phase2 буюу хоёрдугаар үе гэгддэг. Дараах мөрийг та /etc/rc.conf файлд бас нэмэх хэрэгтэй: ifconfig_ath0="WPA DHCP" Дараагийн алхам бол интерфэйсийг босгож ажиллуулах явдал юм: &prompt.root; /etc/rc.d/netif start Starting wpa_supplicant. DHCPREQUEST on ath0 to 255.255.255.255 port 67 DHCPREQUEST on ath0 to 255.255.255.255 port 67 DHCPREQUEST on ath0 to 255.255.255.255 port 67 DHCPACK from 192.168.0.20 bound to 192.168.0.254 -- renewal in 300 seconds. ath0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500 inet6 fe80::211:95ff:fed5:4362%ath0 prefixlen 64 scopeid 0x1 inet 192.168.0.254 netmask 0xffffff00 broadcast 192.168.0.255 ether 00:11:95:d5:43:62 media: IEEE 802.11 Wireless Ethernet autoselect (DS/11Mbps) status: associated ssid freebsdap channel 1 bssid 00:11:95:c3:0d:ac authmode WPA2/802.11i privacy ON deftxkey UNDEF TKIP 2:128-bit txpowmax 36 protmode CTS roaming MANUAL bintval 100 EAP-PEAP-тэй WPA PEAP (Protected EAP) нь EAP-TTLS-ийн өөр нэг хувилбар хэлбэрээр байхаар хийгдсэн юм. Хоёр төрлийн PEAP арга байдаг бөгөөд хамгийн түгээмэл нь PEAPv0/EAP-MSCHAPv2 юм. Энэ баримтын үлдсэн хэсэгт PEAP ухагдахууныг тэр EAP аргыг хэлэхдээ хэрэглэх болно. PEAP нь EAP-TLS-ийн дараа ордог хамгийн их ашиглагддаг EAP стандарт юм, өөрөөр хэлбэл хэрэв та төрөл бүрийн OS-үүд холилдсон сүлжээтэй бол PEAP нь EAP-TLS-ийн дараа орох хамгийн ихээр дэмжигдсэн стандарт байх юм. PEAP нь EAP-TLS-тэй төстэй байдаг: энэ нь клиент болон нэвтрэлт танилтын серверийн хооронд нэвтрэлт танилтын мэдээллийн солилцоог хамгаалах шифрлэгдсэн туннель үүсгэн клиентүүдийг танин нэвтрүүлэхийн тулд сервер талын сертификатыг ашигладаг. Аюулгүй байдлын ухагдахуун дахь EAP-TTLS болон PEAP-ийн хоорондох ялгаа нь PEAP нэвтрэлт танилт хэрэглэгчийн нэрийг цэвэр текст хэлбэрээр, зөвхөн нууц үгийг шифрлэгдсэн TLS туннелээр цацдаг явдал юм. EAP-TTLS нь хэрэглэгчийн нэр болон нууц үгт зориулж TLS туннелийг ашиглах болно. Бид /etc/wpa_supplicant.conf файлыг засварлаж EAP-PEAP-тэй холбоотой тохируулгуудыг нэмэх хэрэгтэй болно: network={ ssid="freebsdap" proto=RSN key_mgmt=WPA-EAP eap=PEAP identity="test" password="test" ca_cert="/etc/certs/cacert.pem" phase1="peaplabel=0" phase2="auth=MSCHAPV2" } Энэ талбарт бид өөрийн холболтондоо зориулж EAP аргыг ашиглахаа дурдана. identity талбар нь шифрлэгдсэн TLS туннель доторх EAP нэвтрэлт танилтад зориулсан таниулах мөрийг агуулна. password талбар нь EAP нэвтрэлт танилтад зориулсан нэвтрэх үгийг агуулна. ca_cert талбар нь CA сертификатын файлын замын нэрийг заана. Энэ файл нь серверийн сертификатыг шалгахад хэрэгтэй байдаг. Энэ талбар нь нэвтрэлт танилтын (TLS туннель) эхний үед зориулсан параметрүүдийг агуулна. Ашигласан нэвтрэлт танилтын серверээс хамаараад нэвтрэлт танилтад зориулж тусгай хаяг/шошгыг зааж өгөх хэрэгтэй болно. Ихэнх тохиолдолд хаяг/шошго нь клиентийн EAP шифрлэлт байх бөгөөд үүнийг peaplabel=0 гэж тохируулна. Илүү мэдээллийг &man.wpa.supplicant.conf.5; гарын авлагын хуудаснаас олж болно. Энэ талбарт бид шифрлэгдсэн TLS туннельд ашиглагдсан нэвтрэлт танилтын аргыг заана. PEAP-ийн хувьд энэ нь auth=MSCHAPV2 байна. Доор дурдсаныг /etc/rc.conf файлд нэмэх ёстой: ifconfig_ath0="WPA DHCP" Дараа нь бид интерфэйсийг босгож ажиллуулж болно: &prompt.root; /etc/rc.d/netif start Starting wpa_supplicant. DHCPREQUEST on ath0 to 255.255.255.255 port 67 DHCPREQUEST on ath0 to 255.255.255.255 port 67 DHCPREQUEST on ath0 to 255.255.255.255 port 67 DHCPACK from 192.168.0.20 bound to 192.168.0.254 -- renewal in 300 seconds. ath0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500 inet6 fe80::211:95ff:fed5:4362%ath0 prefixlen 64 scopeid 0x1 inet 192.168.0.254 netmask 0xffffff00 broadcast 192.168.0.255 ether 00:11:95:d5:43:62 media: IEEE 802.11 Wireless Ethernet autoselect (DS/11Mbps) status: associated ssid freebsdap channel 1 bssid 00:11:95:c3:0d:ac authmode WPA2/802.11i privacy ON deftxkey UNDEF TKIP 2:128-bit txpowmax 36 protmode CTS roaming MANUAL bintval 100 WEP WEP (Wired Equivalent Privacy) нь анхдагч 802.11 стандартын хэсэг юм. Үүнд ямар ч нэвтрэлт танилтын арга байхгүй, энэ нь хандалт хяналтын зөвхөн сул хэлбэр бөгөөд хялбар эвдэх боломжтой байдаг. WEP-ийг ifconfig тушаалаар тохируулж болно: &prompt.root; ifconfig ath0 inet 192.168.1.100 netmask 255.255.255.0 ssid my_net \ wepmode on weptxkey 3 wepkey 3:0x3456789012 weptxkey нь дамжуулалтад ямар WEP түлхүүр ашиглахыг хэлж байна. Энд бид гурав дахь түлхүүрийг ашиглаж байна. Энэ нь хандалтын цэг дэх тохиргоотой таарах ёстой. wepkey нь сонгогдсон WEP түлхүүрийг тохируулахыг хэлнэ. Энэ нь index:key хэлбэрийн байх ёстой бөгөөд индекс өгөгдөөгүй бол түлхүүр 1 тохируулагдана. Энэ нь хэрэв бид эхний түлхүүрээс өөр түлхүүрүүдийг ашиглах бол индексийг тохируулах хэрэгтэй гэсэн үг юм. Та 0x3456789012-г хандалтын цэг дээр ашиглахаар тохируулсан түлхүүрээр солих ёстой. Цаашхи мэдээллийг &man.ifconfig.8; гарын авлагын хуудаснаас унших нь зүйтэй юм. wpa_supplicant хэрэгслийг өөрийн утасгүй интерфэйсийг WEP-тэй тохируулахын тулд бас ашиглаж болно. Дараах мөрийг /etc/wpa_supplicant.conf файлд нэмж дээрх жишээг тохируулж болно: network={ ssid="my_net" key_mgmt=NONE wep_key3=3456789012 wep_tx_keyidx=3 } Дараа нь: &prompt.root; wpa_supplicant -i ath0 -c /etc/wpa_supplicant.conf Trying to associate with 00:13:46:49:41:76 (SSID='dlinkap' freq=2437 MHz) Associated with 00:13:46:49:41:76 Ad-hoc горим IBSS горим буюу бас ad-hoc гэгддэг горим нь цэгээс цэгт холбогдох холболтуудад зориулагдан хийгдсэн. Жишээ нь A машин болон B машины хооронд ad-hoc сүлжээ үүсгэхийн тулд бид ердөө л хоёр IP хаяг болон SSID сонгох хэрэгтэй болно. A машин дээр: &prompt.root; ifconfig ath0 inet 192.168.0.1 netmask 255.255.255.0 ssid freebsdap mediaopt adhoc &prompt.root; ifconfig ath0 ath0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500 inet 192.168.0.1 netmask 0xffffff00 broadcast 192.168.0.255 inet6 fe80::211:95ff:fec3:dac%ath0 prefixlen 64 scopeid 0x4 ether 00:11:95:c3:0d:ac media: IEEE 802.11 Wireless Ethernet autoselect <adhoc> (autoselect <adhoc>) status: associated ssid freebsdap channel 2 bssid 02:11:95:c3:0d:ac authmode OPEN privacy OFF txpowmax 36 protmode CTS bintval 100 adhoc параметр нь интерфэйс IBSS горимд ажиллаж байгааг харуулж байна. B машин дээр бид A машиныг илрүүлж чадах ёстой: &prompt.root; ifconfig ath0 up scan SSID BSSID CHAN RATE S:N INT CAPS freebsdap 02:11:95:c3:0d:ac 2 54M 19:0 100 IS Гаралт дээрх I нь A машин ad-hoc горимд байгааг батална. Бид одоо B-г өөр IP хаягтайгаар тохируулах хэрэгтэй: &prompt.root; ifconfig ath0 inet 192.168.0.2 netmask 255.255.255.0 ssid freebsdap mediaopt adhoc &prompt.root; ifconfig ath0 ath0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500 inet6 fe80::211:95ff:fed5:4362%ath0 prefixlen 64 scopeid 0x1 inet 192.168.0.2 netmask 0xffffff00 broadcast 192.168.0.255 ether 00:11:95:d5:43:62 media: IEEE 802.11 Wireless Ethernet autoselect <adhoc> (autoselect <adhoc>) status: associated ssid freebsdap channel 2 bssid 02:11:95:c3:0d:ac authmode OPEN privacy OFF txpowmax 36 protmode CTS bintval 100 A болон B нь одоо мэдээлэл солилцоход бэлэн боллоо. Алдааг олж засварлах Хэрэв та утасгүй сүлжээндээ асуудалтай байгаа бол асуудлыг олж засварлахад туслах хэд хэдэн алхмууд байдаг. Хайлт хийж байхдаа та хандалтын цэгийг олж харахгүй байгаа бол та өөрийн утасгүй төхөөрөмжөө тодорхой хэдэн сувгууд дээр хязгаарлаж тохируулаагүй эсэхээ шалгаарай. Хэрэв та хандалтын цэгт холбогдож чадахгүй байгаа бол таны станцын тохиргоо хандалтын цэгийн аль нэгтэй тохирч байгаа эсэхийг шалгаарай. Үүнд нэвтрэлт танилтын схем болон аюулгүй байдлын протоколууд хамаарна. Өөрийн тохиргоогоо аль болох хялбаршуулах хэрэгтэй. Хэрэв та WPA эсвэл WEP зэрэг аюулгүй байдлын протоколыг ашиглаж байгаа бол хандалтын цэгийг нээлттэй нэвтрэлт танилтад зориулж ямар нэгэн аюулгүй байдлын хамгаалалтгүй тохируулж урсгал дамжиж байгаа эсэхийг үзэх хэрэгтэй. Хандалтын цэгт холбогдсоныхоо дараа &man.ping.8; зэрэг хялбар хэрэгслүүдийг ашиглаад ямар ч аюулгүй байдлын тохиргоог оношилж болно. wpa_supplicant нь илүү дибаг хийх дэмжлэгтэй байдаг; үүнийг сонголттой гараар ажиллуулж системийн бүртгэлүүдийг шалгах хэрэгтэй. Мөн олон доод түвшний дибаг хийх хэрэгслүүд бас байдаг. Та 802.11 протоколын дэмжлэг давхаргад дибаг мэдэгдлүүдийг /usr/src/tools/tools/net80211 дахь wlandebug програмыг ашиглан идэвхжүүлж болно. Жишээ нь: &prompt.root; wlandebug -i ath0 +scan+auth+debug+assoc net.wlan.0.debug: 0 => 0xc80000<assoc,auth,scan> тушаал нь хандалтын цэгүүдийг хайх болон холбоог зохион байгуулах 802.11 протоколын мэдээлэл солилцоонуудыг хийхтэй холбоотой консолын мэдэгдлүүдийг идэвхжүүлэхэд ашиглагдаж болох юм. 802.11 давхаргын арчилж байдаг олон ашигтай статистикууд бас байдаг; эдгээр мэдээллүүдийг wlanstats хэрэгсэл харуулах болно. Эдгээр статистикууд нь 802.11 давхаргаар танигдсан бүх алдаануудыг таних ёстой. Гэхдээ 802.11 давхаргаас доош орших төхөөрөмжийн драйверууд дээр танигдсан зарим алдаанууд нь харуулагдахгүй байж болохыг санаарай. Төхөөрөмжтэй холбоотой асуудлуудыг оношлохын тулд та драйверийн баримтаас лавлах хэрэгтэй юм. Хэрэв дээрх мэдээлэл асуудлыг тодруулахад тань туслахгүй байгаа бол дээрх хэрэгслүүдээс гарсан гаралтыг оруулж асуудлынхаа тайланг илгээгээрэй. Пав Лукистник Бичсэн
pav@FreeBSD.org
Bluetooth Bluetooth Танилцуулга Bluetooth нь 10 метрийн дотор 2.4 GHz давтамжийн лицензжүүлээгүй зурваст ажиллах хувийн сүлжээнүүд үүсгэхэд зориулагдсан утасгүй технологи юм. Сүлжээнүүд нь үүрэн утас, гарын цахим жижиг хэрэгслүүд, болон зөөврийн компьютерууд зэрэг зөөврийн төхөөрөмжүүдээс ad-hoc ихэвчлэн бүрдүүлдэг. Бусад түгээмэл утасгүй технологиудаас ялгаатай тал нь Wi-Fi, Bluetooth нь илүү өндөр түвшний үйлчилгээний хувийн тохиргоонуудыг санал болгодог, өөрөөр хэлбэл FTP-тэй адил файлын серверүүд, файл түлхэх, дуу дамжуулалт, цуваа шугамын эмуляц зэрэг олныг дурдаж болно. &os; дэх Bluetooth стек нь Netgraph тогтолцоог ашиглан хийгдсэн байдаг (&man.netgraph.4;-г үзнэ үү). Олон төрлийн Bluetooth USB хамгаалах төхөөрөмжүүд (dongle) &man.ng.ubt.4; драйвераар дэмжигдсэн байдаг. Broadcom BCM2033 бичил схем дээр суурилсан Bluetooth төхөөрөмжүүд нь &man.ubtbcmfw.4; болон &man.ng.ubt.4; драйверуудаар дэмжигдсэн байдаг. 3Com Bluetooth PC Карт 3CRWB60-A нь &man.ng.bt3c.4; драйвераар дэмжигдсэн байдаг. Цуваа болон UART дээр суурилсан Bluetooth төхөөрөмжүүд нь &man.sio.4;, &man.ng.h4.4; болон &man.hcseriald.8; драйверуудаар дэмжигдсэн. Энэ хэсэг нь USB Bluetooth dongle-ийн хэрэглээг тайлбарлах болно. Төхөөрөмжид залгах нь Анхдагчаар Bluetooth төхөөрөмжийн драйверууд нь цөмийн модуль хэлбэрээр байдаг. Төхөөрөмжийг залгахаасаа өмнө та драйверийг цөмд дуудаж ачаалах хэрэгтэй болно: &prompt.root; kldload ng_ubt Хэрэв Bluetooth төхөөрөмж системийг эхлүүлэх явцад системд байх юм бол /boot/loader.conf файлаас модулийг дуудна: ng_ubt_load="YES" Өөрийн USB dongle-ийг залга. Консол (эсвэл syslog) дээр доор дурдсантай төстэй гаралт гарч ирэх болно: ubt0: vendor 0x0a12 product 0x0001, rev 1.10/5.25, addr 2 ubt0: Interface 0 endpoints: interrupt=0x81, bulk-in=0x82, bulk-out=0x2 ubt0: Interface 1 (alt.config 5) endpoints: isoc-in=0x83, isoc-out=0x3, wMaxPacketSize=49, nframes=6, buffer size=294 Bluetooth стек нь &os; 6.0 болон 5.5-аас өмнөх &os; 5.X хувилбарууд дээр гараар эхлүүлэгдэх ёстой. Энэ нь &os; 5.5, 6.1 болон түүнээс шинэ хувилбарууд дээр &man.devd.8;-ээс автоматаар хийгддэг. /usr/share/examples/netgraph/bluetooth/rc.bluetooth/etc/rc.bluetooth гэх мэт ямар нэг тохиромжтой газар хуулах хэрэгтэй. Энэ скрипт ньь Bluetooth стекийг эхлүүлэх болон зогсооход хэрэглэгддэг. Төхөөрөмжийг салгахаасаа өмнө стекийг зогсоох нь зөв байдаг, гэхдээ энэ нь (ихэвчлэн) сүйрлийн биш байдаг. Стекийг эхлүүлж байхад доор дурдсантай төстэй гаралтыг та хүлээн авах болно: &prompt.root; /etc/rc.bluetooth start ubt0 BD_ADDR: 00:02:72:00:d4:1a Features: 0xff 0xff 0xf 00 00 00 00 00 <3-Slot> <5-Slot> <Encryption> <Slot offset> <Timing accuracy> <Switch> <Hold mode> <Sniff mode> <Park mode> <RSSI> <Channel quality> <SCO link> <HV2 packets> <HV3 packets> <u-law log> <A-law log> <CVSD> <Paging scheme> <Power control> <Transparent SCO data> Max. ACL packet size: 192 bytes Number of ACL packets: 8 Max. SCO packet size: 64 bytes Number of SCO packets: 8 HCI Host Controller Interface (HCI) буюу Хостын Хянагчийн Интерфэйс Host Controller Interface (HCI) буюу Хостын Хянагчийн Интерфэйс нь үндсэн зурвасын хянагч болон холболтын менежерт тушаалын интерфэйсийг, тоног төхөөрөмжийн төлөв болон хяналтын регистрүүдэд хандалтыг өгдөг байна. Энэ интерфэйс нь Bluetooth-ийн үндсэн зурвасын боломжуудад хандах нэгэн хэвийн аргыг олгодог. Хост дээрх HCI давхарга нь өгөгдөл болон тушаалуудыг Bluetooth тоног төхөөрөмж дээрх HCI firmware-тэй солилцдог. Хостын Хянагчийн Тээврийн Давхаргын (өөрөөр хэлбэл физик шугам) драйвер нь HCI давхаргуудад нэг нь нөгөөдөө мэдээлэл солилцох боломжоор хангаж өгдөг. hci төрлийн ганц Netgraph цэг ганц Bluetooth төхөөрөмжийн хувьд үүсдэг. HCI цэг нь Bluetooth төхөөрөмжийн драйверийн цэгт (доош) болон L2CAP цэгт (дээш) ихэвчлэн холбогддог. Бүх HCI үйлдлүүд нь төхөөрөмжийн драйверийн цэг дээр биш HCI цэг дээр хийгдэх ёстой. HCI цэгийн анхдагч нэр нь devicehci юм. Илүү дэлгэрэнгүй мэдээллийг &man.ng.hci.4; гарын авлагын хуудаснаас лавлана уу. Хамгийн нийтлэг ажлуудын нэг нь RF-ийн ойр Bluetooth төхөөрөмжүүдийг олох явдал юм. Энэ үйлдлийг inquiry буюу лавлагаа гэдэг. Лавлагаа болон бусад HCI-тэй холбоотой үйлдлүүд нь &man.hccontrol.8; хэрэгслээр хийгддэг. Доорх жишээ нь ойр орчим ямар Bluetooth төхөөрөмжүүд байгааг хэрхэн олохыг харуулж байна. Та төхөөрөмжүүдийн жагсаалтыг хэдхэн секундэд авах ёстой. Алсын төхөөрөмж нь илрүүлэгдэх горимд байгаа тохиолдолд лавлагаанд зөвхөн хариулах болно гэдгийг санаарай. &prompt.user; hccontrol -n ubt0hci inquiry Inquiry result, num_responses=1 Inquiry result #0 BD_ADDR: 00:80:37:29:19:a4 Page Scan Rep. Mode: 0x1 Page Scan Period Mode: 00 Page Scan Mode: 00 Class: 52:02:04 Clock offset: 0x78ef Inquiry complete. Status: No error [00] BD_ADDR нь Bluetooth төхөөрөмжийн сүлжээний картанд байдаг MAC хаягууд шиг давтагдашгүй хаяг юм. Энэ хаяг нь төхөөрөмжтэй холбогдоход цаашид хэрэг болдог. BD_ADDR-т хүн уншиж болохоор нэр өгөх боломжтой байдаг. /etc/bluetooth/hosts файл нь мэдэгдэж байгаа Bluetooth хостуудын тухай мэдээллийг агуулдаг. Дараах жишээ нь алсын төхөөрөмжид өгсөн хүн уншиж болохоор нэрийг хэрхэн авч болохыг үзүүлж байна: &prompt.user; hccontrol -n ubt0hci remote_name_request 00:80:37:29:19:a4 BD_ADDR: 00:80:37:29:19:a4 Name: Pav's T39 Хэрэв та лавлагааг алсын Bluetooth төхөөрөмж дээр хийх юм бол энэ нь таны компьютерийг your.host.name (ubt0) хэлбэрээр олох болно. Локал төхөөрөмжид өгсөн нэрийг ямар ч үед өөрчилж болно. Bluetooth систем нь цэгээс-цэгт-хүрэх (point-to-point) эсвэл цэгээс-олон-цэгт-хүрэх (point-to-multipoint) холболтын боломжийг олгодог. Цэгээс-олон-цэгт-хүрэх (point-to-multipoint) холболтод холболт нь хэд хэдэн Bluetooth төхөөрөмжүүдийн хооронд хуваалцан хэрэглэгддэг. Дараах жишээ нь локал төхөөрөмжийн хувьд идэвхтэй үндсэн зурвасын холболтуудын жагсаалтыг хэрхэн авахыг үзүүлж байна: &prompt.user; hccontrol -n ubt0hci read_connection_list Remote BD_ADDR Handle Type Mode Role Encrypt Pending Queue State 00:80:37:29:19:a4 41 ACL 0 MAST NONE 0 0 OPEN connection handle буюу холболтын гар нь үндсэн зурвасын холболтыг дуусгах шаардлагатай үед ашигтай байдаг. Үүнийг гараар хийхийг ерөнхийдөө шаарддаггүйг санаарай. Стек нь идэвхгүй байгаа үндсэн зурвасын холболтуудыг автоматаар дуусгах болно. &prompt.root; hccontrol -n ubt0hci disconnect 41 Connection handle: 41 Reason: Connection terminated by local host [0x16] HCI тушаалуудын бүрэн жагсаалыг hccontrol help гэж лавлана уу. HCI тушаалуудын ихэнх нь супер хэрэглэгчийн зөвшөөрлүүдийг шаарддаггүй. L2CAP Logical Link Control and Adaptation Protocol (L2CAP) буюу Логик Холболтын Хяналт ба Тааруулах Протокол Логик Холболтын Хяналт ба Тааруулах Протокол (L2CAP) нь холболт дээр тулгуурласан болон холболтгүй (connection-oriented and connectionless) өгөгдлийн үйлчилгээнүүдийг протокол олон хуваагдах (multiplex) чадвар болон сегмент болгож дахин цуглуулах үйлдэлтэй цуг дээд түвшний протоколуудад хангаж өгдөг. L2CAP нь уртаараа 64 килобайт хүртэл хэмжээний L2CAP пакетуудыг дамжуулж хүлээн авахыг өндөр түвшний протоколууд болон програмуудад зөвшөөрдөг. L2CAP нь сувгууд гэсэн ойлголт дээр тулгуурладаг. Суваг нь үндсэн зурвасын холболт дээрх логик холболт юм. Суваг бүр ганц протоколд олноос нэг уруу чиглэсэн загвараар уягдсан байдаг. Олон сувгууд нэг протоколд уягдаж болдог боловч нэг сувгийг олон протоколд уяж болдоггүй. Суваг дээр хүлээн авсан L2CAP пакет бүр зохих дээд түвшний протокол уруу чиглүүлэгддэг. Олон сувгууд нь нэг үндсэн зурвасын холболтыг хуваалцаж болно. l2cap төрлийн ганц Netgraph цэг ганц Bluetooth төхөөрөмжийн хувьд үүсгэгддэг. L2CAP цэг нь Bluetooth HCI цэг (доош) болон Bluetooth сокетуудад (дээш) ихэвчлэн холбогддог. Илүү дэлгэрэнгүй мэдээллийг &man.ng.l2cap.4; гарын авлагын хуудаснаас лавлана уу. Ашигтай тушаал бол бусад хэрэгслүүд уруу ping хийхэд хэрэглэгддэг &man.l2ping.8; тушаал юм. Зарим нэг Bluetooth шийдлүүд нь тэдэн уруу илгээсэн бүх өгөгдлийг буцаахгүй байж болох учраас дараах жишээн дээрх 0 bytes гэдэг нь хэвийн юм. &prompt.root; l2ping -a 00:80:37:29:19:a4 0 bytes from 0:80:37:29:19:a4 seq_no=0 time=48.633 ms result=0 0 bytes from 0:80:37:29:19:a4 seq_no=1 time=37.551 ms result=0 0 bytes from 0:80:37:29:19:a4 seq_no=2 time=28.324 ms result=0 0 bytes from 0:80:37:29:19:a4 seq_no=3 time=46.150 ms result=0 &man.l2control.8; хэрэгсэл нь L2CAP цэгүүд дээр төрөл бүрийн үйлдлүүдийг хийдэг. Энэ жишээ нь логик холболтуудын (сувгууд) жагсаалт болон локал төхөөрөмжийн хувьд үндсэн зурвасын жагсаалтыг хэрхэн авахыг үзүүлж байна: &prompt.user; l2control -a 00:02:72:00:d4:1a read_channel_list L2CAP channels: Remote BD_ADDR SCID/ DCID PSM IMTU/ OMTU State 00:07:e0:00:0b:ca 66/ 64 3 132/ 672 OPEN &prompt.user; l2control -a 00:02:72:00:d4:1a read_connection_list L2CAP connections: Remote BD_ADDR Handle Flags Pending State 00:07:e0:00:0b:ca 41 O 0 OPEN Өөр нэг оношлогооны хэрэгсэл бол &man.btsockstat.1; юм. Энэ нь &man.netstat.1;-ийн хийдэгтэй төстэйг хийдэг, гэхдээ зөвхөн Bluetooth сүлжээтэй холбоотой өгөгдлийн бүтцүүдийн хувьд хийдэг. Доорх жишээ нь дээрх &man.l2control.8;-ийн нэгэн адил логик холболтыг харуулж байна. &prompt.user; btsockstat Active L2CAP sockets PCB Recv-Q Send-Q Local address/PSM Foreign address CID State c2afe900 0 0 00:02:72:00:d4:1a/3 00:07:e0:00:0b:ca 66 OPEN Active RFCOMM sessions L2PCB PCB Flag MTU Out-Q DLCs State c2afe900 c2b53380 1 127 0 Yes OPEN Active RFCOMM sockets PCB Recv-Q Send-Q Local address Foreign address Chan DLCI State c2e8bc80 0 250 00:02:72:00:d4:1a 00:07:e0:00:0b:ca 3 6 OPEN RFCOMM RFCOMM Протокол RFCOMM протокол нь L2CAP протоколын дээгүүр цуваа портуудыг эмуляц хийх боломжийг хангадаг. Энэ протокол нь ETSI стандарт TS 07.10 дээр суурилсан юм. RFCOMM нь RS-232 (EIATIA-232-E) цуваа портуудын 9 замыг эмуляц хийх нэмэлт бэлтгэл бүхий ердийн тээвэрлэх протокол юм. RFCOMM протокол нь хоёр Bluetooth төхөөрөмжийн хооронд 60 хүртэлх зэрэг холболтуудыг (RFCOMM сувгууд) дэмждэг. RFCOMM-ийн хувьд өөр өөр төхөөрөмжүүд (холбооны төгсгөлийн цэгүүд) дээр ажиллаж байгаа хоёр програм болон тэдгээрийн хоорондын холбооны сегмент холбооны бүрэн замд ордог. RFCOMM нь төхөөрөмжүүд дээр байгаа цуваа портуудыг ашигладаг програмуудад зориулагдсан юм. Холбооны сегмент нь нэг төхөөрөмжөөс нөгөө уруу холбогдсон (шууд холболт) Bluetooth холбоос юм. RFCOMM нь шууд холболтын үед төхөөрөмжүүдийн хоорондох холболт эсвэл сүлжээний хувьд төхөөрөмж болон модемийн хоорондох холболтод зөвхөн санаа тавьдаг. RFCOMM нь нэг талдаа Bluetooth утасгүй технологийг ашиглаж холбогддог бөгөөд нөгөө талдаа утастай интерфэйсээр хангадаг модулиуд зэрэг бусад тохиргоонуудыг дэмждэг. &os; дээр RFCOMM протокол нь Bluetooth сокетуудын давхаргад хийгддэг. хослох Төхөөрөмжүүдийг хослох Анхдагчаар Bluetooth холбоонд нэвтрэлт танилт хийгддэггүй бөгөөд ямар ч төхөөрөмж ямар ч төхөөрөмжтэй ярилцаж чаддаг. Bluetooth төхөөрөмж (жишээ нь үүрэн утас) тухайн нэг үйлчилгээг (жишээ нь Dial-Up үйлчилгээ) хангахын тулд нэвтрэлт танилтыг шаарддаг байхаар байж болно. Bluetooth нэвтрэлт танилт нь хэвийн үед PIN кодуудаар хийгддэг. Хоёр төхөөрөмжийн хувьд хэрэглэгч адил PIN кодыг оруулах шаардлагатай. Хэрэглэгч PIN код оруулсны дараа хоёр төхөөрөмж холболтын түлхүүр үүсгэнэ. Түүний дараа холболтын түлхүүр нь уг төхөөрөмжүүд дээрээ эсвэл байнгын хадгалалтад хадгалагдаж болно. Дараагийн удаа хоёр төхөөрөмж нь урьд нь үүсгэсэн холболтын түлхүүрээ ашиглах болно. Энэ тайлбарласан процедурыг pairing буюу хослох гэж нэрлэдэг. Ямар нэг төхөөрөмж холболтын түлхүүрийг гээх юм бол хослолтыг дахин хийх ёстой. &man.hcsecd.8; дэмон нь бүх Bluetooth нэвтрэлт танилтын хүсэлтүүдтэй ажиллах үүрэгтэй. Анхдагч тохиргооны файл нь /etc/bluetooth/hcsecd.conf юм. Дурын 1234 гэж тохируулагдсан PIN кодтой үүрэн утасны жишээ хэсгийг доор үзүүлэв: device { bdaddr 00:80:37:29:19:a4; name "Pav's T39"; key nokey; pin "1234"; } PIN код дээр хязгаарлалт байдаггүй (уртаас гадна). Зарим төхөөрөмжүүдэд (жишээ нь Bluetooth чихэвчнүүд) тогтмол PIN код цуг бүтээгдсэн байж болох юм. тохируулга нь &man.hcsecd.8; дэмонг нүүрэнд үлдэж ажиллахыг заадаг бөгөөд ингэснээр юу болж байгааг харах боломжтой юм. Хослолыг хүлээн авч алсын төхөөрөмж уруу Bluetooth холболт эхлүүлэхээр алсын төхөөрөмжийг тохируулна. Алсын төхөөрөмж нь хослол хийлтийг хүлээн авсан гэдгээ хэлж PIN код хүсэх ёстой. hcsecd.conf файлд байгаатай адил PIN код оруулаарай. Одоо таны PC болон алсын төхөөрөмж хосолсон байна. Өөрөөр та хослол хийлтийг алсын төхөөрөмж дээр эхлүүлж болно. &os; 5.5, 6.1 болон түүнээс шинэ хувилбаруудад hcsecd-г систем эхлэхэд автоматаар эхлүүлэхийн тулд дараах мөрийг /etc/rc.conf файлд нэмэн хийж болно: hcsecd_enable="YES" hcsecd дэмоны гаралтын жишээг доор үзүүлэв: hcsecd[16484]: Got Link_Key_Request event from 'ubt0hci', remote bdaddr 0:80:37:29:19:a4 hcsecd[16484]: Found matching entry, remote bdaddr 0:80:37:29:19:a4, name 'Pav's T39', link key doesn't exist hcsecd[16484]: Sending Link_Key_Negative_Reply to 'ubt0hci' for remote bdaddr 0:80:37:29:19:a4 hcsecd[16484]: Got PIN_Code_Request event from 'ubt0hci', remote bdaddr 0:80:37:29:19:a4 hcsecd[16484]: Found matching entry, remote bdaddr 0:80:37:29:19:a4, name 'Pav's T39', PIN code exists hcsecd[16484]: Sending PIN_Code_Reply to 'ubt0hci' for remote bdaddr 0:80:37:29:19:a4 SDP Service Discovery Protocol (SDP) буюу Үйлчилгээ Илрүүлэх Протокол Service Discovery Protocol (SDP) буюу Үйлчилгээ Илрүүлэх Протокол нь сервер програмуудын үзүүлдэг үйлчилгээнүүдийн байгаа эсэх болон тэдгээр үйлчилгээнүүдийн шинж чанаруудыг илрүүлэх боломжийг клиент програмуудад олгодог. Үйлчилгээний шинж чанарууд нь санал болгосон үйлчилгээний төрөл эсвэл ангилал болон үйлчилгээг хэрэглэхэд шаардагдах арга зам юм уу эсвэл протоколын мэдээллийг агуулдаг. SDP-д SDP сервер болон SDP клиентийн хоорондох холбоо ордог. Сервер нь сервертэй холбоотой үйлчилгээнүүдийн шинж чанаруудыг тайлбарладаг үйлчилгээний бичлэгүүдийн жагсаалтыг арчилж байдаг. Үйлчилгээний бичлэг бүр ганц үйлчилгээний талаар мэдээллийг агуулдаг. SDP серверийн арчилж байдаг үйлчилгээний бичлэгээс клиент SDP хүсэлт илгээн мэдээллийг авч болно. Хэрэв клиент эсвэл клиенттэй холбоотой програм нь үйлчилгээг ашиглахаар шийдвэл үйлчилгээг хэрэглэхийн тулд үйлчилгээ үзүүлэгч уруу тусдаа холболт нээх ёстой. SDP нь үйлчилгээнүүд болон тэдгээрийн шинж чанаруудыг илрүүлэх арга замаар хангадаг боловч тэдгээр үйлчилгээнүүдийг хэрэглэх арга замуудаар хангадаггүй юм. Хэвийн үед SDP клиент нь үйлчилгээнүүдийн зарим хүссэн онцгой шинжүүд дээр тулгуурлан үйлчилгээнүүдийг хайдаг. Гэхдээ үйлчилгээнүүдийн талаар урьд нь ямар ч мэдээлэл байхгүй байхад SDP серверийн үйлчилгээний бичлэгүүдээр тайлбарлагдсан үйлчилгээнүүдийн ямар төрлүүд байгааг олохыг хүсэх үеүүд байдаг. Санал болгосон дурын үйлчилгээнүүдийг хайх процесс нь browsing буюу үзэх гэгддэг. Bluetooth SDP сервер &man.sdpd.8; болон тушаалын мөрийн клиент &man.sdpcontrol.8; нь стандарт &os; суулгацад орсон байдаг. Дараах жишээ нь SDP үзэх хүсэлтийг хэрхэн хийж байгаа харуулж байна. &prompt.user; sdpcontrol -a 00:01:03:fc:6e:ec browse Record Handle: 00000000 Service Class ID List: Service Discovery Server (0x1000) Protocol Descriptor List: L2CAP (0x0100) Protocol specific parameter #1: u/int/uuid16 1 Protocol specific parameter #2: u/int/uuid16 1 Record Handle: 0x00000001 Service Class ID List: Browse Group Descriptor (0x1001) Record Handle: 0x00000002 Service Class ID List: LAN Access Using PPP (0x1102) Protocol Descriptor List: L2CAP (0x0100) RFCOMM (0x0003) Protocol specific parameter #1: u/int8/bool 1 Bluetooth Profile Descriptor List: LAN Access Using PPP (0x1102) ver. 1.0 ... гэх мэт байна. Үйлчилгээ болгон шинж чанаруудтай байгааг анхаараарай (жишээ нь RFCOMM суваг). Үйлчилгээнээс хамаараад та зарим нэг шинж чанаруудын талаар тэмдэглэгээ хийж авах хэрэгтэй болж болох юм. Зарим Bluetooth шийдлүүд нь үйлчилгээ үзэх боломжийг дэмждэггүй бөгөөд хоосон жагсаалт буцааж болох юм. Энэ тохиолдолд тодорхой үйлчилгээг хайх боломжтой байдаг. Доорх жишээ нь OBEX-ийн Обьект Түлхэх (OPUSH) үйлчилгээг хэрхэн хайхыг үзүүлж байна: &prompt.user; sdpcontrol -a 00:01:03:fc:6e:ec search OPUSH &os; дээр Bluetooth клиентүүдэд үйлчилгээнүүдийг санал болохдоо &man.sdpd.8; серверийн тусламжтайгаар хийдэг. &os; 5.5, 6.1 болон түүнээс дээш хувилбарууд дээр /etc/rc.conf файлд дараах мөрийг нэмж болно: sdpd_enable="YES" Дараа нь sdpd дэмонг ингэж эхлүүлж болно: &prompt.root; /etc/rc.d/sdpd start &os; 6.0, болон 5.5-аас өмнөх &os; 5.X хувилбар дээр sdpd нь системийг эхлүүлэх скриптүүдэд хийгдээгүй байдаг. Үүнийг гараар ажиллуулах ёстой: &prompt.root; sdpd Алсын клиентүүдэд Bluetooth үйлчилгээг үзүүлэхийг хүссэн локал серверийн програм нь үйлчилгээг SDP дэмонд бүртгэх болно. Ийм програмуудын нэг нь &man.rfcomm.pppd.8; юм. Эхэлснийхээ дараа энэ нь Bluetooth LAN үйлчилгээг локал SDP дэмонд бүртгэх болно. Локал SDP серверт бүртгэсэн үйлчилгээнүүдийн жагсаалтыг локал хяналтын сувгаар SDP-ийн үзэх хүсэлтийг илгээн авч болно: &prompt.root; sdpcontrol -l browse Dial-Up сүлжээ (DUN) ба PPP ашиглах Сүлжээний Хандалт (LAN) хувийн тохиргоонууд Dial-Up сүлжээ (DUN) хувийн тохиргоо нь модемууд болон үүрэн утаснуудтай ихэвчлэн ашиглагддаг. Энэ хувийн тохиргоонд хамаарах тохиолдлуудыг доор дурдав: үүрэн утас эсвэл модемийг компьютер дээрээ Интернэтийн хандалтын сервер уруу залгаж холбогдох юм уу эсвэл бусад dial-up үйлчилгээнүүдэд хэрэглэхээр утасгүй модем маягаар ашиглах; үүрэн утас эсвэл модемийг компьютер дээрээ өгөгдлийн дуудлагуудыг хүлээн авахад ашиглах. PPP ашиглах Сүлжээний Хандалт (LAN) хувийн тохиргоо дараах тохиолдлуудад ашиглагдаж болно: Ганц Bluetooth төхөөрөмжид зориулсан LAN хандалт; Олон Bluetooth төхөөрөмжид зориулсан LAN хандалт; PC-ээс PC уруу (цуваа кабелийн эмуляцаар PPP сүлжээ ашиглан). &os; дээр энэ хоёр хувийн тохиргоо нь &man.ppp.8; болон &man.rfcomm.pppd.8; програмуудаар хийгддэг. &man.rfcomm.pppd.8; нь RFCOMM Bluetooth холболтыг PPP-ийн ажиллаж чадах ямар нэгэн зүйл болгож хувиргадаг гүйцэтгэл хялбаршуулагч юм. Аль ч хувийн тохиргоог ашиглахаасаа өмнө /etc/ppp/ppp.conf файлд шинэ PPP хаяг үүсгэгдсэн байх ёстой. Жишээнүүдийн талаар &man.rfcomm.pppd.8; гарын авлагаас лавлана уу. Дараах жишээн дээр &man.rfcomm.pppd.8; нь DUN RFCOMM суваг дээр BD_ADDR 00:80:37:29:19:a4 хаягтай алсын төхөөрөмж уруу RFCOMM холболт хийхэд ашиглагдах болно. RFCOMM сувгийн дугаарыг алсын төхөөрөмжөөс SDP-ээр авах болно. RFCOMM сувгийг гараар зааж өгөх боломжтой бөгөөд энэ тохиолдолд &man.rfcomm.pppd.8; нь SDP хүсэлт хийхгүй байх болно. Алсын төхөөрөмж дээр RFCOMM сувгийг олохын тулд &man.sdpcontrol.8;-г ашиглаарай. &prompt.root; rfcomm_pppd -a 00:80:37:29:19:a4 -c -C dun -l rfcomm-dialup PPP ашиглах Сүлжээний Хандалтын (LAN) үйлчилгээг хангахын тулд &man.sdpd.8; сервер ажиллаж байх ёстой. LAN клиентүүдэд зориулсан шинэ оруулгууд /etc/ppp/ppp.conf файлд үүсгэгдсэн байх ёстой. Жишээнүүдийн талаар &man.rfcomm.pppd.8; гарын авлагын хуудаснаас лавлана уу. Төгсгөлд нь RFCOMM PPP серверийг зөв RFCOMM сувгийн дугаар дээр эхлүүлнэ. RFCOMM PPP сервер нь Bluetooth LAN үйлчилгээг локал SDP дэмонд автоматаар бүртгэх болно. Доорх жишээ нь RFCOMM PPP серверийг хэрхэн эхлүүлэхийг үзүүлж байна. &prompt.root; rfcomm_pppd -s -C 7 -l rfcomm-server OBEX OBEX Object Push (OPUSH) буюу OBEX Обьект Түлхэх хувийн тохиргоо OBEX нь хөдөлгөөнт төхөөрөмжүүдийн хооронд энгийн файл дамжуулалт хийхэд зориулагдсан өргөн ашиглагддаг протокол юм. Үүний гол хэрэглээ нь хэт ягаан туяаны холбоо бөгөөд зөөврийн компьютерууд эсвэл PDA-уудын хооронд ердийн файл дамжуулахад, нэрийн хуудас эсвэл цагалбарыг үүрэн утас болон PIM програмуудтай бусад төхөөрөмжүүдийн хооронд илгээхэд хэрэглэгддэг. OBEX сервер болон клиент нь гуравдагч талын багц obexapp хэлбэрээр хийгдсэн байдаг бөгөөд энэ нь comms/obexapp порт хэлбэрээр байдаг. OBEX клиент нь OBEX серверт обьектуудыг түлхэж оруулах буюу/эсвэл татахад хэрэглэгддэг. Обьект нь жишээ нь нэрийн хуудас юм уу эсвэл уулзалт байж болно. OBEX клиент нь алсын төхөөрөмжөөс SDP-ээр RFCOMM сувгийн дугаарыг авч болно. RFCOMM сувгийн дугаарын оронд үйлчилгээний нэрийг зааж үүнийг хийж болно. Дэмжигдсэн үйлчилгээний нэрсэд: IrMC, FTRN, болон OPUSH ордог. RFCOMM сувгийг дугаар болгон зааж өгөх боломжтой байдаг. Төхөөрөмжийн мэдээллийн обьектийг үүрэн утаснаас татаж авч байгаа болон шинэ обьектийг (нэрийн хуудас) утасны сан уруу хийж байгаа OBEX сессийн жишээг доор үзүүлэв. &prompt.user; obexapp -a 00:80:37:29:19:a4 -C IrMC obex> get telecom/devinfo.txt devinfo-t39.txt Success, response: OK, Success (0x20) obex> put new.vcf Success, response: OK, Success (0x20) obex> di Success, response: OK, Success (0x20) OBEX-ийн Обьект Түлхэх үйлчилгээг хангахын тулд &man.sdpd.8; сервер ажиллаж байх ёстой. Бүх ирж байгаа обьектууд хадгалагдах root хавтас үүсгэгдэх ёстой. root сангийн анхдагч зам нь /var/spool/obex байна. Төгсгөлд нь OBEX серверийг зөв RFCOMM сувгийн дугаар дээр эхлүүлнэ. OBEX сервер нь OBEX-ийн Обьект Түлхэх үйлчилгээг локал SDP дэмонд автоматаар бүртгүүлэх болно. Доорх жишээ нь OBEX серверийг хэрхэн эхлүүлэхийг харуулж байна. &prompt.root; obexapp -s -C 10 Serial Port Profile (SPP) буюу Цуваа портын хувийн тохиргоо Serial Port Profile (SPP) буюу Цуваа портын хувийн тохиргоо нь Bluetooth төхөөрөмжүүдэд RS232 (эсвэл түүнтэй төстэй) цуваа кабелийн эмуляц хийхийг зөвшөөрдөг. Энэ хувийн тохиргоонд хамаатай тохиолдол нь кабелийн оронд виртуал цуваа портын хийсвэрлэлтийн тусламжтай Bluetooth-ийг ашигладаг хуучин програмуудтай харьцдаг. &man.rfcomm.sppd.1; хэрэгсэл нь цуваа портын хувийн тохиргоог хийдэг. Псевдо tty нь виртуал цуваа портын хийсвэрлэлт болон ашиглагддаг. Доорх жишээ нь алсын төхөөрөмжийн цуваа портын үйлчилгээ уруу хэрхэн холбогдохыг харуулж байна. Та RFCOMM сувгийг заах шаардлагагүйг санаарай - &man.rfcomm.sppd.1; нь алсын төхөөрөмжөөс SDP-ээр авч чаддаг. Хэрэв та үүнийг дарж өөрчлөхийг хүсвэл тушаалын мөрөнд RFCOMM сувгийг зааж өгөх хэрэгтэй. &prompt.root; rfcomm_sppd -a 00:07:E0:00:0B:CA -t /dev/ttyp6 rfcomm_sppd[94692]: Starting on /dev/ttyp6... Холбогдсоны дараа псевдо tty нь цуваа порт шиг ашиглагдаж болно: &prompt.root; cu -l ttyp6 Алдааг олж засварлах Алсын төхөөрөмж холбогдож чадахгүй байх Зарим нэг хуучин Bluetooth төхөөрөмжүүд нь үүрэг шилжүүлэлтийг дэмждэггүй. Анхдагчаар &os; нь шинэ холболтыг хүлээн авахдаа үүргийг өөрчилж мастер болохыг оролддог. Үүнийг дэмждэггүй төхөөрөмжүүд нь холбогдож чаддаггүй. Шинэ холболт хийгдэхэд үүрэг шилжүүлэлт хийгддэгийг санаарай. Тийм учраас алсын төхөөрөмжөөс үүрэг шилжүүлэлтийг дэмждэг эсэхийг нь асуух боломжгүй юм. Локал тал дээрээ үүрэг шилжүүлэлтийг хаах HCI тохируулга байдаг: &prompt.root; hccontrol -n ubt0hci write_node_role_switch 0 Ямар нэгэн юм буруу болоод байна, би яг юу болоод байгааг харж болох уу? Тиймээ, та харж болно. comms/hcidump порт хэлбэрээр байдаг гуравдагч талын багц hcidump-г ашиглана. hcidump хэрэгсэл нь &man.tcpdump.1;-тай төстэй. Энэ нь Bluetooth пакетуудын агуулгыг терминал дээр харуулж Bluetooth пакетуудыг файл уруу гаргахад хэрэглэгдэж болно.
Эндрю Томпсон Бичсэн Гүүр Танилцуулга IP дэд сүлжээ гүүр Заримдаа нэг физик сүлжээг (Ethernet сегмент зэрэг) IP дэд сүлжээнүүд үүсгэж сегментүүдийг хооронд нь чиглүүлэгчээр цугт нь холбож ашиглалгүйгээр хоёр тусдаа сүлжээний сегмент болгох нь ашигтай байдаг. Ийм маягаар хоёр сүлжээг хооронд нь холбодог төхөөрөмжийг bridge буюу гүүр гэдэг. Хоёр сүлжээний интерфэйс карттай FreeBSD систем гүүр маягаар ажиллаж чаддаг. Гүүр нь өөрийн сүлжээний интерфэйс бүрийн төхөөрөмжийн MAC давхаргын хаягуудыг (Ethernet хаягууд) сурч ажилладаг. Түүний эх болон төгсгөл нь зөвхөн өөр өөр сүлжээнд байгаа тохиолдолд хоёр сүлжээний хооронд урсгалыг дамжуулдаг. Олон талаараа гүүр нь маш цөөн порттой Ethernet шилжүүлэгчтэй адил юм. Гүүр хийхэд тохирох тохиолдлууд Өнөөдөр гүүр ашиглагддаг олон нийтлэг тохиолдол байдаг. Сүлжээнүүдийг холбох нь Гүүрний үндсэн үйлдэл нь хоёр буюу түүнээс олон сүлжээний сегментүүдийг хооронд нь холбох явдал юм. Кабелийн хязгаарлалт, галт хана хийх эсвэл виртуал машины интерфэйс зэрэг псевдо сүлжээнүүдийг холбох зэрэг сүлжээний энгийн төхөөрөмжийн оронд хост дээр тулгуурласан гүүрийг ашиглах шалтгаан олон байдаг. Гүүр нь бас hostap горимд ажиллаж байгаа утасгүй сүлжээний интерфэйсийг утастай сүлжээ рүү холбож хандалтын цэг маягаар ажиллах чадвартай. Шүүх/урсгал хэлбэржүүлэх галт хана галт хана NAT Нийтлэг тохиолдол бол чиглүүлэлт юм уу эсвэл сүлжээний хаягийн хөрвүүлэлтгүй (NAT) галт ханын ажиллагаа шаардлагатай тохиолдол юм. Үүний жишээ нь DSL юм уу эсвэл ISDN-ээр ISP уруугаа холбогдсон жижиг компани юм. Тэд 13 ширхэг гаднаас хандах боломжтой IP хаягийг өөрсдийн ISP-ээс авдаг бөгөөд сүлжээндээ 10 PC-тэй. Энэ тохиолдолд чиглүүлэгч дээр тулгуурласан галт хана нь дэд сүлжээний асуудлуудаас болоод төвөгтэй байна. чиглүүлэгч DSL ISDN Гүүр дээр тулгуурласан галт ханыг тохируулж тэдний DSL/ISDN чиглүүлэгчийн замд ямар нэгэн IP хаяглалтын асуудалгүйгээр тавьж болно. Сүлжээ сонсогч (Network tap) Гүүр нь сүлжээний хоёр сегментийг холбож тэдгээрийн хооронд дамжиж байгаа бүх Ethernet урсгалыг шалгахад хэрэглэгдэж болно. Энэ нь гүүр интерфэйс дээр &man.bpf.4;/&man.tcpdump.1; ашиглах юм уу эсвэл бүх урсгалын хуулбарыг нэмэлт интерфэйс (span порт) уруу илгээх замаар байж болно. Түвшин 2 VPN Хоёр Ethernet сүлжээ нь IP холбоосын дагуу EtherIP туннель юм уу эсвэл OpenVPN зэрэг &man.tap.4; дээр тулгуурласан шийдлүүдийн тусламжтайгаар холбогдож болно. Түвшин 2 Давхцал Сүлжээ нь хоорондоо олон холбоосоор холбогдож давхацсан замуудыг хаахын тулд Spanning Tree протоколыг ашиглаж болно. Ethernet сүлжээ нь зөв ажилладаг байхын тулд хоёр төхөөрөмжийн хооронд зөвхөн нэг идэвхтэй зам байх ёстой байдаг бөгөөд Spanning Tree нь давталтыг илрүүлж давхацсан холбоосуудыг хаалттай төлөвт оруулдаг. Аль нэг идэвхтэй холбоос амжилтгүй болсон тохиолдолд уг протокол өөр модыг тооцоолж сүлжээн дэх бүх цэгүүдэд хүрэх холболтыг сэргээхийн тулд аль нэг хаалттай замыг дахин идэвхжүүлдэг. Цөмийн тохиргоо Энэ хэсэг нь &man.if.bridge.4; гүүрний шийдлийн тухай өгүүлэх болно, netgraph гүүрний драйвер бас байдаг бөгөөд илүү дэлгэрэнгүй мэдээллийг &man.ng.bridge.4; гарын авлагын хуудаснаас үзнэ үү. Гүүрний драйвер нь цөмийн модуль бөгөөд &man.ifconfig.8;-оор гүүр интерфэйсийг үүсгэх үед автоматаар дуудагддаг. Өөрийн цөмийн тохиргооны файлд device if_bridge гэж нэмэн гүүрийг цөмд эмхэтгэж болно. &man.pfil.9; тогтолцоогоор холбогддог галт ханын дурын багцтай пакет шүүлтийг ашиглаж болдог. Галт хана нь модуль хэлбэрээр дуудагдах юм уу эсвэл цөмд эмхэтгэгдэж болно. Гүүр нь &man.altq.4; эсвэл &man.dummynet.4;-тэй цуг урсгал хэлбэржүүлэгч болон ашиглагдаж болно. Гүүрийг идэвхжүүлэх нь Интерфэйс хуулбарлалтыг ашиглан гүүрийг үүсгэдэг. Гүүрийг үүсгэхийн тулд &man.ifconfig.8;-ийг ашиглана. Хэрэв гүүрний драйвер цөмд байхгүй бол автоматаар дуудагддаг. &prompt.root; ifconfig bridge create bridge0 &prompt.root; ifconfig bridge0 bridge0: flags=8802<BROADCAST,SIMPLEX,MULTICAST> metric 0 mtu 1500 ether 96:3d:4b:f1:79:7a id 00:00:00:00:00:00 priority 32768 hellotime 2 fwddelay 15 maxage 20 holdcnt 6 proto rstp maxaddr 100 timeout 1200 root id 00:00:00:00:00:00 priority 0 ifcost 0 port 0 Гүүр интерфэйс үүсч түүнд санамсаргүйгээр үүсгэгдсэн Ethernet хаяг автоматаар өгөгддөг. maxaddr болон timeout нэмэлт өгөгдлүүд нь өөрийн дамжуулах хүснэгтэд хичнээн MAC хаягийг хадгалах болон сүүлд харагдсанаасаа хойш оруулга бүр хичнээн секундын дараа устгагдах вэ гэдгийг хянадаг. Бусад нэмэлт өгөгдлүүд нь Spanning Tree хэрхэн ажиллахыг хянадаг. Гишүүн сүлжээний интерфэйсийг гүүрэнд нэмэх хэрэгтэй. Гүүрний хувьд пакетуудыг дамжуулахын тулд бүх гишүүн интерфэйсүүд болон гүүр өөрөө идэвхжсэн байх шаардлагатай: &prompt.root; ifconfig bridge0 addm fxp0 addm fxp1 up &prompt.root; ifconfig fxp0 up &prompt.root; ifconfig fxp1 up Гүүр нь одоо Ethernet хүрээнүүдийг fxp0 болон fxp1-ийн хооронд дамжуулж байна. Гүүр нь ачаалах үед үүсгэгдэх /etc/rc.conf-ийн тохиргоо ийм байна: cloned_interfaces="bridge0" ifconfig_bridge0="addm fxp0 addm fxp1 up" ifconfig_fxp0="up" ifconfig_fxp1="up" Хэрэв гүүр хостод IP хаяг хэрэгтэй бол үүнийг тохируулах зөв газар бол гишүүн интерфэйсийн аль нэг биш харин гүүр интерфэйс өөрөө юм. Үүнийг статикаар эсвэл DHCP-ээр тохируулж болно: &prompt.root; ifconfig bridge0 inet 192.168.0.1/24 Гүүр интерфэйсд IPv6 хаягийг өгч бас болно. Галт хана firewall Пакет шүүлт идэвхжсэн тохиолдолд гүүр хийгдсэн пакетууд нь гарч байгаа интерфэйс ба гүүр интерфэйс дээрээ гарах шүүлтээр, тохирох интерфэйс дээрээ орох шүүлтээр дамждаг. Аль ч шатыг хааж болдог. Пакетийн урсгалын чиглэл нь чухал бол гүүрэн дээр галт хана хийснээс гишүүн интерфэйсүүд дээр хийсэн нь дээр байдаг. Гүүр нь IP бус ба ARP пакетуудыг дамжуулах болон IPFW-ийн тусламжтай хийгдэх хоёрдугаар түвшний галт хананд зориулсан хэд хэдэн тохируулж болох тохируулгуудтай байдаг. Дэлгэрэнгүй мэдээллийг &man.if.bridge.4;-ээс үзнэ үү. Spanning Tree Гүүрний драйвер нь хуучин Spanning Tree Протоколтой (STP) нийцтэй Rapid Spanning Tree Protocol (RSTP эсвэл 802.1w) буюу Түргэн Spanning Tree Протоколыг хийж гүйцэтгэсэн байдаг. Spanning Tree нь сүлжээн дэх давталтуудыг илрүүлж арилгахад хэрэглэгддэг. RSTP нь хуучин STP-г бодох юм бол илүү түргэн нийлэх боломжийг олгодог. Энэ протокол нь давхцал үүсгэлгүйгээр дамжуулалтад хурдан шилжихийн тулд хөрш шилжүүлэгчидтэйгээ мэдээлэл солилцдог. Доор дурдсан хүснэгт нь дэмжигдсэн ажиллах горимуудыг үзүүлж байна: OS хувилбар STP горимууд Анхдагч горим &os; 5.4—&os; 6.2 STP STP &os; 6.3+ RSTP эсвэл STP STP &os; 7.0+ RSTP эсвэл STP RSTP Spanning Tree-г stp тушаал ашиглан гишүүн интерфэйсүүд дээр идэвхжүүлж болно. Одоо fxp0 болон fxp1 интерфэйсүүдтэй гүүрний хувьд STP-г идэвхжүүлэхийн тулд доор дурдсаныг хийнэ: &prompt.root; ifconfig bridge0 stp fxp0 stp fxp1 bridge0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500 ether d6:cf:d5:a0:94:6d id 00:01:02:4b:d4:50 priority 32768 hellotime 2 fwddelay 15 maxage 20 holdcnt 6 proto rstp maxaddr 100 timeout 1200 root id 00:01:02:4b:d4:50 priority 32768 ifcost 0 port 0 member: fxp0 flags=1c7<LEARNING,DISCOVER,STP,AUTOEDGE,PTP,AUTOPTP> port 3 priority 128 path cost 200000 proto rstp role designated state forwarding member: fxp1 flags=1c7<LEARNING,DISCOVER,STP,AUTOEDGE,PTP,AUTOPTP> port 4 priority 128 path cost 200000 proto rstp role designated state forwarding Энэ гүүр нь 00:01:02:4b:d4:50 гэсэн ID болон 32768 гэсэн ээлж бүхий spanning tree-тэй байна. root id адил байгаа нь модны хувьд root гүүр гэдгийг илтгэж байна. Сүлжээн дэх өөр нэг гүүр бас идэвхжсэн spanning tree-тэй байна: bridge0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500 ether 96:3d:4b:f1:79:7a id 00:13:d4:9a:06:7a priority 32768 hellotime 2 fwddelay 15 maxage 20 holdcnt 6 proto rstp maxaddr 100 timeout 1200 root id 00:01:02:4b:d4:50 priority 32768 ifcost 400000 port 4 member: fxp0 flags=1c7<LEARNING,DISCOVER,STP,AUTOEDGE,PTP,AUTOPTP> port 4 priority 128 path cost 200000 proto rstp role root state forwarding member: fxp1 flags=1c7<LEARNING,DISCOVER,STP,AUTOEDGE,PTP,AUTOPTP> port 5 priority 128 path cost 200000 proto rstp role designated state forwarding root id 00:01:02:4b:d4:50 priority 32768 ifcost 400000 port 4 мөр нь root гүүр нь дээр дурдсантай адил 00:01:02:4b:d4:50 бөгөөд энэ гүүрнээс 400000 гэсэн замын өртөгтэй, root гүүр рүү хүрэх зам нь fxp0 болох port 4-өөр дамжина гэдгийг үзүүлж байна. Гүүрний нэмэлт тохиргоо Урсгалыг бүтээх/шинэчлэх Гүүр нь монитор буюу хянах горимыг дэмждэг бөгөөд энэ горимд пакетууд нь &man.bpf.4; процесс хийгдсэний дараа хаягдаж цааш процесс хийгдэхгүй эсвэл дамжуулагдахгүй болдог. Хоёр буюу түүнээс дээш тооны интерфэйсүүдийн оролтыг нэгтгэж нэг &man.bpf.4; урсгал руу гаргахад үүнийг ашиглаж болно. RX/TX дохионуудыг гадагш хоёр тусдаа интерфэйсээр дамжуулах сүлжээний сонсогчид зориулсан урсгал бүтээхэд энэ нь ашигтай байдаг. Сүлжээний дөрвөн интерфэйсээс оролтыг нэг урсгал уруу уншихын тулд: &prompt.root; ifconfig bridge0 addm fxp0 addm fxp1 addm fxp2 addm fxp3 monitor up &prompt.root; tcpdump -i bridge0 Span портууд Гүүрний хүлээн авсан Ethernet хүрээ бүрийн хуулбар томилогдсон span порт уруу дамждаг. Гүүрэн дээр тохируулагдсан span портуудын тоо хязгааргүй байдаг, хэрэв интерфэйс нь span порт гэж томилогдсон бол энэ нь ердийн гүүрний порт маягаар ашиглагдах боломжгүй байж болох юм. Энэ нь гүүрний аль нэг span порт руу холбогдсон өөр нэг хост дээрээс гүүр хийгдсэн сүлжээг идэвхгүйгээр хулгайгаар үзэхэд их ашигтай байдаг. Бүх хүрээнүүдийн хуулбарыг fxp4 гэж нэрлэгдсэн интерфэйс рүү илгээхийн тулд: &prompt.root; ifconfig bridge0 span fxp4 Хувийн интерфэйсүүд Хувийн интерфэйс нь бусад хувийн интерфэйсүүд рүү ямар ч урсгалыг дамжуулдаггүй. Урсгал нь ямар нэг нөхцөлгүйгээр хаагддаг бөгөөд ARP зэрэг ямар ч Ethernet хүрээнүүд дамжуулагдахгүй. Хэрэв урсгал нь сонголтын дагуу хаагдах хэрэгтэй бол үүний оронд галт хана ашиглах ёстой байдаг. Наалттай интерфэйсүүд Хэрэв гүүрний гишүүн интерфэйс нь наалттай гэж тэмдэглэгдсэн бол динамикаар тогтоосон хаягийн оруулгуудыг дамжуулалтын кэшд ороход статик гэж үздэг. Хаяг өөр интерфэйс дээр үзэгдсэн байлаа ч гэсэн наалттай оруулгууд нь хэзээ ч кэшээс гарч хуучирдаггүй эсвэл солигддоггүй. Энэ нь дамжуулалтын хүснэгтийг урьдчилан нутагшуулах шаардлагагүй болгож статик хаягийн оруулгуудын ашгийг өгдөг бөгөөд гүүрний тодорхой нэг сегмент дээр тогтоогдсон хэрэглэгчид өөр сегмент рүү тэнүүчилж чаддаггүй. Наалттай хаягуудыг ашиглах өөр нэг жишээ нь IP хаягийн талбарыг дэмий үрэлгүйгээр хэрэглэгчийн сүлжээнүүд нь тусгаарлагдсан чиглүүлэгчийг үүсгэхийн тулд гүүрийг VLAN-уудтай нэгтгэх явдал юм. CustomerA нь vlan100 дээр CustomerB нь vlan101 дээр гэж үзье. Гүүр нь 192.168.0.1 гэсэн хаягтай бөгөөд бас интернэт чиглүүлэгч юм. &prompt.root; ifconfig bridge0 addm vlan100 sticky vlan100 addm vlan101 sticky vlan101 &prompt.root; ifconfig bridge0 inet 192.168.0.1/24 Хоёр клиент хоёулаа 192.168.0.1-г өөрсдийн анхдагч гарц гэж харах бөгөөд гүүрний кэш нь наалттай болохоор тэд өөрсдийн урсгалыг дундаас нь оруулах гэж нөгөө хэрэглэгчийнхээ MAC хаягийг ашиглан хуурч чадахгүй юм. VLAN-уудын хоорондох ямар ч холбоог хувийн интерфэйсүүд (эсвэл галт хана) ашиглан хааж болно: &prompt.root; ifconfig bridge0 private vlan100 private vlan101 Хэрэглэгчид нь нэг нэгнээсээ бүр мөсөн тусгаарлагдсан бөгөөд бүх /24 хаягийн бүсийг дэд сүлжээ болгон хуваалгүйгээр хуваарилж болно. SNMP монитор хийх Гүүр интерфэйс болон STP параметрүүдийг &os;-ийн үндсэн системд орсон байдаг SNMP демоны тусламжтайгаар монитор хийж болно. Экспорт хийгдсэн гүүрний MIB-үүд нь IETF-ийн стандартуудыг хангаж байдаг. Тийм болохоор дурын SNMP клиент эсвэл монитор хийдэг багцыг өгөгдлийг хүлээн авахад хэрэглэж болно. Гүүр машин дээр /etc/snmp.config файлд begemotSnmpdModulePath."bridge" = "/usr/lib/snmp_bridge.so" мөрийг тайлбар болгосныг болиулж bsnmpd дэмоныг эхлүүлэх хэрэгтэй. Community буюу нийгмийн нэрс болон хандалтын жагсаалтууд зэрэг бусад тохиргоонуудыг өөрчлөх шаардлагатай байж болно. Дэлгэрэнгүй мэдээллийг &man.bsnmpd.1; болон &man.snmp.bridge.3;-с үзнэ үү. Доор дурдсан жишээнүүд нь гүүрэнд хүсэлт илгээхийн тулд Net-SNMP програм хангамжийг (net-mgmt/net-snmp) ашиглаж байгаа бөгөөд net-mgmt/bsnmptools портыг бас ашиглаж болно. Гүүрний MIB тодорхойлолтуудыг Net-SNMP руу оруулж ирэхийн тулд SNMP клиент хост дээрээ $HOME/.snmp/snmp.conf файлд доор дурдсан мөрүүдийг нэмэх хэрэгтэй: mibdirs +/usr/share/snmp/mibs mibs +BRIDGE-MIB:RSTP-MIB:BEGEMOT-MIB:BEGEMOT-BRIDGE-MIB Ганц гүүрийг IETF BRIDGE-MIB (RFC4188)-ээр монитор хийхийн тулд доор дурдсаныг хийнэ &prompt.user; snmpwalk -v 2c -c public bridge1.example.com mib-2.dot1dBridge BRIDGE-MIB::dot1dBaseBridgeAddress.0 = STRING: 66:fb:9b:6e:5c:44 BRIDGE-MIB::dot1dBaseNumPorts.0 = INTEGER: 1 ports BRIDGE-MIB::dot1dStpTimeSinceTopologyChange.0 = Timeticks: (189959) 0:31:39.59 centi-seconds BRIDGE-MIB::dot1dStpTopChanges.0 = Counter32: 2 BRIDGE-MIB::dot1dStpDesignatedRoot.0 = Hex-STRING: 80 00 00 01 02 4B D4 50 ... BRIDGE-MIB::dot1dStpPortState.3 = INTEGER: forwarding(5) BRIDGE-MIB::dot1dStpPortEnable.3 = INTEGER: enabled(1) BRIDGE-MIB::dot1dStpPortPathCost.3 = INTEGER: 200000 BRIDGE-MIB::dot1dStpPortDesignatedRoot.3 = Hex-STRING: 80 00 00 01 02 4B D4 50 BRIDGE-MIB::dot1dStpPortDesignatedCost.3 = INTEGER: 0 BRIDGE-MIB::dot1dStpPortDesignatedBridge.3 = Hex-STRING: 80 00 00 01 02 4B D4 50 BRIDGE-MIB::dot1dStpPortDesignatedPort.3 = Hex-STRING: 03 80 BRIDGE-MIB::dot1dStpPortForwardTransitions.3 = Counter32: 1 RSTP-MIB::dot1dStpVersion.0 = INTEGER: rstp(2) dot1dStpTopChanges.0-ийн утга хоёр бөгөөд энэ нь STP гүүрний бүтэц хоёр удаа өөрчлөгдсөн гэдгийг харуулж байна. Бүтцийн өөрчлөлт гэдэг нь сүлжээн дэх нэг буюу олон холбоосууд өөрчлөгдсөн юм уу эсвэл амжилтгүй болсон бөгөөд шинэ мод тооцоологдсон гэсэн үг юм. dot1dStpTimeSinceTopologyChange.0-ийн утга ийм зүйл хэзээ болсныг харуулах болно. Олон гүүрний интерфэйсийг монитор хийхийн тулд хувийн BEGEMOT-BRIDGE-MIB-г ашиглаж болно: &prompt.user; snmpwalk -v 2c -c public bridge1.example.com enterprises.fokus.begemot.begemotBridge BEGEMOT-BRIDGE-MIB::begemotBridgeBaseName."bridge0" = STRING: bridge0 BEGEMOT-BRIDGE-MIB::begemotBridgeBaseName."bridge2" = STRING: bridge2 BEGEMOT-BRIDGE-MIB::begemotBridgeBaseAddress."bridge0" = STRING: e:ce:3b:5a:9e:13 BEGEMOT-BRIDGE-MIB::begemotBridgeBaseAddress."bridge2" = STRING: 12:5e:4d:74:d:fc BEGEMOT-BRIDGE-MIB::begemotBridgeBaseNumPorts."bridge0" = INTEGER: 1 BEGEMOT-BRIDGE-MIB::begemotBridgeBaseNumPorts."bridge2" = INTEGER: 1 ... BEGEMOT-BRIDGE-MIB::begemotBridgeStpTimeSinceTopologyChange."bridge0" = Timeticks: (116927) 0:19:29.27 centi-seconds BEGEMOT-BRIDGE-MIB::begemotBridgeStpTimeSinceTopologyChange."bridge2" = Timeticks: (82773) 0:13:47.73 centi-seconds BEGEMOT-BRIDGE-MIB::begemotBridgeStpTopChanges."bridge0" = Counter32: 1 BEGEMOT-BRIDGE-MIB::begemotBridgeStpTopChanges."bridge2" = Counter32: 1 BEGEMOT-BRIDGE-MIB::begemotBridgeStpDesignatedRoot."bridge0" = Hex-STRING: 80 00 00 40 95 30 5E 31 BEGEMOT-BRIDGE-MIB::begemotBridgeStpDesignatedRoot."bridge2" = Hex-STRING: 80 00 00 50 8B B8 C6 A9 mib-2.dot1dBridge дэд модоор монитор хийгдэж байгаа гүүрний интерфэйсийг солихын тулд доор дурдсаныг хийнэ: &prompt.user; snmpset -v 2c -c private bridge1.example.com BEGEMOT-BRIDGE-MIB::begemotBridgeDefaultBridgeIf.0 s bridge2 + + + + + Эндрю + Томпсон + Бичсэн + + + + Холбоос нэгтгэлт ба ослыг тойрон гарах (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 Холболт ажиллаж байгааг баталгаажуулахын тулд хост бүр уруу очоод нөгөө тал уруу ping хийнэ. Жишээ нь host1 дээр: &prompt.root; ifconfig plip0 plip0: flags=8851<UP,POINTOPOINT,RUNNING,SIMPLEX,MULTICAST> mtu 1500 inet 10.0.0.1 --> 10.0.0.2 netmask 0xff000000 &prompt.root; netstat -r Routing tables Internet: Destination Gateway Flags Refs Use Netif Expire host2 host1 UH 0 0 plip0 &prompt.root; ping -c 4 host2 PING host2 (10.0.0.2): 56 data bytes 64 bytes from 10.0.0.2: icmp_seq=0 ttl=255 time=2.774 ms 64 bytes from 10.0.0.2: icmp_seq=1 ttl=255 time=2.530 ms 64 bytes from 10.0.0.2: icmp_seq=2 ttl=255 time=2.556 ms 64 bytes from 10.0.0.2: icmp_seq=3 ttl=255 time=2.714 ms --- host2 ping statistics --- 4 packets transmitted, 4 packets received, 0% packet loss round-trip min/avg/max/stddev = 2.530/2.643/2.774/0.103 ms
Аарон Каплан Анхлан бичсэн Том Рөүдс Дахин бүтцийг өөрчилж нэмсэн Брэд Дэйвис Өргөтгөсөн IPv6 IPv6 (бас IPng IP next generation буюу дараа үеийн IP гэгддэг) нь олонд танигдсан IP протоколын (бас IPv4 гэгддэг) шинэ хувилбар юм. Одоогийн бусад *BSD системүүдийн адил FreeBSD нь KAME IPv6 лавлагаа шийдлийг агуулдаг. Тэгэхээр таны FreeBSD систем таныг IPv6-г туршихад хэрэгтэй бүхнийг агуулсан байдаг. Энэ хэсэг нь IPv6-г тохируулж ажиллуулах талаар анхаарлаа хандуулах болно. 1990 оны эхэн үеэс хүмүүс IPv4-ийн хаягийн хэмжээ хурдацтай багасаж байгааг мэдэх болсон. Интернэтийн өсөлтийн хурдаас хамаараад хоёр гол асуудал гарч ирсэн: Хаяггүй болж эхэлсэн. RFC1918 хувийн хаягийн талбар (10.0.0.0/8, 172.16.0.0/12, болон 192.168.0.0/16) болон Network Address Translation (NAT) буюу Сүлжээний хаягийн хөрвүүлэлтийг ашигладаг болсон болохоор өнөөдөр энэ нь тийм ч чухал асуудал байхаа больсон. Чиглүүлэгчийн хүснэгтийн оруулгууд хэтэрхий ихсэж байгаа явдал. Энэ нь өнөөдөр асуудал хэвээр байгаа билээ. IPv6 нь эдгээр асуудлууд болон өөр бусад олныг шийддэг: 128 битийн хаягийн талбар. Өөрөөр хэлбэл онолын хувьд 340,282,366,920,938,463,463,374,607,431,768,211,456 хаяг байна. Энэ нь манай гариг дээрх нэг квадрат метр бүрт ойролцоогоор 6.67 * 10^27 IPv6 хаяг байна гэсэн үг юм. Чиглүүлэгчүүд нь зөвхөн сүлжээний нийлбэр хаягуудыг өөрсдийн чиглүүлэлтийн хүснэгтүүдэд хадгалах бөгөөд ингэснээр чиглүүлэлтийн хүснэгтийн дундаж хэмжээг 8192 хүртэл бууруулдаг. IPv6-ийн бусад ашигтай олон боломжууд бас байдаг, тэдгээрээс дурдвал: Хаягийн автомат тохиргоо (RFC2462) Anycast хаягууд (one-out-of many буюу олноос ганц) Зайлшгүй шаардлагатай (mandatory) multicast хаягууд IPsec (IP security буюу нууцлаг) Хялбаршуулсан толгойн бүтэц Хөдөлгөөнт IP IPv6-to-IPv4 шилжилтийн арга замууд Дэлгэрэнгүй мэдээллийн талаар доороос үзнэ үү: playground.sun.com дэх IPv6-ийн тухай тойм KAME.net IPv6 хаягуудын тухай суурь мэдээлэл IPv6 хаягуудын өөр өөр төрлүүд байдаг: Unicast, Anycast, болон Multicast. Unicast хаягууд нь бидний мэддэг хаягууд юм. Unicast хаяг уруу илгээсэн пакет нь яг тэр хаягт харгалзах интерфэйс дээр ирдэг. Anycast хаягуудыг unicast хаягуудаас ялгах боломжгүй байдаг боловч тэдгээр нь бүлэг интерфэйсүүдийг хаягладаг. Anycast хаяг уруу чиглэсэн пакет хамгийн ойрын (чиглүүлэгчийн хэмжилтийн хувьд) интерфэйс дээр ирэх болно. Anycast хаягуудыг зөвхөн чиглүүлэгчид ашиглаж болох юм. Multicast хаягууд нь бүлэг интерфэйсүүдийг таньдаг. Multicast хаяг уруу чиглэсэн пакет нь multicast бүлэгт харьяалагдах бүх интерфэйсүүд дээр ирэх болно. IPv4 цацах (broadcast) хаяг (ихэвчлэн xxx.xxx.xxx.255) нь IPv6-ийн multicast хаягуудаар илэрхийлэгддэг. Нөөц IPv6 хаягууд IPv6 хаяг Prefixlength буюу угтварын урт (битээр) Тайлбар Тэмдэглэл :: 128 бит тодорхойлогдоогүй харьцуулбал IPv4 дэх 0.0.0.0 ::1 128 бит loopback буюу буцах хаяг харьцуулбал IPv4 дэх 127.0.0.1 ::00:xx:xx:xx:xx 96 бит суулгагдсан IPv4 Бага 32 бит нь IPv4 хаяг юм. Бас IPv4 нийцтэй IPv6 хаяг гэгддэг ::ff:xx:xx:xx:xx 96 бит IPv4-р илэрхийлэгдсэн IPv6 хаяг Бага 32 бит нь IPv4 хаяг юм. IPv6-г дэмждэггүй хостуудад зориулсан. fe80:: - feb:: 10 бит link-local харьцуулбал IPv4 дэх loopback буюу буцах хаяг fec0:: - fef:: 10 бит site-local   ff:: 8 бит multicast   001 (хоёртын системээр) 3 бит глобал unicast Бүх глобал unicast хаягууд нь энэ цөөрмөөс заагдана. Эхний 3 бит нь 001 байна.
IPv6 хаягуудыг унших нь Дүрмийн дагуу ийм хэлбэртэй байна: x:x:x:x:x:x:x:x хэлбэрийн байх бөгөөд x бүр нь 16 битийн арван зургаат утга байна. Жишээ нь FEBC:A574:382B:23C1:AA49:4592:4EFE:9982 Хаяг нь ихэнхдээ дандаа тэгүүдээс тогтох урт дэд хэсгүүдээс тогтож болох бөгөөд хаягийн тийм хэсгийг :: гэж хураангуйлж болно. Дөрвөн арван зургаат тооны гурав хүртэлх эхний 0-үүдийг орхиж бас болно. Жишээ нь fe80::1 нь дүрэмд заасан хэлбэрээр бол fe80:0000:0000:0000:0000:0000:0000:0001 байна. Гурав дахь хэлбэр нь сүүлийн 32 бит хэсгийг бидний мэддэг (аравтын) IPv4 загварын цэгүүдээр . тусгаарлаж бичих явдал юм. Жишээ нь 2002::10.0.0.1 нь (арван зургаатын) дүрэмд зааснаар 2002:0000:0000:0000:0000:0000:0a00:0001 болох бөгөөд үүнийг бас 2002::a00:1 гэж бичиж болох юм. Энэ хүртэл уншигч доор дурдсаныг ойлгож чадаж байх ёстой: &prompt.root; ifconfig rl0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500 inet 10.0.0.10 netmask 0xffffff00 broadcast 10.0.0.255 inet6 fe80::200:21ff:fe03:8e1%rl0 prefixlen 64 scopeid 0x1 ether 00:00:21:03:08:e1 media: Ethernet autoselect (100baseTX ) status: active fe80::200:21ff:fe03:8e1%rl0 нь автоматаар тохируулагдсан link-local хаяг юм. Энэ нь MAC хаягаас автомат тохиргооны хэсэг болон үүсгэгддэг. IPv6 хаягуудын бүтцийн тухай дэлгэрэнгүй мэдээллийг RFC3513 хаягаас үзнэ үү. Холбогдох нь Одоогоор бусад IPv6 хостууд болон сүлжээнүүдтэй холбогдох дөрвөн арга байдаг: Өөрийн дээд үйлчилгээ үзүүлэгчээсээ IPv6 сүлжээ авах. Зааврын талаар өөрийн Интернэтийн үйлчилгээ үзүүлэгчтэйгээ ярилцах хэрэгтэй. 6-аас-4 уруу туннель хийх (RFC3068) Хэрэв та dial-up холболт дээр байгаа бол net/freenet6 портыг ашиглах хэрэгтэй. IPv6 ертөнц дэх DNS IPv6-д зориулсан хоёр төрлийн DNS бичлэг байдаг. IETF нь A6 бичлэгийг хуучин, хэрэгцээнээс гарсан гэж зарласан. AAAA бичлэгүүд нь одоо стандарт болсон байгаа. AAAA бичлэгүүдийг ашиглах нь амархан. Өөрийн хостын нэрийг дөнгөж авсан шинэ IPv6 хаягт зааж доор дурдсаныг: MYHOSTNAME AAAA MYIPv6ADDR өөрийн анхдагч бүсийн DNS файл уруу нэмж өгнө. Та өөрийн DNS бүсүүдийг удирддаггүй бол өөрийн DNS үйлчилгээ үзүүлэгчээс асуух хэрэгтэй. bind (8.3 ба 9 хувилбар) болон dns/djbdns-ийн (IPv6 засвартай) одоогийн хувилбарууд AAAA бичлэгүүдийг дэмждэг. <filename>/etc/rc.conf</filename> файлд хэрэгцээтэй өөрчлөлтүүдийг хийх нь IPv6 клиентийн тохиргоонууд Эдгээр тохиргоонууд нь таны LAN-д байх машиныг чиглүүлэгч биш клиент маягаар ажиллуулахаар тохируулахад танд туслах болно. Таны интерфэйсийг ачаалах үед автоматаар &man.rtsol.8;-оор тохируулуулахын тулд таны нэмэх ёстой зүйл бол дараах мөр юм: ipv6_enable="YES" 2001:471:1f11:251:290:27ff:fee0:2093 зэрэг IP хаягийг өөрийн fxp0 интерфэйсд статикаар өгөхийн тулд доор дурдсаныг нэмнэ: ipv6_ifconfig_fxp0="2001:471:1f11:251:290:27ff:fee0:2093" 2001:471:1f11:251::1 анхдагч чиглүүлэгчийг зааж өгөхдөө доор дурдсаныг /etc/rc.conf файлд нэмнэ: ipv6_defaultrouter="2001:471:1f11:251::1" IPv6 чиглүүлэгч/гарцын тохиргоонууд Энэ нь таны туннелийн үйлчилгээ үзүүлэгчийн өгсөн чиглэлүүдийг авч тэдгээрийг дахин ачаалсан ч гэсэн үлдэхээр болгож тохиргоо болгон хөрвүүлэхэд танд туслах болно. Эхлүүлэх үед өөрийн туннелийг сэргээхийн тулд доор дурдсантай төстэйг /etc/rc.conf файлд ашиглана: Тохируулах Ердийн Туннель хийх интерфэйсүүдийг жагсаана. Жишээ нь gif0: gif_interfaces="gif0" MY_IPv4_ADDR гэсэн локал төгсгөлтэй интерфэйсийг REMOTE_IPv4_ADDR гэсэн алсын төгсгөл уруу тохируулахын тулд: gifconfig_gif0="MY_IPv4_ADDR REMOTE_IPv4_ADDR" Өөрийн IPv6 туннелийн төгсгөл болгон ашиглахаар таны зааж өгсөн IPv6 хаягийг хамааруулахын тулд доор дурдсаныг нэмнэ: ipv6_ifconfig_gif0="MY_ASSIGNED_IPv6_TUNNEL_ENDPOINT_ADDR" Тэгээд таны хийх зүйл чинь IPv6-д зориулж анхдагч чиглүүлэлт тохируулах явдал юм. Энэ нь IPv6 туннелийн нөгөө тал байх болно: ipv6_defaultrouter="MY_IPv6_REMOTE_TUNNEL_ENDPOINT_ADDR" IPv6 туннелийн тохиргоонууд Хэрэв сервер нь таны бусад сүлжээ болон гадаад ертөнцийн хооронд IPv6-г чиглүүлэх бол дараах /etc/rc.conf тохируулга бас хэрэгтэй болно: ipv6_gateway_enable="YES" Чиглүүлэгчийн зарлалт ба Хостын автомат тохиргоо Энэ хэсэг нь IPv6 анхдагч чиглүүлэлтийг зарлахын тулд &man.rtadvd.8;-г тохируулахад тань туслах болно. &man.rtadvd.8;-г идэвхжүүлэхийн тулд таны /etc/rc.conf файлд дараах тохиргоо хэрэгтэй болно: rtadvd_enable="YES" IPv6 чиглүүлэгчийн төлөөлөлт хийгдэх интерфэйсийг заах нь чухал юм. Жишээ нь &man.rtadvd.8;-д fxp0-г ашиглахыг хэлж өгөхийн тулд доор дурдсаныг нэмнэ: rtadvd_interfaces="fxp0" Одоо бид /etc/rtadvd.conf тохиргооны файл үүсгэх ёстой. Энд жишээ байна: fxp0:\ :addrs#1:addr="2001:471:1f11:246::":prefixlen#64:tc=ether: fxp0-г өөрийн ашиглах интерфэйсээр солих хэрэгтэй. Дараа нь 2001:471:1f11:246::-г өөрийн хуваарилалтын угтвараар солиорой. Хэрэв та /64 дэд сүлжээг зориулсан бол өөр бусад ямар ч өөрчлөлт хийх хэрэггүй. Хэрэв тийм биш бол та prefixlen# буюу угтварын уртыг зөв утгаар өөрчлөх шаардлагатай.
Харти Брандт Хувь нэмэр болгон оруулсан Asynchronous Transfer Mode (ATM) буюу Асинхрон Дамжуулах Горим ATM дээгүүр классик IP тохируулах нь (PVC-нүүд) Classical IP over ATM (CLIP) буюу ATM дээгүүрх классик IP нь Asynchronous Transfer Mode (ATM) буюу Асинхрон Дамжуулах Горимыг IP-тай ашиглах хамгийн энгийн арга юм. Энэ нь switched буюу шилжүүлэгдсэн (SVC-нүүд) ба permanent буюу байнгын (PVC-нүүд) холболтуудтай ашиглагдаж болдог. Энэ хэсэг нь сүлжээн дээр тулгуурласныг PVC-нүүд дээр хэрхэн тохируулах талаар тайлбарладаг. Бүрэн тор хэлбэрийн тохиргоонууд CLIP-ийг PVC-нүүдтэй тохируулах эхний арга нь машин бүрийг сүлжээн дэх бусад машин бүртэй зориулагдсан PVC-ээр холбох явдал юм. Үүнийг тохируулах хялбар байдаг боловч их олон тооны машинууд дээр бүтэшгүй байдаг. Энэ жишээ нь сүлжээнд бидэнд дөрвөн машин байгаа бөгөөд машин бүр ATM сүлжээнд ATM хувиргагч картын тусламжтай холбогдсон гэж үздэг. Эхний алхам нь IP хаягууд болон машинуудын хооронд ATM холболтуудыг төлөвлөх явдал юм. Бид доор дурдсаныг ашиглана: Хост IP хаяг hostA 192.168.173.1 hostB 192.168.173.2 hostC 192.168.173.3 hostD 192.168.173.4 Бүрэн тор хэлбэрийн сүлжээг бүтээхийн тулд машинуудын хослол бүрийн хооронд нэг ATM холболт бидэнд хэрэгтэй: Машинууд VPI.VCI хослол hostA - hostB 0.100 hostA - hostC 0.101 hostA - hostD 0.102 hostB - hostC 0.103 hostB - hostD 0.104 hostC - hostD 0.105 Холболтын төгсгөл бүр дэх VPI болон VCI утгууд нь мэдээж ялгаатай байх боловч амархан байлгах үүднээс бид тэдгээрийг адил гэж үзнэ. Дараа нь бид ATM интерфэйсүүдийг хост бүр дээр тохируулах хэрэгтэй болно: hostA&prompt.root; ifconfig hatm0 192.168.173.1 up hostB&prompt.root; ifconfig hatm0 192.168.173.2 up hostC&prompt.root; ifconfig hatm0 192.168.173.3 up hostD&prompt.root; ifconfig hatm0 192.168.173.4 up Ингэхдээ бүх хостууд дээр ATM интерфэйс нь hatm0 гэж үзэх болно. Одоо PVC-нүүд нь hostA дээр тохируулагдах шаардлагатай (бид тэдгээрийг ATM шилжүүлэгч дээр аль хэдийн тохируулагдсан гэж үзнэ, үүнийг хэрхэн хийхийг шилжүүлэгчийн гарын авлагаас лавлах хэрэгтэй). hostA&prompt.root; atmconfig natm add 192.168.173.2 hatm0 0 100 llc/snap ubr hostA&prompt.root; atmconfig natm add 192.168.173.3 hatm0 0 101 llc/snap ubr hostA&prompt.root; atmconfig natm add 192.168.173.4 hatm0 0 102 llc/snap ubr hostB&prompt.root; atmconfig natm add 192.168.173.1 hatm0 0 100 llc/snap ubr hostB&prompt.root; atmconfig natm add 192.168.173.3 hatm0 0 103 llc/snap ubr hostB&prompt.root; atmconfig natm add 192.168.173.4 hatm0 0 104 llc/snap ubr hostC&prompt.root; atmconfig natm add 192.168.173.1 hatm0 0 101 llc/snap ubr hostC&prompt.root; atmconfig natm add 192.168.173.2 hatm0 0 103 llc/snap ubr hostC&prompt.root; atmconfig natm add 192.168.173.4 hatm0 0 105 llc/snap ubr hostD&prompt.root; atmconfig natm add 192.168.173.1 hatm0 0 102 llc/snap ubr hostD&prompt.root; atmconfig natm add 192.168.173.2 hatm0 0 104 llc/snap ubr hostD&prompt.root; atmconfig natm add 192.168.173.3 hatm0 0 105 llc/snap ubr Мэдээж хэрэг UBR-с бусад урсгалын хэлэлцээнүүд хэрэв ATM хувиргагч тэдгээрийг дэмждэг бол ашиглагдаж болно. Энэ тохиолдолд урсгалын хэлэлцээний нэр нь урсгалын нэмэлт өгөгдлүүдийн дараа орж байна. &man.atmconfig.8; хэрэгсэлд зориулсан тусламжийг дараах тушаалыг ашиглан: &prompt.root; atmconfig help natm add авч болох бөгөөд эсвэл &man.atmconfig.8; гарын авлагаас авч болно. Үүнтэй адил тохиргоог /etc/rc.conf ашиглан бас хийж болно. hostA-ийн хувьд энэ нь иймэрхүү харагдана: network_interfaces="lo0 hatm0" ifconfig_hatm0="inet 192.168.173.1 up" natm_static_routes="hostB hostC hostD" route_hostB="192.168.173.2 hatm0 0 100 llc/snap ubr" route_hostC="192.168.173.3 hatm0 0 101 llc/snap ubr" route_hostD="192.168.173.4 hatm0 0 102 llc/snap ubr" Бүх CLIP чиглүүлэлтүүдийн тухайн үеийн төлвийг дараах тушаалаар авч болно: hostA&prompt.root; atmconfig natm show Том Рөүдс Хувь нэмэр болгон оруулсан Common Access Redundancy Protocol (CARP) буюу Олон хандалтын нийтлэг протокол CARP Common Access Redundancy Protocol Common Access Redundancy Protocol буюу CARP нь олон хостуудад нэг IP хаяг хуваалцах боломжийг олгодог. Зарим тохиргоонуудын хувьд үүнийг байнгын бэлэн байдал юм уу эсвэл ачаалал тэгш хуваарилахад ашиглаж болох юм. Энд дурдсан жишээний адилаар хостууд нь бас өөр өөр IP хаягууд ашиглаж болох юм. CARP-ийн дэмжлэгийг идэвхжүүлэхийн тулд &os; цөмийг дараах тохируулгатайгаар бүтээсэн байх хэрэгтэй: device carp CARP боломж нь одоо хүртээмжтэй болсон байх ёстой бөгөөд түүнийг хэд хэдэн sysctl-ийн OID-уудын тусламжтайгаар тааруулж болно. Төхөөрөмжүүдийг ifconfig тушаалаар ачаалж болно: &prompt.root; ifconfig carp0 create Жинхэнэ амьдрал дээр эдгээр интерфэйсүүдэд VHID гэгддэг давхардахгүй дугаарууд хэрэгтэй болно. Энэ VHID буюу Виртуал Хостын Үнэмлэх нь сүлжээн дэх хостыг ялгахад хэрэглэгдэх болно. Серверт хандах боломжийг байнга хангахын тулд CARP-ийг ашиглах нь (CARP) Дээр дурдсан CARP-ийн нэг хэрэглээ нь серверийн бэлэн байдалд зориулагджээ. Энэ жишээ нь өөр өөр IP хаягуудтай, ижил вэбийн агуулга бүхий гурван хостын хувьд байнгын бэлэн байдалд байх дэмжлэгийг харуулах болно. Эдгээр машинууд нь Тойрон Эргэх DNS тохиргоотойгоор ажиллах болно. Амжилтгүй болсон үед хандах нөөц машин нь хоёр нэмэлт CARP интерфэйстэй байх бөгөөд агуулгын сервер бүрийн IP-ний хувьд ашиглагдана. Хандалт амжилтгүй болоход амжилтгүй болсон машины IP хаягийг нөөц сервер авах ёстой. Энэ нь хэрэглэгчид амжилтгүй болсон нь мэдэгдэхгүй гэсэн үг юм. Нөөц сервер нь ачааллыг авах ёстой бол бусад агуулгын серверүүдтэй ижил агуулга болон үйлчилгээнүүдтэй байх ёстой. Хоёр машин нь өгөгдсөн хостын нэр болон VHID-үүдээс бусдаараа адилхан тохируулагдсан байх ёстой. Энэ жишээн дээр эдгээр машинуудыг hosta.example.org болон hostb.example.org гэж нэрлэсэн байгаа. Эхлээд CARP-ийн тохиргоонд шаардлагатай мөрүүдийг rc.conf файлд нэмэх хэрэгтэй. hosta.example.org хостын хувьд rc.conf файл доор дурдсан мөрүүдийг агуулсан байх ёстой: hostname="hosta.example.org" ifconfig_fxp0="inet 192.168.1.3 netmask 255.255.255.0" cloned_interfaces="carp0" ifconfig_carp0="vhid 1 pass testpast 192.168.1.50/24" hostb.example.org дээр доор дурдсан мөрүүдийг rc.conf файл агуулсан байх ёстой: hostname="hostb.example.org" ifconfig_fxp0="inet 192.168.1.4 netmask 255.255.255.0" cloned_interfaces="carp0" ifconfig_carp0="vhid 2 pass testpass 192.168.1.51/24" Хамгийн чухал нь ifconfig тушаалд тохируулгаар заагдсан нууц үгс нь адил байх ёстой. carp төхөөрөмжүүд нь зөвхөн зөв нууц үг бүхий машинуудаас ирэх зарлалтуудыг сонсох болно. VHID нь машин бүрийн хувьд өөр өөр байх ёстой. Гурав дахь provider.example.org машиныг аль нэг хост руу хандахад амжилтгүй болоход хандаж болохоор болгож бэлдэх хэрэгтэй. Энэ машинд хоёр carp төхөөрөмж хэрэгтэй болох бөгөөд нэг нэгээрээ хоёр хосттой ажиллах юм. rc.conf-ийн зөв тохиргооны мөрүүд доор дурдсантай төсөөтэй байх болно: hostname="provider.example.org" ifconfig_fxp0="inet 192.168.1.5 netmask 255.255.255.0" cloned_interfaces="carp0 carp1" ifconfig_carp0="vhid 1 advskew 100 pass testpass 192.168.1.50/24" ifconfig_carp1="vhid 2 advskew 100 pass testpass 192.168.1.51/24" Хоёр carp төхөөрөмжтэй байх нь хариу өгөхөө байсан аль нэг машиныг мэдэж IP хаягийг нь авах боломжийг provider.example.org хостод олгох болно. Анхдагч &os; цөм дээр preemption буюу өөр илүү өндөр давуу эрх бүхий бодлого/урсгалаар солигдох боломж идэвхжсэн байж болох юм. Хэрэв тийм бол provider.example.org нь IP хаягийг анхдагч агуулгын сервер рүү суллахгүй байж болох юм. Энэ тохиолдолд администратор интерфэйсийг нударч болох юм. Дараах тушаалыг provider.example.org дээр ажиллуулах шаардлагатай: &prompt.root; ifconfig carp0 down && ifconfig carp0 up Хостод тохирох carp интерфэйс дээр үүнийг хийх ёстой. Энэ хүрэхэд CARP бүрмөсөн идэвхжиж тест хийхэд бэлэн болсон байх ёстой. Сүлжээг дахин эхлүүлэх буюу эсвэл машинуудыг дахин ачаалаад тест хийгээрэй. Дэлгэрэнгүй мэдээллийг &man.carp.4; гарын авлагын хуудаснаас олж болно.
diff --git a/mn_MN.UTF-8/books/handbook/kernelconfig/chapter.sgml b/mn_MN.UTF-8/books/handbook/kernelconfig/chapter.sgml index 00c8e6a436..8ea104f60f 100644 --- a/mn_MN.UTF-8/books/handbook/kernelconfig/chapter.sgml +++ b/mn_MN.UTF-8/books/handbook/kernelconfig/chapter.sgml @@ -1,1351 +1,1357 @@ Жим Мок Шинэчилж дахин бүтцийг өөрчилсөн Жэйк Хэмби Анхлан хувь нэмэр болгож оруулсан Цагаанхүүгийн Ганболд Орчуулсан FreeBSD цөмийг тохируулах нь Ерөнхий агуулга цөм өөрчлөн тохируулж цөм бүтээх нь Цөм нь &os; үйлдлийн системийн гол зүрх юм. Энэ нь санах ойг удирдах, аюулгүй байдлын хяналтуудыг хийх, сүлжээнд холбогдох, диск уруу хандах зэрэг олон үйлдлүүдийг хариуцан хийдэг. &os; улам илүү динамикаар тохируулагдах болсон боловч зарим тохиолдолд цөмийг дахин тохируулж хөрвүүлэх шаардлага гардаг. Энэ бүлгийг уншсаны дараа, та дараах зүйлсийг мэдэх болно: Та магадгүй яагаад өөрт тохируулсан цөм бүтээх хэрэгтэй талаар. Цөмийн тохиргооны файлыг хэрхэн бичих эсвэл байгаа тохиргооны файлыг хэрхэн өөрчлөх талаар. Цөмийн тохиргооны файлыг хэрхэн ашиглаж шинэ цөм үүсгэж бүтээх талаар. Шинэ цөмийг хэрхэн суулгах талаар. Хэрэв юм буруугаар эргэвэл хэрхэн алдааг олох талаар. Энэхүү бүлгийн жишээнүүд дэх тушаалууд нь амжилттай болохын тулд root эрхээр ажиллах ёстой. Яагаад өөрчлөн тохируулсан цөм бүтээх хэрэгтэй вэ? Уламжлалаар бол &os; нь monolithic цөмтэй байсан байна. Энэ нь цөм тоотой хэдэн төхөөрөмжүүдийн жагсаалтыг дэмжсэн нэг том програм байсан гэсэн үг бөгөөд хэрэв та цөмийн ажиллагааг өөрчлөх бол шинэ цөм хөрвүүлж дараа нь компьютераа шинэ цөмөөр ачаалан эхлүүлэх шаардлагатай байсан билээ. Өнөөдөр &os; нь цөмийн ихэнх ажиллагаагаа шаардлагын дагуу динамикаар ачаалдаг ба цөмөөс буцааж буулгах боломж бүхий модулиудаар тусгаарлагдсан загвар уруу шилжиж байна. Энэ нь цөм шинэ тоног төхөөрөмжид (зөөврийн компьютер дэх PCMCIA картууд зэрэг) дасан зохицож түүнийг хурдан хүртээмжтэй болгох, эсвэл цөм анх хөрвүүлэгдэхдээ цөмд хэрэггүй байсан шинэ ажиллагааг цөмд бий болгох боломжийг бүрдүүлдэг. Үүнийг модульчлагдсан цөм хэмээдэг юм. Тэгсэн ч гэсэн зарим статик цөмийн тохиргоог заавал хийх шаардлагатай. Зарим тохиолдолд ажиллагаа нь цөмтэй нягт холбоотой учраас динамикаар ачаалахаар хийх боломжгүй байдаг юм. Бас энэ нь энгийнээр бол тэр үйл ажиллагаанд зориулж динамикаар ачаалах модулийг бичих цаг хэнд ч олдоогүй байж болох юм. Өөрчлөн тохируулсан цөм бүтээх нь BSD хэрэглэгчийн хувьд хамгийн чухал тэсвэрлэн давж гарах ажиллагаануудын нэг юм. Энэ процесс нь цаг их зарцуулах боловч таны &os; системд олон ашиг өгөх болно.Өргөн хүрээний тоног төхөөрөмжүүдийг дэмжих ёстой GENERIC цөмтэй харьцуулахад өөрчлөн тохируулсан цөм нь зөвхөн таны PC-ний тоног төхөөрөмжүүдийг дэмждэг. Энэ нь дараах хэд хэдэн ашигтай: Хурдан ачаалах хугацаа. Цөм нь таны систем дэх тоног төхөөрөмжүүдийг зөвхөн шалгах учраас системийг ачаалах хугацаа мэдэгдэхүйц багасдаг. Санах ойн ашиглалт багасна. Өөрчлөн тохируулсан цөм нь ихэнхдээ GENERIC цөмөөс бага санах ойг ашигладаг бөгөөд энэ нь их чухал юм, яагаад гэвэл цөм үргэлж жинхэнэ санах ойд байж байх шаардлагатай байдаг. Ийм учраас өөрчилсөн цөм нь бага хэмжээний RAM-тай систем дээр ялангуяа ашигтай байдаг. Нэмэлт тоног төхөөрөмжийн дэмжлэг. Дууны картууд зэрэг GENERIC цөмд байхгүй төхөөрөмжүүдийн дэмжлэгийг нэмэх боломжийг танд өөрчлөн тохируулсан цөм олгоно. Өөрчлөн тохируулсан цөмийг бүтээх ба суулгах нь цөм бүтээх / суулгах Эхлээд цөм бүтээх сангаар аялая. Дурдсан бүх сангуудаас гол нь /usr/src/sys сан байх бөгөөд /sys гэсэн замаар бас хандах боломжтой. Энд байгаа хэд хэдэн дэд сангууд цөмийн өөр өөр хэсгүүдийг илэрхийлэх бөгөөд бидний зорилгод хамгийн чухал нь таны өөрчлөн тохируулах цөмийн тохиргоог засварлах arch/conf сангууд болон таны цөм бүтээгдэх шатны талбар compile сан юм. arch нь i386, alpha, amd64, ia64, powerpc, sparc64, эсвэл pc98 (Японд их ашиглагддаг PC тоног төхөөрөмжийн өөр нэг хөгжүүлэлтийн салбар) зэргийг төлөөлдөг. Тухайн архитектурын сан доторх код зөвхөн тэр архитектуртай холбоотой; бусад кодын хэсэг нь &os; порт хийгдэх боломж бүхий бүх тавцангуудын хувьд адил машинаас чөлөөт код байна. Сангийн бүтцийн логик зохион байгуулалт нь дэмжлэг хийгдсэн төхөөрөмж, файлын систем болон өөрийн дэд санд байгаа тохируулга бүртэй хамт байгааг харж болно. Энэ бүлэг жишээн дээр таныг i386 архитектур ашиглаж байгаа гэж авч үзнэ. Хэрэв энэ нь таны хувьд өөр байх юм бол та өөрийн системийн архитектурын хувьд замуудын нэрнүүддээ тохирох өөрчлөлтүүдийг хийгээрэй. Хэрэв таны систем дээр /usr/src/sys сан байхгүй бол цөмийн эх суугаагүй байна. Үүнийг хамгийн хялбар аргаар хийхийн тулд root эрхээр sysinstall ажиллуулж Configure сонгоод, дараа нь Distributions сонгоод, src сонгоод, дараа нь base болон sys-г сонгож татаж авна. Хэрэв та sysinstall -д дургүй ба албан ёсны &os; CDROM-д хандах боломжтой бол тушаалын мөрөөс эхийг бас суулгаж болно: &prompt.root; mount /cdrom &prompt.root; mkdir -p /usr/src/sys &prompt.root; ln -s /usr/src/sys /sys &prompt.root; cat /cdrom/src/ssys.[a-d]* | tar -xzvf - &prompt.root; cat /cdrom/src/sbase.[a-d]* | tar -xzvf - Дараа нь arch/conf сан уруу шилжээд GENERIC тохиргооны файлыг та өөрийн цөмдөө өгөх нэр уруу хуул. Жишээ нь: &prompt.root; cd /usr/src/sys/i386/conf &prompt.root; cp GENERIC MYKERNEL Уламжлалаар бол энэ нэр нь бүгд том үсгээр байдаг, хэрэв та олон өөр өөр төрлийн &os; машинуудын ажиллагааг хянадаг бол машинуудынхаа нэрээр нэрлэх нь зохимжтой юм. Бид энэ жишээнийхээ зорилгоор MYKERNEL гэж нэрлэе. Өөрийн цөмийн тохиргооны файлаа шууд /usr/src доор хадгалах нь буруу байж болох юм. Хэрэв та асуудлуудтай тулгарч байгаа бол /usr/src -ийг устгаад л дахиж эхлэх нь зоригтой алхам байж болох юм. Гэхдээ үүнийг хийгээд хэдэн секундын дараа л та өөрийн өөрчлөн тохируулсан цөмийн тохиргооны файлаа устгасан болохоо мэдэх болно. Мөн GENERIC файлыг шууд засварлах хэрэггүй бөгөөд дараагийн удаа өөрийн эх модыг шинэчлэх үйлдлийг хийхэд дарагдан хуулагдаж таны цөмийн өөрчлөлт алдагдаж магадгүй. Та цөмийн тохиргооны файлаа өөр газар хадгалж дараа нь i386 сан дахь файл уруу тэмдэгт холбоос үүсгэж болно. Жишээ нь: &prompt.root; cd /usr/src/sys/i386/conf &prompt.root; mkdir /root/kernels &prompt.root; cp GENERIC /root/kernels/MYKERNEL &prompt.root; ln -s /root/kernels/MYKERNEL Одоо MYKERNEL -ийг өөрийн дуртай текст засварлагч дээр засаарай. Хэрэв та дөнгөж эхэлж байгаа бол байгаа цорын ганц засварлагч нь vi байж болох бөгөөд түүнийг энд тайлбарлахад хэтэрхий төвөгтэй боловч номын жагсаалтад байгаа өөр олон номнуудад бичсэн байгаа. Гэхдээ &os; нь ee гэдэг хялбар засварлагчийг санал болгодог бөгөөд хэрэв та эхлэн сурагч бол энэ нь таны сонгох засварлагч байх болно. Өөрийн тохиргоог тусгах эсвэл GENERIC файлаас өөрийн хийсэн өөрчлөлтүүдээс ялгахын тулд дээд хэсэгт байгаа мөрүүдийг чөлөөтэй өөрчлөөрэй. SunOS Хэрэв та &sunos; эсвэл өөр BSD үйлдлийн системийн доор цөм бүтээж байсан бол энэ файлын ихэнх хэсэг нь маш танил байх болно. Хэрэв та DOS зэрэг өөр үйлдлийн системээс ирж байгаа бол нөгөө талаасаа GENERIC тохиргооны файл төвөгтэй юм шиг санагдаж болох бөгөөд Тохиргооны файл хэсгийн тайлбаруудыг удаан нухацтай дагаарай. Хэрэв та &os; төслийн хамгийн сүүлийн эхээр өөрийн эх модоо сүүлийн үеийн хэлбэрт авчирсан бол шинэчлэх шатуудаа хэрэгжүүлж эхлэхээсээ өмнө /usr/src/UPDATING файлыг үргэлж шалгаж байх нь чухал юм. Энэ файл нь шинэчилсэн эх код доторх тусгай анхаарал шаардлагатай чухал асуудлууд эсвэл хэсгүүдийн талаар тайлбарладаг. /usr/src/UPDATING нь үргэлж таны &os; хувилбартай таардаг бөгөөд энэ гарын авлагаас илүү шинэ мэдээлэлтэй, сүүлийн үеийнх байдаг. Та цөмд зориулан эх кодоо хөрвүүлэх шаардлагатай. Цөмийг бүтээх нь /usr/src сан уруу орно: &prompt.root; cd /usr/src Цөмийг хөрвүүлнэ: &prompt.root; make buildkernel KERNCONF=MYKERNEL Шинэ цөмийг суулгана: &prompt.root; make installkernel KERNCONF=MYKERNEL Цөмийг бүтээхэд гүйцэд &os;-ийн эх мод байх шаардлагатай. Анхдагчаар өөрчлөн тохируулсан цөмийг бүтээхэд бүх цөмийн модулиуд бас бүтээгдэнэ. Хэрэв та цөмийг хурдан шинэчлэхийг эсвэл зөвхөн өөрчлөн тохируулсан модулиудыг бүтээхийг хүсэж байгаа бол цөмийг бүтээж эхлэхээсээ өмнө /etc/make.conf файлыг засварлах хэрэгтэй: MODULES_OVERRIDE = linux acpi sound/sound sound/driver/ds1 ntfs - Энэ хувьсагч нь бүгдийг биш бүтээх модулиудын жагсаалтыг тодорхойлдог. - Цөмийг бүтээх процессийн явцад танд хэрэг болохуйц бусад хувьсагчуудын тухайд - &man.make.conf.5; гарын авлагын хуудсанд хандаж үзнэ үү. + Энэ хувьсагч нь бүгдийг биш бүтээх модулиудын жагсаалтыг тодорхойлдог. + + WITHOUT_MODULES = linux acpi sound/sound sound/driver/ds1 ntfs + + Энэ хувьсагч нь бүтээх процессод оруулахгүй байх модулиудын жагсаалтыг + тодорхойлдог. Цөмийг бүтээх процессийн явцад танд хэрэг болохуйц бусад + хувьсагчуудын тухайд &man.make.conf.5; гарын авлагын хуудсанд хандаж + үзнэ үү. /boot/kernel.old Шинэ цөм /boot/kernel санд /boot/kernel/kernel нэрээр хуулагдах бөгөөд хуучин цөм нь /boot/kernel.old/kernel уруу хуулагдана. Одоо системийг унтраагаад шинэ цөмийг ашиглан дахин ачаал. Хэрэв ямар нэг юм болохгүй болбол энэ бүлгийн төгсгөлд байгаа алдааг олж засварлах заавар танд хэрэгтэй байж болох юм. Таны шинэ цөм ачаалахгүй тохиолдолд хэрхэн сэргээх талаар тайлбарласан хэсгийг заавал уншаарай. Ачаалах &man.loader.8; ба тохиргоо зэрэг ачаалах процесстой холбоотой бусад файлууд /boot -д хадгалагдана. Гуравдагч этгээдийн эсвэл өөрчлөн тохируулсан модулиуд /boot/kernel-д байрлах бөгөөд гэхдээ модулиудыг хөрвүүлсэн цөмийн адил сүүлийн үеийн хэлбэрт байлгах нь маш чухал гэдгийг хэрэглэгчид мэдэх шаардлагатай. Хөрвүүлсэн цөмтэй хамт ажиллуулахааргүй модулиуд нь тогтворгүй байдал эсвэл буруу ажиллагаанд хүргэж болзошгүй юм. Жоэл Даль &os; 6.X -д зориулан шинэчилсэн Тохиргооны файл цөм ТЭМДЭГЛЭЛҮҮД ТЭМДЭГЛЭЛҮҮД цөм тохиргооны файл Тохиргооны файлын ерөнхий хэлбэр нь маш энгийн билээ. Мөр болгон түлхүүр үг бөгөөд нэг болон хэд хэдэн нэмэлт өгөгдлөөс тогтоно. Амархан болгох үүднээс ихэнх мөрүүд нь зөвхөн нэг нэмэлт өгөгдөлтэй байна. # тэмдэгтийн ард байгаа зүйлс тайлбар бөгөөд хаягдаж тооцогдоно. Дараах хэсэгт түлхүүр үг болгоныг GENERIC -д жагсаасан дарааллаар нь тайлбарлаж байна. Архитектураас хамааралтай тохируулгууд болон төхөөрөмжийн ядраамаар жагсаалтын талаар GENERIC файл байгаа сангийн нэгэн адил санд байрлах NOTES файлаас үзнэ үү. Архитектураас хамааралгүй тохируулгуудын талаар /usr/src/sys/conf/NOTES файлаас үзнэ үү. Тест хийх зорилгоор ихэнхдээ бүх байгаа тохируулгууд агуулсан файлыг бүтээхдээ дараах тушаалыг root эрхээр ажиллуулна: &prompt.root; cd /usr/src/sys/i386/conf && make LINT цөм тохиргооны файл Дараах жишээ нь шаардлагатай бол тодотгох зорилгоор оруулсан төрөл бүрийн нэмэлт тайлбар бүхий GENERIC цөмийн тохиргооны файл юм. Энэ жишээ нь таны /usr/src/sys/i386/conf/GENERIC дахь хуулбартай их ойрхон таарах ёстой. цөмийн тохируулгууд machine machine i386 Энэ нь машины архитектур юм. Энэ нь alpha, amd64, i386, ia64, pc98, powerpc, эсвэл sparc64 -ийн аль нэг байх ёстой. цөмийн тохируулгууд cpu cpu I486_CPU cpu I586_CPU cpu I686_CPU Дараах тохируулга нь таны системд байгаа CPU-ийн төрлийг заана. Та олон CPU мөртэй байж болох боловч (хэрэв, жишээ нь та I586_CPU эсвэл I686_CPU хоёрын алийг ашиглахаа сайн мэдэхгүй байгаа бол) өөрчлөн тохируулсан цөмийн хувьд зөвхөн байгаа CPU-гээ заах нь зүйтэй юм. Хэрэв та өөрийн CPU-ийн төрлийг сайн мэдэхгүй байгаа бол /var/run/dmesg.boot файлыг шалгаж ачаалах үеийн мэдээллүүдийг үзэж болно. цөмийн тохируулгууд ident ident GENERIC Энэ нь цөмийг тодорхойлох нэр юм. Хэрэв та түрүүний жишээнүүдэд дурдсан заавруудыг дагасан бол өөрийн цөмийг нэрлэсэн шигээ өөрөөр хэлбэл MYKERNEL хэмээн өөрчлөх хэрэгтэй. ident мөрд оруулсан утга нь таныг цөмийг ачаалах үед хэвлэгдэн гарах учир та өөрийн ердийн цөмөөс шинэ цөмөө тусад нь хадгалахыг хүсвэл шинэ цөмдөө өөр нэр өгөх нь ашигтай байдаг (өөрөөр хэлбэл та туршилтын цөм бүтээхийг хүсвэл). #To statically compile in device wiring instead of /boot/device.hints #hints "GENERIC.hints" # Default places to look for devices. &man.device.hints.5; нь төхөөрөмжүүдийн драйверуудын тохируулгуудыг хийхэд ашиглагдана. &man.loader.8;-ийн ачаалах үе шалгах анхдагч байрлал нь /boot/device.hints байна. hints тохируулгыг ашиглаад та эдгээр зөвлөгөөнүүдийг статикаар хөрвүүлж болно. Тэгэхэд /boot дотор device.hints файл үүсгэх шаардлагагүй болох юм. makeoptions DEBUG=-g # Build kernel with gdb(1) debug symbols &os; -г бүтээх ердийн процесс нь дибаг (debug) хийх мэдээллийг агуулдаг бөгөөд цөмийг бүтээх үед тохируулгыг &man.gcc.1; уруу өгснөөр дибаг (debug) хийх мэдээлэл идэвхждэг. options SCHED_4BSD # 4BSD scheduler &os; -ийн уламжлалт, анхдагч системийн төлөвлөгч/хуваарилагч. Үүнийг үлдээ. options PREEMPTION # Enable kernel thread preemption Цөм дэх урсгалуудыг (thread) өөр илүү өндөр давуу эрхтэй урсгалуудаар солих боломжийг бүрдүүлнэ. Энэ нь харилцан ажиллах болон таслах урсгалуудыг (interrupt threads) хүлээлгэлгүйгээр аль болох түргэн ажиллуулахад тусалдаг. options INET # InterNETworking Сүлжээний дэмжлэг. Сүлжээнд холбогдохгүй ч гэсэн энэ тохиргоог үлдээгээрэй. Ихэнх програмууд эргэн холбогдох (loopback буюу өөрөөр хэлбэл өөрийн PC дотор сүлжээний холболт хийх) сүлжээг шаарддаг учир энэ нь үндсэндээ зайлшгүй шаардлагатай. options INET6 # IPv6 communications protocols Энэ нь IPv6 холбооны протоколуудыг идэвхжүүлдэг. options FFS # Berkeley Fast Filesystem Энэ нь энгийн хатуу дискний файлын систем. Энэ тохируулгыг хатуу дискнээс ачаалах бол үлдээгээрэй. options SOFTUPDATES # Enable FFS Soft Updates support Энэ тохируулга нь Зөөлөн Шинэчлэлүүдийг цөм идэвхжүүлдэг бөгөөд диск уруу бичих хандалтыг хурдасгахад тусалдаг. Хэдийгээр энэ боломжийг цөмөөр хангадаг боловч диск дээр идэвхжүүлэх шаардлагатай. Таны системийн дискнүүд дээр Зөөлөн Шинэчлэлүүд идэвхжсэн эсэхийг &man.mount.8; -ийн үр дүнгээр хянаарай. Хэрэв та soft-updates тохируулгыг олж харахгүй байгаа бол &man.tunefs.8; (одоо байгаа системийн хувьд) эсвэл &man.newfs.8; (шинэ файлын системийн хувьд) ашиглан идэвхжүүлэх хэрэгтэй. options UFS_ACL # Support for access control lists Энэ тохируулга нь хандалтыг хянах жагсаалтын дэмжлэгийг цөмд идэвхжүүлдэг. Энэ нь өргөтгөсөн шинж чанарууд ба UFS2-ийг ашиглахад тулгуурлаж байгаа бөгөөд энэ боломжийн талаар дээр дэлгэрэнгүй тайлбарласан байдаг. ACL-үүд эхэндээ идэвхжүүлсэн байдаг бөгөөд хэрэв урьд нь файлын систем дээр ашиглагдаж байсан бол хандалтыг хянах жагсаалтыг устгаж файлуудыг хамгаалсан аргыг урьдчилан тааж болшгүй байдалт хүргэдэг учир энэ тохируулгыг хааж болохгүй. options UFS_DIRHASH # Improve performance on big directories Энэ тохируулга нь нэмэгдэл санах ойг зарлагадаж том сангуудад хийх дискний үйлдлүүдийг хурдасгах ажиллагааг оруулдаг. Та том сервер эсвэл харилцан ажиллах ажлын станцад зориулж энэ тохируулгыг ерөнхийдөө хадгалах хэрэгтэй бөгөөд хэрэв та &os;-г санах ой чухал жижиг систем ба дискний хандалтын хурдны ач холбогдол багатай галт хана мэтийн систем дээр ашиглаж байгаа бол устгаарай. options MD_ROOT # MD is a potential root device Энэ тохируулга нь санах ой дээр тулгуурласан, root төхөөрөмж болж ашиглагдах виртуал дискний дэмжлэгийг идэвхжүүлдэг. цөмийн тохируулгууд NFS цөмийн тохируулгууд NFS_ROOT options NFSCLIENT # Network Filesystem Client options NFSSERVER # Network Filesystem Server options NFS_ROOT # NFS usable as /, requires NFSCLIENT Сүлжээний файлын систем. Хэрэв та TCP/IP-аар &unix; файлын серверээс хуваалтыг холболт хийх төлөвлөгөөгүй бол эдгээрийг тайлбар болгон хааж болно. цөмийн тохируулгууд MSDOSFS options MSDOSFS # MSDOS Filesystem &ms-dos; файлын систем. Хэрэв та DOS хэлбэржүүлсэн хатуу дискний хуваалтыг ачаалах үед холболт хийх төлөвлөгөөгүй бол үүнийг айлгүйгээр тайлбар болгон хааж болно. Энэ нь дээр тайлбарласны дагуу эхний удаа DOS хуваалтыг холболт хийхэд автоматаар ачаалагдах болно. Мөн маш сайн emulators/mtools програм хангамж нь холболт болон салгалт хийлгүйгээр DOS уян дискнүүдэд хандах боломжийг бүрдүүлдэг (энэ нь MSDOSFS-ийг огт шаарддаггүй). options CD9660 # ISO 9660 Filesystem CDROM-уудад зориулсан ISO 9660 файлын систем. Хэрэв та CDROM хөтлөгч байхгүй эсвэл CD-ээс өгөгдлийг хааяа холболт хийдэг бол (таныг анх өгөгдлийн CD-г холболт хийх үед динамикаар ачаалагддаг учраас) тайлбар болгож хааж болно. Дууны CD-үүд энэ файлын системийг хэрэглэдэггүй. options PROCFS # Process filesystem (requires PSEUDOFS) Процессийн файлын систем. Энэ нь &man.ps.1; шиг програмууд процессуудын ажиллаж байгаа талаар дэлгэрэнгүй мэдээлэл танд өгөх боломжийг бүрдүүлдэг /proc дээр холболт хийгдсэн хуурамч файлын систем юм. Ихэнх дибаг хийх ба монитор хийх хэрэгслүүд PROCFS -гүйгээр ажиллахаар хийгдсэн байдаг: суулгалтууд нь энэ файлын системийг анхдагчаар холболт хийхгүй, тиймээс PROCFS-ийг ашиглах нь ихэнх тохиолдолд шаардлагагүй байдаг. options PSEUDOFS # Pseudo-filesystem framework 6.X цөмүүд PROCFS ашиглаж байгаа бол бас PSEUDOFS дэмжлэгийг оруулах шаардлагатай. options GEOM_GPT # GUID Partition Tables. Энэ тохируулга нь нэг диск дээр их олон тооны хуваалт байх боломжийг авчирна. options COMPAT_43 # Compatible with BSD 4.3 [KEEP THIS!] 4.3BSD-тэй нийцтэй байх. Үүнийг энэ чигээр орхи; хэрэв үүнийг тайлбар болгож хаавал зарим програмууд сонин ажиллаж эхэлнэ. options COMPAT_FREEBSD4 # Compatible with &os;4 Энэ тохируулга нь &os; 5.X &i386; ба Alpha системүүд дээр &os;-ийн хуучин хувилбарууд дээр хөрвүүлэгдсэн, хуучин системийн дуудлагуудын интерфэйсүүдийг ашигладаг програмуудыг дэмжихэд шаардлагатай. Энэ тохируулгыг хуучин програмууд ашиглаж болзошгүй бүх &i386; болон Alpha системүүд дээр ашиглахыг зөвлөж байна; ia64 ба &sparc64; зэрэг 5.X дээр зөвхөн дэмжлэг хийгдсэн тавцангууд энэ тохируулгыг шаарддаггүй. options COMPAT_FREEBSD5 # Compatible with &os;5 Энэ тохируулга нь &os; 5.X системийн дуудлагын интерфэйсүүдийг ашигладаг, &os; 5.X хувилбарууд дээр эмхэтгэгдсэн програмуудыг &os; 6.X болон түүнээс дараа үеийн хувилбарууд дээр дэмжихэд шаардлагатай. options SCSI_DELAY=5000 # Delay (in ms) before probing SCSI Энэ нь цөмийг SCSI төхөөрөмжүүдийг шалгаж эхлэхээс өмнө 5 секунд түр зогсооно. Хэрэв та зөвхөн IDE хатуу дисктэй бол үүнийг орхиж болно, эсрэг тохиолдолд ачаалалтыг хурдасгахын тулд энэ тоог багасгаж болно. Мэдээж та үүнийг хийгээд &os; таны SCSI төхөөрөмжүүдийг танихгүй бол та дахин үүнийг ихэсгэж болно. options KTRACE # ktrace(1) support Энэ нь дибаг хийхэд ашигтай, цөмийн процессийг дагах боломжийг идэвхжүүлдэг. options SYSVSHM # SYSV-style shared memory Энэ тохируулга нь System V хуваалцсан санах ойн боломж бүрдүүлдэг. Энэ боломжийн өргөн хэрэглээнүүдийн нэг нь X дэх XSHM өргөтгөл бөгөөд үүнийг график их шаарддаг олон програмууд автоматаар илүү хурд авахын тулд ашигладаг. Хэрэв та X ашигладаг бол үүнийг заавал оруулахыг хүсэх болно. options SYSVMSG # SYSV-style message queues System V мэдээллүүдийн дэмжлэг. Энэ тохируулга нь зөвхөн хэдхэн зуун байтыг цөмд нэмдэг. options SYSVSEM # SYSV-style semaphores System V семафорын дэмжлэг. Нэг их өргөн ашиглагддаггүй боловч хэдхэн зуун байтыг цөмд нэмдэг. &man.ipcs.1; тушаалын тохируулга нь эдгээр System V боломж бүрийг ашигласан процессуудыг жагсаадаг. options _KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B real-time extensions Жинхэнэ-хугацааны (real-time) өргөтгөлүүд 1993 оны &posix;-д нэмэгдсэн.Портуудын цуглуулгаас зарим програмууд эдгээрийг ашигладаг (&staroffice;). options KBD_INSTALL_CDEV # install a CDEV entry in /dev Энэ тохируулга нь гартай холбоотой. Энэ нь CDEV оруулгыг /dev-д суулгадаг. options ADAPTIVE_GIANT # Giant mutex is adaptive. Giant гэдэг нь харилцан нэгийгээ оруулахгүй байх зарчмын (унтах мутекс) нэр бөгөөд энэ нь цөмийн их эх үүсвэрүүдийг хамгаалдаг. Өнөөдөр энэ нь үйл ажиллагааны саатаж байгаа хүлээн авах боломжгүй хэсэг бөгөөд үүнийг эх үүсвэр бүрийг хамгаалах цоожуудаар идэвхтэйгээр сольж байгаа билээ. ADAPTIVE_GIANT тохируулга нь хэсэг бүлэг мутексуудад Giant-ийг адаптиваар эргэхээр оруулдаг. Энэ нь урсгал (thread) Giant мутексийг цоожлохыг хүсэж байх үед, гэхдээ энэ нь өөр CPU дээр урсгалаар цоожлогдсон байна, эхний урсгал цоож сулрахыг хүлээн ажилласаар байна. Хэвийн үед урсгал унтаа байдалд эргэж орох бөгөөд өөрийн дараагийн ажиллах боломжийг хүлээнэ. Та итгэлгүй байгаа бол үүнийг орхино уу. цөмийн тохируулгууд SMP device apic # I/O APIC apic төхөөрөмж нь I/O APIC-ийг тасалдал хүргэхэд ашиглах боломжийг нээдэг. apic төхөөрөмж нь UP болон SMP цөмүүдэд хоёуланд нь ашиглагдаж болох бөгөөд гэхдээ SMP цөмд зайлшгүй шаардлагатай. options SMP мөрийг нэмж олон процессорын дэмжлэгийг оруулна уу. apic төхөөрөмж нь зөвхөн i386 архитектур дээр байдаг бөгөөд энэ тохиргооны мөрийг бусад архитектурууд дээр ашиглах ёсгүй юм. device eisa Хэрэв та EISA эх хавтантай бол үүнийг оруулаарай. Энэ нь EISA шугамын бүх төхөөрөмжүүдийн хувьд автомат илрүүлэлт болон тохиргооны дэмжлэгийг нээж өгдөг. device pci Хэрэв та PCI эх хавтантай бол үүнийг оруулаарай. Энэ нь PCI картуудыг автомат илрүүлэлт болон PCI-аас ISA шугам уруу гарах дэмжлэгийг нээж өгдөг. # Floppy drives device fdc Энэ нь уян диск хөтлөгчийн хянагч. # ATA and ATAPI devices device ata Энэ драйвер бүх ATA болон ATAPI төхөөрөмжүүдийг дэмждэг. Орчин үеийн машинуудын бүх PCI ATA/ATAPI төхөөрөмжүүдийг илрүүлэхийн тулд зөвхөн нэг device ata мөр таны цөмд хэрэгтэй. device atadisk # ATA disk drives Энэ нь device ata мөртэй цуг ATA дискний төхөөрөмжүүдэд хэрэгтэй. device ataraid # ATA RAID drives Энэ нь device ata мөртэй цуг ATA RAID хөтлөгчүүдэд хэрэгтэй. device atapicd # ATAPI CDROM drives Энэ нь device ata мөртэй цуг ATA CDROM хөтлөгчүүдэд хэрэгтэй. device atapifd # ATAPI floppy drives Энэ нь device ata мөртэй цуг ATA уян дискний хөтлөгчүүдэд хэрэгтэй. device atapist # ATAPI tape drives Энэ нь device ata мөртэй цуг ATA соронзон хальсны хөтлөгчүүдэд хэрэгтэй. options ATA_STATIC_ID # Static device numbering Энэ нь хянагчийн дугаарыг статик болгох бөгөөд энэнгүйгээр төхөөрөмжийн дугаарууд динамикаар өгөгддөг. # SCSI Controllers device ahb # EISA AHA1742 family device ahc # AHA2940 and onboard AIC7xxx devices options AHC_REG_PRETTY_PRINT # Print register bitfields in debug # output. Adds ~128k to driver. device ahd # AHA39320/29320 and onboard AIC79xx devices options AHD_REG_PRETTY_PRINT # Print register bitfields in debug # output. Adds ~215k to driver. device amd # AMD 53C974 (Teckram DC-390(T)) device isp # Qlogic family #device ispfw # Firmware for QLogic HBAs- normally a module device mpt # LSI-Logic MPT-Fusion #device ncr # NCR/Symbios Logic device sym # NCR/Symbios Logic (newer chipsets + those of `ncr') device trm # Tekram DC395U/UW/F DC315U adapters device adv # Advansys SCSI adapters device adw # Advansys wide SCSI adapters device aha # Adaptec 154x SCSI adapters device aic # Adaptec 15[012]x SCSI adapters, AIC-6[23]60. device bt # Buslogic/Mylex MultiMaster SCSI adapters device ncv # NCR 53C500 device nsp # Workbit Ninja SCSI-3 device stg # TMC 18C30/18C50 SCSI хянагчууд. Таны системд байхгүй байгааг тайлбар болгон хаана уу. Хэрэв та зөвхөн IDE системтэй бол эдгээр мөрүүдийг бүгдийг устгаж болно. *_REG_PRETTY_PRINT мөрүүд нь өөр өөрийнхөө тохирох драйверуудад зориулагдсан дибаг хийх тохируулгууд юм. # SCSI peripherals device scbus # SCSI bus (required for SCSI) device ch # SCSI media changers device da # Direct Access (disks) device sa # Sequential Access (tape etc) device cd # CD device pass # Passthrough device (direct SCSI access) device ses # SCSI Environmental Services (and SAF-TE) SCSI захын төхөөрөмжүүд. Дахин хэлэхэд таны системд байхгүй байгааг тайлбар болгон хаагаарай эсвэл та зөвхөн IDE тоног төхөөрөмжтэй бол эдгээр мөрүүдийг бүгдийг устгаж болно. USB &man.umass.4; драйвер болон бусад цөөн хэдэн драйверууд жинхэнэ SCSI төхөөрөмжүүд биш боловч SCSI дэд системийг ашигладаг. Тийм болохоор хэрэв цөмийн тохиргоонд тийм драйверууд орсон байвал SCSI дэмжлэгийг устгаагүй эсэхээ шалгаарай. # RAID controllers interfaced to the SCSI subsystem device amr # AMI MegaRAID device arcmsr # Areca SATA II RAID device asr # DPT SmartRAID V, VI and Adaptec SCSI RAID device ciss # Compaq Smart RAID 5* device dpt # DPT Smartcache III, IV - See NOTES for options device hptmv # Highpoint RocketRAID 182x device rr232x # Highpoint RocketRAID 232x device iir # Intel Integrated RAID device ips # IBM (Adaptec) ServeRAID device mly # Mylex AcceleRAID/eXtremeRAID device twa # 3ware 9000 series PATA/SATA RAID # RAID controllers device aac # Adaptec FSA RAID device aacp # SCSI passthrough for aac (requires CAM) device ida # Compaq Smart RAID device mfi # LSI MegaRAID SAS device mlx # Mylex DAC960 family device pst # Promise Supertrak SX6000 device twe # 3ware ATA RAID Дэмжигдсэн RAID хянагчууд. Хэрэв танд эдгээрээс нэг нь ч байхгүй бол тайлбар болгон хааж эсвэл устгаж болно. # atkbdc0 controls both the keyboard and the PS/2 mouse device atkbdc # AT keyboard controller Гарын хянагч (atkbdc) AT гар ба PS/2 загварын заагч төхөөрөмжүүдэд I/O үйлчилгээнүүдийг хангадаг. Энэ хянагчийг гарын драйвер (atkbd) болон PS/2 заагч төхөөрөмжийн драйвер (psm) шаарддаг. device atkbd # AT keyboard atkbd драйвер нь atkbdc хянагчтай цуг AT гарын хянагчид залгасан AT 84 гар болон AT өргөжүүлсэн гаруудад хандах боломж олгодог. device psm # PS/2 mouse Хэрэв таны хулгана PS/2 порт уруу залгагдаж байгаа бол энэ төхөөрөмжийг ашиглана уу. device kbdmux # keyboard multiplexer Олон гар залгах боломжийн анхны дэмжлэг. Хэрэв та систем дээрээ нэгээс олон гар ашиглахгүй бол энэ мөрийг аюулгүйгээр устгаж болно. device vga # VGA video card driver Видео картын драйвер. device splash # Splash screen and screen saver support Эхлэх үе дэх хоромхон зуур гарах дэлгэц! Дэлгэц амраагчид нь үүнийг бас шаарддаг. # syscons is the default console driver, resembling an SCO console device sc sc нь анхдагч консолийн драйвер бөгөөд SCO консолыг дуурайдаг. Ихэнх бүрэн дэлгэцийн програмууд консол уруу termcap зэрэг терминалийн өгөгдлийн баазын сангийн тусламжтайгаар ханддаг бөгөөд үүнийг ашиглах эсэх эсвэл VT220-тай нийцтэй консол драйвер болох vt-ийг ашиглах эсэх нь хамаагүй юм. Та нэвтэрсний дараа бүрэн дэлгэцийн програмууд энэ консол дээр ажиллахдаа асуудалтай байвал өөрийн TERM хувьсагчаа scoansi болгоорой. # Enable this for the pcvt (VT220 compatible) console driver #device vt #options XSERVER # support for X server on a vt console #options FAT_CURSOR # start with block cursor Энэ нь VT100/102-той арагшаагаа нийцтэй, VT220-той нийцтэй консол драйвер юм. Энэ нь sc-тэй нийцгүй зарим зөөврийн компьютер дээр сайн ажилладаг. Та нэвтэрсний дараа өөрийн TERM хувьсагчаа vt100 эсвэл vt220 болгоорой. Мөн энэ драйвер нь sc төхөөрөмжүүдэд зориулсан termcap эсвэл terminfo оруулгууд ихэнхдээ байхгүй байдаг асар олон тооны өөр өөр машинууд уруу сүлжээгээр дамжин холбогдох үед ашигтай байж болно — vt100 нь виртуалаар дурын тавцан дээр байх ёстой. device agp Хэрэв та систем дээрээ AGP карттай бол үүнийг оруулна уу. Энэ нь AGP болон AGP GART-ийн дэмжлэгийг эдгээр боломжуудаас тогтсон хавтанд зориулж нээнэ. APM # Power management support (see NOTES for more options) #device apm Тэжээлийн Нарийн Удирдлагын дэмжлэг. Зөөврийн компьютеруудад ашигтай, гэхдээ энэ нь &os; 5.X болон түүнээс хойшх хувилбаруудад GENERIC-д анхдагчаар хаалттай байдаг. # Add suspend/resume support for the i8254. device pmtimer APM болон ACPI зэрэг тэжээл удирдах үйл явцуудад зориулсан таймер төхөөрөмжийн драйвер. # PCCARD (PCMCIA) support # PCMCIA and cardbus bridge support device cbb # cardbus (yenta) bridge device pccard # PC Card (16-bit) bus device cardbus # CardBus (32-bit) bus PCMCIA дэмжлэг. Зөөврийн компьютер ашиглаж байгаа бол энэ танд хэрэгтэй. # Serial (COM) ports device sio # 8250, 16[45]50 based serial ports Эдгээр нь &ms-dos;/&windows; ертөнцөд COM портууд хэмээгддэг сериал портууд юм . Хэрэв та COM4 дээр дотуур модемтой бөгөөд COM2 дээр сериал порттой бол &os; -ээс хандахын тулд та модемийн IRQ-г 2 (ойлгоход амаргүй техникийн шалтгаанаар, IRQ2 = IRQ 9) болгож өөрчлөх хэрэгтэй. Хэрэв та олон порттой сериал карттай бол өөрийн /boot/device.hints файлд нэмэх зөв утгуудын талаар дэлгэрэнгүй мэдээллийг &man.sio.4; гарын авлагаас шалгаарай. Зарим видео картууд (S3 бичил схем дээр үндэслэснүүдийг дурдаж болно) 0x*2e8 хэлбэртэй IO хаягуудыг ашигладаг бөгөөд олон хямд сериал картууд 16-бит хаягийн зайг бүрэн декод хийж чаддаггүй учир энэ нь тэдгээр карттай зөрчилдөж COM4 портыг бараг л ашиглах боломжгүй болгодог. Сериал порт болгон бусдаас ялгаатай IRQ -тай байх (хуваалцсан тасалдал ашиглахыг дэмждэг олон порттой картуудын нэгийг ашиглаж байгаагаас бусад тохиолдолд) шаардлагатай учир COM3 болон COM4-ийн анхдагч IRQ-үүдийг ашиглаж болохгүй. # Parallel port device ppc Энэ нь ISA-шугамын параллел порт интерфэйс юм. device ppbus # Parallel port bus (required) Параллел портын шугамын дэмжлэгийг хангадаг. device lpt # Printer Параллел порт хэвлэгчүүдийн дэмжлэг. Параллел хэвлэгчийн дэмжлэгийг нээхэд дээрх гурав гурвуулаа шаардлагатай. device plip # TCP/IP over parallel Энэ нь параллел сүлжээний интерфэйсд зориулсан драйвер юм. device ppi # Parallel port interface device Ерөнхий-зориулалтын I/O (geek port) + IEEE1284 I/O. #device vpo # Requires scbus and da zip drive Энэ нь Iomega Zip хөтлөгчид зориулагдсан юм. scbus болон da дэмжлэгийг шаарддаг. EPP 1.9 горимд байгаа портуудын тусламжтай хамгийн сайн ажиллагаанд хүрдэг. #device puc Хэрэв та &man.puc.4; цавуу драйвераар дэмжигддэг дүлий сериал эсвэл параллел PCI карттай бол энэ төхөөрөмжийг тайлбар болгосныг болиулаарай. # PCI Ethernet NICs. device de # DEC/Intel DC21x4x (Tulip) device em # Intel PRO/1000 adapter Gigabit Ethernet Card device ixgb # Intel PRO/10GbE Ethernet Card device txp # 3Com 3cR990 (Typhoon) device vx # 3Com 3c590, 3c595 (Vortex) Төрөл бүрийн PCI сүлжээний картуудын драйверууд. Эдгээрээс таны системд байхгүйг тайлбар болгон хааж эсвэл устгаарай. # PCI Ethernet NICs that use the common MII bus controller code. # NOTE: Be sure to keep the 'device miibus' line in order to use these NICs! device miibus # MII bus support MII шугамын дэмжлэг нь зарим PCI 10/100 Ethernet NIC-үүдэд шаардлагатай бөгөөд тухайлбал MII-д нийцтэй дамжуулагч-хүлээн авагчууд эсвэл MII-тэй адил ажилладаг дамжуулагч-хүлээн авагчийн хяналтын интерфэйсүүдийг дурдаж болно. device miibus мөрийг цөмийн тохиргоонд нэмснээр ердийн miibus API болон тусдаа драйвераар дэмжигдээгүй PHY-уудад зориулсан ердийн драйвер зэрэг бүх PHY драйверуудын дэмжлэгийг оруулах болно. device bce # Broadcom BCM5706/BCM5708 Gigabit Ethernet device bfe # Broadcom BCM440x 10/100 Ethernet device bge # Broadcom BCM570xx Gigabit Ethernet device dc # DEC/Intel 21143 and various workalikes device fxp # Intel EtherExpress PRO/100B (82557, 82558) device lge # Level 1 LXT1001 gigabit ethernet +device msk # Marvell/SysKonnect Yukon II Gigabit Ethernet device nge # NatSemi DP83820 gigabit ethernet device nve # nVidia nForce MCP on-board Ethernet Networking device pcn # AMD Am79C97x PCI 10/100 (precedence over 'lnc') device re # RealTek 8139C+/8169/8169S/8110S device rl # RealTek 8129/8139 device sf # Adaptec AIC-6915 (Starfire) device sis # Silicon Integrated Systems SiS 900/SiS 7016 device sk # SysKonnect SK-984x & SK-982x gigabit Ethernet device ste # Sundance ST201 (D-Link DFE-550TX) device stge # Sundance/Tamarack TC9021 gigabit Ethernet device ti # Alteon Networks Tigon I/II gigabit Ethernet device tl # Texas Instruments ThunderLAN device tx # SMC EtherPower II (83c170 EPIC) device vge # VIA VT612x gigabit ethernet device vr # VIA Rhine, Rhine II device wb # Winbond W89C840F device xl # 3Com 3c90x (Boomerang, Cyclone) MII шугамын хянагчийн кодыг ашигладаг драйверууд. # ISA Ethernet NICs. pccard NICs included. device cs # Crystal Semiconductor CS89x0 NIC # 'device ed' requires 'device miibus' device ed # NE[12]000, SMC Ultra, 3c503, DS8390 cards device ex # Intel EtherExpress Pro/10 and Pro/10+ device ep # Etherlink III based cards device fe # Fujitsu MB8696x based cards device ie # EtherExpress 8/16, 3C507, StarLAN 10 etc. device lnc # NE2100, NE32-VL Lance Ethernet cards device sn # SMC's 9000 series of Ethernet chips device xe # Xircom pccard Ethernet # ISA devices that use the old ISA shims #device le ISA Ethernet драйверууд. Аль картууд аль драйвераар дэмжигддэг талаар дэлгэрэнгүйг /usr/src/sys/i386/conf/NOTES-ээс харна уу. # Wireless NIC cards device wlan # 802.11 support 802.11-ийн ерөнхий дэмжлэг. Энэ мөр нь утасгүй сүлжээнд шаардлагатай. device wlan_wep # 802.11 WEP support device wlan_ccmp # 802.11 CCMP support device wlan_tkip # 802.11 TKIP support 802.11 төхөөрөмжүүдэд зориулагдсан криптограф дэмжлэг. Хэрэв та шифрлэлт болон 802.11i нууцлалын протоколуудыг ашиглахаар шийдсэн бол эдгээр мөрүүд шаардлагатай. device an # Aironet 4500/4800 802.11 wireless NICs. device ath # Atheros pci/cardbus NIC's device ath_hal # Atheros HAL (Hardware Access Layer) device ath_rate_sample # SampleRate tx rate control for ath device awi # BayStack 660 and others device ral # Ralink Technology RT2500 wireless NICs. device wi # WaveLAN/Intersil/Symbol 802.11 wireless NICs. #device wl # Older non 802.11 Wavelan wireless NIC. Төрөл бүрийн утасгүй сүлжээний картуудын дэмжлэг. # Pseudo devices device loop # Network loopback Энэ нь TCP/IP-д зориулсан өөртөө эргэн холбогдох ерөнхий төхөөрөмж юм. Хэрэв та localhost (өөрөөр бас 127.0.0.1) уруу telnet эсвэл FTP хийвэл энэ нь тань уруу энэ төхөөрөмжөөр эргэж ирнэ.Энэ нь зайлшгүй шаардлагатай. device random # Entropy device Шифрлэлтийн хувьд аюулгүй дурын тоо үүсгэгч. device ether # Ethernet support Танд Ethernet карт байгаа тохиолдолд зөвхөн ether хэрэгтэй. Энэ нь ерөнхий Ethernet протоколын кодыг агуулдаг. device sl # Kernel SLIP sl нь SLIP-ийн дэмжлэг юм. Энэ нь хялбар суулгаж тохируулдаг, модемоос модем уруу холболт хийхэд илүү зохицсон, илүү чадалтай PPP-ээр бараг бүхэлдээ солигдсон юм. device ppp # Kernel PPP Энэ нь дайл-ап холболтын цөм дэх PPP дэмжлэгт зориулагдсан. Мөн tun-ийг ашиглаж илүү уян хатан чанар болон шаардлагаар залгах зэрэг боломжууд бүхий PPP-ийн хэрэглэгчийн талбарын програм маягаар хийгдсэн хувилбар ч бас байдаг. device tun # Packet tunnel. Энэ хэрэглэгчийн талбарын PPP програм хангамжид ашиглагддаг. Дэлгэрэнгүй мэдээллийг энэ номын PPP хэсгээс үзнэ үү. device pty # Pseudo-ttys (telnet etc) Энэ нь псевдо-терминал эсвэл жинхэнэ биш (simulated) нэвтрэх порт юм. Энэ нь ирж байгаа telnet болон rlogin сессүүд, xterm, болон Emacs зэрэг бусад програмуудад ашиглагддаг. device md # Memory disks Санах ойн диск псевдо-төхөөрөмжүүд. device gif # IPv6 and IPv4 tunneling Энэ нь IPv4 дээгүүрх IPv6, IPv6 дээгүүрх IPv4, IPv4 дээгүүрх IPv4, болон IPv6 дээгүүрх IPv6 хоолойнуудыг хийдэг. gif төхөөрөмж нь авто-клон хийх чадвартай бөгөөд төхөөрөмжийн цэгүүдийг хэрэгцээгээрээ үүсгэдэг. device faith # IPv6-to-IPv4 relaying (translation) Энэ псевдо-төхөөрөмж нь түүн уруу илгээсэн пакетуудыг барьж аваад IPv4/IPv6 хувиргагч дэмон уруу замыг өөрчлөн явуулдаг. # The `bpf' device enables the Berkeley Packet Filter. # Be aware of the administrative consequences of enabling this! # Note that 'bpf' is required for DHCP. device bpf # Berkeley packet filter Энэ нь Беркли Пакет Шүүгч юм. Энэ псевдо-төхөөрөмж нь цацаж байгаа сүлжээн (өөрөөр хэлбэл Ethernet) дэх бүх пакетуудыг барьж авдаг, бүгдийг сонсох горимд сүлжээний интерфэйсүүдийг шилжүүлэх боломж олгодог. Эдгээр пакетуудыг дискэнд хадгалах болон эсвэл &man.tcpdump.1; програмаар шалгаж болно. Анхдагч чиглүүлэгчийн (гарц) болон бусад IP хаягийг &man.dhclient.8; олж авахад &man.bpf.4; төхөөрөмжийг бас ашигладаг. Хэрэв та DHCP ашиглаж байгаа бол үүнийг тайлбар болголгүй орхиорой. # USB support device uhci # UHCI PCI->USB interface device ohci # OHCI PCI->USB interface device ehci # EHCI PCI->USB interface (USB 2.0) device usb # USB Bus (required) #device udbp # USB Double Bulk Pipe devices device ugen # Generic device uhid # Human Interface Devices device ukbd # Keyboard device ulpt # Printer device umass # Disks/Mass storage - Requires scbus and da device ums # Mouse device ural # Ralink Technology RT2500USB wireless NICs device urio # Diamond Rio 500 MP3 player device uscanner # Scanners # USB Ethernet, requires mii device aue # ADMtek USB Ethernet device axe # ASIX Electronics USB Ethernet device cdce # Generic USB over Ethernet device cue # CATC USB Ethernet device kue # Kawasaki LSI USB Ethernet device rue # RealTek RTL8150 USB Ethernet Төрөл бүрийн USB төхөөрөмжүүдийн дэмжлэг. # FireWire support device firewire # FireWire bus code device sbp # SCSI over FireWire (Requires scbus and da) device fwe # Ethernet over FireWire (non-standard!) Төрөл бүрийн Firewire төхөөрөмжүүдийн дэмжлэг. &os;-ийн дэмждэг нэмэлт төхөөрөмжүүдийн талаар дэлгэрэнгүй мэдээллийг /usr/src/sys/i386/conf/NOTES файлаас үзнэ үү. Том санах ойн тохируулгууд (<acronym>PAE</acronym>) Физик хаягийн өргөтгөлүүд (PAE) том санах ой Том санах ой бүхий машинууд Хэрэглэгч+Цөмийн Виртуал хаягийн зайн (KVA) 4 гигабайт хязгаараас их уруу хандах шаардлагатай байдаг. Энэ хязгаараас болоод Интел &pentium; Pro болон сүүлийн үеийн CPU-үүдэд 36 битийн физик хаягийн зайд хандах дэмжлэгийг нэмсэн. &intel; &pentium; Pro болон сүүлийн үеийн CPU-үүдийн Физик Хаягийн Өргөтгөл (PAE) боломж нь 64 гигабайт хүртэлх санах ойн тохиргоог зөвшөөрдөг. &os; нь энэхүү боломжийг &os;-ийн одоо байгаа бүх гаргасан хувилбаруудын цөмийн тохиргооны тохируулгаар дэмждэг. Интелийн санах ойн архитектурын хязгаараас болж 4 гигабайтаас дээш болон доош санах ойн ялгаа байхгүй. 4 гигабайтаас дээшхи санах ой нь ашиглаж болох санах ойн санд нэмэгддэг. PAE дэмжлэгийг цөмд нээхдээ цөмийн тохиргооны файлд дараах мөрийг нэмнэ: options PAE &os; дэх PAE дэмжлэг зөвхөн &intel; IA-32 процессоруудад байдаг. Мөн &os; дэх PAE дэмжлэг нь өргөн шалгагдаагүй бөгөөд &os;-ийн бусад тогтвортой боломжуудтай харьцуулахад бета чанарынхад тооцогддог. &os; дэх PAE дэмжлэг нь цөөн хэдэн хязгааруудтай: VM зайн 4 гигабайтаас илүүд процесс хандаж чадахгүй. Модул болон цөмийн бүтээх ажлын хүрээний ялгаатай байдлаас болж KLD модулиудыг PAE идэвхжүүлсэн цөмд ачаалж болохгүй. &man.bus.dma.9; интерфэйс ашигладаггүй төхөөрөмжийн драйверууд PAE-г идэвхжүүлсэн цөм дээр өгөгдлийн эвдрэлийг үүсгэх бөгөөд ашиглахыг зөвлөдөггүй юм. Ийм учраас PAE-г идэвхжүүлсэн цөм дээр ажилладаггүй бүх драйверуудыг оруулаагүй PAE цөмийн тохиргооны файл &os;-д байдаг. Зарим нэг тохируулгууд санах ойн эх үүсвэрийн хэрэглээг физик санах ойн хэмжээгээр тодорхойлдог. Эдгээр тохируулгууд нь PAE системийн их санах ойгоос болж хэрэгцээгүй илүү санах ойг гаргадаг. Тийм нэг жишээнүүдийн нэг нь sysctl-ийн тохируулга бөгөөд энэ нь цөм дэх хамгийн их байж болох vnode-уудын тоог хянадаг. Энэ болон бусад тохируулгуудын утгыг боломжийн утгаар тааруулахыг зөвлөж байна. Магадгүй цөмийн виртуал хаягийн (KVA) зайг ихэсгэх эсвэл KVA-ийн шавхалтад хүргэхгүйн тулд байнга их ашиглагддаг (дээр дурдсаныг харна уу) цөмийн эх үүсвэрийн хэмжээг багасгах шаардлагатай байж болох юм. цөмийн тохируулга нь KVA зайг ихэсгэхэд ашиглагдаж болно. Ажиллагаа болон тогтвортой байдлыг хангах үүднээс &man.tuning.7; гарын авлагатай танилцахыг зөвлөж байна. &man.pae.4; гарын авлага нь &os;-ийн PAE дэмжлэгийн тухай хамгийн сүүлийн үеийн мэдээллийг агуулдаг. Хэрэв ямар нэг юм буруутвал Өөрчлөн тохируулсан цөмийг бүтээж байх үед 5 төрлийн асуудал гарч болзошгүй байдаг. Тэдгээр нь: config амжилтгүй болох: Хэрэв таныг цөмийн тайлбарыг &man.config.8;-т өгөхөд тушаал амжилтгүй болбол та хаа нэгтээ энгийн алдаа хийсэн болов уу. Аз болоход &man.config.8; асуудалтай байгаа мөрийн дугаарыг хэвлэх учир та алдаатай мөрийг хурдан олох болно. Жишээ нь, хэрэв та доор дурдсаныг харвал: config: line 17: syntax error Түлхүүр үг зөв бичигдсэн эсэхийг GENERIC цөм болон бусад баримтаас харьцуулан шалгаж үзээрэй. make амжилтгүй болох: Хэрэв make тушаал амжилтгүй болбол энэ ихэвчлэн цөмийн тайлбар дахь &man.config.8;-ийн олж чадахааргүй тийм ч ноцтой бус алдааг дохиолдог. Дахин хэлэхэд, өөрийн тохиргоог нягтлаарай, тэгээд хэрэв та асуудлыг шийдэж чадахгүй бол &a.questions; уруу өөрийн цөмийн тохиргоотой цахим захидал илгээгээрэй, ингэхэд хурдан шинжилгээ хийгдэх болно. Цөм ачаалахгүй байх: Хэрэв таны шинэ цөм ачаалахгүй бол эсвэл таны төхөөрөмжүүдийг танихгүй байгаа бол бүү цочирд! Аз болоход &os; нийцгүй цөмүүдээс сэргэхэд зориулсан маш сайн механизмтай байдаг. Ердөө л &os;-ийн ачаалагчаас ачаалах цөмөө сонгоно. Системийн ачаалах меню гарч ирэх үед та үүнд хандах боломжтой болно. Escape to a loader prompt тохируулга 6-ын тоог сонго. Тушаал хүлээх мөрөн дээр unload kernel гэж бичээд boot /boot/kernel.old/kernel эсвэл зөв ачаалах өөр бусад цөмийн файлын нэрийг бичээрэй. Цөмийг дахин тохируулах явцдаа ажилладаг цөмийг гарын дор хадгалж байх нь үргэлж ухаалаг санаа байдаг. Сайн цөмийг ачаалсныхаа дараа та өөрийн тохиргооны файлаа дахин шалгаж цөмөө дахин бүтээхээр оролдоорой. Нэг тус дэм болох эх үүсвэр бол бусад зүйлсээс гадна амжилттай ачаалалт бүр дэх цөмийн бүх мэдээллүүдийн бичлэгийг хийдэг /var/log/messages файл юм. Мөн &man.dmesg.8; тушаал нь сүүлийн ачаалалт дахь цөмийн мэдээллүүдийг хэвлэдэг. Хэрэв та цөмийг бүтээхэд асуудалтай байгаа бол GENERIC болон өөр бусад ажилладаг цөмийг дараагийн бүтээх явцад устгагдахааргүй өөр нэртэйгээр гарын дор хадгалж байгаарай. Та kernel.old -д найдаж болохгүй, учир нь шинэ цөмийг суулгах явцад kernel.old нь хамгийн сүүлд суулгагдсан бөгөөд магадгүй ажиллагаагүй тийм цөмөөр дарагдан бичигддэг. Ажилладаг цөмийг зөв /boot/kernel байр уруу аль болох хурдан шилжүүлээрэй, эсвэл &man.ps.1; зэрэг тушаалууд зөв ажиллахгүй байж магадгүй юм. Ингэхийн тулд сайн цөм байгаа сангийн нэрийг өөрчлөөрэй: &prompt.root; mv /boot/kernel /boot/kernel.bad &prompt.root; mv /boot/kernel.good /boot/kernel Цөм ажиллах боловч &man.ps.1; ажиллахгүй болох: Хэрэв та системийн хэрэгслүүд бүтээсэн хувилбараас өөр цөмийн хувилбарыг суулгасан бол, жишээ нь -RELEASE дээр -CURRENT цөм бүтээсэн бол системийн төлвийн тушаалууд болох &man.ps.1; болон &man.vmstat.8; зэрэг нь ажиллахаа больно. Та өөрийн цөмтэйгөө адил хувилбарын эх модтой бүтээгдсэн ертөнцийг дахин хөрвүүлж суулгах хэрэгтэй. Энэ нь нэг шалтгаан бөгөөд ерөнхийдөө үйлдлийн системийн бусад зүйлсээс өөр хувилбарын цөмийг ашиглах нь тийм ч сайн санаа биш юм.