diff --git a/mn_MN.UTF-8/books/handbook/advanced-networking/chapter.sgml b/mn_MN.UTF-8/books/handbook/advanced-networking/chapter.sgml
index f41a88beba..a499a72882 100644
--- a/mn_MN.UTF-8/books/handbook/advanced-networking/chapter.sgml
+++ b/mn_MN.UTF-8/books/handbook/advanced-networking/chapter.sgml
@@ -1,4839 +1,4925 @@
Цагаанхүүгийн
Ганболд
Орчуулсан
tsgan@hotmail.com
Сүлжээний нэмэлт ойлголтууд
Ерөнхий агуулга
Энэ бүлэг нь хэд хэдэн сүлжээний дэвшилтэт нэмэлт сэдвүүдийг хамрах
болно.
Энэ бүлгийг уншсаны дараа, та дараах зүйлсийг мэдэх болно:
Гарцууд болон чиглүүлэлтүүдийн үндсүүд.
IEEE 802.11 болон &bluetooth; төхөөрөмжүүдийг хэрхэн суулгах талаар.
FreeBSD-г гүүр болгож хэрхэн тохируулах талаар.
Дискгүй машин дээр сүлжээгээр ачаалахыг хэрхэн тохируулах талаар.
Сүлжээний хаягийн хөрвүүлэлтийг хэрхэн тохируулах талаар.
PLIP-ээр хоёр компьютерийг хэрхэн холбох талаар.
FreeBSD машин дээр IPv6-г хэрхэн тохируулах талаар.
ATM-ийг хэрхэн тохируулах талаар.
&os; дээр Common Access Redundancy Protocol буюу CARP-ийн
боломжуудыг хэрхэн идэвхжүүлж ашиглах талаар.
Энэ бүлгийг уншихаасаа өмнө та дараах зүйлсийг гүйцэтгэх хэрэгтэй:
/etc/rc скриптүүдийн үндсүүдийг ойлгосон байх.
Сүлжээний үндсэн ухагдахуудын талаар мэдлэгтэй байх.
Шинэ FreeBSD цөм хэрхэн тохируулж суулгах талаар мэдэх
().
Нэмэлт гуравдагч талуудын хийсэн програм хангамжийг хэрхэн
суулгах талаар мэдэх ().
Коранф
Грайфон
Хувь нэмэр болгон оруулсан
Гарцууд болон Чиглүүлэлтүүд
чиглүүлэлт хийх
гарц
дэд сүлжээ
Сүлжээгээр нэг машин нөгөө машиныг олж чаддаг байхын тулд нэгээс нөгөө
уруу хэрхэн хүрэхийг тайлбарласан арга замууд байх ёстой. Үүнийг
routing буюу чиглүүлэлт хийх
гэдэг. Чиглүүлэлт
нь destination буюу зорьсон газар
болон
гарц
хаягийн хослолоор тодорхойлогддог. Хэрэв та энэ
зорьсон газар
уруу очихоор оролдож байгаа бол
энэ гарц
аар холбогдоно гэж энэ хослол нь зааж байгаа юм.
Гурван төрлийн зорьсон газар байдаг: эдгээр нь хостууд, дэд сүлжээнүүд болон
анхдагч
юм. Анхдагч чиглүүлэлт
нь
аль ч чиглүүлэлтэд хамаарахгүй бол ашиглагддаг. Бид анхдагч чиглүүлэлтийн
талаар дараа нь арай дэлгэрэнгүй ярилцах болно. Бас гурван төрлийн гарц байдаг:
эдгээр нь хостууд, интерфэйсүүд (бас links
буюу холбоосууд гэгддэг)
болон Ethernet тоног төхөөрөмжийн хаягууд (MAC хаягууд) юм.
Жишээ
Чиглүүлэлтийн өөр ойлголтуудыг үзүүлэхийн тулд бид netstat-ийн
дараах жишээг ашиглах болно:
&prompt.user; netstat -r
Routing tables
Destination Gateway Flags Refs Use Netif Expire
default outside-gw UGSc 37 418 ppp0
localhost localhost UH 0 181 lo0
test0 0:e0:b5:36:cf:4f UHLW 5 63288 ed0 77
10.20.30.255 link#1 UHLW 1 2421
example.com link#1 UC 0 0
host1 0:e0:a8:37:8:1e UHLW 3 4601 lo0
host2 0:e0:a8:37:8:1e UHLW 0 5 lo0 =>
host2.example.com link#1 UC 0 0
224 link#1 UC 0 0
анхдагч чиглүүлэлт
Эхний хоёр мөр нь анхдагч чиглүүлэлт (бид үүнийг дараагийн хэсэгт
авч үзэх болно) болон localhost чиглүүлэлтийг заана.
loopback төхөөрөмж
Энэ чиглүүлэлтийн хүснэгтийн заасан localhost-д зориулж
ашиглах интерфэйс (Netif багана) нь
lo0 бөгөөд энэ нь бас loopback буюу буцах
интерфэйс гэгддэг. Энэ нь уг очих газрын хувьд бүх урсгалыг LAN уруу илгээхийн оронд
дотооддоо үлдээнэ гэж хэлж байгаа бөгөөд энэ нь хаанаас эхэлсэн тэндээ буцаж
очих учраас тэр юм.
Ethernet
MAC хаяг
Дараагийн байгаа зүйл бол 0:e0:-с
эхэлсэн хаягууд юм. Эдгээр нь Ethernet тоног төхөөрөмжийн хаягууд бөгөөд
бас MAC хаягууд гэгддэг. FreeBSD нь локал Ethernet дээр байгаа
ямар ч хостуудыг (жишээн дээрх test0) автоматаар
таньж тэр хостод зориулж шууд түүн уруу ed0
Ethernet интерфэйсээр гарахаар чиглүүлэлт нэмдэг. Энэ төрлийн
чиглүүлэлттэй холбоотой хугацаа (Expire багана)
байдаг бөгөөд энэ нь заасан хугацаанд тэр хостоос бид нар юу ч сонсохгүй үед
ашиглагддаг. Ийм явдал болоход энэ хост уруу заагдсан чиглүүлэлт автоматаар
устгагдах болно. Эдгээр хостууд нь RIP (Routing Information Protocol
буюу чиглүүлэлтийн мэдээллийн протокол) гэгддэг арга замаар танигддаг бөгөөд энэ нь
хамгийн богино замыг тодорхойлсны үндсэн дээр локал хостууд уруу очих чиглүүлэлтийг
олдог.
дэд сүлжээ
FreeBSD нь бас локал дэд сүлжээнд зориулж дэд сүлжээний чиглүүлэлтүүдийг
нэмдэг (10.20.30.255 нь
10.20.30 дэд сүлжээний цацах хаяг бөгөөд
example.com нь тэр дэд сүлжээтэй холбоотой
домэйний нэр юм). link#1 тэмдэглэгээ нь машин дахь
эхний Ethernet картыг заана. Та тэдгээрт зориулж ямар ч нэмэлт интерфэйс
заагдаагүйг харах болно.
Эдгээр бүлгүүд (локал сүлжээний хостууд болон локал дэд сүлжээнүүд) нь
автоматаар routed гэгддэг дэмоноор
тохируулагдсан чиглүүлэлтүүдтэй байна. Хэрэв энэ нь ажиллахгүй байгаа бол
зөвхөн статикаар тодорхойлогдсон (өөрөө хэлбэл илэрхий оруулж өгсөн)
чиглүүлэлтүүд байх болно.
host1 мөр нь бидний хостыг зааж байгаа бөгөөд
түүнийг Ethernet хаягаар нь мэддэг. Бид илгээж байгаа хост болохоор FreeBSD нь
Ethernet интерфэйсээр илгээхийн оронд loopback буюу буцах интерфэйсийг
(lo0) ашиглахаа мэддэг.
Хоёр host2 мөрүүд нь биднийг &man.ifconfig.8;
alias буюу өөр нэр ашиглах үед (Ethernet-ийн талаар дурдсан хэсгээс бид үүнийг яагаад хийдгийг
үзээрэй) учирч болзошгүй зүйлийн жишээ юм. lo0
интерфэйсийн дараа байгаа => тэмдэг нь бид зөвхөн
loopback буюу буцах интерфэйсийг ашиглаад зогсохгүй (энэ хаяг нь бас локал хостыг хэлж
байгаа болохоор) энэ нь ялангуяа alias буюу өөр нэр гэдгийг хэлж байгаа юм.
Ийм чиглүүлэлтүүд нь alias-ийг дэмждэг хост дээр зөвхөн харагдана; локал сүлжээн
дэх бусад бүх хостууд ийм чиглүүлэлтүүдийнхээ хувьд ердөө л link#1
мөртэй байна.
Төгсгөлийн мөр (очих дэд сүлжээ 224) нь
multicast-тай ажиллаж байгаа бөгөөд үүнийг өөр хэсэгт авч үзэх болно.
Төгсгөлд нь чиглүүлэлт бүрийн төрөл бүрийн шинж чанаруудыг Flags
баганаас харж болно. Эдгээр тугуудын зарим болон тэдгээрийн харгалзах утга санаануудыг
доорх богино хүснэгтээр харуулав:
U
Up: Чиглүүлэлт идэвхтэй байна.
H
Host: Чиглүүлэлтийн очих газар нь ганц хост байна.
G
Gateway: Энэ очих газарт зориулж бүгдийг энэ алсын систем уруу
илгээх бөгөөд алсын систем нь тэндээсээ хаашаа илгээхээ олох болно.
S
Static: Энэ чиглүүлэлт нь системээр автоматаар үүсгэгдсэн биш
гараар тохируулагдсан.
C
Clone: Бидний холбогдож байгаа машины хувьд энэ чиглүүлэлт
дээр үндэслэн шинэ чиглүүлэлт үүсгэдэг. Энэ төрлийн чиглүүлэлт нь ихэвчлэн
локал сүлжээнүүдэд ашиглагддаг.
W
WasCloned: Локал сүлжээний (Clone) чиглүүлэлт дээр
үндэслэн автоматаар тохируулагдсан чиглүүлэлтийг заана.
L
Link: Чиглүүлэлт нь Ethernet тоног төхөөрөмжтэй
холбоотой зүйлийг хамарна.
Анхдагч чиглүүлэлтүүд
анхдагч чиглүүлэлт
Локал систем нь алсын хост уруу холболт хийх хэрэгтэй үед мэдэгдэж байгаа зам
байгаа эсэхийг тодорхойлохын тулд энэ нь чиглүүлэлтийн хүснэгтээс шалгадаг. Хэрэв алсын
хост нь бидний хэрхэн хүрэхийг нь мэдэх (клон хийгдсэн чиглүүлэлтүүд) дэд сүлжээнд
байгаа бол систем тэр интерфэйсээр холбогдож болох эсэхийг шалгадаг.
Хэрэв бүх мэдэгдэж байгаа зам амжилтгүй болвол системд сүүлчийн ганц
сонголт анхдагч
чиглүүлэлт үлдэнэ. Энэ чиглүүлэлт нь гарц чиглүүлэлтийн
тусгай төрөл (системд ихэвчлэн ганц байдаг) бөгөөд тугнуудын талбартаа үргэлж
c гэж тэмдэглэгдсэн байдаг. Локал сүлжээн дэх хостын хувьд
энэ гарц нь машины гадаад ертөнц уруу шууд холбогдох зүйлээр (PPP холболт, DSL,
кабель модем, T1, эсвэл өөр сүлжээний интерфэйсээр) тохируулагддаг.
Хэрэв та өөрөө гаднах ертөнц уруу гарц маягаар ажиллаж байгаа машины хувьд анхдагч
чиглүүлэлтийг тохируулж байгаа бол анхдагч чиглүүлэлт нь таны Интернэтийн Үйлчилгээ
Үзүүлэгчийн (ISP) сайт дахь гарц машин болох юм.
Анхдагч чиглүүлэлтүүдийн жишээг харцгаая. Энэ нь нийтлэг тохиргоо юм:
[Local2] <--ether--> [Local1] <--PPP--> [ISP-Serv] <--ether--> [T1-GW]
Local1 болон
Local2 хостууд нь таны сайтад байна.
Local1 нь ISP уруу dial-up PPP холболтоор
холбогдсон. Энэ PPP сервер компьютер нь дотоод сүлжээгээр
өөр нэг гарц компьютер уруу гадаад интерфэйсээр ISP-ийн Интернэт өгч байгаа уруу
холбогдсон байна.
Таны машин бүрийн хувьд анхдагч чиглүүлэлтүүд нь ийм болно:
Хост
Анхдагч Гарц
Интерфэйс
Local2
Local1
Ethernet
Local1
T1-GW
PPP
Түгээмэл асуулт нь Бид яагаад Local1-ийн хувьд
түүний холбогдсон ISP-ийн серверийн оронд T1-GW-г анхдагч гарц гэж
тохируулсан бэ?
гэсэн асуулт юм.
PPP интерфэйс нь өөрийн талын холболтондоо ISP-ийн локал сүлжээн дэх хаягийг ашиглаж
байгаа болохоор ISP-ийн локал сүлжээн дэх бусад дурын машинуудад зориулсан чиглүүлэлт
автоматаар үүсгэгдэх болно гэдгийг санаарай. Ийм учраас та T1-GW
машин уруу хэрхэн хүрэхээ аль хэдийн мэдэж байгаа болохоор ISP-ийн сервер уруу урсгал
илгээх дундын алхам шаардлагагүй юм.
Өөрийн локал сүлжээний хувьд X.X.X.1 хаягийг гарц хаяг болгож ашиглах нь
түгээмэл байдаг. Тэгэхээр (адил жишээг ашиглаад) хэрэв таны локал C ангиллын
хаягийн талбар 10.20.30 байсан бөгөөд
таны ISP 10.9.9-г ашиглаж байгаа бол
анхдагч чиглүүлэлтүүд нь ийм байна:
Хост
Анхдагч Чиглүүлэлт
Local2 (10.20.30.2)
Local1 (10.20.30.1)
Local1 (10.20.30.1, 10.9.9.30)
T1-GW (10.9.9.1)
Та /etc/rc.conf файлын тусламжтай
анхдагч чиглүүлэлтийг хялбараар тодорхойлж болно. Бидний жишээн дээр
Local2 машин дээр бид дараах мөрийг
/etc/rc.conf файлд нэмсэн:
defaultrouter="10.20.30.1"
Үүнийг шууд тушаалын мөрөөс &man.route.8; тушаалаар хийж бас
болно:
&prompt.root; route add default 10.20.30.1
Сүлжээний чиглүүлэлтийн хүснэгтүүдийг гараар удирдах талаар дэлгэрэнгүй
мэдээллийг &man.route.8; гарын авлагын хуудаснаас лавлана уу.
Хос гэртэй хостууд
хос гэртэй хостууд
Өөр бас нэг тохиргооны төрлийг бид хэлэлцэх ёстой бөгөөд энэ нь хоёр өөр сүлжээн
дээр байгаа хостын тухай юм. Техникийн хувьд гарц болж байгаа дурын машин
(дээрх жишээн дээр PPP холболтыг ашиглах нь) хос гэртэй хост гэж тооцогддог.
Гэхдээ үнэндээ энэ ухагдахуун нь хоёр дотоод сүлжээнд байгаа машиныг хэлэхэд
зөвхөн ашиглагддаг.
Нэг тохиолдолд машин нь хоёр Ethernet карттай бөгөөд карт бүр
тусдаа дэд сүлжээний хаягтай байна. Өөрөөр, машин нь зөвхөн нэг Ethernet
карттай бөгөөд &man.ifconfig.8; alias хийлт буюу өөр нэрийг ашигладаг байж
болно. Эхнийх нь физикийн хувьд тусдаа хоёр Ethernet сүлжээ ашиглагдаж
байгаа үед хэрэглэгдэх бөгөөд сүүлийнх нь ганц физик сүлжээний сегмент байгаа боловч
логикийн хувьд хоёр тусдаа дэд сүлжээнүүд байгаа үед хэрэглэгддэг.
Аль ч тохиолдолд энэ машин нь нөгөө дэд сүлжээ уруу хүрэх тодорхойлогдсон гарц
(гаднаас ирэх чиглүүлэлт) гэдгийг дэд сүлжээ бүр мэддэг байхаар чиглүүлэлтийн хүснэгтүүд
тохируулагддаг. Хоёр дэд сүлжээний хооронд чиглүүлэгч маягаар ажиллах
машинтай энэ тохиргоо нь бид аль нэг тал уруу эсвэл хоёр талын хоёулангийн хувьд
пакет шүүгч буюу галт хана дээр тулгуурласан аюулгүй байдлын шийдлийг хийх
шаардлагатай үед ихэвчлэн хэрэглэгддэг.
Хоёр интерфэйсийн хооронд пакетуудыг дамжуулдаг байхаар энэ машиныг
байлгахыг хэрэв та хүсвэл энэ боломжийг идэвхжүүлэхийг FreeBSD-д хэлэх
хэрэгтэй. Үүнийг хэрхэн хийх талаар дэлгэрэнгүйг дараагийн хэсгээс үзнэ үү.
Чиглүүлэгч бүтээх нь
чиглүүлэгч
Сүлжээний чиглүүлэгч нь ердөө л нэг интерфэйсээс нөгөө интерфэйс уруу пакетуудыг
дамжуулдаг систем юм. Интернэтийн стандартууд болон сайн инженерчлэлийн туршлага нь
үүнийг FreeBSD дээр анхдагчаар идэвхжүүлсэн байхаас FreeBSD төслийг сэргийлдэг.
&man.rc.conf.5; дахь дараах хувьсагчийг YES болгон
өөрчилснөөр та энэ боломжийг идэвхжүүлж болно:
gateway_enable=YES # Set to YES if this host will be a gateway
Энэ тохируулга нь &man.sysctl.8;-ийн хувьсагч net.inet.ip.forwarding-г
1 болгоно. Хэрэв та чиглүүлэлтийг түр зуур зогсоох хэрэгтэй
бол үүнийг түр зуур 0 болгож тохируулж болно.
Урсгалыг хааш нь илгээхээ мэдэхийн тулд таны шинэ чиглүүлэгчид чиглүүлэлтүүд
хэрэгтэй болно. Хэрэв таны сүлжээ хангалттай хялбар байх юм бол статик
чиглүүлэлтүүд ашиглаж болно. FreeBSD нь стандарт BSD чиглүүлэлтийн дэмон
&man.routed.8; програмтай бас ирдэг. Энэ нь RIP (1 ба 2-р хувилбар) болон
IRDP протоколуудыг дэмждэг. BGP v4, OSPF v2 болон бусад төвөгтэй
чиглүүлэлтийн протоколуудын дэмжлэгийг net/zebra
багц хангадаг. &gated; зэрэг арилжааны
бүтээгдэхүүнүүд бас илүү төвөгтэй сүлжээний чиглүүлэлтийн шийдлүүдэд
зориулагдсан байдаг.
BGP
RIP
OSPF
Аль
Хоанг
Хувь нэмэр болгон оруулсан
Статик чиглүүлэлтүүдийг тохируулах нь
Гар тохиргоо
Бид дараах сүлжээтэй байна гэж төсөөлье:
INTERNET
| (10.0.0.1/24) Default Router to Internet
|
|Interface xl0
|10.0.0.10/24
+------+
| | RouterA
| | (FreeBSD gateway)
+------+
| Interface xl1
| 192.168.1.1/24
|
+--------------------------------+
Internal Net 1 | 192.168.1.2/24
|
+------+
| | RouterB
| |
+------+
| 192.168.2.1/24
|
Internal Net 2
Энэ тохиолдолд RouterA нь Интернэт уруу
гарах чиглүүлэгч маягаар ажиллаж байгаа бидний &os; машин байна.
Энэ нь анхдагч чиглүүлэлтээ 10.0.0.1
гэж тохируулсан бөгөөд ингэснээр гаднах ертөнц уруу холбогдох боломжийг
олгоно. Бид RouterB нь зөв тохируулагдсан бөгөөд
хаа явах хэрэгцээтэй газраа хэрхэн хүрэхээ мэддэг гэж үзэх болно. (Энэ нь
зураг дээр хялбар юм. Ердөө л RouterB дээр 192.168.1.1-г гарц болгон анхдагч чиглүүлэлт
нэмнэ.)
Хэрэв бид RouterA-ийн чиглүүлэлтийн хүснэгтийг
харвал доор дурдсантай төстэйг харах болно:
&prompt.user; netstat -nr
Routing tables
Internet:
Destination Gateway Flags Refs Use Netif Expire
default 10.0.0.1 UGS 0 49378 xl0
127.0.0.1 127.0.0.1 UH 0 6 lo0
10.0.0/24 link#1 UC 0 0 xl0
192.168.1/24 link#2 UC 0 0 xl1
Энэ үеийн чиглүүлэлтийн хүснэгттэй байхад RouterA нь
бидний Internal Net 2 буюу дотоод сүлжээ 2 уруу хүрч чадахгүй байх болно.
Энэ нь 192.168.2.0/24-ийн хувьд
чиглүүлэлтгүй байна. Үүнийг арилгах нэг арга нь гараар чиглүүлэлт нэмэх явдал юм.
Дараах тушаал нь RouterA-ийн чиглүүлэлтийн хүснэгтэд
192.168.1.2-г дараагийн зөрлөг (hop)
болгон ашиглан Internal Net 2 сүлжээг нэмэх болно:
&prompt.root; route add -net 192.168.2.0/24 192.168.1.2
Одоо RouterA нь 192.168.2.0/24
сүлжээн дэх дурын хост уруу хүрч чадна.
Байнгын тохиргоо
Дээрх жишээ нь ажиллаж байгаа систем дээр статик чиглүүлэлтийг
тохируулахад төгс төгөлдөр юм. Гэхдээ нэг асуудал нь таны &os; машин
дахин ачаалахад чиглүүлэлтийн мэдээлэл үлдэхгүй байх явдал юм.
Статик чиглүүлэлтийг байнга байлгахын тулд түүнийг /etc/rc.conf
файлд нэмнэ:
# Add Internal Net 2 as a static route
static_routes="internalnet2"
route_internalnet2="-net 192.168.2.0/24 192.168.1.2"
static_routes тохиргооны хувьсагч нь
зайгаар тусгаарлагдсан үгнүүдийн жагсаалт юм. Үг бүр чиглүүлэлтийн нэрийг
заана. Бидний жишээн дээр static_routes мөрөнд
бид зөвхөн нэг үгтэй байна. Энэ нь internalnet2
юм. Бид дараа нь &man.route.8; тушаалд өгөх бүх тохиргооны нэмэлт өгөгдлүүдийг
route_internalnet2
гэгдсэн тохиргооны хувьсагчийн хамтаар нэмнэ. Бидний жишээний хувьд бид ийм
тушаал ашиглаж болно:
&prompt.root; route add -net 192.168.2.0/24 192.168.1.2
тэгэхээр бидэнд "-net 192.168.2.0/24 192.168.1.2" хэрэгтэй.
Дээр дурдсанаар бид static_routes мөрөнд нэгээс
илүү үгс оруулж болно. Энэ нь бидэнд олон статик чиглүүлэлтүүд үүсгэх боломжийг
олгоно. Дараах мөрүүд нь 192.168.0.0/24 болон 192.168.1.0/24 сүлжээний хувьд статик чиглүүлэлтүүдийг
санаандаа төсөөлсөн чиглүүлэгч дээрээ нэмж байгаа жишээг үзүүлж байна:
static_routes="net1 net2"
route_net1="-net 192.168.0.0/24 192.168.0.1"
route_net2="-net 192.168.1.0/24 192.168.1.1"
Чиглүүлэлтийн тархалт
чиглүүлэлтийн тархалт
Бид гаднах ертөнц уруу чиглэсэн өөрсдийн чиглүүлэлтүүдийг хэрхэн тодорхойлох
талаар ярилцсан боловч гаднах ертөнц хэрхэн биднийг олох талаар хэлэлцээгүй билээ.
Чиглүүлэлтийн хүснэгтүүдийг тухайн нэг хаягийн талбарын (бидний жишээн дээр
C ангиллын дэд сүлжээ) бүх урсгал тэр сүлжээний тухайн нэг хост уруу илгээгдэж тэр нь
пакетуудыг дотогшоо дамжуулдгаар тохируулж болно гэдгийг бид мэдэж байгаа билээ.
Та өөрийн сайтдаа заагдсан хаягийн талбарыг авах үед таны үйлчилгээ үзүүлэгч
өөрсдийн чиглүүлэлтийн хүснэгтүүдийг таны дэд сүлжээнд зориулагдсан бүх урсгал
таны PPP холбоосоор таны сайт уруу илгээгддэгээр тохируулах болно. Гэхдээ улс даяар
байх бусад сайтууд таны ISP уруу илгээхээ яаж мэдэх вэ?
Бүх заагдсан хаягийн талбаруудыг хянаж Интернэтийн үндсэн сүлжээ уруу холбогдох
холболтын цэгийг тодорхойлдог систем (тараагдсан DNS-ийн мэдээлэлтэй бараг адил)
байдаг. Backbone
буюу гол нуруу (үндсэн сүлжээ)
нь улс даяар болон дэлхий даяар Интернэтийн урсгалыг зөөвөрлөж байдаг гол шугамнууд
юм. Гол нуруу машин бүр мастер хүснэгтүүдийн хуулбартай байдаг бөгөөд эдгээр хүснэгтүүд нь
тухайн нэг сүлжээнд зориулсан урсгалыг онцгой гол нуруу зөөвөрлөгч уруу чиглүүлж
тэндээсээ доош бусад үйлчилгээ үзүүлэгчдээр дамжин таны сүлжээнд хүрдэг.
Үндсэн (гол нуруу) сайтууд уруу зарлаж тэдгээр нь таны сайтын хувьд холболтын цэг
(буюу орох зам) гэж тодорхойлох нь таны үйлчилгээ үзүүлэгчийн үүрэг юм. Үүнийг чиглүүлэлтийн
тархалт гэж нэрлэдэг.
Алдааг олж засварлах
traceroute
Заримдаа чиглүүлэлтийн тархалт асуудалтай бөгөөд зарим нэгэн сайтууд өөр уруу
чинь холбогдож чадахгүй байж болно. Чиглүүлэлт хаана ажиллахгүй болж байгааг
олоход тус болох магадгүй хамгийн ашигтай тушаал нь &man.traceroute.8; тушаал
юм. Хэрэв та алсын машин уруу холбогдож чадахгүй юм шиг байвал (өөрөөр хэлбэл
&man.ping.8; амжилтгүй болвол) энэ нь бас адил ашигтай байдаг.
&man.traceroute.8; тушаалыг таны холбогдохыг оролдож байгаа алсын
хостын нэртэй ажиллуулдаг. Энэ нь гарц хостуудыг оролдлого хийж байгаа замын
хамтаар харуулдаг бөгөөд эцсийн хост уруу хүрэх юм уу эсвэл холболтын асуудлаас болоод
эцсийн хост уруугаа хүрэлгүйгээр ажиллаж дуусдаг.
Дэлгэрэнгүй мэдээллийг &man.traceroute.8;-ийн гарын авлагын хуудаснаас
үзнэ үү.
Multicast чиглүүлэлт хийх
multicast чиглүүлэлт хийх
цөмийн тохируулгууд
MROUTING
FreeBSD нь multicast програмууд болон multicast чиглүүлэлтийг
угаасаа дэмждэг. Multicast програмууд нь FreeBSD-ийн ямар нэг тусгай
тохиргоо шаарддаггүй; програмууд нь шууд л ажилладаг. Multicast
чиглүүлэлт нь дэмжлэгийг цөмд эмхэтгэхийг шаарддаг:
options MROUTING
Мөн multicast чиглүүлэлтийн дэмон &man.mrouted.8; нь
туннелиуд болон DVMRP-г үүсгэхээр
/etc/mrouted.conf файлын тусламжтай
тохируулагдсан байх ёстой. Multicast тохиргооны талаар дэлгэрэнгүй
мэдээллийг &man.mrouted.8;-ийн гарын авлагын хуудаснаас олж
болно.
Loader
Марк
Фонвил
Мюррей
Стөүкли
Утасгүй сүлжээ
утасгүй сүлжээ
802.11
утасгүй сүлжээ
Утасгүй сүлжээний үндсүүд
Ихэнх утасгүй сүлжээнүүд нь IEEE 802.11 стандартууд дээр үндэслэсэн
байдаг. Үндсэн утасгүй сүлжээ нь 2.4GHz юм уу эсвэл 5GHz-ийн зурваст
цацдаг радио долгионоор холбогддог олон станцуудаас тогтдог (энэ нь орон
нутгаас хамаарч өөр өөр байдаг бөгөөд 2.3GHz-с 4.9GHz-ийн хүрээнд холбоог
идэвхжүүлэхээр өөрчлөгдөж байгаа).
802.11 сүлжээ нь хоёр аргаар зохион байгуулагддаг:
дэд бүтцийн горимд нэг станц мастер маягаар ажиллаж
бусад станцууд нь түүнтэй холбогддог; энэ сүлжээг BSS гэдэг бөгөөд мастер
станц нь хандалтын цэг (access point)(AP) гэгддэг. BSS-т бүх холбоо AP-р
дамждаг; нэг станц өөр нэг утасгүй станцтай холбоо тогтоохыг хүссэн байсан ч гэсэн
мэдэгдлүүд нь AP-р дамжих ёстой байдаг. Хоёр дахь хэлбэрийн сүлжээнд
мастер байдаггүй бөгөөд станцууд нь шууд холбогддог. Энэ сүлжээний хэлбэрийг
IBSS гэдэг бөгөөд бас ad-hoc сүлжээ гэгддэг.
802.11 сүлжээнүүд нь 2.4GHz-ийн зурваст IEEE 802.11 болон 802.11b
стандартуудаар тодорхойлогдсон протоколуудыг ашиглан эхлэн хийгдэж байсан.
Эдгээр тодорхойлолтууд нь ажиллах давтамжууд, хүрээ хийх болон дамжуулах хурд
(холболт төрөл бүрийн хурдаар хийгдэж болно) зэрэг MAC давхаргын үзүүлэлтүүдийг
агуулдаг. Сүүлд 802.11a стандарт нь өөр дохионы арга замууд болон илүү өндөр дамжуулах
хурдууд зэрэг 5GHz-ийн зурвасын ажиллагааг тодорхойлсон билээ. Мөн дараа нь
802.11b сүлжээнүүдтэй буцаж нийцтэй байхаар 802.11a дохионы хэрэглээ болон
2.4GHz-ийн зурваст дамжуулах арга замуудыг идэвхжүүлж 802.11g стандарт
тодорхойлогдсон байна.
Суурь болсон дамжуулах техникүүдээс гадна 802.11 сүлжээнүүд нь
төрөл бүрийн аюулгүй байдлын арга замуудтай байдаг. Анхдагч 802.11
тодорхойлолтууд нь WEP гэгддэг аюулгүй байдлын энгийн протоколыг
тодорхойлсон билээ. Энэ протокол нь тогтмол, урьдчилан хуваалцсан
түлхүүр болон RC4 криптограф шифр ашиглан сүлжээнд дамжуулагдах өгөгдлийг
кодчилдог. Станцууд нь өөр хоорондоо холбогдохын тулд бүгд нэг тогтмол түлхүүр
дээр зөвшилцөх ёстой. Энэ схемийг амархан эвдэх боломжтойг харуулсан
бөгөөд дамжин өнгөрөх хэрэглэгчдийг сүлжээнд нэгдэхийг зөвлөдөггүйгээс бусад
тохиолдолд одоо ховор ашиглагдах болсон байна. Криптографийн шинэ шифрүүд болон
станцуудыг хандалтын цэгт танин нэвтрүүлж өгөгдлийн холболтыг хийхийн тулд түлхүүрүүдийг
солилцох нэмэлт протоколыг тодорхойлдог IEEE 802.11i тодорхойлолтоор одоогийн
аюулгүй байдлын практикийг тодорхойлдог. Мөн криптограф түлхүүрүүд нь
үе үе шинэчлэгддэг бөгөөд халдлагын оролдлогуудыг илрүүлэх (ба халдлагын оролдлогуудыг
сөрөх) арга замууд бас байдаг. Утасгүй сүлжээнүүдэд түгээмэл ашиглагддаг
өөр нэг аюулгүй байдлын протоколын тодорхойлолт нь WPA юм. Энэ нь
үйлдвэрлэлийн бүлгийн тодорхойлсон 802.11i-ийн өмнөх протокол
бөгөөд 802.11i-г батлахыг хүлээж байх хугацаанд түр зуурын арга хэмжээ
болох юм. WPA нь 802.11i-д байгаа шаардлагуудын дэд олонлогийг
тодорхойлж хуучин тоног төхөөрөмжүүд дээрх шийдэлд зориулагдан хийгджээ.
Ялангуяа WPA нь анхдагч WEP шифрээс гарсан TKIP шифрийг зөвхөн шаарддаг.
802.11i нь TKIP-ийн хэрэглээг зөвшөөрдөг боловч өгөгдлийг шифрлэхэд зориулж
илүү хүчирхэг шифр болох AES-CCM-ийн дэмжлэгийг бас шаарддаг. (AES шифр нь
WPA-д шаардагддаггүй, учир нь үүнийг хуучин тоног төхөөрөмж дээр хийхэд
тооцооллын хувьд өртөгтэй гэж үздэг.)
Дээрх протоколын стандартуудаас гадна мэдэж байх өөр нэг чухал стандарт
бол 802.11e юм. Энэ нь 802.11 сүлжээнд видео дамжуулах, IP дээгүүрх
дуу (VoIP) зэрэг мультимедиа хэрэглээнүүдэд шаардлагатай протоколуудыг
тодорхойлдог. 802.11i-тай адил 802.11e нь үйлдвэрлэлийн бүлгээс
802.11e-ийн дэд олонлог гэж тодорхойлсон, 802.11e-г батлахыг хүлээж байх
хугацаанд мультимедиа хэрэглээнүүдийг идэвхжүүлэхэд ашиглаж болох
WME (сүүлд WMM) гэгдсэн урьдчилсан тодорхойлолт байдаг.
802.11e болон WME/WMM-ийн талаар мэдэх ёстой хамгийн чухал зүйл нь
утасгүй сүлжээний зэрэглэл тогтоогдсон урсгалын хэрэглээг Quality of Service
(QoS) буюу үйлчилгээний чанарын протоколууд болон өргөтгөсөн зөөвөрлөгчийн
хандалтын протоколуудын тусламжтайгаар идэвхжүүлдэг явдал юм. Эдгээр
протоколуудын зөв шийдэл нь өгөгдлийн өндөр хурдтай тэсрэлт болон зэрэглэл
тогтоогдсон урсгалыг идэвхжүүлдэг.
6.0 хувилбараас эхлээд &os; нь 802.11a, 802.11b, болон 802.11g-г
ашиглан ажилладаг сүлжээнүүдийг дэмждэг. WPA болон 802.11i аюулгүй байдлын
протоколууд нь адилхан (11a, 11b, болон 11g-тэй цуг) дэмжигдсэн байдаг
бөгөөд WME/WMM протоколуудын шаарддаг QoS болон урсгалын зэрэглэлт нь
хязгааргүй тооны утасгүй төхөөрөмжүүдэд дэмжигдсэн байдаг.
Үндсэн тохируулга
Цөмийн тохиргоо
Утасгүй сүлжээг ашиглахын тулд танд утасгүй сүлжээний карт болон
цөмийг тохирох утасгүй сүлжээний дэмжлэгтэйгээр тохируулах хэрэгтэй
болно. Сүүлийнх нь олон модулиудад хуваагддаг. Тэгэхээр танд
зөвхөн өөрийнхөө ашиглах програм хангамжийг тохируулах хэрэгтэй болох
юм.
Танд эхлээд хэрэг болох зүйл нь утасгүй сүлжээний төхөөрөмж
юм. Хамгийн түгээмэл хэрэглэгддэг төхөөрөмжүүд нь Atheros-ийн
хийдэг хэсгүүдийг ашигладаг төхөөрөмжүүд байдаг. Эдгээр төхөөрөмжүүд нь
&man.ath.4; драйвераар дэмжигддэг бөгөөд /boot/loader.conf
файлд дараах мөрийг нэмэхийг шаарддаг:
if_ath_load="YES"
Atheros драйвер нь гурван тусдаа хэсэгт хуваагддаг: эдгээр нь зөв драйвер
(&man.ath.4;), бичил схемийн функцуудыг зохицуулдаг, тоног төхөөрөмжийн
дэмжлэгийн давхарга (&man.ath.hal.4;), болон хүрээнүүдийг дамжуулахын
тулд хэд хэдэн боломжит хурдуудаас (энд ath_rate_sample) сонгох алгоритм юм.
Та энэ дэмжлэгийг модуль хэлбэрээр дуудах үед түүнтэй хамааралтай зүйлс
автоматаар зохицуулагдах болно. Хэрэв танд Atheros төхөөрөмжийн оронд
өөр төхөөрөмж байгаа бол та тэр төхөөрөмжид зориулсан модулийг сонгох юм,
өөрөөр хэлбэл:
if_wi_load="YES"
гэж Intersil Prism хэсгүүд дээр суурилсан төхөөрөмжүүдийн
хувьд хийж өгнө (&man.wi.4; driver).
Энэ баримтын үлдсэн хэсэгт бид &man.ath.4; төхөөрөмжийг ашиглах
бөгөөд жишээнүүд дээрх төхөөрөмжийн нэр таны тохиргооны дагуу
өөрчлөгдөх ёстой. Байгаа утасгүй драйверуудын жагсаалтыг
&man.wlan.4; гарын авлагын хуудасны эхнээс олж болно. Таны
утасгүй төхөөрөмжид зориулагдсан &os;-ийн драйвер байхгүй бол магадгүй
&windows; драйверийг NDIS
драйверийн гүйцэтгэл хялбаршуулагчийн тусламжтай шууд ашиглаж
болох юм.
Төхөөрөмжийн драйверийг тохируулсныхаа дараа та драйверийн шаарддаг
802.11 сүлжээний дэмжлэгийг бас оруулах хэрэгтэй болно. &man.ath.4;
драйверийн хувьд энэ нь ядахдаа &man.wlan.4; модуль байх бөгөөд энэ модуль
нь утасгүй төхөөрөмжийн драйвертай цуг автоматаар дуудагддаг. Үүнтэй цуг
таны ашиглах аюулгүй байдлын протоколуудад зориулагдсан криптографын дэмжлэгийг
хийдэг модулиуд хэрэгтэй болно. Эдгээр нь &man.wlan.4; модулиар автоматаар
шаардлагын дагуу дуудагддаг байхаар зориулагдсан боловч одоохондоо эдгээрийг гараар
тохируулах шаардлагатай. Дараах модулиуд байдаг: &man.wlan.wep.4;, &man.wlan.ccmp.4;
болон &man.wlan.tkip.4;. &man.wlan.ccmp.4; болон &man.wlan.tkip.4;
драйверууд нь WPA ба/эсвэл 802.11i аюулгүй байдлын протоколуудыг ашиглахаар
болсон тохиолдолд танд зөвхөн хэрэгтэй байдаг. Хэрэв таны сүлжээ нээлттэй
(өөрөөр хэлбэл шифрлэлтгүй) ажиллах бол танд &man.wlan.wep.4; дэмжлэг
ерөөсөө хэрэггүй. Эдгээр модулиудыг ачаалах үед дуудахын тулд дараах мөрүүдийг
/boot/loader.conf файлд нэмнэ:
wlan_wep_load="YES"
wlan_ccmp_load="YES"
wlan_tkip_load="YES"
Системийн эхлүүлэх тохиргооны файлд (өөрөөр хэлбэл
/boot/loader.conf) ийм мэдээлэлтэйгээр та өөрийн
&os; хайрцгийг дахин ачаалах хэрэгтэй. Хэрэв та өөрийн машиныг дахин ачаалахыг
хүсэхгүй байгаа бол та модулиудыг &man.kldload.8;-ийн тусламжтайгаар
гараар дуудаж болно.
Хэрэв та модулиудыг ашиглахыг хүсэхгүй байгаа бол дараах мөрүүдийг өөрийн
цөмийн тохиргооны файлд нэмж эдгээр драйверуудыг цөмд эмхэтгэж болно:
device ath # Atheros IEEE 802.11 wireless network driver
device ath_hal # Atheros Hardware Access Layer
device ath_rate_sample # John Bicket's SampleRate control algorithm.
device wlan # 802.11 support (Required)
device wlan_wep # WEP crypto support for 802.11 devices
device wlan_ccmp # AES-CCMP crypto support for 802.11 devices
device wlan_tkip # TKIP and Michael crypto support for 802.11 devices
Цөмийн тохиргооны файлдаа ийм мэдээлэлтэйгээр цөмөө дахин эмхэтгээд
өөрийн &os; машиныг дахин ачаалах хэрэгтэй.
Систем ассаны дараа ачаалах үеийн мэдэгдлүүдэд үүнтэй адил
утасгүй төхөөрөмжийн талаар зарим мэдээллийг олж болно:
ath0: <Atheros 5212> mem 0xff9f0000-0xff9fffff irq 17 at device 2.0 on pci2
ath0: Ethernet address: 00:11:95:d5:43:62
ath0: mac 7.9 phy 4.5 radio 5.6
Дэд бүтцийн горим
Дэд бүтцийн горим буюу BSS горим нь ихэвчлэн ашиглагддаг горим юм.
Энэ горимд утасгүй хандалтын цэгүүд нь утастай сүлжээнд холбогдсон байдаг.
Утасгүй сүлжээ бүр өөрийн нэртэй байдаг бөгөөд энэ нэр нь сүлжээний SSID
гэгддэг. Утасгүй клиентүүд нь утасгүй хандалтын цэгүүдэд холбогддог.
&os; клиентүүд
Хандалтын цэгүүдийг хэрхэн олох вэ
Сүлжээнүүдийг хайхын тулд ifconfig
тушаалыг ашиглана. Энэ хүсэлт нь хэсэг хором болж болох бөгөөд
боломжтой утасгүй давтамж бүр уруу шилжиж, байгаа хандалтын
цэгүүдийг шалгахыг системээс шаарддаг. Зөвхөн супер хэрэглэгч
ийм хайлт эхлүүлж чадна:
&prompt.root; ifconfig ath0 up scan
SSID BSSID CHAN RATE S:N INT CAPS
dlinkap 00:13:46:49:41:76 6 54M 29:0 100 EPS WPA WME
freebsdap 00:11:95:c3:0d:ac 1 54M 22:0 100 EPS WPA
Та хайлт хийхээсээ өмнө интерфэйсээ болгож
тэмдэглэх ёстой. Дараа дараагийн хайлтын хүсэлтүүд интерфэйсийг
up болгож тэмдэглэхийг шаарддаггүй.
Хайлтын хүсэлтийн гаралт олсон BSS/IBSS сүлжээ бүрийг
харуулдаг. Сүлжээний нэр SSID-с
гадна хандалтын цэгийн MAC хаяг болох BSSID-г
бид харах болно. CAPS талбар нь сүлжээ бүрийн
төрөл болон тэнд ажиллаж байгаа станцуудын боломжуудыг заана:
E
Extended Service Set (ESS) буюу өргөтгөсөн үйлчилгээний олонлог.
Станц нь дэд бүтцийн сүлжээний хэсэг гэдгийг харуулна
(IBSS/ad-hoc сүлжээтэй харьцуулах юм бол ).
I
IBSS/ad-hoc сүлжээ. Станц нь ad-hoc сүлжээний хэсэг гэдгийг
харуулна (ESS сүлжээтэй харьцуулах юм бол).
P
Хувийн нууц. BSS-ийн дотор солилцож байгаа өгөгдлийн бүх
хүрээнүүдэд өгөгдлийн нууц байдал шаардлагатай байдаг. Энэ BSS нь
бусадтай солилцох өгөгдлийн хүрээнүүдийг шифрлэх/буцаах
WEP, TKIP эсвэл AES-CCMP зэрэг криптограф ашиглахыг станцаас
шаарддаг гэсэн үг юм.
S
Богино оршил (preamble). Сүлжээ богино оршлуудыг
(802.11b өндөр хурд/DSSS PHY-д тодорхойлогдсоноор богино
оршил нь урт оршилд ашиглагддаг 128 бит талбартай харьцуулах юм бол
56 бит sync талбарыг хэрэглэдэг) ашиглаж байгааг харуулдаг.
s
Богино слот (ангархай) хугацаа. 802.11g сүлжээ хуучин
(802.11b) станцууд байхгүй байгаа учраас богино слот хугацааг
хэрэглэж байгааг харуулна.
Мэдэгдэж байгаа сүлжээнүүдийн одоогийн жагсаалтыг бас доорх
тушаалаар харуулж болно:
&prompt.root; ifconfig ath0 list scan
Энэ мэдээллийг автоматаар хувиргагчаар (adapter) эсвэл гараар
хүсэлтийн тусламжтай шинэчилж болно.
Хуучин өгөгдөл кэшээс автоматаар арилгагдах болохоор хэсэг хугацаа
өнгөрсний дараа нэмэлт хайлтууд хийхгүй л бол энэ жагсаалт багасаж
болох юм.
Үндсэн тохиргоонууд
Энэ хэсэгт &os; дээр утасгүй сүлжээний хувиргагчийг шифрлэлтгүйгээр
хэрхэн ажиллуулахыг харуулсан энгийн жишээг үзүүлнэ. Эдгээр ойлголтуудыг
мэддэг болсныхоо дараа өөрийнхөө утасгүй сүлжээг тохируулахдаа
WPA-г ашиглахыг
бид тууштай зөвлөж байна.
Утасгүй сүлжээг тохируулах гурван үндсэн алхам байдаг: эдгээрт хандалтыг цэгийг
сонгох, өөрийн станцыг таниулж нэвтрүүлэх, болон IP хаягийг тохируулах
багтана. Дараах хэсэг алхам бүрийг хэлэлцэнэ.
Хандалтын цэгийг сонгох нь
Ихэнх тохиолдолд систем өөртөө бүтээгдсэн гүнзгийрүүлэн шалгах аргаа
(heuristic) ашиглан хандалтын цэгийг сонгохыг нь зөвшөөрөх хангалттай байдаг.
Таныг интерфэйсийг up гэж тэмдэглэх үед энэ нь анхдагч байх бөгөөд хэрэв
үгүй бол интерфэйсийг /etc/rc.conf файлд
жагсаан тохируулна, өөрөөр хэлбэл:
ifconfig_ath0="DHCP"
Хэрэв олон хандалтын цэгүүд байгаа бөгөөд та тухайн нэгийг сонгохыг
хүсвэл түүнийг SSID-аар нь сонгож болно:
ifconfig_ath0="ssid your_ssid_here DHCP"
Адил SSID-тай олон хандалтын цэгүүд байгаа орчинд (роуминг-ийг
(тэнүүчлэх) хялбар болгохын тулд ихэвчлэн хийдэг) аль нэг тухайн
төхөөрөмж уруу холбогдох шаардлагатай болж болох юм. Энэ тохиолдолд
та хандалтын цэгийн BSSID-ийг зааж өгч бас болох юм (та бас SSID-ийг
үлдээж болно):
ifconfig_ath0="ssid your_ssid_here bssid xx:xx:xx:xx:xx:xx DHCP"
Системийн хайлт хийх давтамжуудын олонлогийг хязгаарлах зэрэг хандалтын
цэгийн сонголтыг шаардах өөр аргууд байдаг.Та олон зурвасын
утасгүй сүлжээний карттай байх тохиолдолд энэ нь ашигтай байдаг. Ийм
тохиолдолд бүх боломжит сувгуудыг хайх нь цаг хугацаа шаардсан
ажил байдаг. Ажиллагааг тухайн нэг зурвас дээр хязгаарлахын тулд
параметрийг та ашиглаж болно, өөрөөр
хэлбэл:
ifconfig_ath0="mode 11g ssid your_ssid_here DHCP"
нь картыг 2.4GHz давтамжуудын хувьд тодорхойлогдсон 802.11g горимд
картыг ажиллуулах бөгөөд бусад 5GHz-ийн сувгуудыг авч үзэхгүй байх
болно. Үүнийг хийх өөр нэг арга нь ажиллагааг тухайн нэг давтамжид
түгжих параметр болон
хайлт хийхдээ сувгуудын жагсаалтыг заах
параметрийг ашиглах явдал юм. Эдгээр параметрүүдийн талаар дэлгэрэнгүй
мэдээллийг &man.ifconfig.8; гарын авлагын хуудаснаас лавлана уу.
Нэвтрэлт танилт
Хандалтын цэгийг сонгосны дараа таны станц өгөгдөл дамжуулахаа
өмнө өөрийгөө таниулан нэвтрэх хэрэгтэй. Нэвтрэлт танилт хэд хэдэн
аргаар хийгдэж болно. Ашиглагддаг хамгийн түгээмэл схем бол
нээлттэй нэвтрэлт танилт гэгддэг бөгөөд энэ нь дурын станц сүлжээнд нэгдэж
холбогдохыг зөвшөөрдөг. Энэ нь эхний удаа утасгүй сүлжээг тохируулж байхдаа
тестийн зорилгоор таны ашиглах ёстой нэвтрэлт танилт юм. Бусад
схемүүд нь өгөгдлийн урсгал эхлэхээс өмнө криптограф мэдээлэл
солилцоо хийгдэхийг шаарддаг; урьдчилсан хуваалцсан түлхүүрүүд эсвэл
нууц үгс ашиглах эсвэл RADIUS зэрэг арын үйлчилгээнүүдийг ашигладаг
илүү төвөгтэй схемүүд зэргийг дурдаж болно. Ихэнх хэрэглэгчид
нээлттэй нэвтрэлт танилт ашиглах бөгөөд энэ нь анхдагч тохиргоо
байдаг. Дараагийн хамгийн түгээмэл тохируулга бол WPA-PSK бөгөөд энэ нь
бас WPA Personal гэгддэг. Энэ тохируулга доор тайлбарлагдсан
байгаа.
Хэрэв танд хандалтын цэгт зориулсан &apple; &airport; Extreme дээр
суурилсан үндсэн станц байгаа бол WEP түлхүүртэй хамт хуваалцсан түлхүүрийг
тохируулах хэрэгтэй болж болох юм. Үүнийг /etc/rc.conf
файл эсвэл &man.wpa.supplicant.8; програмыг ашиглан хийж болно.
Хэрэв та ганц &airport; үндсэн станцтай бол хандалтыг иймэрхүүгээр хийж
өгч болно:
ifconfig_ath0="authmode shared wepmode on weptxkey 1 wepkey 01234567 DHCP"
Ерөнхийдээ хуваалцсан түлхүүр бүхий нэвтрэлт танилтыг
ашиглахаас зайлсхийх хэрэгтэй, яагаад гэвэл WEP түлхүүрийн
материалыг их хүчилсэн хэлбэрээр ашигладаг нь түлхүүрийг
эвдэх боломжийг илүү амархан болгодог. Хэрэв WEP ашиглагдах
ёстой бол (өөрөөр хэлбэл хуучин төхөөрөмжтэй нийцтэй байх үүднээс)
WEP-ийг open буюу нээлттэй нэвтрэлт
танилттай цуг ашиглах нь зүйтэй юм. WEP-ийн талаар дэлгэрэнгүй
мэдээллийг -с олж болно.
DHCP-ээр IP хаяг авах
Хандалтын цэгийг сонгож нэвтрэлт танилтын параметрүүдийг тохируулсны
дараа холбогдохын тулд та IP хаяг авах хэрэгтэй болно. Та өөрийн утасгүй
IP хаягийг ихэвчлэн DHCP-ээр авах болно. Ингэхийн тулд ердөө л
/etc/rc.conf файлыг засварлаж
дээрх жишээн дээр үзүүлсэн шиг өөрийн төхөөрөмжийн тохиргоонд зориулж
DHCP гэж нэмж өгнө:
ifconfig_ath0="DHCP"
Энэ хүрэхэд та утасгүй интерфэйсээ ажиллуулахад бэлэн байх болно:
&prompt.root; /etc/rc.d/netif start
Интерфэйс ажиллаж эхэлсний дараа ath0
интерфэйсийн төлөвийг үзэхийн тулд ifconfig
тушаалыг ашиглана:
&prompt.root; ifconfig ath0
ath0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
inet6 fe80::211:95ff:fed5:4362%ath0 prefixlen 64 scopeid 0x1
inet 192.168.1.100 netmask 0xffffff00 broadcast 192.168.1.255
ether 00:11:95:d5:43:62
media: IEEE 802.11 Wireless Ethernet autoselect (OFDM/54Mbps)
status: associated
ssid dlinkap channel 6 bssid 00:13:46:49:41:76
authmode OPEN privacy OFF txpowmax 36 protmode CTS bintval 100
status: associated мөр нь
таныг утасгүй сүлжээнд (бидний тохиолдолд dlinkap
сүлжээ уруу) холбогдсон гэдгийг харуулж байна.
bssid 00:13:46:49:41:76 хэсэг нь
таны хандалтын цэгийн MAC хаяг юм; authmode мөр нь
холболт шифрлэгдээгүй гэдгийг танд харуулж байна
(OPEN).
Статик IP хаяг
DHCP серверээс IP хаяг авч чадахгүй тохиолдолд тогтмол IP хаяг
та тавьж болно. Дээр үзүүлсэн DHCP гэсэн
түлхүүр үгийг хаягийн мэдээллээр солих хэрэгтэй. Хандалтын цэгийг
сонгохдоо хэрэглэсэн бусад параметрүүдийг үлдээхээ мартуузай:
ifconfig_ath0="inet 192.168.1.100 netmask 255.255.255.0 ssid your_ssid_here"
WPA
WPA (Wi-Fi Protected Access буюу Wi-Fi Хамгаалагдсан Хандалт) нь
WEP-ийн
сул тал болон зөв нэвтрэлт танилтын дутмаг байдлыг арилгах зорилгоор
802.11 сүлжээнүүдэд цуг ашиглагддаг аюулгүй байдлын протокол
юм. WPA нь 802.1X нэвтрэлт танилтын протоколыг хөшүүрэгддэг бөгөөд өгөгдлийн
бүрэн бүтэн байдалд зориулж WEP-ийн оронд хэд хэдэн шифрүүдийн
нэгийг ашигладаг. WPA-ийн шаарддаг цорын ганц шифр бол TKIP
(Temporary Key Integrity Protocol) бөгөөд энэ нь
бүрэн бүтэн байдал шалгалт, хуурамч үйлдлийг илрүүлэлт болон илрүүлсэн
халдлагуудад хариулахад зориулсан арга хэмжээнүүдийг WEP-ийн ашигладаг
үндсэн RC4 шифрт нэмэн өргөтгөсөн шифр юм. TKIP нь хуучин тоног төхөөрөмж дээр
зөвхөн програм хангамжийн өөрчлөлттэйгөөр ажиллахаар хийгдсэн;
энэ нь аюулгүй байдлыг сайжруулдаг боловч халдлагаас бүрэн гүйцэд
хамгаалж чаддаггүй. WPA нь TKIP-г орлуулж AES-CCMP шифрийг
бас заадаг бөгөөд боломжтой тохиолдолд үүнийг хэрэглэхийг
урьтал болгодог; энэ тодорхойлолтод WPA2 (эсвэл RSN) гэсэн
ухагдахуун нийтлэг ашиглагддаг.
WPA нь нэвтрэлт танилт болон шифрлэлтийн протоколуудыг
тодорхойлдог. Нэвтрэлт танилт нь хоёр техникийн аль нэгээр
ихэвчлэн хийгддэг: 802.1X болон RADIUS зэрэг арын
нэвтрэлт танилтын үйлчилгээгээр эсвэл урьдчилан хуваалцсан нууц үг
ашиглан станц болон хандалтын хооронд хамгийн багаар мэдээлэл солилцох
(handshake) замаар хийгддэг. Эхнийх нь ихэвчлэн WPA Enterprise,
сүүлийнх нь WPA Personal гэгддэг. Ихэнх хүмүүс утасгүй сүлжээнд
зориулж арын RADIUS сервер тохируулдаггүй учир WPA-PSK нь
WPA-д зориулсан хамгийн түгээмэл тохиолддог тохиргоо юм.
Утасгүй холболтын хяналт болон нэвтрэлт танилт (түлхүүрийн
тохиролцоо эсвэл сервертэй хийх нэвтрэлт танилт) нь
&man.wpa.supplicant.8; хэрэгслээр хийгддэг. Энэ програм нь
ажиллахын тулд /etc/wpa_supplicant.conf
тохиргооны файл шаарддаг. Энэ файлын талаар дэлгэрэнгүй
мэдээллийг &man.wpa.supplicant.conf.5; гарын авлагын хуудаснаас
олж болно.
WPA-PSK
WPA-PSK нь бас WPA Personal гэгддэг бөгөөд өгөгдсөн нууц үгээс үүсгэгдсэн
pre-shared key буюу (PSK) урьдчилан хуваалцсан түлхүүр дээр суурилдаг
бөгөөд утасгүй сүлжээнд мастер түлхүүр болон ашиглагддаг. Энэ нь
утасгүй хэрэглэгч бүр адил түлхүүрийг хуваалцана гэсэн үг юм.
WPA-PSK нь нэвтрэлт танилтын сервер хэрэглэх боломжгүй эсвэл шаардлагагүй
жижиг сүлжээнүүдэд зориулагдсан юм.
Хангалттай урт, төрөл бүрийн тэмдэгтүүдээс бүтсэн, таах буюу/эсвэл халдах
боломжгүй хэцүү нууц үгсийг үргэлж ашиглах хэрэгтэй.
Эхний алхам нь /etc/wpa_supplicant.conf
файлыг өөрийн сүлжээний SSID болон урьдчилан хуваалцсан түлхүүрээр
тохируулах явдал юм:
network={
ssid="freebsdap"
psk="freebsdmall"
}
Дараа нь бид /etc/rc.conf файлд
утасгүй төхөөрөмжийн тохиргоо WPA-аар хийгдэж IP хаяг DHCP-ээс
авагдана гэдгийг зааж өгнө:
ifconfig_ath0="WPA DHCP"
Дараа нь бид интерфэйсийг босгож ажиллуулна:
&prompt.root; /etc/rc.d/netif start
Starting wpa_supplicant.
DHCPDISCOVER on ath0 to 255.255.255.255 port 67 interval 5
DHCPDISCOVER on ath0 to 255.255.255.255 port 67 interval 6
DHCPOFFER from 192.168.0.1
DHCPREQUEST on ath0 to 255.255.255.255 port 67
DHCPACK from 192.168.0.1
bound to 192.168.0.254 -- renewal in 300 seconds.
ath0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
inet6 fe80::211:95ff:fed5:4362%ath0 prefixlen 64 scopeid 0x1
inet 192.168.0.254 netmask 0xffffff00 broadcast 192.168.0.255
ether 00:11:95:d5:43:62
media: IEEE 802.11 Wireless Ethernet autoselect (OFDM/36Mbps)
status: associated
ssid freebsdap channel 1 bssid 00:11:95:c3:0d:ac
authmode WPA privacy ON deftxkey UNDEF TKIP 2:128-bit txpowmax 36
protmode CTS roaming MANUAL bintval 100
Эсвэл та үүнийг гараар дээрх
/etc/wpa_supplicant.conf ашиглан
хийж доор дурдсан тушаалыг ажиллуулж болно:
&prompt.root; wpa_supplicant -i ath0 -c /etc/wpa_supplicant.conf
Trying to associate with 00:11:95:c3:0d:ac (SSID='freebsdap' freq=2412 MHz)
Associated with 00:11:95:c3:0d:ac
WPA: Key negotiation completed with 00:11:95:c3:0d:ac [PTK=TKIP GTK=TKIP]
Дараагийн үйлдэл нь DHCP серверээс IP хаяг авахын тулд
dhclient тушаалыг ажиллуулах явдал
юм:
&prompt.root; dhclient ath0
DHCPREQUEST on ath0 to 255.255.255.255 port 67
DHCPACK from 192.168.0.1
bound to 192.168.0.254 -- renewal in 300 seconds.
&prompt.root; ifconfig ath0
ath0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
inet6 fe80::211:95ff:fed5:4362%ath0 prefixlen 64 scopeid 0x1
inet 192.168.0.254 netmask 0xffffff00 broadcast 192.168.0.255
ether 00:11:95:d5:43:62
media: IEEE 802.11 Wireless Ethernet autoselect (OFDM/48Mbps)
status: associated
ssid freebsdap channel 1 bssid 00:11:95:c3:0d:ac
authmode WPA privacy ON deftxkey UNDEF TKIP 2:128-bit txpowmax 36
protmode CTS roaming MANUAL bintval 100
Хэрэв /etc/rc.conf файл нь
ifconfig_ath0="DHCP" мөртэй тохируулагдсан
бол dhclient тушаалыг гараар ажиллуулах
шаардлагагүй, dhclient тушаал нь
түлхүүрүүдийг wpa_supplicant гаргаж
авсны дараа ажиллах болно.
DHCP-ийн хэрэглээ боломжгүй тохиолдолд wpa_supplicant
станцыг таниулж нэвтрүүлсний дараа та статик IP хаяг
тохируулж болно:
&prompt.root; ifconfig ath0 inet 192.168.0.100 netmask 255.255.255.0
&prompt.root; ifconfig ath0
ath0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
inet6 fe80::211:95ff:fed5:4362%ath0 prefixlen 64 scopeid 0x1
inet 192.168.0.100 netmask 0xffffff00 broadcast 192.168.0.255
ether 00:11:95:d5:43:62
media: IEEE 802.11 Wireless Ethernet autoselect (OFDM/36Mbps)
status: associated
ssid freebsdap channel 1 bssid 00:11:95:c3:0d:ac
authmode WPA privacy ON deftxkey UNDEF TKIP 2:128-bit txpowmax 36
protmode CTS roaming MANUAL bintval 100
DHCP сервер ашиглагдаагүй үед та анхдагч гарц болон
нэрийн серверийг гараар бас тохируулах хэрэгтэй болно:
&prompt.root; route add default your_default_router
&prompt.root; echo "nameserver your_DNS_server" >> /etc/resolv.conf
EAP-TLS-тэй WPA
WPA-г ашиглах хоёр дахь арга нь 802.1X арын нэвтрэлт танилтын
сервертэй цуг ашиглах явдал бөгөөд энэ тохиолдолд WPA-г
урьдчилан хуваалцсан түлхүүр бүхий аюулгүй байдлын хувьд арай дутуу WPA-Personal-с
ялгахын тулд WPA-Enterprise гэдэг. WPA-Enterprise дахь
нэвтрэлт танилт нь EAP (Extensible Authentication Protocol
буюу өргөтгөсөн нэвтрэлт танилтын протокол) дээр суурилдаг.
EAP нь шифрлэлтийн аргагүй ирдэг бөгөөд харин шифрлэгдсэн туннелийн
дотор EAP-ийг суулгахаар шийдсэн байдаг. EAP нэвтрэлт танилтын аргуудын
олон төрлүүд бүтээгдсэн бөгөөд хамгийн түгээмэл аргууд нь EAP-TLS, EAP-TTLS
болон EAP-PEAP юм.
EAP-TLS (EAP with Transport Layer Security) нь
Wi-Fi alliance-аас
хамгийн түрүүнд батламжлагдсан EAP арга бөгөөд утасгүй ертөнц дэх
маш сайн дэмжигдсэн нэвтрэлт танилтын протокол юм. EAP-TLS нь
ажиллахын тулд гурван сертификат шаарддаг: эдгээр нь CA сертификат (бүх машин
дээр суулгагдсан), таны нэвтрэлт танилтын серверт зориулсан сертификат,
утасгүй клиент бүрд зориулсан клиентийн сертификат юм. Энэ
EAP арга дээр нэвтрэлт танилтын сервер болон утасгүй клиент нь
өөр өөрсдийн сертификатыг бие биендээ үзүүлж нэг нэгнийгээ
танин нэвтрүүлдэг бөгөөд тэд эдгээр сертификатыг танай байгууллагын
сертификатын удирдлага (CA) олгож баталгаажуулсан болохыг
шалгадаг.
Урьдын адил тохиргоог /etc/wpa_supplicant.conf
файлаар хийнэ:
network={
ssid="freebsdap"
proto=RSN
key_mgmt=WPA-EAP
eap=TLS
identity="loader"
ca_cert="/etc/certs/cacert.pem"
client_cert="/etc/certs/clientcert.pem"
private_key="/etc/certs/clientkey.pem"
private_key_passwd="freebsdmallclient"
}
Энэ талбар нь сүлжээний нэрийг заана
(SSID).
Энд бид RSN (IEEE 802.11i) протоколыг ашиглана, өөрөөр хэлбэл,
WPA2.
key_mgmt мөр нь бидний ашиглах
түлхүүр удирдах протоколыг заана. Бидний тохиолдолд энэ нь EAP
нэвтрэлт танилтыг ашиглаж байгаа WPA юм:
WPA-EAP.
Энэ талбарт бид өөрсдийн холболтдоо зориулж EAP
аргыг заана.
identity талбар нь EAP-ийг таниулах
мөрийг агуулна.
ca_cert талбар нь CA сертификат
файлын замыг заана. Энэ файл нь серверийн сертификатыг шалгахад
хэрэгтэй.
client_cert шугам клиентийн
сертификатын файлын замыг өгнө. Энэ сертификат нь сүлжээний
утасгүй клиент бүрийн хувьд давтагдашгүй байна.
private_key талбар нь
клиентийн сертификатын хувийн түлхүүрийн файлын замын нэр
юм.
private_key_passwd талбар нь
хувийн түлхүүрийн нэвтрэх үгийг агуулдаг.
Тэгээд дараах мөрийг
/etc/rc.conf файлд нэмнэ:
ifconfig_ath0="WPA DHCP"
Дараагийн алхам нь rc.d боломжийн
тусламжтай интерфэйсийг босгож ажиллуулах явдал юм:
&prompt.root; /etc/rc.d/netif start
Starting wpa_supplicant.
DHCPREQUEST on ath0 to 255.255.255.255 port 67
DHCPREQUEST on ath0 to 255.255.255.255 port 67
DHCPACK from 192.168.0.20
bound to 192.168.0.254 -- renewal in 300 seconds.
ath0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
inet6 fe80::211:95ff:fed5:4362%ath0 prefixlen 64 scopeid 0x1
inet 192.168.0.254 netmask 0xffffff00 broadcast 192.168.0.255
ether 00:11:95:d5:43:62
media: IEEE 802.11 Wireless Ethernet autoselect (DS/11Mbps)
status: associated
ssid freebsdap channel 1 bssid 00:11:95:c3:0d:ac
authmode WPA2/802.11i privacy ON deftxkey UNDEF TKIP 2:128-bit
txpowmax 36 protmode CTS roaming MANUAL bintval 100
Урьд нь үзүүлсний адил интерфэйсийг гараар wpa_supplicant болон
ifconfig тушаалуудаар босгох боломжтой
байдаг.
EAP-TTLS-тэй WPA
EAP-TLS-тэй байхад нэвтрэлт танилтын сервер болон клиентэд
сертификат хэрэгтэй бол EAP-TTLS-тэй (EAP-Tunneled
Transport Layer Security) байхад клиентийн сертификат
нэмэлт сонголт байдаг. Энэ арга нь зорчигчид клиент талдаа
сертификатгүй байсан ч гэсэн нууцлаг SSL туннель үүсгэж чаддаг
зарим нэг аюулгүй вэб сайтуудын хийдэгтэй ойролцоо байдаг.
EAP-TTLS нь нэвтрэлт танилтын өгөгдлийг аюулгүй тээвэрлэхэд
зориулж шифрлэгдсэн TLS туннелийг ашиглах болно.
Тохиргоог /etc/wpa_supplicant.conf
файлаар хийнэ:
network={
ssid="freebsdap"
proto=RSN
key_mgmt=WPA-EAP
eap=TTLS
identity="test"
password="test"
ca_cert="/etc/certs/cacert.pem"
phase2="auth=MD5"
}
Энэ талбарт бид өөрийн холболтондоо зориулж
EAP аргыг дурдана.
identity талбар нь шифрлэгдсэн TLS
туннель доторх EAP нэвтрэлт танилтад зориулсан таниулах мөрийг
агуулна.
password талбар нь EAP нэвтрэлт
танилтад зориулсан нэвтрэх үгийг агуулна.
ca_cert талбар нь CA сертификатын
файлын замын нэрийг заана. Энэ файл нь серверийн сертификатыг
шалгахад хэрэгтэй байдаг.
Энэ талбарт бид шифрлэгдсэн TLS туннельд ашиглагдсан
нэвтрэлт танилтын аргыг заана. Бидний тохиолдолд MD5-Challenge-тай
цуг EAP ашиглагдаж байна. inner authentication
дотоод нэвтрэлт танилт үе нь ихэвчлэн phase2
буюу хоёрдугаар
үе гэгддэг.
Дараах мөрийг та /etc/rc.conf файлд
бас нэмэх хэрэгтэй:
ifconfig_ath0="WPA DHCP"
Дараагийн алхам бол интерфэйсийг босгож ажиллуулах явдал юм:
&prompt.root; /etc/rc.d/netif start
Starting wpa_supplicant.
DHCPREQUEST on ath0 to 255.255.255.255 port 67
DHCPREQUEST on ath0 to 255.255.255.255 port 67
DHCPREQUEST on ath0 to 255.255.255.255 port 67
DHCPACK from 192.168.0.20
bound to 192.168.0.254 -- renewal in 300 seconds.
ath0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
inet6 fe80::211:95ff:fed5:4362%ath0 prefixlen 64 scopeid 0x1
inet 192.168.0.254 netmask 0xffffff00 broadcast 192.168.0.255
ether 00:11:95:d5:43:62
media: IEEE 802.11 Wireless Ethernet autoselect (DS/11Mbps)
status: associated
ssid freebsdap channel 1 bssid 00:11:95:c3:0d:ac
authmode WPA2/802.11i privacy ON deftxkey UNDEF TKIP 2:128-bit
txpowmax 36 protmode CTS roaming MANUAL bintval 100
EAP-PEAP-тэй WPA
PEAP (Protected EAP) нь EAP-TTLS-ийн өөр нэг хувилбар хэлбэрээр
байхаар хийгдсэн юм. Хоёр төрлийн PEAP арга байдаг бөгөөд хамгийн
түгээмэл нь PEAPv0/EAP-MSCHAPv2 юм. Энэ баримтын үлдсэн хэсэгт
PEAP ухагдахууныг тэр EAP аргыг хэлэхдээ хэрэглэх болно. PEAP нь
EAP-TLS-ийн дараа ордог хамгийн их ашиглагддаг EAP стандарт юм,
өөрөөр хэлбэл хэрэв та төрөл бүрийн OS-үүд холилдсон сүлжээтэй бол
PEAP нь EAP-TLS-ийн дараа орох хамгийн ихээр дэмжигдсэн стандарт
байх юм.
PEAP нь EAP-TLS-тэй төстэй байдаг: энэ нь клиент болон
нэвтрэлт танилтын серверийн хооронд нэвтрэлт танилтын
мэдээллийн солилцоог хамгаалах шифрлэгдсэн туннель үүсгэн
клиентүүдийг танин нэвтрүүлэхийн тулд сервер талын сертификатыг
ашигладаг. Аюулгүй байдлын ухагдахуун дахь EAP-TTLS болон PEAP-ийн
хоорондох ялгаа нь PEAP нэвтрэлт танилт хэрэглэгчийн нэрийг
цэвэр текст хэлбэрээр, зөвхөн нууц үгийг шифрлэгдсэн TLS туннелээр
цацдаг явдал юм. EAP-TTLS нь хэрэглэгчийн нэр болон нууц үгт
зориулж TLS туннелийг ашиглах болно.
Бид /etc/wpa_supplicant.conf файлыг
засварлаж EAP-PEAP-тэй холбоотой тохируулгуудыг нэмэх хэрэгтэй болно:
network={
ssid="freebsdap"
proto=RSN
key_mgmt=WPA-EAP
eap=PEAP
identity="test"
password="test"
ca_cert="/etc/certs/cacert.pem"
phase1="peaplabel=0"
phase2="auth=MSCHAPV2"
}
Энэ талбарт бид өөрийн холболтондоо зориулж EAP аргыг
ашиглахаа дурдана.
identity талбар нь шифрлэгдсэн TLS
туннель доторх EAP нэвтрэлт танилтад зориулсан таниулах мөрийг
агуулна.
password талбар нь EAP нэвтрэлт
танилтад зориулсан нэвтрэх үгийг агуулна.
ca_cert талбар нь CA сертификатын
файлын замын нэрийг заана. Энэ файл нь серверийн сертификатыг
шалгахад хэрэгтэй байдаг.
Энэ талбар нь нэвтрэлт танилтын (TLS туннель) эхний үед
зориулсан параметрүүдийг агуулна. Ашигласан нэвтрэлт танилтын
серверээс хамаараад нэвтрэлт танилтад зориулж тусгай хаяг/шошгыг
зааж өгөх хэрэгтэй болно. Ихэнх тохиолдолд хаяг/шошго нь
клиентийн EAP шифрлэлт
байх бөгөөд үүнийг
peaplabel=0 гэж тохируулна.
Илүү мэдээллийг &man.wpa.supplicant.conf.5;
гарын авлагын хуудаснаас олж болно.
Энэ талбарт бид шифрлэгдсэн TLS туннельд ашиглагдсан
нэвтрэлт танилтын аргыг заана. PEAP-ийн хувьд энэ нь
auth=MSCHAPV2 байна.
Доор дурдсаныг /etc/rc.conf файлд
нэмэх ёстой:
ifconfig_ath0="WPA DHCP"
Дараа нь бид интерфэйсийг босгож ажиллуулж болно:
&prompt.root; /etc/rc.d/netif start
Starting wpa_supplicant.
DHCPREQUEST on ath0 to 255.255.255.255 port 67
DHCPREQUEST on ath0 to 255.255.255.255 port 67
DHCPREQUEST on ath0 to 255.255.255.255 port 67
DHCPACK from 192.168.0.20
bound to 192.168.0.254 -- renewal in 300 seconds.
ath0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
inet6 fe80::211:95ff:fed5:4362%ath0 prefixlen 64 scopeid 0x1
inet 192.168.0.254 netmask 0xffffff00 broadcast 192.168.0.255
ether 00:11:95:d5:43:62
media: IEEE 802.11 Wireless Ethernet autoselect (DS/11Mbps)
status: associated
ssid freebsdap channel 1 bssid 00:11:95:c3:0d:ac
authmode WPA2/802.11i privacy ON deftxkey UNDEF TKIP 2:128-bit
txpowmax 36 protmode CTS roaming MANUAL bintval 100
WEP
WEP (Wired Equivalent Privacy) нь анхдагч 802.11 стандартын
хэсэг юм. Үүнд ямар ч нэвтрэлт танилтын арга байхгүй, энэ нь хандалт
хяналтын зөвхөн сул хэлбэр бөгөөд хялбар эвдэх боломжтой байдаг.
WEP-ийг ifconfig тушаалаар
тохируулж болно:
&prompt.root; ifconfig ath0 inet 192.168.1.100 netmask 255.255.255.0 ssid my_net \
wepmode on weptxkey 3 wepkey 3:0x3456789012
weptxkey нь дамжуулалтад
ямар WEP түлхүүр ашиглахыг хэлж байна. Энд бид гурав дахь
түлхүүрийг ашиглаж байна. Энэ нь хандалтын цэг дэх тохиргоотой
таарах ёстой.
wepkey нь сонгогдсон WEP түлхүүрийг
тохируулахыг хэлнэ. Энэ нь index:key
хэлбэрийн байх ёстой бөгөөд индекс өгөгдөөгүй бол түлхүүр
1 тохируулагдана. Энэ нь хэрэв бид
эхний түлхүүрээс өөр түлхүүрүүдийг ашиглах бол индексийг тохируулах
хэрэгтэй гэсэн үг юм.
Та 0x3456789012-г
хандалтын цэг дээр ашиглахаар тохируулсан түлхүүрээр
солих ёстой.
Цаашхи мэдээллийг &man.ifconfig.8; гарын авлагын
хуудаснаас унших нь зүйтэй юм.
wpa_supplicant хэрэгслийг өөрийн утасгүй
интерфэйсийг WEP-тэй тохируулахын тулд бас ашиглаж болно.
Дараах мөрийг /etc/wpa_supplicant.conf
файлд нэмж дээрх жишээг тохируулж болно:
network={
ssid="my_net"
key_mgmt=NONE
wep_key3=3456789012
wep_tx_keyidx=3
}
Дараа нь:
&prompt.root; wpa_supplicant -i ath0 -c /etc/wpa_supplicant.conf
Trying to associate with 00:13:46:49:41:76 (SSID='dlinkap' freq=2437 MHz)
Associated with 00:13:46:49:41:76
Ad-hoc горим
IBSS горим буюу бас ad-hoc гэгддэг горим нь цэгээс цэгт холбогдох холболтуудад
зориулагдан хийгдсэн. Жишээ нь A машин болон B
машины хооронд ad-hoc сүлжээ үүсгэхийн тулд бид ердөө л хоёр IP хаяг болон SSID
сонгох хэрэгтэй болно.
A машин дээр:
&prompt.root; ifconfig ath0 inet 192.168.0.1 netmask 255.255.255.0 ssid freebsdap mediaopt adhoc
&prompt.root; ifconfig ath0
ath0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
inet 192.168.0.1 netmask 0xffffff00 broadcast 192.168.0.255
inet6 fe80::211:95ff:fec3:dac%ath0 prefixlen 64 scopeid 0x4
ether 00:11:95:c3:0d:ac
media: IEEE 802.11 Wireless Ethernet autoselect <adhoc> (autoselect <adhoc>)
status: associated
ssid freebsdap channel 2 bssid 02:11:95:c3:0d:ac
authmode OPEN privacy OFF txpowmax 36 protmode CTS bintval 100
adhoc параметр нь интерфэйс IBSS горимд ажиллаж
байгааг харуулж байна.
B машин дээр бид A машиныг
илрүүлж чадах ёстой:
&prompt.root; ifconfig ath0 up scan
SSID BSSID CHAN RATE S:N INT CAPS
freebsdap 02:11:95:c3:0d:ac 2 54M 19:0 100 IS
Гаралт дээрх I нь A
машин ad-hoc горимд байгааг батална. Бид одоо B-г
өөр IP хаягтайгаар тохируулах хэрэгтэй:
&prompt.root; ifconfig ath0 inet 192.168.0.2 netmask 255.255.255.0 ssid freebsdap mediaopt adhoc
&prompt.root; ifconfig ath0
ath0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
inet6 fe80::211:95ff:fed5:4362%ath0 prefixlen 64 scopeid 0x1
inet 192.168.0.2 netmask 0xffffff00 broadcast 192.168.0.255
ether 00:11:95:d5:43:62
media: IEEE 802.11 Wireless Ethernet autoselect <adhoc> (autoselect <adhoc>)
status: associated
ssid freebsdap channel 2 bssid 02:11:95:c3:0d:ac
authmode OPEN privacy OFF txpowmax 36 protmode CTS bintval 100
A болон B нь одоо
мэдээлэл солилцоход бэлэн боллоо.
Алдааг олж засварлах
Хэрэв та утасгүй сүлжээндээ асуудалтай байгаа бол асуудлыг олж
засварлахад туслах хэд хэдэн алхмууд байдаг.
Хайлт хийж байхдаа та хандалтын цэгийг олж харахгүй байгаа бол
та өөрийн утасгүй төхөөрөмжөө тодорхой хэдэн сувгууд дээр
хязгаарлаж тохируулаагүй эсэхээ шалгаарай.
Хэрэв та хандалтын цэгт холбогдож чадахгүй байгаа бол таны станцын
тохиргоо хандалтын цэгийн аль нэгтэй тохирч байгаа эсэхийг шалгаарай.
Үүнд нэвтрэлт танилтын схем болон аюулгүй байдлын протоколууд
хамаарна. Өөрийн тохиргоогоо аль болох хялбаршуулах хэрэгтэй.
Хэрэв та WPA эсвэл WEP зэрэг аюулгүй байдлын протоколыг
ашиглаж байгаа бол хандалтын цэгийг нээлттэй нэвтрэлт танилтад зориулж
ямар нэгэн аюулгүй байдлын хамгаалалтгүй тохируулж урсгал
дамжиж байгаа эсэхийг үзэх хэрэгтэй.
Хандалтын цэгт холбогдсоныхоо дараа &man.ping.8; зэрэг
хялбар хэрэгслүүдийг ашиглаад ямар ч аюулгүй байдлын тохиргоог
оношилж болно.
wpa_supplicant нь илүү дибаг хийх
дэмжлэгтэй байдаг; үүнийг сонголттой
гараар ажиллуулж системийн бүртгэлүүдийг шалгах хэрэгтэй.
Мөн олон доод түвшний дибаг хийх хэрэгслүүд бас байдаг. Та
802.11 протоколын дэмжлэг давхаргад дибаг мэдэгдлүүдийг
/usr/src/tools/tools/net80211 дахь
wlandebug програмыг ашиглан идэвхжүүлж
болно. Жишээ нь:
&prompt.root; wlandebug -i ath0 +scan+auth+debug+assoc
net.wlan.0.debug: 0 => 0xc80000<assoc,auth,scan>
тушаал нь хандалтын цэгүүдийг хайх болон холбоог зохион байгуулах
802.11 протоколын мэдээлэл солилцоонуудыг хийхтэй холбоотой
консолын мэдэгдлүүдийг идэвхжүүлэхэд ашиглагдаж болох юм.
802.11 давхаргын арчилж байдаг олон ашигтай статистикууд бас
байдаг; эдгээр мэдээллүүдийг wlanstats
хэрэгсэл харуулах болно. Эдгээр статистикууд нь 802.11 давхаргаар
танигдсан бүх алдаануудыг таних ёстой. Гэхдээ 802.11 давхаргаас доош
орших төхөөрөмжийн драйверууд дээр танигдсан зарим алдаанууд нь
харуулагдахгүй байж болохыг санаарай. Төхөөрөмжтэй холбоотой
асуудлуудыг оношлохын тулд та драйверийн баримтаас лавлах хэрэгтэй юм.
Хэрэв дээрх мэдээлэл асуудлыг тодруулахад тань туслахгүй байгаа бол
дээрх хэрэгслүүдээс гарсан гаралтыг оруулж асуудлынхаа тайланг илгээгээрэй.
Пав
Лукистник
Бичсэн
pav@FreeBSD.org
Bluetooth
Bluetooth
Танилцуулга
Bluetooth нь 10 метрийн дотор 2.4 GHz давтамжийн лицензжүүлээгүй
зурваст ажиллах хувийн сүлжээнүүд үүсгэхэд зориулагдсан утасгүй технологи юм.
Сүлжээнүүд нь үүрэн утас, гарын цахим жижиг хэрэгслүүд, болон зөөврийн
компьютерууд зэрэг зөөврийн төхөөрөмжүүдээс ad-hoc ихэвчлэн бүрдүүлдэг.
Бусад түгээмэл утасгүй технологиудаас ялгаатай тал нь Wi-Fi, Bluetooth нь
илүү өндөр түвшний үйлчилгээний хувийн тохиргоонуудыг санал болгодог, өөрөөр
хэлбэл FTP-тэй адил файлын серверүүд, файл түлхэх, дуу дамжуулалт,
цуваа шугамын эмуляц зэрэг олныг дурдаж болно.
&os; дэх Bluetooth стек нь Netgraph тогтолцоог ашиглан хийгдсэн
байдаг (&man.netgraph.4;-г үзнэ үү). Олон төрлийн Bluetooth USB хамгаалах
төхөөрөмжүүд (dongle) &man.ng.ubt.4; драйвераар дэмжигдсэн байдаг.
Broadcom BCM2033 бичил схем дээр суурилсан Bluetooth төхөөрөмжүүд нь
&man.ubtbcmfw.4; болон &man.ng.ubt.4; драйверуудаар дэмжигдсэн байдаг.
3Com Bluetooth PC Карт 3CRWB60-A нь &man.ng.bt3c.4; драйвераар
дэмжигдсэн байдаг. Цуваа болон UART дээр суурилсан Bluetooth төхөөрөмжүүд нь
&man.sio.4;, &man.ng.h4.4; болон &man.hcseriald.8; драйверуудаар
дэмжигдсэн. Энэ хэсэг нь USB Bluetooth dongle-ийн хэрэглээг тайлбарлах
болно.
Төхөөрөмжид залгах нь
Анхдагчаар Bluetooth төхөөрөмжийн драйверууд нь цөмийн модуль хэлбэрээр
байдаг. Төхөөрөмжийг залгахаасаа өмнө та драйверийг цөмд дуудаж ачаалах хэрэгтэй
болно:
&prompt.root; kldload ng_ubt
Хэрэв Bluetooth төхөөрөмж системийг эхлүүлэх явцад системд байх юм бол
/boot/loader.conf файлаас модулийг дуудна:
ng_ubt_load="YES"
Өөрийн USB dongle-ийг залга. Консол (эсвэл syslog) дээр доор дурдсантай төстэй
гаралт гарч ирэх болно:
ubt0: vendor 0x0a12 product 0x0001, rev 1.10/5.25, addr 2
ubt0: Interface 0 endpoints: interrupt=0x81, bulk-in=0x82, bulk-out=0x2
ubt0: Interface 1 (alt.config 5) endpoints: isoc-in=0x83, isoc-out=0x3,
wMaxPacketSize=49, nframes=6, buffer size=294
Bluetooth стек нь &os; 6.0 болон 5.5-аас өмнөх &os; 5.X
хувилбарууд дээр гараар эхлүүлэгдэх ёстой. Энэ нь &os; 5.5, 6.1 болон түүнээс
шинэ хувилбарууд дээр &man.devd.8;-ээс автоматаар хийгддэг.
/usr/share/examples/netgraph/bluetooth/rc.bluetooth-г
/etc/rc.bluetooth гэх мэт ямар нэг тохиромжтой газар хуулах хэрэгтэй.
Энэ скрипт ньь Bluetooth стекийг эхлүүлэх болон зогсооход хэрэглэгддэг. Төхөөрөмжийг
салгахаасаа өмнө стекийг зогсоох нь зөв байдаг, гэхдээ энэ нь (ихэвчлэн) сүйрлийн биш
байдаг. Стекийг эхлүүлж байхад доор дурдсантай төстэй гаралтыг та хүлээн авах
болно:
&prompt.root; /etc/rc.bluetooth start ubt0
BD_ADDR: 00:02:72:00:d4:1a
Features: 0xff 0xff 0xf 00 00 00 00 00
<3-Slot> <5-Slot> <Encryption> <Slot offset>
<Timing accuracy> <Switch> <Hold mode> <Sniff mode>
<Park mode> <RSSI> <Channel quality> <SCO link>
<HV2 packets> <HV3 packets> <u-law log> <A-law log> <CVSD>
<Paging scheme> <Power control> <Transparent SCO data>
Max. ACL packet size: 192 bytes
Number of ACL packets: 8
Max. SCO packet size: 64 bytes
Number of SCO packets: 8
HCI
Host Controller Interface (HCI) буюу Хостын Хянагчийн Интерфэйс
Host Controller Interface (HCI) буюу Хостын Хянагчийн Интерфэйс нь
үндсэн зурвасын хянагч болон холболтын менежерт тушаалын интерфэйсийг,
тоног төхөөрөмжийн төлөв болон хяналтын регистрүүдэд хандалтыг өгдөг байна.
Энэ интерфэйс нь Bluetooth-ийн үндсэн зурвасын боломжуудад хандах нэгэн
хэвийн аргыг олгодог. Хост дээрх HCI давхарга нь өгөгдөл болон тушаалуудыг
Bluetooth тоног төхөөрөмж дээрх HCI firmware-тэй солилцдог.
Хостын Хянагчийн Тээврийн Давхаргын (өөрөөр хэлбэл физик шугам) драйвер нь
HCI давхаргуудад нэг нь нөгөөдөө мэдээлэл солилцох боломжоор хангаж
өгдөг.
hci төрлийн ганц Netgraph цэг ганц Bluetooth
төхөөрөмжийн хувьд үүсдэг. HCI цэг нь Bluetooth төхөөрөмжийн драйверийн цэгт
(доош) болон L2CAP цэгт (дээш) ихэвчлэн холбогддог. Бүх HCI үйлдлүүд нь
төхөөрөмжийн драйверийн цэг дээр биш HCI цэг дээр хийгдэх ёстой. HCI цэгийн
анхдагч нэр нь devicehci
юм. Илүү дэлгэрэнгүй
мэдээллийг &man.ng.hci.4; гарын авлагын хуудаснаас лавлана уу.
Хамгийн нийтлэг ажлуудын нэг нь RF-ийн ойр Bluetooth төхөөрөмжүүдийг
олох явдал юм. Энэ үйлдлийг inquiry буюу
лавлагаа гэдэг. Лавлагаа болон бусад HCI-тэй холбоотой үйлдлүүд нь
&man.hccontrol.8; хэрэгслээр хийгддэг. Доорх жишээ нь ойр орчим ямар
Bluetooth төхөөрөмжүүд байгааг хэрхэн олохыг харуулж байна. Та төхөөрөмжүүдийн
жагсаалтыг хэдхэн секундэд авах ёстой. Алсын төхөөрөмж нь
илрүүлэгдэх горимд байгаа тохиолдолд лавлагаанд зөвхөн
хариулах болно гэдгийг санаарай.
&prompt.user; hccontrol -n ubt0hci inquiry
Inquiry result, num_responses=1
Inquiry result #0
BD_ADDR: 00:80:37:29:19:a4
Page Scan Rep. Mode: 0x1
Page Scan Period Mode: 00
Page Scan Mode: 00
Class: 52:02:04
Clock offset: 0x78ef
Inquiry complete. Status: No error [00]
BD_ADDR нь Bluetooth төхөөрөмжийн
сүлжээний картанд байдаг MAC хаягууд шиг давтагдашгүй хаяг юм. Энэ хаяг нь
төхөөрөмжтэй холбогдоход цаашид хэрэг болдог. BD_ADDR-т хүн уншиж
болохоор нэр өгөх боломжтой байдаг. /etc/bluetooth/hosts
файл нь мэдэгдэж байгаа Bluetooth хостуудын тухай мэдээллийг
агуулдаг. Дараах жишээ нь алсын төхөөрөмжид өгсөн хүн уншиж болохоор нэрийг
хэрхэн авч болохыг үзүүлж байна:
&prompt.user; hccontrol -n ubt0hci remote_name_request 00:80:37:29:19:a4
BD_ADDR: 00:80:37:29:19:a4
Name: Pav's T39
Хэрэв та лавлагааг алсын Bluetooth төхөөрөмж дээр хийх юм бол энэ нь
таны компьютерийг your.host.name (ubt0)
хэлбэрээр
олох болно. Локал төхөөрөмжид өгсөн нэрийг ямар ч үед өөрчилж болно.
Bluetooth систем нь цэгээс-цэгт-хүрэх (point-to-point)
эсвэл цэгээс-олон-цэгт-хүрэх (point-to-multipoint) холболтын боломжийг олгодог.
Цэгээс-олон-цэгт-хүрэх (point-to-multipoint) холболтод холболт нь
хэд хэдэн Bluetooth төхөөрөмжүүдийн хооронд хуваалцан хэрэглэгддэг. Дараах
жишээ нь локал төхөөрөмжийн хувьд идэвхтэй үндсэн зурвасын холболтуудын
жагсаалтыг хэрхэн авахыг үзүүлж байна:
&prompt.user; hccontrol -n ubt0hci read_connection_list
Remote BD_ADDR Handle Type Mode Role Encrypt Pending Queue State
00:80:37:29:19:a4 41 ACL 0 MAST NONE 0 0 OPEN
connection handle буюу холболтын гар
нь үндсэн зурвасын холболтыг дуусгах шаардлагатай үед ашигтай байдаг.
Үүнийг гараар хийхийг ерөнхийдөө шаарддаггүйг санаарай. Стек нь идэвхгүй байгаа
үндсэн зурвасын холболтуудыг автоматаар дуусгах болно.
&prompt.root; hccontrol -n ubt0hci disconnect 41
Connection handle: 41
Reason: Connection terminated by local host [0x16]
HCI тушаалуудын бүрэн жагсаалыг hccontrol help
гэж лавлана уу. HCI тушаалуудын ихэнх нь супер хэрэглэгчийн зөвшөөрлүүдийг
шаарддаггүй.
L2CAP
Logical Link Control and Adaptation Protocol (L2CAP) буюу
Логик Холболтын Хяналт ба Тааруулах Протокол
Логик Холболтын Хяналт ба Тааруулах Протокол (L2CAP) нь
холболт дээр тулгуурласан болон холболтгүй (connection-oriented and
connectionless) өгөгдлийн үйлчилгээнүүдийг протокол олон хуваагдах (multiplex)
чадвар болон сегмент болгож дахин цуглуулах үйлдэлтэй цуг дээд түвшний
протоколуудад хангаж өгдөг. L2CAP нь уртаараа 64 килобайт хүртэл хэмжээний
L2CAP пакетуудыг дамжуулж хүлээн авахыг өндөр түвшний протоколууд болон
програмуудад зөвшөөрдөг.
L2CAP нь сувгууд гэсэн ойлголт дээр тулгуурладаг.
Суваг нь үндсэн зурвасын холболт дээрх логик холболт юм. Суваг бүр ганц протоколд
олноос нэг уруу чиглэсэн загвараар уягдсан байдаг. Олон сувгууд нэг протоколд
уягдаж болдог боловч нэг сувгийг олон протоколд уяж болдоггүй. Суваг дээр
хүлээн авсан L2CAP пакет бүр зохих дээд түвшний протокол уруу чиглүүлэгддэг.
Олон сувгууд нь нэг үндсэн зурвасын холболтыг хуваалцаж болно.
l2cap төрлийн ганц Netgraph цэг ганц Bluetooth
төхөөрөмжийн хувьд үүсгэгддэг. L2CAP цэг нь Bluetooth HCI цэг (доош) болон
Bluetooth сокетуудад (дээш) ихэвчлэн холбогддог. Илүү дэлгэрэнгүй мэдээллийг
&man.ng.l2cap.4; гарын авлагын хуудаснаас лавлана уу.
Ашигтай тушаал бол бусад хэрэгслүүд уруу ping хийхэд хэрэглэгддэг
&man.l2ping.8; тушаал юм. Зарим нэг Bluetooth шийдлүүд нь тэдэн уруу
илгээсэн бүх өгөгдлийг буцаахгүй байж болох учраас дараах жишээн дээрх
0 bytes гэдэг нь хэвийн юм.
&prompt.root; l2ping -a 00:80:37:29:19:a4
0 bytes from 0:80:37:29:19:a4 seq_no=0 time=48.633 ms result=0
0 bytes from 0:80:37:29:19:a4 seq_no=1 time=37.551 ms result=0
0 bytes from 0:80:37:29:19:a4 seq_no=2 time=28.324 ms result=0
0 bytes from 0:80:37:29:19:a4 seq_no=3 time=46.150 ms result=0
&man.l2control.8; хэрэгсэл нь L2CAP цэгүүд дээр төрөл бүрийн үйлдлүүдийг
хийдэг. Энэ жишээ нь логик холболтуудын (сувгууд) жагсаалт болон локал төхөөрөмжийн
хувьд үндсэн зурвасын жагсаалтыг хэрхэн авахыг үзүүлж байна:
&prompt.user; l2control -a 00:02:72:00:d4:1a read_channel_list
L2CAP channels:
Remote BD_ADDR SCID/ DCID PSM IMTU/ OMTU State
00:07:e0:00:0b:ca 66/ 64 3 132/ 672 OPEN
&prompt.user; l2control -a 00:02:72:00:d4:1a read_connection_list
L2CAP connections:
Remote BD_ADDR Handle Flags Pending State
00:07:e0:00:0b:ca 41 O 0 OPEN
Өөр нэг оношлогооны хэрэгсэл бол &man.btsockstat.1; юм. Энэ нь
&man.netstat.1;-ийн хийдэгтэй төстэйг хийдэг, гэхдээ зөвхөн Bluetooth сүлжээтэй
холбоотой өгөгдлийн бүтцүүдийн хувьд хийдэг. Доорх жишээ нь дээрх &man.l2control.8;-ийн
нэгэн адил логик холболтыг харуулж байна.
&prompt.user; btsockstat
Active L2CAP sockets
PCB Recv-Q Send-Q Local address/PSM Foreign address CID State
c2afe900 0 0 00:02:72:00:d4:1a/3 00:07:e0:00:0b:ca 66 OPEN
Active RFCOMM sessions
L2PCB PCB Flag MTU Out-Q DLCs State
c2afe900 c2b53380 1 127 0 Yes OPEN
Active RFCOMM sockets
PCB Recv-Q Send-Q Local address Foreign address Chan DLCI State
c2e8bc80 0 250 00:02:72:00:d4:1a 00:07:e0:00:0b:ca 3 6 OPEN
RFCOMM
RFCOMM Протокол
RFCOMM протокол нь L2CAP протоколын дээгүүр цуваа портуудыг эмуляц хийх
боломжийг хангадаг. Энэ протокол нь ETSI стандарт TS 07.10 дээр суурилсан юм.
RFCOMM нь RS-232 (EIATIA-232-E) цуваа портуудын 9 замыг эмуляц хийх нэмэлт
бэлтгэл бүхий ердийн тээвэрлэх протокол юм. RFCOMM протокол нь хоёр Bluetooth
төхөөрөмжийн хооронд 60 хүртэлх зэрэг холболтуудыг (RFCOMM сувгууд)
дэмждэг.
RFCOMM-ийн хувьд өөр өөр төхөөрөмжүүд (холбооны төгсгөлийн цэгүүд)
дээр ажиллаж байгаа хоёр програм болон тэдгээрийн хоорондын холбооны сегмент
холбооны бүрэн замд ордог. RFCOMM нь төхөөрөмжүүд дээр байгаа цуваа портуудыг ашигладаг
програмуудад зориулагдсан юм. Холбооны сегмент нь нэг төхөөрөмжөөс нөгөө уруу
холбогдсон (шууд холболт) Bluetooth холбоос юм.
RFCOMM нь шууд холболтын үед төхөөрөмжүүдийн хоорондох холболт
эсвэл сүлжээний хувьд төхөөрөмж болон модемийн хоорондох холболтод зөвхөн
санаа тавьдаг. RFCOMM нь нэг талдаа Bluetooth утасгүй технологийг ашиглаж
холбогддог бөгөөд нөгөө талдаа утастай интерфэйсээр хангадаг модулиуд зэрэг бусад
тохиргоонуудыг дэмждэг.
&os; дээр RFCOMM протокол нь Bluetooth сокетуудын давхаргад хийгддэг.
хослох
Төхөөрөмжүүдийг хослох
Анхдагчаар Bluetooth холбоонд нэвтрэлт танилт хийгддэггүй бөгөөд ямар ч
төхөөрөмж ямар ч төхөөрөмжтэй ярилцаж чаддаг. Bluetooth төхөөрөмж (жишээ нь
үүрэн утас) тухайн нэг үйлчилгээг (жишээ нь Dial-Up үйлчилгээ) хангахын тулд
нэвтрэлт танилтыг шаарддаг байхаар байж болно. Bluetooth нэвтрэлт танилт нь
хэвийн үед PIN кодуудаар хийгддэг. Хоёр төхөөрөмжийн
хувьд хэрэглэгч адил PIN кодыг оруулах шаардлагатай. Хэрэглэгч PIN код оруулсны
дараа хоёр төхөөрөмж холболтын түлхүүр үүсгэнэ.
Түүний дараа холболтын түлхүүр нь уг төхөөрөмжүүд дээрээ эсвэл байнгын хадгалалтад
хадгалагдаж болно. Дараагийн удаа хоёр төхөөрөмж нь урьд нь үүсгэсэн холболтын
түлхүүрээ ашиглах болно. Энэ тайлбарласан процедурыг pairing
буюу хослох гэж нэрлэдэг. Ямар нэг төхөөрөмж холболтын
түлхүүрийг гээх юм бол хослолтыг дахин хийх ёстой.
&man.hcsecd.8; дэмон нь бүх Bluetooth нэвтрэлт танилтын хүсэлтүүдтэй
ажиллах үүрэгтэй. Анхдагч тохиргооны файл нь
/etc/bluetooth/hcsecd.conf юм. Дурын 1234
гэж тохируулагдсан PIN кодтой үүрэн утасны жишээ хэсгийг доор үзүүлэв:
device {
bdaddr 00:80:37:29:19:a4;
name "Pav's T39";
key nokey;
pin "1234";
}
PIN код дээр хязгаарлалт байдаггүй (уртаас гадна). Зарим төхөөрөмжүүдэд
(жишээ нь Bluetooth чихэвчнүүд) тогтмол PIN код цуг бүтээгдсэн байж болох юм.
тохируулга нь &man.hcsecd.8; дэмонг нүүрэнд үлдэж
ажиллахыг заадаг бөгөөд ингэснээр юу болж байгааг харах боломжтой юм.
Хослолыг хүлээн авч алсын төхөөрөмж уруу Bluetooth холболт эхлүүлэхээр
алсын төхөөрөмжийг тохируулна. Алсын төхөөрөмж нь хослол хийлтийг хүлээн авсан гэдгээ
хэлж PIN код хүсэх ёстой. hcsecd.conf файлд
байгаатай адил PIN код оруулаарай. Одоо таны PC болон алсын төхөөрөмж
хосолсон байна. Өөрөөр та хослол хийлтийг алсын төхөөрөмж дээр эхлүүлж болно.
&os; 5.5, 6.1 болон түүнээс шинэ хувилбаруудад hcsecd-г
систем эхлэхэд автоматаар эхлүүлэхийн тулд дараах мөрийг /etc/rc.conf
файлд нэмэн хийж болно:
hcsecd_enable="YES"
hcsecd дэмоны гаралтын жишээг доор
үзүүлэв:
hcsecd[16484]: Got Link_Key_Request event from 'ubt0hci', remote bdaddr 0:80:37:29:19:a4
hcsecd[16484]: Found matching entry, remote bdaddr 0:80:37:29:19:a4, name 'Pav's T39', link key doesn't exist
hcsecd[16484]: Sending Link_Key_Negative_Reply to 'ubt0hci' for remote bdaddr 0:80:37:29:19:a4
hcsecd[16484]: Got PIN_Code_Request event from 'ubt0hci', remote bdaddr 0:80:37:29:19:a4
hcsecd[16484]: Found matching entry, remote bdaddr 0:80:37:29:19:a4, name 'Pav's T39', PIN code exists
hcsecd[16484]: Sending PIN_Code_Reply to 'ubt0hci' for remote bdaddr 0:80:37:29:19:a4
SDP
Service Discovery Protocol (SDP) буюу Үйлчилгээ Илрүүлэх Протокол
Service Discovery Protocol (SDP) буюу Үйлчилгээ Илрүүлэх Протокол нь
сервер програмуудын үзүүлдэг үйлчилгээнүүдийн байгаа эсэх болон тэдгээр
үйлчилгээнүүдийн шинж чанаруудыг илрүүлэх боломжийг клиент програмуудад олгодог.
Үйлчилгээний шинж чанарууд нь санал болгосон үйлчилгээний төрөл эсвэл ангилал болон
үйлчилгээг хэрэглэхэд шаардагдах арга зам юм уу эсвэл протоколын мэдээллийг
агуулдаг.
SDP-д SDP сервер болон SDP клиентийн хоорондох холбоо ордог. Сервер нь
сервертэй холбоотой үйлчилгээнүүдийн шинж чанаруудыг тайлбарладаг үйлчилгээний
бичлэгүүдийн жагсаалтыг арчилж байдаг. Үйлчилгээний бичлэг бүр ганц үйлчилгээний
талаар мэдээллийг агуулдаг. SDP серверийн арчилж байдаг үйлчилгээний бичлэгээс
клиент SDP хүсэлт илгээн мэдээллийг авч болно. Хэрэв клиент эсвэл клиенттэй
холбоотой програм нь үйлчилгээг ашиглахаар шийдвэл үйлчилгээг хэрэглэхийн тулд
үйлчилгээ үзүүлэгч уруу тусдаа холболт нээх ёстой. SDP нь үйлчилгээнүүд болон
тэдгээрийн шинж чанаруудыг илрүүлэх арга замаар хангадаг боловч тэдгээр үйлчилгээнүүдийг
хэрэглэх арга замуудаар хангадаггүй юм.
Хэвийн үед SDP клиент нь үйлчилгээнүүдийн зарим хүссэн онцгой шинжүүд дээр тулгуурлан
үйлчилгээнүүдийг хайдаг. Гэхдээ үйлчилгээнүүдийн талаар урьд нь ямар ч мэдээлэл байхгүй
байхад SDP серверийн үйлчилгээний бичлэгүүдээр тайлбарлагдсан үйлчилгээнүүдийн ямар
төрлүүд байгааг олохыг хүсэх үеүүд байдаг. Санал болгосон дурын үйлчилгээнүүдийг
хайх процесс нь browsing буюу үзэх
гэгддэг.
Bluetooth SDP сервер &man.sdpd.8; болон тушаалын мөрийн клиент
&man.sdpcontrol.8; нь стандарт &os; суулгацад орсон байдаг. Дараах жишээ нь
SDP үзэх хүсэлтийг хэрхэн хийж байгаа харуулж байна.
&prompt.user; sdpcontrol -a 00:01:03:fc:6e:ec browse
Record Handle: 00000000
Service Class ID List:
Service Discovery Server (0x1000)
Protocol Descriptor List:
L2CAP (0x0100)
Protocol specific parameter #1: u/int/uuid16 1
Protocol specific parameter #2: u/int/uuid16 1
Record Handle: 0x00000001
Service Class ID List:
Browse Group Descriptor (0x1001)
Record Handle: 0x00000002
Service Class ID List:
LAN Access Using PPP (0x1102)
Protocol Descriptor List:
L2CAP (0x0100)
RFCOMM (0x0003)
Protocol specific parameter #1: u/int8/bool 1
Bluetooth Profile Descriptor List:
LAN Access Using PPP (0x1102) ver. 1.0
... гэх мэт байна. Үйлчилгээ болгон шинж чанаруудтай байгааг анхаараарай
(жишээ нь RFCOMM суваг). Үйлчилгээнээс хамаараад та зарим нэг шинж чанаруудын
талаар тэмдэглэгээ хийж авах хэрэгтэй болж болох юм. Зарим Bluetooth шийдлүүд нь
үйлчилгээ үзэх боломжийг дэмждэггүй бөгөөд хоосон жагсаалт буцааж болох юм.
Энэ тохиолдолд тодорхой үйлчилгээг хайх боломжтой байдаг. Доорх жишээ нь
OBEX-ийн Обьект Түлхэх (OPUSH) үйлчилгээг хэрхэн хайхыг үзүүлж байна:
&prompt.user; sdpcontrol -a 00:01:03:fc:6e:ec search OPUSH
&os; дээр Bluetooth клиентүүдэд үйлчилгээнүүдийг санал болохдоо
&man.sdpd.8; серверийн тусламжтайгаар хийдэг. &os; 5.5, 6.1 болон
түүнээс дээш хувилбарууд дээр /etc/rc.conf файлд
дараах мөрийг нэмж болно:
sdpd_enable="YES"
Дараа нь sdpd дэмонг ингэж эхлүүлж болно:
&prompt.root; /etc/rc.d/sdpd start
&os; 6.0, болон 5.5-аас өмнөх &os; 5.X хувилбар дээр sdpd
нь системийг эхлүүлэх скриптүүдэд хийгдээгүй байдаг. Үүнийг гараар ажиллуулах ёстой:
&prompt.root; sdpd
Алсын клиентүүдэд Bluetooth үйлчилгээг үзүүлэхийг хүссэн локал серверийн
програм нь үйлчилгээг SDP дэмонд бүртгэх болно. Ийм програмуудын нэг нь
&man.rfcomm.pppd.8; юм. Эхэлснийхээ дараа энэ нь Bluetooth LAN үйлчилгээг
локал SDP дэмонд бүртгэх болно.
Локал SDP серверт бүртгэсэн үйлчилгээнүүдийн жагсаалтыг локал хяналтын сувгаар
SDP-ийн үзэх хүсэлтийг илгээн авч болно:
&prompt.root; sdpcontrol -l browse
Dial-Up сүлжээ (DUN) ба PPP ашиглах Сүлжээний Хандалт (LAN) хувийн тохиргоонууд
Dial-Up сүлжээ (DUN) хувийн тохиргоо нь модемууд болон үүрэн утаснуудтай
ихэвчлэн ашиглагддаг. Энэ хувийн тохиргоонд хамаарах тохиолдлуудыг
доор дурдав:
үүрэн утас эсвэл модемийг компьютер дээрээ
Интернэтийн хандалтын сервер уруу залгаж холбогдох юм уу эсвэл
бусад dial-up үйлчилгээнүүдэд хэрэглэхээр утасгүй модем маягаар ашиглах;
үүрэн утас эсвэл модемийг компьютер дээрээ
өгөгдлийн дуудлагуудыг хүлээн авахад ашиглах.
PPP ашиглах Сүлжээний Хандалт (LAN) хувийн тохиргоо дараах тохиолдлуудад
ашиглагдаж болно:
Ганц Bluetooth төхөөрөмжид зориулсан LAN хандалт;
Олон Bluetooth төхөөрөмжид зориулсан LAN хандалт;
PC-ээс PC уруу (цуваа кабелийн эмуляцаар PPP сүлжээ
ашиглан).
&os; дээр энэ хоёр хувийн тохиргоо нь &man.ppp.8; болон
&man.rfcomm.pppd.8; програмуудаар хийгддэг. &man.rfcomm.pppd.8; нь
RFCOMM Bluetooth холболтыг PPP-ийн ажиллаж чадах ямар нэгэн зүйл болгож хувиргадаг
гүйцэтгэл хялбаршуулагч юм. Аль ч хувийн тохиргоог ашиглахаасаа өмнө
/etc/ppp/ppp.conf файлд шинэ PPP хаяг
үүсгэгдсэн байх ёстой. Жишээнүүдийн талаар &man.rfcomm.pppd.8; гарын
авлагаас лавлана уу.
Дараах жишээн дээр &man.rfcomm.pppd.8; нь DUN RFCOMM суваг дээр
BD_ADDR 00:80:37:29:19:a4 хаягтай алсын төхөөрөмж уруу RFCOMM холболт
хийхэд ашиглагдах болно. RFCOMM сувгийн дугаарыг алсын төхөөрөмжөөс SDP-ээр
авах болно. RFCOMM сувгийг гараар зааж өгөх боломжтой бөгөөд энэ тохиолдолд
&man.rfcomm.pppd.8; нь SDP хүсэлт хийхгүй байх болно. Алсын төхөөрөмж дээр
RFCOMM сувгийг олохын тулд &man.sdpcontrol.8;-г ашиглаарай.
&prompt.root; rfcomm_pppd -a 00:80:37:29:19:a4 -c -C dun -l rfcomm-dialup
PPP ашиглах Сүлжээний Хандалтын (LAN) үйлчилгээг хангахын тулд
&man.sdpd.8; сервер ажиллаж байх ёстой. LAN клиентүүдэд зориулсан
шинэ оруулгууд /etc/ppp/ppp.conf файлд
үүсгэгдсэн байх ёстой. Жишээнүүдийн талаар &man.rfcomm.pppd.8;
гарын авлагын хуудаснаас лавлана уу. Төгсгөлд нь RFCOMM PPP серверийг
зөв RFCOMM сувгийн дугаар дээр эхлүүлнэ. RFCOMM PPP сервер нь
Bluetooth LAN үйлчилгээг локал SDP дэмонд автоматаар бүртгэх болно.
Доорх жишээ нь RFCOMM PPP серверийг хэрхэн эхлүүлэхийг үзүүлж байна.
&prompt.root; rfcomm_pppd -s -C 7 -l rfcomm-server
OBEX
OBEX Object Push (OPUSH) буюу OBEX Обьект Түлхэх хувийн тохиргоо
OBEX нь хөдөлгөөнт төхөөрөмжүүдийн хооронд энгийн файл дамжуулалт хийхэд
зориулагдсан өргөн ашиглагддаг протокол юм. Үүний гол хэрэглээ нь хэт ягаан туяаны
холбоо бөгөөд зөөврийн компьютерууд эсвэл PDA-уудын хооронд ердийн файл
дамжуулахад, нэрийн хуудас эсвэл цагалбарыг үүрэн утас болон PIM програмуудтай
бусад төхөөрөмжүүдийн хооронд илгээхэд хэрэглэгддэг.
OBEX сервер болон клиент нь гуравдагч талын багц obexapp
хэлбэрээр хийгдсэн байдаг бөгөөд энэ нь comms/obexapp
порт хэлбэрээр байдаг.
OBEX клиент нь OBEX серверт обьектуудыг түлхэж оруулах буюу/эсвэл татахад хэрэглэгддэг.
Обьект нь жишээ нь нэрийн хуудас юм уу эсвэл уулзалт байж болно. OBEX клиент нь
алсын төхөөрөмжөөс SDP-ээр RFCOMM сувгийн дугаарыг авч болно. RFCOMM сувгийн
дугаарын оронд үйлчилгээний нэрийг зааж үүнийг хийж болно. Дэмжигдсэн үйлчилгээний
нэрсэд: IrMC, FTRN, болон OPUSH ордог. RFCOMM сувгийг дугаар болгон зааж
өгөх боломжтой байдаг. Төхөөрөмжийн мэдээллийн обьектийг үүрэн утаснаас татаж
авч байгаа болон шинэ обьектийг (нэрийн хуудас) утасны сан уруу хийж байгаа
OBEX сессийн жишээг доор үзүүлэв.
&prompt.user; obexapp -a 00:80:37:29:19:a4 -C IrMC
obex> get telecom/devinfo.txt devinfo-t39.txt
Success, response: OK, Success (0x20)
obex> put new.vcf
Success, response: OK, Success (0x20)
obex> di
Success, response: OK, Success (0x20)
OBEX-ийн Обьект Түлхэх үйлчилгээг хангахын тулд &man.sdpd.8; сервер
ажиллаж байх ёстой. Бүх ирж байгаа обьектууд хадгалагдах root хавтас үүсгэгдэх
ёстой. root сангийн анхдагч зам нь /var/spool/obex
байна. Төгсгөлд нь OBEX серверийг зөв RFCOMM сувгийн дугаар дээр эхлүүлнэ.
OBEX сервер нь OBEX-ийн Обьект Түлхэх үйлчилгээг локал SDP дэмонд автоматаар
бүртгүүлэх болно. Доорх жишээ нь OBEX серверийг хэрхэн эхлүүлэхийг харуулж байна.
&prompt.root; obexapp -s -C 10
Serial Port Profile (SPP) буюу Цуваа портын хувийн тохиргоо
Serial Port Profile (SPP) буюу Цуваа портын хувийн тохиргоо нь Bluetooth
төхөөрөмжүүдэд RS232 (эсвэл түүнтэй төстэй) цуваа кабелийн эмуляц хийхийг зөвшөөрдөг.
Энэ хувийн тохиргоонд хамаатай тохиолдол нь кабелийн оронд виртуал цуваа портын
хийсвэрлэлтийн тусламжтай Bluetooth-ийг ашигладаг хуучин програмуудтай харьцдаг.
&man.rfcomm.sppd.1; хэрэгсэл нь цуваа портын хувийн тохиргоог хийдэг.
Псевдо tty нь виртуал цуваа портын хийсвэрлэлт болон ашиглагддаг. Доорх жишээ нь
алсын төхөөрөмжийн цуваа портын үйлчилгээ уруу хэрхэн холбогдохыг харуулж байна.
Та RFCOMM сувгийг заах шаардлагагүйг санаарай - &man.rfcomm.sppd.1; нь
алсын төхөөрөмжөөс SDP-ээр авч чаддаг. Хэрэв та үүнийг дарж өөрчлөхийг хүсвэл
тушаалын мөрөнд RFCOMM сувгийг зааж өгөх хэрэгтэй.
&prompt.root; rfcomm_sppd -a 00:07:E0:00:0B:CA -t /dev/ttyp6
rfcomm_sppd[94692]: Starting on /dev/ttyp6...
Холбогдсоны дараа псевдо tty нь цуваа порт шиг ашиглагдаж болно:
&prompt.root; cu -l ttyp6
Алдааг олж засварлах
Алсын төхөөрөмж холбогдож чадахгүй байх
Зарим нэг хуучин Bluetooth төхөөрөмжүүд нь үүрэг шилжүүлэлтийг дэмждэггүй.
Анхдагчаар &os; нь шинэ холболтыг хүлээн авахдаа үүргийг өөрчилж мастер болохыг
оролддог. Үүнийг дэмждэггүй төхөөрөмжүүд нь холбогдож чаддаггүй. Шинэ холболт
хийгдэхэд үүрэг шилжүүлэлт хийгддэгийг санаарай. Тийм учраас алсын төхөөрөмжөөс
үүрэг шилжүүлэлтийг дэмждэг эсэхийг нь асуух боломжгүй юм. Локал тал дээрээ
үүрэг шилжүүлэлтийг хаах HCI тохируулга байдаг:
&prompt.root; hccontrol -n ubt0hci write_node_role_switch 0
Ямар нэгэн юм буруу болоод байна, би яг юу болоод байгааг харж болох уу?
Тиймээ, та харж болно. comms/hcidump порт
хэлбэрээр байдаг гуравдагч талын багц hcidump-г ашиглана.
hcidump хэрэгсэл нь &man.tcpdump.1;-тай төстэй.
Энэ нь Bluetooth пакетуудын агуулгыг терминал дээр харуулж Bluetooth пакетуудыг
файл уруу гаргахад хэрэглэгдэж болно.
Эндрю
Томпсон
Бичсэн
Гүүр
Танилцуулга
IP дэд сүлжээ
гүүр
Заримдаа нэг физик сүлжээг (Ethernet сегмент зэрэг)
IP дэд сүлжээнүүд үүсгэж сегментүүдийг хооронд нь чиглүүлэгчээр
цугт нь холбож ашиглалгүйгээр хоёр тусдаа сүлжээний сегмент болгох нь ашигтай
байдаг. Ийм маягаар хоёр сүлжээг хооронд нь холбодог төхөөрөмжийг
bridge
буюу гүүр
гэдэг.
Хоёр сүлжээний интерфэйс карттай FreeBSD систем гүүр маягаар ажиллаж
чаддаг.
Гүүр нь өөрийн сүлжээний интерфэйс бүрийн төхөөрөмжийн MAC давхаргын
хаягуудыг (Ethernet хаягууд) сурч ажилладаг. Түүний эх болон төгсгөл нь
зөвхөн өөр өөр сүлжээнд байгаа тохиолдолд хоёр сүлжээний хооронд
урсгалыг дамжуулдаг.
Олон талаараа гүүр нь маш цөөн порттой Ethernet шилжүүлэгчтэй адил
юм.
Гүүр хийхэд тохирох тохиолдлууд
Өнөөдөр гүүр ашиглагддаг олон нийтлэг тохиолдол байдаг.
Сүлжээнүүдийг холбох нь
Гүүрний үндсэн үйлдэл нь хоёр буюу түүнээс олон
сүлжээний сегментүүдийг хооронд нь холбох явдал юм.
Кабелийн хязгаарлалт, галт хана хийх эсвэл виртуал машины
интерфэйс зэрэг псевдо сүлжээнүүдийг холбох зэрэг сүлжээний
энгийн төхөөрөмжийн оронд хост дээр тулгуурласан гүүрийг ашиглах
шалтгаан олон байдаг. Гүүр нь бас hostap горимд ажиллаж байгаа
утасгүй сүлжээний интерфэйсийг утастай сүлжээ рүү холбож
хандалтын цэг маягаар ажиллах чадвартай.
Шүүх/урсгал хэлбэржүүлэх галт хана
галт хана
NAT
Нийтлэг тохиолдол бол чиглүүлэлт юм уу эсвэл сүлжээний хаягийн хөрвүүлэлтгүй (NAT)
галт ханын ажиллагаа шаардлагатай тохиолдол юм.
Үүний жишээ нь DSL юм уу эсвэл ISDN-ээр ISP уруугаа холбогдсон
жижиг компани юм. Тэд 13 ширхэг гаднаас хандах боломжтой IP хаягийг
өөрсдийн ISP-ээс авдаг бөгөөд сүлжээндээ 10 PC-тэй. Энэ тохиолдолд
чиглүүлэгч дээр тулгуурласан галт хана нь дэд сүлжээний асуудлуудаас болоод
төвөгтэй байна.
чиглүүлэгч
DSL
ISDN
Гүүр дээр тулгуурласан галт ханыг тохируулж тэдний DSL/ISDN чиглүүлэгчийн
замд ямар нэгэн IP хаяглалтын асуудалгүйгээр тавьж болно.
Сүлжээ сонсогч (Network tap)
Гүүр нь сүлжээний хоёр сегментийг холбож тэдгээрийн
хооронд дамжиж байгаа бүх Ethernet урсгалыг шалгахад
хэрэглэгдэж болно. Энэ нь гүүр интерфэйс дээр
&man.bpf.4;/&man.tcpdump.1; ашиглах юм уу эсвэл
бүх урсгалын хуулбарыг нэмэлт интерфэйс (span порт) уруу илгээх
замаар байж болно.
Түвшин 2 VPN
Хоёр Ethernet сүлжээ нь IP холбоосын дагуу
EtherIP туннель юм уу эсвэл OpenVPN зэрэг &man.tap.4;
дээр тулгуурласан шийдлүүдийн тусламжтайгаар холбогдож болно.
Түвшин 2 Давхцал
Сүлжээ нь хоорондоо олон холбоосоор холбогдож давхацсан замуудыг
хаахын тулд Spanning Tree протоколыг ашиглаж болно.
Ethernet сүлжээ нь зөв ажилладаг байхын тулд хоёр төхөөрөмжийн
хооронд зөвхөн нэг идэвхтэй зам байх ёстой байдаг бөгөөд
Spanning Tree нь давталтыг илрүүлж давхацсан холбоосуудыг
хаалттай төлөвт оруулдаг. Аль нэг идэвхтэй холбоос амжилтгүй
болсон тохиолдолд уг протокол өөр модыг тооцоолж сүлжээн дэх
бүх цэгүүдэд хүрэх холболтыг сэргээхийн тулд аль нэг
хаалттай замыг дахин идэвхжүүлдэг.
Цөмийн тохиргоо
Энэ хэсэг нь &man.if.bridge.4; гүүрний шийдлийн тухай өгүүлэх болно,
netgraph гүүрний драйвер бас байдаг бөгөөд илүү дэлгэрэнгүй мэдээллийг
&man.ng.bridge.4; гарын авлагын хуудаснаас үзнэ үү.
Гүүрний драйвер нь цөмийн модуль бөгөөд &man.ifconfig.8;-оор
гүүр интерфэйсийг үүсгэх үед автоматаар дуудагддаг.
Өөрийн цөмийн тохиргооны файлд device if_bridge
гэж нэмэн гүүрийг цөмд эмхэтгэж болно.
&man.pfil.9; тогтолцоогоор холбогддог галт ханын дурын
багцтай пакет шүүлтийг ашиглаж болдог. Галт хана нь модуль хэлбэрээр
дуудагдах юм уу эсвэл цөмд эмхэтгэгдэж болно.
Гүүр нь &man.altq.4; эсвэл &man.dummynet.4;-тэй цуг
урсгал хэлбэржүүлэгч болон ашиглагдаж болно.
Гүүрийг идэвхжүүлэх нь
Интерфэйс хуулбарлалтыг ашиглан гүүрийг үүсгэдэг.
Гүүрийг үүсгэхийн тулд &man.ifconfig.8;-ийг ашиглана.
Хэрэв гүүрний драйвер цөмд байхгүй бол автоматаар
дуудагддаг.
&prompt.root; ifconfig bridge create
bridge0
&prompt.root; ifconfig bridge0
bridge0: flags=8802<BROADCAST,SIMPLEX,MULTICAST> metric 0 mtu 1500
ether 96:3d:4b:f1:79:7a
id 00:00:00:00:00:00 priority 32768 hellotime 2 fwddelay 15
maxage 20 holdcnt 6 proto rstp maxaddr 100 timeout 1200
root id 00:00:00:00:00:00 priority 0 ifcost 0 port 0
Гүүр интерфэйс үүсч түүнд санамсаргүйгээр үүсгэгдсэн
Ethernet хаяг автоматаар өгөгддөг. maxaddr болон
timeout нэмэлт өгөгдлүүд нь өөрийн дамжуулах
хүснэгтэд хичнээн MAC хаягийг хадгалах болон сүүлд харагдсанаасаа
хойш оруулга бүр хичнээн секундын дараа устгагдах вэ гэдгийг
хянадаг. Бусад нэмэлт өгөгдлүүд нь Spanning Tree хэрхэн
ажиллахыг хянадаг.
Гишүүн сүлжээний интерфэйсийг гүүрэнд нэмэх хэрэгтэй.
Гүүрний хувьд пакетуудыг дамжуулахын тулд бүх гишүүн интерфэйсүүд
болон гүүр өөрөө идэвхжсэн байх шаардлагатай:
&prompt.root; ifconfig bridge0 addm fxp0 addm fxp1 up
&prompt.root; ifconfig fxp0 up
&prompt.root; ifconfig fxp1 up
Гүүр нь одоо Ethernet хүрээнүүдийг fxp0
болон fxp1-ийн хооронд дамжуулж байна.
Гүүр нь ачаалах үед үүсгэгдэх /etc/rc.conf-ийн
тохиргоо ийм байна:
cloned_interfaces="bridge0"
ifconfig_bridge0="addm fxp0 addm fxp1 up"
ifconfig_fxp0="up"
ifconfig_fxp1="up"
Хэрэв гүүр хостод IP хаяг хэрэгтэй бол үүнийг тохируулах
зөв газар бол гишүүн интерфэйсийн аль нэг биш харин
гүүр интерфэйс өөрөө юм. Үүнийг статикаар эсвэл DHCP-ээр
тохируулж болно:
&prompt.root; ifconfig bridge0 inet 192.168.0.1/24
Гүүр интерфэйсд IPv6 хаягийг өгч бас болно.
Галт хана
firewall
Пакет шүүлт идэвхжсэн тохиолдолд гүүр хийгдсэн
пакетууд нь гарч байгаа интерфэйс ба гүүр интерфэйс дээрээ
гарах шүүлтээр, тохирох интерфэйс дээрээ орох
шүүлтээр дамждаг.
Аль ч шатыг хааж болдог. Пакетийн урсгалын
чиглэл нь чухал бол гүүрэн дээр галт хана хийснээс
гишүүн интерфэйсүүд дээр хийсэн нь дээр байдаг.
Гүүр нь IP бус ба ARP пакетуудыг дамжуулах болон IPFW-ийн тусламжтай
хийгдэх хоёрдугаар түвшний галт хананд зориулсан хэд
хэдэн тохируулж болох тохируулгуудтай байдаг. Дэлгэрэнгүй
мэдээллийг &man.if.bridge.4;-ээс үзнэ үү.
Spanning Tree
Гүүрний драйвер нь хуучин Spanning Tree Протоколтой (STP)
нийцтэй Rapid Spanning Tree Protocol (RSTP эсвэл 802.1w) буюу
Түргэн Spanning Tree Протоколыг хийж гүйцэтгэсэн байдаг.
Spanning Tree нь сүлжээн дэх давталтуудыг илрүүлж арилгахад
хэрэглэгддэг. RSTP нь хуучин STP-г бодох юм бол илүү түргэн
нийлэх боломжийг олгодог. Энэ протокол нь давхцал үүсгэлгүйгээр
дамжуулалтад хурдан шилжихийн тулд хөрш шилжүүлэгчидтэйгээ
мэдээлэл солилцдог.
Доор дурдсан хүснэгт нь дэмжигдсэн ажиллах горимуудыг
үзүүлж байна:
OS хувилбар
STP горимууд
Анхдагч горим
&os; 5.4—&os; 6.2
STP
STP
&os; 6.3+
RSTP эсвэл STP
STP
&os; 7.0+
RSTP эсвэл STP
RSTP
Spanning Tree-г stp тушаал ашиглан
гишүүн интерфэйсүүд дээр идэвхжүүлж болно.
Одоо fxp0 болон
fxp1 интерфэйсүүдтэй гүүрний хувьд
STP-г идэвхжүүлэхийн тулд доор дурдсаныг хийнэ:
&prompt.root; ifconfig bridge0 stp fxp0 stp fxp1
bridge0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
ether d6:cf:d5:a0:94:6d
id 00:01:02:4b:d4:50 priority 32768 hellotime 2 fwddelay 15
maxage 20 holdcnt 6 proto rstp maxaddr 100 timeout 1200
root id 00:01:02:4b:d4:50 priority 32768 ifcost 0 port 0
member: fxp0 flags=1c7<LEARNING,DISCOVER,STP,AUTOEDGE,PTP,AUTOPTP>
port 3 priority 128 path cost 200000 proto rstp
role designated state forwarding
member: fxp1 flags=1c7<LEARNING,DISCOVER,STP,AUTOEDGE,PTP,AUTOPTP>
port 4 priority 128 path cost 200000 proto rstp
role designated state forwarding
Энэ гүүр нь 00:01:02:4b:d4:50 гэсэн
ID болон 32768 гэсэн ээлж бүхий spanning
tree-тэй байна. root id адил байгаа нь
модны хувьд root гүүр гэдгийг илтгэж байна.
Сүлжээн дэх өөр нэг гүүр бас идэвхжсэн spanning tree-тэй
байна:
bridge0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
ether 96:3d:4b:f1:79:7a
id 00:13:d4:9a:06:7a priority 32768 hellotime 2 fwddelay 15
maxage 20 holdcnt 6 proto rstp maxaddr 100 timeout 1200
root id 00:01:02:4b:d4:50 priority 32768 ifcost 400000 port 4
member: fxp0 flags=1c7<LEARNING,DISCOVER,STP,AUTOEDGE,PTP,AUTOPTP>
port 4 priority 128 path cost 200000 proto rstp
role root state forwarding
member: fxp1 flags=1c7<LEARNING,DISCOVER,STP,AUTOEDGE,PTP,AUTOPTP>
port 5 priority 128 path cost 200000 proto rstp
role designated state forwarding
root id 00:01:02:4b:d4:50 priority 32768
ifcost 400000 port 4 мөр нь root гүүр нь
дээр дурдсантай адил 00:01:02:4b:d4:50
бөгөөд энэ гүүрнээс 400000 гэсэн
замын өртөгтэй, root гүүр рүү хүрэх зам нь
fxp0 болох port 4-өөр
дамжина гэдгийг үзүүлж байна.
Гүүрний нэмэлт тохиргоо
Урсгалыг бүтээх/шинэчлэх
Гүүр нь монитор буюу хянах горимыг дэмждэг бөгөөд
энэ горимд пакетууд нь &man.bpf.4; процесс хийгдсэний дараа
хаягдаж цааш процесс хийгдэхгүй эсвэл дамжуулагдахгүй
болдог. Хоёр буюу түүнээс дээш тооны интерфэйсүүдийн оролтыг
нэгтгэж нэг &man.bpf.4; урсгал руу гаргахад үүнийг ашиглаж
болно. RX/TX дохионуудыг гадагш хоёр тусдаа интерфэйсээр дамжуулах
сүлжээний сонсогчид зориулсан урсгал бүтээхэд энэ нь ашигтай
байдаг.
Сүлжээний дөрвөн интерфэйсээс оролтыг нэг урсгал уруу уншихын
тулд:
&prompt.root; ifconfig bridge0 addm fxp0 addm fxp1 addm fxp2 addm fxp3 monitor up
&prompt.root; tcpdump -i bridge0
Span портууд
Гүүрний хүлээн авсан Ethernet хүрээ бүрийн хуулбар
томилогдсон span порт уруу дамждаг. Гүүрэн дээр тохируулагдсан
span портуудын тоо хязгааргүй байдаг, хэрэв интерфэйс нь
span порт гэж томилогдсон бол энэ нь ердийн гүүрний порт маягаар
ашиглагдах боломжгүй байж болох юм. Энэ нь гүүрний аль нэг span порт руу
холбогдсон өөр нэг хост дээрээс гүүр хийгдсэн сүлжээг идэвхгүйгээр
хулгайгаар үзэхэд их ашигтай байдаг.
Бүх хүрээнүүдийн хуулбарыг fxp4 гэж
нэрлэгдсэн интерфэйс рүү илгээхийн тулд:
&prompt.root; ifconfig bridge0 span fxp4
Хувийн интерфэйсүүд
Хувийн интерфэйс нь бусад хувийн интерфэйсүүд рүү ямар ч урсгалыг
дамжуулдаггүй. Урсгал нь ямар нэг нөхцөлгүйгээр хаагддаг
бөгөөд ARP зэрэг ямар ч Ethernet хүрээнүүд дамжуулагдахгүй.
Хэрэв урсгал нь сонголтын дагуу хаагдах хэрэгтэй бол үүний оронд
галт хана ашиглах ёстой байдаг.
Наалттай интерфэйсүүд
Хэрэв гүүрний гишүүн интерфэйс нь наалттай гэж тэмдэглэгдсэн
бол динамикаар тогтоосон хаягийн оруулгуудыг дамжуулалтын
кэшд ороход статик гэж үздэг. Хаяг өөр интерфэйс дээр үзэгдсэн байлаа ч
гэсэн наалттай оруулгууд нь хэзээ ч кэшээс гарч хуучирдаггүй эсвэл
солигддоггүй. Энэ нь дамжуулалтын хүснэгтийг урьдчилан нутагшуулах
шаардлагагүй болгож статик хаягийн оруулгуудын ашгийг өгдөг бөгөөд
гүүрний тодорхой нэг сегмент дээр тогтоогдсон хэрэглэгчид өөр сегмент
рүү тэнүүчилж чаддаггүй.
Наалттай хаягуудыг ашиглах өөр нэг жишээ нь IP хаягийн
талбарыг дэмий үрэлгүйгээр хэрэглэгчийн сүлжээнүүд нь тусгаарлагдсан
чиглүүлэгчийг үүсгэхийн тулд гүүрийг VLAN-уудтай нэгтгэх
явдал юм. CustomerA нь vlan100
дээр CustomerB нь vlan101
дээр гэж үзье. Гүүр нь 192.168.0.1
гэсэн хаягтай бөгөөд бас интернэт чиглүүлэгч юм.
&prompt.root; ifconfig bridge0 addm vlan100 sticky vlan100 addm vlan101 sticky vlan101
&prompt.root; ifconfig bridge0 inet 192.168.0.1/24
Хоёр клиент хоёулаа 192.168.0.1-г өөрсдийн анхдагч
гарц гэж харах бөгөөд гүүрний кэш нь наалттай болохоор
тэд өөрсдийн урсгалыг дундаас нь оруулах гэж нөгөө
хэрэглэгчийнхээ MAC хаягийг ашиглан хуурч чадахгүй юм.
VLAN-уудын хоорондох ямар ч холбоог хувийн интерфэйсүүд
(эсвэл галт хана) ашиглан хааж болно:
&prompt.root; ifconfig bridge0 private vlan100 private vlan101
Хэрэглэгчид нь нэг нэгнээсээ бүр мөсөн тусгаарлагдсан бөгөөд
бүх /24 хаягийн бүсийг дэд сүлжээ
болгон хуваалгүйгээр хуваарилж болно.
+
+
+ SNMP монитор хийх
+
+ Гүүр интерфэйс болон STP параметрүүдийг &os;-ийн
+ үндсэн системд орсон байдаг SNMP демоны тусламжтайгаар
+ монитор хийж болно. Экспорт хийгдсэн гүүрний MIB-үүд нь
+ IETF-ийн стандартуудыг хангаж байдаг. Тийм болохоор дурын
+ SNMP клиент эсвэл монитор хийдэг багцыг өгөгдлийг хүлээн авахад
+ хэрэглэж болно.
+
+ Гүүр машин дээр /etc/snmp.config
+ файлд begemotSnmpdModulePath."bridge" =
+ "/usr/lib/snmp_bridge.so" мөрийг тайлбар болгосныг
+ болиулж bsnmpd дэмоныг
+ эхлүүлэх хэрэгтэй. Community буюу нийгмийн нэрс болон
+ хандалтын жагсаалтууд зэрэг бусад тохиргоонуудыг өөрчлөх
+ шаардлагатай байж болно. Дэлгэрэнгүй мэдээллийг
+ &man.bsnmpd.1; болон &man.snmp.bridge.3;-с үзнэ үү.
+
+ Доор дурдсан жишээнүүд нь гүүрэнд хүсэлт илгээхийн тулд
+ Net-SNMP програм хангамжийг (net-mgmt/net-snmp) ашиглаж байгаа
+ бөгөөд net-mgmt/bsnmptools портыг бас
+ ашиглаж болно. Гүүрний MIB тодорхойлолтуудыг
+ Net-SNMP руу оруулж ирэхийн тулд
+ SNMP клиент хост дээрээ $HOME/.snmp/snmp.conf файлд
+ доор дурдсан мөрүүдийг нэмэх хэрэгтэй:
+
+ mibdirs +/usr/share/snmp/mibs
+mibs +BRIDGE-MIB:RSTP-MIB:BEGEMOT-MIB:BEGEMOT-BRIDGE-MIB
+
+ Ганц гүүрийг IETF BRIDGE-MIB
+ (RFC4188)-ээр монитор хийхийн тулд доор дурдсаныг хийнэ
+
+ &prompt.user; snmpwalk -v 2c -c public bridge1.example.com mib-2.dot1dBridge
+BRIDGE-MIB::dot1dBaseBridgeAddress.0 = STRING: 66:fb:9b:6e:5c:44
+BRIDGE-MIB::dot1dBaseNumPorts.0 = INTEGER: 1 ports
+BRIDGE-MIB::dot1dStpTimeSinceTopologyChange.0 = Timeticks: (189959) 0:31:39.59 centi-seconds
+BRIDGE-MIB::dot1dStpTopChanges.0 = Counter32: 2
+BRIDGE-MIB::dot1dStpDesignatedRoot.0 = Hex-STRING: 80 00 00 01 02 4B D4 50
+...
+BRIDGE-MIB::dot1dStpPortState.3 = INTEGER: forwarding(5)
+BRIDGE-MIB::dot1dStpPortEnable.3 = INTEGER: enabled(1)
+BRIDGE-MIB::dot1dStpPortPathCost.3 = INTEGER: 200000
+BRIDGE-MIB::dot1dStpPortDesignatedRoot.3 = Hex-STRING: 80 00 00 01 02 4B D4 50
+BRIDGE-MIB::dot1dStpPortDesignatedCost.3 = INTEGER: 0
+BRIDGE-MIB::dot1dStpPortDesignatedBridge.3 = Hex-STRING: 80 00 00 01 02 4B D4 50
+BRIDGE-MIB::dot1dStpPortDesignatedPort.3 = Hex-STRING: 03 80
+BRIDGE-MIB::dot1dStpPortForwardTransitions.3 = Counter32: 1
+RSTP-MIB::dot1dStpVersion.0 = INTEGER: rstp(2)
+
+ dot1dStpTopChanges.0-ийн утга хоёр бөгөөд
+ энэ нь STP гүүрний бүтэц хоёр удаа өөрчлөгдсөн гэдгийг харуулж
+ байна. Бүтцийн өөрчлөлт гэдэг нь сүлжээн дэх нэг буюу олон холбоосууд
+ өөрчлөгдсөн юм уу эсвэл амжилтгүй болсон бөгөөд шинэ мод тооцоологдсон
+ гэсэн үг юм. dot1dStpTimeSinceTopologyChange.0-ийн
+ утга ийм зүйл хэзээ болсныг харуулах болно.
+
+ Олон гүүрний интерфэйсийг монитор хийхийн тулд
+ хувийн BEGEMOT-BRIDGE-MIB-г ашиглаж болно:
+
+ &prompt.user; snmpwalk -v 2c -c public bridge1.example.com
+enterprises.fokus.begemot.begemotBridge
+BEGEMOT-BRIDGE-MIB::begemotBridgeBaseName."bridge0" = STRING: bridge0
+BEGEMOT-BRIDGE-MIB::begemotBridgeBaseName."bridge2" = STRING: bridge2
+BEGEMOT-BRIDGE-MIB::begemotBridgeBaseAddress."bridge0" = STRING: e:ce:3b:5a:9e:13
+BEGEMOT-BRIDGE-MIB::begemotBridgeBaseAddress."bridge2" = STRING: 12:5e:4d:74:d:fc
+BEGEMOT-BRIDGE-MIB::begemotBridgeBaseNumPorts."bridge0" = INTEGER: 1
+BEGEMOT-BRIDGE-MIB::begemotBridgeBaseNumPorts."bridge2" = INTEGER: 1
+...
+BEGEMOT-BRIDGE-MIB::begemotBridgeStpTimeSinceTopologyChange."bridge0" = Timeticks: (116927) 0:19:29.27 centi-seconds
+BEGEMOT-BRIDGE-MIB::begemotBridgeStpTimeSinceTopologyChange."bridge2" = Timeticks: (82773) 0:13:47.73 centi-seconds
+BEGEMOT-BRIDGE-MIB::begemotBridgeStpTopChanges."bridge0" = Counter32: 1
+BEGEMOT-BRIDGE-MIB::begemotBridgeStpTopChanges."bridge2" = Counter32: 1
+BEGEMOT-BRIDGE-MIB::begemotBridgeStpDesignatedRoot."bridge0" = Hex-STRING: 80 00 00 40 95 30 5E 31
+BEGEMOT-BRIDGE-MIB::begemotBridgeStpDesignatedRoot."bridge2" = Hex-STRING: 80 00 00 50 8B B8 C6 A9
+
+ mib-2.dot1dBridge дэд модоор
+ монитор хийгдэж байгаа гүүрний интерфэйсийг солихын
+ тулд доор дурдсаныг хийнэ:
+
+ &prompt.user; snmpset -v 2c -c private bridge1.example.com
+BEGEMOT-BRIDGE-MIB::begemotBridgeDefaultBridgeIf.0 s bridge2
+
Жан-Франсуа
Докье
Шинэчилсэн
Алекс
Дюпре
Дахин зохион байгуулж өргөтгөсөн
Дискгүй ажиллагаа
дискгүй ажлын станц
дискгүй ажиллагаа
FreeBSD машин сүлжээгээр ачаалан локал дискгүйгээр NFS
сервер дээр холбогдсон файлын системүүд ашиглаад ажиллаж чаддаг. Стандарт тохиргооны
файлуудаас өөр системийн өөрчлөлт шаардлагагүй. Ийм системийг харьцангуй хялбараар
тохируулж болдог. Учир нь шаардлагатай бүх элементүүд бэлэн байдаг:
Цөмийг сүлжээгээр ачаалах хоёр боломжит арга хамгийн багаар бодоход
байдаг:
PXE: &intel;-ийн Preboot eXecution
Environment буюу ачаалалт хийгдэхээс өмнөх ажиллуулах орчны систем нь
зарим сүлжээний картууд эсвэл эх хавтангуудад цуг бүтээгдсэн байдаг
ухаалаг ачаалах ROM-ийн нэг хэлбэр юм. Илүү дэлгэрэнгүйг
&man.pxeboot.8;-с үзнэ үү.
Etherboot
порт (net/etherboot) нь
цөмийг сүлжээгээр ачаалах ROM хийгдэх боломжтой код үүсгэдэг.
Код нь сүлжээний картан дээр ачаалах ROM уруу шарагдсан байх юм уу эсвэл
локал уян (эсвэл хатуу) дискний хөтчөөс эсвэл ажиллаж байгаа &ms-dos;
системээс дуудагдахаар байдаг. Олон сүлжээний карт дэмжигдсэн
байгаа.
Жишээ скрипт (/usr/share/examples/diskless/clone_root)
нь сервер дээр ажлын станцын root файлын системийг үүсгэх болон түүний ажиллагааг хангах
үйлдлийг хөнгөвчилдөг. Скрипт нь магадгүй жижиг өөрчлөлтийг шаардаж болох боловч
энэ нь таныг хурдан эхлүүлэх болно.
Дискгүй системийн эхлүүлэлтийг илрүүлж дэмжих стандарт системийн эхлүүлэгч
файлууд /etc санд байдаг.
swap хийх хэрэв шаардлагатай бол NFS файл эсвэл
локал диск уруу хийж болох юм.
Дискгүй ажлын станцуудыг тохируулах олон арга байдаг. Олон элементүүд үүнд
хамрагддаг бөгөөд өөрийн сонирхлоор ихэнхийг нь өөрчилж болно. Дараах нь
бүрэн системийг тохируулах талаар хувилбаруудыг тайлбарлах болно. Ингэхдээ
стандарт FreeBSD эхлүүлэх скриптүүдтэй хялбар, нийцтэй байхыг чухалчлах
болно. Тайлбарласан систем нь дараах шинжүүдтэй байна:
Дискгүй ажлын станцууд нь хуваалцсан, зөвхөн уншигдах
/ файлын систем болон хуваалцсан, зөвхөн уншигдах
/usr-г ашигладаг.
root файлын систем нь зөвхөн дискгүй ажиллагаатай холбоотой эсвэл
тэдгээрийн харьяалагдах ажлын станцтай холбоотой зарим тохиргооны
файлууд нь өөрчлөгдсөн стандарт FreeBSD root-ийн (ихэвчлэн серверийн)
хуулбар юм.
Бичигдэх боломжтой байх root-ийн хэсэг нь &man.md.4; файлын
системээр дээр тавигддаг (overlaid). Систем дахин ачаалахад хийгдсэн
өөрчлөлтүүд алга болох болно.
Цөм дамжуулагдаж Etherboot эсвэл
PXE-ийн аль нэгээр дуудагддаг бөгөөд зарим тохиолдолд
зөвхөн аль нэг аргыг ашиглахыг шаардаж болох юм.
Тайлбарласны дагуу энэ систем нь аюултай юм. Энэ нь сүлжээний
хамгаалагдсан талбарт байх ёстой бөгөөд бусад хостуудаас хандахааргүй
байх ёстой.
Энэ хэсгийн бүх мэдээллийг &os; 5.2.1-RELEASE ашиглан тест хийсэн болно.
Үндсэн мэдээлэл
Дискгүй ажлын станцуудыг тохируулах нь харьцангуй амархан боловч алдаанд
өртөх хандлагатай байдаг. Хэд хэдэн шалтгаанаас болоод эдгээрийг заримдаа
оношлох төвөгтэй байдаг. Жишээ нь:
Эмхэтгэлтийн үеийн тохируулгууд нь ажиллах үед өөрөөр ажиллахыг
тодорхойлж болох юм.
Алдааны мэдэгдлүүд нь ихэвчлэн нуугдмал эсвэл бүр байхгүй ч
байж болно.
Энд гарч болзошгүй асуудлуудыг шийдэхэд үндсэн арга замуудын зарим нэг
мэдлэгийг ашиглах нь маш ашигтай байдаг.
Амжилттайгаар эхлүүлэхийн тулд хэд хэдэн үйлдлүүдийг хийх хэрэгтэй:
Машин өөрийн IP хаяг, ажиллах файлын нэр, серверийн нэр, root зам
зэрэг эхний параметрүүдийг авах хэрэгтэй. Үүнийг DHCP эсвэл
BOOTP протоколуудыг ашиглан хийдэг. DHCP нь
BOOTP-ийн нийцтэй өргөтгөл бөгөөд адил портын дугаарууд болон үндсэн
пакетийн хэлбэршүүлэлтийг ашигладаг.
Зөвхөн BOOTP ашиглахаар системийг тохируулах боломжтой.
&man.bootpd.8; серверийн програм нь үндсэн &os; системд орсон
байдаг.
Гэхдээ DHCP нь BOOTP-ээс хэд хэдэн давуу
талтай байдаг (илүү сайхан тохиргооны файлууд, PXE
ашиглах боломж, дискгүй ажиллагаатай шууд холбоогүй бусад олон давуу талууд)
бөгөөд бид голчлон DHCP тохиргоог боломжтой бол
&man.bootpd.8; ашиглан таарах жишээнүүдтэй нь хамт тайлбарлах болно.
Жишээ тохиргоо нь ISC DHCP програм
хангамжийн багцыг (тест сервер дээр 3.0.1.r12 хувилбар суулгагдсан)
ашиглах болно.
Машин нь нэг буюу хэд хэдэн програмуудыг локал санах ой уруугаа дамжуулах
хэрэгтэй болно. TFTP юм уу эсвэл NFS
ашиглагдана. TFTP болон NFS-ийн
сонголтыг хэд хэдэн газар эмхэтгэх үеийн тохируулгаар хийдэг. Алдааны түгээмэл
эх үүсвэр нь буруу протоколд зориулж файлын нэрүүдийг заах явдал юм:
TFTP нь сервер дээрх ганц сангаас бүх файлуудыг
ихэвчлэн дамжуулдаг бөгөөд энэ сантай харьцангуй файлын нэрсийг хүлээдэг.
NFS-д файлын туйлын (абсолют) замууд хэрэгтэй
байдаг.
Боломжит дундын эхлүүлэх програмууд болон цөм нь эхлэн тохируулагдаж ажиллах
шаардлагатай. Энд хэд хэдэн чухал хувилбарууд байдаг:
PXE нь &os;-ийн гурав дахь шатны дуудагчийн
өөрчлөгдсөн хувилбар болох &man.pxeboot.8;-ийг ачаална. &man.pxeboot.8; нь
системийг эхлүүлэхэд шаардлагатай ихэнх параметрүүдийг авч хяналтыг дамжуулахаасаа
өмнө тэдгээрийг цөмийн орчинд үлдээх болно. Энэ тохиолдолд
GENERIC цөмийг ашиглах боломжтой.
Etherboot нь бага бэлтгэлтэйгээр
цөмийг шууд ачаалах болно. Та цөмийг тусгай тохируулгуудтай бүтээх
хэрэгтэй болно.
PXE болон Etherboot
нь адилхан ажиллана; гэхдээ цөмүүд нь &man.loader.8;-ийн тэдэнд зориулж
илүү ажил хийх боломжийг олгодог болохоор PXE нь
зохимжтой арга юм.
Хэрэв таны BIOS болон сүлжээний картууд нь
PXE-г дэмждэг бол та үүнийг ашиглах
хэрэгтэй байж болох юм.
Эцэст нь машин өөрийн файлын системүүдэд хандах хэрэгтэй болно.
NFS нь бүх тохиолдолд хэрэглэгдэнэ.
&man.diskless.8; гарын авлагын хуудсыг бас үзнэ үү.
Тохируулах зааврууд
ISC DHCP ашиглах тохиргоо
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-тойгоор
эмхэтгэх ёстой бөгөөд PXE-д DHCP
хэрэгтэй гэдгийг санаарай. 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
Ачаалах програмыг Etherboot-ээр бэлдэх
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
файлд хандана.
PXE-ээр ачаалах
Анхдагчаар &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-г эхлүүлж байх үед функцийн товчлуурыг дарах хэрэгтэй.
TFTP болон NFS серверүүдийг тохируулах
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-ийг суурьшуулахын тулд make world тушаал ашиглах
Энэ арга нь хурдан байх бөгөөд бүрэн онгон системийг (зөвхөн 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-ээр хандаж болно.
NFS 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
Бусад асуудлууд
Зөвхөн уншигдах /usr сантайгаар ажиллах
дискгүй ажиллагаа
/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 бичлэгүүдийг дэмждэг.
/etc/rc.conf файлд хэрэгцээтэй өөрчлөлтүүдийг хийх нь
IPv6 клиентийн тохиргоонууд
Эдгээр тохиргоонууд нь таны LAN-д байх машиныг чиглүүлэгч биш клиент маягаар
ажиллуулахаар тохируулахад танд туслах болно. Таны интерфэйсийг ачаалах үед автоматаар
&man.rtsol.8;-оор тохируулуулахын тулд таны нэмэх ёстой зүйл бол дараах мөр юм:
ipv6_enable="YES"
2001:471:1f11:251:290:27ff:fee0:2093 зэрэг
IP хаягийг өөрийн fxp0 интерфэйсд
статикаар өгөхийн тулд доор дурдсаныг нэмнэ:
ipv6_ifconfig_fxp0="2001:471:1f11:251:290:27ff:fee0:2093"
2001:471:1f11:251::1 анхдагч
чиглүүлэгчийг зааж өгөхдөө доор дурдсаныг /etc/rc.conf
файлд нэмнэ:
ipv6_defaultrouter="2001:471:1f11:251::1"
IPv6 чиглүүлэгч/гарцын тохиргоонууд
Энэ нь таны туннелийн үйлчилгээ үзүүлэгчийн өгсөн чиглэлүүдийг авч тэдгээрийг дахин ачаалсан ч
гэсэн үлдэхээр болгож тохиргоо болгон хөрвүүлэхэд танд туслах болно. Эхлүүлэх үед
өөрийн туннелийг сэргээхийн тулд доор дурдсантай төстэйг /etc/rc.conf
файлд ашиглана:
Тохируулах Ердийн Туннель хийх интерфэйсүүдийг жагсаана. Жишээ нь
gif0:
gif_interfaces="gif0"
MY_IPv4_ADDR гэсэн локал төгсгөлтэй
интерфэйсийг REMOTE_IPv4_ADDR гэсэн алсын төгсгөл
уруу тохируулахын тулд:
gifconfig_gif0="MY_IPv4_ADDR REMOTE_IPv4_ADDR"
Өөрийн IPv6 туннелийн төгсгөл болгон ашиглахаар таны зааж өгсөн IPv6
хаягийг хамааруулахын тулд доор дурдсаныг нэмнэ:
ipv6_ifconfig_gif0="MY_ASSIGNED_IPv6_TUNNEL_ENDPOINT_ADDR"
Тэгээд таны хийх зүйл чинь IPv6-д зориулж анхдагч чиглүүлэлт тохируулах
явдал юм. Энэ нь IPv6 туннелийн нөгөө тал байх болно:
ipv6_defaultrouter="MY_IPv6_REMOTE_TUNNEL_ENDPOINT_ADDR"
IPv6 туннелийн тохиргоонууд
Хэрэв сервер нь таны бусад сүлжээ болон гадаад ертөнцийн хооронд
IPv6-г чиглүүлэх бол дараах /etc/rc.conf
тохируулга бас хэрэгтэй болно:
ipv6_gateway_enable="YES"
Чиглүүлэгчийн зарлалт ба Хостын автомат тохиргоо
Энэ хэсэг нь IPv6 анхдагч чиглүүлэлтийг зарлахын тулд &man.rtadvd.8;-г
тохируулахад тань туслах болно.
&man.rtadvd.8;-г идэвхжүүлэхийн тулд таны /etc/rc.conf
файлд дараах тохиргоо хэрэгтэй болно:
rtadvd_enable="YES"
IPv6 чиглүүлэгчийн төлөөлөлт хийгдэх интерфэйсийг заах нь чухал юм. Жишээ нь
&man.rtadvd.8;-д fxp0-г ашиглахыг хэлж өгөхийн
тулд доор дурдсаныг нэмнэ:
rtadvd_interfaces="fxp0"
Одоо бид /etc/rtadvd.conf тохиргооны
файл үүсгэх ёстой. Энд жишээ байна:
fxp0:\
:addrs#1:addr="2001:471:1f11:246::":prefixlen#64:tc=ether:
fxp0-г өөрийн ашиглах интерфэйсээр солих
хэрэгтэй.
Дараа нь 2001:471:1f11:246::-г
өөрийн хуваарилалтын угтвараар солиорой.
Хэрэв та /64 дэд сүлжээг зориулсан
бол өөр бусад ямар ч өөрчлөлт хийх хэрэггүй. Хэрэв тийм биш бол та
prefixlen# буюу угтварын уртыг зөв утгаар өөрчлөх шаардлагатай.
Харти
Брандт
Хувь нэмэр болгон оруулсан
Asynchronous Transfer Mode (ATM) буюу Асинхрон Дамжуулах Горим
ATM дээгүүр классик IP тохируулах нь (PVC-нүүд)
Classical IP over ATM (CLIP) буюу
ATM дээгүүрх классик IP нь Asynchronous Transfer Mode (ATM)
буюу Асинхрон Дамжуулах Горимыг IP-тай ашиглах хамгийн энгийн
арга юм. Энэ нь switched буюу шилжүүлэгдсэн (SVC-нүүд) ба permanent буюу
байнгын (PVC-нүүд) холболтуудтай ашиглагдаж болдог. Энэ хэсэг нь
сүлжээн дээр тулгуурласныг PVC-нүүд дээр хэрхэн тохируулах талаар
тайлбарладаг.
Бүрэн тор хэлбэрийн тохиргоонууд
CLIP-ийг PVC-нүүдтэй тохируулах эхний арга нь
машин бүрийг сүлжээн дэх бусад машин бүртэй зориулагдсан PVC-ээр холбох явдал
юм. Үүнийг тохируулах хялбар байдаг боловч их олон тооны машинууд дээр
бүтэшгүй байдаг. Энэ жишээ нь сүлжээнд бидэнд дөрвөн машин байгаа бөгөөд
машин бүр ATM
сүлжээнд ATM
хувиргагч картын тусламжтай холбогдсон гэж үздэг. Эхний алхам нь IP хаягууд болон
машинуудын хооронд ATM холболтуудыг төлөвлөх явдал юм.
Бид доор дурдсаныг ашиглана:
Хост
IP хаяг
hostA
192.168.173.1
hostB
192.168.173.2
hostC
192.168.173.3
hostD
192.168.173.4
Бүрэн тор хэлбэрийн сүлжээг бүтээхийн тулд машинуудын хослол бүрийн хооронд
нэг ATM холболт бидэнд хэрэгтэй:
Машинууд
VPI.VCI хослол
hostA - hostB
0.100
hostA - hostC
0.101
hostA - hostD
0.102
hostB - hostC
0.103
hostB - hostD
0.104
hostC - hostD
0.105
Холболтын төгсгөл бүр дэх VPI болон VCI утгууд нь мэдээж ялгаатай
байх боловч амархан байлгах үүднээс бид тэдгээрийг адил гэж үзнэ. Дараа нь
бид ATM интерфэйсүүдийг хост бүр дээр тохируулах хэрэгтэй болно:
hostA&prompt.root; ifconfig hatm0 192.168.173.1 up
hostB&prompt.root; ifconfig hatm0 192.168.173.2 up
hostC&prompt.root; ifconfig hatm0 192.168.173.3 up
hostD&prompt.root; ifconfig hatm0 192.168.173.4 up
Ингэхдээ бүх хостууд дээр ATM интерфэйс нь hatm0
гэж үзэх болно. Одоо PVC-нүүд нь hostA дээр тохируулагдах
шаардлагатай (бид тэдгээрийг ATM шилжүүлэгч дээр аль хэдийн тохируулагдсан гэж
үзнэ, үүнийг хэрхэн хийхийг шилжүүлэгчийн гарын авлагаас лавлах хэрэгтэй).
hostA&prompt.root; atmconfig natm add 192.168.173.2 hatm0 0 100 llc/snap ubr
hostA&prompt.root; atmconfig natm add 192.168.173.3 hatm0 0 101 llc/snap ubr
hostA&prompt.root; atmconfig natm add 192.168.173.4 hatm0 0 102 llc/snap ubr
hostB&prompt.root; atmconfig natm add 192.168.173.1 hatm0 0 100 llc/snap ubr
hostB&prompt.root; atmconfig natm add 192.168.173.3 hatm0 0 103 llc/snap ubr
hostB&prompt.root; atmconfig natm add 192.168.173.4 hatm0 0 104 llc/snap ubr
hostC&prompt.root; atmconfig natm add 192.168.173.1 hatm0 0 101 llc/snap ubr
hostC&prompt.root; atmconfig natm add 192.168.173.2 hatm0 0 103 llc/snap ubr
hostC&prompt.root; atmconfig natm add 192.168.173.4 hatm0 0 105 llc/snap ubr
hostD&prompt.root; atmconfig natm add 192.168.173.1 hatm0 0 102 llc/snap ubr
hostD&prompt.root; atmconfig natm add 192.168.173.2 hatm0 0 104 llc/snap ubr
hostD&prompt.root; atmconfig natm add 192.168.173.3 hatm0 0 105 llc/snap ubr
Мэдээж хэрэг UBR-с бусад урсгалын хэлэлцээнүүд хэрэв ATM хувиргагч тэдгээрийг
дэмждэг бол ашиглагдаж болно. Энэ тохиолдолд урсгалын хэлэлцээний нэр нь урсгалын
нэмэлт өгөгдлүүдийн дараа орж байна. &man.atmconfig.8; хэрэгсэлд зориулсан
тусламжийг дараах тушаалыг ашиглан:
&prompt.root; atmconfig help natm add
авч болох бөгөөд эсвэл &man.atmconfig.8; гарын авлагаас авч болно.
Үүнтэй адил тохиргоог /etc/rc.conf
ашиглан бас хийж болно. hostA-ийн хувьд энэ нь
иймэрхүү харагдана:
network_interfaces="lo0 hatm0"
ifconfig_hatm0="inet 192.168.173.1 up"
natm_static_routes="hostB hostC hostD"
route_hostB="192.168.173.2 hatm0 0 100 llc/snap ubr"
route_hostC="192.168.173.3 hatm0 0 101 llc/snap ubr"
route_hostD="192.168.173.4 hatm0 0 102 llc/snap ubr"
Бүх CLIP чиглүүлэлтүүдийн тухайн үеийн төлвийг дараах
тушаалаар авч болно:
hostA&prompt.root; atmconfig natm show
Том
Рөүдс
Хувь нэмэр болгон оруулсан
Common Access Redundancy Protocol (CARP) буюу Олон хандалтын нийтлэг протокол
CARP
Common Access Redundancy Protocol
Common Access Redundancy Protocol буюу CARP нь
олон хостуудад нэг IP хаяг хуваалцах боломжийг олгодог.
Зарим тохиргоонуудын хувьд үүнийг байнгын бэлэн байдал юм уу эсвэл ачаалал тэгш хуваарилахад
ашиглаж болох юм. Энд дурдсан жишээний адилаар хостууд нь бас өөр өөр
IP хаягууд ашиглаж болох юм.
CARP-ийн дэмжлэгийг идэвхжүүлэхийн тулд
&os; цөмийг дараах тохируулгатайгаар бүтээсэн байх хэрэгтэй:
device carp
CARP боломж нь одоо хүртээмжтэй болсон байх
ёстой бөгөөд түүнийг хэд хэдэн sysctl-ийн OID-уудын
тусламжтайгаар тааруулж болно. Төхөөрөмжүүдийг ifconfig тушаалаар
ачаалж болно:
&prompt.root; ifconfig carp0 create
Жинхэнэ амьдрал дээр эдгээр интерфэйсүүдэд VHID гэгддэг
давхардахгүй дугаарууд хэрэгтэй болно. Энэ VHID буюу
Виртуал Хостын Үнэмлэх нь сүлжээн дэх хостыг ялгахад хэрэглэгдэх болно.
Серверт хандах боломжийг байнга хангахын тулд CARP-ийг ашиглах нь (CARP)
Дээр дурдсан CARP-ийн нэг хэрэглээ нь серверийн
бэлэн байдалд зориулагджээ. Энэ жишээ нь өөр өөр IP
хаягуудтай, ижил вэбийн агуулга бүхий гурван хостын хувьд байнгын
бэлэн байдалд байх дэмжлэгийг харуулах болно. Эдгээр машинууд нь
Тойрон Эргэх DNS тохиргоотойгоор ажиллах болно.
Амжилтгүй болсон үед хандах нөөц машин нь хоёр нэмэлт CARP
интерфэйстэй байх бөгөөд агуулгын сервер бүрийн IP-ний
хувьд ашиглагдана. Хандалт амжилтгүй болоход амжилтгүй болсон машины
IP хаягийг нөөц сервер авах ёстой. Энэ нь
хэрэглэгчид амжилтгүй болсон нь мэдэгдэхгүй гэсэн үг юм. Нөөц сервер нь ачааллыг
авах ёстой бол бусад агуулгын серверүүдтэй ижил агуулга болон үйлчилгээнүүдтэй
байх ёстой.
Хоёр машин нь өгөгдсөн хостын нэр болон VHID-үүдээс
бусдаараа адилхан тохируулагдсан байх ёстой. Энэ жишээн дээр
эдгээр машинуудыг hosta.example.org болон
hostb.example.org гэж нэрлэсэн байгаа. Эхлээд
CARP-ийн тохиргоонд шаардлагатай мөрүүдийг
rc.conf файлд нэмэх хэрэгтэй.
hosta.example.org хостын хувьд
rc.conf файл доор дурдсан мөрүүдийг агуулсан байх ёстой:
hostname="hosta.example.org"
ifconfig_fxp0="inet 192.168.1.3 netmask 255.255.255.0"
cloned_interfaces="carp0"
ifconfig_carp0="vhid 1 pass testpast 192.168.1.50/24"
hostb.example.org дээр доор дурдсан мөрүүдийг
rc.conf файл агуулсан
байх ёстой:
hostname="hostb.example.org"
ifconfig_fxp0="inet 192.168.1.4 netmask 255.255.255.0"
cloned_interfaces="carp0"
ifconfig_carp0="vhid 2 pass testpass 192.168.1.51/24"
Хамгийн чухал нь ifconfig тушаалд тохируулгаар
заагдсан нууц үгс нь адил байх ёстой. carp
төхөөрөмжүүд нь зөвхөн зөв нууц үг бүхий машинуудаас ирэх зарлалтуудыг сонсох
болно. VHID нь машин бүрийн хувьд өөр өөр байх ёстой.
Гурав дахь provider.example.org машиныг
аль нэг хост руу хандахад амжилтгүй болоход хандаж болохоор болгож бэлдэх хэрэгтэй.
Энэ машинд хоёр carp төхөөрөмж хэрэгтэй болох
бөгөөд нэг нэгээрээ хоёр хосттой ажиллах юм. rc.conf-ийн
зөв тохиргооны мөрүүд доор дурдсантай төсөөтэй байх болно:
hostname="provider.example.org"
ifconfig_fxp0="inet 192.168.1.5 netmask 255.255.255.0"
cloned_interfaces="carp0 carp1"
ifconfig_carp0="vhid 1 advskew 100 pass testpass 192.168.1.50/24"
ifconfig_carp1="vhid 2 advskew 100 pass testpass 192.168.1.51/24"
Хоёр carp төхөөрөмжтэй байх нь
хариу өгөхөө байсан аль нэг машиныг мэдэж IP хаягийг нь
авах боломжийг provider.example.org хостод олгох болно.
Анхдагч &os; цөм дээр preemption буюу өөр илүү өндөр давуу эрх бүхий бодлого/урсгалаар
солигдох боломж идэвхжсэн байж болох юм.
Хэрэв тийм бол provider.example.org нь
IP хаягийг анхдагч агуулгын сервер рүү суллахгүй
байж болох юм. Энэ тохиолдолд администратор интерфэйсийг
нударч
болох юм. Дараах тушаалыг provider.example.org
дээр ажиллуулах шаардлагатай:
&prompt.root; ifconfig carp0 down && ifconfig carp0 up
Хостод тохирох carp интерфэйс дээр
үүнийг хийх ёстой.
Энэ хүрэхэд CARP бүрмөсөн идэвхжиж
тест хийхэд бэлэн болсон байх ёстой. Сүлжээг дахин эхлүүлэх буюу эсвэл
машинуудыг дахин ачаалаад тест хийгээрэй.
Дэлгэрэнгүй мэдээллийг &man.carp.4; гарын авлагын хуудаснаас олж
болно.
diff --git a/mn_MN.UTF-8/books/handbook/config/chapter.sgml b/mn_MN.UTF-8/books/handbook/config/chapter.sgml
index 452c997f20..58bfa86234 100644
--- a/mn_MN.UTF-8/books/handbook/config/chapter.sgml
+++ b/mn_MN.UTF-8/books/handbook/config/chapter.sgml
@@ -1,3110 +1,3110 @@
Шерн
Ли
Хойно дурдсан заавар болон гарын авлага дээр тулгуурлан бичсэн
Майк
Смит
Зааврыг бичсэн
Мэтт
Диллон
tuning(7)-г бичсэн
Цагаанхүүгийн
Ганболд
Орчуулсан
Тохиргоо ба Тааруулалт
Ерөнхий агуулга
системийн тохиргоо
системийн оновчлол
&os;-ийн хамгийн чухал зүйлүүдийн нэг нь системийн тохиргоо юм.
Зөв системийн тохиргоо нь ирээдүйн шинэчлэлтүүдийн үед толгойн өвчин гаргахгүй
байхад тусална. Энэ бүлэг &os; системийг тааруулахад хэрэглэгддэг зарим нэг
параметрүүд болон тохиргооны процессийн талаар илүү тайлбарлах болно.
Энэ бүлгийг уншсаны дараа, та дараах зүйлсийг мэдэх болно:
Файлын системүүд болон хуваалтуудтай хэрхэн үр ашигтай ажиллах
талаар.
rc.conf тохиргоо болон
/usr/local/etc/rc.d эхлэлийн системүүдийн
үндсүүд.
Сүлжээний картыг хэрхэн тохиргоо болон тест хийх талаар.
Сүлжээний төхөөрөмж дээрээ виртуал хостууд хэрхэн тохируулах талаар.
/etc дэх төрөл бүрийн тохиргооны файлыг
хэрхэн ашиглах талаар.
sysctl хувьсагчуудыг ашиглан &os;-ийг
хэрхэн тааруулах талаар.
Дискний хурдан ажиллагааг хэрхэн тааруулах болон цөмийн хязгааруудыг
хэрхэн өөрчлөх талаар.
Энэ бүлгийг уншихаасаа өмнө, та дараах зүйлсийг мэдэх шаардлагатай:
&unix; болон &os;-ийн үндсийг ойлгох ().
Цөмийн тохиргоо/хөрвүүлэлтийн үндсүүдийн талаар ойлголттой байх
().
Эхний Тохиргоо
Хуваалтын байрлал
хуваалтын байрлал
/etc
/var
/usr
Үндсэн Хуваалтууд
&man.bsdlabel.8; болон &man.sysinstall.8; ашиглан файлын
системүүдийг байрлуулахдаа хатуу хөтлөгчүүд өгөгдлийг дотоод замуудаас
илүү гаднах замуудаас хурдан шилжүүлдгийг санаарай.
Тиймээс жижиг, байнга ханддаг файлын системүүд хөтлөгчийн гадна тал уруу ойрхон
байх ёстой бөгөөд /usr зэрэг том хуваалтууд
дотор тал уруу байх хэрэгтэй. Хуваалтуудыг иймэрхүү дарааллаар байрлуулах нь
зөв юм: root, swap, /var,
/usr.
/var-ийн хэмжээ төлөвлөсөн машины хэрэглээг
тусгадаг.
/var нь шуудангийн хайрцгууд, бүртгэлийн файлууд,
болон принтерийн spool агуулдаг. Шуудангийн хайрцгууд болон бүртгэлийн
файлууд хичнээн хэрэглэгч байгаа болон ямар хугацаанд бүртгэлийн файлууд байхаас
хамаараад төсөөлөшгүй хэмжээнд хүртэл ихсэж болдог. Ихэнх хэрэглэгчид
гигабайтыг шаардахгүй боловч /var/tmp нь
багцуудыг багтаахаар том байх шаардлагатай.
/usr хуваалт &man.ports.7; цуглуулга (байлгахыг зөвлөдөг),
болон эх код (заавал биш) зэрэг системийг дэмжихэд шаардлагатай ихэнх файлуудыг агуулдаг.
Эдгээрийг суулгалтын үед сонгох боломжтой. Энэ хуваалтад хамгийн багаар 2 гигабайтыг зөвлөдөг.
Хуваалтын хэмжээг сонгохдоо зайн шаардлагыг бодох хэрэгтэй. Нэг хуваалт нь
бараг л ашиглагдахгүй байхад нөгөө нь зайгүй болж байх нь асуудал юм.
&man.sysinstall.8;-ийн Auto-defaults
хуваалтын хэмжээг өгөгч нь заримдаа /var болон
/ хуваалтуудад боломжоос бага хэмжээг сонгодгийг
зарим хэрэглэгчид олсон байна. Хуваалтыг ухаалгаар харамгүй хийгээрэй.
Swap Хуваалт
swap хэмжээ нэмэх
swap хуваалт
Swap хуваалтын хэмжээ системийн санах ойг (RAM) хоёр дахин авсан
хэмжээтэй байх ёстой. Жишээлбэл машин 128 мегабайт санах ойтой
бол swap файл 256 мегабайт байх ёстой. Бага санах ойтой системүүд
их swap-тай бол илүү хурдан ажиллаж болох юм. 256 мегабайтаас бага
swap-ийг хэрэглэхийг зөвлөдөггүй бөгөөд санах ойн өргөтгөл хэрэгтэй. Цөмийн
VM хуудаслах алгоритмууд нь багаар бодоход гол санах ойг хоёр дахин авсантай
тэнцэх swap хуваалттай байх үед хамгийн хурдан ажиллахаар тааруулагдсан
байдаг. Хэтэрхий бага swap тохируулах нь VM хуудас скан хийх кодыг үр
ашиггүйтэлд хүргэж илүү санах ой хожим нэмэхэд асуудал үүсгэж болох юм.
Олон SCSI дискнүүд бүхий (эсвэл олон IDE дискнүүд өөр өөр хянагчууд дээр
ажиллаж байгаа) томоохон системүүдэд swap-ийг хөтлөгч болгон дээр (4 хөтлөгч хүртэл)
тохируулахыг зөвлөдөг. Swap хуваалтууд нь ойролцоогоор адилхан хэмжээний
байх шаардлагатай. Цөм дурын хэмжээтэй ажиллаж чадах боловч дотоод өгөгдлийн
бүтцүүд хамгийн том swap хуваалтыг 4 дахин авсантай адил хэмжээгээр
томрох боломжтой. Swap хуваалтуудыг ойролцоогоор адил хэмжээтэй байлгах нь
swap зайг дискнүүдийн дагуу оновчтойгоор судал үүсгэх боломжийг цөмд олгодог.
Swap их ашиглагддаггүй байсан ч гэсэн том swap хэмжээ байж болно.
Хүчээр дахин ачаалагдах үед дагаж хаагдсан програмаас өгөгдлийг сэргээх нь
амархан байж болох юм.
Яагаад Хуваах хэрэгтэй гэж?
Зарим хэрэглэгчид ганц том хуваалт байхад болно гэж боддог,
гэхдээ энэ нь яагаад буруу болох хэд хэдэн шалтгаан бий.
Нэгдүгээрт хуваалт болгон өөр өөр ажиллагааны шинж чанаруудтай бөгөөд
тэдгээрийг тусгаарласнаар файлын системийг тэдгээрт тааруулах боломжийг
олгодог. Жишээ нь root болон /usr
хуваалтууд байнга бичигдэхээсээ илүү ихэвчлэн уншигддаг.
Харин уншилт болон бичилт /var болон
/var/tmp-д байнга хийгддэг.
Системийг зөв хувааснаар ачаалалтай хуваалтуудад хийсэн жижиг
бичилтээр гарсан хэсэглэлт илүүдэж байнга уншигддаг хуваалтууд уруу
хальдаггүй. Бичилт-ачаалсан хуваалтуудыг дискний ирмэг уруу байрлуулах нь
бичилт ихэвчлэн хийгддэг хуваалтууд дахь I/O ажиллагааг хурдасгадаг.
Том хуваалтуудад I/O-н хурдан ажиллагаа хэрэгтэй байж болох ч
тэдгээрийг дискний ирмэг уруу илүүтэй ойртуулах нь
/var-ийг ирмэг уруу шилжүүлснээс илүү
мэдэгдэхүйц хурдан ажиллагаанд хүргэхгүй. Эцэст нь найдвартай байдлыг бодох
ёстой. Ихэвчлэн уншигддаг, жижиг, цэвэрхэн root хуваалт хэцүү сүйрэл
болоход сэргэх боломж нь хамаагүй илүү байна.
Гол Тохиргоо
rc файлууд
rc.conf
Системийн тохиргооны мэдээлэл /etc/rc.conf
дотор байдаг. Энэ файл нь өргөн хүрээний, зарчмын хувьд системийг эхлэх
үед системийг тохируулахад ашиглагддаг тохиргооны мэдээллүүдээс тогтоно.
Үүний нэр нь шууд утгыг тодорхойлно; энэ нь rc*
файлуудад зориулсан тохиргооны мэдээлэл юм.
Администратор
/etc/defaults/rc.conf-ийн анхдагч утгуудыг
rc.conf файлд өөрчилж оруулах хэрэгтэй.
Анхдагчуудын файл /etc уруу хуулагдах ёсгүй -
энэ нь жишээ биш анхдагч утгуудыг агуулдаг. Бүх системийн холбогдолтой
өөрчлөлтүүд rc.conf файлд өөрт нь хийгдэх
ёстой.
Удирдлагын нэмэлт ачааллыг байнга бага байлгахын тулд сайт дагуух тохиргоог
системийн тусгайлсан тохиргооноос тусгаарлах хэд хэдэн стратеги кластер хийгдсэн
програмуудад байж болох юм. Сайтын дагуух тохиргоог
/etc/rc.conf.site зэрэг өөр файлд байрлуулж
дараа нь энэ файлыг зөвхөн системийн тусгайлсан мэдээллийг агуулдаг
/etc/rc.conf-д оруулахыг
зөвлөдөг.
rc.conf нь &man.sh.1;-ээр уншигддаг болохоор
үүнийг хийхэд амархан байна. Жишээ нь:
rc.conf:
. /etc/rc.conf.site
hostname="node15.example.com"
network_interfaces="fxp0 lo0"
ifconfig_fxp0="inet 10.1.1.1"
rc.conf.site:
defaultrouter="10.1.1.254"
saver="daemon"
blanktime="100"
Дараа нь rc.conf.site файл
систем болгонд rsync эсвэл адил
програмаар түгээгдэж болох бөгөөд харин
rc.conf файл нь өөр өөр хэвээр байх болно.
&man.sysinstall.8; эсвэл make world ашиглан
системийг шинэчлэхэд rc.conf файлыг
дарж бичихгүй, тэгэхээр системийн тохиргооны мэдээлэл хаягдахгүй.
Програмын Тохиргоо
Ерөнхийдөө суулгасан програмууд нь өөрийн дүрэм гэх мэт онцлогтой өөр өөрийн
тохиргооны файлуудтай байдаг. Эдгээр файлуудыг багц удирдах хэрэгслүүдээр
амархан олж удирдаж болохоор үндсэн системээс тусад нь байлгах нь чухал юм.
/usr/local/etc
Ерөнхийдөө эдгээр файлууд нь /usr/local/etc
дотор суулгагддаг. Програм их олон тооны тохиргооны файлуудтай тохиолдолд
тэдгээрийг агуулж дэд сан үүсгэгдэнэ.
Ихэнхдээ порт эсвэл багц суухад жишээ тохиргооны файлууд бас суудаг.
Эдгээр нь ихэнхдээ .default дагавраар
танигддаг. Хэрэв програмын хувьд тохиргооны файлууд байхгүй байвал
тэдгээрийг .default файлуудыг хуулж үүсгэнэ.
Жишээ нь /usr/local/etc/apache санд
байгаа файлуудыг үзье:
-rw-r--r-- 1 root wheel 2184 May 20 1998 access.conf
-rw-r--r-- 1 root wheel 2184 May 20 1998 access.conf.default
-rw-r--r-- 1 root wheel 9555 May 20 1998 httpd.conf
-rw-r--r-- 1 root wheel 9555 May 20 1998 httpd.conf.default
-rw-r--r-- 1 root wheel 12205 May 20 1998 magic
-rw-r--r-- 1 root wheel 12205 May 20 1998 magic.default
-rw-r--r-- 1 root wheel 2700 May 20 1998 mime.types
-rw-r--r-- 1 root wheel 2700 May 20 1998 mime.types.default
-rw-r--r-- 1 root wheel 7980 May 20 1998 srm.conf
-rw-r--r-- 1 root wheel 7933 May 20 1998 srm.conf.default
Файлын хэмжээнүүд нь зөвхөн srm.conf файл
өөрчлөгдсөнийг харуулж байна. Apache
портын дараагийн шинэчлэл энэ өөрчлөгдсөн файлыг дарж хуулахгүй.
Том
Рөүдс
Хувь нэмэр болгон оруулсан
Цагаанхүүгийн
Ганболд
Орчуулсан
Үйлчилгээнүүдийг эхлүүлэх нь
үйлчилгээнүүд
Олон хэрэглэгчид Портуудын Цуглуулгаас гуравдагч програм хангамжуудыг
&os; дээр суулгахаар сонгодог. Ихэнх тохиолдолд програм хангамжийг
систем ачаалахад эхлүүлэхээр тохируулах шаардлагатай байж болох юм.
mail/postfix эсвэл
www/apache13
зэрэг үйлчилгээнүүд нь системийг ачаалахад эхлүүлж болох програм
хангамжийн багцуудын зөвхөн хоёрхон жишээ юм. Энэ хэсэгт гуравдагч
програм хангамжийг ажиллуулах процедурын талаар тайлбарлах болно.
&os; дээр &man.cron.8; зэрэг ихэнх үйлчилгээнүүд системийн эхлүүлэх
скриптүүдийн тусламжтай эхэлдэг. Эдгээр скриптүүд &os; эсвэл
үйлдвэрлэгчийн хувилбараас хамааран өөр өөр байна; гэхдээ хамгийн чухал
авч үзэх зүйл нь тэдгээрийн эхлэх тохиргоог энгийн эхлүүлэх скриптүүдээр хийх
боломжтой явдал юм.
rc.d-ээс өмнө програм хангамжууд энгийн эхлүүлэх
скриптээ системийн эхлүүлэх скриптүүдийн уншдаг
/usr/local/etc/rc.d санд
хийдэг байсан. Дараа нь эдгээр скриптүүд нь системийн ачаалалтын сүүлийн шатуудад
ажилладаг.
Олон хувь хүмүүс хуучин тохиргооны загварыг шинэ систем уруу нийлүүлэх гэж
олон цагийг зарсаар байгаа боловч зарим гуравдагч хэрэгслүүд скриптээ
дээр дурдсан сан уруу хийхийг шаардсан хэвээр байгаа юм. Скриптүүдийн
гол ялгаанууд нь rc.d ашиглаж байгаа эсэхээс
хамаарна. &os; 5.1-ээс өмнө хуучин тохиргооны загвар ашиглагдаж
байсан бөгөөд бараг бүх л тохиолдлуудад шинэ загварын скриптүүд ч бас
зүгээр ажиллах юм.
Скрипт бүр зарим хамгийн бага шаардлагыг хангах ёстой боловч ихэнхдээ
&os;-ийн хувилбараас хамаарна. Скрипт бүр төгсгөлдөө .sh
өргөтгөл залгаатай байх шаардлагатай бөгөөд скрипт бүр систем дээр
ажиллах боломжтой байх ёстой. Сүүлийнхийг chmod
тушаал ашиглан ганц 755 эрхийг заан хийж болно.
Мөн хамгийн багаар бодоход програмыг эхлүүлэх болон
зогсоох тохируулгууд байх ёстой.
Хамгийн энгийн эхлүүлэх скрипт яг энэн шиг харагдах болов уу:
#!/bin/sh
echo -n ' utility'
case "$1" in
start)
/usr/local/bin/utility
;;
stop)
kill -9 `cat /var/run/utility.pid`
;;
*)
echo "Usage: `basename $0` {start|stop}" >&2
exit 64
;;
esac
exit 0
Энэ скрипт utility хэмээгдсэн програмд
зориулагдсан зогсоох болон
эхлүүлэх тохируулгатай байна.
Гараар ингэж эхлүүлж болно:
&prompt.root; /usr/local/etc/rc.d/utility.sh start
Бүх гуравдагч програм хангамжууд rc.conf-д
мөр байхыг шаарддаггүй боловч бараг л өдөр болгон шинэ порт
энэ тохиргоог авахаар өөрчлөгдөж байна. Тухайн програмын талаар дэлгэрэнгүй
мэдээллийг суулгалтын сүүлийн дэлгэцэд гаргасан үр дүнгээс шалгаарай.
Зарим гуравдагч програм хангамжууд програмыг rc.d-тэй
цуг ашиглахыг зөвшөөрдөг эхлүүлэх скриптүүдтэй байдаг; гэхдээ
энэ нь дараагийн хэсэгт хэлэлцэгдэнэ.
Програмын Өргөтгөсөн Тохиргоо
Одоогийн &os;-ийн rc.d-г агуулдаг нь
програмын эхлүүлэх тохиргоог илүү хялбар, боломжтой болгосон.
rc.d хэсэгт
хэлэлцсэн түлхүүр үгүүдийг ашиглан програмууд жишээ нь
DNS зэрэг зарим үйлчилгээнүүдийн дараа
ажиллахаар тохируулагдаж болно; эхлүүлэх скриптүүдэд хатуугаар
бичигдсэн тугуудын оронд rc.conf-оор
нэмэлт тугуудыг өгөхийг зөвшөөрч болох гэх мэт.
Үндсэн скрипт дараах байдлаар харагдаж болно:
#!/bin/sh
#
# PROVIDE: utility
# REQUIRE: DAEMON
# KEYWORD: shutdown
#
# DO NOT CHANGE THESE DEFAULT VALUES HERE
# SET THEM IN THE /etc/rc.conf FILE
#
utility_enable=${utility_enable-"NO"}
utility_flags=${utility_flags-""}
utility_pidfile=${utility_pidfile-"/var/run/utility.pid"}
. /etc/rc.subr
name="utility"
rcvar=`set_rcvar`
command="/usr/local/sbin/utility"
load_rc_config $name
pidfile="${utility_pidfile}"
start_cmd="echo \"Starting ${name}.\"; /usr/bin/nice -5 ${command} ${utility_flags} ${command_args}"
run_rc_command "$1"
Энэ скрипт нь өгөгдсөн utility-г
daemon үйлчилгээний дараа ажиллуулахаар
тохируулагдсан. Мөн PID, эсвэл процессийн
ID файлыг заах болон дагах аргыг бас хангадаг.
Энэ програм дараах мөрийг /etc/rc.conf
файлд оруулж болно:
utility_enable="YES"
Энэхүү арга нь тушаалын мөрийн нэмэлт өгөгдлүүдийг илүү хялбараар
удирдах боломжийг зөвшөөрдөг бөгөөд /etc/rc.subr
дахь анхдагч функцуудыг оруулах, &man.rcorder.8; хэрэгсэлтэй нийцтэй байх,
болон rc.conf файлын тусламжтай хялбараар
тохиргоо хийх боломжийг бас хангадаг.
Үйлчилгээнүүдийг эхлүүлэхийн тулд үйлчилгээнүүдийг ашиглах нь
POP3 сервер дэмонууд,
IMAP зэрэг бусад үйлчилгээнүүд &man.inetd.8;
ашиглан эхэлж болдог. Энэ нь Портуудын Цуглуулгаас
/etc/inetd.conf файлд нэмэгдэх мөр бүхий эсвэл
одоогийн байгаа мөрүүдийн нэгнээс тайлбарыг болиулж идэвхжүүлдэг үйлчилгээний
хэрэгслийг суулгаснаар хэрэгждэг.
inetd болон түүний тохиргоотой ажиллах
талаар inetd хэсэгт гүнзгий
тайлбарласан байгаа болно.
Зарим тохиолдолд &man.cron.8; ашиглан системийн үйлчилгээнүүдийг
эхлүүлэх нь илүү ашигтай байж болох юм. Энэ арга нь хэд хэдэн давуу талуудтай
бөгөөд учир нь cron эдгээр процессуудыг
crontab-н файлын эзэмшигчийн эрхээр ажиллуулдаг.
Энэ нь ердийн хэрэглэгчдэд зарим програмуудыг эхлүүлж ажиллагааг хангах боломжийг
олгодог.
cron хэрэгсэл @reboot
гэсэн бусдад байхгүй боломжийг олгодог бөгөөд цаг хугацааг заах хэсэгт ашиглагдах
боломжтой. Энэ нь системийг эхлүүлэх явцад &man.cron.8; эхлэх үед тухайн
ажлыг ажиллуулдаг.
Том
Рөүдс
Хувь нэмэр болгон оруулсан
Цагаанхүүгийн
Ганболд
Орчуулсан
cron хэрэгслийг тохируулах нь
cron
тохиргоо
&os;-ийн хамгийн ашигтай хэрэгслүүдийн нэг нь &man.cron.8; юм.
cron хэрэгсэл ард ажилладаг бөгөөд
/etc/crontab файлыг байнга шалгаж
байдаг. cron хэрэгсэл
/var/cron/tabs сангаас шинэ
crontab файлуудыг бас шалгадаг.
Эдгээр crontab файлууд нь тусгай функцуудыг
агуулдаг бөгөөд эдгээрийг cron тодорхой хугацаанд
ажиллуулах ёстой байдаг.
cron хэрэгсэл системийн crontab болон хэрэглэгчийн
crontab гэсэн хоёр төрлийн тохиргооны файлыг ашигладаг. Энэ хоёр хэлбэршилтийн
зөвхөн ялгаа нь зургаа дахь талбар юм. Системийн crontab дээрх зургаа дахь
талбар нь тушаалыг ажиллуулах хэрэглэгчийн нэр байдаг. Энэ нь системийн crontab-ийг
ямар ч хэрэглэгчийн эрхээр тушаалуудыг ажиллуулах боломж олгодог. Хэрэглэгчийн
crontab дээрх зургаа дахь талбар нь ажиллуулах тушаал бөгөөд бүх тушаалууд нь
crontab-ийг үүсгэсэн хэрэглэгчийн эрхээр ажилладаг; энэ нь аюулгүй байдлын
нэг чухал боломж юм.
Хэрэглэгчийн crontab-ууд нь хэрэглэгчдэд root
эрхийн шаардлагагүйгээр бодлогуудыг цагийн хуваариар ажиллуулах боломж олгодог.
Хэрэглэгчийн crontab дахь тушаалууд нь crontab-ийг эзэмшиж байгаа хэрэглэгчийн
эрхээр ажилладаг.
root хэрэглэгч бас бусад хэрэглэгчийн нэгэн адил
хэрэглэгчийн crontab-тай байж болно. Энэ нь /etc/crontab-аас
(системийн crontab) өөр байна. Системийн crontab байдаг учраас
root хэрэглэгчийн хувьд ихэнхдээ хэрэглэгчийн crontab
шаардлагагүй байдаг.
/etc/crontab файлыг (системийн crontab) харцгаая:
# /etc/crontab - root's crontab for &os;
#
# $&os;: src/etc/crontab,v 1.32 2002/11/22 16:13:39 tom Exp $
#
&os;-ийн ихэнх тохиргооны файлуудын адил # тэмдэгт
тайлбарыг илэрхийлнэ. Тайлбарыг хүсэж байгаа үйлдэл нь юу болох яагаад хийгдэж
байгааг сануулах зорилгоор файлд тавьж болдог. Тайлбаруудыг тушаал байгаа мөрд
хийж болохгүй бөгөөд ингэсэн тохиолдолд тушаалын хэсэг мэтээр ойлгогдоно; тэдгээр нь
шинэ мөрөнд байх ёстой. Хоосон мөрүүдийг тооцохгүй.
Эхлээд орчин тодорхойлогдох шаардлагатай. Тэнцүүгийн (=)
тэмдэг орчны тохиргоог тодорхойлоход ашиглагддаг бөгөөд энэ жишээн дээр
SHELL,PATH, болон HOME
тохируулгуудад ашиглагдаж байна. Хэрэв бүрхүүлийн мөрийг орхисон бол
cron анхдагч болох sh-ийг ашигладаг.
Хэрэв PATH хувьсагчийг орхисон бол ямар ч анхдагч ашиглагдахгүй бөгөөд
файлын байрлалууд абсолют байх хэрэгтэй. Хэрэв HOME мөрийг
орхисон бол cron ажиллуулж байгаа хэрэглэгчийн гэрийн санг
ашигладаг.
Энэ мөр нь нийт долоон талбарыг тодорхойлдог. Энд жагсаагдсан утгууд нь
minute, hour,
mday, month,
wday,
who, болон command юм.
Эдгээрийг нэрээс нь харахад ойлгомжтой. minute нь тушаал
ажиллах минутаар илэрхийлэгдсэн хугацаа. hour нь
minute-ын адил тохируулга бөгөөд цагаар илэрхийлэгддэг.
mday нь сарын өдрийг заана.
month нь hour болон
minute-тай адил бөгөөд сарыг зааж өгнө.
wday тохируулга нь долоо хоногийн
өдрийг заана. Эдгээр бүх талбарууд нь тоон утга байх ёстой бөгөөд хорин дөрвөн
цагийг дагадаг. who талбар нь тусгай бөгөөд зөвхөн
/etc/crontab файлд байдаг. Энэ талбар нь аль
хэрэглэгчийн эрхээр тушаал ажиллахыг заадаг. Хэрэглэгч өөрийн
crontab файлыг суулгах үед энэ тохируулга байдаггүй.
Эцэст нь command тохируулга жагсаагддаг. Энэ нь
сүүлийн талбар бөгөөд ажиллуулах тушаалд зориулагдсан байх ёстой.
Энэ сүүлийн мөр нь дээр дурдсан утгуудыг тодорхойлдог. Энд бид
хэд хэдэн * тэмдэгтүүд дараалсан */5
гэсэн жагсаалт байгааг анзаарах хэрэгтэй. Эдгээр *
тэмдэгтүүд нь эхний-эцсийн
гэсэн үг бөгөөд
үргэлж гэж ойлгогдож болно. Тэгвэл энэ мөрөөс
үзэхэд atrun тушаал нь root
эрхээр 5 минут тутам аль өдөр сар байгаагаас үл хамааран ажиллана.
atrun тушаалын талаар дэлгэрэнгүй мэдээллийг
&man.atrun.8; гарын авлагаас үзнэ үү.
Тушаалууд тэдгээрт өгч болох дурын тооны тугуудтай байж болно; гэхдээ
олон мөр болон уртассан тушаалууд урагшаа ташуу \
үргэлжлүүлэх
тэмдэгтээр хуваагдсан байх ёстой.
Энэ нь crontab файл болгоны хувьд үндсэн тохиргоо
байна, гэхдээ нэг зүйл нь үүнээс өөр байна. Хэрэглэгчийг заадаг зургаа дахь талбар
нь зөвхөн системийн /etc/crontab файлд байна.
Энэ талбарыг хэрэглэгчийн crontab файлуудын хувьд
орхих хэрэгтэй.
Crontab суулгах нь
Та энд тайлбарласан процедурыг ашиглан системийн crontab-ийг засаж/суулгах
шаардлагагүй. Зүгээр л өөрийн дуртай засварлагчийг ашигла:
cron хэрэгсэл файл өөрчлөгдсөнийг мэдээд тэр даруй
шинэчлэгдсэн хувилбарыг ашиглаж эхэлнэ. Дэлгэрэнгүй мэдээллийг
Энэ БХА-ын оруулгаас үзнэ үү.
Хэрэглэгчийн бичсэн шинэ crontab файлыг суулгахын тулд
эхлээд өөрийн дуртай засварлагчийг ашиглаад зөв хэлбэршилттэй файл үүсгээд дараа нь
crontab хэрэгслийг ашигла.
Хамгийн их ашиглагддаг тушаал бол:
&prompt.user; crontab crontab-file
Энэ жишээн дээрх crontab-file нь
урд нь үүсгэгдсэн crontab-ийн файлын нэр юм.
Суулгасан crontab файлуудыг үзүүлдэг
тохируулга бас байдаг: тохируулгыг
crontab уруу өгч ажиллуулаад гарах үр дүнг
хараарай.
Өөрийн crontab файлыг загвар ашиглалгүйгээр эхнээс нь эхлүүлэхийг хүссэн
хэрэглэгчдэд зориулсан crontab -e тохируулга байдаг.
Энэ нь сонгосон засварлагчийг хоосон файлтай ажиллуулдаг. Файл хадгалагдсаны
дараа автоматаар crontab тушаалаар суулгагддаг.
Хэрэв та дараа нь өөрийн хэрэглэгчийн crontab-ийг
бүр мөсөн устгахыг хүсвэл crontab-ийг
тохируулгатай ашиглаарай.
Том
Рөүдс
Хувь нэмэр болгон оруулсан
Цагаанхүүгийн
Ганболд
Орчуулсан
&os; дээр rc ашиглах нь
2002 онд &os; системийг эхлүүлэхэд зориулж NetBSD-ийн
rc.d системийг оруулсан. Хэрэглэгчид
/etc/rc.d сан доторх файлуудыг
анзаарах хэрэгтэй. Эдгээр файлуудын ихэнх нь
, ,
болон тохируулгуудаар хянагддаг
үндсэн үйлчилгээнүүд байдаг. Жишээ нь &man.sshd.8; нь
дараах тушаалаар дахин эхлэж болно:
&prompt.root; /etc/rc.d/sshd restart
Энэ процедур нь бусад үйлчилгээнүүдийн адил юм. Мэдээж
үйлчилгээнүүд ихэнхдээ автоматаар &man.rc.conf.5;-д зааснаар ачаалах үед
эхэлдэг. Жишээ нь Сүлжээний Хаяг Хөрвүүлэх дэмонг эхлэх үед ажиллуулахаар
нээх нь амархан бөгөөд /etc/rc.conf-д
дараах мөрийг нэмдэг:
natd_enable="YES"
Хэрэв мөр аль хэдийн
байвал -ийг
болгож өөрчлөөрэй. rc скриптүүд өөр бусад хамааралтай
үйлчилгээнүүдийг дараагийн дахин ачаалалтын үеэр доор
тайлбарласны дагуу автоматаар ачаалдаг.
rc.d систем нь үндсэндээ
системийн эхлэх/унтрах үеэр үйлчилгээнүүдийг эхлүүлэх/зогсоох зорилготой
бөгөөд стандарт ,
болон
тохируулгууд нь зөвхөн /etc/rc.conf-ийн харгалзах
хувьсагчууд заагдсан үед өөрийн үйлдлийг гүйцэтгэдэг.
Жишээ нь дээр дурдсан sshd restart тушаал
нь /etc/rc.conf-д
sshd_enable хувьсагч
гэсэн тохиолдолд зөвхөн ажиллана. /etc/rc.conf-д
байгаа тохируулгаас үл хамааран үйлчилгээг ,
эсвэл хийхийн
тулд тушаалууд one
угтвартай байх шаардлагатай.
Жишээ нь sshd-г /etc/rc.conf
дахь тохиргооноос үл хамааран дахин эхлүүлэхдээ дараах тушаалыг ашиглана:
&prompt.root; /etc/rc.d/sshd onerestart
Тохирох rc.d скриптийг
тохируулгатай ажиллуулж /etc/rc.conf-д үйлчилгээ
нээгдсэн эсэхийг амархан шалгадаг. Тиймээс администратор
sshd-г /etc/rc.conf-д
нээгдсэн эсэхийг дараах тушаалыг ажиллуулж шалгаж болно:
&prompt.root; /etc/rc.d/sshd rcvar
# sshd
$sshd_enable=YES
Хоёр дахь мөр (# sshd) нь
root консолынх биш sshd
тушаалын гаргасан үр дүн юм.
Үйлчилгээг ажиллах байгаа эсэхийг шалгах
тохируулга байдаг. Жишээ нь sshd эхэлсэн эсэхийг
шалгахдаа:
&prompt.root; /etc/rc.d/sshd status
sshd is running as pid 433.
Зарим тохиолдолд үйлчилгээг хийх бас боломжтой
байдаг. Энэ нь үйлчилгээг өөрийн тохиргооны файлуудыг дахин уншихыг зааж
үйлчилгээ уруу дохио шидэхийг оролддог. Ихэнх тохиолдолд энэ нь
үйлчилгээ уруу SIGHUP дохио шиднэ гэсэн үг юм.
Үйлчилгээ болгонд энэ боломжийн дэмжлэг байдаггүй.
rc.d систем нь зөвхөн сүлжээний үйлчилгээнд
ашиглагдаад зогсохгүй мөн системийн эхлүүлэлтэд бас ихээхэн хувь нэмэр оруулдаг.
Жишээ нь bgfsck файлыг авч үзье. Энэ скрипт
ажиллахад дараах мэдээллийг хэвлэж гаргана:
Starting background file system checks in 60 seconds.
Тиймээс энэ файлыг зөвхөн системийг эхлүүлэх үед файлын системийн арын
шалгалтыг хийхэд хэрэглэдэг.
Системийн олон үйлчилгээнүүд зөв ажиллахын тулд бусад үйлчилгээнүүдээс
хамаардаг. Жишээ нь NIS болон бусад RPC дээр тулгуурласан үйлчилгээнүүд
rpcbind (portmapper) үйлчилгээ ажиллахаас нааш
амжилттай ажилладаггүй. Үүнийг шийдэхийн тулд хамаарлуудын тухай болон бусад
мета-өгөгдлийн тухай мэдээллийг эхлүүлэх скрипт бүрийн дээд хэсэгт
тайлбараар оруулсан байдаг. &man.rcorder.8; програм хамаарлуудыг
хангаж системийн үйлчилгээнүүдийг ямар дарааллаар ажиллуулах ёстойг
тогтоохын тулд эдгээр тайлбаруудыг уншдаг. Дараах үгнүүдийг эхлүүлэх скрипт
бүрийн дээд хэсэг оруулсан байж болно:
PROVIDE: Энэ файлын хангаж байгаа үйлчилгээнүүдийг заана.
REQUIRE: Энэ үйлчилгээнд шаардлагатай үйлчилгээнүүдийг жагсаана.
Энэ файл заагдсан үйлчилгээнүүдийн дараа ажиллана.
BEFORE: Энэ үйлчилгээнээс хамааралтай үйлчилгээнүүдийг жагсаана.
Энэ файл заагдсан үйлчилгээнүүдийн өмнө ажиллана.
Энэ аргыг ашигласнаар администратор системийн үйлчилгээнүүдийг бусад зарим &unix;
үйлдлийн системүүд шиг ажиллах түвшингүүдтэй (runlevels)
зууралдалгүйгээр амарханаар хянадаг.
rc.d системийн талаар нэмэлт мэдээллийг &man.rc.8;
болон &man.rc.subr.8; гарын авлагын хуудаснуудаас олж болно. Хэрэв та өөрийн
rc.d скриптүүд бичих эсвэл байгаагаа сайжруулахыг сонирхож байгаа бол танд бас
энэ нийтлэл хэрэгтэй байж
болох юм.
Марк
Фонвил
Хувь нэмэр болгон оруулсан
Цагаанхүүгийн
Ганболд
Орчуулсан
Сүлжээний интерфэйс картууд суулгах нь
сүлжээний картууд
тохиргоо
Өнөөдөр бид сүлжээний холболтгүй компьютерийн талаар бодох ч аргагүй болсон
билээ. Сүлжээний картыг нэмж тохируулах нь &os;-ийн дурын администраторын
ердийн ажил болдог.
Тохирох драйверийг олох нь
сүлжээний картууд
драйвер
Эхлэхээсээ өмнө та өөрт байгаа картынхаа загвар, түүнд ашигласан бичил схем
болон PCI эсвэл ISA картын аль нь эсэхийг мэдэх шаардлагатай.
&os; өргөн төрлийн PCI болон ISA картуудыг дэмждэг. Таны карт таны ашиглах хувилбар
дээр дэмжигдсэн эсэхийг Тоног Төхөөрөмжийн Нийцтэй Байдлын Жагсаалтаас шалгаарай.
Таны карт дэмжигдсэнийг мэдсэний дараа та өөрийн картанд тохирох драйвераа
тодорхойлох хэрэгтэй. /usr/src/sys/conf/NOTES болон
/usr/src/sys/arch/conf/NOTES
нь сүлжээний интерфэйс драйверуудын жагсаалтыг дэмжигдсэн бичил схем/картуудын тухай
зарим мэдээллийн хамтаар танд өгөх болно. Хэрэв та аль драйвер нь зөв эсэхэд эргэлзэж
байгаа бол драйверийн гарын авлагын хуудсыг уншаарай. Гарын авлагын хуудас нь
дэмжигдсэн тоног төхөөрөмж болон бүр учирч болзошгүй асуудлуудын тухай дэлгэрэнгүй
мэдээллийг өгдөг.
Хэрэв та ердийн карттай бол ихэнхдээ драйверийг хичээнгүйлэн хайх шаардлагагүй юм.
Ердийн сүлжээний картуудад зориулсан драйверууд нь GENERIC
цөмд байдаг, тэгэхээр таны карт ачаалах явцад иймэрхүү харагдах ёстой:
dc0: <82c169 PNIC 10/100BaseTX> port 0xa000-0xa0ff mem 0xd3800000-0xd38
000ff irq 15 at device 11.0 on pci0
dc0: Ethernet address: 00:a0:cc:da:da:da
miibus0: <MII bus> on dc0
ukphy0: <Generic IEEE 802.3u media interface> on miibus0
ukphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
dc1: <82c169 PNIC 10/100BaseTX> port 0x9800-0x98ff mem 0xd3000000-0xd30
000ff irq 11 at device 12.0 on pci0
dc1: Ethernet address: 00:a0:cc:da:da:db
miibus1: <MII bus> on dc1
ukphy1: <Generic IEEE 802.3u media interface> on miibus1
ukphy1: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
Энэ жишээн дээр систем дээр байгаа хоёр карт &man.dc.4; драйверийг ашиглаж
байгааг бид харж байна.
Хэрэв таны NIC-д (Network Interface Card буюу Сүлжээний Интерфэйс Карт)
зориулсан драйвер GENERIC-д байхгүй бол та өөрийн NIC-г
ашиглахын тулд тохирох драйверийг ачаалах хэрэгтэй. Ингэхийн тулд хоёр аргын аль нэгийг
ашиглана:
Хамгийн амархан арга нь ердөө л өөрийн сүлжээний картанд зориулсан цөмийн модулийг
&man.kldload.8; ашиглан эсвэл тохирох мөрийг /boot/loader.conf-д
нэмж ачаалах үед автоматаар ачаалах юм. Бүх NIC драйверууд модуль хэлбэрээр байдаггүй;
модулиуд нь байдаггүй төхөөрөмжүүдийн дурдаж болох жишээнүүд гэвэл ISA картууд юм.
Өөр нэг арга нь та өөрийн картын дэмжлэгийг цөмд оруулан статикаар
хөрвүүлж болох юм. Өөрийн цөмийн тохиргооны файлд юу нэмэх ёстойг мэдэхийн тулд
/usr/src/sys/conf/NOTES,
/usr/src/sys/arch/conf/NOTES
болон драйверийн гарын авлагын хуудсыг шалгаарай. Цөмийг дахин хөрвүүлэх талаар
дэлгэрэнгүй мэдээллийг -с үзнэ үү.
Хэрэв таны картыг таны цөм (GENERIC) ачаалах явцад илрүүлсэн бол
та шинэ цөм бүтээх шаардлагагүй.
&windows;-ийн NDIS драйверуудыг ашиглах нь
NDIS
NDISulator
&windows; драйверууд
Microsoft Windows
Microsoft Windows
төхөөрөмжийн драйверууд
KLD (kernel loadable
object буюу цөмийн ачаалж болох обьект)
Харамсалтай нь өөрийн драйверуудад зориулсан схемүүдийг нээлттэй
эхийн хүрээнийхэнд өгдөггүй, тийм мэдээллийг худалдааны нууц гэж үздэг
олон үйлдвэрлэгчид байсаар байна. Ингэснээр &os; болон өөр үйлдлийн системүүдийн
хөгжүүлэгчдэд хоёр сонголт үлдсэн: буцаах инженерчлэлийн хүнд хэцүү, урт хугацааны
процессийг туулж драйверуудыг хөгжүүлэх эсвэл µsoft.windows; тавцангуудад
байдаг хоёртын хэлбэрийн драйверуудыг ашиглах арга замууд юм. &os;-тэй
холбогдсон зэрэг ихэнх хөгжүүлэгчид сүүлийн хандлагыг авч ашигладаг.
Билл Полын (wpaul) оруулсан хувь нэмрийн ачаар &os; 5.3-RELEASE-с
эхлээд Сүлжээний Драйверийн Интерфэйсийн Тодорхойлолтын (NDIS)
эх (native)
дэмжлэг ордог болсон.
&os; NDISulator (өөрөөр Чөтгөр Төсөл) &windows; хоёртын драйверийг
аваад ерөнхийдөө түүнийг &windows; дээр ажиллаж байгаа мэтээр хуурдаг.
&man.ndis.4; драйвер нь &windows; хоёртын файл ашиглаж байгаа учраас
энэ нь зөвхөн &i386; болон amd64 системүүд дээр хэрэглэгдэх боломжтой.
&man.ndis.4; драйвер голчлон PCI, CardBus болон PCMCIA
төхөөрөмжүүдийг дэмжихээр хийгдсэн бөгөөд одоогоор USB төхөөрөмжүүдийн дэмжлэг
хийгдээгүй.
NDISulator ашиглахын тулд танд 3 зүйл хэрэгтэй:
Цөмийн эхүүд
&windowsxp; драйверийн хоёртын файл
(.SYS өргөтгөл)
&windowsxp; драйверийн тохиргооны файл
(.INF өргөтгөл)
Та өөрийн картад зориулсан файлуудыг олоорой. Ерөнхийдөө
тэдгээрийг хавсаргасан CD-үүд эсвэл үйлдвэрлэгчүүдийн вэб хуудаснаас
олж болно. Дараах жишээнүүдэд бид W32DRIVER.SYS
болон W32DRIVER.INF файлуудыг ашиглах
болно.
Та &windows;/i386 драйверийг &os;/amd64 дээр ашиглаж
чадахгүй, зөв ажиллуулахын тулд &windows;/amd64 драйвер заавал олох
шаардлагатай.
Дараагийн алхамд драйверийн хоёртын файлыг цөмийн ачаалж болох
модуль болгон хөрвүүлнэ. Үүнийг хийхийн тулд root
эрхээр &man.ndisgen.8;-г хэрэглэнэ:
&prompt.root; ndisgen /path/to/W32DRIVER.INF /path/to/W32DRIVER.SYS
&man.ndisgen.8; хэрэгсэл нь интерактив бөгөөд шаардлагатай
нэмэлт мэдээллийг асуудаг; энэ нь одоо байгаа санд цөмийн модуль үүсгэх
бөгөөд дараах маягаар ачаалж болно:
&prompt.root; kldload ./W32DRIVER.ko
Үүсгэгдсэн цөмийн модулиас гадна та ndis.ko болон
if_ndis.ko модулиудыг ачаалах хэрэгтэй. Энэ нь
таныг &man.ndis.4;-ээс хамаарсан дурын модулийг ачаалах үед автоматаар
хийгдэх ёстой. Хэрэв та тэдгээрийг гараар ачаалахыг хүсвэл дараах тушаалыг
ашиглаарай:
&prompt.root; kldload ndis
&prompt.root; kldload if_ndis
Эхний тушаал нь NDIS минипорт драйвер дугтуйлагчийг ачаалах бөгөөд
хоёр дахь нь яг сүлжээний интерфэйсийг ачаална.
Одоо &man.dmesg.8;-ийг шалгаж ачаалахад алдаа байгаа эсэхийг
үзэх хэрэгтэй. Бүгд сайн болж өнгөрсөн бол та дараах үр дүнг харах ёстой:
ndis0: <Wireless-G PCI Adapter> mem 0xf4100000-0xf4101fff irq 3 at device 8.0 on pci1
ndis0: NDIS API version: 5.0
ndis0: Ethernet address: 0a:b1:2c:d3:4e:f5
ndis0: 11b rates: 1Mbps 2Mbps 5.5Mbps 11Mbps
ndis0: 11g rates: 6Mbps 9Mbps 12Mbps 18Mbps 36Mbps 48Mbps 54Mbps
Эндээс эхлээд та ndis0 төхөөрөмжид
өөр бусад сүлжээний интерфэйсийн (өөрөөр хэлбэл dc0)
нэгэн адилаар хандах боломжтой болох юм.
Та бусад модулиудтай адилаар NDIS модулиудыг ачаалах явцад ачаалахаар
системийг тохируулж болно. Эхлээд үүсгэгдсэн модуль W32DRIVER.ko-г
/boot/modules уруу хуулах хэрэгтэй.
Тэгээд дараах мөрийг /boot/loader.conf-д нэмнэ:
W32DRIVER_load="YES"
Сүлжээний карт тохируулах нь
сүлжээний картууд
тохиргоо
Сүлжээний картанд зориулсан зөв драйвер ачаалагдсаны дараа
картыг тохируулах шаардлагатай. Бусад олон зүйлсийн адил сүлжээний
карт нь sysinstall програмаар
суулгах явцад тохируулагдаж болно.
Таны системийн сүлжээний интерфэйсүүдэд зориулсан тохиргоог
харуулахын тулд дараах тушаалыг ажиллуулна:
&prompt.user; ifconfig
dc0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
inet 192.168.1.3 netmask 0xffffff00 broadcast 192.168.1.255
ether 00:a0:cc:da:da:da
media: Ethernet autoselect (100baseTX <full-duplex>)
status: active
dc1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
inet 10.0.0.1 netmask 0xffffff00 broadcast 10.0.0.255
ether 00:a0:cc:da:da:db
media: Ethernet 10baseT/UTP
status: no carrier
lp0: flags=8810<POINTOPOINT,SIMPLEX,MULTICAST> mtu 1500
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
inet 127.0.0.1 netmask 0xff000000
tun0: flags=8010<POINTOPOINT,MULTICAST> mtu 1500
&os;-ийн хуучин хувилбарууд тохируулгыг
&man.ifconfig.8;-ийн араас залгахыг шаардаж болох бөгөөд
&man.ifconfig.8;-ийн зөв синтаксын дэлгэрэнгүй мэдээллийн талаар гарын
авлагын хуудсанд хандана уу. Энэ жишээн дээр IPv6-тай (inet6 гэх мэт.)
холбоотой оруулгууд орхигдсон болохыг анхаарна уу.
Энэ жишээн дээр дараах төхөөрөмжүүдийг харуулсан:
dc0: Эхний Ethernet интерфэйс
dc1: Хоёрдугаар Ethernet интерфэйс
lp0: Параллел порт интерфэйс
lo0: Буцаж эргэх төхөөрөмж
tun0: Туннель төхөөрөмж нь
ppp-д ашиглагдана.
&os; нь драйверийн нэр дээр цөмийн ачаалах явцад картууд ямар дарааллаар илрүүлэгдсэн
тэр дарааллын тоог нэмж сүлжээний картыг нэрлэдэг. Жишээ нь sis2
нь систем дээрх &man.sis.4; драйвер ашиглаж байгаа 3 дахь сүлжээний карт байж болох юм.
Энэ жишээн дээр dc0 төхөөрөмж босон ажиллаж байна.
Түлхүүр индикаторууд нь:
UP нь картын тохиргоо хийгдэж бэлэн болсныг илэрхийлнэ.
Карт нь Интернэт (inet) хаягтай
(энэ тохиолдолд 192.168.1.3).
Энэ нь зөв дэд сүлжээний багтай (netmask;
0xffffff00 нь
255.255.255.0 адил).
Энэ нь зөв нийтэд цацах хаягтай (энэ тохиолдолд
192.168.1.255).
Картны MAC (ether) хаяг нь
00:a0:cc:da:da:da байна.
Физик зөөгчийн сонголт нь автомат сонголтын
горим дээр байна (media: Ethernet autoselect (100baseTX
<full-duplex>)).
dc1 нь 10baseT/UTP
зөөгчтэй ажиллахаар тохируулагдсан байгааг бид харж болно. Байж болох
зөөгчийн төрлүүдийн тухай дэлгэрэнгүй мэдээллийн талаар өөрийнх нь гарын авлагын
хуудсанд хандаж үзнэ үү.
Холболтын (status) төлөв нь
active буюу идэвхтэй байна, өөрөөр хэлбэл
дамжуулагч илэрсэн байна. dc1-ийн
хувьд бид status: no carrier буюу дамжуулагч
байхгүйг харж болно. Энэ нь Ethernet кабель картанд залгагдаагүй байх үед
хэвийн байна.
Хэрэв &man.ifconfig.8;-ийн үр дүн дараах маягтай төстэй байвал:
dc0: flags=8843<BROADCAST,SIMPLEX,MULTICAST> mtu 1500
ether 00:a0:cc:da:da:da
Энэ нь карт тохируулагдаагүйг илэрхийлнэ.
Картаа тохируулахын тулд танд root зөвшөөрлүүд
хэрэгтэй. Сүлжээний картын тохируулгууд тушаалын мөрөөс &man.ifconfig.8;-р
хийгдэх боломжтой, гэхдээ та системийг дахин ачаалсан болгоныхоо дараа үүнийг хийх хэрэгтэй болно.
/etc/rc.conf файл нь сүлжээний картын тохиргоог нэмэх
газар юм.
/etc/rc.conf-ийг өөрийн дуртай засварлагч дээр
нээгээрэй. Систем дээрх сүлжээний карт бүрийн хувьд мөр нэмэх хэрэгтэй, манай
жишээн дээр бид эдгээр мөрүүдийг нэмсэн:
ifconfig_dc0="inet 192.168.1.3 netmask 255.255.255.0"
ifconfig_dc1="inet 10.0.0.1 netmask 255.255.255.0 media 10baseT/UTP"
Та dc0,
dc1 болон бусдуудыг өөрийн картуудад зориулсан
төхөөрөмжөөр өөрчлөх болон хаягуудыг зөвөөр солих хэрэгтэй. Зөвшөөрөгдсөн тохируулгуудын
талаар дэлгэрэнгүйг картын драйвер болон &man.ifconfig.8;-ийн гарын авлагын хуудаснуудаас,
бас &man.rc.conf.5; гарын авлагын хуудаснаас /etc/rc.conf-ийн
синтаксын тухай дэлгэрэнгүй мэдээллийг унших хэрэгтэй.
Хэрэв та суулгах явцад сүлжээг тохируулсан бол сүлжээний карт(ууд)ын талаар зарим
мөрүүд аль хэдийн байж болох юм. Мөрүүд нэмэхээсээ өмнө /etc/rc.conf-ийг
дахин шалгаарай.
Мөн та LAN дахь төрөл бүрийн машинуудын нэрүүд болон IP хаягууд
/etc/hosts файлд байхгүй бол тэдгээрийг нэмж засварлах
шаардлагатай. Дэлгэрэнгүй мэдээллийн талаар &man.hosts.5; болон
/usr/share/examples/etc/hosts файлд хандана уу.
Тест хийх болон алдааг олж засварлах нь
/etc/rc.conf-д хэрэгцээтэй өөрчлөлтүүдийг
хийснийхээ дараа та системээ дахин ачаалах шаардлагатай. Ингэснээр
интерфэйс(үүд)эд хийгдэх өөрчлөлт(үүд)ийг зөвшөөрөх бөгөөд ямар нэг тохиргооны
алдаагүйгээр систем ачаалж байгаа эсэхийг шалгадаг.
Систем дахин ачаалагдсаны дараа та сүлжээний интерфэйсүүдээ тест
хийх хэрэгтэй.
Ethernet карт тест хийх нь
сүлжээний картууд
тест хийх нь
Ethernet карт зөв тохируулагдсаныг шалгахдаа та 2 зүйлийг оролдох
хэрэгтэй. Эхлээд интерфэйс уруу өөр уруу нь ping хийгээд дараа нь LAN дахь өөр
машин уруу ping хийх хэрэгтэй.
Эхлээд локал интерфэйсийг тест хийнэ:
&prompt.user; ping -c5 192.168.1.3
PING 192.168.1.3 (192.168.1.3): 56 data bytes
64 bytes from 192.168.1.3: icmp_seq=0 ttl=64 time=0.082 ms
64 bytes from 192.168.1.3: icmp_seq=1 ttl=64 time=0.074 ms
64 bytes from 192.168.1.3: icmp_seq=2 ttl=64 time=0.076 ms
64 bytes from 192.168.1.3: icmp_seq=3 ttl=64 time=0.108 ms
64 bytes from 192.168.1.3: icmp_seq=4 ttl=64 time=0.076 ms
--- 192.168.1.3 ping statistics ---
5 packets transmitted, 5 packets received, 0% packet loss
round-trip min/avg/max/stddev = 0.074/0.083/0.108/0.013 ms
Одоо бид LAN дахь өөр машин уруу ping хийх хэрэгтэй:
&prompt.user; ping -c5 192.168.1.2
PING 192.168.1.2 (192.168.1.2): 56 data bytes
64 bytes from 192.168.1.2: icmp_seq=0 ttl=64 time=0.726 ms
64 bytes from 192.168.1.2: icmp_seq=1 ttl=64 time=0.766 ms
64 bytes from 192.168.1.2: icmp_seq=2 ttl=64 time=0.700 ms
64 bytes from 192.168.1.2: icmp_seq=3 ttl=64 time=0.747 ms
64 bytes from 192.168.1.2: icmp_seq=4 ttl=64 time=0.704 ms
--- 192.168.1.2 ping statistics ---
5 packets transmitted, 5 packets received, 0% packet loss
round-trip min/avg/max/stddev = 0.700/0.729/0.766/0.025 ms
Хэрэв та
/etc/hosts файлыг тохируулсан бол
192.168.1.2-ийн оронд
машины нэрийг бас ашиглаж болох болох юм.
Алдааг олж засварлах нь
сүлжээний картууд
алдааг олж засварлах нь
Тоног төхөөрөмж болон програм хангамжийн тохиргоонуудын алдааг олж
засварлах нь үргэлж зовлон байдаг бөгөөд зовлонг энгийн зүйлүүдийг эхлээд шалгаснаар
багасгах боломжтой. Таны сүлжээний кабель холбогдсон уу? Сүлжээний үйлчилгээнүүдээ
зөв тохируулсан уу? Галт ханаа зөв тохируулсан уу? Таны хэрэглэж байгаа картыг
&os; дэмждэг үү? Алдааны тайланг явуулахаасаа өмнө тоног төхөөрөмжийн
тэмдэглэлийг заавал шалгах хэрэгтэй. Өөрийн &os;-ийн хувилбарыг хамгийн сүүлийн STABLE
хувилбар уруу шинэчлээрэй. Захидлын жагсаалтын архивууд шалгах буюу эсвэл Интернетээс
хайгаарай.
Хэрэв карт ажилласан мөртлөө ажиллагаа муу бол &man.tuning.7; гарын авлагын хуудсыг
унших нь зүйтэй юм. Мөн буруу сүлжээний тохиргоонууд удаан холболтын шалтгаан болдог учир
та сүлжээний тохиргоог бас шалгаж болох юм.
Зарим хэрэглэгчид ганц хоёр device
timeout мэдээлэлтэй тулгарч болох бөгөөд энэ нь зарим картуудын
хувьд хэвийн юм. Хэрэв энэ нь үргэлжлээд эсвэл шаналгаатай болоод эхэлбэл
уг төхөөрөмж өөр бусад төхөөрөмжтэй зөрчилдөж байгаа эсэхийг та магадгүй
шалгахыг хүсэх байх. Кабелийн холболтуудыг дахин шалгаарай. Магадгүй танд
өөр нэг карт хэрэгтэй байж болох юм.
Хэрэглэгчид зарим үед цөөн watchdog timeout
гэсэн алдаанууд хардаг. Ийм үед эхлээд хийх юм нь сүлжээний кабелийг шалгана.
Олон картууд Bus Mastering дэмждэг PCI оролтыг шаарддаг. Зарим нэг эх хавтангуудад
үүнийг зөвхөн нэг PCI оролт зөвшөөрдөг (ихэнхдээ 0-р оролт). Энэ нь асуудал
байж болох эсэхийг сүлжээний карт болон эх хавтангийн баримтаас шалгаарай.
Систем пакетийг зорьсон газар нь чиглүүлж чадахгүй тохиолдолд
No route to host мэдээллүүд гардаг.
Энэ нь анхдагч чиглүүлэлт заагаагүй тохиолдолд эсвэл кабель салгагдсан бол
гардаг. netstat -rn тушаалын үр дүнг
үзээд таны хүрэхийг оролдож байгаа тэр хост уруу чинь зөв чиглүүлэлт байгаа
эсэхийг шалгаарай. Хэрэв байхгүй бол
-г уншаарай.
ping: sendto: Permission denied
алдааны мэдээллүүд нь буруу тохируулсан галт ханаас ихэвчлэн болдог.
Хэрэв ipfw нь цөмд идэвхжсэн бөгөөд
ямар ч дүрэм тодорхойлогдоогүй бол анхдагч бодлого нь бүх трафикийг бүр
ping хүсэлтийг хүртэл татгалзан хаадаг! Дэлгэрэнгүйг -с уншина уу.
Заримдаа картын ажиллагаа муу эсвэл дунджаас доогуур байдаг.
Эдгээр тохиолдолд зөөгч сонголтын горимыг
autoselect горимоос зөв зөөгчийн сонголт
уруу болгож тааруулах нь шилдэг арга юм. Энэ нь ихэнх тоног төхөөрөмжийн
хувьд ихэвчлэн ажиллах боловч хүн болгоны хувьд байгаа ийм асуудлыг шийдэхгүй ч
байж болох юм. Дахин хэлэхэд бүх сүлжээний тохиргоонуудыг шалгаж
&man.tuning.7; гарын авлагын хуудсыг уншаарай.
Виртуал Хостууд
виртуал хостууд
өөр IP хаягууд (alias)
&os;-ийн хамгийн түгээмэл хэрэглээ бол нэг сервер сүлжээн дээр олон сервер мэтээр
ажиллах виртуал сайт хост хийх боломж юм. Үүнийг нэг интерфэйс дээр олон сүлжээний хаягууд
тавьж хийдэг.
Өгөгдсөн сүлжээний интерфэйс нь нэг жинхэнэ
хаягтай бөгөөд
дурын тооны өөр(alias)
хаягуудтай байж болох юм.
Эдгээр өөр хаягуудыг ихэнхдээ /etc/rc.conf-д
тохирох хаягийн оруулгуудыг оруулан нэмж өгдөг.
fxp0 интерфэйсд зориулсан өөр хаягийн оруулга нь иймэрхүү байна:
ifconfig_fxp0_alias0="inet xxx.xxx.xxx.xxx netmask xxx.xxx.xxx.xxx"
Өөр хаягийн оруулгууд нь alias0 гэж эхлэх ёстой бөгөөд дээш өгсөх дарааллаар
явдаг (жишээ нь _alias1, _alias2, гэх мэт).
Тохиргооны үйл явц эхний байхгүй дугаар дээр хүрч зогсдог.
Өөр хаягийн сүлжээний багуудыг тооцоолох нь чухал байдаг, гэхдээ азаар энэ нь
маш амархан. Өгөгдсөн интерфэйсийн хувьд сүлжээний багийг зөвөөр үзүүлдэг нэг хаяг
байх ёстой. Энэ сүлжээн дэх өөр бусад хаягууд бүгд 1-ээс
(энэ нь 255.255.255.255 гэх буюу эсвэл
0xffffffff гэж илэрхийлэгддэг)
тогтсон сүлжээний багтай байх ёстой.
Жишээ нь fxp0 интерфэйс нь
10.1.1.0
сүлжээнд 255.255.255.0 болон
202.0.75.16 сүлжээнд 255.255.255.240
багуудыг ашиглаж хоёр сүлжээнд холбогдсон гэж бодъё.
Бид системийг 10.1.1.1-ээс
10.1.1.5 хүртэл болон
202.0.75.17-ээс эхлээд
202.0.75.20 хүртэлх хаягууд дээр
байлгахыг хүсэж байна. Дээр тэмдэглэсний дагуу өгөгдсөн сүлжээний хүрээн дэх
зөвхөн эхний хаяг (энэ тохиолдолд 10.0.1.1 болон
202.0.75.17) жинхэнэ сүлжээний багтай байх
ёстой; бусад үлдсэн бүгд (10.1.1.2-ээс
10.1.1.5 хүртэл болон
202.0.75.18-ээс эхлээд
202.0.75.20 хүртэл)
255.255.255.255 сүлжээний багтай байхаар
тохируулагдах хэрэгтэй.
Дараах /etc/rc.conf оруулгууд нь энэ зорилгоор адаптерийг зөв
тохируулж байна:
ifconfig_fxp0="inet 10.1.1.1 netmask 255.255.255.0"
ifconfig_fxp0_alias0="inet 10.1.1.2 netmask 255.255.255.255"
ifconfig_fxp0_alias1="inet 10.1.1.3 netmask 255.255.255.255"
ifconfig_fxp0_alias2="inet 10.1.1.4 netmask 255.255.255.255"
ifconfig_fxp0_alias3="inet 10.1.1.5 netmask 255.255.255.255"
ifconfig_fxp0_alias4="inet 202.0.75.17 netmask 255.255.255.240"
ifconfig_fxp0_alias5="inet 202.0.75.18 netmask 255.255.255.255"
ifconfig_fxp0_alias6="inet 202.0.75.19 netmask 255.255.255.255"
ifconfig_fxp0_alias7="inet 202.0.75.20 netmask 255.255.255.255"
Тохиргооны Файлууд
/etc-н бүтэц
Тохиргооны мэдээллийг хадгалдаг хэд хэдэн сангууд байдаг.
Эдгээр нь:
/etc
Системийн ерөнхий тохиргооны мэдээлэл; энд байгаа өгөгдөл нь системийн хувьд өөр өөр.
/etc/defaults
Системийн тохиргооны файлуудын анхдагч хувилбарууд.
/etc/mail
&man.sendmail.8;-ийн нэмэлт тохиргоо, бусад MTA тохиргооны файлууд.
/etc/ppp
Хэрэглэгч- болон цөмийн-ppp програмуудад зориулсан тохиргоо.
/etc/namedb
&man.named.8; өгөгдөлд зориулсан анхдагч байрлал. Ихэнхдээ
named.conf болон бүсийн файлууд энд
хадгалагддаг.
/usr/local/etc
Суулгагдсан програмуудад зориулсан тохиргооны файлууд.
Програм болгоны дэд сангуудыг агуулж болно.
/usr/local/etc/rc.d
Суулгагдсан програмуудад зориулсан эхлүүлэх/зогсоох скриптүүд.
/var/db
Багцын өгөгдлийн бааз, байршил олох өгөгдлийн бааз, гэх зэрэг
систем болгоны хувьд автоматаар үүсгэгдсэн өгөгдлийн баазын файлууд.
Хостын нэрс
хостын нэр
DNS
/etc/resolv.conf
resolv.conf
/etc/resolv.conf нь &os;-ийн
тодорхойлогч Интернэт Домэйн Нэрийн Системд (DNS) хэрхэн хандахыг заадаг.
resolv.conf дахь хамгийн түгээмэл оруулгууд нь:
nameserver
Тодорхойлогчийн асуух нэрийн серверийн IP хаяг. Серверүүд
нь хамгийн ихдээ гурав байх жагсаасан дарааллаар асуугддаг.
search
Хостын нэрийн хайлтад зориулж жагсаалтаас хайх. Энэ нь
ихэнхдээ локал хостын нэрийн домэйноор тодорхойлогддог.
domain
Локал домэйн нэр.
Ердийн resolv.conf:
search example.com
nameserver 147.11.1.11
nameserver 147.11.100.30
search болон
domain тохируулгуудын зөвхөн нэг нь хэрэглэгдэх
ёстой.
Хэрэв та DHCP ашиглаж байгаа бол &man.dhclient.8; нь DHCP серверээс
хүлээн авсан мэдээллээр resolv.conf-г дарж бичдэг.
/etc/hosts
хостууд
/etc/hosts нь хуучин Интернэтийн үлдэгдэл
энгийн текст өгөгдлийн бааз юм. Энэ нь DNS болон NIS-тэй цуг нэрийг IP хаяг уруу
болгож тааруулах боломжийг ханган ажилладаг. LAN-аар холбогдсон локал компьютеруудыг
амархан нэрлэх зориулалтаар &man.named.8; сервер суулгаж тохируулахын оронд энд
байрлуулж болдог. Мөн /etc/hosts нь түгээмэл ханддаг
нэрсэд зориулагдсан гадагшаа хандах хүсэлтийг багасгаж Интернэтийн нэрсийн локал
бичлэгийг хангадаг байж болно.
# $&os;$
#
# Host Database
# This file should contain the addresses and aliases
# for local hosts that share this file.
# In the presence of the domain name service or NIS, this file may
# not be consulted at all; see /etc/nsswitch.conf for the resolution order.
#
#
::1 localhost localhost.my.domain myname.my.domain
127.0.0.1 localhost localhost.my.domain myname.my.domain
#
# Imaginary network.
#10.0.0.2 myname.my.domain myname
#10.0.0.3 myfriend.my.domain myfriend
#
# According to RFC 1918, you can use the following IP networks for
# private nets which will never be connected to the Internet:
#
# 10.0.0.0 - 10.255.255.255
# 172.16.0.0 - 172.31.255.255
# 192.168.0.0 - 192.168.255.255
#
# In case you want to be able to connect to the Internet, you need
# real official assigned numbers. PLEASE PLEASE PLEASE do not try
# to invent your own network numbers but instead get one from your
# network provider (if any) or from the Internet Registry (ftp to
# rs.internic.net, directory `/templates').
#
/etc/hosts нь энгийн хэлбэрийг агуулдаг:
[Internet address] [official hostname] [alias1] [alias2] ...
Жишээ нь:
10.0.0.1 myRealHostname.example.com myRealHostname foobar1 foobar2
Дэлгэрэнгүй мэдээллийн талаар &man.hosts.5; хуудаснаас зөвлөгөө авна уу.
Бүртгэлийн файлын тохиргоо
бүртгэлийн файлууд
syslog.conf
syslog.conf
syslog.conf нь &man.syslogd.8;
програмын тохиргооны файл юм. Энэ нь ямар төрлийн syslog
мэдээллүүд яг аль бүртгэлийн файлд бүртгэгдэхийг заадаг.
# $&os;$
#
# Spaces ARE valid field separators in this file. However,
# other *nix-like systems still insist on using tabs as field
# separators. If you are sharing this file between systems, you
# may want to use only tabs as field separators here.
# Consult the syslog.conf(5) manual page.
*.err;kern.debug;auth.notice;mail.crit /dev/console
*.notice;kern.debug;lpr.info;mail.crit;news.err /var/log/messages
security.* /var/log/security
mail.info /var/log/maillog
lpr.info /var/log/lpd-errs
cron.* /var/log/cron
*.err root
*.notice;news.err root
*.alert root
*.emerg *
# uncomment this to log all writes to /dev/console to /var/log/console.log
#console.info /var/log/console.log
# uncomment this to enable logging of all log messages to /var/log/all.log
#*.* /var/log/all.log
# uncomment this to enable logging to a remote log host named loghost
#*.* @loghost
# uncomment these if you're running inn
# news.crit /var/log/news/news.crit
# news.err /var/log/news/news.err
# news.notice /var/log/news/news.notice
!startslip
*.* /var/log/slip.log
!ppp
*.* /var/log/ppp.log
Дэлгэрэнгүй мэдээллийн талаар &man.syslog.conf.5; гарын авлагын хуудаснаас
зөвлөгөө авна уу.
newsyslog.conf
newsyslog.conf
newsyslog.conf нь ихэнхдээ &man.cron.8; хуваарилан
цагаар ажиллуулдаг &man.newsyslog.8;-д зориулагдсан тохиргоо юм. &man.newsyslog.8;
нь хэзээ бүртгэлийн файлууд архивлагдах эсвэл дахин зохицуулагдахыг тодорхойлдог.
logfile нь logfile.0 уруу,
logfile.0 нь logfile.1
шилжих гэх зэргээр зохицуулагддаг. Бүртгэлийн файлууд өөрөөр &man.gzip.1;
хэлбэрээр logfile.0.gz, logfile.1.gz
гэх зэргээр нэрлэгдэн архивлагдаж болно.
newsyslog.conf нь аль бүртгэлийн файлууд удирдагдах,
хичнээн нь хадгалагдах болон хэзээ тэдгээрт хүрэхийг зааж өгдөг. Бүртгэлийн файлууд нь
тодорхой хэмжээнд хүрэх үед болон эсвэл тодорхой цаг/огнооны давтамжтайгаар зохицуулагддаг ба/эсвэл
архивлагддаг.
# configuration file for newsyslog
# $&os;$
#
# filename [owner:group] mode count size when [ZB] [/pid_file] [sig_num]
/var/log/cron 600 3 100 * Z
/var/log/amd.log 644 7 100 * Z
/var/log/kerberos.log 644 7 100 * Z
/var/log/lpd-errs 644 7 100 * Z
/var/log/maillog 644 7 * @T00 Z
/var/log/sendmail.st 644 10 * 168 B
/var/log/messages 644 5 100 * Z
/var/log/all.log 600 7 * @T00 Z
/var/log/slip.log 600 3 100 * Z
/var/log/ppp.log 600 3 100 * Z
/var/log/security 600 10 100 * Z
/var/log/wtmp 644 3 * @01T05 B
/var/log/daily.log 640 7 * @T00 Z
/var/log/weekly.log 640 5 1 $W6D0 Z
/var/log/monthly.log 640 12 * $M1D0 Z
/var/log/console.log 640 5 100 * Z
Дэлгэрэнгүй мэдээллийн талаар &man.newsyslog.8; гарын авлагын хуудаснаас
зөвлөгөө авна уу.
sysctl.conf
sysctl.conf
sysctl
sysctl.conf нь rc.conf-той
бараг л адил харагддаг. Утгууд нь хувьсагч=утга
хэлбэрээр заагддаг. Тодорхойлсон утгууд нь систем олон-хэрэглэгчийн горимд шилжсэний
дараа тохируулагддаг. Энэ горимд бүх хувьсагчууд тохируулагдах боломжгүй.
Сүйрлийн дохионы гаралтуудын бүртгэлийг хааж бусад хэрэглэгчдийн эхлүүлсэн
процессуудыг өөр хэрэглэгчдэд харуулахгүй байлгахын тулд дараах тохируулгуудыг
sysctl.conf файлд тохируулж өгч болно:
# Do not log fatal signal exits (e.g. sig 11)
kern.logsigexit=0
# Prevent users from seeing information about processes that
# are being run under another UID.
security.bsd.see_other_uids=0
sysctl ашиглан тааруулах нь
sysctl
тааруулах нь
sysctl ашиглан
&man.sysctl.8; нь ажиллаж байгаа &os; системд өөрчлөлтүүдийг хийхийг
танд зөвшөөрдөг интерфэйс юм. Энэ нь туршлагатай системийн администраторын хувьд
ажиллагааг мэдэгдэхүйц сайжруулж чадах TCP/IP болон виртуал санах ойн системийн
олон нарийн тохируулгуудыг агуулдаг. Таван зуу гаруй системийн хувьсагчуудыг
&man.sysctl.8; ашиглан унших болон тохируулж болдог.
&man.sysctl.8; нь голдоо хоёр үүргийг гүйцэтгэдэг: системийн тохиргоонуудыг
унших болон өөрчлөх.
Уншигдаж болох бүх хувьсагчуудыг харахдаа:
&prompt.user; sysctl -a
Тухайн хувьсагчийг уншихдаа, жишээ нь,
kern.maxproc:
&prompt.user; sysctl kern.maxproc
kern.maxproc: 1044
Тухайн хувьсагчийг заахдаа хялбар
хувьсагч=утга
синтаксийг ашиглаарай:
&prompt.root; sysctl kern.maxfiles=5000
kern.maxfiles: 2088 -> 5000
sysctl хувьсагчуудын тохиргоонууд нь ихэвчлэн тэмдэгтүүд (strings),
тоонууд эсвэл boolean (boolean 1 нь тийм эсвэл
0 нь үгүй байна) утгууд байна.
Хэрэв та машин ачаалах болгонд автоматаар зарим хувьсагчуудыг тохируулахыг
хүсвэл /etc/sysctl.conf файлд тэдгээрийг
нэмээрэй. Дэлгэрэнгүй мэдээллийн талаар &man.sysctl.conf.5; гарын авлагын
хуудас болон -с үзнэ үү.
Том
Рөүдс
Хувь нэмэр болгон оруулсан
Цагаанхүүгийн
Ганболд
Орчуулсан
Зөвхөн-унших &man.sysctl.8;
Зарим тохиолдолд зөвхөн-унших &man.sysctl.8; утгуудыг өөрчлөх шаардлагатай
байж болох юм. Энэ нь заримдаа хийхээс өөр аргагүй байдаг боловч зөвхөн
(дахин) ачаалахад хийгдэх боломжтой.
Жишээ нь зарим зөөврийн компьютерийн загваруудад &man.cardbus.4; төхөөрөмж нь
санах ойн хүрээг шалгадаггүй бөгөөд доор дурдсантай төстэй алдаанууд гарган амжилтгүй болдог:
cbb0: Could not map register memory
device_probe_and_attach: cbb0 attach returned 12
Дээрх шиг тохиолдлууд нь ихэвчлэн зөвхөн уншихаар тохируулагдсан
зарим анхдагч &man.sysctl.8; тохиргоонуудыг өөрчлөхийг шаарддаг. Эдгээр
нөхцөлүүдийг давж гарахын тулд хэрэглэгч
&man.sysctl.8; OID
-уудыг тэдгээрийн
/boot/loader.conf файлд хийж өгч болно.
Анхдагч тохиргоонууд /boot/defaults/loader.conf
файлд байрладаг.
Дээр дурдсан асуудлыг шийдэхийн тулд хэрэглэгч урьд нь дурдсан файлд
гэж
тохируулах шаардлагатай. Ингэснээр &man.cardbus.4; зөв ажиллах болно.
Дискнүүдийг тааруулах нь
Sysctl хувьсагчууд
vfs.vmiodirenable
vfs.vmiodirenable
vfs.vmiodirenable sysctl хувьсагч нь
0 (идэвхгүй) эсвэл 1 (идэвхтэй) гэж тохируулагдаж болно; анхдагчаар 1 байна.
Энэ хувьсагч нь систем сангуудыг хэрхэн кэш (шуурхай санамж) хийхийг хянадаг.
Ихэнх сангууд зөвхөн ганц фрагментийг (ихэвчлэн 1 K) файлын системд
болон түүнээс багыг буфер кэшд хэрэглэн жижиг хэмжээтэй байдаг.
Энэ хувьсагчийг хааснаар (0 болгосноор) буфер кэш нь таныг асар их хэмжээний
санах ойтой байсан ч гэсэн зөвхөн тодорхой тооны сангуудыг кэш хийдэг.
Нээгдсэн (1 болгосон) үед энэ sysctl нь бүх санах ойг кэш хийхэд бэлэн болгож
буфер кэшд VM Хуудасны Кэшийг хэрэглэн сангуудыг кэш хийх боломжийг олгодог.
Гэхдээ сангуудыг кэш хийх хамгийн бага гол дахь санах ой нь 512 байт биш
харин физик хуудасны хэмжээ (ихэвчлэн 4 K) байдаг. Хэрэв та их олон тооны
файлуудтай ажилладаг үйлчилгээ ажиллуулж байгаа бол бид энэ тохируулгыг идэвхтэй
байлгахыг зөвлөж байна. Тийм үйлчилгээнүүдэд вэб кэшүүд, том захидлын системүүд,
болон мэдээний системүүд орж болно. Энэ тохируулгыг идэвхтэй байлгах нь хайр
гамгүй зарцуулсан санах ойтой байхад ч гэсэн ерөнхийдөө ажиллагааг удаашруулдаггүй,
гэхдээ та түүнийг мэдэхийн тулд туршиж үзэж болно.
vfs.write_behind
vfs.write_behind
vfs.write_behind sysctl хувьсагчийн
анхдагч утга нь 1 (идэвхтэй) байна. Энэ нь том
дараалсан файлуудыг бичих үед ихэвчлэн гардаг бүх кластеруудыг цуглуулсан
үед зөөгчийн бичилтүүдийг хийхийг файлын системд хэлж өгдөг. Санаа нь бол
I/O ажиллагааны хувьд ашиггүй байхад бохир буферууд бүхий буферийн кэшийг
замхруулахаас зайлсхийхэд оршдог. Гэхдээ энэ нь процессуудыг зогсоож магадгүй
бөгөөд зарим нөхцөл байдалд та магадгүй үүнийг идэвхгүй болгохыг хүсэж болох юм.
vfs.hirunningspace
vfs.hirunningspace
vfs.hirunningspace sysctl хувьсагч
өгөгдсөн дурын хоромд системийн хувьд бүхэлд нь хэдий хэмжээний хүлээгдэж байгаа
бичих I/O-г дискний хянагчуудад өгөх дараалалд оруулж болохыг тодорхойлдог.
Анхдагч утга нь ихэвчлэн хангалттай гэхдээ олон дисктэй машинууд дээр та
үүнийг дөрөв эсвэл таван мегабайт хүртэл
ихэсгэхийг хүсэж болох юм. Утгыг хэтэрхий өндөр тавих нь (буфер кэшийн бичих
тогтоосон хэмжээг давах нь) туйлын муу кластерлах ажиллагаанд хүргэж болно.
Энэ утгыг хэтэрхий өндөр бүү тавь! Өндөр бичих утгууд нь яг тэр үед хийгдэж байгаа
уншилтуудад хоцрогдол нэмж магадгүй юм.
Бусад төрөл бүрийн буфер-кэш болон VM хуудасны кэштэй холбоотой sysctl-ууд
байдаг. Бид эдгээр утгуудыг өөрчлөхийг зөвлөдөггүй, VM систем нь өөрийгөө автоматаар
тааруулж туйлын сайн ажилладаг.
vm.swap_idle_enabled
vm.swap_idle_enabled
vm.swap_idle_enabled sysctl хувьсагч нь
маш олон хэрэглэгчид таны системд орж гарч байдаг, сул зогссон олон процессуудтай,
том, олон-хэрэглэгчийн системүүд дээр ашигтай байдаг. Ийм системүүд нь
чөлөөт санах ойн хадгалалтад ихээхэн хэмжээний байнгын дарамтыг үүсгэж байдаг.
Энэ боломжийг идэвхтэй болгож ар араас нь swap хийн гаргахыг (зогссон секундээр)
vm.swap_idle_threshold1 болон
vm.swap_idle_threshold2 хувьсагчуудын тусламжтай
тохируулснаар зогссон процессуудтай холбоотой санах ойн хуудаснуудын дарааллыг ердийн
хуудаслаж гаргах алгоритмаас илүү хурднаар багасгах боломжийг олгодог.
Энэ нь хуудаслаж гаргах дэмонд тусламжийн гарыг өгөх болно. Энэ тохируулгыг
танд хэрэгтэй л биш бол идэвхтэй болгож болохгүй, учир нь үүнийг та хийснээр үндсэндээ
санах ойг илүү түргэн урьдчилан-хуудаслаж ингэснээр swap болон дискний багтаамжийг
илүүтэйгээр идэхэд хүргэх юм. Жижиг систем дээр энэ тохируулга нь тодорхойлогдож
болохуйц нөлөөлөлтэй байх ба харин боломжийн хуудаслалт аль хэдийн хийгээд байгаа
том системүүдэд энэ тохируулга нь VM системд бүх процессуудыг санах ой уруу болон
санах ойгоос хялбараар гаргах боломжийг бүрдүүлдэг.
hw.ata.wc
hw.ata.wc
&os; 4.3-д IDE бичих кэш хийлтийг хаасан байдаг. Энэ нь
IDE дискэнд бичих багтаамжийг багасгасан боловч хатуу диск үйлдвэрлэгчдийн гаргасан
өгөгдлийн бүрэн бүтэн байдлын ноцтой асуудлуудаас болоод шаардлагатай болсон.
Тэр асуудал нь IDE хөтлөгчүүд бичилт дуусах үед худлаа мэдээлдэг явдал юм.
IDE бичих кэшийг идэвхтэй болгосноор IDE хатуу дискнүүд ямар нэг дараалалгүйгээр
бичихээс гадна диск их ачаалалтай үед зарим блокуудыг бичихэд заримдаа
тодорхойгүй саатдаг. Сүйрэл болон тэжээлийн уналт файлын системийн ноцтой
эвдрэлд хүргэж болзошгүй байдаг. &os;-ийн анхдагч нь аюулгүй байхаар өөрчлөгдсөн.
Харамсалтай нь үүний үр дүнд ажиллагааны асар том алдагдалд хүргэсэн бөгөөд
хувилбар гарсны дараа бид бичих кэш хийлтийг анхдагчаар идэвхтэй байхаар буцаан
өөрчилсөн юм. Та өөрийн систем дээрээ hw.ata.wc sysctl
хувьсагчийг ажиглан анхдагч утгыг шалгах хэрэгтэй. Хэрэв IDE бичих кэш хийлт
хаалттай бол та цөмийн хувьсагчийн утгыг 1 болгон түүнийг идэвхжүүлж болно.
Үүнийг ачаалах үед ачаалагчаас хийх шаардлагатай. Цөм ачаалсны дараа хийхийг
оролдвол ямар ч нөлөө үзүүлэхгүй.
Дэлгэрэнгүй мэдээллийн талаар &man.ata.4;-с үзнэ үү.
SCSI_DELAY
(kern.cam.scsi_delay)
kern.cam.scsi_delay
цөмийн тохируулгууд
SCSI_DELAY
SCSI_DELAY цөмийн тохиргоо нь системийн ачаалах
хугацааг багасгахад хэрэглэгддэг. Анхдагч утга нь нэлээн өндөр бөгөөд
15 секундын саатлыг ачаалах процессийн үед өгөхийг хариуцдаг.
5 секунд хүртэл багасгахад ихэвчлэн ажилладаг (ялангуяа
орчин үеийн хөтлөгчүүдийн хувьд). &os;-ийн шинэ хувилбарууд (5.0 болон түүнээс дээш)
ачаалах үеийн тохируулга болох kern.cam.scsi_delay
хувьсагчийг ашиглах хэрэгтэй. Энэ тохируулга болон цөмийн тохиргооны тохируулга нь
секундээр биш
миллисекундээр утгыг хүлээн авдаг.
Зөөлөн Шинэчлэлтүүд
Зөөлөн Шинэчлэлтүүд
tunefs
&man.tunefs.8; програм файлын системийг нарийн тааруулахад
ашиглагдаж болно. Энэ програм нь олон янзын тохируулгуудтай гэхдээ
одоохондоо бид зөвхөн Зөөлөн Шинэчлэлтүүдийг идэвхжүүлэх ба хаах дээр
анхаарах бөгөөд үүнийг дараах аргаар хийнэ:
&prompt.root; tunefs -n enable /filesystem
&prompt.root; tunefs -n disable /filesystem
Файлын систем нь холбогдсон байхдаа &man.tunefs.8;-ээр өөрчлөгдөх
боломжгүй. Зөөлөн Шинэчлэлтүүдийг идэвхжүүлэхэд тохирох үе нь аль ч
хуваалтууд холболт хийгдээгүй байгаа ганц хэрэглэгчийн горим юм.
Зөөлөн Шинэчлэлтүүд нь мета-өгөгдлийн ажиллагааг мэдэгдэхүйц сайжруулдаг бөгөөд
санах ойн кэшийг ашиглан голчлон файлын үүсгэлт болон устгалтыг хурдасгадаг.
Бид Зөөлөн Шинэчлэлтүүдийг өөрийн бүх файлын системүүдэд ашиглахыг зөвлөж байна.
Зөөлөн Шинэчлэлтүүдийн хоёр дутагдалтай талыг та мэдэж байх ёстой: Нэгдүгээрт,
Зөөлөн Шинэчлэлтүүд нь сүйрэл болсон тохиолдолд файлын системийн бүрэн бүтэн
байдалд баталгаа өгдөг боловч физик дискийг шинэчлэхэд хэдэн секундын (минут ч байж болно!)
хоцрогдолтой байж болно. Хэрэв таны систем сүйрэхэд бусад тохиолдлоос илүүтэйгээр
та хийсэн ажлаа алдаж болзошгүй юм. Хоёрдугаарт, Зөөлөн Шинэчлэлтүүд нь
файлын системийн блокуудыг чөлөөлөхийг саатуулдаг. Хэрэв та бараг дүүрсэн
файлын системтэй (root файл систем гэх зэрэг) байгаа бол
make installworld зэрэг гол шинэчлэлтийг
хийх нь файлын системийг зайгүй болгож шинэчлэлт амжилтгүй болох шалтгаанд хүргэж
болох юм.
Зөөлөн Шинэчлэлтүүдийн талаар дэлгэрэнгүй
Зөөлөн Шинэчлэлтүүд
дэлгэрэнгүй
Файлын системийн мета-өгөгдлийг диск уруу бичих уламжлалт хоёр хандлага
байдаг. (Мета-өгөгдлийн шинэчлэлтүүд нь inode эсвэл сангууд зэрэг агуулгын бус
өгөгдөлд хийх шинэчлэлтүүд юм)
Түүхээс авч үзэхэд анхдагч ажиллах горим нь мета-өгөгдлийн шинэчлэлтүүдийг
синхроноор буюу зэрэг бичдэг байсан явдал юм. Хэрэв сан өөрчлөгдсөн бол
систем өөрчлөлтийг диск уруу бичигдэхийг хүлээдэг. Файлын өгөгдлийн буферууд
(файлын агуулгууд) буфер кэшээр дамжин диск уруу сүүлд нь асинхроноор хадгалагддаг.
Энэ шийдлийн давуу тал нь аюулгүй ажилладаг. Хэрэв шинэчлэлтийн үед амжилтгүй
болбол мета-өгөгдөл нь үргэлж бүрэн бүтэн байдаг. Файл эсвэл бүрэн үүсч эсвэл
бүр ерөөсөө үүсдэггүй. Хэрэв файлын өгөгдлийн блокууд сүйрэл болох үед
буферийн кэшээс диск уруу өөрсдийн гарах замаа олохгүй байгаа бол
&man.fsck.8; нь үүнийг таньж файлын уртыг 0 болгон файлын системийг
засварладаг. Нэмж хэлэхэд энэ шийдэл нь цэвэрхэн ба хялбар юм.
Сул тал нь мета-өгөгдлийн өөрчлөлтүүд нь удаан байдаг.
rm -r тушаал жишээ нь сан дахь бүх файлуудад дараалан
хандах бөгөөд гэхдээ сан болгоны өөрчлөлт (файлын устгалт) синхроноор зэрэг
диск уруу бичигддэг. Үүнд сан уруу өөрт нь хийгдэх шинэчлэлтүүд, inode хүснэгт
болон магадгүй файлын гаргасан шууд бус блокуудад хийх шинэчлэлтүүд ордог.
Том иерархуудыг задлахад (tar -x) үүний нэгэн адилаар
авч үздэг.
Хоёр дахь нь асинхрон мета-өгөгдлийн шинэчлэлтүүд юм. Энэ нь
Линукс/ext2fs-ийн хувьд анхдагч байх бөгөөд
*BSD ufs-ийн хувьд
mount -o async байх юм.
Бүх мета-өгөгдлийн шинэчлэлтүүд
нь буфер кэшээр бас дамждаг, тэгэхээр тэдгээр нь файлын агуулгын өгөгдлийн
шинэчлэлтүүдтэй харилцан холилдох болно. Энэ шийдлийн давуу тал нь
мета-өгөгдөл бүрийн шинэчлэлт диск уруу бичигдэхийг хүлээдэггүй бөгөөд
ингэснээр ихээхэн хэмжээний мета-өгөгдлийн шинэчлэлтүүдийг хийдэг бүх
үйлдлүүд синхрон хийгдэхээс хамаагүй хурдан ажилладаг. Мөн энэ шийдэл нь
цэвэрхэн бас энгийн бөгөөд ингэснээр хорхойнууд (алдаа) код уруу мөлхөн
орох эрсдэл бага юм. Сул тал нь файлын системийн бүрэн бүтэн төлвийн
ямар нэг баталгаа ерөөсөө байдаггүй. Хэрэв их хэмжээний мета-өгөгдөл
шинэчлэх үйлдлийн явцад амжилтгүй болсон бол (тэжээлийн тасалдал, эсвэл хэн
нэг нь дахин эхлүүлэх товч дарсан зэрэгт) файлын систем тааж болшгүй
төлөвт үлдэх болно. Систем дахин ачаалаад дуусахад файлын системийн
төлөвийг мэдэх боломжгүй байдаг; inode хүснэгт эсвэл холбоотой сангийн
шинэчлэлтүүд бичигдээгүй байхад файлын өгөгдлийн блокууд диск уруу аль хэдийн
бичигдчихсэн байж болох юм. Ер нь гаргасан замбараагүйтлийг (учир нь хэрэгцээтэй
мэдээлэл диск дээр байхгүй) цэвэрлэж чаддаг fsck
тушаалын шийдлийг хийх боломжгүй. Хэрэв файлын систем засвар хийж чадахааргүй
эвдэрсэн бол түүнд дээр &man.newfs.8;-ийг хэрэглэж нөөцөөс сэргээхээс өөр
аргагүй юм.
Энэ асуудлын шийдэл нь
бохир бүсийн бүртгэл буюу бас
журналчлалт гэгддэг шийдлийг гаргах явдал бөгөөд
энэ ухагдахуун нь тогтвортой хэрэглэгддэггүй ба шилжүүлэлтийн бүртгэлийн бусад
хэлбэрүүдэд бас заримдаа ашиглагддаг. Мета-өгөгдлийн шинэчлэлтүүд нь
синхроноор бичигдсэн хэвээр байх бөгөөд гэхдээ зөвхөн дискний жижиг бүсэд
бичигдэнэ. Дараа нь тэдгээрийг тэдний зөв байрлал уруу зөөдөг. Бүртгэлийн
талбар нь диск дээр бага, үргэлжилсэн бүс байдаг учраас бүр хүнд үйлдлүүдийн үед
ч гэсэн дискний толгойнууд шилжихэд хол зайтай биш байдаг болохоор эдгээр
үйлдлүүд нь синхрон шинэчлэлтүүдээс илүү хурдан байдаг.
Мөн энэ шийдлийн төвөгтэй байдал нь маш хязгаарлагдмал болохоор алдаанууд
байх эрсдэл нь бага байдаг. Сул тал нь бүх мета-өгөгдөл нь хоёр удаа бичигддэг
(бүртгэлийн бүсэд нэг удаа болон зөв байрлал уруу бас нэг удаа) болохоор
энгийн ажлын хувьд ажиллагааны өөдрөг бус үзэгдэл
гарч болзошгүй юм. Нөгөө талаас сүйрэл болоод систем дахин ачаалаад дуусахад
хүлээгдэж байгаа бүх мета-өгөгдлийн үйлдлүүд бүртгэлийн талбараас хурдан
буцаагдаж эсвэл гүйцэд хийгдэн дуусч болох бөгөөд энэ нь файлын системийг
хурдан эхлүүлэхэд хүргэдэг.
Беркли FFS-ийн хөгжүүлэгч Кирк МкКюзик энэ асуудлыг Soft Updates
буюу Зөөлөн Шинэчлэлтүүдээр шийдсэн: хүлээгдэж байгаа бүх мета-өгөгдлийн
шинэчлэлтүүд нь санах ойд хадгалагдах бөгөөд диск уруу эрэмбэлэгдсэн дарааллаар
бичигддэг (дараалуулсан мета-өгөгдлийн шинэчлэлтүүд
).
Энэ нь мета-өгөгдлийн хүнд үйлдлүүдийн үед хэрэв эрт хийгдсэн шинэчлэлтүүд диск
уруу бичигдээгүй санах ойд байж байхад нь сүүлд хийгдэх шинэчлэлтүүд тэдгээрийг
барьж
авдаг. Тэгэхээр сангийн хувьд хэлбэл түүнд хийгдэх
бүх үйлдлүүд нь санах ойд шинэчлэлт диск уруу бичигдэхээс өмнө хийгддэг
(өгөгдлийн блокууд нь мета-өгөгдлөөсөө түрүүлээд диск дээр байж байхгүйгээр
өөрсдийн байрлалынхаа дагуу эрэмбэлэгддэг ).
Хэрэв систем сүйрвэл энэ нь бүртгэл урагшлуулахад
хүргэдэг:
диск уруу гарах замаа олохгүй байгаа бүх үйлдлүүд хэзээ ч хийгдээгүй юм шиг
байдаг. Файлын системийн бүрэн бүтэн төлөв хадгалагдаж 30-аас 60 секундын
өмнөх төлөвт ордог. Хэрэглэгдэж байгаа эх үүсвэрүүдийг тэдгээрийн өөрсдийнх
харгалзах битмапуудад: блокууд болон inode-уудад байдаг шигээр тэмдэглэхийг
үүнд ашигласан алгоритм нь баталгаатай хангадаг. Сүйрэл болсны дараа
зөвхөн гарсан эх үүсвэр суллан гаргалтын алдаа нь яг үнэндээ чөлөөтэй
мөртлөө ашиглагдаж байгаа
гэж тэмдэглэгдсэн эх үүсвэрүүд
байдаг. &man.fsck.8; энэ байдлыг таних бөгөөд ашиглагдаагүй байгаа эх
үүсвэрүүдийг чөлөөлдөг. Сүйрлийн дараа файлын системийн бохир төлвийг авч үзэлгүйгээр
хүчээр mount -f тушаалаар холбох нь аюулгүй юм.
Ашиглагдаагүй байж болзошгүй эх үүсвэрүүдийг чөлөөлөхдөө &man.fsck.8;-г
сүүлд нь ажиллуулах хэрэгтэй. Энэ нь ард ажиллах fsck-ийн
цаана байгаа санаа юм: системийг эхлүүлэх үед зөвхөн файлын системийн
хормын зураг бичигддэг.
fsck-г сүүлд нь ажиллуулж болно. Дараа нь бүх файлын
системүүд бохир
холбогдож системийн эхлэлт олон хэрэглэгчийн
горимд үргэлжилдэг. Дараа нь ард ажиллах fsck-үүд
ашиглагдаагүй байгаа эх үүсвэрүүдийг чөлөөлөхөөр шаардлагатай байгаа бүх файлын
системийн хувьд ажиллахаар төлөвлөгддөг. (Зөөлөн Шинэчлэлтүүд ашигладаггүй
файлын системүүдэд ердийн нүүрэн дээр ажиллах fsck
хэрэгтэй хэвээр байна)
Давуу тал нь мета-өгөгдлийн үйлдлүүд нь асинхрон шинэчлэлтүүдтэй
бараг л адил хурдан байдаг (өөрөөр хэлбэл мета-өгөгдлийг хоёр дахин бичдэг
бүртгэл хийлтээс хурдан байдаг). Сул талууд нь
төвөгтэй код (хэрэглэгчийн өгөгдлийн алдагдлын хувьд их мэдрэмтгий талбар дахь
байж болох алдаануудын тэр өндөр эрсдэлийг хэлж байна) болон санах ойн илүү
хэрэглээ юм. Мөн хэн нэгний хэрэглэж байсан хувийн тохиргоонууд ч бас байдаг.
Сүйрэл болсны дараа файлын системийн төлөв хуучин
юм шиг харагддаг. Стандарт синхрон хандлага нь
fsck-ийн дараа зарим нэг тэг-урттай файлуудыг
үлдээхэд хүргэсэн нөхцөлд тэдгээр файлууд нь Зөөлөн Шинэчлэлтүүдтэй файлын
системийн үед огт байдаггүй бөгөөд учир нь мета-өгөгдөл болон файлын агуулгууд
хэзээ ч диск уруу бичигдээгүй байдаг. Дискний зай нь магадгүй
rm ажиллуулснаас хэсэг хугацааны дараа диск уруу
шинэчлэлтүүд бичигдэх хүртэл сулардаггүй. Энэ нь бүх файлуудыг хоёр дахин
хадгалахад хангалттай хүрэлцэхүйц хэмжээний чөлөөтэй зай байхгүй файлын систем
дээр их хэмжээний өгөгдлийг суулгаж байх үед асуудлууд гарахад хүргэж болох юм.
Цөмийн хязгаарууд тохируулах нь
тохируулах нь
цөмийн хязгаарууд
Файл/Процессийн хязгаарууд
kern.maxfiles
kern.maxfiles
kern.maxfiles нь таны системийн шаардлагуудаас
хамаараад дээшилж эсвэл доошилж болно. Энэ хувьсагч нь таны систем дээрх файлын
тодорхойлогчуудын (descriptor) хамгийн их тоог илэрхийлдэг. Файлын тодорхойлогчийн
хүснэгт дүүрсэн тохиолдолд file: table is full
буюу файл: хүснэгт дүүрсэн гэсэн мэдээлэл давтагдан системийн богино мэдээллийн буфферт
үзэгдэх бөгөөд үүнийг dmesg тушаал ашиглан үзэж болдог.
Нээлттэй файл, сокет эсвэл fifo болгон нэг файлын тодорхойлогч хэрэглэдэг.
Ажиллаж байгаа том-хэмжээний сервер зэрэгцээ ажиллаж байгаа үйлчилгээнүүдийн тоо болон
төрлөөс хамааран олон мянган файлын тодорхойлогчуудыг өлхөн шаардаж болох юм.
Хуучин FreeBSD хувилбаруудад kern.maxfiles-ийн
анхдагч утга нь таны цөмийн тохиргооны файлын тохируулгаас
гарсан байдаг. kern.maxfiles нь
утгатай пропорционалаар өсдөг. Өөрчлөн тохируулсан цөмийг
бүтээхдээ энэ цөмийн тохиргооны тохируулгыг өөрийн системийн хэрэглээний дагуу зааж өгөх нь
зүйтэй байдаг. Энэ тооноос хамаарч цөм өөрийн ихэнх урьдчилан-тодорхойлсон хязгааруудыг
өгдөг. Ажиллагаанд байгаа машин яг үнэндээ нэг удаа 256 хэрэглэгч зэрэг холбогдоогүй
байж болох боловч өндөр-хэмжээний вэб серверийнхтэй адил эх үүсвэрүүд хэрэгтэй байж болох
юм.
FreeBSD 4.5-аас эхлэн kern.maxusers нь системд байгаа санах ойн
дээр үндэслэн ачаалах үед автоматаар тавигддаг бөгөөд ажиллаж байх явцад зөвхөн уншигдах
kern.maxusers sysctl хувьсагчийн утгыг шалгаж тогтоогдож
болох юм. Зарим сайтууд kern.maxusers-ийн илүү их эсвэл бага
утгуудыг шаардаж үүнийг ачаалагчаар тааруулагдахаар тохируулж болох юм; 64, 128, болон 256
утгууд нь ховор байдаг. Танд асар их тооны файлын тодорхойлогчууд хэрэгтэй л биш бол бид
256-аас дээш байлгахыг зөвлөдөггүй; өөрсдийн анхдагч утгуудад
kern.maxusers-р заагддаг, тааруулагдах боломжтой утгуудын
олонх нь тус тусдаа ачаалалтын үед эсвэл ажиллах явцад /boot/loader.conf-оор
эсвэл энэ баримтын хаа нэгтээ тайлбарласнаар өөрчлөгдөж болдог
(&man.loader.conf.5; гарын авлага эсвэл /boot/defaults/loader.conf
файлыг санаа авахын тулд үзнэ үү). FreeBSD 4.4-өөс хуучин системүүд энэ утгыг
цөмийн &man.config.8; тохируулга -ээр зааж өгөх хэрэгтэй.
Хуучин хувилбаруудад хэрэв та maxusers-ийг
0 гэж шууд зааж өгсөн бол систем автоматаар тааруулж өгдөг
Автоматаар тааруулах алгоритм maxusers-ийг
систем дэх санах ойн хэмжээтэй адилаар хамгийн багадаа 32 ба хамгийн ихдээ 384 гэж зааж
өгдөг.. Энэ тохируулгыг заахдаа ялангуяа та хэрэв X Цонхны Систем
ашиглаж байгаа эсвэл програм хангамж хөрвүүлж байгаа бол maxusers-ийг
хамгийн багадаа 4 гэж заахыг хүсэх болно. Шалтгаан нь гэвэл maxusers-ээр
заагдсан хамгийн чухал хүснэгт бол 20 + 16 * maxusers гэж заагдсан
процессуудын хамгийн их тоо бөгөөд хэрэв та maxusers-ийг 1 гэж
заасан бол та 18 орчмыг нь ачаалах үед системийг эхлүүлэхэд болон 15 орчмыг нь таныг X Цонхны
Системийг эхлүүлэхэд магадгүй үүсэж та нийт зөвхөн 36 зэрэг процесстой байж болох юм.
Гарын авлагыг унших зэрэг хялбар бодлого хүртэл шүүх, шахсаныг задлах, болон
үзэхэд зориулж есөн процессийг эхлүүлдэг. maxusers-ийг 64 гэж заах нь
бараг л бүх хэрэгцээнд хангалттай байх 1044 зэрэг процесстой байж болохыг танд зөвшөөрнө.
Гэхдээ өөр програм эхлүүлэхээр оролдож байх үед эсвэл их олон тооны зэрэгцээ хэрэглэгчидтэй
сервер (ftp.FreeBSD.org-той адил) ажиллуулж
байхад айдас төрүүлэм proc table full буюу proc хүснэгт
дүүрсэн гэсэн алдаа хэрэв та харах юм бол үргэлж энэ тоог ихэсгэн цөмийг дахин бүтээж
болох юм.
maxusers нь таны машин уруу нэвтрэх хэрэглэгчдийн
тоог хязгаарладаггүй. Энэ нь ердөө л таны систем дээр байж
болох хамгийн их хэрэглэгчийн тоо болон тэдгээр тус бүрийн ажиллуулах процессийн тооноос
хамааран төрөл бүрийн хүснэгтийн хэмжээнүүдийг боломжийн утгуудаар зааж өгдөг.
Алсаас хандах зэрэгцээ нэвтрэлтүүдийн тоо болон X терминал цонхнуудыг
хязгаарладаг нэг түлхүүр нь
псевдо-төхөөрөмж pty 16 юм. &os; 5.X дээр
&man.pty.4; драйвер aвто-клон
хийх боломжтой болохоор та энэ тоон
дээр санаа зовохгүй байж болно; та тохиргооны файлдаа device pty
гэсэн мөрийг л ашилах юм.
kern.ipc.somaxconn
kern.ipc.somaxconn
kern.ipc.somaxconn sysctl хувьсагч нь
шинэ TCP холболтуудыг хүлээн авахад зориулсан сонсох дарааллын хэмжээг
хязгаарладаг. Анхдагч утга 128 нь ачаалал ихтэй вэб
серверийн орчин дахь шинэ холболтуудыг хүлээж авахад ерөнхийдөө хэтэрхий бага
юм. Тийм орчны хувьд энэ утгыг 1024 эсвэл түүнээс их
болгохыг зөвлөдөг. Үйлчилгээний дэмон нь өөрөө сонсох дарааллын хэмжээгээ
(өөрөөр хэлбэл &man.sendmail.8;, эсвэл Apache)
хязгаарлаж болох боловч ихэвчлэн өөрийн тохиргооны файлдаа дарааллын хэмжээг
тааруулах тохиргооны мөртэй байдаг. Их хэмжээний сонсох дарааллууд нь бас
Үйлчилгээг Зогсоох халдлагуудаас (DoS) илүү сайн зайлсхийж
ажилладаг.
Сүлжээний хязгаарууд
NMBCLUSTERS цөмийн тохиргооны тохируулга нь
системд байгаа сүлжээний Mbuf-уудын тоог зааж өгдөг. Бага тооны Mbuf-уудтай
трафикийн ачаалал ихтэй сервер &os;-ийн чадварт саад болдог. Кластер бүр
ойролцоогоор 2 K санах ойг илэрхийлдэг, тийм болохоор 1024 гэсэн
утга нь сүлжээний буферуудад зориулж хадгалсан 2 мегабайт цөмийн санах ойг
илэрхийлнэ. Хичнээн хэрэгтэйг олохын тулд хялбар тооцоо хийж болно.
Хэрэв та хамгийн ихдээ 1000 зэрэгцээ холболтуудтай, холболт бүр нь 16 K
хүлээн авах болон 16 K илгээх буферийг иддэг вэб сервертэй бол
танд ойролцоогоор вэб серверийг хангахын тулд 32 MB хэмжээтэй тэнцэх
сүлжээний буферууд хэрэгтэй болно. Практикаар ер нь 2-оор үржүүлдэг,
тэгэхээр 2x32 MB / 2 KB =
64 MB / 2 kB = 32768 болох юм.
Бид их санах ойтой машинуудын хувьд утгуудыг 4096-аас 32768-ын хооронд байлгахыг
зөвлөдөг. Энэ параметрийн хувьд өндөр утгыг ямар ч нөхцөлд тавьж болохгүй, учир нь
энэ нь ачаалах үеийн сүйрэлд хүргэж болно. &man.netstat.1;-д
тохируулгыг ашиглаж сүлжээний кластерийн ашиглалтыг
ажиглаж болох юм.
kern.ipc.nmbclusters ачаалалтын тааруулах
боломжтой тохируулга нь ачаалах үед үүнийг тааруулахад хэрэглэгдэх ёстой.
Зөвхөн &os;-ийн хуучин хувилбарууд NMBCLUSTERS
цөмийн &man.config.8; тохируулгыг ашиглахыг танаас шаарддаг.
&man.sendfile.2; системийн дуудлагыг өргөнөөр ашигладаг завгүй
серверүүдийн хувьд NSFBUFS цөмийн тохиргооны тохируулгын
тусламжтай эсвэл түүний утгыг /boot/loader.conf-д зааж
&man.sendfile.2; буферуудын тоог ихэсгэх шаардлагатай байж болох юм
(дэлгэрэнгүйг &man.loader.8;-с үзнэ үү). Процессууд sfbufa
төлөвт харагдах нь энэ параметрийг тааруулах хэрэгтэйг ихэвчлэн заадаг.
kern.ipc.nsfbufs sysctl хувьсагч нь цөмөөр
тохируулагдсан хувьсагч дахь зөвхөн уншигддаг гялбаа юм. Энэ параметр нь
kern.maxusers-ийн хэмжээгээр тааруулагддаг,
гэхдээ үүнийг түүний дагуу тохируурах шаардлагатай байж болох юм.
Сокет блок-хийгддэггүй гэж тэмдэглэгдсэн ч гэсэн блок-хийгддэггүй
сокет дээр &man.sendfile.2;-ийг дуудах нь хангалттай хэмжээний
struct sf_buf-уудыг бий болготол
&man.sendfile.2; дуудлага блок хийгдэхэд хүргэж болох юм.
net.inet.ip.portrange.*
net.inet.ip.portrange.*
net.inet.ip.portrange.* sysctl хувьсагчууд нь
TCP болон UDP сокетуудад автоматаар уягдах портын дугаарын хүрээнүүдийг хянадаг.
Гурван хүрээ байдаг: доод хүрээ, анхдагч хүрээ, болон өндөр хүрээ. Ихэнх сүлжээний
програмууд нь анхдагчаар 1024 болон 5000 байдаг
net.inet.ip.portrange.first болон
net.inet.ip.portrange.last хувьсагчуудаар хянагддаг
анхдагч хүрээг ашигладаг. Уягдах портын хүрээнүүд гарах холболтуудад ашиглагддаг
бөгөөд зарим тохиолдолд систем дэх портууд дуусч болох юм. Энэ нь ихэвчлэн
таныг ачаалал ихтэй вэб прокси ашиглаж байхад гардаг. Ихэвчлэн ирж байгаа холболтуудыг
хүлээн авдаг ердийн вэб сервер эсвэл захидал дамжуулагч зэрэг хязгаарлагдмал тооны гарах
холболтуудтай серверүүдийг ажиллуулж байхад портын хүрээ нь асуудал биш юм.
Таны порт дуусаж болох тийм тохиолдлуудад
net.inet.ip.portrange.last хувьсагчийг даруухнаар
ихэсгэхийг зөвлөдөг. 10000, 20000 эсвэл
30000 нь боломжийн утгууд юм. Портын хүрээг өөрчилж
байхдаа галт ханын нөлөөллүүдийг бас бодолцох хэрэгтэй. Зарим галт хана
их хэмжээний портуудыг хааж болох бөгөөд (ихэнхдээ бага дугаарын портууд)
систем өндөр дугаарын портуудыг гарах холболтууддаа ашигладгийг бодолцох ёстой —
ийм учраас net.inet.ip.portrange.first-ийг
багасгахыг зөвлөдөггүй.
TCP хурд сааруулагч бүтээгдэхүүнүүд
TCP хурд сааруулагч бүтээгдэхүүний хязгаарлалт
net.inet.tcp.inflight.enable
TCP хурд сааруулагч бүтээгдэхүүний хязгаарлалт нь NetBSD дэх
TCP/Vegas-тай адилхан юм. net.inet.tcp.inflight.enable
sysctl хувьсагчийг 1 болгон тохируулж үүнийг идэвхжүүлдэг.
Систем холболт бүрийн хувьд хурд сааруулагч бүтээгдэхүүнийг тооцоолохыг оролддог
бөгөөд сүлжээн дэх дараалалд оруулах өгөгдлийн хэмжээг хамгийн боломжийн нэвтрүүлэх
чадамжийг байнга барьж байх тэр хэмжээнд хүргэж хязгаарладаг.
Хэрэв та өгөгдлийг модемууд, Гигабит Ethernet, эсвэл бүр өндөр
хурдны WAN холболтуудаар (эсвэл дурын өндөр хурд сааруулагч бүтээгдэхүүнтэй холболт)
дамжуулж байгаа бол ялангуяа та бас цонх өсгөлтийг ашиглаж байгаа эсвэл том илгээх цонх
тохируулсан бол энэ боломж нь ашигтай юм. Хэрэв та энэ тохируулгыг идэвхжүүлэх бол
бас net.inet.tcp.inflight.debug-ийг
0 (дибаг хийхийг болиулах) болгож тохируулах хэрэгтэй бөгөөд
үйлдвэрлэлийн ашиглалтад net.inet.tcp.inflight.min-ийг
хамгийн багаар бодоход 6144 болгох нь ашигтай байж болох юм.
Гэхдээ хамгийн бага тоог өндөр болгох нь холболтоос хамааран хурд хязгаарлалтыг
идэвхтэйгээр болиулж болохыг санах хэрэгтэй. Хязгаарлах боломж нь дундын чиглүүлэлтийн
үед бүтээгдсэн өгөгдлийн хэмжээг багасгах бөгөөд пакетийн дарааллуудыг сольж локал
хостын интерфэйс дэх дараалал дээр бүтээгдсэн өгөгдийн хэмжээг мөн багасгадаг.
Дараалалд орсон цөөн тооны пакетуудтай, ялангуяа удаан модемоор дамжсан интерактив
холболтууд нь бага Round Trip Times буюу Эргэн Аялах Хугацаатайгаар
ажиллаж бас чаддаг. Гэхдээ энэ боломж нь зөвхөн өгөгдөл дамжуулалтад (илгээх / сервер талын)
нөлөөлдгийг санах хэрэгтэй. Энэ нь өгөгдөл хүлээн авахад нөлөө үзүүлэхгүй (татаж авах).
net.inet.tcp.inflight.stab-ийг тааруулахыг
зөвлөдөггүй. Энэ параметр нь хурд сааруулах бүтээгдэхүүний
цонхны тооцоололд нэмсэн 2 хамгийн их пакетийг илэрхийлж анхдагчаар 20 байдаг.
Энэ алгоритмийг тогтворжуулах болон өөрчлөгдөж байгаа нөхцлүүдэд хариу өгөх боломжийг
сайжруулахад нэмэлт цонх шаардлагатай боловч энэ нь бас удаан холболт дээр
ping хийх хугацаа ихэсгэхэд хүргэдэг (гэхдээ таныг энэ (inflight) алгоритмийг
ашиглаагүй байхад гарсан үр дүнгээс хамаагүй бага хэвээр л байна).
Ийм тохиолдолд энэ параметрийг 15, 10, эсвэл 5 болгон багасгахыг хүсэж болох юм;
мөн хүссэн үр дүндээ хүрэхийн тулд
net.inet.tcp.inflight.min хувьсагчийг
(жишээ нь 3500 болгож) бас багасгаж болох юм. Эдгээр параметрүүдийг багасгах нь
хамгийн сүүлд авах арга хэмжээ байх ёстой юм.
Виртуал санах ой
kern.maxvnodes
vnode нь файл эсвэл сангийн дотоод дүрслэл юм. Тэгэхээр үйлдлийн
системд байх vnode-ийн тоог ихэсгэх нь диск I/O-г багасгадаг. Энэ нь ихэвчлэн
үйлдлийн системээр зохицуулагддаг бөгөөд өөрчлөх хэрэггүй байдаг.
Зарим тохиолдолд диск I/O нь гол асуудал учруулж системд vnode байхгүй болж
байвал энэ тохируулгыг ихэсгэх хэрэгтэй болно. Идэвхгүй болон чөлөөтэй RAM-ийн
хэмжээг бодолцох шаардлагатай.
Тухайн үед ашиглагдаж байгаа vnode-уудыг үзэхдээ:
- &prompt.root; sysctl vfs.numvnodes
-vfs.numvnodes: 91349
+ &prompt.root; sysctl vfs.numvnodes
+vfs.numvnodes: 91349
Хамгийн их vnode-уудыг үзэхдээ:
- &prompt.root; sysctl kern.maxvnodes
-kern.maxvnodes: 100000
+ &prompt.root; sysctl kern.maxvnodes
+kern.maxvnodes: 100000
Хэрэв тухайн үеийн vnode ашиглалт хамгийн их хэмжээ уруу бараг дөхөж
байвал kern.maxvnodes-ийг 1,000-аар ихэсгэх нь
зүйтэй байж болох юм. vfs.numvnodes-ийн тоон
дээр бас анхаарлаа хандуулаарай. Хэрэв энэ нь дахин хамгийн их уруугаа дээшилбэл
kern.maxvnodes-ийг цааш ихэсгэх шаардлагатай болно.
&man.top.1;-ийн гаргасан дүнгээс таны санах ойн өөрчлөлт харагдах ёстой.
Түрүүнийхээс илүү санах ой идэвхтэй байх ёстой.
Swap зай нэмэх нь
Та яаж ч сайн төлөвлөсөн байлаа гэсэн заримдаа систем таны бодсоноор
ажилладагүй. Хэрэв танд swap зай илүү хэрэгцээтэйг мэдвэл та үүнийг
амархнаар нэмж болно. Та гурван аргаар swap зайг ихэсгэж болно:
шинэ хатуу диск нэмэх, NFS-ийн тусламжтай swap идэвхжүүлэх болон
байгаа хуваалт дээр swap файл үүсгэж ихэсгэж болно.
Swap зайг хэрхэн шифрлэх, ямар тохируулгууд байгаа болон яагаад
хийх ёстой талаар гарын авлагын
хуудсанд хандана уу.
Шинэ диск дээрх swap
Мэдээж swap нэмэх хамгийн шилдэг арга нь энэ боломжийг шалтаг болгон
ашиглаж өөр хатуу диск нэмэх явдал юм. Ер нь та үргэлж өөр хатуу диск ашиглаж
болно л доо. Хэрэв та ингэх бол өөрийн swap-аа хэрхэн хамгийн шилдгээр
зохион байгуулж болох талаар дурдсан зарим зөвлөгөөнүүдийн тухай Гарын авлагын
дахь swap зайн хэлэлцүүлгээс
дахин уншаарай.
NFS-ийн тусламжтай swap хийх нь
NFS-ийн тусламжтай swap хийхийг зөвхөн swap хийх локал хатуу диск
танд байхгүй үед л зөвлөдөг; NFS swap хийх нь байгаа сүлжээний хурдаар
хязгаарлагддаг бөгөөд NFS серверт нэмэлт ачаалал үзүүлдэг.
Swap файлууд
Та swap файл болгон ашиглахаар заасан хэмжээтэй файлыг үүсгэж болно.
Энд байгаа жишээн дээр бид /usr/swap0 гэсэн
нэртэй 64MB файлыг ашиглана. Мэдээж та хүссэн ямар ч нэрээ ашиглаж
болно.
Swap файл &os; дээр үүсгэх нь
Таны цөмийн тохиргоонд санах ойн дискний драйвер (&man.md.4;)
орсон эсэхийг шалгаарай. Энэ нь GENERIC
цөмд анхдагчаар орсон байдаг.
device md # Memory "disks"
Swap файл (/usr/swap0) үүсгэнэ:
&prompt.root; dd if=/dev/zero of=/usr/swap0 bs=1024k count=64
Зөв зөвшөөрлүүдийг (/usr/swap0-д) нээж тохируулна:
&prompt.root; chmod 0600 /usr/swap0
/etc/rc.conf-д swap файлыг идэвхжүүлнэ:
swapfile="/usr/swap0" # Set to name of swapfile if aux swapfile desired.
Машиныг дахин эхлүүлнэ эсвэл swap файлыг шууд идэвхжүүлэхийн тулд дараах тушаалыг ажиллуулна:
&prompt.root; mdconfig -a -t vnode -f /usr/swap0 -u 0 && swapon /dev/md0
Хитэн
Пандиа
Бичсэн
Том
Рөүдс
Цагаанхүүгийн
Ганболд
Орчуулсан
Тэжээл болон Эх үүсвэрийн Удирдлага
Тоног төхөөрөмжийн эх үүсвэрүүдийг үр ашигтай ашиглах нь чухал юм.
ACPI танилцуулагдахаас өмнө системийн тэжээлийн
ашиглалт болон дулааны шинж чанаруудыг удирдахад үйлдлийн системүүдийн хувьд
хэцүү, уян хатан биш байсан. Тоног төхөөрөмж нь BIOS-оор
удирдагддаг байсан болохоор тэжээлийн удирдлагын тохиргоонуудын харагдац бага бөгөөд
хэрэглэгчид хянах боломж бага байсан юм.Зарим нэгэн хязгаарлагдмал тохиргооны
боломж Advanced Power Management буюу Тэжээлийн Дэвшилттэй Удирдлага (APM)
интерфэйсээр хийгдэх боломжтой байсан.
Тэжээл болон Эх үүсвэрийн Удирдлага нь орчин үеийн үйлдлийн
системийн түлхүүр хэсгүүдийн нэг юм. Жишээ нь таны системийн хэм гэнэт нэмэгдэх тохиолдолд
системийн хязгааруудыг үйлдлийн систем монитор хийхийг (магадгүй танд мэдээлэхийг)
хүсэж болох юм.
&os; Гарын авлагын энэ хэсэгт бид ACPI-ийн талаар
нэвтэрхий мэдээллээр хангах болно. Цааш нэмж уншихад зориулсан мэдээллүүдийг
төгсгөл хэсэгт оруулсан байгаа.
ACPI гэж юу вэ?
ACPI
APM
Advanced Configuration and Power Interface буюу Дэвшилттэй Тохиргоо
ба Тэжээлийн Интерфэйс (ACPI) нь тоног төхөөрөмжийн эх үүсвэрүүд
болон тэжээлийн удирдлагад (эндээс нэр гарсан) зориулсан стандарт интерфэйсийг хангах зорилгоор
үйлдвэрлэгчдийн холбооноос бичин гаргасан стандарт юм.
Энэ нь Үйлдлийн Системээр заалгасан тохиргоо ба Тэжээлийн Удирдлагын
түлхүүр элемент юм, өөрөөр хэлбэл: энэ нь илүү хяналт болон уян хатан байдлыг үйлдлийн системд
(OS) хангадаг. ACPI-г танилцуулахаас
өмнө одоогийн Залгаад Тоглуулах интерфэйсүүдийн хязгааруудыг орчин үеийн системүүд
сунгасан
юм. ACPI нь APM-ийн
(Advanced Power Management буюу Тэжээлийн Дэвшилтэт Удирдлага) шууд залгамжлагч
юм.
Тэжээлийн Дэвшилтэт Удирдлагын (APM) сул талууд
Тэжээлийн Дэвшилтэт Удирдлага (APM) боломж нь
системийн тэжээлийн ашиглалтыг түүний ажиллагаан дээр үндэслэн хянадаг.
APM BIOS нь (систем) үйлдвэрлэгчээс хангагддаг бөгөөд тоног төхөөрөмжийн тавцан
бүрийн хувьд онцлог байдаг. OS дахь APM драйвер нь тэжээлийн түвшингүүдийн
удирдлагыг зөвшөөрдөг APM Програм хангамжийн Интерфэйс
уруу хандах хандалтыг зуучилж өгдөг. APM-ийг 2000 онд болон тэрнээс өмнө үйлдвэрлэсэн
системүүдэд ашиглах ёстой хэвээр байдаг.
APM-д дөрвөн үндсэн асуудал байдаг. Нэгдүгээрт, тэжээлийн удирдлага
(үйлдвэрлэгчийн онцлогтой) BIOS-оор хийгддэг бөгөөд OS нь энэ талын ямар ч
мэдлэг байдаггүй. Үүний нэг жишээ нь хэрэглэгч хатуу дискний сул зогсох хугацааг
APM BIOS дээр зааж өгөөд тэр нь зааснаас илүү гарвал BIOS хатуу дискийг OS-ийн
зөвшөөрөлгүйгээр эргүүлдэг. Хоёрдугаарт, APM-ийн логик BIOS-д суулгагдсан байдаг
бөгөөд OS-ийн эрх хэмжээнээс гадна ажилладаг. Энэ нь хэрэглэгчид өөрсдийн
APM BIOS-ийг зөвхөн шинэ хувилбараар нь ROM уруу нь шарж асуудлуудыг
засварлах боломжтой гэсэн үг юм; энэ нь амжилтгүй болбол системийг дахин
сэргээгдэхгүй төлөвт орхиж болох боломжтой маш аюултай процедур юм.
Гуравдугаарт, APM нь үйлдвэрлэгчийн онцлогтой технологи бөгөөд энэ нь
маш олон адил төсөөтэй байдал (чармайлтуудын хуулбар) болон нэг үйлдвэрлэгчийн
BIOS-д олдсон алдаанууд бусад үйлдвэрлэгчдийн хувьд шийдэгдээгүй байж болно гэсэн үг
юм. Хамгийн сүүлд гэхдээ төгсгөлийнх биш, APM BIOS нь тэжээлийн маш нарийн
бодлого эсвэл машины зориулалтад зориулагдан маш сайн тохируулагдах тийм шийдлийг
хийхэд хангалттай зайгүй байдаг.
Залгаад Тоглуулах BIOS (PNPBIOS) нь
олон тохиолдолд найдвартай биш байсан юм. PNPBIOS нь 16-битийн технологи,
тийм болохоор OS нь PNPBIOS аргуудтай холбогдохдоо 16-битийн эмуляц
хэрэглэх шаардлагатай болдог.
&os;-ийн APM драйвер &man.apm.4; гарын авлагын
хуудсанд баримтжуулагдсан байдаг.
ACPI-г тохируулах нь
acpi.ko драйвер нь системийг эхлүүлэх үед
&man.loader.8;-оор анхдагчаар ачаалагддаг бөгөөд цөмд оруулж
хөрвүүлэгдэх ёсгүй. Үүний цаадах шалтгаан нь
модулиудтай ажиллах хялбар байдаг, өөрөөр хэлбэл цөмийг дахин хөрвүүлэлгүйгээр
өөр acpi.ko уруу шилждэг. Энэ нь тест хийлтийг
илүү амархан болгодог давуу талтай юм. Нөгөө нэг шалтгаан нь
системийг ажиллуулж дууссаны дараа ACPI-г ажиллуулахад
ихэвчлэн сайн ажилладаггүй.
Хэрэв та асуудлуудтай учирч байгаа бол ACPI-г бүхэлд нь хаах хэрэгтэй.
Энэ драйверийг ачаалсны дараа буулгаж болиулж чаддаггүй, болдоггүй, учир нь
системийн шугам үүнийг төрөл бүрийн тоног төхөөрөмжүүдийн харилцан үйлдлүүдэд
хэрэглэдэг. ACPI-г /boot/loader.conf файлд юм уу
эсвэл &man.loader.8; хүлээх мөрөнд hint.acpi.0.disabled="1" гэж тохируулан
хааж болдог.
ACPI болон APM нь цуг байж болохгүй
бөгөөд салангид хэрэглэгдэх ёстой. Сүүлд ачаалагдах драйвер нь хэрэв нөгөө нэгийг ажиллаж байгааг
мэдвэл ажиллагаагаа дуусгавар болгодог.
ACPI нь &man.acpiconf.8;-ийн
туг болон 1-5 тохируулгын тусламжтайгаар
системийг унтах горим шилжүүлэхэд хэрэглэгдэж болно. Ихэнх хэрэглэгчдэд зөвхөн
1 эсвэл 3 (RAM руу түр зогсоох)
хэрэгтэй байдаг. 5 тохируулга нь
дараах тушаалтай нэг ёсондоо адилыг гүйцэтгэнэ:
&prompt.root; halt -p
Бусад тохируулгууд &man.sysctl.8;-ийн тусламжтай байдаг. Дэлгэрэнгүй мэдээллийн талаар &man.acpi.4; болон
&man.acpiconf.8; гарын авлагын хуудаснуудаас шалгана уу.
Нэйт
Лоосон
Бичсэн
Питер
Шульц
Хувь нэмэрлэцгээсэн
Том
Рөүдс
Цагаанхүүгийн
Ганболд
Орчуулсан
&os;-ийн ACPI-г ашиглах нь ба дибаг хийх нь
ACPI
асуудлууд
ACPI нь төхөөрөмжүүдийг илрүүлэх, тэжээлийн ашиглалтыг
удирдах болон урьд нь BIOS-оор удирдагддаг байсан төрөл
бүрийн тоног төхөөрөмжид хандах стандартчилагдсан хандалтыг хангадаг цоо шинэ арга
юм. Бүх системүүд дээр ACPI-г ажиллуулах тал дээр
дэвшил хийгдсэн бөгөөд гэхдээ зарим эх хавтангуудын
ACPI Машины Хэлний
(AML) байткод дахь алдаанууд, &os;-ийн цөмийн дэд
системүүдийн бүрэн бүтэн бус байдал болон &intel; ACPI-CA
тайлбарлагч дахь алдаанууд илэрсээр байна.
Энэ баримт нь таныг &os;-ийн ACPI дэмжигчдэд тусалж
таны ажигласан асуудлуудын үндсэн учир шалтгааныг таних, дибаг хийх болон шийдлийг
хөгжүүлэхэд туслах зорилготой юм. Үүнийг уншиж байгаад талархлаа илэрхийлэхийн
ялдамд бид таны системийн асуудлуудыг шийдэж чадна гэдэгт найдаж байна.
Дибаг мэдээллийг илгээх нь
Асуудлыг илгээхээсээ өмнө та хамгийн сүүлийн үеийн BIOS-ийн
хувилбар болон хэрэв байх юм бол суулгагдсан хянагчийн хамгийн сүүлийн firmware хувилбар
ажиллуулж байгаа эсэхээ шалгаарай.
Асуудлыг шууд илгээхийг хүсэж байгаачууд дараах мэдээллийг
freebsd-acpi@FreeBSD.org уруу илгээнэ үү:
Системийн төрөл болон загварыг оролцуулан алдааг гаргаж байгаа зүйлийн хамтаар
алдаатай ажиллагааг тайлбарласан мэдээлэл. Мөн хэрэв алдаа таны хувьд шинэ бол
яг хэзээ гарч эхэлснийг аль болох тодорхой гаргаарай.
boot -v ажилласны дараах &man.dmesg.8;-ийн
гаралтыг алдааг шалгаж байхад таны үүсгэсэн алдааны мэдээллүүдийн
хамтаар.
Хэрэв ACPI-г хаасан байхад асуудлыг шийдэж байвал
тийм байх үе дэх boot -v-ийн гаралт.
sysctl hw.acpi-ийн гаралт. Энэ нь таны
систем ямар ямар боломжуудыг санал болгож байгааг мэдэх бас нэг сайн
арга юм.
Таны ACPI Эх Хэл
(ASL) байх URL хаяг.
ASL нь маш том байж болох учир шууд
битгий жагсаалт уруу илгээгээрэй.
Өөрийн ASL-ийн хуулбарыг энэ тушаалыг
ашиглаж үүсгээрэй:
&prompt.root; acpidump -dt > name-system.asl
(Өөрийн нэвтрэх нэрийг
name-ийн оронд болон
үйлдвэрлэгч/загварыг system-ийн
оронд солиорой. Жишээ нь:
njl-FooCo6000.asl)
Ихэнх хөгжүүлэгчид &a.current; үзэж байдаг, гэхдээ асуудлуудаа
харагдуулахын тулд &a.acpi.name; уруу илгээгээрэй. Бид бүгд хаа нэгтээ
өөр өөрийн үндсэн ажилтай учир тэвчээртэй байна уу. Хэрэв таны алдаа
шууд илэрхий биш байх юм бол магадгүй бид таныг &man.send-pr.1;-ийн
тусламжтай PR илгээхийг асуух байх.
PR оруулахдаа дээр хүссэний адил мэдээллээ
оруулна уу. Энэ нь асуудлыг мөшгөж шийдвэрлэхэд бидэнд туслах юм.
Бид PR-уудыг мэдээлэх механизмын зорилгоор биш
байгаа асуудлуудыг санаж байх зорилгоор ашигладаг болохоор эхлээд
&a.acpi.name; уруу захидал илгээлгүйгээр PR
битгий илгээгээрэй. Магадгүй таны асуудлыг урд нь өөр хэн нэгэн мэдээлсэн
байж болох юм.
Оршил
ACPI
ACPI нь ia32 (x86), ia64 (Itanium) болон
amd64 (AMD) архитектуруудтай нийцтэй орчин үеийн бүх компьютерт байдаг.
Бүрэн стандарт нь CPU-ны ажиллагааны удирдлага,
тэжээлийн онгоцуудын хяналт, дулааны бүсүүд, төрөл бүрийн батарейний системүүд,
суулгагдсан хянагчууд болон шугамын жагсаалт зэрэг олон боломжуудтай.
Ихэнх системүүд нь бүрэн стандартыг бүгдийг хангасан шийдэлтэй байдаггүй.
Жишээ нь зөөврийн компьютер хөргөх болон бас батарейний удирдлагын дэмжлэгтэй
байхад ширээний систем зөвхөн шугамын жагсаалтын хэсгийн шийдлийг агуулсан байдаг.
Зөөврийн компьютерууд нь бас өөр өөрийн ярвигтай асуудлуудыг агуулсан түр зогсоох болон
үргэлжлүүлэх боломжуудыг агуулдаг.
ACPI-нийцтэй систем нь төрөл бүрийн хэсгүүдтэй байдаг.
BIOS болон бичил схемийн үйлдвэрлэгчид
APIC зураг (SMP-д ашиглагддаг),
тохиргооны регистрүүд болон хялбар тохиргооны утгууд зэрэг зүйлсүүдийг заадаг
төрөл бүрийн тогтмол хүснэгтүүдийг (өөрөөр хэлбэл
FADT) санах ойд хангаж өгдөг. Мөн төхөөрөмжүүд болон
аргуудын мод хэлбэрийн нэрийн талбарыг заадаг байткодын хүснэгтээр
(Differentiated System Description Table буюу Системийн
Ялгаварласан Тайлбарын Хүснэгт DSDT)
бас хангадаг.
ACPI драйвер нь тогтмол хүснэгтүүдийг задлан ялгал
хийх, байткодын тайлбарлагчийг шийдэх болон ACPI дэд
системийн мэдээллийг хүлээн авахаар төхөөрөмжүүдийн драйверууд болон цөмийг
өөрчлөх ёстой. &os;-ийн хувьд &intel; нь Линукс болон NetBSD-тэй хуваалцан
хэрэглэгддэг тайлбарлагчаар хангадаг. ACPI-CA эх кодын
зам нь
src/sys/contrib/dev/acpica.
ACPI-CA-г &os; дээр ажиллуулах тэр цавуу код нь
src/sys/dev/acpica/Osd байршилд байдаг.
Эцэст нь төрөл бүрийн ACPI төхөөрөмжүүдийн драйверууд
src/sys/dev/acpica байршлаас
олддог.
Нийтлэг асуудлууд
ACPI
асуудлууд
ACPI зөв ажиллахын тулд бүх хэсгүүд бас
зөв ажилласан байх ёстой. Энд зарим нэг нийтлэг асуудлуудыг илэрч байгаа
давтамжийн дарааллаар зарим нэг тойрон гарах замууд болон засваруудтайгаар
нь дурдъя.
Хулганы асуудлууд
Зарим тохиолдолд түр зогсоох үйлдэл хийгдсэний дараа үргэлжлүүлэхэд
хулганыг ажиллахгүй болгодог. Мэдэгдэж байгаа тойрон гарах арга зам нь
hint.psm.0.flags="0x3000" мөрийг
/boot/loader.conf файлд нэмэх явдал
юм. Хэрэв энэ нь ажиллахгүй бол дээр тайлбарласны дагуу алдааны
тайлан илгээхийг бодно уу.
Suspend/Resume буюу Түр зогсоох/Үргэлжлүүлэх
ACPI нь RAM уруу
түр зогсоох S1-S3 гэсэн
гурван төлөвтэй (STR) бөгөөд диск уруу түр
зогсоох S4 гэгддэг нэг төлөвтэй
(STD). S5 нь
soft off буюу зөөлөн зогсоолт
бөгөөд тэжээлд залгагдсан
боловч асаагдаагүй байх үеийн таны системийн жирийн төлөв юм.
S4 нь хоёр тусдаа аргаар хийгдэх боломжтой.
S4BIOS нь
BIOS-ийн тусламжтайгаар диск уруу хийгдэх
түр зогсоолт юм. S4OS нь
бүхэлдээ үйлдлийн системээр хийгддэг.
Түр зогсоолттой холбоотой зүйлүүдийг sysctl hw.acpi
тушаалаар шалгаж эхлээрэй. Энд Thinkpad-тай холбоотой үр дүнгүүд байна:
hw.acpi.supported_sleep_state: S3 S4 S5
hw.acpi.s4bios: 0
Энэ нь бид S3,
S4OS болон
S5-ийг шалгахад
acpiconf -s тушаалыг ашиглаж болно гэсэн үг юм.
Хэрэв нь нэг (1) байх
юм бол бид S4OS-ийн оронд
S4BIOS дэмжлэгтэй байх юм.
Түр зогсоолт/үргэлжлүүлэлтийг тест хийхдээ хэрэв дэмжигдсэн бол
S1-ээс эхлээрэй. Энэ төлөв нь драйверийн дэмжлэг барагтаа л
шаарддаггүй болохоор бараг л ажиллах болно. Хэн ч S2-ийг
хийгээгүй байдаг бөгөөд танд энэ хэрэв байгаа бол энэ нь S1-тэй
адил байна. Дараагийн оролдох зүйл нь S3 юм. Энэ нь
хамгийн гүнзгий STR төлөв бөгөөд таны тоног төхөөрөмжийг
дахин зөв эхлүүлэхийн тулд драйверийн ихээхэн дэмжлэг шаарддаг. Хэрэв
үргэлжлүүлэх үед танд асуудлууд гарч байгаа бол &a.acpi.name; жагсаалт уруу
цахим захидал чөлөөтэй илгээгээрэй, гэхдээ илүү их тест хийлт, ажил шаардсан маш
олон драйверууд/тоног төхөөрөмжүүд байдаг учир асуудал шийдэгдэхийг хүлээх хэрэггүй юм.
Асуудлыг тусгаарлахад туслахын тулд өөрийн цөмөөс аль болох олон драйверуудыг
арилгаарай. Хэрэв энэ нь ажиллаж байвал та яг аль драйвер асуудалтай байгааг
драйверуудыг амжилтгүй ажиллах хүртэл ачаалан тодорхойлж болох юм.
nvidia.ko, X11 дэлгэцийн драйверууд болон
USB зэрэг хоёртын драйверууд нь ерөнхийдөө хамгийн их
асуудлуудтай байдаг байхад Ethernet интерфэйсүүд ихэвчлэн зүгээр ажилладаг.
Хэрэв та драйверуудыг зөв ачаалж/буулгаж чадаж байвал та тохирох тушаалуудыг
/etc/rc.suspend болон
/etc/rc.resume файлуудад хийж үүнийг
автоматжуулж болно. Драйверийг буулгах болон ачаалахад зориулсан тайлбар
болгосон жишээ байдаг. Хэрэв таны дэлгэц үргэлжлүүлэлт хийгдсэний дараа заваарсан
бол -г тэг (0)
болгож үзээрэй. Хэрэв тусламж болохоор бол
-г арай урт эсвэл арай богино утгуудаар
тохируулж үзээрэй.
Өөр нэг турших зүйл нь ACPI дэмжлэгтэй сүүлийн үеийн
Линуксийн түгээлтийг ачаалан тэдний түр зогсоолт/үргэлжлүүлэлтийн дэмжлэгийг адил
тоног төхөөрөмж дээр турших явдал юм. Хэрэв Линукс дээр ажиллаж байвал
энэ нь &os;-ийн драйверийн асуудал гэсэн үг бөгөөд яг аль драйвер асуудлыг үүсгэж
байгааг олсноор асуудлыг засварлахад бидэнд тус болох болно.
ACPI-ийг дэмжиж байдаг дэмжигчид нь өөр бусад
драйверуудыг (өөрөөр хэлбэл дуу, ATA гэх мэт)
ихэвчлэн дэмжин ажилладаггүй болохоор драйверийн асуудлыг мөшгөж хийгдсэн ажил бүр
магадгүй эцсийн эцэст &a.current.name; жагсаалт болон драйверийг дэмжигч
уруу илгээгдэх хэрэгтэйг санаарай. Хэрэв та адал явдлыг эрж байгаа бол
драйверийн үргэлжлүүлэлтийн функцын аль хэсэгт өлгөгдөж байгааг мөшгөхийн тулд
зарим дибаг хийх &man.printf.3;-үүдийг асуудалтай драйверт хийж эхлээрэй.
Эцэст нь ACPI-г хааж оронд нь
APM-г нээж оролдоорой. Хэрэв түр зогсоолт/үргэлжлүүлэлт
APM-тэй байхад ажиллаж байвал та
APM-тэйгээ үлдэх нь ялангуяа хуучин тоног төхөөрөмжийн
(2000 оноос өмнөх) хувьд бараг дээр байх бизээ. ACPI
дэмжлэгийг зөв болгоход үйлдвэрлэгчдэд цаг хугацаа шаардах бөгөөд магадгүй хуучин
тоног төхөөрөмжүүд нь ACPI-ийн хувьд
BIOS-ийн асуудлуудтай ихэвчлэн байдаг.
Систем өлгөгдөх (түр хугацаагаар эсвэл бүрмөсөн)
Ихэнх системийн өлгөгдлүүд нь гээгдсэн тасалдлууд эсвэл тасалдлын
шуургын үр дүн юм. Бичил схемүүд нь ачаалахаас өмнө тасалдлуудыг BIOS
хэрхэн тохируулдгаас болсон асуудлууд, APIC
(MADT) хүснэгтийн зөв байдал болон
System Control Interrupt буюу Системийн Хянагч
Тасалдлын (SCI) чиглүүлэлт дээр
тулгуурласан олон асуудлуудтай байдаг.
тасалдлын шуургууд
Тасалдлын шуургыг vmstat -i тушаалын
гаралтаас acpi0 бүхий мөрийг шалгаж гээгдсэн
тасалдлуудаас ялгаж болно. Хэрэв тоологч секунд тутам хоёроор нэмэгдэж
байвал та тасалдлын шуургатай байна. Хэрэв систем өлгөгдсөн юм шиг байвал
DDB
(консол дээр CTRL
ALTESC)
уруу орж show interrupts гэж бичих хэрэгтэй.
APIC
хаах нь
Тасалдлын асуудлуудтай ажиллаж байхад таны хамгийн шилдэг итгэл найдвар
бол loader.conf-д hint.apic.0.disabled="1"
хэмээн зааж APIC дэмжлэгийг хаах явдал юм.
Үймээнүүд
Үймээнүүд нь ACPI-ийн хувьд харьцангуй ховор
байдаг бөгөөд засварлах нэн тэргүүн ээлжийн асуудал байдаг. Эхний алхам бол
үймээнийг дахин гаргах (хэрэв боломжтой бол) алхмуудыг тусгаарлаж
буцах мөрийг (backtrace) авах явдал юм. options DDB
мөрийг нээж сериал консол (-г үзнэ үү)
тохируулах эсвэл &man.dump.8; хуваалтыг тохируулах зөвлөгөөг дагаарай.
Та буцах мөрийг DDB дээр tr-р
авч болно. Хэрэв та буцах мөрийг гараар бичих болбол мөр дэх хамгийн доодох тав (5)
болон хамгийн дээдэх таван (5) мөрийг хамгийн багадаа бодоход аваарай.
Дараа нь асуудлыг тусгаарлахыг оролдож ACPI-г
хааж ачаалж үзээрэй. Хэрэв энэ нь ажиллаж байвал
-ийн төрөл бүрийн утгуудыг хэрэглэж
та ACPI дэд системийг тусгаарлаж болно. Зарим жишээнүүдийг
&man.acpi.4; гарын авлагын хуудаснаас үзнэ үү.
Түр зогссоны дараа эсвэл унтраасны дараа систем дахин эхлэх
Эхлээд &man.loader.conf.5; дээр
hw.acpi.disable_on_poweroff="0" гэж тохируулаад
үз. Энэ нь унтраах процессийн үед төрөл бүрийн үйл явцуудыг
ACPI хаахыг болиулдаг. Энэ зорилгын нэгэн адил зарим
системүүд энэ утгыг 1 (анхдагч) болгож тохируулахыг
шаарддаг. Энэ нь түр зогсоолт эсвэл унтраалт хийгдсэний дараа аяндаа гарсан
систем асаж эхлэх асуудлыг ихэвчлэн засварладаг.
Бусад асуудлууд
Хэрэв танд ACPI-тай холбоотой бусад асуудлууд
(суулгах станцтай ажиллах, төхөөрөмжүүд илрүүлэгдэхгүй гэх мэт) байвал
тайлбарыг захидлын жагсаалт уруу бас илгээнэ үү; гэхдээ эдгээр асуудлуудын
зарим нь ACPI дэд системийн дуусаагүй хэсгүүдтэй
холбоотой байж болох бөгөөд тэдгээрийг шийдэж хийхэд нэлээн хугацаа зарцуулж
болох юм. Тэвчээртэй байж бидний илгээж болох засваруудыг тест хийхэд
бэлэн байгаарай.
ASL, acpidump, болон
IASL
ACPI
ASL
Хамгийн нийтлэг асуудал бол BIOS үйлдвэрлэгчдийн
гаргасан буруу (эсвэл алдаатай!) байткод юм. Энэ нь ихэвчлэн дараах шиг цөмийн
консол мэдээллүүдээр ил тод болдог:
ACPI-1287: *** Error: Method execution failed [\\_SB_.PCI0.LPC0.FIGD._STA] \\
(Node 0xc3f6d160), AE_NOT_FOUND
Ихэвчлэн та эдгээр асуудлуудыг өөрийн BIOS-ийг
хамгийн сүүлийн хувилбар уруу шинэчилснээр шийдэж болно. Ихэнх консолын
мэдээллүүд нь аюулгүй гэхдээ хэрэв танд батарейний төлөв ажиллахгүй гэх мэт
өөр бусад асуудлууд байгаа бол тэдгээр мэдээллүүд нь AML-д
байгаа асуудлуудыг хайж болох боломжийн газар нь юм.
AML гэгддэг байткод нь ASL
хэмээгддэг эх хэлээс хөрвүүлэгддэг. AML нь
DSDT гэгддэг хүснэгтэд байдаг. Өөрийн
ASL-ийн хуулбарыг авахын тулд &man.acpidump.8;-ийг
ашиглана. Та (тогтмол хүснэгтүүдийн агуулгуудыг үзүүлэх)
болон (AML-ийг
ASL уруу дизассембл хийх) тохируулгыг хоёуланг нь
ашиглах хэрэгтэй. Синтаксын жишээг
Дибаг Мэдээллийг Илгээх нь
хэсгээс үзнэ үү.
Таны хийж болох хамгийн хялбар анхны шалгалт нь алдаануудыг шалгахын тулд өөрийн
ASL-ийг хөрвүүлэх явдал юм. Анхааруулгуудыг ихэвчлэн орхиж
болох боловч алдаанууд нь ACPI-г зөв ажиллуулахад гол төлөв саад
болдог хорхойнууд байдаг. Өөрийн ASL-ийг дахин хөрвүүлэхдээ
дараах тушаалыг ажиллуулна:
&prompt.root; iasl your.asl
Өөрийн ASL-г засварлах нь
ACPI
ASL
Бидний эцсийн зорилго бол бараг хүн болгоны хувьд хэрэглэгчийн ямар ч оролцоогүйгээр
ACPI-г ажиллуулах явдал юм. Гэхдээ өнөөг хүртэл бид
BIOS үйлдвэрлэгчдийн гаргасан нийтлэг алдаануудад
зориулан тойрон гарах арга замуудыг хөгжүүлсээр байгаа билээ.
µsoft;-ийн тайлбарлагч (acpi.sys болон
acpiec.sys) нь стандартыг баримталж байгааг чанд
шалгадаггүй бөгөөд BIOS-ийн олон үйлдвэрлэгчид
ACPI-г зөвхөн &windows; дээр тест хийж өөрсдийн
ASL-ийг хэзээ ч засдаггүй. Бид µsoft;-ийн
тайлбарлагчид зөвшөөрөгдсөн ямар стандартын бус ажиллагаа байгааг үргэлжлүүлэн
нарийн таньж баримтжуулан хэрэглэгчдээр ASL-ийг хүчлэн
засуулалгүйгээр &os; ажиллаж чадахаар түүнийг хуулбарлах болно гэж найдаж байна.
Тойрон гарах арга зам болгон биднийг энэ ажиллагааг танихад тусалж та
ASL-ийг гараар засварлаж болно. Хэрэв таны хувьд энэ нь
ажиллавал хуучин болон шинэ ASL-ийнхээ &man.diff.1;-ийг
илгээнэ үү, бид бололцоогоороо ACPI-CA дахь алдаатай
ажиллагааг тойрон гарч ингэснээр хойшид таны засвар байнга хийгдэх шаардлагагүй
болох юм.
ACPI
алдааны мэдээллүүд
Энд нийтлэг алдааны мэдээллүүд, тэдгээрийн шалтгаан болон хэрхэн засаж болох
жагсаалтыг үзүүлэв:
_OS хамаарлууд
Зарим AML нь ертөнц төрөл бүрийн &windows;
хувилбаруудаас тогтдог гэж үздэг. Хэрэв танд байгаа асуудлыг засаж чадаж байвал
та &os;-г ямар нэг OS гэж харагдуулахаар хэлж өгч болно.
Үүнийг хялбар аргаар дарж бичихийн тулд /boot/loader.conf-д
hw.acpi.osname="Windows 2001" гэж эсвэл
ASL дахь өөр бусад адил мөрүүдийг тохируулж өгнө.
Буцах мэдээллүүд байхгүй бол
Зарим аргууд нь стандартын дагуу шууд утга буцаадаггүй.
ACPI-CA нь үүнтэй ажиллаж чадахгүй байхад
&os; үүнийг далдаар утга буцаалгах боломжийг олгодог тойрон гарах арга замтай байдаг.
Хэрэв та утга буцаагдах ёстойг мэдэж байвал шаардлагатай газар нь Return буюу Буцах
мэдээллүүдийг шууд нэмж болно. ASL-ийг
iasl тушаалаар хүчээр хөрвүүлэхдээ
тугийг ашиглана.
Анхдагч AML-ийг дарж өөрчлөх нь
your.asl-ийг өөрчилсний дараа үүнийг
та хөрвүүлэхдээ:
&prompt.root; iasl your.asl
Хөрвүүлэх явцад алдаанууд байсан ч гэсэн та тугийг
нэмж AML-ийг хүчээр үүсгэж болно. Зарим алдаануудыг
(өөрөөр хэлбэл Буцах мэдээллүүд байхгүй гэх мэт) тайлбарлагчийн тусламжтайгаар
автоматаар тойрон гардгийг санаарай.
DSDT.aml нь iasl-ийн
анхдагч гаралт файлын нэр юм. Та өөрийн BIOS-ийн
алдаатай хуулбарын (флэш санах ойд байсаар байгаа) оронд
/boot/loader.conf-ийг дараах байдлаар засварлан
үүнийг ачаалж болно:
acpi_dsdt_load="YES"
acpi_dsdt_name="/boot/DSDT.aml"
Өөрийн DSDT.aml файлын хуулбарыг
/boot сан уруу хуулах хэрэгтэй.
ACPI-аас дибаг мэдээлэл гаргаж авах нь
ACPI
асуудлууд
ACPI
дибаг
ACPI драйвер нь маш уян хатан дибаг хийх боломжтой.
Энэ нь дэд системүүдийн олонлог болон харуулах түвшинг зааж өгөхийг танд зөвшөөрдөг.
Таны дибаг хийхийг хүсэж байгаа дэд системүүд нь давхаргууд
болж заагдсан байдаг бөгөөд ACPI-CA хэсгүүд
(ACPI_ALL_COMPONENTS) болон ACPI тоног төхөөрөмжийн
дэмжлэг (ACPI_ALL_DRIVERS) болж задардаг. Дибаг гаралтын харуулалт нь
үе
ээр заагддаг бөгөөд ACPI_LV_ERROR (зөвхөн алдаануудыг хэлдэг)
тогтмолоос ACPI_LV_VERBOSE (бүгд) хүртэл байдаг. Үе
нь
олон тохируулгуудыг нэг удаа зайгаар зааглан тохируулж болох бит баг (bitmask) юм.
Хэрэв энэ нь маш урт тэгээд консолын мэдээллийн буферийг арилган шинэчилж
байвал та практик дээр гаралтыг бүртгэх сериал консолыг ашиглахыг хүсэж болох юм.
Бие даасан давхаргууд болон түвшингүүдийн бүрэн жагсаалт &man.acpi.4; гарын
авлагын хуудсанд байдаг.
Дибаг гаралт анхдагчаар идэвхжүүлэгдээгүй байдаг. Идэвхтэй болгохын тулд
ACPI хэрэв цөмд хөрвүүлэгдсэн бол
options ACPI_DEBUG мөрийг өөрийн цөмийн тохиргооны
файлд нэмэх хэрэгтэй. Нийтэд нь идэвхтэй болгохын тулд
/etc/make.conf-д
ACPI_DEBUG=1 мөрийг нэмж болно. Хэрэв энэ нь
модуль бол та өөрийн acpi.ko модулийг дараах
маягаар дахин хөрвүүлж болно:
&prompt.root; cd /sys/modules/acpi/acpi
&& make clean &&
make ACPI_DEBUG=1
acpi.ko-г
/boot/kernel-д суулгаад
өөрийн хүссэн давхарга болон түвшинг loader.conf-д
нэмнэ. Энэ жишээ нь ACPI-CA-ийн бүх хэсгүүд болон
бүх ACPI тоног төхөөрөмжийн драйверуудад
(CPU, LID, гэх мэт.)
зориулан дибаг мэдээллүүдийг идэвхжүүлдэг. Энэ нь зөвхөн алдааны мэдээллүүдийг
хамгийн багаар гаргаж харуулна.
debug.acpi.layer="ACPI_ALL_COMPONENTS ACPI_ALL_DRIVERS"
debug.acpi.level="ACPI_LV_ERROR"
Хэрэв таны хүссэн мэдээлэл онцгой үйл явцаар эхэлсэн бол (түр зогсоолт болон
үргэлжлүүлэлт гэж бодъё) та loader.conf-ийн
өөрчлөлтүүдийг орхиж оронд нь sysctl-ийг ашиглан
давхарга болон түвшинг ачаалсны дараа зааж онцгой үйл явцад зориулан өөрийн
системийг бэлдэж болно. sysctl-ууд нь
loader.conf дахь тохируулгуудын адилаар
нэрлэгддэг.
Лавлагаанууд
ACPI-ийн талаар дэлгэрэнгүй мэдээллийг
дараах байршлуудаас олж болно:
&a.acpi;
ACPI Захидлын Жагсаалтын Архивууд
Хуучин ACPI Захидлын Жагсаалтын Архивууд
ACPI 2.0 Тодорхойлолт
&os; Гарын авлагын хуудаснууд: &man.acpi.4;,
&man.acpi.thermal.4;, &man.acpidump.8;, &man.iasl.8;,
&man.acpidb.8;
DSDT дибаг эх үүсвэр.
(Compaq-ийг жишээ болгон хэрэглэсэн боловч ерөнхийдөө хэрэгтэй.)
diff --git a/mn_MN.UTF-8/books/handbook/disks/chapter.sgml b/mn_MN.UTF-8/books/handbook/disks/chapter.sgml
index a7c5f11e1d..48edb0fbc8 100644
--- a/mn_MN.UTF-8/books/handbook/disks/chapter.sgml
+++ b/mn_MN.UTF-8/books/handbook/disks/chapter.sgml
@@ -1,4049 +1,4047 @@
Цагаанхүүгийн
Ганболд
Орчуулсан
Хадгалалт
Ерөнхий агуулга
Энэ бүлэг нь FreeBSD дээр дискнүүдийг ашиглах талаар тайлбарлах болно.
Эдгээрт санах ой дээр тулгуурласан дискнүүд, сүлжээнд залгагдсан дискнүүд,
стандарт SCSI/IDE хадгалалтын төхөөрөмжүүд болон USB интерфэйс
ашигладаг төхөөрөмжүүд багтах юм.
Энэ бүлгийг уншсаны дараа, та дараах зүйлсийг мэдэх болно:
Физик диск (хуваалтууд болон зүсмэлүүд) дээрх өгөгдлийн зохион
байгуулалтыг тайлбарладаг FreeBSD-ийн ашигладаг ухагдахуун.
Өөрийн систем дээр нэмэлт хатуу дискнүүдийг хэрхэн нэмэх талаар.
USB хадгалалтын төхөөрөмжүүдийг ашиглахын тулд &os;-г хэрхэн тохируулах талаар.
Санах ойн диск зэрэг виртуал файлын системүүдийг хэрхэн тохируулах талаар.
Дискний зайн хэрэглээг хязгаарлахын тулд ноогдлыг хэрхэн ашиглах талаар.
Дискийг халдагчдаас хамгаалж нууцлахын тулд хэрхэн шифрлэх талаар.
FreeBSD дээр CD болон DVD-г хэрхэн үүсгэж шарах талаар.
Нөөцлөлтөд зориулсан хадгалалтын төрөл бүрийн тохируулгууд.
FreeBSD дээр байдаг нөөцлөлтийн програмуудыг хэрхэн ашиглах талаар.
Уян диск уруу хэрхэн нөөцлөх талаар.
Файлын системийн хормын хувилбар гэж юу болох түүнийг хэрхэн үр дүнтэйгээр ашиглах талаар.
Энэ бүлгийг уншихаасаа өмнө та дараах зүйлсийг гүйцэтгэх хэрэгтэй:
Шинэ FreeBSD цөмийг хэрхэн тохируулж суулгах талаар мэдэх
().
Төхөөрөмжийн нэрс
Дараах нь FreeBSD-д дэмжигдсэн физик хадгалалтын төхөөрөмжүүд болон
тэдгээртэй холбоотой төхөөрөмжийн нэрсийн жагсаалт юм.
Физик диск нэрлэх заншил
Хөтчийн төрөл
Хөтчийн төхөөрөмжийн нэр
IDE хатуу хөтчүүд
ad
IDE CDROM хөтчүүд
acd
SCSI хатуу хөтчүүд болон USB Mass хадгалалтын төхөөрөмжүүд
da
SCSI CDROM хөтчүүд
cd
Төрөлжүүлсэн стандарт бус CDROM хөтчүүд
Mitsumi CD-ROM-ийн хувьд mcd ба
Sony CD-ROM хөтчүүдийн хувьд scd
Уян хөтчүүд
fd
SCSI соронзон хальсны хөтчүүд
sa
IDE соронзон хальсны хөтчүүд
ast
Flash хөтчүүд
&diskonchip; Flash хөтчийн хувьд fla
RAID хөтчүүд
&adaptec; AdvancedRAID-н хувьд aacd,
&mylex;-ийн хувьд mlxd ба mlyd,
AMI &megaraid;-ийн хувьд amrd,
Compaq Smart RAID-ийн хувьд idad,
&tm.3ware; RAID-ийн хувьд twed.
Дэйвид
О'Брайн
Анхлан хувь нэмэр болгон оруулсан
Диск нэмэх
дискнүүд
нэмэх нь
Бид шинэ SCSI дискийг одоогоор зөвхөн нэг хөтөчтэй байгаа машин дээр
нэмэхийг хүсэж байна гэж бодъё. Эхлээд компьютераа унтраагаад хөтчийг
компьютер, хянагч болон хөтчийн үйлдвэрлэгчийн заавруудын дагуу суулгана.
Үүнийг хийх маш олон төрлийн процедуруудаас болоод энэ тухай дэлгэрэнгүй
мэдээлэл нь энэ баримтын хамрах хүрээнээс гадна юм.
root хэрэглэгчээр нэвтрэх хэрэгтэй. Та хөтчийг
суулгасны дараа шинэ диск олдсон эсэхийг /var/run/dmesg.boot-с
шалгаарай. Шинээр нэмсэн хөтөч нь da1 байх
бөгөөд бид үүнийг /1 дээр холбохыг хүснэ (хэрэв та IDE хөтөч
нэмж байгаа бол төхөөрөмжийн нэр нь ad1 болно).
хуваалтууд
зүсмэлүүд
fdisk
FreeBSD нь IBM-PC-тэй нийцтэй компьютеруудтай ажилладаг учраас
PC BIOS хуваалтуудыг бодолцох ёстой. Эдгээр нь уламжлалт BSD хуваалтуудаас
өөр юм. PC диск нь дөрөв хүртэлх тооны BSD хуваалттай байдаг. Хэрэв диск
нь жинхэнээрээ FreeBSD-д зориулагдах бол та dedicated буюу
зориулагдсан горимыг ашиглаж болно. Үгүй бол FreeBSD нь
PC BIOS хуваалтуудын аль нэгэн дээр байрлах болно. FreeBSD нь PC BIOS
хуваалтуудыг уламжлалт BSD хуваалтуудтай эндүүрэхгүйн тулд
зүсмэлүүд гэж нэрлэдэг. Та бас FreeBSD-д зориулагдсан
боловч өөр үйлдлийн систем суулгагдсан компьютер дээр ашигласан диск дээрх
зүсмэлүүдийг хэрэглэж болох юм. Энэ нь FreeBSD биш өөр үйлдлийн системийн
fdisk хэрэгсэлтэй андуурахаас хамгаалах нэг сайн
арга юм.
Зүсмэлийн хувьд бол хөтөч нь /dev/da1s1e
гэж нэмэгдэх болно. Үүнийг SCSI диск, нэгжийн дугаар 1 (хоёр дахь SCSI диск),
зүсмэл 1 (PC BIOS хуваалт 1) болон e BSD
хуваалт гэж уншина. Зориулагдсан тохиолдолд хөтөч нь ердөө л /dev/da1e
гэж нэмэгдэнэ.
Секторуудын тоог хадгалахын тулд 32 битийн бүхэл тоог ашигладгаас болоод
&man.bsdlabel.8; нь нэг дискний хувьд 2^32-1 сектор буюу ихэнх тохиолдолд
2TB болж хязгаарлагддаг. &man.fdisk.8; хэлбэршүүлэлт нь 2^32-1-с
ихгүй эхлэх сектор болон 2^32-1-с ихгүй уртыг зөвшөөрч хуваалтуудыг 2TB,
дискнүүдийг ихэнх тохиолдолд 4TB болгож хязгаарладаг. &man.sunlabel.8;
хэлбэршүүлэлт нь нэг хуваалтын хувьд 2^32-1 сектороор, нийтдээ 16TB-ийн
8 хуваалтаар хязгаарлагддаг. Илүү том дискнүүдийн хувьд &man.gpt.8;
хуваалтууд ашиглагдаж болох юм.
&man.sysinstall.8;-г ашиглах нь
sysinstall
дискнүүд нэмэх нь
su
Sysinstall-г жолоодох нь
Та sysinstall-н хялбар ашиглаж болох
цэснүүдийн тусламжтайгаар шинэ дискийг хуваан хаяглаж болох юм.
root хэрэгчээр нэвтрэх буюу эсвэл
su тушаалыг ашиглаарай.
sysinstall-г ажиллуулж
Configure цэс уруу орно.
FreeBSD Configuration Menu дотор
доош шилжиж Fdisk тохируулгыг
сонгоно.
fdisk хуваалт засварлагч
fdisk-ийн дотор байхдаа
A гэж бичвэл дискийг бүхэлд нь FreeBSD-д
ашиглах болно. Асуух үед нь хэрэв та ирээдүйд суулгаж болзошгүй
үйлдлийн системүүдтэй хамтран ажиллахаар үлдэхийг хүсвэл
YES гэж хариулаарай. W-г
ашиглан өөрчлөлтүүдийг диск уруу бичнэ. Одоо FDISK засварлагчаас
q гэж бичин гараарай. Дараа нь танаас
Master Boot Record буюу Мастер Ачаалагч Бичлэгийн
талаар асуух болно. Та ажиллаж байгаа систем дээр диск нэмж байгаа болохоор
None-г сонгох хэрэгтэй.
Дискний Шошго засварлагч
BSD хуваалтууд
Дараа нь sysinstall-с гарч дахин
түүнийг эхлүүлэх хэрэгтэй. Дээрх заавруудыг дагаарай, гэхдээ
энэ удаад Label тохируулгыг сонгоорой.
Энэ нь Disk Label Editor буюу дискний шошго засварлагч
уруу орно. Энд та уламжлалт BSD хуваалтуудыг үүсгэдэг. Диск нь
a-h гэж хаяглагдсан найм хүртэлх хуваалтуудтай
байж болно. Хуваалтын шошгонуудын цөөн хэд нь тусгай хэрэглээтэй байдаг.
a хуваалт нь root хуваалтанд (/)
ашиглагддаг. Тиймээс зөвхөн таны системийн диск (өөрөөр хэлбэл таны
ачаалалт хийсэн диск) a хуваалттай байх
ёстой. b хуваалт нь swap хуваалтуудад
хэрэглэгддэг бөгөөд та swap хуваалттай олон дисктэй байж болох юм.
c хуваалт нь зориулагдсан горимд
бүх дискийг, зүсмэлийн горимд бүхэл FreeBSD зүсмэлийг эсвэл заадаг.
Бусад хуваалтууд нь ерөнхий хэрэглээнд зориулагдсан.
sysinstall-ийн шошго засварлагч нь
root биш, swap биш хуваалтуудад зориулж e
хуваалтыг илүүтэй үздэг. Шошго засварлагч дотор байхдаа C
гэж бичин ганц файлын систем үүсгэх хэрэгтэй. Асуух үед, хэрэв энэ нь
FS (файлын систем) эсвэл swap байх юм бол FS-г
сонгож холбох цэгийг (өөрөөр хэлбэл /mnt) бичээрэй.
Хэрэв дискийг суулгацын дараах горимд нэмж байгаа бол
sysinstall нь танд зориулж оруулгуудыг
/etc/fstab файлд үүсгэхгүй, тиймээс таны
зааж өгсөн холбох цэг нь чухал биш юм.
Та одоо шинэ шошгыг диск уруу бичиж түүн дээр файлын систем үүсгэхэд
бэлэн боллоо. Үүнийг W гэж бичин хийнэ.
sysinstall-ын шинэ хуваалтыг
холбож чадахгүй байна гэсэн алдааг өнгөрүүлэх хэрэгтэй. Шошго засварлагч
болон sysinstall-с бүр мөсөн
гараарай.
Төгсгөл
Хамгийн сүүлийн алхам нь /etc/fstab файлыг
засварлаж өөрийн шинэ дискний оруулгыг нэмэх явдал юм.
Тушаалын мөрийн хэрэгслүүдийг ашиглах нь
Зүсмэлүүдийг ашиглах нь
Энэ тохиргоо нь таны дискийг өөрийн чинь компьютер дээр суулгагдсан
байж болох бусад үйлдлийн системтэй зөв ажиллаж өөр бусад үйлдлийн системийн
fdisk хэрэгслүүдтэй эндүүрэхгүй байх боломжийг
бүрдүүлдэг. Шинэ дискийг суулгахад энэ аргыг ашиглахыг зөвлөдөг.
Хэрэв танд үнэхээр тохирох шалтгаан байгаа тохиолдолд зориулагдсан
горимыг ашиглаарай!
&prompt.root; dd if=/dev/zero of=/dev/da1 bs=1k count=1
&prompt.root; fdisk -BI da1 #Initialize your new disk
&prompt.root; bsdlabel -B -w -r da1s1 auto #Label it.
&prompt.root; bsdlabel -e da1s1 # Edit the bsdlabel just created and add any partitions.
&prompt.root; mkdir -p /1
&prompt.root; newfs /dev/da1s1e # Repeat this for every partition you created.
&prompt.root; mount /dev/da1s1e /1 # Mount the partition(s)
&prompt.root; vi /etc/fstab # Add the appropriate entry/entries to your /etc/fstab.
Хэрэв танд IDE диск байвал da-г
ad гэж солиорой.
Зориулагдсан
OS/2
Хэрэв та шинэ хөтчийг өөр үйлдлийн системтэй цуг хуваалцахгүй бол
зориулагдсан горимыг ашиглаж болох юм. Энэ горим нь
Microsoft үйлдлийн системийн толгойг эргүүлж болохыг санаарай; гэхдээ
тэдгээр нь ямар ч эвдрэл гэмтэл үүсгэхгүй. IBM-ийн &os2; нь харин
олсон бүх ойлгохгүй байгаа ямар ч хуваалтыг хувьдаа завших
болно.
&prompt.root; dd if=/dev/zero of=/dev/da1 bs=1k count=1
&prompt.root; bsdlabel -Brw da1 auto
&prompt.root; bsdlabel -e da1 # create the `e' partition
&prompt.root; newfs -d0 /dev/da1e
&prompt.root; mkdir -p /1
&prompt.root; vi /etc/fstab # add an entry for /dev/da1e
&prompt.root; mount /1
Өөр нэг арга нь:
&prompt.root; dd if=/dev/zero of=/dev/da1 count=2
&prompt.root; bsdlabel /dev/da1 | bsdlabel -BrR da1 /dev/stdin
&prompt.root; newfs /dev/da1e
&prompt.root; mkdir -p /1
&prompt.root; vi /etc/fstab # add an entry for /dev/da1e
&prompt.root; mount /1
RAID
Програм хангамжийн RAID
Кристофер
Шамвэй
Анхлан ажилласан
Жим
Браун
Хянан тохиолдуулсан
RAIDпрограм хангамж
RAIDCCD
Нийлүүлэгдсэн Дискний Драйвер (Concatenated Disk Driver буюу CCD) тохиргоо
Бөөн хадгалалтын шийдлийг сонгохдоо бодолцох хамгийн чухал хүчин зүйлүүд нь
хурд, найдвартай байдал болон өртөг юм. Энэ гурвыг гурвууланг нь тэнцүү байлгах нь
ховор байдаг; ерөнхийдөө хурдан, найдвартай бөөн хадгалалтын төхөөрөмж нь үнэтэй
бөгөөд үнийн хувьд хямдыг сонгох нь хурд эсвэл найдвартай байдлын аль нэгийг золиослох
хэрэгтэй болдог.
Доор тайлбарласан системийг дизайн хийхдээ өртгийг хамгийн чухал хүчин зүйл гэж
сонгож авсан бөгөөд үүний дараа хурд, хурдын дараа найдвартай байдлыг
сонгосон. Энэ системийн өгөгдөл дамжуулах хурд нь эцсийн эцэст сүлжээгээр
шахагддаг. Найдвартай байдал нь маш чухал боловч доор тайлбарласан CCD
хөтөч нь CD-R-ууд дээр аль хэдийн бүтнээрээ нөөцлөгдсөн, амархнаар
солигдож болох өгөгдөлд шууд үйлчилдэг.
Өөрийн шаардлагыг тодорхойлох нь бөөн хадгалалтын шийдлийг сонгох анхны
алхам юм. Хэрэв таны шаардлага нь хурд эсвэл найдвартай байдлыг өртгөөс
илүүтэй үзэж байгаа бол таны шийдэл энэ хэсэгт тайлбарласан шийдлээс
өөр болох болно.
Тоног төхөөрөмжийг суулгах нь
IDE системийн дискнээс гадна гурван Western
Digital 30GB, 5400 RPM IDE диск нь доор тайлбарласан
CCD дискний гол цөм болж нийтдээ ойролцоогоор 90GB
шууд хадгалалт болно. Туйлын хүслээр бол IDE диск бүр өөрийн IDE
хянагч болон кабельтай байна, гэхдээ өртгийг багасгахын
тулд нэмэлт IDE хянагчууд ашиглагдаагүй болно. Харин дискнүүд нь
jumper буюу холбогчоор тохируулагдсан бөгөөд ингэснээр IDE хянагч
бүр нэг мастер болон нэг боолтой байна.
Дахин ачаалах үед системийн BIOS залгагдсан дискнүүдийг автоматаар олохоор
тохируулагдсан байдаг. Илүү чухал зүйл нь FreeBSD тэдгээрийг дахин ачаалахад
олсон явдал юм:
ad0: 19574MB <WDC WD205BA> [39770/16/63] at ata0-master UDMA33
ad1: 29333MB <WDC WD307AA> [59598/16/63] at ata0-slave UDMA33
ad2: 29333MB <WDC WD307AA> [59598/16/63] at ata1-master UDMA33
ad3: 29333MB <WDC WD307AA> [59598/16/63] at ata1-slave UDMA33
Хэрэв FreeBSD дискнүүдийг бүгдийг нь олохгүй байгаа бол
та тэдгээрийг зөвөөр холбосон эсэхээ шалгаарай. IDE хөтчүүдийн
ихэнх нь бас Cable Select
холбогчтой байдаг.
Энэ нь мастер/боол харилцаанд зориулагдсан холбогч
биш юм. Хөтчийн баримтаас зөв
холбогчийг таних талаар лавлаарай.
Дараа нь тэдгээрийг файлын системийн хэсэг болгон залгах талаар
бодох хэрэгтэй. Та &man.vinum.8; () болон &man.ccd.4; хоёуланг
судлах хэрэгтэй. Энэ тохиргооны хувьд &man.ccd.4;-г сонгосон.
CCD-г тохируулах нь
&man.ccd.4; хөтөч нь хэд хэдэн адил дискнүүдийг авч тэдгээрийг
нэг логик файл систем болгон нийлүүлэх боломжийг олгодог.
&man.ccd.4;-г ашиглахын тулд танд &man.ccd.4; дэмжлэг
цуг бүтээгдсэн цөм хэрэгтэй. Энэ мөрийг цөмийн тохиргооны файлдаа
нэмээд цөмөө дахин бүтээж суулгаарай:
device ccd
&man.ccd.4; дэмжлэг цөмийн дуудагдах модуль хэлбэрээр
бас дуудагдаж болно.
&man.ccd.4;-г тохируулахын тулд та эхлээд дискнүүдийг
хаяглах &man.bsdlabel.8;-г ашиглах ёстой:
bsdlabel -r -w ad1 auto
bsdlabel -r -w ad2 auto
bsdlabel -r -w ad3 auto
Энэ нь бүх дискний дагуух ad1c, ad2c болон ad3c-д зориулж bsdlabel үүсгэдэг.
Дараагийн алхам нь дискний шошгоны төрлийг өөрчлөх явдал юм.
Та дискнүүдийг засварлахдаа &man.bsdlabel.8;-г ашиглаж
болно:
bsdlabel -e ad1
bsdlabel -e ad2
bsdlabel -e ad3
Энэ нь диск бүр дэх тухайн дискний шошгыг EDITOR
орчны хувьсагчид заасан засварлагчаар, ихэнхдээ &man.vi.1;-ээр
онгойлгодог.
Өөрчлөлт хийгдээгүй дискний шошго иймэрхүү харагдах болно:
8 partitions:
# size offset fstype [fsize bsize bps/cpg]
c: 60074784 0 unused 0 0 0 # (Cyl. 0 - 59597)
&man.ccd.4;-д зориулж ашиглахаар шинэ e
хуваалтыг нэмнэ. Үүнийг ихэвчлэн c хуваалтаас хуулж
болох боловч нь 4.2BSD
байх ёстой. Дискний шошго одоо иймэрхүү харагдах
ёстой:
8 partitions:
# size offset fstype [fsize bsize bps/cpg]
c: 60074784 0 unused 0 0 0 # (Cyl. 0 - 59597)
e: 60074784 0 4.2BSD 0 0 0 # (Cyl. 0 - 59597)
Файлын системийг бүтээх нь
Та бүх дискнүүдээ хаягласны дараа &man.ccd.4;-г бүтээх
ёстой. Үүнийг хийхийн тулд дараах тохируулгуудтай адилаар
&man.ccdconfig.8;-г ашиглана:
ccdconfig ccd0 32 0 /dev/ad1e /dev/ad2e /dev/ad3e
Тохируулга бүрийн хэрэглээ болон утгыг доор харуулав:
Эхний нэмэлт өгөгдөл нь тохируулах төхөөрөмж байх бөгөөд энэ
тохиолдолд /dev/ccd0c байна.
/dev/ хэсэг байхгүй ч байж болно.
Файлын системд зориулсан interleave. interleave нь
дискний блокууд дээрх судлын хэмжээг тодорхойлдог бөгөөд нэг бүр нь
ихэвчлэн 512 байт байдаг. Тэгэхээр 32 interleave нь 16,384 байт
байна.
&man.ccdconfig.8;-д зориулсан тугнууд. Хэрэв та хөтчийг
толин тусгал үүсгэж идэвхжүүлэхийг хүсвэл тугийг энд зааж өгч
болно. Энэ тохиргоо нь &man.ccd.4;-н хувьд толин тусгал
үүсгэлтийг хангадаггүй учир энэ нь 0 (тэг) гэж тохируулагдсан.
&man.ccdconfig.8; уруу өгөгдөх сүүлийн нэмэлт өгөгдлүүд нь
массивт оруулах төхөөрөмжүүд юм. Төхөөрөмж бүрийн хувьд бүрэн
гүйцэд замын нэрийг ашиглах хэрэгтэй.
&man.ccdconfig.8;-г ажиллуулсны дараа &man.ccd.4; тохируулагдана.
Файлын систем суулгагдаж болно. Тохируулгуудын талаар &man.newfs.8;-с
лавлана уу, эсвэл ердөө л ингэж ажиллуулна:
newfs /dev/ccd0c
Бүгдийг автомат болгох нь
Ерөнхийдөө та &man.ccd.4;-г дахин ачаалах бүртээ холбохыг хүснэ.
Үүнийг хийхийн тулд та эхлээд тохируулах хэрэгтэй. Өөрийн одоогийн
тохиргоогоо дараах тушаал ашиглаж /etc/ccd.conf
уруу бичих хэрэгтэй:
ccdconfig -g > /etc/ccd.conf
Дахин ачаалах үед скрипт /etc/rc нь
хэрэв /etc/ccd.conf байвал
ccdconfig -C тушаалыг ажиллуулна.
Энэ нь &man.ccd.4;-г холбож болохоор болгож
автоматаар тохируулна.
Хэрэв та ганц хэрэглэгчийн горим уруу ачаалж байгаа бол
&man.ccd.4;-г &man.mount.8; хийхээсээ өмнө массивыг
тохируулахын тулд дараах тушаалыг ажиллуулах
шаардлагатай:
ccdconfig -C
&man.ccd.4;-г автоматаар холбохын тулд &man.ccd.4;-н оруулгыг
/etc/fstab файлд байрлуулах хэрэгтэй. Ингэсэн
тохиолдолд энэ нь ачаалах үед холбогдох болно:
/dev/ccd0c /media ufs rw 2 2
Vinum Эзлэхүүн Менежер
RAIDпрограм хангамж
RAID
Vinum
Vinum Эзлэхүүн Менежер нь виртуал диск хөтчийг хийдэг блок төхөөрөмжийн драйвер
юм. Энэ нь дискний тоног төхөөрөмжийг блок төхөөрөмжийн интерфэйсээс
тусгаарлаж уян хатан байдал, ажиллагаа болон найдвартай байдлыг дискний
хадгалалтын уламжлалт зүсмэлийн харагдалтаас илүүтэйгээр хангах тийм аргаар
өгөгдлийг дүрсэлдэг. &man.vinum.8; нь RAID-0, RAID-1 болон RAID-5
загваруудыг тус бүрт нь болон холбоотой байдлаар нь шийддэг.
&man.vinum.8;-ийн талаар дэлгэрэнгүй мэдээллийг
-с үзнэ үү.
Тоног төхөөрөмжийн RAID
RAID
тоног төхөөрөмж
FreeBSD нь бас төрөл бүрийн тоног төхөөрөмжийн RAID
хянагчуудыг дэмждэг. Эдгээр төхөөрөмжүүд нь FreeBSD-д зориулсан тусгай програм
хангамжаар массивыг удирдах шаардлагагүйгээр RAID дэд
системийг хянадаг.
Карт дээрх BIOS-г ашиглан карт нь дискний үйлдлүүдийн
ихэнхийг өөрөө хянадаг. Дараах нь Promise IDE RAID
хянагчийг ашиглах тохиргооны товч тайлбар юм. Энэ карт суулгагдаж систем эхлэх үед
мэдээллийг хүсэх мөрийг харуулна. Картны тохиргооны дэлгэц уруу орохын тулд
заавруудыг дагана. Эндээс залгагдсан бүх хөтчүүдийг нэгтгэх боломж танд байх
болно. Ингэж хийснийхээ дараа диск(нүүд) нь FreeBSD-д нэг хөтөч шиг харагдах
болно. Бусад RAID түвшингүүдийг бас
тохируулж болно.
ATA RAID1 массивуудыг дахин бүтээх нь
FreeBSD нь массив дахь гэмтсэн, ажиллагаагүй болсон дискийг шууд солих боломжийг
олгодог. Энэ нь дахин ачаалахаасаа өмнө таныг ийм асуудлыг мэдэхийг шаарддаг.
Та магадгүй доор дурдсантай адилыг /var/log/messages эсвэл
&man.dmesg.8; гаралт дээр харж болох юм:
ad6 on monster1 suffered a hard error.
ad6: READ command timeout tag=0 serv=0 - resetting
ad6: trying fallback to PIO mode
ata3: resetting devices .. done
ad6: hard error reading fsbn 1116119 of 0-7 (ad6 bn 1116119; cn 1107 tn 4 sn 11)\\
status=59 error=40
ar0: WARNING - mirror lost
&man.atacontrol.8; ашиглан дэлгэрэнгүй мэдээллийг шалгана:
&prompt.root; atacontrol list
ATA channel 0:
Master: no device present
Slave: acd0 <HL-DT-ST CD-ROM GCR-8520B/1.00> ATA/ATAPI rev 0
ATA channel 1:
Master: no device present
Slave: no device present
ATA channel 2:
Master: ad4 <MAXTOR 6L080J4/A93.0500> ATA/ATAPI rev 5
Slave: no device present
ATA channel 3:
Master: ad6 <MAXTOR 6L080J4/A93.0500> ATA/ATAPI rev 5
Slave: no device present
&prompt.root; atacontrol status ar0
ar0: ATA RAID1 subdisks: ad4 ad6 status: DEGRADED
Та дискийг аюулгүйгээр салган авахын тулд эхлээд ata сувгийг
ажиллахгүй байгаа дисктэй цуг салгана:
&prompt.root; atacontrol detach ata3
Дискийг сольно.
ata сувгийг дахин залгана:
&prompt.root; atacontrol attach ata3
Master: ad6 <MAXTOR 6L080J4/A93.0500> ATA/ATAPI rev 5
Slave: no device present
Шинэ дискийг массивт нөөц маягаар нэмнэ:
&prompt.root; atacontrol addspare ar0 ad6
Массивыг дахин бүтээнэ:
&prompt.root; atacontrol rebuild ar0
Дараах тушаалыг ашиглаж үйл явцыг шалгаж болно:
&prompt.root; dmesg | tail -10
[output removed]
ad6: removed from configuration
ad6: deleted from ar0 disk1
ad6: inserted into ar0 disk1 as spare
&prompt.root; atacontrol status ar0
ar0: ATA RAID1 subdisks: ad4 ad6 status: REBUILDING 0% completed
Энэ үйлдэл хийгдэж дуустал хүлээх хэрэгтэй.
Марк
Фонвил
Хувь нэмэр болгон оруулсан
USB хадгалалтын төхөөрөмжүүд
USB
дискнүүд
Одоо үед маш олон гадаад хадгалалтын шийдлүүд байгаа бөгөөд
Universal Serial Bus (USB): хатуу хөтчүүд, USB хуруун хөтчүүд,
CD-R шарагчид зэргийг ашигладаг. &os; нь эдгээр төхөөрөмжүүдийн
дэмжлэгийг хангадаг.
Тохиргоо
USB бөөн хадгалалтын төхөөрөмжүүдийн драйвер &man.umass.4; нь
USB хадгалалтын төхөөрөмжүүдийн дэмжлэгийг хангадаг. Хэрэв та
GENERIC цөм ашиглавал өөрийн тохиргоондоо юу
ч өөрчлөх шаардлагагүй. Хэрэв та өөрчлөн тохируулсан цөм ашиглах бол
таны цөмийн тохиргооны файлд дараах мөрүүд байгаа эсэхийг
шалгаарай:
device scbus
device da
device pass
device uhci
device ohci
device usb
device umass
&man.umass.4; драйвер нь USB хадгалалтын төхөөрөмжүүдэд хандахын
тулд SCSI дэд системийг хэрэглэдэг бөгөөд таны USB төхөөрөмж системд
SCSI төхөөрөмж маягаар харагдах болно. Таны эх хавтан дээрх USB бичил
схемээс хамаарч танд зөвхөн device
uhci эсвэл device ohci хоёрын аль нэг
хэрэгтэй болно, гэхдээ хоёуланг нь цөмийн тохиргоондоо байлгах нь гэмгүй юм.
Хэрэв та ямар нэг мөр нэмсэн бол шинэ цөмөө эмхэтгэж суулгахаа битгий
мартаарай.
Хэрэв таны USB төхөөрөмж чинь CD-R эсвэл DVD шарагч бол
SCSI CD-ROM драйвер &man.cd.4;-г цөмд дараах мөрийн тусламжтай
нэмэх ёстой:
device cd
Шарагч нь SCSI хөтөч гэж харагддаг учир &man.atapicam.4;
драйверийг цөмийн тохиргоонд ашиглах ёсгүй.
USB 2.0 хянагчуудын дэмжлэг &os;-д байдаг; гэхдээ та дараах
мөрийг:
device ehci
өөрийн тохиргооны файлдаа USB 2.0 дэмжлэгт зориулж нэмэх ёстой.
Хэрэв танд USB 1.X дэмжлэг хэрэгтэй бол &man.uhci.4; болон &man.ohci.4;
драйверууд нь хэрэгтэй хэвээр болохыг санаарай.
Тохиргоог тест хийх нь
Тохиргоог тест хийхэд бэлэн боллоо: өөрийн USB төхөөрөмжийг залгахад
системийн мэдэгдлийн буферт (&man.dmesg.8;) хөтөч нь иймэрхүү
харагдах ёстой:
umass0: USB Solid state disk, rev 1.10/1.00, addr 2
GEOM: create disk da0 dp=0xc2d74850
da0 at umass-sim0 bus 0 target 0 lun 0
da0: <Generic Traveling Disk 1.11> Removable Direct Access SCSI-2 device
da0: 1.000MB/s transfers
da0: 126MB (258048 512 byte sectors: 64H 32S/T 126C)
Мэдээж хэрэг үйлдвэрлэгч, төхөөрөмжийн цэг (da0)
болон бусад зүйлс таны тохиргооноос хамаараад өөр байж болно.
USB төхөөрөмж нь SCSI төхөөрөмж гэж харагддаг болохоор
camcontrol тушаалыг ашиглаж системд холбогдсон
USB хадгалалтын төхөөрөмжүүдийн жагсаалтыг харуулж болно:
&prompt.root; camcontrol devlist
<Generic Traveling Disk 1.11> at scbus0 target 0 lun 0 (da0,pass0)
Хэрэв хөтөч нь файлын системтэй ирвэл та түүнийг холбож чадна.
хэсэг нь хэрэв шаардлагатай бол
USB хөтчийг хэлбэршүүлж түүн дээр хуваалт үүсгэхэд танд туслах
болно.
Энэ төхөөрөмжийг энгийн хэрэглэгч холбож чаддагаар болгохын тулд
тодорхой алхмуудыг хийх хэрэгтэй. Эхлээд USB хадгалалтын төхөөрөмж
холбогдсон үед үүссэн төхөөрөмжүүдэд хэрэглэгч хандаж болохоор байх
хэрэгтэй. Үүний шийдэл нь эдгээр төхөөрөмжүүдийн бүх хэрэглэгчдийг
operator бүлгийн гишүүн болгох явдал
юм. Үүнийг &man.pw.8;-ээр хийнэ. Хоёрдугаарт төхөөрөмжүүд нь
үүсэх үед operator бүлэг тэдгээрийг
уншиж бичиж чадаж байх ёстой. Тохирох мөрүүдийг
/etc/devfs.rules файлд
нэмснээр үүнийг хийж болно:
[localrules=1]
add path 'da*' mode 0660 group operator
Хэрэв системд SCSI дискнүүд байгаа бол үүнийг арай өөрөөр хийх
ёстой. Өөрөөр хэлбэл хэрэв систем нь аль хэдийн da0-ээс
da2 хүртэлх холбогдсон дискнүүдийг
агуулж байвал хоёр дахь мөрийг дараах маягаар солих хэрэгтэй:
add path 'da[3-9]*' mode 0660 group operator
Энэ нь байгаа дискнүүдийг operator
бүлэгт хамааруулахгүй болгоно.
Та бас өөрийн &man.devfs.rules.5; дүрмийн олонлогийг
/etc/rc.conf файлд идэвхжүүлэх
хэрэгтэй:
devfs_system_ruleset="localrules"
Дараа нь цөм нь ердийн хэрэглэгчдэд файлын системийг холбох боломжтойгоор
тохируулагдах ёстой. Хамгийн хялбар арга бол /etc/sysctl.conf-д
мөр нэмэх явдал юм:
vfs.usermount=1
Дараагийн дахин ачаалалтын дараа энэ нь идэвхжихийг санаарай.
Өөрөөр энэ хувьсагчийг тохируулахын тулд &man.sysctl.8;-г ашиглаж
болох юм.
Төгсгөлийн алхам нь файлын систем холбогдох санг үүсгэх явдал юм.
Энэ санг файлын системийг холбох хэрэглэгч эзэмшсэн байх хэрэгтэй.
Үүнийг хийх нэг арга нь root-ийн хувьд
тэр хэрэглэгчийн эзэмшсэн дэд санг
/mnt/$USER
($USER-г тухайн хэрэглэгчийнхээ нэвтрэх
нэрээр солиорой) гэж үүсгэх явдал юм:
&prompt.root; mkdir /mnt/$USER
&prompt.root; chown $USER:$USER /mnt/$USER
USB хуруун хөтөч залгагдаж /dev/da0s1 төхөөрөмж
гарч иржээ гэж бодъё. Эдгээр төхөөрөмжүүд нь ихэвчлэн FAT файлын системээр
хэлбэршүүлэгдсэн ирдэг бөгөөд эдгээрийг иймэрхүү маягаар холбож
болно:
&prompt.user; mount_msdosfs -m 644 -M 755 /dev/da0s1 /mnt/$USER
Хэрэв та төхөөрөмжийг залгаснаа салгавал (дискийг урьдаар салгах ёстой)
та системийн мэдэгдлийн буфераас доор дурдсантай төстэй мэдэгдлийг
харах ёстой:
umass0: at uhub0 port 1 (addr 2) disconnected
(da0:umass-sim0:0:0:0): lost device
(da0:umass-sim0:0:0:0): removing device entry
GEOM: destroy disk da0 dp=0xc2d74850
umass0: detached
Нэмэлт унших материалууд
Диск нэмэх болон
Файлын системүүдийг холбох болон салгах
хэсгүүдээс гадна төрөл бүрийн гарын авлагын хуудаснуудыг унших нь хэрэгтэй
байж болох юм: &man.umass.4;, &man.camcontrol.8;,
болон &man.usbdevs.8;.
Майк
Мэйэр
Хувь нэмэр болгон оруулсан
Оптик зөөвөрлөгчийг (CD-үүд) үүсгэж ашиглах нь
CDROM-ууд
үүсгэх нь
Танилцуулга
CD-үүд нь тэдгээрийг ердийн дискнүүдээс ялгах хэд хэдэн боломжуудтай
байдаг. Эхлээд хэрэглэгч CD дээр бичих боломжгүй байсан. Тэдгээр нь
замуудын хооронд толгойг шилжүүлэхдээ сааталгүйгээр үргэлжлэн уншдагаар
хийгджээ. Тэр үед байсан адил хэмжээтэй зөөвөрлөгчийг зөөхөөс тэдгээрийг
систем хооронд зөөх нь хамаагүй хялбар байдаг.
CD-үүд нь замтай байдаг боловч энэ нь дискний физик хэсэг биш харин
үргэлжлэн уншигдах өгөгдлийн хэсгийг хэлдэг. FreeBSD дээр CD үүсгэхдээ
CD дээр замууд үүсгэх өгөгдлийн файлуудыг бэлдэж дараа нь замуудыг CD
уруу бичнэ.
ISO 9660
файлын системүүд
ISO 9660
ISO 9660 файлын систем нь эдгээр ялгаануудтай ажиллахаар хийгдсэн.
Энэ нь тэр үед нийтлэг байсан файлын системийн хязгааруудыг харамсалтай нь
кодчилдог. Азаар энэ нь зөв бичигдсэн CD-үүдэд тэдгээр хязгааруудыг давж гарахыг
зөвшөөрөх өргөтгөлөөр хангадаг бөгөөд тэдгээр өргөтгөлүүдийг дэмждэггүй системүүдтэй
ажиллаж чадсан хэвээр байдаг.
sysutils/cdrtools
sysutils/cdrtools
портод ISO 9660 файлын системийг агуулах өгөгдлийн файлыг үүсгэдэг програм
&man.mkisofs.8; байдаг. Энэ нь төрөл бүрийн өргөтгөлүүдийг дэмждэг
тохируулгуудтай бөгөөд доор тайлбарлагдсан болно.
CD шарагч
ATAPI
CD шарахдаа ямар хэрэгслийг ашиглах нь таны CD шарагч ATAPI юу аль эсвэл өөр үү
гэдгээс шалтгаална. ATAPI CD шарагчид нь үндсэн системийн burncd програмыг ашигладаг.
SCSI болон USB CD шарагчид нь sysutils/cdrtools
портын cdrecord-г
ашиглах ёстой. Мөн ATAPI тоног төхөөрөмж дээр SCSI хөтчүүдийн хувьд
ATAPI/CAM модул ашиглан
cdrecord-г
хэрэглэх боломжтой байдаг.
Хэрэв та график хэрэглэгчийн интерфэйстэй CD шарагч програм хангамжийг
хүсэж байгаа бол X-CD-Roast эсвэл
K3b-г үзээрэй. Эдгээр хэрэгслүүд нь
багц хэлбэрээр эсвэл sysutils/xcdroast болон sysutils/k3b портуудад байдаг.
X-CD-Roast болон
K3b нь ATAPI тоног төхөөрөмж дээр
ATAPI/CAM модулийг шаарддаг.
mkisofs
sysutils/cdrtools портын
хэсэг &man.mkisofs.8; програм нь &unix;-ийн файлын системийн нэрийн талбар
дахь сангийн модны дүрс болох ISO 9660 файлын системийг үүсгэдэг.
Хамгийн хялбар хэрэглээ нь:
&prompt.root; mkisofs -o imagefile.iso /path/to/tree
файлын системүүд
ISO 9660
Энэ тушаал нь /path/to/tree дахь
модны хуулбар ISO 9660 файлын системийг агуулах
imagefile.iso файлыг үүсгэх болно.
Энэ процессод файлын нэрсийг ISO 9660 файлын системийн стандартын
хязгаарлалтуудад багтах нэрсэд тааруулах бөгөөд ISO файлын системүүдэд
байдаггүй нэрс бүхий файлуудыг оруулахгүй байх болно.
файлын системүүд
HFS
файлын системүүд
Joliet
Тэдгээр хязгаарлалтуудыг давж гарах хэд хэдэн тохируулгууд байдаг.
Ялангуяа тохируулга &unix; системүүдэд
нийтлэг байдаг Rock Ridge өргөтгөлүүдийг идэвхжүүлдэг,
нь Microsoft системүүдэд хэрэглэгддэг Joilet өргөтгөлүүдийг идэвхжүүлдэг
бөгөөд нь &macos;-д хэрэглэгддэг HFS файлын
системүүдийг үүсгэхэд ашиглагддаг.
Зөвхөн FreeBSD системүүдэд ашиглагдах CD-үүдийн хувьд
тохируулга бүх файлын нэрийн хязгаарлалтуудыг хаахад ашиглагдаж болно.
тохируулгатай хэрэглэгдэх үед энэ нь таны эхэлсэн
FreeBSD-ийн модтой ижил файлын системийн дүрсийг үүсгэдэг, гэхдээ энэ нь
ISO 9660 стандартыг хэд хэдэн замаар зөрчиж болох юм.
CDROM-ууд
ачаалагддаг үүсгэх
Ердийн хэрэглээний сүүлийн тохируулга нь юм.
Энэ нь ачаалагдах El Torito
CD-г үүсгэхэд хэрэглэгдэх
ачаалагдах дүрсний байрлалыг заахад ашиглагддаг. Энэ тохируулга нь
CD уруу бичигдэх модны дээд хэсгийн ачаалагдах дүрс хүрэх замыг заах
нэмэлт өгөгдлийг авдаг. Анхдагчаар &man.mkisofs.8; нь
floppy disk emulation буюу уян дискний эмуляц
гэж
нэрлэгддэг горимд ISO дүрсийг үүсгэдэг бөгөөд ачаалагдах дүрсийг яг
1200, 1440, эсвэл 2880 KB хэмжээтэй байна гэж тооцдог.
FreeBSD түгээлтийн дискнүүдэд хэрэглэгддэг ачаалагч дуудагч зэрэг зарим
ачаалагч дуудагчид нь эмуляц горимыг ашигладаггүй; энэ тохиолдолд
тохируулгыг ашиглах шаардлагатай.
Тэгэхээр хэрэв /tmp/myboot нь ачаалагдах
FreeBSD системийг /tmp/myboot/boot/cdboot
дэх ачаалагдах дүрстэй цуг агуулж байвал та ISO 9660 файлын системийн
дүрсийг /tmp/bootable.iso-д иймэрхүү
маягаар үүсгэж болох юм:
&prompt.root; mkisofs -R -no-emul-boot -b boot/cdboot -o /tmp/bootable.iso /tmp/myboot
Үүнийг хийснийхээ дараа хэрэв та цөмдөө md-г
тохируулсан бол файлын системийг ингэж холбож болно:
&prompt.root; mdconfig -a -t vnode -f /tmp/bootable.iso -u 0
&prompt.root; mount -t cd9660 /dev/md0 /mnt
Энэ үед та /mnt болон
/tmp/myboot нь ижил болохыг шалгаж болно.
&man.mkisofs.8;-ийн ажиллагааг нарийн тааруулахын тулд та түүний
бусад олон тохируулгуудыг ашиглаж болно. Ялангуяа ISO 9660-ийн байрлал
болон Joilet ба HFS дискнүүдийн үүсгэлтэд өөрчлөлтүүд хийж болно.
Дэлгэрэнгүйг &man.mkisofs.8;-ийн гарын авлагын хуудаснаас үзнэ үү.
burncd
CDROM-ууд
шарах
Хэрэв танд ATAPI CD шарагч байгаа бол та ISO дүрсийг CD уруу шарахдаа
burncd тушаалыг ашиглаж болно.
burncd нь үндсэн системийн хэсэг бөгөөд
/usr/sbin/burncd гэж суулгагдсан байдаг. Энэ нь
цөөн тохируулгуудтай болохоор хэрэглэхэд их хялбар байдаг:
&prompt.root; burncd -f cddevice data imagefile.iso fixate
Дээрх тушаал нь imagefile.iso-н
хуулбарыг cddevice уруу шарах болно.
Анхдагч төхөөрөмж нь /dev/acd0 юм.
Бичих хурд, шарсны дараа CD-г гаргах болон аудио өгөгдөл бичихийг заах
тохируулгуудын талаар &man.burncd.8;-с үзнэ үү.
cdrecord
Хэрэв танд ATAPI CD шарагч байхгүй бол та өөрийн CD-үүдийг шарахын
тулд cdrecord-г ашиглах шаардлагатай.
cdrecord нь үндсэн системд байдаггүй; та үүнийг
sysutils/cdrtools дахь
портоос эсвэл тохирох багцаас суулгах ёстой. Үндсэн системд хийгдсэн
өөрчлөлт нь энэ програмын хоёртын хувилбарыг ажиллахгүй болгож, магадгүй
асуудалд (coaster)
хүргэж болох юм.
Тийм болохоор та өөрийн системээ шинэчлэхдээ портоо бас шинэчлэх эсвэл хэрэв
та -STABLE салбарыг дагаж байгаа бол
портыг шинэ хувилбар гарахад нь шинэчлэх хэрэгтэй.
cdrecord нь олон тохируулгатай байдаг боловч
үндсэн хэрэглээ нь burncd-с бүр илүү хялбар байдаг.
ISO 9660 дүрсийг шарахдаа:
&prompt.root; cdrecord dev=device imagefile.iso
cdrecord-г хэрэглэхэд гардаг нэг заль нь
тохируулгыг олох явдал юм. Зөв тохиргоог олохын
тулд cdrecord-ийн
тугийг хэрэглэх хэрэгтэй бөгөөд энэ нь иймэрхүү үр дүнд хүргэж болох юм:
CDROM-ууд
шарах
&prompt.root; cdrecord -scanbus
Cdrecord-Clone 2.01 (i386-unknown-freebsd7.0) Copyright (C) 1995-2004 Jörg Schilling
Using libscg version 'schily-0.1'
scsibus0:
0,0,0 0) 'SEAGATE ' 'ST39236LW ' '0004' Disk
0,1,0 1) 'SEAGATE ' 'ST39173W ' '5958' Disk
0,2,0 2) *
0,3,0 3) 'iomega ' 'jaz 1GB ' 'J.86' Removable Disk
0,4,0 4) 'NEC ' 'CD-ROM DRIVE:466' '1.26' Removable CD-ROM
0,5,0 5) *
0,6,0 6) *
0,7,0 7) *
scsibus1:
1,0,0 100) *
1,1,0 101) *
1,2,0 102) *
1,3,0 103) *
1,4,0 104) *
1,5,0 105) 'YAMAHA ' 'CRW4260 ' '1.0q' Removable CD-ROM
1,6,0 106) 'ARTEC ' 'AM12S ' '1.06' Scanner
1,7,0 107) *
Энэ нь жагсаалтан дахь төхөөрөмжүүдийн хувьд тохирох утгыг
жагсаадаг. Өөрийн CD шарагчийг олохын тулд тохируулгын
утгад гурван дугаарыг таслалаар тусгаарлан хэрэглэнэ. Энэ тохиолдолд CRW төхөөрөмж
нь 1,5,0, байх бөгөөд тохирох оролт нь болно.
Энэ утгыг заах амархан аргууд байдаг; дэлгэрэнгүйг &man.cdrecord.1;-с үзнэ үү.
Мөн тэндээс аудио замуудыг бичих, хурдыг хянах болон бусад зүйлүүдийн тухай
мэдээллийг үзэж болно.
Аудио CD-үүдийг хувилах
Та аудио өгөгдлийг CD-ээс файлуудын цуваа болгон задалж дараа нь эдгээр
файлуудыг хоосон CD дээр бичин аудио CD-г хувилж болно. Энэ процесс нь ATAPI болон
SCSI хөтчүүдийн хувьд нэлээн өөр байдаг.
SCSI хөтчүүд
Аудиог cdda2wav ашиглан задлана.
&prompt.user; cdda2wav -v255 -D2,0 -B -Owav
cdrecord ашиглан .wav
файлуудыг бичнэ.
&prompt.user; cdrecord -v dev=2,0 -dao -useinfo *.wav
хэсэгт тайлбарласны дагуу
2,0 гэж зөв заагдсан эсэхийг
шалгаарай.
ATAPI хөтчүүд
ATAPI CD драйвер нь зам бүрийг
/dev/acddtnn
маягаар болгодог бөгөөд d нь хөтчийн
дугаар ба nn нь шаардлагатай бол урдаа 0 тавьж
хоёр оронтой тоогоор бичигдсэн замын дугаар юм. Тэгэхээр эхний диск дээрх
эхний зам нь /dev/acd0t01, хоёр дахь нь
/dev/acd0t02, гурав дахь нь
/dev/acd0t03 гэх мэтчилэн байна.
Тохирох файлууд /dev санд байгаа эсэхийг
шалгаарай. Хэрэв оруулгууд байхгүй байгаа бол зөөвөрлөгчийг
дахин үзэхээр системийг хүчлэх хэрэгтэй:
&prompt.root; dd if=/dev/acd0 of=/dev/null count=1
Зам бүрийг &man.dd.1; ашиглан задална. Файлуудыг задлахдаа
та тусгай блокийн хэмжээг бас ашиглах ёстой.
&prompt.root; dd if=/dev/acd0t01 of=track1.cdr bs=2352
&prompt.root; dd if=/dev/acd0t02 of=track2.cdr bs=2352
...
Задалсан файлуудаа диск уруу burncd ашиглан
шарна. Та эдгээрийг аудио файл гэж зааж өгөх хэрэгтэй бөгөөд
burncd нь дуусахдаа дискийг бэхжүүлэх
ёстой.
&prompt.root; burncd -f /dev/acd0 audio track1.cdr track2.cdr ... fixate
Өгөгдлийн CD-үүдийг хувилах
Та өгөгдлийн CD-г &man.mkisofs.8;-р үүсгэсэн дүрс файлтай
ажиллагааны хувьд адилхан дүрс файл уруу хуулж болох бөгөөд та үүнийг
ямар ч өгөгдлийн CD хувилахад ашиглаж болно. Энд өгөгдсөн жишээ нь
таны CDROM төхөөрөмжийг acd0 гэж
үзэх болно. Өөрийн зөв CDROM төхөөрөмжөөр солиорой.
&prompt.root; dd if=/dev/acd0 of=file.iso bs=2048
Одоо та нэгэнт дүрстэй болсон болохоор үүнийг CD уруу дээр тайлбарласны
дагуу шарж болно.
Өгөгдлийн CD-үүдийг ашиглах
Одоо та стандарт өгөгдлийн CDROM үүсгэсэн болохоор түүнийг
холбож түүн дээрх өгөгдлийг уншихыг хүсэх байх. Анхдагчаар
&man.mount.8; нь файлын системийг ufs
төрлийнх гэж үздэг. Хэрэв та доорх шиг оролдвол:
&prompt.root; mount /dev/cd0 /mnt
Incorrect super block гэж
гомдоллохыг та харах бөгөөд холболт хийгдэхгүй байх болно. CDROM нь
UFS файлын систем биш, тэгэхээр ингэж
холбохыг оролдох нь амжилтгүй болох болно. Та &man.mount.8;-д
файлын системийн төрөл нь ISO9660 гэж
зааж өгөхөд л бүгд ажиллах болно. Та
тохируулгыг &man.mount.8;-д өгч үүнийг хийнэ. Жишээ нь хэрэв та
CDROM төхөөрөмж /dev/cd0-г
/mnt-д холбохыг хүсвэл дараах тушаалыг
ажиллуулах болно:
&prompt.root; mount -t cd9660 /dev/cd0 /mnt
Таны төхөөрөмжийн нэр (энэ жишээн дээр /dev/cd0)
таны CDROM ямар интерфэйс ашиглаж байгаагаас хамааран өөр байж болох юм.
Мөн тохируулга нь ердөө л
&man.mount.cd9660.8;-г ажиллуулдаг. Дээрх жишээг ингэж богиносгож
болно:
&prompt.root; mount_cd9660 /dev/cd0 /mnt
Та ерөнхийдөө энэ аргаар ямар ч үйлдвэрлэгчийн өгөгдлийн CDROM-уудыг
ашиглаж болно. Гэхдээ зарим нэг ISO 9660 өргөтгөлүүдтэй дискнүүд хачин ажиллаж
болох юм. Жишээ нь Joilet дискнүүд нь бүх файлын нэрсийг хоёр байт Юникод
тэмдэгтээр хадгалдаг. FreeBSD цөм нь Юникодоор ярьдаггүй, гэхдээ
&os;-ийн CD9660 драйвер Юникод тэмдэгтүүдийг шууд хувиргаж чаддаг.
Хэрэв зарим нэг Англи бус тэмдэгтүүд асуултын тэмдэг хэлбэрээр харагдвал
та ашиглаж байгаа локал тэмдэгтийн олонлогоо
тохируулгаар зааж өгөх хэрэгтэй. Дэлгэрэнгүй мэдээллийг
&man.mount.cd9660.8; гарын авлагын хуудаснаас лавлана уу.
Энэ тэмдэгтийн хувиргалтыг тохируулгын
тусламжтай хийхийн тулд цөм cd9660_iconv.ko
модулийг дуудсан байхыг шаардах болно. Энэ мөрийг
loader.conf файлд нэмж үүнийг:
cd9660_iconv_load="YES"
гэж хийн машиныг дахин ачаалах буюу эсвэл модулийг &man.kldload.8;-н
тусламжтай дуудан хийж болох юм.
Хааяа таныг CDROM-г холбохыг оролдох үед Device not
configured гэсэн алдаа гарч болох юм. Энэ нь ихэнхдээ
CDROM хөтөч нь төхөөрөмжид диск байхгүй эсвэл хөтөч нь шугаманд (bus)
харагдахгүй байна гэж үзэж байна гэсэн үг юм. CDROM хөтөч нь
хоёр секундын дотор үүнийг мэддэг болохоор тэвчээртэй байгаарай.
Шугамын дахин тогтоолтод хариу өгөх хангалттай хугацаа байхгүйн улмаас
заримдаа SCSI CDROM-ийг олохгүй байж болох юм. Хэрэв та SCSI CDROM-той
бол та дараах тохируулгыг цөмийн тохиргоондоо нэмж
өөрийн цөмийг дахин бүтээнэ үү.
options SCSI_DELAY=15000
Энэ нь таны SCSI шугамд ачаалах үедээ 15 секунд түр саатахыг хэлж өгөх бөгөөд
ингэснээр шугамын дахин тогтоолтод таны CDROM хөтчөөр хариу өгүүлэхийн тулд
бүх байж болох боломжийг түүнд өгч байна гэсэн үг юм.
Түүхий өгөгдлийн CD-үүдийг шарах
Та ISO 9660 файлын системийг үүсгэлгүйгээр файлыг CD уруу шууд
шарахаар сонгож болно. Зарим хүмүүс үүнийг нөөцлөх зорилгоор хийдэг.
Энэ нь стандарт CD-г шарахаас илүү хурдан ажилладаг:
&prompt.root; burncd -f /dev/acd1 -s 12 data archive.tar.gz fixate
Тийм CD-д шарагдсан өгөгдлийг авахын тулд та түүхий төхөөрөмжийн
цэгээс өгөгдлийг унших ёстой:
&prompt.root; tar xzvf /dev/acd1
Та энэ дискийг ердийн CDROM-ийг холбодог шиг холбож чадахгүй.
Ийм CDROM нь FreeBSD-ээс өөр ямар ч үйлдлийн систем дээр уншигдахгүй.
Хэрэв та CD-гээ холбохыг эсвэл өөр үйлдлийн системтэй өгөгдлөө
хуваалцах хүсэлтэй байгаа бол дээр тайлбарласны дагуу &man.mkisofs.8;-г
ашиглах ёстой.
Марк
Фонвил
Хувь нэмэр болгон оруулсан
CD шарагч
ATAPI/CAM драйвер
ATAPI/CAM драйверийг ашиглах
Энэ драйвер нь ATAPI төхөөрөмжүүдэд (CD-ROM, CD-RW, DVD
хөтчүүд гэх мэт...) SCSI дэд системээр хандах боломжийг олгох
бөгөөд ингэснээр sysutils/cdrdao
эсвэл &man.cdrecord.1; зэрэг програмуудыг ашиглах боломжийг
олгодог.
Энэ драйверыг ашиглахын тулд та дараах мөрийг
/boot/loader.conf файл уруу нэмэх хэрэгтэй
болно:
atapicam_load="YES"
тэгээд өөрийн машинаа дахин ачаална.
Хэрэв та өөрийн цөмдөө &man.atapicam.4; дэмжлэгийг статикаар
эмхэтгэхийг хүсвэл энэ мөрийг өөрийн цөмийн тохиргооны файлдаа
нэмэх хэрэгтэй болно:
device atapicam
Мөн та өөрийн цөмийн тохиргооны файлдаа дараах мөрүүдийг бас нэмэх
хэрэгтэй болно:
device ata
device scbus
device cd
device pass
Эдгээр нь аль хэдийн байж байх ёстой. Дараа нь дахин бүтээгээд
өөрийн цөмийг суулгаж машинаа дахин ачаалах хэрэгтэй.
Ачаалах процессийн үед таны шарагч иймэрхүү маягаар гарч
ирэх ёстой:
acd0: CD-RW <MATSHITA CD-RW/DVD-ROM UJDA740> at ata1-master PIO4
cd0 at ata1 bus 0 target 0 lun 0
cd0: <MATSHITA CDRW/DVD UJDA740 1.00> Removable CD-ROM SCSI-0 device
cd0: 16.000MB/s transfers
cd0: Attempt to query device size failed: NOT READY, Medium not present - tray closed
Одоо хөтчид /dev/cd0 төхөрөөмжийн нэрийг
ашиглан хандаж болох бөгөөд жишээ нь CD-ROM-г /mnt-д холбохдоо
дараах тушаалыг бичих хэрэгтэй:
&prompt.root; mount -t cd9660 /dev/cd0 /mnt
root хэрэглэгчээр дараах тушаалыг ажиллуулж
та шарагчийн SCSI хаягийг авч болно:
&prompt.root; camcontrol devlist
<MATSHITA CDRW/DVD UJDA740 1.00> at scbus1 target 0 lun 0 (pass0,cd0)
Тэгэхээр 1,0,0 нь &man.cdrecord.1;
болон бусад SCSI програмтай ашиглах SCSI хаяг болох юм.
ATAPI/CAM болон SCSI системийн талаар дэлгэрэнгүй мэдээллийг
&man.atapicam.4; болон &man.cam.4; гарын авлагын хуудаснуудаас
лавлана уу.
Марк
Фонвил
Хувь нэмэр болгон оруулсан
Энди
Поляков
Зарим зүйл оруулсан
Оптик зөөвөрлөгчийг (DVD-үүд) үүсгэж ашиглах нь
DVD
шарах нь
Танилцуулга
CD-тэй харьцуулахад DVD нь оптик зөөвөрлөгч хадгалалтын технологийн
дараачийн үе юм. DVD нь ямар ч CD-ээс илүү өгөгдлийг агуулдаг бөгөөд
одоогийн видео хэвлэлтийн стандарт болжээ.
Бичигддэг DVD гэж бидний нэрлэдэг DVD-үүдийн физик 5 бичигддэг
хэлбэршүүлэлтийг тодорхойлж болно:
DVD-R: Энэ нь бичигддэг DVD-ий анхны хэлбэршүүлэлт юм.
DVD-R стандарт нь DVD хэлэлцүүлгээр
тодорхойлогдсон бөгөөд энэ нь зөвхөн нэг удаа
бичих хэлбэршүүлэлт юм.
DVD-RW: Энэ нь DVD-R стандартын дахин бичигдэх хувилбар юм.
DVD-RW нь ойролцоогоор 1000 удаа бичигдэх боломжтой.
DVD-RAM: Энэ нь DVD хэлэлцүүлгийн дэмждэг бас дахин бичигддэг
хэлбэршүүлэлт юм. DVD-RAM нь зөөгдөж болох хатуу хөтөч маягаар
харагддаг. Гэхдээ энэ зөөвөрлөгч нь ихэнх DVD-ROM хөтчүүд болон
DVD-Видео тоглуулагчуудтай нийцтэй биш байдаг; цөөн DVD бичигчид
DVD-RAM хэлбэршүүлэлтийг дэмждэг. DVD-RAM-ийн хэрэглээний талаар
илүү дэлгэрэнгүйг -с
уншина уу.
DVD+RW: Энэ нь DVD+RW
холбооноос тодорхойлсон дахин бичигдэх хэлбэршүүлэлт юм.
DVD+RW нь ойролцоогоор 1000 удаа бичигдэх боломжтой.
DVD+R: Энэ хэлбэршүүлэлт нь DVD+RW хэлбэршүүлэлтийн нэг удаа бичих
хувилбар юм.
Бичигддэг DVD-ий нэг давхарга нь 4,700,000,000 байт буюу
4.38 GB эсвэл 4485 MB (1 килобайт нь 1024 байт)
хүртэлх мэдээлэл агуулж чадна.
Физик зөөвөрлөгч болон програмыг ялгаж ойлгох ёстой. Жишээ нь
DVD-Видео нь дурын бичигддэг DVD физик зөөвөрлөгч DVD-R, DVD+R, DVD-RW гэх зэрэг
уруу бичигдэж болох тусгай байршлын зураглал юм. Зөөвөрлөгчийн төрлийг сонгохын өмнө
шарагч болон DVD-Видео тоглуулагч (дан тоглуулагч эсвэл компьютер дээрх DVD-ROM хөтөч)
нь хэрэглэхээр төлөвлөж байгаа зөөвөрлөгчтэй нийцтэй эсэхийг шалгах хэрэгтэй.
Тохиргоо
DVD бичлэг хийхэд &man.growisofs.1; програм ашиглагдана.
Энэ тушаал нь dvd+rw-tools хэрэгслүүдийн (sysutils/dvd+rw-tools) нэг хэсэг
юм. dvd+rw-tools нь DVD зөөвөрлөгчийн
бүх төрлийг дэмждэг.
Эдгээр хэрэгслүүд нь төхөөрөмжүүд уруу хандахын тулд SCSI дэд системийг
ашигладаг, тиймээс таны цөмд ATAPI/CAM
дэмжлэг нэмэгдсэн байх ёстой. Хэрэв таны шарагч USB интерфэйс ашигладаг
бол энэ нэмэлт нь хэрэггүй бөгөөд та USB төхөөрөмжүүдийн тохиргооны талаар илүү
дэлгэрэнгүйг -с унших шаардлагатай.
Та мөн ATAPI төхөөрөмжүүдийн хувьд DMA хандалтыг идэвхжүүлэх ёстой бөгөөд
дараах мөрийг /boot/loader.conf файлд
нэмж үүнийг хийнэ:
hw.ata.atapi_dma="1"
dvd+rw-tools-г ашиглахаасаа өмнө
өөрийн DVD шарагчтай холбоотой мэдээллийг dvd+rw-tools'
тоног төхөөрөмжийн нийцтэй байдал хаягаас лавлах хэрэгтэй.
Хэрэв та график хэрэглэгчийн интерфэйсийг хүсэж байвал
&man.growisofs.1; болон бусад олон шарагч хэрэгслүүдийг
хэрэглэгчид ашиглахад амар интерфэйсээр хангадаг
K3b (sysutils/k3b) програмыг
үзэх хэрэгтэй.
Өгөгдлийн DVD-үүдийг шарах нь
&man.growisofs.1; тушаал нь mkisofs-ийн нүүр хэсэг юм, энэ нь
шинэ файлын системийн байршлыг үүсгэхийн тулд &man.mkisofs.8;-г
дуудах бөгөөд DVD дээр бичих үйлдлийг гүйцэтгэнэ. Энэ нь та шарах
процессоос өмнө өгөгдлийн дүрсийг үүсгэх хэрэггүй гэсэн үг юм.
DVD+R эсвэл DVD-R уруу өгөгдлийг /path/to/data сангаас шарахдаа
дараах тушаалыг ашиглана:
&prompt.root; growisofs -dvd-compat -Z /dev/cd0 -J -R /path/to/data
Файлын системийг үүсгэхдээ тохируулгуудыг
&man.mkisofs.8;-д дамжуулдаг (энэ тохиолдолд Joilet болон Rock Ridge
өргөтгөлүүдтэй ISO 9660 файлын систем). Дэлгэрэнгүйг &man.mkisofs.8;
гарын авлагын хуудаснаас лавлана уу.
тохируулгыг ямар ч тохиолдолд
(олон сессүүд эсвэл ганц сесс) эхний сессийг бичихдээ хэрэглэдэг. DVD төхөөрөмж
/dev/cd0-г өөрийн тохиргооны дагуу өөрчлөх
хэрэгтэй. параметр дискийг хаах бөгөөд
бичилтийг нэмэх нь боломжгүй болох юм. Энэ нь DVD-ROM хөтчүүдтэй
зөөвөрлөгчийн нийцтэй байдлыг илүүтэй хангах юм.
Мөн урьдчилан урласан дүрсийг шарах бас боломжтой, жишээ нь
imagefile.iso дүрсийг шарахын
тулд бид дараах тушаалыг ажиллуулна:
&prompt.root; growisofs -dvd-compat -Z /dev/cd0=imagefile.iso
Бичих хурдыг олж зөөвөрлөгч ба ашиглагдаж байгаа хөтчөөс
хамаарч автоматаар тохируулах болно. Хэрэв та бичих хурдыг өөрчлөх
хүсэлтэй байгаа бол параметрийг ашиглах
хэрэгтэй. Дэлгэрэнгүй мэдээллийг &man.growisofs.1; гарын авлагын
хуудаснаас уншина уу.
DVD
DVD-Video
DVD-Видео шарах нь
DVD-Видео нь ISO 9660 болон микро-UDF (M-UDF тодорхойлолтууд
дээр тулгуурласан тусгай файлын байршлын зураглал юм. DVD-Видео нь бас
өгөгдлийн бүтцийн тусгай шатлалыг үзүүлдэг бөгөөд энэ нь DVD-г зохиохын тулд
multimedia/dvdauthor зэрэг тусгай
програмыг та яагаад ашиглах хэрэгтэй болдгийн шалтгаан юм.
Хэрэв танд DVD-Видео файлын системийн дүрс байгаа бол ямар ч дүрсний нэгэн
адил аргаар шарах хэрэгтэй. Өмнөх хэсгийн жишээнээс үзнэ үү. Хэрэв та
DVD зохиолт хийсэн бөгөөд үр дүн нь жишээ нь /path/to/video
санд байгаа бол DVD-Видеог шарахын тулд дараах тушаалыг ашиглах хэрэгтэй:
&prompt.root; growisofs -Z /dev/cd0 -dvd-video /path/to/video
тохируулга &man.mkisofs.8;-д
дамжуулагдах бөгөөд энэ нь DVD-Видео файлын системийн байршлын зураглал
үүсгэхийг тушаах болно. Үүнээс гадна
тохируулга нь &man.growisofs.1;-ийн
тохируулгыг агуулдаг.
DVD
DVD+RW
DVD+RW ашиглах нь
CD-RW-с ялгаатай нь шинэ DVD+RW нь ашиглагдахаа өмнө хэлбэршүүлэгдсэн
байх ёстой. &man.growisofs.1; нь шаардлагатай үед автоматаар үүнийг хийх
бөгөөд энэ аргыг зөвлөдөг юм. Гэхдээ та
dvd+rw-format тушаалыг ашиглан DVD+RW-г хэлбэршүүлж
болно:
&prompt.root; dvd+rw-format /dev/cd0
Та энэ үйлдлийг зөвхөн нэг удаа хийх хэрэгтэй бөгөөд зөвхөн шинэ DVD+RW
зөөвөрлөгчдийн хувьд хэлбэршүүлэх ёстойг санаарай. Дараа нь та DVD+RW-г дээрх
хэсгүүдэд дурдсаны адил шарж болно.
Хэрэв та шинэ өгөгдлийг (зарим өгөгдлийг нэмэх биш
бүр мөсөн шинэ файлын систем шарах) DVD+RW уруу шарахыг хүсэж байгаа бол
түүнийг хоосон болгох шаардлагагүй юм, иймэрхүүгээр өмнөх бичилтэн дээрээ
(шинэ сесс үүсгээд) дараад л бичих хэрэгтэй юм:
&prompt.root; growisofs -Z /dev/cd0 -J -R /path/to/newdata
DVD+RW хэлбэршүүлэлт нь өмнөх бичилтэд өгөгдлийг хялбараар нэмэх
боломжийг олгодог. Энэ үйлдэл нь шинэ сессийг хуучин байгаатай нь нийлүүлэх
бөгөөд энэ нь олон сесс бүхий бичилт биш юм. &man.growisofs.1; нь зөөвөрлөгч дээр
байгаа ISO 9660 файлын системийг өсгөх (сунгах)
болно.
Жишээ нь хэрэв бид өөрсдийн урьдны DVD+RW уруу өгөгдөл нэмэхийг
хүсвэл доор дурдсаныг ашиглах хэрэгтэй болно:
&prompt.root; growisofs -M /dev/cd0 -J -R /path/to/nextdata
Эхний сессийг шарахдаа бидний хэрэглэдэг &man.mkisofs.8;-ийн
адил тохируулгууд дараагийн бичилтүүдийн үеэр хэрэглэгдэх ёстой.
Хэрэв та DVD-ROM хөтчүүдтэй зөөвөрлөгчийн хувьд илүүтэй нийцтэй байхыг
хүсвэл тохируулгыг хэрэглэхийг
хүсэж болох юм. DVD+RW тохиолдлын хувьд энэ нь таныг өгөгдөл нэмэхийг болиулж
чадахгүй юм.
Хэрэв та ямар нэг шалтгаанаар зөөвөрлөгчийг хоосон болгохыг хүсвэл
доор дурдсаныг хийх хэрэгтэй:
&prompt.root; growisofs -Z /dev/cd0=/dev/zero
DVD
DVD-RW
DVD-RW ашиглах нь
DVD-RW нь дискний хоёр хэлбэршүүлэлтийг авдаг: нэмэгдсэн дараалсан
хэлбэршүүлэлт болон хязгаарлагдмал дарж бичих хэлбэршүүлэлт юм. Анхдагчаар
DVD-RW дискнүүд нь дараалсан хэлбэршүүлэлтэд байдаг.
Шинэ DVD-RW нь хэлбэршүүлэлт хийгдэлгүйгээр шууд бичигдэж болдог,
гэхдээ шинэ биш дараалсан хэлбэршүүлэлтэд байх DVD-RW нь шинэ эхний сесс
бичигдэхээс өмнө хоосон болгогдсон байх шаардлагатай байдаг.
Дараалсан горим дахь DVD-RW-г хоослохдоо дараах тушаалыг ажиллуулна:
&prompt.root; dvd+rw-format -blank=full /dev/cd0
Бүр мөсөн хоослолт () 1x зөөвөрлөгч
дээр нэг цаг орчим болно. Хэрэв DVD-RW нь Disk-At-Once (DAO) горимоор
бичигдэх бол хурдан хоослолтыг тохируулга ашиглан
хийж болно. DVD-RW-г DAO горимд шарахын тулд дараах тушаалыг ашиглана:
&prompt.root; growisofs -use-the-force-luke=dao -Z /dev/cd0=imagefile.iso
тохируулгыг
шаардах ёсгүй, учир нь &man.growisofs.1; нь (хурдан хоосолсон)
зөөвөрлөгчийг илрүүлэхийг бага оролдож DAO бичилтийг захиалах
болно.
Яг үнэндээ дурын DVD-RW-ийн хувьд хязгаарлагдмал дарж бичих горимыг
ашиглах хэрэгтэй бөгөөд энэ хэлбэршүүлэлт нь анхдагч нэмэгдсэн дараалсан
хэлбэршүүлэлтээс илүү уян хатан байдаг.
Дараалсан DVD-RW дээр өгөгдлийг бичихдээ бусад DVD хэлбэршүүлэлтийн
нэгэн адил заавруудыг ашиглана:
&prompt.root; growisofs -Z /dev/cd0 -J -R /path/to/data
Хэрэв та зарим өгөгдлийг өөрийн урьдны бичлэгт нэмэхийг хүсвэл
&man.growisofs.1;-ийн тохируулгыг ашиглах
хэрэгтэй болно. Гэхдээ хэрэв та нэмэгдсэн дараалсан горимд байгаа DVD-RW
уруу өгөгдлийг нэмэх үйлдлийг хийвэл диск дээр шинэ сесс үүсгэгдэх бөгөөд
үүний үр дүн нь олон сесс бүхий диск болох юм.
DVD-RW нь хязгаарлагдмал дарж бичих хэлбэршүүлэлтэд шинэ эхний
сессээс өмнө хоосон болгогдох шаардлагагүй, та ердөө л дискийг
тохируулгатай дарж бичих хэрэгтэй бөгөөд энэ нь
DVD+RW тохиолдолтой төстэй юм. Мөн диск дээр бичигдсэн байгаа ISO
9660 файлын системийг DVD+RW-тэй адил аргаар
тохируулгын тусламжтай өсгөж (сунгаж) бас болно. Үр дүн нь нэг сесс
бүхий DVD болох юм.
DVD-RW-г хязгаарлагдмал дарж бичих хэлбэршүүлэлтэд оруулахдаа
дараах тушаалыг ашиглах ёстой:
&prompt.root; dvd+rw-format /dev/cd0
Дараалсан хэлбэршүүлэлт уруу буцааж өөрчлөхдөө дараах тушаалыг ашиглана:
&prompt.root; dvd+rw-format -blank=full /dev/cd0
Олон сесс
Маш цөөн DVD-ROM хөтчүүд олон сесс бүхий DVD-үүдийг дэмждэг бөгөөд
тэдгээр нь ихэнхдээ зөвхөн эхний сессийг уншдаг. DVD+R, DVD-R болон DVD-RW нь
дараалсан хэлбэршүүлэлтдээ олон сессийг хүлээн авч чаддаг бөгөөд DVD+RW болон
DVD-RW хязгаарлагдмал дарж бичих хэлбэршүүлэлтүүдийн хувьд олон сесс гэсэн ойлголт
байдаггүй.
Дараалсан хэлбэршүүлэлтэд DVD+R, DVD-R эсвэл DVD-RW дээрх эхний
(хаагдаагүй) сессийн дараа дараах тушаалыг ашиглаж дискэнд шинэ
сесс үүсгэнэ:
&prompt.root; growisofs -M /dev/cd0 -J -R /path/to/nextdata
Энэ тушаалын мөрийг DVD+RW эсвэл DVD-RW-тэй цуг ашиглан хязгаарлагдмал дарж бичих
горим дээр шинэ сессийг хуучин байгаатай нийлүүлэн өгөгдлийг нэмэх болно. Үр дүн нь
нэг сесс бүхий диск болох юм. Энэ нь эдгээр зөөвөрлөгчүүд дээр эхний бичилтийн дараа
өгөгдөл нэмэх арга юм.
Зөөвөрлөгч дээрх зарим зай нь сесс бүрийн хооронд сессийн төгсгөл болон
эхлэлд хэрэглэгддэг. Тиймээс зөөвөрлөгчийн зайг оновчтой ашиглахын тулд
их өгөгдөлтэй сессүүдийг нэмэх ёстой юм. Сессийн тоо DVD+R-ийн хувьд 154,
DVD-R-ийн хувьд 2000 орчим, DVD+R хос давхаргын хувьд 127-оор
хязгаарлагдана.
Дэлгэрэнгүй мэдээллийг
DVD-ийн талаар илүү мэдээллийг авахын тулд
dvd+rw-mediainfo
/dev/cd0 тушаалыг хөтөч
дотор диск байхад ажиллуулж болно.
dvd+rw-tools-н тухай дэлгэрэнгүй
мэдээлэл нь &man.growisofs.1; гарын авлагын хуудас, dvd+rw-tools
вэб сайт болон cdwrite захидлын жагсаалтын
архивуудаас олдож болно.
Бичигдсэн үр дүн эсвэл асуудалтай зөөвөрлөгчийн dvd+rw-mediainfo
гаралт нь ямар ч асуудлын тайлангийн чухал хэсэг юм. Энэ гаралтгүйгээр танд туслах
бараг л боломжгүй юм.
DVD-RAM ашиглах нь
DVD
DVD-RAM
Тохиргоо
DVD-RAM бичигчид нь SCSI аль эсвэл ATAPI интерфэйстэй цуг ирдэг.
ATAPI төхөөрөмжүүдийн хувьд DMA хандалт идэвхтэй болсон байх ёстой,
дараах мөрийг /boot/loader.conf
файлд нэмж үүнийг хийнэ:
hw.ata.atapi_dma="1"
Зөөвөрлөгчийг бэлдэх нь
Өмнө нь бүлгийн танилцуулгад дурдсанаар DVD-RAM нь зөөврийн хатуу
хөтөч маягаар харагддаг. Бусад хатуу дискнүүдийн адил DVD- RAM нь ашиглагдаж
эхлэхээсээ өмнө бэлдэгдсэн
байх ёстой. Жишээн дээр дискний
бүх зай стандарт UFS2 файлын системтэй ашиглагдана:
&prompt.root; dd if=/dev/zero of=/dev/acd0 count=2
&prompt.root; bsdlabel -Bw acd0
&prompt.root; newfs /dev/acd0
DVD төхөөрөмж acd0-ийг өөрийн тохиргооны
дагуу өөрчлөн ашиглах ёстой.
Зөөвөрлөгчийг ашиглах нь
Дээрх үйлдлүүд DVD-RAM дээр хийгдсэний дараа үүнийг энгийн
хатуу хөтчийн нэгэн адил холбож болно:
&prompt.root; mount /dev/acd0 /mnt
Үүний дараа DVD-RAM нь уншигдах бичигдэх боломжтой болно.
Жулио
Мерино
Анхлан хийсэн
Мартин
Карлсон
Дахин бичсэн
Уян дискнүүдийг үүсгэж ашиглах нь
Өгөгдлийг уян дискнүүд уруу хадгалах нь заримдаа ашигтай байдаг. Жишээ нь
хэн нэгэнд нь шилжүүлж болдог ямар ч хадгалалтын зөөвөрлөгч байхгүй тохиолдолд
эсвэл бага хэмжээний өгөгдлийг өөр компьютер уруу зөөх хэрэгцээ гарсан үед уян
диск нь хэрэг болдог.
Энэ хэсэг нь FreeBSD дээр уян дискийг хэрхэн ашиглах талаар тайлбарлах болно.
Энд 3.5 инчийн DOS уян дискнүүдийг хэлбэршүүлж ашиглах талаар үндсэндээ
тайлбарлах бөгөөд гэхдээ энэ ойлголт нь бусад уян дискний хэлбэршүүлэлттэй
төстэй юм.
Уян дискнүүдийг хэлбэршүүлэх нь
Төхөөрөмж
Уян дискнүүдэд бусад төхөөрөмжүүдийн адил /dev
сан дахь оруулгуудаар ханддаг. Түүхий уян дискэнд хандахын тулд
/dev/fdN-г
ердөө л ашиглах хэрэгтэй.
Хэлбэршүүлэх нь
Уян дискийг ашиглахаасаа өмнө доод түвшний хэлбэршүүүлэлт
хийсэн байх хэрэгтэй. Үүнийг ихэвчлэн үйлдвэрлэгч хийдэг боловч
хэлбэршүүлэлт нь зөөвөрлөгчийн бүрэн бүтэн байдлыг шалгах нэг сайн
арга юм. Илүү том (эсвэл жижиг) дискний хэмжээг хүчлэн ашиглах
боломжтой байдаг боловч 1440kB хэмжээнд зориулагдан ихэнх уян
диск хийгдсэн байдаг.
Уян дискэнд доод түвшний хэлбэршүүлэлт хийхийн тулд та
&man.fdformat.1;-г ашиглах хэрэгтэй. Энэ хэрэгсэл нь төхөөрөмжийн
нэрийг нэмэлт өгөгдөл маягаар оруулахыг хүлээж байдаг.
Алдааны мэдэгдлийг тэмдэглэж аваарай, учир нь эдгээр нь
дискийг сайн эсвэл муу эсэхийг тодорхойлоход туслах болно.
Уян дискнүүдийг хэлбэршүүлэх нь
/dev/fdN
төхөөрөмжүүдийг ашиглан уян дискийг хэлбэршүүлэх хэрэгтэй. Шинэ 3.5 инч
диск өөрийн хөтөч уруугаа хийгээд дараах тушаалыг ажиллуул:
&prompt.root; /usr/sbin/fdformat -f 1440 /dev/fd0
Дискний шошго
Дискэнд доод түвшний хэлбэршүүлэлт хийсний дараа танд диск дээр шошго
тавих хэрэгтэй болно. Энэ дискний шошго нь дараа нь устгагдах боловч
дискний хэмжээ болон геометрийг дараа нь тодорхойлоход системд
хэрэг болдог.
Шинэ дискний шошго нь бүхэл дискийг хамарч уян дискний геометрийн тухай
бүх л зөв мэдээллийг агуулах болно. Дискний шошгоны геометрийн утгууд нь
/etc/disktab файлд жагсаагдсан
байдаг.
Та одоо ингэж &man.bsdlabel.8;-г ажиллуулж болно:
&prompt.root; /sbin/bsdlabel -B -r -w /dev/fd0 fd1440
Файлын систем
Одоо уян дискэнд дээд түвшний хэлбэршүүлэлт хийхэд бэлэн боллоо. Энэ нь
дискийг FreeBSD унших болон түүнд бичих боломжийг олгох шинэ файлын системийг
диск дээр байрлуулах болно. Шинэ файлын системийг үүсгэсний дараа дискний
шошго устгагдах бөгөөд хэрэв та дискийг дахин хэлбэршүүлэхийг хүсвэл дискний
шошгыг дахин үүсгэх шаардлагатай болно.
Уян дискний файлын систем нь UFS эсвэл FAT хоёрын аль нэг нь байна.
FAT нь ерөнхийдөө уян дискнүүдийн хувьд илүү дээр сонголт байдаг.
Уян диск дээр шинэ файлын системийг байрлуулахын талд дараах тушаалыг ажиллуулна:
&prompt.root; /sbin/newfs_msdos /dev/fd0
Диск одоо ашиглахад бэлэн боллоо.
Уян дискийг ашиглах нь
Уян дискийг ашиглахын тулд &man.mount.msdosfs.8; тушаалаар холбох хэрэгтэй. Мөн
портын цуглуулгаас emulators/mtools-г
ашиглаж бас болох юм.
Өгөгдлийн соронзон хальснууд үүсгэж ашиглах нь
соронзон хальс зөөвөрлөгч
Гол соронзон хальс зөөвөрлөгчүүд нь 4мм, 8мм, QIC, мини-хайрцаг болон DLT
юм.
4мм (DDS: Digital Data Storage)
соронзон хальс зөөвөрлөгч
DDS (4mm) соронзон хальснууд
соронзон хальс зөөвөрлөгч
QIC соронзон хальснууд
4мм соронзон хальснууд нь QIC-г халж ажлын станцын нөөц зөөвөрлөгч болон сонгогдож
байна. Conner компани нь QIC хөтчүүдийн тэргүүлэх үйлдвэрлэгч Archive-г
худалдаж авч дараа нь QIC хөтчүүдийг үйлдвэрлэхээ зогсоосноор энэ чиг хандлага нь
илүү хурдассан юм. 4мм хөтчүүд нь жижиг, чимээгүй боловч 8мм хөтчүүд шиг
найдвартай ажиллагаагаараа алдартай биш юм. Хайрцагнууд нь үнэтэй биш бөгөөд
8мм-ийн хайрцагнуудаас бага (3 x 2 x 0.5 инч, 76 x 51 x 12 мм) юм.
4мм соронзон хальс нь 8мм-ийн нэгэн адил шалтгаанаар толгой нь богино настай бөгөөд
хоёулаа мушгиа сканыг ашигладаг.
Эдгээр хөтчүүд дээрх өгөгдлийн дамжуулах чадвар нь ~150 kB/s-с
эхэлж ~500 kB/s хүрнэ. Өгөгдлийн багтаамж 1.3 GB-с эхэлж
2.0 GB хүрнэ. Тоног төхөөрөмжийн шахалт энэ хөтчүүдийн ихэнхэд байх
бөгөөд энэ нь багтаамжийг ойролцоогоор хоёр дахин нэмэгдүүлдэг. Олон хөтөч бүхий
соронзон хальсны сан (library) автомат соронзон хальс солигчтой нэг кабинетийн хувьд 6 хөтөчтэй
байж болно. Сангийн багтаамж нь 240 GB хүрнэ.
DDS-3 стандарт нь одоогоор 12 GB (эсвэл 24 GB шахагдсан)
багтаамжтай соронзон хальсыг дэмждэг.
4мм хөтчүүд нь 8мм-ийн хөтчүүдийн нэгэн адил мушгиа хайлтыг хэрэглэдэг.
Мушгиа хайлт хийхийн бүх ашигтай тал болон сул талууд нь 4мм болон 8мм-ийн хөтчүүдийн
аль алинд нь хамаардаг.
Соронзон хальснууд нь 2000 удаагийн ашиглалт эсвэл 100 бүрэн нөөцлөлтийн дараа
хэрэглээнээс гарах ёстой.
8мм (Exabyte)
соронзон хальс зөөвөрлөгч
Exabyte (8мм) соронзон хальснууд
8мм соронзон хальснууд нь хамгийн нийтлэг SCSI соронзон хальсны хөтчүүд юм; тэдгээр нь соронзон хальснууд
солих хамгийн сайн сонголт болдог. Бараг сайт бүр Exabyte 2 GB 8мм-ийн
соронзон хальсны хөтөчтэй байдаг. 8мм-ийн хөтчүүд нь найдвартай, хэрэглэхэд амар, чимээгүй
байдаг. Хайрцагнууд нь хямд, жижиг (4.8 x 3.3 x 0.6 инч; 122 x 84 x 15 мм)
байдаг. 8мм-ийн соронзон хальсны нэг сул тал нь толгойнуудын дагуух соронзон хальсны харьцангуй хөдөлгөөний
өндөр хувиас болоод харьцангуй богино толгой ба соронзон хальсны амьдрах хугацаатай байдаг явдал юм.
Өгөгдөл дамжуулах чадвар нь ~250 kB/s-аас ~500 kB/s хүртэл байна.
Өгөгдлийн хэмжээ нь 300 MB-аас эхэлж 7 GB хүрнэ. Тоног төхөөрөмжийн шахалт
энэ хөтчүүдийн ихэнхэд байх бөгөөд энэ нь багтаамжийг ойролцоогоор хоёр дахин нэмэгдүүлдэг.
Эдгээр хөтчүүд нь нэг буюу эсвэл нэг кабинетдаа 6 хөтөч болон 120 соронзон хальстай олон хөтөч
бүхий соронзон хальсны сан (library) хэлбэрээр байдаг. соронзон хальснууд нь автоматаар солигддог.
Сангийн багтаамж 840+ GB хүрнэ.
Exabyte Mammoth
загвар нь нэг соронзон хальс дээр 12 GB
((24 GB шахалттайгаар) дэмждэг бөгөөд ердийн соронзон хальсны хөтчөөс ойролцоогоор
хоёр дахин үнэтэй байдаг.
Өгөгдөл нь соронзон хальс уруу мушгиа скан ашиглагдан бичигддэг, толгойнууд нь зөөвөрлөгч уруу
өнцгөөр байрладаг (ойролцоогоор 6 градус). Соронзон хальс нь толгойнуудыг барьж байдаг дамрын
270 градус орчим ороодог. Соронзон хальс дамар дээгүүр гулгаж байхад дамар нь эргэж байдаг.
Үр дүнд нь өгөгдлийн өндөр нягтрал болон соронзон хальсны дагуу нэг ирмэгээс нөгөө уруу өнцөгдсөн ойрхон
багцалсан замууд үүсэх болно.
QIC
соронзон хальс зөөвөрлөгч
QIC-150
QIC-150 соронзон хальснууд болон хөтчүүд нь магадгүй хамгийн нийтлэг соронзон хальсны хөтөч, зөөвөрлөгч
юм. QIC соронзон хальсны хөтчүүд нь хамгийн хямд нухацтай
нөөцлөлтийн хөтчүүд
юм. Сул тал нь зөөвөрлөгчийн үнэ байдаг. QIC соронзон хальснууд нь 8мм болон 4мм соронзон хальснуудтай
харьцуулахад GB өгөгдлийн хадгалалтын хувьд 5 дахин үнэтэй байдаг. Гэхдээ таны
хэрэглээнд цөөн (half-dozen) соронзон хальснууд хангалттай бол QIC нь магадгүй зөв сонголт
болж болох юм. QIC нь хамгийн нийтлэг соронзон хальсны хөтөч юм.
Сайт бүр ямар нэг хэмжээний QIC хөтөчтэй байдаг. QIC нь физикийн хувьд төстэй (заримдаа адил)
соронзон хальснуудад их хэмжээний нягтралтай байдаг. QIC хөтчүүд нь чимээгүй биш юм.
Эдгээр хөтчүүд нь өгөгдлийг бичиж эхлэхээсээ өмнө дуутайгаар хайдаг бөгөөд
унших, бичих эсвэл хайхдаа мэдэгдэхүйц дуутай байдаг. QIC соронзон хальснууд нь
6 x 4 x 0.7 инч (152 x 102 x 17 мм) хэмжээтэй байдаг.
Өгөгдлийн дамжуулах чадвар ~150 kB/s-с ~500 kB/s хүртэл байна.
Өгөгдлийн багтаамж 40 MB-с 15 GB хүртэл байна. Шинэ QIC хөтчүүдийн
ихэнхэд тоног төхөөрөмжийн шахалт байдаг. QIC хөтчүүд нь бага суулгагддаг; тэдгээр нь
DAT хөтчүүдээр шахагдсан юм.
Өгөгдөл нь соронзон хальс уруу замаар бичигддэг. Замууд нь соронзон хальсны зөөвөрлөгчийн нэг төгсгөлөөс
нөгөө уруу урт тэнхлэгийн дагуу байдаг. Замуудын тоо болон замын өргөн соронзон хальсны багтаамжаас
хамаарч өөр өөр байдаг. Бүх шинэ хөтчүүдийн ихэнх нь хамгийн багадаа бодоход уншилтын
(ихэнхдээ бас бичилтийн хувьд) хуучинтайгаа нийцтэй байдаг. QIC нь өгөгдлийн аюулгүй
байдлын хувьд нэлээн нэр хүндтэй байдаг (механизм нь хөтчүүдийг мушгиа скан хийснээс
илүү хялбар бөгөөд хүчирхэг байдаг).
5,000 нөөцлөлтийн дараа соронзон хальснуудыг ашиглахаа болих шаардлагатай.
DLT
соронзон хальс зөөвөрлөгч
DLT
DLT нь энд жагсаагдсан бүх хөтчийн төрлүүдээс хамгийн хурдан өгөгдөл дамжуулах
чадвартай байдаг. 1/2" (12.5мм) соронзон хальс нь ганц дамартай хайрцагт
(4 x 4 x 1 инч; 100 x 100 x 25 мм) байдаг. Хайрцаг нь нэг талаараа
ганхах хаалгатай байдаг. Хөтчийн механизм соронзон хальсны тэргүүнийг гаргаж авахын тулд
энэ хаалгыг онгойлгодог. Соронзон хальсны тэргүүн нь зууван нүхтэй байх бөгөөд
хөтөч соронзон хальсыг дэгээдэхдээ
үүнийг ашигладаг. Авах (take-up)
дамар нь соронзон хальсны хөтчийн дотор байрладаг. Энд жагсаагдсан
бусад соронзон хальсны хайрцагнууд (9 замтай соронзон хальснууд нь жич юм) нь соронзон хальсны хайрцган дотор
байрлах хангах болон take-up дамруудтай байдаг.
Өгөгдөл дамжуулах чадвар нь ойролцоогоор 1.5 MB/s бөгөөд 4мм, 8м, QIC
соронзон хальсны хөтчүүдийн дамжуулах чадвараас 3 дахин их байдаг. Өгөгдлийн багтаамж нь
нэг хөтчийн хувьд 10 GB-аас 20 GB хүрдэг. Хөтчүүд нь олон соронзон хальс
солигчид болон олон соронзон хальс хэлбэрээр байдаг, олон хөтөч бүхий соронзон хальсны сангууд нь
нийтдээ 50 GB-с 9 TB хүртэл хадгалалт бүхий 5-аас 900 хүртэл соронзон хальснуудыг
1-ээс 20 хүртэлх хөтчүүд дээр агуулдаг.
Шахалттай бол DLT Төрөл 4 хэлбэршүүлэлт нь 70 GB багтаамжийг
дэмждэг.
Өгөгдөл нь соронзон хальсны замууд дээр аялалын чиглэлийн дагуу (QIC соронзон хальснуудын адил)
зэрэгцээгээр бичигддэг. Хоёр зам нэг удаа бичигддэг. Унших/бичих толгойны амьдрах хугацаа
харьцангуй урт байдаг; соронзон хальс хөдлөхөө болиход толгой болон соронзон хальсны хоорондын
хамаатай хөдөлгөөн байхгүй болно.
AIT
соронзон хальс зөөвөрлөгч
AIT
AIT нь Sony-гоос гаргасан шинэ хэлбэршүүлэлт бөгөөд нэг соронзон хальсны хувьд 50
GB хүртэл (шахалттайгаар) мэдээллийг агуулж чадна. Соронзон хальснууд нь санах ойн бичил
схемүүдийг агуулдаг бөгөөд эдгээр нь соронзон хальсны агуулгын индексийг хадгалдаг. Бусад
соронзон хальснуудын хувьд хэд хэдэн минут шаардагддаг бол харин энэ индексийг соронзон хальсны хөтөч
соронзон хальс дээрх файлуудын байрлалыг тодорхойлохын тулд маш хурдан уншдаг.
SAMS:Alexandria зэрэг програм нь
соронзон хальсны санах ойн бичил схемтэй шууд холбогдон агуулгыг дэлгэцэд гаргаж, ямар файлууд аль
соронзон хальс уруу нөөцлөгдсөнийг тодорхойлж, зөв соронзон хальсыг олон ачаалж соронзон хальснаас өгөгдлийг
сэргээн дөч болон түүнээс дээш AIT соронзон хальсны сангуудыг ажиллуулж чаддаг.
Үүнтэй адил сангууд $20,000 хавьцаа үнэ хүрч тэдгээрийг сонирхогчдын зах зээлээс
бага зэрэг шахдаг байна.
Шинэ соронзон хальсыг анх удаа ашиглах нь
Анхны удаа шинэ, хов хоосон соронзон хальсыг уншихыг оролдвол амжилтгүй болно.
Консолын мэдэгдлүүд үүнтэй төстэй байна:
sa0(ncr1:4:0): NOT READY asc:4,1
sa0(ncr1:4:0): Logical unit is in process of becoming ready
Соронзон хальс нь Identifier Block буюу Танигч Блокийг (block number 0)
агуулаагүй байна. Бүх QIC соронзон хальснууд нь QIC-525 стандартыг хэрэглэж эхэлснээс
хойш Танигч Блокийг соронзон хальсанд бичдэг. Хоёр шийдэл байдаг:
mt fsf 1 тушаал нь Танигч Блокийг соронзон хальс уруу
бичихийг соронзон хальсны хөтчид хэлнэ.
Нүүрний товчлуурыг ашиглан соронзон хальсыг гаргаж авна.
Соронзон хальсыг дахин хийгээд түүн уруу өгөгдлийг
dump хийнэ.
dump тушаал нь DUMP: End of tape
detected гэж мэдэгдэх бөгөөд консол HARDWARE
FAILURE info:280 asc:80,96 гэж харуулна.
mt rewind тушаал ашиглан соронзон хальсыг буцаана.
Дараа дараачийн соронзон хальсны үйлдлүүд амжилттай болно.
Уян диск уруу нөөцлөх
Өөрийн өгөгдлийг нөөцлөхийн тулд би уян дискнүүдийг ашиглаж болох уу?
нөөц уян дискнүүд
уян дискнүүд
Уян дискнүүд нь нөөц хийхэд тийм ч тохиромжтой зөөвөрлөгч биш юм, учир нь:
Энэ зөөвөрлөгч нь найдваргүй, ялангуяа урт хугацааны туршид найдваргүй
байдаг.
Нөөцлөх болон буцааж сэргээх нь их удаан байдаг.
Тэдгээр нь маш хязгаарлагдмал багтаамжтай (бүхэл бүтэн хатуу дискийг хэдэн арван
уян дискэнд нөөцлөх нь их олон өдөр шаардана).
Гэхдээ хэрэв танд өөрийн өгөгдлийг нөөцлөх өөр ямар ч арга байхгүй бол
уян дискнүүдэд нөөцлөх нь нөөц хийхгүй байснаас хамаагүй дээр юм.
Хэрэв та уян дискнүүд ашиглах шаардлагатай болсон бол сайн чанарынхыг
ашигласан эсэхээ шалгах хэрэгтэй. Оффис дээр чинь хоёр жил хэвтсэн уян дискнүүд
муу сонголт болох юм. Нэр хүндтэй үйлдвэрлэгчээс гаргасан шинэ дискнүүдийг
ашиглах нь зүйтэй юм.
Тэгэхээр би өөрийн өгөгдлийг уян диск уруу хэрхэн нөөцлөх вэ?
Уян диск уруу нөөцлөх хамгийн шилдэг арга нь &man.tar.1; тушаалыг
(олон эзлэхүүн) тохируулгатайгаар ашиглах
явдал юм. Энэ нь олон уян дискнүүдэд нөөцлөх боломжийг олгодог.
Тухайн сан болон дэд сан доторх бүх файлуудыг нөөцлөхийн тулд үүнийг
ашиглах хэрэгтэй (root хэрэглэгчээр):
&prompt.root; tar Mcvf /dev/fd0 *
Эхний уян диск дүүрсний дараа &man.tar.1; нь дараагийн эзлэхүүнийг
оруулахыг хүсэх болно (учир нь &man.tar.1; нь зөөвөрлөгчөөс хамааралгүй бөгөөд
эзлэхүүнүүдэд ханддаг; энд уян дискийг хэлж байна).
Prepare volume #2 for /dev/fd0 and hit return:
Энэ нь заагдсан файлууд архивлагдах хүртэл (эзлэхүүний дугаар нэмэгдэн)
давтагдах болно.
Би өөрийнхөө нөөцүүдийг шахаж болох уу?
tar
gzip
шахалт
Харамсалтай нь &man.tar.1; нь олон эзлэхүүн бүхий архивуудын хувьд
тохируулгыг ашиглахыг зөвшөөрдөггүй. Мэдээж та
бүх файлуудыг &man.gzip.1; хийж тэдгээрийг уян диск уруу &man.tar.1;
хийж дараа нь файлуудыг дахин &man.gunzip.1; хийж болно!
Би өөрийн нөөцүүдийг хэрхэн сэргээх вэ?
Бүхэл архивыг сэргээхдээ дараах тушаалыг ашиглана:
&prompt.root; tar Mxvf /dev/fd0
Зөвхөн заагдсан файлуудыг сэргээх хоёр арга байдаг бөгөөд та
тэдгээрийг ашиглаж болно. Эхлээд та эхний дискнээс эхлээд дараах тушаалыг
ашиглана:
&prompt.root; tar Mxvf /dev/fd0 filename
&man.tar.1; хэрэгсэл нь шаардлагатай файлыг олох хүртлээ дараа дараагийн уян дискнүүдийг
хийхийг танаас хүсэх болно.
Өөрөөр, хэрэв та файл нь яг аль уян диск дээр байгааг мэдэж байвал
ердөө л тэр уян дискийг оруулж дээрхтэй адил тушаалыг ашиглах хэрэгтэй.
Хэрэв уян диск дээрх эхний файл нь өмнөх диск дээрхийн үргэлжлэл бол
таныг асуугаагүй байсан ч гэсэн &man.tar.1; үүнийг сэргээж чадахгүй
гэж танд анхааруулах болно!
Лоуэл
Жилбэрт
Анхлан хийсэн
Нөөцлөх стратегууд
Нөөцлөх төлөвлөгөөг боловсруулах эхний шаардлага нь дараах бүх асуудлуудыг
хамарсан эсэхийг шалгах явдал юм:
Дискний гэмтэл
Санамсаргүй файл устгалт
Санамсаргүй файлын эвдрэл
Газар дээрх нөөцүүд байвал тэдгээрийг оруулаад машины
бүрэн сүйрэл (өөрөө хэлбэл гал).
Эдгээр асуудал бүрийг шал өөр техникээр шийдэснээр зарим системүүдийг
илүүтэй ажиллуулах төгс боломж байж болох юм. Маш бага үнэ цэнэтэй
өгөгдөл бүхий чанга хувийн системүүдийг тооцохгүй юм бол нэг техник нь
бүх асуудлуудыг хамрах нь бараг боломжгүй юм.
Хэрэгслийн хайрцаг дахь зарим нэг техникүүдийг дурдвал:
Бүх системийн архивууд нь сайтаас гадна байнгын зөөвөрлөгчид
нөөцлөгдөнө. Энэ нь дээр дурдсан бүх асуудлуудаас хамгаалах боловч
сэргээх нь тохиромжгүй удаан байдаг. Та нөөцүүдийн хуулбаруудыг
газар дээр нь ба/эсвэл шууд авч болохоор хадгалж болох боловч
файлуудыг сэргээх нь ялангуяа зөвшөөрөгдөөгүй хэрэглэгчдэд
бас л тохиромжгүй хэвээр байдаг.
Файлын системийн хормын хувилбарууд. Энэ нь яг үнэндээ зөвхөн
санамсаргүйгээр файлыг устгасан тохиолдолд тустай, гэхдээ
энэ нь тийм тохиолдолд маш тус болохуйц
байдаг бөгөөд хурдан, ажиллахад хялбар байдаг.
Бүх файлын систем ба/эсвэл дискнүүдийн хуулбарууд (бүхэл машины үе үе давтагдах
&man.rsync.1;). Энэ нь ерөнхийдөө онцгой шаардлага бүхий сүлжээнүүдэд хамгийн
ашигтай байдаг. Дискний эвдрэл, гэмтлийн эсрэг ерөнхий хамгаалалтын хувьд
энэ нь ихэвчлэн RAID-с чанарын хувьд муу байдаг. Санамсаргүйгээр
устгасан файлуудыг сэргээхэд энэ нь UFS хормын хувилбартай
дүйцэхээр боловч та алийг дээдэлдгээс хамаарах юм.
RAID. Диск эвдрэх, гэмтэх үед зогсох хугацааг
багасгаж зайлсхийдэг. Маш бага шаардлагатай хэдий ч дискний эвдрэлүүдтэй илүүтэй
зууралдах (учир нь та олон дисктэй) хэрэгтэй болдог.
Файлуудын байрлалыг (хурууны хээ) шалгах. Үүнд &man.mtree.8; хэрэгсэл их
ашигтай байдаг. Энэ нь нөөцлөх техник биш боловч танд өөрийн нөөцүүддээ хандахаар
болох үед та хэрэг болох болно. Энэ нь сайтаас гаднах шууд
бус нөөцүүдийн хувьд ялангуяа чухал бөгөөд үе үе шалгагдаж байх ёстой.
Үүнээс илүү олон техникийг бодож олох нь амархан бөгөөд тэдгээрийн
ихэнх нь дээр дурдсан техникүүдийн өөр хувилбарууд юм. Тусгайлсан шаардлагууд нь
ихэвчлэн тусгайлсан техникт хүргэдэг (жишээ нь шууд ажиллаж байгаа мэдээллийн
баазыг нөөцлөх нь зөвхөн мэдээллийн санд зориулагдсан аргыг дундын шат
болгон ихэвчлэн ашиглахыг шаарддаг). Ямар аюулуудаас та хамгаалахыг хүсэж байгаа болон
тэдгээр тус бүртэй хэрхэн ажиллахаа мэдэх нь чухал юм.
Нөөцлөлтийн үндсүүд
Гурван гол нөөцлөх програм бол &man.dump.8;, &man.tar.1; болон
&man.cpio.1; юм.
Dump ба Restore
нөөцлөх програм хангамж
dump / restore
dump
restore
Уламжлалт &unix; нөөцлөх програмууд нь dump ба
restore юм. Тэдгээр нь файлын системүүдээр үүсгэгдсэн
файлууд, холбоосууд болон сангуудын хийсвэр ойлголтуудын доор хөтчүүд дээр дискний
блокуудын цуглуулга хэлбэрээр ажилладаг. dump нь
төхөөрөмж дээрх бүхэл файлын системийг нөөцөлдөг. Файлын системийн зөвхөн
хэсгийг эсвэл нэгээс илүү файлын систем дагуу байрлах сангийн модыг энэ нь нөөцөлж
чаддаггүй. dump нь файлууд болон сангуудыг соронзон хальс уруу
бичдэггүй, харин файлууд болон сангуудаас тогтох түүхий өгөгдлийн блокуудыг
бичдэг.
Хэрэв та өөрийн root сандаа dump-г
хэрэглэвэл та /home,
/usr эсвэл бусад олон сангуудыг нөөцлөхгүй бөгөөд
үүний учир бол эдгээр нь ихэвчлэн бусад файлын системүүдийн холбох цэгүүд буюу
эсвэл тэдгээр файлын системүүд уруу заасан симболын холбоосууд байдаг.
dump нь өөрийн хөгжлийн эхний өдрүүд болох
AT&T UNIX-ийн 6-р хувилбараас (1975 он орчим) үлдсэн кодтой
байдаг. Анхдагч параметрүүд нь өнөөдөр байгаа өндөр нягтралтай (62,182 ftpi хүртэл)
зөөвөрлөгчид биш 9 зам (6250 bpi) бүхий соронзон хальсанд тохирдог. Одоогийн соронзон хальсны
хөтчүүдийн багтаамжийг хэрэглэхийн тулд эдгээр анхдагчуудыг тушаалын мөрөөс дарж
өөрчлөх ёстой.
.rhosts
Мөн сүлжээгээр өөр компьютерт холбогдсон соронзон хальсны хөтөч уруу өгөгдлийг
rdump болон rrestore
тушаал ашиглан нөөцлөх боломжтой байдаг. Энэ хоёр програм нь алсын соронзон хальсны
хөтчид хандахдаа &man.rcmd.3; болон &man.ruserok.3;-д тулгуурладаг.
Тиймээс нөөцлөлтийг хийж байгаа хэрэглэгч алсын компьютерийн
.rhosts файл дотор жагсаагдсан байх ёстой.
rdump болон rrestore
тушаалуудад өгөх нэмэлт өгөгдлүүд нь алсын компьютер дээр ашиглаж болохоор
байх ёстой. komodo гэж нэрлэгдсэн Sun уруу холбогдсон
Exabyte соронзон хальсны хөтөч уруу FreeBSD компьютераас rdump
хийхдээ дараах тушаалыг ашиглана:
&prompt.root; /sbin/rdump 0dsbfu 54000 13000 126 komodo:/dev/nsa8 /dev/da0a 2>&1
Болгоомжлоорой: .rhosts танин нэвтрэлтийг
зөвшөөрөх нь аюулгүй байдлын асуудлууд үүсгэдэг. Өөрийн нөхцөл байдлыг
анхааралтай үнэлэх хэрэгтэй.
Мөн dump болон restore
тушаалыг илүү аюулгүй загвараар ssh дээгүүр ашиглах
бас боломжтой байдаг.
ssh-ээр dump-г ашиглах нь
&prompt.root; /sbin/dump -0uan -f - /usr | gzip -2 | ssh -c blowfish \
targetuser@targetmachine.example.com dd of=/mybigfiles/dump-usr-l0.gz
Эсвэл dump-ийн дотор байдаг нэг арга болох RSH орчны хувьсагчийг
тохируулан ашиглаж болно:
ssh-ээр RSH тохируулан dump-г
ашиглах нь
&prompt.root; RSH=/usr/bin/ssh /sbin/dump -0uan -f targetuser@targetmachine.example.com:/dev/sa0 /usr
tar
нөөцлөх програм хангамж
tar
&man.tar.1; нь бас AT&T UNIX-ийн 6-р хувилбараас (1975 он орчим)
эхтэй. tar нь файлын системтэй хамт ажилладаг;
энэ нь файлууд болон сангуудыг соронзон хальс уруу бичдэг. tar
нь &man.cpio.1;-д байдаг бүрэн хэмжээний тохируулгуудыг дэмждэггүй боловч
энэ нь cpio-ийн хэрэглэдэг ховор тушаалын дамжуулах
хоолойг шаарддаггүй.
tar
FreeBSD 5.3 болон түүнээс хойшх хувилбарт GNU tar
болон анхдагч bsdtar тушаалууд байдаг. GNU хувилбарыг
gtar гэж ажиллуулж болдог. Энэ нь rdump-тай
адил дүрмийг ашиглаж алсын төхөөрөмжүүдийг дэмждэг.
komodo гэж нэрлэгдсэн Sun уруу холбогдсон
Exabyte соронзон хальсны хөтөч уруу tar
хийхдээ дараах тушаалыг ашиглана:
&prompt.root; /usr/bin/gtar cf komodo:/dev/nsa8 . 2>&1
Алсын соронзон хальсны хөтөч уруу өгөгдлийг илгээхдээ rsh болон
дамжуулах хоолой ашиглан bsdtar тушаалаар үүнийг бас
хийж болно.
&prompt.root; tar cf - . | rsh hostname dd of=tape-device obs=20b
Хэрэв та сүлжээгээр нөөцлөхийн аюулгүй байдалд санаа зовж байгаа бол
rsh-ийн оронд ssh тушаалыг
ашиглах хэрэгтэй.
cpio
нөөцлөх програм хангамж
cpio
&man.cpio.1; нь соронзон зөөвөрлөгчид зориулагдсан &unix;-ийн
анхны файл солилцох соронзон хальсны програм юм. cpio нь
(бусад олон тохируулгуудын дотроос) байт солилцохыг хийх, хэд хэдэн төрлийн
архивын хэлбэршүүлэлтүүдийг бичих болон өгөгдлийг өөр програм уруу хоолойгоор
гаргах зэрэг тохируулгуудтай байдаг. Сүүлийн боломж нь cpio-г
суулгацын зөөвөрлөгчийн хувьд сайн сонголт болгодог. cpio нь
сангийн модоор хэрхэн явахаа мэддэггүй бөгөөд файлуудын жагсаалтыг
stdin-ээс хангаж өгөх ёстой.
cpio
cpio нь сүлжээгээр нөөцлөхийг дэмждэггүй.
Та дамжуулах хоолой болон rsh-ийг ашиглаж өгөгдлийг
алсын соронзон хальсны хөтөч уруу илгээж болно.
&prompt.root; for f in directory_list; do
find $f >> backup.list
done
&prompt.root; cpio -v -o --format=newc < backup.list | ssh user@host "cat > backup_device"
directory_list нь таны нөөцлөхийг хүссэн
сангуудын жагсаалт бол
user@host нь
нөөцлөлтийг хийж байгаа хэрэглэгч/хостын нэрийн хослол бөгөөд
backup_device нь нөөцлөлт хийгдэх төхөөрөмж
(өөрөөр хэлбэл /dev/nsa0) юм.
pax
нөөцлөх програм хангамж
pax
pax
POSIX
IEEE
&man.pax.1; нь tar болон cpio
тушаалын IEEE/&posix;-ийн хариулт юм. Жил ирэх тутам tar болон
cpio тушаалуудын төрөл бүрийн хувилбарууд нь хоорондоо мэдэгдэхүйц
нийцгүй болж ирсэн юм. Тэдгээртэй тэмцэж бүр мөсөн стандартчилахын оронд
&posix; нь архивын шинэ хэрэгсэл үүсгэсэн юм. pax нь
өөрийн шинэ хэлбэршүүлэлтээс гадна cpio болон tar
тушаалуудын төрөл бүрийн хэлбэршүүлэлтийн ихэнхийг уншиж бичихийг оролддог.
Энэ тушаалын олонлог нь tar тушаалынхтай биш харин
cpio тушаалынхтай илүү төстэй байдаг.
Amanda
нөөцлөх програм хангамж
Amanda
Amanda
Amanda (Advanced Maryland
Network Disk Archiver) нь нэг програм биш клиент/сервер програм юм.
Amanda сервер нь ганц соронзон хальсны хөтөч уруу
Amanda клиенттэй, Amanda
сервер уруу сүлжээгээр холбогдсон дурын тооны компьютерийг нөөцлөх болно.
Хэд хэдэн том дискнүүд бүхий сайтууд дээр байдаг нийтлэг асуудлууд нь өгөгдлийг
соронзон хальс уруу нөөцлөхөд шаардагдах хугацаа нь уг үйлдлийн хувьд зориулагдсан
хугацаанаас илүү гарах явдал юм. Amanda нь
энэ асуудлыг шийддэг. Amanda нь
хэд хэдэн файлын системүүдийг нэг зэрэг нөөцлөхдөө holding disk буюу хүлээгдэх диск
ийг
ашигладаг. Amanda нь
архивын олонлогууд
буюу Amanda-ийн
тохиргооны файлд жагсаагдсан бүх файлын системүүдийн бүрэн нөөцлөлтүүдийг үүсгэхэд хэсэг хугацаанд
хэрэглэгдсэн бүлэг соронзон хальснуудыг үүсгэдэг. Архивын олонлогууд
нь бас
файлын системүүдийн шөнө болгоны нэмэгдсэн (эсвэл ялгаатай) нөөцлөлтүүдийг агуулдаг.
Эвдэрсэн файлын системийг сэргээх нь хамгийн сүүлийн бүрэн нөөцлөлт болон нэмэгдсэн
нөөцлөлтүүдийг шаарддаг.
Тохиргооны файл нь нөөцлөлтүүд болон Amanda-ийн
үүсгэдэг сүлжээний урсгалыг нарийн хянах боломжийг хангадаг. Amanda
нь өгөгдлийг соронзон хальс уруу бичихийн тулд дээр дурдсан нөөцлөлтийн програмуудыг
ашиглана. Amanda нь порт эсвэл багц хэлбэрээр
байдаг бөгөөд анхдагчаар суулгагдаагүй байдаг.
Юу ч хийхгүй байх
Юу ч хийхгүй байх
нь компьютерийн програм биш боловч энэ нь
хамгийн их ашиглагддаг нөөцлөлтийн стратеги юм. Ямар ч эхний зардал байхгүй.
Мөрдөх нөөцлөлтийн төлөвлөгөө байхгүй. Зүгээр л үгүй гэх хэрэгтэй. Хэрэв таны
өгөгдөлд ямар нэг асуудал тохиолдвол шүд зуугаад л тэвчих хэрэгтэй!
Хэрэв таны цаг болон өгөгдөл нь тийм ч чухал биш эсвэл юу ч биш бол
Do nothing буюу юу ч хийхгүй байх
нь таны компьютерийн
хувьд хамгийн тохиромжтой нөөцлөлтийн програм болох юм. Гэхдээ &unix;
нь ашигтай хэрэгсэл юм, та зургаан сарын дотор үнэтэй файлуудын цуглуулгатай болж
үүнийг мэдрэх болно.
Юу ч хийхгүй байх
нь /usr/obj
болон таны компьютераар яг үүсгэгдэж болох бусад сангийн моднуудын хувьд зөв
нөөцлөх арга болдог. Үүний жишээ нь энэ гарын авлагын HTML эсвэл &postscript;-с
тогтох хувилбарын файлууд байж болох юм. Эдгээр баримтын хэлбэршүүлэлтүүд нь
SGML оролтын файлуудаас үүсгэгддэг. HTML эсвэл &postscript; файлуудын
нөөцлөлтийг үүсгэх нь шаардлагагүй юм. SGML файлууд нь байнга нөөцлөгддөг.
Аль нөөцлөлтийн програм хамгийн шилдэг нь вэ?
LISA
&man.dump.8; Үе. Элизабет Д. Звики
энд дурдагдсан бүх нөөцлөлтийн програмуудыг зовоосон тест хийсэн. Өөрийн бүх өгөгдөл
болон &unix; файлын системүүдийн онцлогуудыг хадгалах цэвэр сонголт бол
dump болсон байна. Элизабет маш их төрөл бүрийн ховор
нөхцөлүүдийг (зарим нь тийм ч ховор биш) агуулсан файлын системүүдийг үүсгэж
тэдгээр файлын системүүдийг нөөцлөн дараа нь сэргээж програм бүрийг тест хийсэн
байна. Онцгой зүйлүүдэд цоорхойтой файлууд, хоосон блоктой болон цоорхойтой
файлууд, сонин тэмдэгт бүхий нэрээс тогтсон файлууд, бичигдэх боломжгүй уншигдах
боломжгүй файлууд, төхөөрөмжүүд, нөөцлөлтийн үед хэмжээгээ өөрчлөх файлууд,
нөөцлөлтийн үед үүсгэгдэж/устгагдсан файлууд зэргийг дурдаж болох юм.
Тэрээр үр дүнгээ 1991 оны 10 сард LISA дээр үзүүлсэн байна.
Нөөцлөлт
болон Архивын програмуудыг зовоох тест холбоосыг үзнэ үү.
Яаралтай сэргээх процедур
Гамшгийн өмнө
Учирч болзошгүй гамшигт бэлтгэхийн тулд таны хийх ёстой дөрвөн
үе шат байдаг.
bsdlabel
Эхлээд өөрийн диск бүрийн bsdlabel
(өөрөөр хэлбэл bsdlabel da0 | lpr), өөрийн
файлын системийн хүснэгт (/etc/fstab) болон
бүх ачаалалтын мэдэгдлүүдийг тус бүр хоёр хувь хэвлэх хэрэгтэй.
fix-it уян дискнүүд
Дараа нь ачаалах болон уян дискнүүд
(boot.flp болон fixit.flp)
таны бүх төхөөрөмжүүдийг агуулсан эсэхийг тодорхойлно. Хамгийн хялбараар
шалгах арга нь уян дискний хөтөчдөө ачаалах уян дискийг хийж дахин ачаалж ачаалалтын
мэдэгдлүүдийг шалгах явдал юм. Хэрэв таны бүх төхөөрөмжүүд байгаад ажиллаж
байвал гуравдугаар алхам уруу алгасаарай.
Эсрэг тохиолдолд та өөрийн бүх дискийг холбож таны соронзон хальсны хөтчид хандаж чадах
цөм бүхий тусгайлсан хоёр ачаалагдах уян диск бэлдэх хэрэгтэй. Эдгээр уян дискнүүд нь
fdisk, bsdlabel,
newfs, mount болон
таны ашигладаг програмуудыг агуулсан байх ёстой. Эдгээр програмууд нь
статикаар холбогдсон байх ёстой. Хэрэв та dump-г
ашигласан бол уян диск нь restore-г агуулсан байх
ёстой.
Гуравдугаарт нөөц соронзон хальснуудыг байнга үүсгэж байх хэрэгтэй. Таны сүүлийн нөөцлөлтөөс
хойш хийгдсэн өөрчлөлтүүд буцааж авагдах боломжгүйгээр алга болж болох юм. Нөөц
соронзон хальснууд уруу хийж болзошгүй бичилтийг хамгаалах хэрэгтэй.
Дөрөвдүгээрт уян дискнүүд (boot.flp болон
fixit.flp аль эсвэл хоёрдугаар үе дээр таны хийсэн
тусгайлсан хоёр ачаалагдах уян дискнүүд.) болон нөөц соронзон хальснуудыг тест хийнэ.
Процедурынхаа талаар тэмдэглэгээ хийх хэрэгтэй. Эдгээр тэмдэглэгээнүүдээ
ачаалагдах уян дискнүүд, хэвлэсэн зүйл болон нөөц соронзон хальснуудтайгаа цуг хадгалах
хэрэгтэй. Сэргээж байх үед таны анхаарал их сарнисан байж болох бөгөөд тэдгээр
тэмдэглэгээнүүд чинь таныг өөрийн нөөц соронзон хальснуудаа устгахаас сэргийлэх болно
(Яаж? tar xvf /dev/sa0 тушаалын оронд та
санамсаргүйгээр tar cvf /dev/sa0 гэж бичээд өөрийн
нөөц соронзон хальсыг дарж бичиж болох юм).
Аюулгүй байдлын нэмэгдэл арга хэмжээ болгож тухайг бүрт нь ачаалагдах уян
дискнүүд болон нөөц соронзон хальс хоёрыг бэлдэж байх хэрэгтэй. Тус бүрийг нь тусад нь алсад
өөр газар хадгалах хэрэгтэй. Тэр өөр газар нь яг тэр оффисийн байрны подвал байх
ЁСГҮЙ. Дэлхийн Худалдааны Төвийн хэд хэдэн фирм үүнийг хэцүү замаар мэдэрсэн
юм. Тэр өөр газар нь таны компьютерууд болон дискний хөтчүүдээс тусгаарлагдсан
физикийн хувьд нэлээд зайтай газар байх ёстой.
Ачаалагдах уян диск үүсгэх скрипт
/mnt/sbin/init
gzip -c -best /sbin/fsck > /mnt/sbin/fsck
gzip -c -best /sbin/mount > /mnt/sbin/mount
gzip -c -best /sbin/halt > /mnt/sbin/halt
gzip -c -best /sbin/restore > /mnt/sbin/restore
gzip -c -best /bin/sh > /mnt/bin/sh
gzip -c -best /bin/sync > /mnt/bin/sync
cp /root/.profile /mnt/root
cp -f /dev/MAKEDEV /mnt/dev
chmod 755 /mnt/dev/MAKEDEV
chmod 500 /mnt/sbin/init
chmod 555 /mnt/sbin/fsck /mnt/sbin/mount /mnt/sbin/halt
chmod 555 /mnt/bin/sh /mnt/bin/sync
chmod 6555 /mnt/sbin/restore
#
# create the devices nodes
#
cd /mnt/dev
./MAKEDEV std
./MAKEDEV da0
./MAKEDEV da1
./MAKEDEV da2
./MAKEDEV sa0
./MAKEDEV pty0
cd /
#
# create minimum file system table
#
cat > /mnt/etc/fstab < /mnt/etc/passwd < /mnt/etc/master.passwd <
Гамшгийн дараа
Түлхүүр асуулт бол: таны тоног төхөөрөмж амьд гарч чадсан уу? Байнгын
нөөцлөлт хийж байсан болохоор програм хангамжийн талаар та санаа зовох хэрэггүй
юм.
Хэрэв тоног төхөөрөмж эвдэрсэн бол компьютерийг ашиглахаасаа өмнө
эвдэрсэн хэсгүүдийг солих шаардлагатай.
Хэрэв таны тоног төхөөрөмж зүгээр байгаа бол уян дискнүүдээ шалгаарай.
Хэрэв та тусгайлан өөрчилсөн ачаалах уян диск ашиглаж байгаа бол ганц хэрэглэгчийн
горим уруу ачаалах хэрэгтэй (boot: хүлээх мөрөн дээр
-s гэж бичнэ). Дараагийн хэсгийг алгасаарай.
Хэрэв та boot.flp болон
fixit.flp уян дискнүүдийг ашиглаж байгаа бол
цааш нь уншаарай. boot.flp уян дискээ эхний уян дискний
хөтөчдөө хийгээд компьютераа ачаалах хэрэгтэй. Эхний суулгах цэс дэлгэц дээр гарах
болно. Fixit--Repair mode with CDROM or floppy.
тохируулгыг сонгоно. fixit.flp-г асуухад нь хийнэ.
Танд хэрэгтэй restore болон бусад програмууд
/mnt2/rescue санд байрлана
(5.2 хувилбараас хуучин &os;-ийн хувьд
/mnt2/stand).
Файлын систем бүрийг тус тусад нь сэргээнэ.
mount
root хуваалт
bsdlabel
newfs
Өөрийн эхний дискний root хуваалтыг mount (өөрөөр хэлбэл
mount /dev/da0a /mnt) хийхийг оролдоорой. Хэрэв bsdlabel
эвдэрсэн бол bsdlabel тушаалыг ашиглан дискийг дахин
хувааж таны хэвлэж хадгалсан шошготой адил тааруулж хаяглах хэрэгтэй.
newfs тушаал ашиглан файлын системүүдийг дахин үүсгэнэ.
Уян дискний root хуваалтыг унших-бичихээр дахин холбох хэрэгтэй (mount -u -o rw
/mnt). Энэ файлын системийн хувьд өгөгдлийг сэргээхийн тулд
өөрийн нөөцлөх програм болон соронзон хальснуудыг ашиглана (өөрөөр хэлбэл restore vrf
/dev/sa0). Файлын системийг салгана (өөрөөр хэлбэл umount
/mnt). Эвдэрсэн файлын систем бүрийн хувьд давтана.
Таны систем ажилласны дараа өөрийн өгөгдлийг шинэ соронзон хальс уруу нөөцлөх хэрэгтэй.
Сүйрэл эсвэл өгөгдлийн алдагдалд хүргэсэн тэр явдал дахин болж болох юм. Одоо зарцуулсан
нэг цаг таныг зовлонд учрахаас хожим аварч болох юм.
* I Did Not Prepare for the Disaster, What Now?
]]>
Марк
Фонвил
Дахин зохион байгуулж өргөжүүлсэн
Сүлжээ, санах ой болон файл дээр тулгуурласан файлын системүүд
виртуал дискнүүд
дискнүүд
виртуал
Өөрийн компьютер уруу физикээр хийж болдог уян диск, CD-үүд, хатуу хөтчүүд гэх зэрэг
дискнүүдээс гадна бусад хэлбэрийн дискнүүд буюу виртуал дискнүүдийг
FreeBSD ойлгодог.
NFS
Coda
дискнүүд
санах ой
Эдгээрт Network File System буюу сүлжээний файлын систем
болон Coda зэрэг сүлжээний файлын системүүд, санах ой дээр тулгуурласан файлын
системүүд болон файл дээр тулгуурласан файлын системүүд орно.
FreeBSD-ийн ямар хувилбарыг ажиллуулж байгаагаас хамаарч та
файл дээр болон санах ой дээр тулгуурласан файлын системүүдийг үүсгэж
ашиглахдаа өөр өөр хэрэгслүүдийг хэрэглэх шаардлагатай болно.
Хэрэглэгчийн хувьд мэдэгдэлгүйгээр төхөөрөмжийн цэгүүдийг хуваарилахын тулд
&man.devfs.5;-г ашиглана.
Файл дээр тулгуурласан файлын систем
дискнүүд
файл дээр тулгуурласан
&man.mdconfig.8; хэрэгсэл нь FreeBSD дээр санах ой дээр тулгуурласан
дискнүүд, &man.md.4;-г тохируулж идэвхжүүлэхэд хэрэглэгддэг.
&man.mdconfig.8;-г ашиглахын тулд та &man.md.4; модулийг ачаалах
хэрэгтэй, эсвэл өөрийн цөмийн тохиргооны файлдаа дэмжлэгийг нэмэх
хэрэгтэй болно:
device md
&man.mdconfig.8; тушаал нь гурван төрлийн санах ой дээр тулгуурласан
виртуал дискийг дэмждэг: эдгээр нь &man.malloc.9;-р хуваарилагдсан санах
ойн дискнүүд, файл эсвэл swap зай ашигласан санах ойн дискнүүд юм.
Нэг боломжтой хэрэглээ нь файлд хадгалагдсан уян эсвэл CD дүрсийг
холбох явдал юм.
Байгаа файлын системийн дүрсийг холбохдоо:
mdconfig ашиглан байгаа файлын системийн дүрсийг холбох нь
&prompt.root; mdconfig -a -t vnode -f diskimage -u 0
&prompt.root; mount /dev/md0 /mnt
&man.mdconfig.8; ашиглан шинэ файлын системийн дүрсийг үүсгэхдээ:
mdconfig тушаал ашиглан шинэ файл дээр тулгуурласан диск үүсгэх нь
&prompt.root; dd if=/dev/zero of=newimage bs=1k count=5k
5120+0 records in
5120+0 records out
&prompt.root; mdconfig -a -t vnode -f newimage -u 0
&prompt.root; bsdlabel -w md0 auto
&prompt.root; newfs md0a
/dev/md0a: 5.0MB (10224 sectors) block size 16384, fragment size 2048
using 4 cylinder groups of 1.25MB, 80 blks, 192 inodes.
super-block backups (for fsck -b #) at:
160, 2720, 5280, 7840
&prompt.root; mount /dev/md0a /mnt
&prompt.root; df /mnt
Filesystem 1K-blocks Used Avail Capacity Mounted on
/dev/md0a 4710 4 4330 0% /mnt
Хэрэв та тохируулгаар нэгжийн дугаарыг
зааж өгөхгүй юм бол &man.mdconfig.8; нь хэрэглэгдээгүй төхөөрөмжийг
сонгохын тулд &man.md.4; автомат хуваарилалтыг ашиглах болно.
Хуваарилагдсан нэгжийн нэр нь stdout уруу md4
мэтээр гарах болно. &man.mdconfig.8;-ийн тухай дэлгэрэнгүй
мэдээллийг гарын авлагын хуудаснаас лавлана уу.
&man.mdconfig.8; хэрэгсэл нь их ашигтай, гэхдээ энэ нь
файл дээр тулгуурласан файлын систем үүсгэхийн тулд олон тушаалын мөрийг
асуудаг. FreeBSD нь бас &man.mdmfs.8; гэж нэрлэгддэг хэрэгсэлтэй
ирдэг, энэ програм нь &man.md.4;-г &man.mdconfig.8; тушаал
ашиглан тохируулж &man.newfs.8; ашиглан UFS файлын систем түүн
дээр тавьж &man.mount.8; ашиглан түүнийг холбодог. Жишээ нь
хэрэв та дээрхтэй ижил файлын системийн дүрсийг үүсгэж холбохыг
хүсвэл ердөө л дараах тушаалыг бичээрэй:
mdmfs тушаал ашиглан файл дээр тулгуурласан дискийг тохируулж холбох нь
&prompt.root; dd if=/dev/zero of=newimage bs=1k count=5k
5120+0 records in
5120+0 records out
&prompt.root; mdmfs -F newimage -s 5m md0 /mnt
&prompt.root; df /mnt
Filesystem 1K-blocks Used Avail Capacity Mounted on
/dev/md0 4718 4 4338 0% /mnt
Хэрэв та тохируулгыг нэгжийн дугааргүй
ашиглавал &man.mdmfs.8; нь ашиглагдаагүй төхөөрөмжийг автоматаар
сонгохдоо &man.md.4; авто-нэгж боломжийг ашиглах болно.
&man.mdmfs.8;-ийн тухай дэлгэрэнгүй мэдээллийг гарын авлагын
хуудаснаас лавлана уу.
Санах ой дээр тулгуурласан файлын систем
дискнүүд
санах ойн файлын систем
Санах ой дээр тулгуурласан файлын системийн хувьд
swap backing буюу swap дээрх тулгуурлалтыг
ихэнхдээ ашиглах хэрэгтэй. swap дээрх тулгуурлалтыг ашиглах нь санах ойн
диск нь анхдагчаар диск уруу swap хийгдэнэ гэсэн үг биш бөгөөд харин ердөө л санах
ойн диск нь санах ойн цөөрмөөс хуваарилагдаж хэрэв хэрэгцээтэй бол диск уруу
swap хийгдэж болно гэсэн үг юм. Мөн &man.malloc.9; дээр тулгуурласан
санах ойн дискийг үүсгэх боломжтой байдаг. Гэхдээ malloc дээр тулгуурласан
санах ойн дискнүүдийг, ялангуяа том хэмжээтэйг нь ашиглах нь цөм санах ойгүй
болох тохиолдолд системийг сүйрэлд хүргэж болох юм.
mdconfig тушаал ашиглан шинэ санах ой
дээр тулгуурласан диск үүсгэх нь
&prompt.root; mdconfig -a -t swap -s 5m -u 1
&prompt.root; newfs -U md1
/dev/md1: 5.0MB (10240 sectors) block size 16384, fragment size 2048
using 4 cylinder groups of 1.27MB, 81 blks, 192 inodes.
with soft updates
super-block backups (for fsck -b #) at:
160, 2752, 5344, 7936
&prompt.root; mount /dev/md1 /mnt
&prompt.root; df /mnt
Filesystem 1K-blocks Used Avail Capacity Mounted on
/dev/md1 4718 4 4338 0% /mnt
mdmfs тушаал ашиглан шинэ санах ой
дээр тулгуурласан диск үүсгэх нь
&prompt.root; mdmfs -s 5m md2 /mnt
&prompt.root; df /mnt
Filesystem 1K-blocks Used Avail Capacity Mounted on
/dev/md2 4846 2 4458 0% /mnt
Системээс санах ойн дискийг салгах нь
дискнүүд
санах ойн дискийг салгах нь
Санах ой дээр тулгуурласан эсвэл файл дээр тулгуурласан файлын систем
ашиглагдахгүй байгаа бол та бүх эх үүсвэрүүдийг системд суллаж өгөх
шаардлагатай. Эхний хийх ёстой зүйл нь файлын системийг салгаад дараа нь
&man.mdconfig.8; ашиглан дискийг системээс салгаж эх үүсвэрүүдийг
суллана.
Жишээ нь /dev/md4-г салгаж түүний хэрэглэсэн
бүх эх үүсвэрүүдийг чөлөөлөхийн тулд дараах тушаалыг ажиллуулна:
&prompt.root; mdconfig -d -u 4
Тохиргоо хийгдсэн &man.md.4; төхөөрөмжүүдийн тухай мэдээллийг
mdconfig -l тушаал ашиглан жагсааж болно.
Том
Рөүдс
Хувь нэмэр болгон оруулсан
Файлын системийн хормын хувилбарууд
файлын системүүд
хормын хувилбарууд
FreeBSD нь Soft Updates
буюу зөөлөн шинэчлэлтүүдийн хамт Файлын системийн хормын хувилбарууд
боломжийг санал болгодог.
Хормын хувилбарууд нь заасан файлын системүүдийн дүрсийг үүсгэж
тэдгээртэй файлтай ханддаг шиг хандах боломжийг хэрэглэгчид зөвшөөрдөг.
Хормын хувилбарын файлууд нь үйлдэл хийгдсэн файлын систем дээр
үүсгэгдэх ёстой бөгөөд нэг файлын системийн хувьд 20-с ихгүй хормын
хувилбаруудыг хэрэглэгч үүсгэж болно. Идэвхтэй хормын хувилбарууд нь
супер блокт бичигддэг бөгөөд ингэснээр тэдгээр нь системийн дахин ачаалалтуудын
үед салгах болон дахин холбох явцад тэсвэртэй байдаг. Хормын хувилбар нь
хэрэггүй болсон үед энэ нь стандарт &man.rm.1; тушаалаар устгагдаж
болно. Хормын хувилбарууд нь ямар ч дарааллаар устгагдаж болох
бөгөөд гэхдээ ашиглагдсан бүх зайг дахин олж авахгүй байж болох юм.
Учир нь өөр нэг хормын хувилбар чөлөөлөгдсөн блокуудын заримыг
шаардаж болзошгүй юм.
Өөрчлөгдөхгүй файл тохируулга нь
хормын хувилбарыг эхлээд үүсгэсний дараа &man.mksnap.ffs.8; тушаалаар
заагддаг. &man.unlink.1; тушаал нь хормын хувилбарын файлуудын хувьд
орхидог бөгөөд учир нь энэ нь тэдгээрийг устгахыг зөвшөөрдөг байна.
Хормын хувилбарууд нь &man.mount.8; тушаалаар үүсгэгддэг.
/var-ийн хормын хувилбарыг
/var/snapshot/snap файлд байрлуулахын тулд
дараах тушаалыг ашиглана:
&prompt.root; mount -u -o snapshot /var/snapshot/snap /var
Өөрөөр та хормын хувилбар үүсгэхийн тулд &man.mksnap.ffs.8;-г
ашиглаж болно:
&prompt.root; mksnap_ffs /var /var/snapshot/snap
Файлын систем (өөрөөр хэлбэл /var) дээр хормын хувилбарын
файлуудыг &man.find.1; тушаал ашиглан олж болно:
&prompt.root; find /var -flags snapshot
Хормын хувилбар үүсгэгдсэний дараа энэ нь хэд хэдэн хэрэглээтэй
байдаг:
Зарим администраторууд хормын хувилбарын файлыг нөөцийн зорилгоор
ашигладаг, учир нь хормын хувилбар нь CD-үүд эсвэл соронзон хальс уруу
дамжуулагдаж болдог.
Файлын системийн бүрэн бүтэн байдлыг шалгадаг &man.fsck.8; нь
хормын хувилбар дээр ажиллаж болдог. Файлын систем нь холбогдсон
үедээ цэвэр байсан гэж үзвэл та үргэлж цэвэр (өөрчлөгдөөгүй)
үр дүнг авах болно. Үүнийг гол нь арын &man.fsck.8;
процесс хийдэг.
&man.dump.8; хэрэгслийг хормын хувилбар дээр ажиллуулдаг.
Хормын хувилбарын файлын систем болон цагтай нэг янз хуулбар
хийгддэг. &man.dump.8; нь бас хормын хувилбарыг авч
нөөц дүрсийг үүсгэж чаддаг бөгөөд дараа нь хормын хувилбарыг
нэг тушаалаар тугийг ашиглан устгаж
чаддаг.
Хормын хувилбарыг файлын системийн хөлдөөгдсөн дүрс маягаар
&man.mount.8; хийдэг. /var/snapshot/snap
хормын хувилбарыг &man.mount.8; хийхийн тулд доор дурдсаныг
ажиллуулна:
&prompt.root; mdconfig -a -t vnode -f /var/snapshot/snap -u 4
&prompt.root; mount -r /dev/md4 /mnt
Та одоо /mnt-д холбогдсон өөрийн хөлдөөгдсөн
/var файлын системийн шатлалаар аялж болно.
Хормын хувилбар үүсгэх үе дэх төлвийн адил төлөвт бүгд эхлээд байна.
Цорын ганц өөр зүйл нь өмнөх хормын хувилбарууд нь тэг урттай файлууд
маягаар гарч ирэх болно. Хормын хувилбарын хэрэглээг хязгаарлах
үед үүнийг дараах тушаалыг ажиллуулан салгаж болно:
&prompt.root; umount /mnt
&prompt.root; mdconfig -d -u 4
буюу зөөлөн шинэчлэлтүүд болон
файлын системийн хормын хувилбаруудын талаар дэлгэрэнгүй мэдээллийг
техникийн баримтуудыг оролцуулаад та Маршал Кирк МкКюзикийн вэб хуудас
уруу зочлон орж үзэж болно.
Файлын системийн ноогдлууд
бүртгэл хийх
дискний зай
дискний ноогдлууд
Quota буюу ноогдол нь хэрэглэгч эсвэл бүлгийн гишүүдийн хувьд дискний зай ба/эсвэл
файлуудын тоог файлын систем тус бүрийн хувьд хуваарилж хязгаарлах боломжийг
бүрдүүлэх үйлдлийн системийн нэг нэмэлт боломж юм. Энэ нь дурын нэг хэрэглэгч
эсвэл бүлэг хэрэглэгчдийн хуваарилж болох эх үүсвэрүүдийг хязгаарлах шаардлагатай
цаг хуваалцах систем дээр ихэвчлэн хэрэглэгддэг. Энэ нь нэг хэрэглэгч эсвэл
бүлэг хэрэглэгчид бүх байгаа дискний зайг хэрэглэхээс хамгаалдаг юм.
Дискний ноогдлуудыг идэвхтэй болгохын тулд өөрийн системийг тохируулах нь
Дискний ноогдлыг ашиглаж эхлэхээсээ өмнө ноогдлууд нь цөмд тохируулагдсан
эсэхийг шалгах шаардлагатай. Дараах мөрийг өөрийн цөмийн тохиргооны файлд
нэмж үүнийг хийнэ:
options QUOTA
Анхны GENERIC цөм нь үүнийг анхнаасаа идэвхжүүлээгүй
байдаг болохоор та дискний ноогдлуудыг ашиглахын тулд тусгайлсан цөмийг тохируулж бүтээн
суулгах хэрэгтэй болох юм. Цөмийн тохиргооны талаар дэлгэрэнгүй мэдээллийг
-с лавлана уу.
Дараа нь та дискний ноогдлуудыг /etc/rc.conf файлд
идэвхжүүлэх хэрэгтэй. Дараах мөрийг нэмж үүнийг хийнэ:
enable_quotas="YES"
дискний ноогдлууд
шалгах нь
Өөрийн ноогдлын эхлүүлэлтэд сайн хяналт тавихад хэрэгтэй нэмэлт тохиргооны
хувьсагчууд байдаг. Ердийн үед ачаалалтын үеэр файлын систем бүрийн ноогдлын
бүрэн бүтэн байдал &man.quotacheck.8; програмаар шалгагддаг.
&man.quotacheck.8; боломж нь ноогдлын мэдээллийн бааз дахь өгөгдөл
файлын систем дээрх өгөгдлийг зөв тусгаж байгаа эсэхийг шалгаж байдаг.
Энэ нь хугацаа их шаардсан процесс бөгөөд таны систем ачаалах хугацаанд мэдэгдэхүйц
нөлөөлдөг. Хэрэв та энэ алхмыг алгасахыг хүсвэл энэ зорилгоор хувьсагчийг
/etc/rc.conf файлд тохируулах хэрэгтэй:
check_quotas="NO"
Төгсгөлд нь та файлын систем бүрийн хувьд дискний ноогдлуудыг идэвхжүүлэхийн
тулд /etc/fstab файлыг засварлах хэрэгтэй.
Энд та хэрэглэгч эсвэл бүлгийн ноогдлууд эсвэп хоёуланг нь өөрийн бүх файлын системийн
хувьд идэвхжүүлэх боломжтой юм.
Файлын систем дээр хэрэглэгч бүрийн хувьд ноогдлуудыг идэвхжүүлэхийн тулд
өөрийн ноогдлууд идэвхжүүлэхийг хүсэж байгаа файлын системийн хувьд
/etc/fstab файлын харгалзах оруулгын options буюу
тохируулгыг заах талбарт тохируулгыг нэмж
өгөх хэрэгтэй. Жишээ нь:
/dev/da1s2g /home ufs rw,userquota 1 2
Үүнтэй төстэйгээр бүлгийн ноогдлуудыг идэвхжүүлэхийн тулд
тохируулгын оронд
тохируулгыг ашиглах хэрэгтэй. Хэрэглэгч болон бүлгийн ноогдлуудыг хоёуланг нь
идэвхжүүлэхийн тулд оруулгыг ингэж өөрчилнө:
/dev/da1s2g /home ufs rw,userquota,groupquota 1 2
Анхдагчаар ноогдлын файлууд файлын системийн root санд
хэрэглэгчийн ноогдлын хувьд quota.user, бүлгийн
ноогдлын хувьд quota.group нэрээр хадгалагддаг.
Дэлгэрэнгүй мэдээллийг &man.fstab.5;-с үзнэ үү. &man.fstab.5;
гарын авлагын хуудас ноогдлын файлуудын хувьд өөр байрлалыг зааж өгч болохыг
хэлдэг боловч ноогдлын төрөл бүрийн хэрэгслүүд үүнтэй зөв ажиллаж чаддаггүй
болохоор ингэхийг зөвлөдөггүй юм.
Энэ үед хүрээд та өөрийн системийг шинэ цөмтэй дахин ачаалах хэрэгтэй.
/etc/rc нь таны /etc/fstab
файлд идэвхжүүлсэн бүх ноогдлуудын хувьд эхний ноогдлын файлуудыг үүсгэдэг
тохирох тушаалуудыг автоматаар ажиллуулах бөгөөд ингэснээр ямар ч тэг урттай ноогдлын
файлуудыг гараар үүсгэх шаардлагагүй юм.
Ердийн үйлдлүүдийн үед &man.quotacheck.8;, &man.quotaon.8;, эсвэл
&man.quotaoff.8; тушаалуудыг та заавал ажиллуулах ёсгүй юм. Гэхдээ
тэдгээрийн хийдэг үйлдлүүдтэй танилцахын тулд тэдгээрийн гарын авлагын хуудаснуудыг
уншихыг хүсэж болох юм.
Ноогдлын хязгаарлалтуудыг тохируулах нь
дискний ноогдлууд
хязгаарлалтууд
Та ноогдлыг идэвхжүүлж өөрийн системийг тохируулсны дараа тэдгээр нь
яг жинхэнэдээ идэвхтэй болсон эсэхийг шалгаарай. Үүнийг хийх хялбар арга нь
дараах тушаалыг ажиллуулах явдал юм:
&prompt.root; quota -v
Та ноогдлууд идэвхжүүлэгдсэн файлын систем бүрийн хувьд дискний хэрэглээ
болон тухайн үеийн ноогдлын хязгаарлалтуудын ерөнхий нэг мөр үр дүнг харах
ёстой.
Та одоо &man.edquota.8; тушаал ашиглан ноогдлын хязгаарлалтуудыг
зааж өгч эхлэхэд бэлэн боллоо.
Хэрэглэгч эсвэл бүлгийн хуваарилж болох дискний зай болон тэд хичнээн файл
үүсгэж болох хэмжээний хязгаарлалтуудыг хүчлэн зааж өгч болох хэд хэдэн сонголт танд
байдаг. Та хуваарилалтыг дискний зай (блок ноогдлууд) эсвэл файлын тоо (inode ноогдлууд)
эсвэл хоёулангийн хослолоор хязгаарлан өгч болно. Эдгээр хязгаарлалт бүр дараа нь
хоёр зэрэглэлт хуваагддаг: энэ нь хатуу ба зөөлөн хязгаарлалтууд юм.
хатуу хязгаарлалт
Хатуу хязгаарлалтаас илүү гарч болохгүй. Хэрэглэгч өөрийн хатуу хязгаарлалтад
хүрэхэд асуудалтай байгаа файлын систем дээр хэрэглэгч ямар ч хуваарилалт хийж
чадахгүй болно. Жишээ нь хэрэв хэрэглэгч файлын систем дээр 500 кбайт хатуу
хязгаарлалттай бөгөөд 490 кбайтыг одоогоор ашиглаж байгаа бол хэрэглэгч
зөвхөн 10 кбайтыг нэмж хуваарилж чадна. 11 кбайт нэмж хуваарилахыг оролдох нь
амжилтгүй болох болно.
зөөлөн хязгаарлалт
Нөгөө талаас зөөлөн хязгаарлалтууд нь тодорхой хугацааны туршид илүү гарч
болно. Энэ хугацааг энэрэнгүй хугацаа гэдэг бөгөөд анхдагчаар нэг долоо хоног
байдаг. Хэрэв хэрэглэгч өөрийн зөөлөн хязгаарлалтаас илүү гарсан хэвээр
энэрэнгүй хугацааг өнгөрөх юм бол зөөлөн хязгаарлалт нь хатуу хязгаарлалт болж
дахин хуваарилалтыг зөвшөөрдөггүй. Хэрэглэгч зөөлөн хязгаарлалтаас доош
орвол энэрэнгүй хугацаа дахин тавигдах болно.
Дараах нь &man.edquota.8; тушаалыг ажиллуулах үед таны харж болох
гаралтын жишээ юм. &man.edquota.8; тушаалыг ажиллуулахад
EDITOR орчны хувьсагчид заагдсан засварлагч уруу
эсвэл EDITOR хувьсагч заагдаагүй бол
vi засварлагч уруу таныг оруулах бөгөөд энэ нь
ноогдлын хязгаарлалтуудыг засварлах боломжийг танд олгоно.
&prompt.root; edquota -u test
Quotas for user test:
/usr: kbytes in use: 65, limits (soft = 50, hard = 75)
inodes in use: 7, limits (soft = 50, hard = 60)
/usr/var: kbytes in use: 0, limits (soft = 50, hard = 75)
inodes in use: 0, limits (soft = 50, hard = 60)
Та ноогдлууд идэвхжүүлэгдсэн файлын систем бүрийн хувьд хоёр мөрийг ердийн үед
харах болно. Нэг мөр нь блокийн хязгаарлалтад, нөгөө мөр нь inode хязгаарлалтад
зориулагддаг. Ноогдлын хязгаарлалтуудыг өөрчлөхийн тулд та ердөө л утгыг шинэчлэхийг хүсэж
байгаа утгаараа солих хэрэгтэй. Жишээ нь энэ хэрэглэгчийн блок хязгаарлалтыг
зөөлөн хязгаарлалт 50, хатуу хязгаарлалт 75 байсныг зөөлөн хязгаарлалт 500 болон
хатуу хязгаарлалт 600 болгон өсгөхийн тулд дараах:
/usr: kbytes in use: 65, limits (soft = 50, hard = 75)
мөрийг доорх шиг болгож өөрчлөх хэрэгтэй:
/usr: kbytes in use: 65, limits (soft = 500, hard = 600)
Таныг засварлагчаас гарсны дараа шинэ ноогдлын хязгаарлалтууд
байрандаа орох болно.
Заримдаа ноогдлын хязгаарлалтуудыг зарим UID-ийн хүрээний хувьд
зааж өгөх шаардлага гардаг. Үүнийг &man.edquota.8; тушаалд
тохируулгыг ашиглан хийдэг. Эхлээд хэрэглэгчид
хүссэн ноогдлын хязгаарлалтаа зааж өгөөд дараа нь
edquota -p protouser startuid-enduid
тушаалыг ажиллуулна. Жишээ нь хэрэв хэрэглэгч test
хүссэн ноогдлын хязгаарлалттай байгаа бол энэ ноогдлын хязгаарлалтыг
10,000-с 19,999 хүртэлх UID-уудад хувилж хамааруулахын тулд дараах тушаалыг
ажиллуулна:
&prompt.root; edquota -p test 10000-19999
Дэлгэрэнгүй мэдээллийг &man.edquota.8; гарын авлагын хуудаснаас үзнэ үү.
Ноогдлын хязгаарлалтууд болон дискний хэрэглээг шалгах нь
дискний ноогдлууд
шалгах нь
Ноогдлын хязгаарлалтууд болон дискний хэрэглээг шалгахын тулд
та &man.quota.1; эсвэл &man.repquota.8; тушаалын нэгийг
ашиглаж болно. &man.quota.1; тушаалыг хэрэглэгч эсвэл бүлгийн
ноогдлууд болон дискний зайг шалгахад хэрэглэж болно. Хэрэглэгч нь
зөвхөн өөрийн ноогдол болон өөрийн гишүүн бүлгийн ноогдлыг шалгаж
чадна. Зөвхөн супер хэрэглэгч бүх хэрэглэгч болон бүлгийн ноогдлуудыг
харж болно. &man.repquota.8; тушаалыг ноогдлууд идэвхжүүлэгдсэн
файлын системүүдийн хувьд бүх ноогдлууд болон дискний хэрэглээний
ерөнхий дүнг авахад хэрэглэж болно.
Дараах нь хоёр файлын систем дээр ноогдлын хязгаарлалттай хэрэглэгчийн
хувьд quota -v тушаалын жишээ гаралт
юм.
Disk quotas for user test (uid 1002):
Filesystem usage quota limit grace files quota limit grace
/usr 65* 50 75 5days 7 50 60
/usr/var 0 50 75 0 50 60
энэрэнгүй хугацаа
Дээрх жишээний /usr файлын систем дээр
хэрэглэгч 50 кбайтын зөөлөн хязгаарлалтыг 15 кбайтаар илүүдүүлсэн
байгаа бөгөөд 5 хоногийн энэрэнгүй хугацаа үлдсэн байна. Од
* тэмдэгт нь хэрэглэгч өөрийн ноогдлын хязгаарлалтаас
илүү гарсныг харуулж байна.
Ердийн үед хэрэглэгч ямар ч дискний зай ашиглаагүй байгаа тийм файлын системүүд,
файлын системийн хувьд ноогдлын хязгаарлалт байсан ч гэсэн &man.quota.1; тушаалын
гаралтад харагддаггүй байна. тохируулга нь тэдгээр
файлын системүүдийг харуулах бөгөөд дээрх жишээн дээр
/usr/var файлын системийг харуулж
байна.
NFS дээгүүрх ноогдлууд
NFS
Ноогдлууд нь NFS сервер дээр ноогдлын дэд системээр хянагддаг.
&man.rpc.rquotad.8; демон нь NFS клиентүүд дээр өөрсдийн ноогдлын
статистикуудыг хэрэглэгчдэд үзэх боломжийг олгож ноогдлын мэдээллийг тэдгээр
машинууд дээр &man.quota.1; тушаалд бэлэн болгож өгдөг.
rpc.rquotad-г
/etc/inetd.conf файлд ингэж идэвхжүүлнэ:
rquotad/1 dgram rpc/udp wait root /usr/libexec/rpc.rquotad rpc.rquotad
Одоо inetd-г дахин ачаал:
&prompt.root; kill -HUP `cat /var/run/inetd.pid`
Лаки
Грийн
Хувь нэмэр болгон оруулсан
shamrock@cypherpunks.to
Дискний хуваалтуудыг шифрлэх нь
дискнүүд
шифрлэх нь
FreeBSD нь өгөгдөлд зөвшөөрөгдөөгүй хандах хандалтын эсрэг
маш сайн шууд хамгаалалтуудыг санал болгодог. Файлын зөвшөөрлүүд болон
Mandatory Access Control (MAC) буюу Албадмал Хандалт Хяналт
(-г үзнэ үү) нь компьютер ассан, үйлдлийн систем
идэвхтэй байх үед зөвшөөрөлгүй гуравдагч нөхдүүдийг өгөгдөлд хандахаас
хамгаалахад тусалдаг. Гэхдээ хэрэв халдагч компьютерт физик хандалт олж аван
компьютерийн хатуу хөтчийг өөр систем уруу зөөн эмзэг өгөгдлийг хуулж шинжилгээ хийж чадах
бол үйлдлийн системийн мөрдүүлдэг зөвшөөрлүүд нь хамааралгүй болох юм.
Халдагч хэрхэн хатуу диск эсвэл унтраасан компьютерийг эзэмшсэнээс үл хамаарч
&os; дээрх GEOM Based Disk Encryption (gbde)
буюу GEOM дээр тулгуурласан дискний шифрлэлт болон geli
криптограф дэд системүүд нь компьютерийн файлын системүүд дээрх өгөгдлийг
бүр чухал эх үүсвэрүүд бүхий, зорилгодоо хүрэхээр ихээхэн чармайсан халдагчдаас
хамгаалж чадах юм. Зөвхөн тухайн файл бүрийг шифрлэдэг ярвигтай шифрлэлтийн
аргуудаас ялгаатай нь gbde болон geli
нь бүх файлын системүүдийг харагдаж мэдэгдэхгүйгээр шифрлэдэг. Хатуу дискний
хавтгайд цэвэр текст хэзээ ч бичигддэггүй.
gbde-ээр диск шифрлэх
root болно
gbde-г тохируулахад супер хэрэглэгчийн
эрхүүдийг шаарддаг.
&prompt.user; su -
Password:
Цөмийн тохиргооны файлдаа &man.gbde.4; дэмжлэгийг нэмнэ
Дараах мөрийг цөмийн тохиргооны файлдаа нэмнэ:
options GEOM_BDE
Цөмөө -д тайлбарласны дагуу дахин бүтээнэ.
Шинэ цөм уруугаа дахин ачаална.
Цөмийг дахин бүтээхээс өөр нэг арга нь kldload
ашиглаж &man.gbde.4;-г ачаалах явдал юм:
&prompt.root; kldload geom_bde
Шифрлэгдсэн хатуу хөтчүүдийг бэлдэх нь
Дараах жишээ нь таныг өөрийн систем уруу шинэ хатуу хөтөч нэмж
ганц шифрлэгдсэн хуваалтыг агуулна гэж тооцдог. Энэ хуваалт нь
/private гэж холбогдох болно.
gbde нь
/home болон /var/mail-г
бас шифрлэхэд ашиглагддаг боловч энэ нь энэ танилцуулгын хүрээнээс хальж
илүү төвөгтэй заавруудыг шаарддаг.
Шинэ хатуу хөтчийг нэмнэ
Шинэ хөтчийг систем уруу -д тайлбарласны дагуу нэмнэ. Энэ жишээн
дээр шинэ хатуу хөтчийн хуваалт /dev/ad4s1c
гэж нэмэгдсэн байгаа. /dev/ad0s1*
төхөөрөмжүүд нь жишээ систем дээр байгаа стандарт FreeBSD хуваалтуудыг
харуулж байна.
&prompt.root; ls /dev/ad*
/dev/ad0 /dev/ad0s1b /dev/ad0s1e /dev/ad4s1
/dev/ad0s1 /dev/ad0s1c /dev/ad0s1f /dev/ad4s1c
/dev/ad0s1a /dev/ad0s1d /dev/ad4
gbde цоож файлуудыг агуулах санг үүсгэнэ
&prompt.root; mkdir /etc/gbde
gbde цоож файл нь шифрлэгдсэн хуваалтуудад
хандахад gbde-д шаардагдах мэдээллийг
агуулдаг. Цоож файлд хандах боломжгүй бол gbde
нь шифрлэгдсэн хуваалтын агуулсан өгөгдлийг хөндлөнгийн их хүч шаардсан оролцоогүйгээр
буцааж тайлж чадахгүй юм. Үүнийг програм хангамж дэмждэггүй.
Шифрлэгдсэн хуваалт бүр тусдаа цоож файл ашигладаг.
gbde хуваалтыг эхлүүлнэ
gbde хуваалт ашиглагдаж эхлэхээсээ өмнө
эхэлж тохируулагдсан байх шаардлагатай. Энэ эхний тохируулга нь зөвхөн нэг
удаа хийгдэх ёстой:
&prompt.root; gbde init /dev/ad4s1c -i -L /etc/gbde/ad4s1c
&man.gbde.8; нь загварт төрөл бүрийн тохиргооны сонголтуудыг зааж
өгөх боломжийг танд өгч таны засварлагчийг онгойлгох болно. UFS1
эсвэл UFS2-той ашиглахын тулд sector_size-г 2048 гэж заана:
$FreeBSD: src/sbin/gbde/template.txt,v 1.1 2002/10/20 11:16:13 phk Exp $
#
# Sector size is the smallest unit of data which can be read or written.
# Making it too small decreases performance and decreases available space.
# Making it too large may prevent filesystems from working. 512 is the
# minimum and always safe. For UFS, use the fragment size
#
sector_size = 2048
[...]
&man.gbde.8; нь өгөгдлийг аюулгүй болгоход хэрэглэгдэх ёстой нэвтрэх
үгийг хоёр удаа бичихийг танаас хүснэ. Нэвтрэх үг нь хоёуланд нь адил
байх ёстой. gbde-ийн таны өгөгдлийг
хамгаалах чадвар таны сонгосон нэвтрэх үгийн чанараас бүхэлдээ
хамаарна.
Амархан тогтоож болох аюулгүй нэвтрэх үгийг хэрхэн сонгох талаар
зөвлөгөөнүүдийг Diceware
Passphrase вэб хуудаснаас үзнэ үү.
gbde init тушаал нь таны
gbde хуваалтад зориулж цоож файлыг
үүсгэх бөгөөд энэ жишээн дээр /etc/gbde/ad4s1c
гэж хадгалагдсан байна.
gbde цоож файлууд нь шифрлэгдсэн
хуваалтуудын агуулгатай цуг нөөцлөгдөх ёстой.
Зөвхөн цоож файлыг устгах нь шийдсэн халдагч
gbde хуваалтыг буцааж тайлахаас
хамгаалж чаддаггүй бөгөөд цоож файлгүйгээр хууль ёсны эзэмшигч
нь шифрлэгдсэн хуваалт дээрх өгөгдөлд &man.gbde.8; болон түүнийг зохиогчийн
ерөөсөө дэмждэггүй, их хүч шаардсан ажиллагаагүйгээр хандаж чадахгүй болох
юм.
Шифрлэгдсэн хуваалтыг цөмд залгана
&prompt.root; gbde attach /dev/ad4s1c -l /etc/gbde/ad4s1c
Шифрлэгдсэн хуваалтыг эхэлж тохируулж байх үед таны сонгосон нэвтрэх
үгийг оруулахыг танаас асуух болно. Шинэ шифрлэгдсэн төхөөрөмж
/dev дотор
/dev/device_name.bde гэж гарч
ирнэ:
&prompt.root; ls /dev/ad*
/dev/ad0 /dev/ad0s1b /dev/ad0s1e /dev/ad4s1
/dev/ad0s1 /dev/ad0s1c /dev/ad0s1f /dev/ad4s1c
/dev/ad0s1a /dev/ad0s1d /dev/ad4 /dev/ad4s1c.bde
Шифрлэгдсэн төхөөрөмж дээр файлын систем үүсгэнэ
Шифрлэгдсэн төхөөрөмж цөмд залгагдсаны дараа та энэ төхөөрөмж дээр
файлын систем үүсгэж болно. Шифрлэгдсэн төхөөрөмж дээр файлын
систем үүсгэхийн тулд &man.newfs.8;-г ашиглана. Хуучин UFS1
файлын системийг эхлүүлснээс шинэ UFS2 файлын системийг эхлүүлэх нь
хамаагүй хурдан учраас &man.newfs.8;-г
тохируулгатай хэрэглэхийг зөвлөдөг.
&prompt.root; newfs -U -O2 /dev/ad4s1c.bde
&man.newfs.8; тушаал нь төхөөрөмжийн нэрэндээ
*.bde гэж
өргөтгөлөөр танигдах залгагдсан gbde
хуваалт дээр хийгдэх ёстой.
Шифрлэгдсэн хуваалтыг холбоно
Шифрлэгдсэн файлын системд зориулж холбох цэгийг үүсгэнэ.
&prompt.root; mkdir /private
Шифрлэгдсэн файлын системийг холбоно.
&prompt.root; mount /dev/ad4s1c.bde /private
Шифрлэгдсэн файлын систем байгаа эсэхийг шалгана
Шифрлэгдсэн файлын систем одоо &man.df.1;-д харагдаж
ашиглахад бэлэн болох ёстой.
&prompt.user; df -H
Filesystem Size Used Avail Capacity Mounted on
/dev/ad0s1a 1037M 72M 883M 8% /
/devfs 1.0K 1.0K 0B 100% /dev
/dev/ad0s1f 8.1G 55K 7.5G 0% /home
/dev/ad0s1e 1037M 1.1M 953M 0% /tmp
/dev/ad0s1d 6.1G 1.9G 3.7G 35% /usr
/dev/ad4s1c.bde 150G 4.1K 138G 0% /private
Байгаа шифрлэгдсэн файлын системүүдийг холбох нь
Ачаалалт бүрийн дараа ямар ч шифрлэгдсэн файлын системүүдийг
ашиглаж эхлэхээсээ өмнө цөмд дахин залгаж, алдааг нь шалгаж холбож болно.
Шаардлагатай тушаалуудыг root хэрэглэгч
ажиллуулах ёстой гэж үздэг.
gbde хуваалтыг цөмд залгана
&prompt.root; gbde attach /dev/ad4s1c -l /etc/gbde/ad4s1c
Шифрлэгдсэн gbde хуваалтыг
эхэлж тохируулж байх үед таны сонгосон нэвтрэх үгийг оруулахыг
танаас асуух болно.
Файлын систем дээр алдааг шалгана
Шифрлэгдсэн файлын системүүд нь автоматаар холбогдохын тулд
/etc/fstab файлд одоохондоо
жагсаагдах боломжгүй учир файлын системүүд дээр алдаа байгаа эсэхийг
шалгаж тэдгээрийг холбохоос өмнө &man.fsck.8;-г гараар ажиллуулах ёстой.
&prompt.root; fsck -p -t ffs /dev/ad4s1c.bde
Шифрлэгдсэн файлын системийг холбоно
&prompt.root; mount /dev/ad4s1c.bde /private
Шифрлэгдсэн файлын систем одоо ашиглахад бэлэн боллоо.
Шифрлэгдсэн хуваалтуудыг автоматаар холбох нь
Шифрлэгдсэн хуваалтыг автоматаар залган шалгаж холбох скриптийг үүсгэж
болох боловч аюулгүй байдлын шалтгаанаас болоод скрипт нь
&man.gbde.8; нууц үгийг агуулсан байх ёсгүй. Харин эдгээр
скриптүүдийг гараар ажиллуулж нууц үгийг консол эсвэл &man.ssh.1;-ээр
оруулахыг зөвлөдөг.
Өөр нэг арга нь rc.d скрипт байдаг. Энэ
скриптийн нэмэлт өгөгдлүүдийг &man.rc.conf.5;-оор дамжуулж болно,
жишээ нь:
- gbde_autoattach_all="YES"
-gbde_devices="ad4s1c"
+ gbde_autoattach_all="YES"
+gbde_devices="ad4s1c"
Энэ нь gbde нэвтрэх үгийг ачаалах
үед оруулахыг шаарддаг. Зөв нэвтрэх үгийг бичсэний дараа
gbde шифрлэгдсэн хуваалт автоматаар
холбогдох болно. Энэ нь gbde-г
зөөврийн компьютер дээр хэрэглэж байгаа үед их ашигтай байдаг.
gbde-ийн ажиллуулдаг криптограф хамгаалалтууд
&man.gbde.8; нь 128-bit AES-ийг CBC горимд ашиглан сектор ачааг
шифрлэдэг. Диск дээрх сектор бүр өөр өөр AES түлхүүрээр шифрлэгддэг.
Секторын түлхүүрүүд хэрэглэгчийн оруулсан нэвтрэх үгээс хэрхэн гаргагддаг зэрэг
gbde-ийн криптограф дизайны талаар
дэлгэрэнгүйг &man.gbde.4;-ээс үзнэ үү.
Нийцтэй байдлын асуудлууд
&man.sysinstall.8; нь gbde-шифрлэгдсэн
төхөөрөмжүүдтэй нийцгүй байдаг. Бүх
*.bde төхөөрөмжүүдийг
&man.sysinstall.8; эхлүүлэхээс өмнө цөмөөс салгасан байх ёстой бөгөөд
ингэхгүй бол энэ нь төхөөрөмжүүдийг шалгаж эхлэхдээ сүйрэх болно. Бидний жишээн
дээр ашиглагдсан шифрлэгдсэн төхөөрөмжийг салгахдаа дараах тушаалыг
ашиглана:
&prompt.root; gbde detach /dev/ad4s1c
Мөн &man.vinum.4; нь &man.geom.4; дэд системийг
ашигладаггүйг анхаараарай, та gbde-г
vinum эзлэхүүнүүдтэй ашиглаж
болохгүй.
Даниэл
Гэрзо
Хувь нэмэр болгон оруулсан
geli-ээр диск шифрлэх нь
Шинэ криптограф GEOM ангилал &os; 6.0-с эхлэн
geli гэж орж иржээ. Үүнийг одоогоор
- &a.pjd; хөгжүүлж байгаа болно. Geli нь
+ &a.pjd; хөгжүүлж байгаа болно. geli нь
gbde-ээс өөр бөгөөд энэ нь өөр боломжуудыг
санал болгож криптограф үйлдэлдээ өөр схемийг ашигладаг.
&man.geli.8;-ийн хамгийн чухал боломжууд бол:
&man.crypto.9; тогтолцоог ашигладаг —
криптограф тоног төхөөрөмж бэлэн болоход geli
түүнийг автоматаар ашигладаг.
Олон криптограф алгоритмуудыг дэмждэг (одоогоор AES, Blowfish,
болон 3DES).
root хуваалтыг шифрлэх боломжийг олгодог. Шифрлэгдсэн root
хуваалтад хандахад хэрэглэгддэг нэвтрэх үгийг систем ачаалахад
асуудаг.
Бие биеэндээ хамааралгүй хоёр түлхүүрүүдийг ашиглахыг
зөвшөөрдөг (өөрөөр хэлбэл key
болон
company key
).
geli нь хурдан байдаг. Энгийн сектороос сектор уруу
шифрлэлтийг хийдэг.
Мастер түлхүүрүүдийг нөөцлөх ба сэргээхийг зөвшөөрдөг. Хэрэглэгч
өөрийн түлхүүрүүдийг устгах хэрэгтэй болоход нөөцөөс түлхүүрүүдийг
сэргээж өгөгдөлд дахин хандах боломжтой болох юм.
Дискийг санамсаргүй, нэг удаагийн түлхүүрээр залгахыг
зөвшөөрдөг — энэ нь swap хуваалтууд болон түр зуурын
файлын системүүдэд ашигтай байдаг.
geli-ийн илүү боломжуудыг &man.geli.8;-ийн
гарын авлагын хуудаснаас олж болно.
Дараагийн алхмууд нь geli-ийн дэмжлэгийг &os; цөмд
хэрхэн идэвхжүүлэхийг тайлбарлах бөгөөд шинэ geli
- шифрлэлт үзүүлэгчийг хэрхэн үүсгэх талаар өгүүлэх болно. Төгсгөлд нь
- geli-ийн санал болгодог боломжуудыг ашиглан swap хуваалтыг
- хэрхэн үүсгэхийг харуулах болно.
+ шифрлэлт үзүүлэгчийг хэрхэн үүсгэх болон ашиглах талаар өгүүлэх болно.
geli-г ашиглахын тулд та &os; 6.0-RELEASE болон
түүнээс дээшхи хувилбарыг хэрэглэж байх ёстой. Цөмд өөрчлөлтүүд шаардлагатай учраас
супер хэрэглэгчийн эрхүүд хэрэгтэй болно.
- Цөмийн тохиргооны файлд geli дэмжлэгийг
+ Цөмд geli дэмжлэгийг
нэмэх нь
Дараах мөрийг цөмийн тохиргооны файлд нэмнэ:
- options GEOM_ELI
-device crypto
+ options GEOM_ELI
+device crypto
Цөмөө -д тайлбарласны дагуу дахин бүтээнэ.
Мөн geli модулийг ачаалах үед дуудаж болно.
Дараах мөрийг /boot/loader.conf файлд
нэмнэ:
- geom_eli_load="YES"
+ geom_eli_load="YES"
&man.geli.8; нь одоо цөмд дэмжигдсэн байх ёстой.
Мастер түлхүүр үүсгэх нь
Дараах жишээ нь түлхүүр файлыг хэрхэн үүсгэх талаар тайлбарлах бөгөөд
энэ нь /private доор
холбогдсон шифрлэгдсэн үзүүлэгчийн Мастер түлхүүрийн хэсэг болон
ашиглагдах болно. Түлхүүр файл нь Мастер түлхүүрийг шифрлэхэд
хэрэглэгдэх зарим санамсаргүй өгөгдлийг өгөх болно. Мастер түлхүүр нь
нэвтрэх үгээр бас хамгаалагдах болно. Үзүүлэгчийн секторын хэмжээ
4kB том байх болно. Мөн энэ хэлэлцүүлэг нь geli
үзүүлэгчийг хэрхэн залгаж түүн дээр файлын систем үүсгэх, хэрхэн түүнийг
холбож ажиллах болон төгсгөлд нь хэрхэн салгах талаар тайлбарлах
болно.
Илүү сайн ажиллагааг хангахын тулд секторын том хэмжээг (4kB ч юм уу)
ашиглахыг зөвлөдөг.
Мастер түлхүүр нь нэвтрэх үгээр хамгаалагдах бөгөөд түлхүүр файлд зориулагдсан
өгөгдлийн эх нь /dev/random байх болно.
Бидний үзүүлэгч гэж нэрлэдэг /dev/da2.eli-ийн
секторын хэмжээ 4kB байх болно.
&prompt.root; dd if=/dev/random of=/root/da2.key bs=64 count=1
&prompt.root; geli init -s 4096 -K /root/da2.key /dev/da2
Enter new passphrase:
Reenter new passphrase:
Нэвтрэх үг болон түлхүүр файлыг хоёуланг нь заавал ашиглах шаардлагагүй;
Мастер түлхүүрийг нууцлах аль ч аргыг тусад нь ашиглаж болно.
Хэрэв түлхүүр файл -
гэж өгөгдсөн бол стандарт
оролтыг ашиглана. Энэ жишээ нь нэгээс олон түлхүүр файлыг
хэрхэн ашиглаж болох талаар харуулж байна.
&prompt.root; cat keyfile1 keyfile2 keyfile3 | geli init -K - /dev/da2
Үзүүлэгчийг үүсгэсэн түлхүүрийн тусламжтай залгах нь
&prompt.root; geli attach -k /root/da2.key /dev/da2
Enter passphrase:
Шинэ цэвэр текст төхөөрөмж
/dev/da2.eli
гэж нэрлэгдэх болно.
&prompt.root; ls /dev/da2*
/dev/da2 /dev/da2.eli
Шинэ файлын системийг үүсгэх нь
&prompt.root; dd if=/dev/random of=/dev/da2.eli bs=1m
&prompt.root; newfs /dev/da2.eli
&prompt.root; mount /dev/da2.eli /private
Шифрлэгдсэн файлын систем &man.df.1;-д харагдаж
- ашиглахад бэлэн болох ёстой.
+ ашиглахад бэлэн болох ёстой:
&prompt.root; df -H
Filesystem Size Used Avail Capacity Mounted on
/dev/ad0s1a 248M 89M 139M 38% /
/devfs 1.0K 1.0K 0B 100% /dev
/dev/ad0s1f 7.7G 2.3G 4.9G 32% /usr
/dev/ad0s1d 989M 1.5M 909M 0% /tmp
/dev/ad0s1e 3.9G 1.3G 2.3G 35% /var
/dev/da2.eli 150G 4.1K 138G 0% /private
Үзүүлэгчийг холбосныг салгаж залгасныг болиулах
Шифрлэгдсэн хуваалт дээрх ажил хийгдэж дуусаад
/private хуваалт
хэрэггүй болох үед geli шифрлэгдсэн
хуваалтыг холбосноо салган цөмд залгаснаа бас салгах нь зүйтэй
юм.
&prompt.root; umount /private
&prompt.root; geli detach da2.eli
&man.geli.8;-ийг хэрэглэх тухай дэлгэрэнгүй мэдээллийг гарын авлагын хуудаснаас
олж болно.
geli rc.d скриптийг ашиглах нь
geli нь geli-ийн
хэрэглээг хялбаршуулахад ашиглаж болох rc.d
скрипттэй цуг ирдэг. geli-г &man.rc.conf.5;-оор
тохируулах жишээг дараахаас харж болно:
- geli_devices="da2"
-geli_da2_flags="-p -k /root/da2.key"
+ geli_devices="da2"
+geli_da2_flags="-p -k /root/da2.key"
Энэ нь /dev/da2-г
Мастер түлхүүр файл нь /root/da2.key-д байрлах
geli үзүүлэгч гэж тохируулах бөгөөд
үзүүлэгчийг залгаж байхдаа geli нь
нэвтрэх үгийг ашиглахгүй (хэрэв -P сонголт geli-г
эхлүүлэх үед өгөгдсөн тохиолдолд энэ нь ашиглагдах боломжтой). Систем нь
geli үзүүлэгчийг цөмөөс систем унтрахаас өмнө
салгах болно.
rc.d-г тохируулах талаар дэлгэрэнгүй мэдээлэл
энэхүү гарын авлагын rc.d
хэсэгт байгаа болно.
Крисчан
Брюффэр
Бичсэн
Swap зайг шифрлэх
swap
шифрлэх
&os; дээрх swap-ийн шифрлэлт нь тохируулахад амархан байдаг бөгөөд
&os; 5.3-RELEASE-с эхлээд ийм боломжтой болсон юм. &os;-ийн аль
хувилбарыг ашиглаж байгаагаас хамаараад өөр өөр тохируулгууд байдаг бөгөөд
тохиргоо нь нэлээн өөр өөр байдаг. &os; 6.0-RELEASE-с эхлээд
&man.gbde.8; эсвэл &man.geli.8; шифрлэх системүүдийг swap-ийг
шифрлэхэд ашиглаж болно. Өмнөх хувилбаруудад зөвхөн &man.gbde.8;
байдаг. Энэ хоёр систем нь хоёулаа encswap
rc.d скриптийг
ашигладаг.
Өмнөх Дискний хуваалтуудыг шифрлэх
хэсэг нь өөр өөр шифрлэх системүүдийн тухай богино хэлэлцүүлгийг агуулдаг.
Swap яагаад шифрлэгдэх ёстой вэ?
Дискний хуваалтуудын шифрлэлтийн нэгэн адил swap зайн шифрлэлт нь эмзэг
мэдээллийг хамгаалахын тулд хийгддэг. Нууц үгстэй ажилладаг програм байлаа гэж
бодъё. Эдгээр нууц үгс нь физик санах ойд байгаа үед бүгд зүгээр байна. Гэхдээ
хэрэв үйлдлийн систем нь бусад програмуудад зориулж зайг чөлөөлөхийн тулд санах
ойн хуудаснуудыг swap хийж эхэлбэл нууц үгс нь дискний хавтгай дээр шифрлэгдэлгүй
бичигдэж болох бөгөөд энэ нь өрсөлдөгчийн хувьд олж авахад амархан болох юм.
Swap зайг шифрлэх нь энэ тохиолдолд шийдэл болж болох юм.
Бэлтгэл
Энэ хэсгийн үлдсэн хэсэгт ad0s1b нь
swap хуваалт байх болно.
Энэ хүртэл swap нь шифрлэгдээгүй байгаа билээ. Аль хэдийн нууц үгс эсвэл бусад
эмзэг өгөгдөл дискний хавтгайнууд дээр цэвэр текстээр байж болзошгүй юм. Үүнийг
засварлахын тулд swap хуваалт дээрх өгөгдлийг санамсаргүй хаягдлаар дарж бичих
хэрэгтэй:
&prompt.root; dd if=/dev/random of=/dev/ad0s1b bs=1m
&man.gbde.8; ашиглан swap шифрлэлт хийх
Хэрэв &os; 6.0-RELEASE болон түүнээс шинэ хувилбар ашиглагдаж байгаа бол
.bde дагаварыг /etc/fstab-ийн
тохирох swap мөр дэх төхөөрөмжид нэмэх шаардлагатай:
-
+
# Device Mountpoint FStype Options Dump Pass#
/dev/ad0s1b.bde none swap sw 0 0
-
+
&os; 6.0-RELEASE хувилбараас өмнөх системүүдэд дараах мөр нь
/etc/rc.conf файлд бас хэрэгтэй:
gbde_swap_enable="YES"
&man.geli.8; ашиглан swap шифрлэлт хийх
Өөрөөр, swap шифрлэлтэд зориулж &man.geli.8;-г ашиглах процедур нь
&man.gbde.8; ашиглахтай төстэй. .eli дагаварыг
/etc/fstab-ийн тохирох swap мөр дэх төхөөрөмжид
нэмэх шаардлагатай:
-
+
# Device Mountpoint FStype Options Dump Pass#
/dev/ad0s1b.eli none swap sw 0 0
-
+
&man.geli.8; нь AES алгоритмийг анхдагчаар
256 битийн урттай түлхүүртэй ашигладаг.
Мөн эдгээр анхдагчуудыг /etc/rc.conf файлд
geli_swap_flags тохируулгыг ашиглан
өөрчилж болно. Дараах мөр нь encswap rc.d
скриптийг detach on last close
тохируулгыг зааж 4
килобайтын секторын хэмжээтэй, 128 бит түлхүүрийн урттайгаар Blowfish
алгоритм ашиглан &man.geli.8; swap хуваалт үүсгэ гэж хэлж байна:
geli_swap_flags="-a blowfish -l 128 -s 4096 -d"
&man.geli.8; гарын авлагын хуудсан дахь onetime тушаалын тайлбараас
боломжит тохируулгуудын жагсаалтыг лавлана уу.
Ажиллаж байгаа эсэхийг шалгах
Систем дахин ачаалагдсаны дараа шифрлэгдсэн swap-ийн зөв үйлдлийг
swapinfo тушаал ашиглан шалгаж
болно.
Хэрэв &man.gbde.8; ашиглагдаж байвал:
&prompt.user; swapinfo
Device 1K-blocks Used Avail Capacity
/dev/ad0s1b.bde 542720 0 542720 0%
Хэрэв &man.geli.8; ашиглагдаж байвал:
&prompt.user; swapinfo
Device 1K-blocks Used Avail Capacity
/dev/ad0s1b.eli 542720 0 542720 0%
diff --git a/mn_MN.UTF-8/books/handbook/introduction/chapter.sgml b/mn_MN.UTF-8/books/handbook/introduction/chapter.sgml
index e2b0b131de..96f36decf2 100644
--- a/mn_MN.UTF-8/books/handbook/introduction/chapter.sgml
+++ b/mn_MN.UTF-8/books/handbook/introduction/chapter.sgml
@@ -1,880 +1,884 @@
Жим
Мок
Дахин бүтцийг өөрчилж зохион байгуулсан, зарим хэсгийг дахин бичсэн
Цагаанхүүгийн
Ганболд
Орчуулсан
Танилцуулга
Ерөнхий агуулга
FreeBSD-г сонирхсон танд баярлалаа! Дараах бүлэг FreeBSD төслийн түүх, зорилго,
хөгжүүлэх загвар зэрэг бусад төрөл бүрийн ойлголтуудыг хамарна.
Энэ бүлгийг уншсаны дараа, та дараах зүйлсийг мэдэх болно:
FreeBSD бусад компьютерийн үйлдлийн системүүдтэй ямар хамааралтай талаар.
FreeBSD төслийн түүх.
FreeBSD төслийн зорилгууд.
FreeBSD-ийн нээлттэй-эх хөгжүүлэх загварын үндсүүд.
Мөн мэдээж FreeBSD
нэр хаанаас гарсан талаар.
FreeBSD-д тавтай морилно уу!
4.4BSD-Lite
FreeBSD нь Интел (x86 болон &itanium;), AMD64, Alpha,
Sun &ultrasparc; компьютеруудад зориулагдсан 4.4BSD-Lite дээр үндэслэсэн үйлдлийн систем
юм. Мөн өөр бусад архитектур уруу порт хийгдэж байгаа болно. Та мөн
FreeBSD-ийн түүх эсвэл
одоогийн хувилбарыг унших боломжтой. Хэрэв та
- энэ төсөлд (код, тоног төхөөрөмж, тэмдэглээгүй тооцоонууд) хувь нэмэр оруулахыг сонирхож
+ энэ төсөлд (код, тоног төхөөрөмж, сан) хувь нэмэр оруулахыг сонирхож
байгаа бол
FreeBSD-д хувь нэмэр оруулах нь нийтлэлийг уншина уу.
FreeBSD юу хийж чадах вэ?
FreeBSD олон тооны дурдахад буруудахгүй боломжуудтай. Эдгээрийн зарим нь:
Илүү өндөр давуу эрх бүхий бодлогоор солигдох боломж бүхий олон бодлогочлол
Компьютерийг их ачаалалтай байсан ч програмууд болон хэрэглэгчдийн хооронд бартаагүй,
ижил хуваалцах нөхцлийг бүрдүүлэх, динамик дараалал тохируулалттай,
илүү өндөр давуу эрх бүхий бодлогоор солигдох боломж бүхий олон бодлогочлол.
Олон-хэрэглэгчийн боломжууд
Олон-хэрэглэгчийн боломжууд нь олон хүмүүс FreeBSD
системийг төрөл бүрийн зүйлд зориулан зэрэгцэн хэрэглэх боломжийг зөвшөөрдөг.
Энэ нь, жишээ нь, хэвлэгчүүд болон соронзон хальсны хөтлөгчүүд зэрэг системийн захын
төхөөрөмжүүд нь систем эсвэл сүлжээн дэх бүх хэрэглэгчдийн дунд зөвөөр хуваалцах
ба эх үүсвэр бүр дэх хязгаарууд нь маш чухал системийн эх үүсвэрүүдийг илүү
ашиглахаас хамгаалж хэрэглэгчдэд болон бүлэг хэрэглэгчдэд тавигдаж болно гэсэн үг
юм.
TCP/IP сүлжээ
- SCTP, DHCP, NFS, NIS, PPP ба SLIP зэрэг үйлдвэрлэлийн стандартуудын
+ SCTP, DHCP, NFS, NIS, PPP, SLIP, IPsec, болон IPv6 зэрэг үйлдвэрлэлийн стандартуудын
дэмжлэгтэй, хүчирхэг TCP/IP сүлжээ.
Энэ нь таны FreeBSD машин бусад үйлдлийн системүүдтэй хялбар харилцан
ажиллаж чадахаас гадна мөн NFS (файлд алсаас хандах)
цахим захидлын үйлчилгээнүүд зэрэг чухал боломжуудыг хангадаг
эсвэл Интернэтэд WWW, FTP, чиглүүлэх эсвэл галт ханын (аюулгүй байдал)
үйлчилгээнүүдийн хамт та өөрийнхөө байгууллагыг байрлуулах Enterprise
сервер шиг ажиллаж чадна гэсэн үг юм.
санах ойн хамгаалалт
Санах ойн хамгаалалт нь програмууд
(эсвэл хэрэглэгчид) өөр хоорондоо нөлөөлөхгүй нөхцлийг хангадаг.
Нэг програм сүйрэхэд бусдад аль ч замаар нөлөөлөхгүй.
FreeBSD нь 32-бит үйлдлийн систем
(Альфа дээр 64-бит, &itanium;, AMD64, болон &ultrasparc;)
бөгөөд бүр анхнаасаа эхлэн дизайн хийгдсэн юм.
X Цонхны Систем
XFree86
- Үйлдвэрлэлийн стандарт болох X Цонхны Систем (X11R6)
+ Үйлдвэрлэлийн стандарт болох X Цонхны Систем (X11R7)
нь ердийн VGA карт ба дэлгэцийн үнэнд хэрэглэгчийн график интерфэйсийг (GUI)
хангадаг бөгөөд бүрэн эхийн хамт ирдэг.
хоёртын нийлэмж
Линукс
хоёртын нийлэмж
SCO
хоёртын нийлэмж
SVR4
хоёртын нийлэмж
BSD/OS
хоёртын нийлэмж
NetBSD
Линукс, SCO, SVR4, BSDI ба NetBSD-д зориулан бүтээгдсэн
олон програмуудтай хоёртын нийлэмж.
Олон мянган ажиллахад бэлэн програмууд
FreeBSD-ийн портууд болон багцуудын
цуглуулганд байдаг. Эндээс бүгдийг олж болж байхад яагаад сүлжээнээс хайх
хэрэгтэй гэж?
Олон мянган нэмэлт болон амархан порт хийх
боломжтой програмууд Интернэтэд байдаг. FreeBSD нь эх кодын хувьд
ихэнх олны мэддэг арилжааны &unix; системүүдтэй нийцтэй бөгөөд
ихэнх програмуудыг хөрвүүлэхэд хэрэв байгаа бол цөөн өөрчлөлтүүдийг
шаарддаг.
виртуал санах ой
Шаардлагаар хуудасладаг (demand paged) виртуал санах ой
ба нийлүүлсэн VM/түр хадгалагч
дизайн нь санах ойн хувьд
их хэрэглэдэг програмуудын хүслийг үр ашигтайгаар хангадаг бөгөөд ингэхдээ бусад
хэрэглэгчдэд харилцан хариу өгөх боломжийг олгосоор байдаг.
Адил Хэмт Олон-Боловсруулалт (SMP)
Олон CPU-тай машинуудад зориулсан SMP
дэмжлэг.
хөрвүүлэгчид
C
хөрвүүлэгчид
C++
хөрвүүлэгчид
ФОРТРАН
C,
C++, болон ФОРТРАН
хөгжүүлэх багажуудын бүрэн бүрэлдэхүүн. Нарийн судалгаа болон хөгжүүлэлтэд
зориулсан олон нэмэлт хэлнүүд бас портууд болон багцуудын цуглуулганд байдаг.
эх код
Бүх системд зориулсан эх код гэдэг нь
та орчноо хамгийн ихээр хянана гэсэн үг юм. Та жинхэнэ нээлттэй системтэй мөртлөө
яагаад үйлдвэрлэгчийн буянд хаалттай шийдэлд цоожтой байх ёстой гэж?
Дэлгэрэнгүй онлайн
баримтжуулалт.
гэх мэт өөр илүү олныг дурдаж болно!
4.4BSD-Lite
Компьютерийн Системийн Судалгааны Бүлэг (CSRG)
К.И.С. Беркли
FreeBSD нь Беркли дэх Калифорнийн Их Сургуулийн Компьютерийн Системийн
Судалгааны Бүлгээс (CSRG) гаргасан 4.4BSD-Lite хувилбар дээр үндэслэсэн
бөгөөд BSD системийн хөгжүүлэлтийн бусдаас ялгаатай уламжлалыг үргэлжлүүлсээр
байна. CSRG-ээс гаргасан сайхан ажлаас гадна FreeBSD Төсөл нь жинхэнэ амьдрал
дээрх ачааллын үеийн найдвартай болон хамгийн сайн ажиллагааг хангах системийг
нарийн тохируулахад олон мянган цагийг зориулжээ. Улам олон арилжааны аваргууд
ийм боломжууд, ажиллагаа болон найдвартай байдал бүхий PC үйлдлийн системийг
гаргах гэж тэмцэж байхад FreeBSD тэдгээрийг одоо
санал болгож чадна!
FreeBSD-г ямар хэрэглээнд ашиглах нь зөвхөн таны төсөөллийн хүрээнд байна.
Програм хангамжийн хөгжүүлэлтээс эхлээд үйлдвэрлэлийн автоматжуулалт, төлвийн
хяналтаас авахуулаад алсын хиймэл дагуулын антеннуудын азимут засварлалт;
хэрэв үүнийг арилжааны &unix; бүтээгдэхүүнээр хийж чадах бол мэдээж та үүнийг
FreeBSD-ээр ч бас хийж чадна! Мөн FreeBSD дэлхий даяар судалгааны төвүүд болон их
сургуулиудад хөгжүүлсэн ихэнхдээ бага эсвэл үнэгүй байдаг олон мянган өндөр чанарын
програмуудаас мэдэгдэхүйц үр ашгийг авдаг. Арилжааны програмууд бас байдаг бөгөөд
өдөр ирэх тусам их хэмжээгээр нэмэгдэж байна.
FreeBSD-ийн өөрийн эх код ерөнхийдөө байгаа болохоор
тусгай програмууд эсвэл төслүүдэд зориулж системийг бараг сонсоогүй хэмжээнд
өөрчлөх боломжтой бөгөөд ерөнхийдөө бусад ихэнх том том арилжааны
үйлдвэрлэгчдийн үйлдлийн системүүдэд үүнийг хийх боломжгүй байдаг. Энд
FreeBSD-г ашиглаж байгаа хүмүүсийн хэрэглээний зарим нэг байна:
Интернэтийн Үйлчилгээнүүд: FreeBSD дэх хүчирхэг TCP/IP
сүлжээ нь төрөл бүрийн Интернэтийн үйлчилгээнүүдэд хамгийн тохирсон тавцан болгодог:
FTP серверүүд
FTP серверүүд
вэб серверүүд
Дэлхий Даяарх Вэб серверүүд (стандарт эсвэл нууцлаг [SSL])
+
+
+
+ IPv4 болон IPv6 чиглүүлэлт
гал хана
NAT
Галт хананууд болон NAT (IP маскарад хийх
)
гарцууд
цахим захидал
захидал
захидал
Цахим Захидлын серверүүд
USENET
USENET Мэдээнүүд эсвэл Зарлалын Самбарын Системүүд
гэх мэт өөр илүү олныг дурдаж болно...
Та FreeBSD-тэй байхад хямд 386 ангиллын PC-тэй жижгээс хялбархнаар эхлээд
таны Enterprise өсөхийн хэрээр RAID хадгалалт бүхий 4 процессортой Xeon
хүртэл шинэчилж болно.
Боловсрол: Та компьютерийн шинжлэх ухаан эсвэл
түүнтэй холбоотой инженерчлэлийн салбарын оюунтан уу? Үйлдлийн систем, компьютерийн
архитектур болон сүлжээний талаар сурахад FreeBSD-ийн далд хангаж өгдөг боломж шиг
илүү сайн арга байхгүй. Чөлөөтэй байдаг хэд хэдэн CAD, математикийн болон графикийн
дизайн хийх багцууд нь өөр бусад ажлуудыг хийхийн тулд
компьютерийг ашигладаг хүмүүст FreeBSD-г илүү их ашигтай болгодог!
Судалгаа: Бүхэл системийн хувьд эх кодтой FreeBSD
нь үйлдлийн системүүд болон компьютерийн шижлэх ухааны бусад салбаруудын
хувьд судалгааны маш сайн тавцан болдог. FreeBSD-ийн чөлөөтэй байдаг чанар нь
алсад байгаа бүлгүүд тусгай лицензийн гэрээ эсвэл нээлттэй форум дээр хэлэлцэж болох
хязгааруудад санаа зоволгүйгээр шинэ санаанууд болон хуваалцсан хөгжүүлэлт дээр
хамтран ажиллах боломжийг бүрдүүлдэг.
чиглүүлэгч
DNS Сервер
Сүлжээ: Шинэ чиглүүлэгч? Нэрийн сервер (DNS)?
Хүмүүсийг дотоод сүлжээнээс гадуур байлгах галт хана хэрэгтэй байна уу?
FreeBSD нь ашиглаагүй, буланд хэвтэж байгаа 386 эсвэл 486 PC-г пакет
шүүлт хийх сайжруулсан боломжуудтай өргөтгөсөн чиглүүлэгч болгон хялбархан
хувиргаж чадна.
X Цонхны Систем
XFree86
X Цонхны Систем
Хурдасгасан-X
X Цонхны ажлын станц: FreeBSD нь
чөлөөтэй байдаг X11 серверийг ашиглан хямд X терминалын шийдэлд
зориулсан сайн сонголт болдог. X терминалаас ялгаатай нь хэрэв хүсвэл олон
програмуудыг FreeBSD ажиллуулахыг зөвшөөрдөг бөгөөд ингэснээр төв
серверийн ачааллыг хөнгөвчилдөг. FreeBSD нь дискгүй
ачаалж чадсанаар ажлын станцуудыг хямд, амархан удирдах боломжтой болгодог.
GNU Хөрвүүлэгчийн Цуглуулга
Програм Хангамжийн Хөгжүүлэлт: Үндсэн
FreeBSD систем нь нийтэд алдаршсан GNU C/C++ хөрвүүлэгч болон алдаа ологч зэрэг
програмчлалын үндсэн хэрэгслүүдтэй ирдэг.
FreeBSD нь CDROM, DVD, болон нэргүй FTP дээр эх болон хоёртын хэлбэрээр байдаг.
FreeBSD-г олж авах талаар дэлгэрэнгүй мэдээллийг хаягаас
үзнэ үү.
FreeBSD-г хэн ашигладаг вэ?
хэрэглэгчид
FreeBSD ажиллуулдаг том сайтууд
FreeBSD нь интернэт дэх зарим нэг хамгийн томоохон вэб хуудсуудыг ажиллуулдаг:
Yahoo!
Yahoo!
Apache
Apache
Blue Mountain Arts
Blue Mountain
Arts
Pair Networks
Pair
Networks
Sony Japan
Sony
Japan
Netcraft
Netcraft
Weathernews
Weathernews
Supervalu
Supervalu
TELEHOUSE America
TELEHOUSE
America
Sophos Anti-Virus
Sophos
Anti-Virus
JMA Wired
JMA Wired
гэх мэт өөр илүү олон вэб хуудсуудыг дурдаж болно.
FreeBSD Төслийн тухай
Дараах хэсэг төслийн товч түүх, төслийн зорилгууд,болон төслийн
хөгжүүлэлтийн загвар зэрэг төслийн тухай зарим нэг мэдээллийг өгнө.
Жордан
Хаббард
Хувь нэмэр болгон оруулсан
FreeBSD-ийн товч түүх
386BSD Залруулах багц
Хаббард, Жордан
Вилльямс, Нэйт
Граймс, Род
FreeBSD Төсөл
түүх
FreeBSD төслийн үүсэл 1993 оны эхэн хэсэгт үүдэлтэй бөгөөд залруулах багцын
сүүлийн 3 зохицуулагчид болох Нэйт Вилльямс, Род Граймс болон миний биеийн хамтран
гаргасан Албан ёсны бус 386BSD Залруулах багц
аас
хэсэгчилэн хөгжсөн юм.
386BSD
Бидний анхны зорилго хэд хэдэн асуудлуудыг шийдэхийн тулд 386BSD-ийн дундын
хормын хувилбарыг гаргаж авах явдал байсан бөгөөд залруулах багцын механизм үүнийг шийдэж
чаддаггүй байлаа. Та нарын зарим нэг нь төслийн ажлын анхны нэр тэр явдалтай холбоотой
386BSD 0.5
эсвэл 386BSD Дундын
гэж байсныг
санаж магадгүй юм.
Жолиц, Билл
386BSD нь бараг жил орчмын үл ойшоолтоос болж ихээхэн зовж байсан тэр үед хүрсэн
Билл Жолицийн үйлдлийн систем байсан юм. Залруулалтын багц нь өдөр өнгөрөх бүр
улам эвгүйгээр томорч байсан бөгөөд бид ямар нэг юм хийх ёстойг 100 хувь зөвшөөрч
Биллд туслахаар шийдэж энэхүү дундын цэвэрлэсэн
хормын хувилбарыг
гаргасан юм. Тэдгээр төлөвлөгөөнүүд нь Билл Жолицийг юу хийгдэж болохыг тодорхой
харуулахын оронд ямар ч зүйлгүйгээр төслийн өөрийн санкцаас гэнэт татгалзах шийдвэрт
хүргэж бүдүүлэг зогсоолтод хүргэсэн юм.
Грийнмэн, Дэйвид
Волнат Крийк CDROM
Биллийн дэмжлэггүй ч гэсэн зорилго маань харамсахааргүй хэвээрээ үлдэхийг
бид нэг их удалгүй шийдсэн бөгөөд Дэйвид Грийнмэний бодож олсноор
FreeBSD
нэрийг авсан юм. Бидний эхний зорилгууд
системийн одоогийн хэрэглэгчидтэй зөвлөлдсөний дараа тодорхойлогдсон бөгөөд
төсөл эхэлсэн нь тодорхой болсны дараа бүр магадгүй амьдрал дээр биеллээ олохын
тулд би Интернэт уруу хялбар хандах боломжгүй олон золгүйчүүдэд зориулж
FreeBSD-ийн түгээлтийн сувгуудыг сайжруулах зорилготойгоор Волнат Крийк
CDROM-той холбоо тогтоосон юм.
Волнат Крийк CDROM нь FreeBSD-г CD дээр түгээх санааг дэмжээд зогсоогүй
ажиллах машин бас хурдан Интернэтийн холболтыг төсөлд зориулан хангасан юм.
Волнат Крийк CDROM-ийн тэр үед тэр чигээрээ үл мэдэгдэх төсөлд бараг л
урьдчилан тооцох аргагүй өгсөн итгэлгүйгээр FreeBSD одоогийн хүрсэн шиг ийм
хол түвшинд, ийм хурдан хүрэхгүй байсан биз ээ.
4.3BSD-Lite
Net/2
К.И.С. Беркли
386BSD
Чөлөөт Програм Хангамжийн Сан
Анхны CDROM (ерөнхийдөө сүлжээнд өргөнөөр) түгээлт 1993 оны 12 сард гаргасан
FreeBSD 1.0 байлаа. Энэ нь Берклигийн К.И.С-ийн 4.3BSD-Lite
(Net/2
) соронзон хальс дээр тулгуурласан, бас 386BSD болон Чөлөөт Програм
Хангамжийн Сангаас хангасан олон хэсгүүдээс тогтсон байсан билээ.Энэ бол эхний удаад нэлээн
боломжийн амжилт байсан бөгөөд дараа нь бид маш өндөр амжилт олсон FreeBSD 1.1
хувилбарыг 1994 оны 5 сард гаргасан юм.
Новэлл
К.И.С. Беркли
Net/2
AT&T
Энэ үед урт удаан үргэлжилсэн Берклигийн Net/2 соронкон хальны хууль эрх зүйн статустай
холбоотой Новэлл ба Берклигийн К.И.С нарын хоорондох зарга шийдэгдэж гэнэтийн хар
үүлс бий болсон юм. Тэр тохиролцооны нөхцөл нь саад болсон
код ба
Новэллийн урьд нь AT&T-ээс авсан өмч болох Net/2-ийн ихэнх хэсэг дээр хийсэн
Берклигийн К.И.С-ийн буулт байлаа. Хариуд нь Новэллийн адислал
4.4BSD-Lite хувилбар байсан бөгөөд энэ нь гарсныхаа дараа саадгүйгээр тунхаглагдаж
түүн уруу Net/2-ийн бүх хэрэглэгчид маш хүчтэйгээр шилжихийг дэмжих явдал байлаа.
Үүнд FreeBSD бас орсон бөгөөд төсөлд 1994 оны 7 сараас хүртэл хугацаа өгч өөрийн
Net/2 дээр тулгуурласан бүтээгдэхүүнээ гаргахыг хориглосон юм. Тэр гэрээний хүрээнд
эцсийн хугацаанаас өмнө төсөлд сүүлийн нэг хувилбар гаргахыг зөвшөөрсөн бөгөөд тэр
хувилбар нь FreeBSD 1.1.5.1 байлаа.
Дараа нь FreeBSD бараг тэр чигээрээ шинэ, бүрэн биш 4.4BSD-Lite-ийн хэсгээс
өөрийгээ дахин бүтээх хүнд бэрх бодлогыг тогтоосон юм. Lite
хувилбарууд нь зарим талаараа хөнгөн байсан, учир нь ачаалагдаж ажиллах системийг
бүтээхэд шаардлагатай кодын ихээхэн хэсгийг Берклигийн CSRG арилгасан
(төрөл бүрийн хууль эрх зүйн шаардлагаар) бөгөөд 4.4-ийн Интелийн хэсэг бас нэлээн
бүрэн биш байлаа. Энэ шилжилтийг хийсээр төсөл 1994 оны 11 сар хүргэсэн бөгөөд
тэр үед сүлжээ болон CDROM (12 сарын сүүлээр) дээр FreeBSD 2.0-ийг гаргасан
байна. Хэдийгээр гадуураа бага зэрэг түүхий байсан боловч энэ хувилбар нь ихээхэн амжилттай
болсон бөгөөд удалгүй илүү хүчирхэг, амархан суулгадаг FreeBSD 2.0.5 хувилбарыг
1995 оны 6 сард гаргасан билээ.
1996 оны 8 сард FreeBSD 2.1.5-ыг бид гаргасан бөгөөд энэ нь ISP болон
арилжааны хүрээнийхэнд нэлээн алдаршсан ба 2.1-STABLE салбарын бас нэг өөр хувилбар
сайшаагдсан билээ. Энэ нь 1997 оны 2 сард гарсан FreeBSD 2.1.7.1 бөгөөд 2.1-STABLE
-ийн зонхилох хөгжүүлэлтийн төгсгөл болсон юм. Одоо үйл ажиллагааг хангах горимд
зөвхөн аюулгүй байдлын өргөжүүлэлт болон бусад ноцтой алдааны засварлалтууд энэ салбарын
(RELENG_2_1_0) хувьд хийгдэх болно.
FreeBSD 2.2 нь хөгжүүлэлтийн гол салбараас (-CURRENT
)
1996 оны 11 сард RELENG_2_2 салбар болон салбарлан гарсан бөгөөд анхны
бүрэн хувилбар (2.2.1) 1997 оны 4 сард гарсан юм. 2.2 салбарын дараагийн
хувилбарууд 97 оны зун болон намар гарцгаасан бөгөөд тэдгээрийн сүүлийнх (2.2.8)
1998 оны 11 сард гарчээ. Анхны албан ёсны 3.0 хувилбар 1998 оны 10 сард
гарсан бөгөөд 2.2 салбарын хувьд төгсгөл болох эхлэлийг тавьсан юм.
1999 оны 1 сарын 20-нд мод дахин салбарласан бөгөөд 4.0-CURRENT болон
3.X-STABLE салбарууд гарахад хүргэжээ. 3.X-STABLE-ээс 3.1 1999 оны 2 сарын
15-нд гарсан, 3.2 1999 оны 5 сарын 15-нд, 3.3 1999 оны 9 сарын 16-нд, 3.4
1999 оны 12 сарын 20-нд, тэгээд 3.5 2000 оны 6 сарын 24-нд гарсан бөгөөд
хэдхэн хоногийн дараагаар Kerberos-т сүүлийн минутын аюулгүй байдлын засваруудыг
оруулсан багахан хувилбар шинэчлэл 3.5.1-ийг гарахад хүргэсэн юм. Энэ нь 3.X салбар
дахь сүүлийн хувилбар юм.
2000 оны 3 сарын 13-нд нэг салбар гарсан нь 4.X-STABLE салбар бий болсон
явдал юм. Үүнээс хэд хэдэн хувилбарууд гарсан: 4.0-RELEASE 2000 оны 3 сард
танилцуулагдсан бөгөөд сүүлийн 4.11-RELEASE 2005 оны 1 сард гарсан юм.
Удаан хүсэн хүлээсэн 5.0-RELEASE 2003 оны 1 сарын 19-нд зарлагдсан. Ойролцоогоор
3 жилийн ажлыг шингээсэн энэ хувилбар нь FreeBSD-г өргөжүүлсэн олон процессор,
програмын урсгал дэмжлэгийн замд гаргаж &ultrasparc; ба ia64
тавцангуудад зориулсан дэмжлэгийг танилцуулсан билээ. Энэ хувилбарын дараагаа 2003 оны
6 сард 5.1 хувилбар гарсан. -CURRENT салбарын сүүлийн 5.X хувилбар 2004 оны 2 сард
танилцуулагдсан 5.2.1-RELEASE байв.
RELENG_5 салбар 2004 оны 8 сард үүссэн бөгөөд дараагаар нь
5-STABLE салбар хувилбаруулын эхлэлийг тэмдэглэсэн 5.3-RELEASE гарсан юм.
Хамгийн сүүлийн &rel2.current;-RELEASE &rel2.current.date; гарсан.
RELENG_5 салбараас дахиж нэмэлт хувилбарууд гарахгүй.
2005 оны 7 сард энэ удаа RELENG_6-д зориулж мод дахин салбарлажээ.
6.X салбарын анхны хувилбар болох 6.0-RELEASE 2005 оны 11 сард гарчээ.
Хамгийн сүүлийн &rel.current;-RELEASE &rel.current.date; гарсан.
RELENG_6 салбарын нэмэлт хувилбарууд гарах болно.
Одоогоор урт хугацааны хөгжүүлэлтийн төслүүд 7.X-CURRENT (транк) салбарт
үргэлжлэх бөгөөд ажил урагшлах бүр CDROM дээрх (мэдээж сүлжээнд бас) 7.X-ийн
SNAPshot хувилбарууд
Хормын агшны сервэрээс үргэлжлэн гарсаар байх болно.
Жордан
Хаббард
Хувь нэмэр болгон оруулсан
FreeBSD Төслийн Зорилгууд
FreeBSD Төсөл
зорилгууд
FreeBSD Төслийн зорилгууд нь ямар нэг хязгаарлалтгүйгээр дурын зорилгоор ашиглаж
болох програм хангамжийг хангах явдал юм. Бидний олонхи нь кодонд (болон төсөлд)
чухал хөрөнгө оруулалт хийцгээсэн бөгөөд одоо болон ирээдүйд багахан санхүүгийн нөхөн
олговроос мэдээж татгалзахгүй, гэхдээ бид мэдээж үүнийг шаардахаар бэлтгэгдээгүй юм.
Бидний анхны бөгөөд нэн тэргүүний даалгавар
бол ирсэн дурын болон
бүгдэд аль ч зорилгоор ашиглагдаж болох кодоор хангах бөгөөд код нь аль болох өргөн
хэрэглэгдэж, аль болох өргөн үр ашгийг өгөх явдал юм. Энэ нь Чөлөөт Програм
Хангамжийн хамгийн үндсэн зорилгуудын нэг бөгөөд бид үүнийг санаачлагатайгаар
дэмжих ёстой гэдэгт би итгэж байна.
GNU General Public License (GPL)
GNU Lesser General Public License (LGPL)
BSD Зохиогчийн Эрх
Бидний эх модонд байгаа GNU General Public License (GPL) эсвэл
Library General Public License (LGPL) хүрээнд байдаг код нь арай илүү
хязгаарлалттай бөгөөд ядаж л эсрэгээрээ байх биш харин ч хүчилсэн хандлагын талд байдаг.
GPL програм хангамжийг арилжааны зорилгоор ашиглахад гарах нэмэлт төвөгтэй асуудлуудаас
болоод бид ингэж хийхэд боломжийн сонголт байгаа нөхцөлд арай зөөлөн BSD Зохиогчийн
Эрхийн доор програм хангамжийг ирүүлэхийг илүүд үздэг.
Сатоши
Асами
Хувь нэмэр болгон оруулсан
FreeBSD Хөгжүүлэх Загвар
FreeBSD Төсөл
хөгжүүлэх загвар
FreeBSD-ийн хөгжүүлэлт нь бидний хувь нэмэр
оруулагчдын жагсаалтаас харахад дэлхий даяар хэдэн зуун хүмүүсийн оруулсан
хувь нэмэр дээр бүтээгдсэн, их нээлттэй, уян хатан процесс юм.
FreeBSD-ийн хөгжүүлэлтийн дэд бүтэц нь эдгээр хэдэн зуун хөгжүүлэгчдийг
Интернэтээр хамтран ажиллах боломжийг нээж өгдөг.
Бид шинэ хөгжүүлэгчид, болон санаануудыг тогтмол хайж байдаг бөгөөд
төсөлтэй илүү ойртохыг сонирхсон хэн ч гэсэн &a.hackers; хаягаар бидэнд
хандаарай. Мөн бусад FreeBSD хэрэглэгчдэд гол гол ажлуудын талаар мэдээлэх
&a.announce; бас байгаа болно.
Чөлөөтэй болон нягт хамтын ажиллагаан доор ажилладгаас үл хамааран FreeBSD
төсөл болон түүний хөгжүүлэлтийн процессийн талаар ашигтай зүйлсийн талаар мэдэхийг
хүсвэл:
CVS репозитор
CVS
репозитор
Зэрэгцээ Хувилбаруудын Систем
CVS
FreeBSD-ийн гол эх мод нь FreeBSD-тэй цуг багцалсан чөлөөтэй байдаг
эх кодыг хянах багаж болох
CVS-ээр
(Зэрэгцээ Хувилбаруудын Систем) тэтгэгдэж байдаг. Үндсэн
CVS
репозитор АНУ-ийн Калифорнийн Санта Клара дахь машин дээр
байрладаг бөгөөд тэндээс дэлхий даяар байрласан хэд хэдэн толин тусгалын
машинууд уруу хувилагддаг. -CURRENT болон -STABLE модуудыг агуулсан CVS мод
таны өөрийн машин дээр ч гэсэн амархан хувилагдах боломжтой.
Үүнийг хэрхэн хийх талаар дэлгэрэнгүй мэдээллийг
Өөрийн эх модоо хамгийн сүүлийн түвшинд
аваачих хэсэг уруу хандаж үзээрэй.
Итгэмжлэн оруулагчдын жагсаалт
итгэмжлэн оруулагчид
Итгэмжлэн оруулагчид нь CVS мод уруу
бичих эрхтэй бөгөөд FreeBSD-ийн эхэд
өөрчлөлтүүд хийх зөвшөөрөлтэй хүмүүс юм (итгэмжлэн оруулагч
гэсэн
ойлголт нь CVS репозитор уруу шинэ өөрчлөлтүүдийг хийдэг &man.cvs.1;-ийн
commit тушаалаас гаралтай).
Итгэмжлэн оруулагчдад илгээсэн зүйлээ хянуулахаар өгөх хамгийн шилдэг арга нь
&man.send-pr.1; тушаал юм. Хэрэв ямар нэг зүйл систем дээр гацвал
&a.committers; уруу та цахим захидал бас илгээн холбогдож болно.
FreeBSD-ийн гол баг
гол баг
FreeBSD-г компани гэж бодох юм бол FreeBSD-ийн гол баг
нь захирлуудын зөвлөлтэй ижил утгатай юм. Гол багийн үндсэн үүрэг нь
төсөл бүхэлдээ сайн байж, түүнийг зөв чиглэлээр явуулахыг хянаж байх явдал юм.
Өөрийгөө бүрэн дайчилсан, хариуцлагатай хөгжүүлэгчдийг итгэмжлэн оруулагчдын
бүлэгт урих нь гол багийн үүргүүдийн нэг бөгөөд зарим гишүүд шилжихэд гол багийн
шинэ гишүүдийг шинээр авах нь бас нэг үүрэг нь юм.
Одоогийн гол баг нь нэр дэвшигч итгэмжлэн оруулагчдаас 2006 оны 7 сард сонгогдсон.
Сонгууль 2 жилд нэг удаа явагддаг.
Гол багийн зарим гишүүд тусгай хариуцлагатай бөгөөд системийн ихээхэн хэсэг
сурталчилсан хэмжээгээрээ ажиллаж байхыг хянаж бие сэтгэлээ зориулж байдаг.
FreeBSD хөгжүүлэгчдийн жагсаалт болон тэдний аль хэсэгт хариуцлагатайг
Хувь
нэмэр оруулагчдын жагсаалтаас үзнэ үү.
Гол багийн ихэнх гишүүд FreeBSD-ийн хөгжүүлэлтэд сайн дураар оролцдог бөгөөд
төслөөс санхүүгийн хувьд ашиг олдоггүй болохоор commitment
гэдэг нь баталгаатай дэмжлэг
гэсэн үг гэж ойлгож болохгүй юм.
Дээрх захирлуудын зөвлөл
гэсэн аналог нь тийм ч зөв биш бөгөөд
эдгээр хүмүүс нь FreeBSD-ийн тусын тулд өөрсдийнхөө илүү шийдлийн эсрэг амьдралаа
орхисон хүмүүс гэвэл магадгүй илүү тохирох биз ээ!
Гаднын хувь нэмэр оруулагчид
хувь нэмэр оруулагчид
Эцэст нь, гэхдээ мэдээж хамгийн сүүлийнх биш, хамгийн том бүлэг
хөгжүүлэгчид нь санал сэтгэгдэл болон алдааны засваруудыг бидэнд
бараг л тогтмол илгээдэг хэрэглэгчид юм. FreeBSD-ийн илүү
төвлөрсөн бус хөгжүүлэлттэй холбоотой байх үндсэн арга нь
тийм зүйлсийн талаар хэлэлцдэг &a.hackers;-д бүртгүүлэх явдал юм.
FreeBSD-ийн төрөл бүрийн захидлын жагсаалтын талаар дэлгэрэнгүйг
-ээс үзнэ үү.
FreeBSD-ийн
Хувь нэмэр оруулагчдын Жагсаалт нь урт бөгөөд
өсөн нэмэгдэж байгаагийн нэг, тийм болохоор яагаад өнөөдөр FreeBSD-д
хувь нэмэр оруулж энэ жагсаалтад нэгдэж болохгүй гэж?
Код ирүүлэх нь төсөлд хувь нэмэр оруулах ганц арга биш юм;
Хийх шаардлагатай байгаа зүйлсүүдийн бүрэн жагсаалтын талаар
FreeBSD Төслийн вэб хуудсын
хаягт хандаж үзнэ үү.
Дүгнэж хэлэхэд бидний хөгжүүлэлтийн загвар нь нэг нь нөгөөдөө багтсан, чөлөөтэй
тойргууд маягаар зохион байгуулагдсан загвар юм. Төвлөрсөн загвар нь ирээдүйтэй хувь
нэмэр оруулагчдыг цааш түлхэлгүйгээр нэг төвийн кодын суурийг хялбар хянах боломжийг
олгож FreeBSD-ийн хэрэглэгчдэд эвтэй байхаар зориулагдан
дизайн хийгдсэн юм. Бидний хүсэл бол хэрэглэгчид амархан суулгаж ашиглаж болдог
ихээхэн хэмжээний уялдаа холбоотой хэрэглээний програмуудтай
тогтвортой үйлдлийн системийг бий болгох явдал юм — энэнд хүрэхэд энэ загвар нь
маш сайн тохирон ажиллаж байна.
Төслийн амжилттай байсаар байгаад хүргэж байгаа одоогийн хүмүүсийн адил бие
сэтгэлийнхээ зарим ч гэсэн хэсгийг зориулахыг FreeBSD хөгжүүлэгч болон бидэнтэй нэгдэж
байгаа хүмүүсээс хүсэж байгаа бидний цорын ганц хүсэлт юм!
Одоогийн FreeBSD хувилбарууд
NetBSD
OpenBSD
386BSD
Чөлөөт Програм Хангамжийн Сан
К.И.С. Беркли
Компьютерийн Системийн Судалгааны Бүлэг (CSRG)
FreeBSD нь чөлөөтэй байдаг, Интел &i386;, &i486;, &pentium;,
&pentium; Pro,
&celeron;,
&pentium; II,
&pentium; III,
&pentium; 4 (эсвэл нийцтэй),
&xeon;, DEC Alpha
болон Sun &ultrasparc;-д зориулагдсан бүрэн эх 4.4BSD-Lite дээр тулгуурласан
хувилбар юм. Энэ нь үндсэндээ NetBSD, OpenBSD, 386BSD, болон Чөлөөт Програм
Хангамжийн Сангийн зарим өргөжүүлэлт хийгдсэн Берклигийн К.И.С.-ийн CSRG бүлгээс
гаргасан програм хангамжууд дээр үндэслэсэн.
1994 оны сүүлд гарсан FreeBSD 2.0 хувилбараас хойш FreeBSD-ийн хурдан
ажиллагаа, боломжууд болон тогтвортой байдал мэдэгдэхүйц сайжирсан.
Хамгийн том өөрчлөлт нь нийлсэн VM/файл буферийн кэш бүхий засварласан виртуал санах ойн систем
бөгөөд энэ нь ажиллагааг хурдасгаад зогсохгүй FreeBSD-ийн санах ойн мөрийг багасгаж
5 MB тохиргоог илүү боломжийн хамгийн бага хэмжээнд хүргэсэн. Бусад
өргөтгөлүүдийг дурдвал гүйцэд NIS клиент ба серверийн дэмжлэг, шилжилтийн TCP дэмжлэг,
шаардлагаар залгах PPP, цогц DHCP дэмжлэг, сайжруулсан SCSI дэд систем, ISDN
дэмжлэг, ATM-ийн дэмжлэг, FDDI, Хурдан болон Гигабит Ethernet (1000 Mbit)
картууд, сүүлийн үеийн Адаптек хянагчууд болон олон мянган алдаануудын засварууд зэрэг юм.
Үндсэн түгээлтүүдээс гадна FreeBSD нь мянга мянган байнга хайгддаг програмуудтай
хөрвүүлсэн програм хангамжийн цуглуулгатай байдаг. Энэ авлагыг хэвлэж байх үед
&os.numports; гаруй портууд байсан! Портуудын жагсаалтад http (WWW) серверүүдээс
тоглоомууд, хэлнүүд, засварлагчид, зэрэг бараг л бүх төрлийн програмууд байдаг.
Портуудын Цуглуулга бүхэлдээ ойролцоогоор &ports.size; хэмжээний хадгалалт шаарддаг
бөгөөд бүх портууд өөрсдийн жинхэнэ эхийн хувьд дельта
болж илэрхийлэгддэг.
Энэ нь бидэнд портуудыг шинэчлэхэд хялбар болгож хуучин 1.0 Портуудын Цуглуулгын шаарддаг
байсан дискний зайн шаардлагыг ихээхэн багасгаж өгдөг. Портыг хөрвүүлэхийн тулд та
суулгахыг хүсэж байгаа програмын сан уруу шилжиж make install
хэмээн бичихэд систем цааш үлдсэнийг хийх болно. Таны бүтээх порт болгоны жинхэнэ эх бүрэн
түгээлт динамикаар CDROM эсвэл локал FTP хаягаас татагдах бөгөөд танд зөвхөн хүссэн портоо
бүтээх хангалттай дискний зай л шаардлагатай. Порт бүр урьдчилан хөрвүүлсэн багц
хэлбэрээр бас байх бөгөөд өөрийн портыг эхээс хөрвүүлэх хүсэлгүй хүмүүс хялбар тушаалаар
(pkg_add) ийм портыг суулгаж болдог. Багцууд болон портуудын
талаар дэлгэрэнгүй мэдээллийг хаягаар олж болно.
Танд FreeBSD суулгаж ашиглах явцад маш их тус болохуйц хэд хэдэн баримтуудыг
хамгийн сүүлийн үеийн дурын FreeBSD машин дээр
/usr/share/doc
сангаас бас олох боломжтой юм. Локалаар суусан гарын авлагуудыг та HTML боломжтой
хөтчүүдийг ашиглан дараах хаягаас үзэж болно:
FreeBSD Гарын авлага
/usr/share/doc/handbook/index.html
FreeBSD-ийн БХА (байнга хариулагддаг асуултууд FAQ)
/usr/share/doc/faq/index.html
Мөн та мастер (болон бусдаас их шинэчлэгддэг) хуулбаруудыг
хаягаас үзэж болно.
diff --git a/mn_MN.UTF-8/books/handbook/network-servers/chapter.sgml b/mn_MN.UTF-8/books/handbook/network-servers/chapter.sgml
index 5261b20b5c..f4d17d71bf 100644
--- a/mn_MN.UTF-8/books/handbook/network-servers/chapter.sgml
+++ b/mn_MN.UTF-8/books/handbook/network-servers/chapter.sgml
@@ -1,4546 +1,4557 @@
Мюррей
Стөүкли
Дахин зохион байгуулсан
Лодойсамбын
Баянзул
Орчуулсан
Сүлжээний орчны Серверүүд
Ерөнхий агуулга
Энэ бүлэгт өргөн хэрэглэгддэг, &unix; системүүдийн сүлжээний орчинд ажилладаг
үйлчилгээнүүдийн талаар авч үзэх болно. Бид энд олон өөр үйлчилгээнүүдийг хэрхэн
суулгах, тохируулах, шалгах болон засвар үйлчилгээг хариуцах талаар үзэх болно.
Танд зориулж жишээ тохиргооны файлуудыг мөн оруулж өгсөн байгаа.
Энэ бүлгийг уншсаны дараа, та дараах зүйлсийг мэдэх болно:
inetd дэмонг хэрхэн удирдах.
Сүлжээний орчны файл системийг хэрхэн зохион байгуулах.
Хэрэглэгчийн бүртгэлийг хуваалцах сүлжээний орчны мэдээллийн серверийг хэрхэн зохион байгуулах.
DHCP ашиглан автоматаар сүлжээний тохиргоог хэрхэн хийх.
Домэйн нэрийн серверийг хэрхэн зохион байгуулах.
Apache HTTP Серверийг хэрхэн зохион байгуулах.
File Transfer Protocol буюу Файл Дамжуулах Протокол(FTP) Серверийг хэрхэн зохион байгуулах.
Samba ашиглан &windows; хэрэглэгчид зориулсан
файл болон хэвлэгч серверийг хэрхэн зохион байгуулах.
Цаг болон өдрийг тохируулах хийгээд NTP протокол ашиглан цагийн серверийг хэрхэн зохион байгуулах.
Энэ бүлгийг уншихаасаа өмнө, та дараах зүйлсийг мэдсэн байх шаардлагатай:
/etc/rc скриптүүдийн үндсийг ойлгосон байх.
Сүлжээний үндсэн нэр томъёоллыг мэддэг байх.
Гуравдагч этгээдийн нэмэлт програмыг() хэрхэн суулгахыг мэддэг байх.
Шерн
Лий
Хувь нэмрээ оруулсан
&os; 6.1-RELEASE-д зориулж шинэчилсэн
&os; Баримтжуулах Төсөл
Лодойсамбын
Баянзул
Орчуулсан
inetd Супер-Сервер
Ерөнхий агуулга
&man.inetd.8; нь олон тооны үйлчилгээний холболтуудыг удирддаг тул
заримдаа түүнийг Интернэт Супер-Сервер
гэж нэрлэх нь бий.
Гаднаас үүсч буй холболтыг inetd хүлээн авч, аль програмтай холбогдохыг
тодорхойлон, тухайн процессийг салаалуулж, сокетийг түүн рүү чиглүүлнэ (програмын стандарт оролт,
гаралт болон алдааны дескриптороор үйлчилгээний сокетийг өгнө). Бага ашиглагддаг сервер дээр
inetd-г ажиллуулах нь бүх дэмонг дангаар бие-даах горимд ажиллуулсантай
харьцуулахад системийн нийт ачааллыг багасгаж өгдөг.
Голчлон, inetd нь бусад дэмонуудыг салаалуулахад хэрэглэгддэг
боловч chargen, auth,
ба daytime гэх мэт нилээд олон ердийн протоколуудыг шууд зохицуулан ажиллуулж чадна.
Энэ хэсэгт inetd-н анхан шатны тохиргоог тушаалын мөрний тохируулгаар,
мөн /etc/inetd.conf тохиргооны файлаар хэрхэн хийхийг үзүүлэх болно.
Тохиргоо
inetd нь &man.rc.8; системээр эхлүүлэгдэнэ.
-inetd_enable тохируулгын анхдагч утга нь NO бөгөөд,
-системийг суулгах явцад хэрэглэгчийн зааж өгсний дагуу sysinstall
-програмын тусламжтай идэвхжүүлж болно. inetd_enable="YES" эсвэл
-inetd_enable="NO"-г /etc/rc.conf
-файл дотор байрлуулснаар inetd-г систем ачаалахад эхэлдэг болгож болно.
-/etc/rc.d/inetd rcvar тушаалыг өгөн одоо идэвхтэй байгаа
-тохиргоог харж болно.
+ inetd_enable тохируулгын анхдагч утга нь NO бөгөөд,
+ системийг суулгах явцад хэрэглэгчийн зааж өгсний дагуу sysinstall
+ програмын тусламжтай идэвхжүүлж болно.
+
+ inetd_enable="YES"
+
+ эсвэл
+
+ inetd_enable="NO"
+
+ гэж /etc/rc.conf
+ файл дотор байрлуулснаар inetd-г систем ачаалахад
+ эхэлдэг болгож болно. Доор дурдсан:
+
+ /etc/rc.d/inetd rcvar
+
+ тушаалыг өгөн одоо идэвхтэй байгаа
+ тохиргоог харж болно.
Дээр нь, inetd_flags тохируулгаар дамжуулан
inetd програмд тушаалын мөрнөөс өөр олон тохируулгыг
зааж өгч болно.
Тушаалын мөрний тохируулгууд
Бусад сервер дэмоны адил, inetd нь
түүнийг өөрчлөн тохируулахад зориулагдсан олон тооны тохируулгуудын хамт ирдэг.
Тохируулгуудыг бүрнээр жагсаан бичвэл:
inetd
inetd-н эдгээр тохируулгуудыг
/etc/rc.conf файл доторх
inetd_flags тохируулгын тусламжтай зааж өгч болно.
Анхдагч байдлаар, inetd_flags нь -wW -C 60 гэсэн
утгыг авсан байх ба энэ нь inetd-ны үйлчилгээнүүдийн хувьд
TCP wrapping буюу TCP-ийн гүйцэтгэл хялбаршуулалтыг идэвхжүүлэх ба тухайн ямар нэг IP хаягнаас аль нэг үйлчилгээнд
нэг минутанд 60-аас дээш удаа хүсэлт тавих боломжгүй болгоно.
Хэдийгээр бид гаднаас хэтэрхий олон
тооны хандалт хийгдэж байгаа үед тохируулгаар түүнийг хэрхэн хязгаарлахыг
доор үзүүлж байгаа ч гэсэн, анхлан суралцагчдад зөвлөхөд
эдгээр параметрүүдийг ихэвчлэн өөрчлөх шаардлагагүй байдаг.
Тохируулгуудын бүрэн жагсаалтыг &man.inetd.8; заавар хуудаснаас үзнэ үү.
-c maximum
Үйлчилгээг нэгэн зэрэг хэдэн удаа дуудаж болох хамгийн дээд
тооны анхдагч утгыг заана; Анхдагч утга нь хязгааргүй.
Үйлчилгээ тус бүрээр параметрийн тусламжтай
утгыг дарж өөрчилж болно.
-C rate
Үйлчилгээг нэг IP хаягнаас нэг минутын дотор хэдэн удаа
дуудаж болох
хамгийн дээд тооны анхдагч утгыг заана; Анхдагч утга нь хязгааргүй.
Үйлчилгээ тус бүрээр параметрийн тусламжтай
утгыг дарж өөрчилж болно.
-R rate
Үйлчилгээг нэг минутын дотор хэдэн удаа дуудаж болох
хамгийн дээд тоог заана; Анхдагч утга нь 256. 0-г
тавьснаар хязгааргүй болгоно.
-s maximum
Үйлчилгээг нэг IP хаягнаас хэдэн удаа
дуудаж болох хамгийн дээд тоог заана; Анхдагч утга нь хязгааргүй.
Үйлчилгээ тус бүрээр параметрийн тусламжтай
утгыг дарж өөрчилж болно.
inetd.conf
inetd-г /etc/inetd.conf
файлын тусламжтай тохируулна.
/etc/inetd.conf файлд өөрчлөлт хийсний дараа,
inetd-р тохиргооны файлыг дахин уншуулахдаа
дараах тушаалыг өгнө:
inetd-н тохиргооны файлыг дахин дуудах нь
&prompt.root; /etc/rc.d/inetd reload
Тохиргооны файлын мөр бүр тусдаа дэмонг заана.
Файл доторх тайлбарууд нь урдаа #
тэмдэгтэй байна.
/etc/inetd.conf файл доторх бичлэгүүдийн формат дараах
байдалтай байна:
service-name
socket-type
protocol
{wait|nowait}[/max-child[/max-connections-per-ip-per-minute[/max-child-per-ip]]]
user[:group][/login-class]
server-program
server-program-arguments
IPv4 ашигладаг &man.ftpd.8; дэмоны хувьд жишээ бичлэг дараах байдалтай байж болно:
ftp stream tcp nowait root /usr/libexec/ftpd ftpd -l
service-name
Тухайн дэмоны үйлчилгээний нэрийг заана.
Энэ нь /etc/services файл дотор бичигдсэн үйлчилгээнүүдийн нэг
байх ёстой бөгөөд аль портон дээр сонсохыг inetd-д хэлж өгнө.
Хэрэв шинэ үйлчилгээ үүсгэсэн бол түүнийг заавал /etc/services файл
дотор нэмсэн байх ёстой.
socket-type
stream,
dgram, raw, эсвэл seqpacket эдгээрийн нэг байна.
stream-г холболтон дээр үндэслэсэн TCP дэмонуудын хувьд хэрэглэдэг бол,
dgram-г UDP протоколоор ажилладаг дэмонуудын хувьд хэрэглэнэ.
protocol
Доор дурдсанаас нэг нь байна:
Протокол
Тайлбар
tcp, tcp4
TCP IPv4
udp, udp4
UDP IPv4
tcp6
TCP IPv6
udp6
UDP IPv6
tcp46
TCP IPv4 ба v6 хоёул
udp46
UDP IPv4 ба v6 хоёул
{wait|nowait}[/max-child[/max-connections-per-ip-per-minute[/max-child-per-ip]]]
нь inetd-р дуудагдсан
дэмон өөрийн сокетийг зохицуулж чадах эсэхийг заана.
сокеттой дэмоны хувьд тохируулгыг
хэрэглэнэ. Харин ихэвчлэн олон салаатай байдаг
stream сокеттой дэмоны хувьд тохируулгыг хэрэглэх
хэрэгтэй. нь ихэвчлэн олон сокетийг нэг дэмонд
шилжүүлэн өгдөг бол, нь шинээр үүссэн сокет тус бүрт
харгалзуулан хүүхэд дэмонг салаалуулан үүсгэдэг.
inetd-ийн салаалуулан үүсгэж
чадах хамгийн их хүүхэд дэмоны тоог
тохируулгын тусламжтай зааж өгч болно. Хэрэв
тухайн дэмоны ажиллаж болох тохиолдлыг 10-р хязгаарлах бол,
-н ард /10 гэж бичнэ.
/0 нь хүүхдийн тоог хязгаарлахгүй гэсэн утгатай.
-с гадна, нэг газраас тухайн дэмонтой
үүсгэж байгаа холболтын тоог хязгаарладаг өөр хоёр
тохируулгыг хэрэглэж болно.
нь тухайн ямар нэг IP хаягнаас
нэг минутанд үүсгэж болох холболтын тоог хязгаарлана,
жишээлбэл: 10 гэсэн утга нь тухайн ямар нэг IP хаягнаас
нэг минутын дотор тухайн үйлчилгээнд холбогдохоор оролдох
оролдлогын тоог 10-р хязгаарлана. нь
Тухайн ямар нэг IP хаяг дээр үүсгэгдсэн хүүхдийн тоог хязгаарлана.
Эдгээр тохируулгууд нь санаатай болон санамсаргүйгээр нөөцийг
хэтрүүлэн хэрэглэх, мөн Үйлчилгээг Зогсоох (DoS) халдлагаас хамгаалахад
хэрэгтэй байдаг.
Хэрэглэхдээ, ба
хоёрын аль нэгийг заавал хэрэглэх ёстой. Харин ,
ба
тохируулгуудыг сонгон хэрэглэж болно.
Stream төрлийн олон салаатай (урсгал) дэмоны хувьд, ,
эсвэл хязгаарлалтуудын
алийг ч хэрэглэхгүй бол ердөө л: nowait байна.
Дээрхтэй адил дэмон, 10 хүүхэд дэмоны хязгаарлалттай бол: nowait/10 байна.
Мөн адил дэмон, 10 хүүхэд дэмоны хязгаарлалттай,
минутанд нэг IP хаягнаас үүсгэх холболтын тоог 20-р хязгаарлах бол:
nowait/10/20 байна.
Эдгээр тохируулгуудыг &man.fingerd.8; дэмоны анхдагч тохиргоон дээр
жишээ болгон харвал:
finger stream tcp nowait/3/10 nobody /usr/libexec/fingerd fingerd -s
Эцэст нь, 100 хүүхдийн хязгаарлалттай, нэг IP хаягнаас үүсэх холболтын
тоог 5-р хязгаарласан дэмоны жишээг авбал: nowait/100/0/5 байх юм.
user
Энд тухайн дэмон ямар хэрэглэгчийн нэрээр ажиллахыг зааж өгнө.
Ихэвчлэн дэмонууд root хэрэглэгчийн нэр дээр ажилладаг.
Аюулгүй байдлын үүднээс, зарим серверүүд daemon, эсвэл
хамгийн бага эрхтэй nobody хэрэглэгчийн нэр дээр ажиллах нь
элбэг байдаг.
server-program
Энд гаднаас холболт хүлээн авахад ажиллуулах дэмоны
бүрэн замыг зааж өгнө. Хэрэв энэ дэмон inetd-р удирдагдсан
дотоод үйлчилгээ бол тохируулгыг хэрэглэх хэрэгтэй.
server-program-arguments
Үүнийг -тай хамт, argv[0]-с эхлэн
програмын аргументыг зааж өгөх байдлаар хэрэглэнэ. Хэрэв командын
мөрөнд mydaemon -d гэсэн байдлаар хэрэглэдэг бол, -н
утга mydaemon -d байна. Дахин хэлэхэд, хэрэв тухайн дэмон дотоод үйлчилгээний
нэг бол -г энд мөн хэрэглэнэ үү.
Аюулгүй байдал
Үйлдлийн системийг суулгах үед хийсэн сонголтуудаас хамааран
inetd-н үйлчилгээнүүдийн ихэнх нь
идэвхтэй болсон байдаг. Хэрэв хэрэглэх
онцын шаардлага байхгүй бол тэдгээрийг идэвхгүй болгоно уу.
/etc/inetd.conf файл дотор, идэвхгүй болгох гэж
байгаа демоныхоо харгалзах мөрийн урд #
тэмдгийг тавьна. Дараа нь inetd-н тохиргоог дахин
ачаална. fingerd зэрэг зарим дэмонууд гадны халдагчид
хэрэгтэй мэдээллийг түгээж байдаг тул тэдгээр үйлчилгээг бүрмөсөн хааж
болох юм.
Зарим дэмонууд аюулгүй байдлыг бодолцолгүйгээр бүтээгдсэн
байдаг ба холболт тогтоох харьцангуй урт болзоот хугацаатай, эсвэл болзоот
хугацааг огт зааж өгөөгүй байдаг. Энэ нь халдагчид тодорхой дэмон уруу холболт
тогтоох хүсэлтийг олон дахин илгээж, нөөцийг дуусгах замаар системд халдах
боломжийг олгодог. Хэрэв ямар нэг дэмоны хувьд үүссэн холболтын тоо
хэтэрхий олон байвал ,
эсвэл тохиргооны
тусламжтайгаар хязгаарлалт хийх нь оновчтой байдаг.
Анхдагч байдлаар TCP-ийн дундын хяналт (гүйцэтгэл хялбаршуулалт) идэвхтэй байдаг.
inetd-р дуудагдсан дэмонуудын хувьд TCP хязгаарлалт
тавихын талаар дэлгэрэнгүй мэдээллийг &man.hosts.access.5;
заавар хуудаснаас үзнэ үү.
Элдэв зүйлс
daytime,
time,
echo,
discard,
chargen, ба auth бүгд
inetd-н дотоод үйлчилгээнүүд юм.
auth үйлчилгээ нь
сүлжээний орчинд, тодорхойлолт өгөх үйлчилгээ үзүүлдэг
бөгөөд тодорхой түвшинд тохиргоо хийх боломжтой байдаг бол
бусад үйлчилгээнүүдийг зөвхөн идэвхтэй эсвэл идэвхгүй болгох
боломжтой.
Бүрэн дүүрэн мэдээллийг &man.inetd.8; заавар хуудаснаас
үзнэ үү.
Том
Рөүдс
Дахин зохион байгуулж, сайжруулсан
Билл
Свингл
Бичсэн
Лодойсамбын
Баянзул
Орчуулсан
Сүлжээний Файлын Систем (NFS)
NFS
FreeBSD дээр дэмжигддэг олон файлын системүүдийн нэг бол
Network File System буюу Сүлжээний Файлын Систем юм, мөн NFS гэж нэрлэнэ. NFS нь сүлжээний орчинд файл болон санг
бусадтай хуваалцах боломжийг олгодог. NFS-г
хэрэглэн, хэрэглэгчид болон програмууд алслагдсан систем рүү
дотоод файл руу хандаж байгаатай адилаар хандах боломжтой.
NFS-н тэмдэглүүштэй давуу талуудаас дурдвал:
Өргөн хэрэглэгддэг өгөгдлийг нэгтгэн нэг машин дээр
байрлуулж, түүнд алсаас хандах боломжтой болсноор
дотоод машинууд илүү бага диск хэрэглэх болно.
Хэрэглэгчийн хувьд сүлжээнд байгаа машин бүр дээр тус
тусдаа гэрийн сантай байх шаардлагагүй болно.
Гэрийн санг нэг удаа NFS сервер дээр үүсгээд
түүнийгээ сүлжээгээр дамжин хэрэглэх боломжтой.
Уян диск, CDROM болон &iomegazip; төхөөрөмжүүдийг сүлжээний
бусад машинууд хэрэглэх боломжтой болно.
Ингэснээр сүлжээнд хэрэглэгдэх зөөвөрлөх боломжтой
хадгалах төхөөрөмжүүдийн тоог багасгана.
NFS хэрхэн ажилладаг вэ
NFS нь үндсэн хоёр хэсгээс бүрдэнэ:
сервер болон нэг ба түүнээс дээш тооны харилцагч. Сервер машин дээр
хадгалагдаж байгаа өгөгдөл рүү харилцагч алсаас хандана.
Дээрх үйлдлийг зөв гүйцэтгэхийн тулд нилээд хэдэн процессийн
тохиргоог хийж, ажиллуулсан байх ёстой.
Сервер дээр дараах дэмонууд ажиллаж байх ёстой:
NFS
сервер
файл сервер
UNIX харилцагчид
rpcbind
mountd
nfsd
Дэмон
Тайлбар
nfsd
NFS харилцагчдаас ирэх
хүсэлтийг хүлээн авах NFS дэмон.
mountd
&man.nfsd.8;-с дамжиж ирсэн хүсэлтийг гүйцэтгэгч
NFS холбох дэмон.
rpcbind
Энэ дэмоны тусламжтай NFS
харилцагчид NFS сервер аль портон дээр
ажиллаж байгааг олж мэднэ.
Харилцагч nfsiod гэсэн дэмонг мөн
ажиллуулж болно. nfsiod дэмон
NFS серверээс ирэх хүсэлтийг гүйцэтгэнэ.
Ингэх нь системийг хэвийн, алдаагүй ажиллуулахад зайлшгүй
шаардлагагүй боловч зарим үзүүлэлтүүдийг сайжруулдаг тул нэмэлт
байдлаар хэрэглэж болно. Дэлгэрэнгүй мэдээллийг
&man.nfsiod.8; хуудаснаас үзнэ үү.
NFS-н тохиргоог хийх
NFS
тохиргоо
NFS-н тохиргоог хийх нь харьцангуй
амархан. Ажиллах ёстой процессуудыг системтэй хамт автоматаар
асдаг болгохын тулд /etc/rc.conf файлыг бага зэрэг
өөрчлөхөд хангалттай.
NFS сервер дээрх /etc/rc.conf файл дотор
дараах тохируулгууд идэвхжсэн байгаа эсэхийг шалгана уу:
rpcbind_enable="YES"
nfs_server_enable="YES"
mountd_flags="-r"
mountd нь NFS серверийг
идэвхжүүлсэн тохиолдолд өөрөө автоматаар ажиллана.
Харилцагч талд, /etc/rc.conf файл дотор
дараах тохируулга идэвхтэй байгаа эсэхийг шалгана уу:
nfs_client_enable="YES"
/etc/exports файл дотор
NFS ямар файл системүүдийг экспорт
хийхийг (заримдаа хуваалцах
гэж мөн нэрлэнэ) зааж өгнө.
/etc/exports файлын мөр бүр нь нэг файл системд харгалзана.
Энэ файл системд хандах эрхтэй машинуудыг заахаас гадна,
ямар тохируулгаар хандахыг мөн зааж өгч болно. Энэ файл дотор бичигдэж
болох нилээд олон ийм тохируулгууд байгаа хэдий ч, бид тэдгээрээс
зөвхөн заримыг нь энд авч үзэх болно. Та бусад тохируулгуудын
талаар &man.exports.5; заавар хуудаснаас уншиж мэднэ үү.
Доор /etc/exports файлаас хэдэн жишээ мөрийг үзүүлэв:
NFS
экспортлох жишээ
Дараах жишээн дээрээс файл системийг
хэрхэн экспортлох санааг олж авах болно. Тохируулгууд нь
таны сүлжээний тохиргоо, нөхцөл байдлаас шалтгаалан
өөр байхыг анхаарна уу. Жишээ нь, /cdrom гэсэн санг
3 машин руу экспортлохын тулд дараах байдалтай бичнэ. Жишээн дээрх
3 машин сервертэй адил домэйн нэртэй, эсвэл таны /etc/hosts
файл дотор тодорхойлогдсон гэж үзсэн болно. туг нь
экспортлогдож буй файл системийг зөвхөн унших боломжтой
болохыг заана. Энэ тугийг тавьснаар алсаас хандаж буй машин
энэ файл систем дээр ямар нэг өөрчлөлт хийх боломжгүй болно.
/cdrom -ro host1 host2 host3
Дараах жишээн дээр /home санг
IP хаягаар нь зааж өгсөн 3 машин руу экспортолж байна.
Ингэж IP хаягаар нь зааж өгөх нь дотоод сүлжээндээ
DNS сервер ажиллуулаагүй үед их хэрэгтэй байдаг.
Эсвэл /etc/hosts файл дотор дотоод хостуудын
нэрийг тохируулж болно; &man.hosts.5; хэсгийг дахин үзнэ үү.
гэсэн туг нь дэд сангуудыг
холболтын цэг байхыг зөвшөөрч өгдөг. Өөрөөр хэлбэл,
дэд сангуудыг холболгүй орхиж, харилцагч зөвхөн өөрийн
хэрэгцээтэй байгаа сангаа холбохыг зөвшөөрнө гэсэн үг юм.
/home -alldirs 10.0.0.2 10.0.0.3 10.0.0.4
Дараах жишээн дээр /a санг
хоёр өөр домэйноос 2 харилцагч хандаж болохоор
экспортолж байна. гэсэн туг нь
алслагдсан систем дээрх root хэрэглэгч
экспортлогдсон файл систем дээр root эрхээр
бичихийг зөвшөөрнө. Хэрэв -maproot=root тугийг тусгайлан зааж өгөөгүй бол,
хэдий алслагдсан систем дээрх хэрэглэгч root эрхтэй ч
экспортлогдсон файл систем дээр бичих эрхгүй болно.
/a -maproot=root host.example.com box.example.org
Харилцагч экспортлогдсон файл систем рүү хандахын
тулд эрх нь байх ёстой. Тухайн харилцагч /etc/exports
файл дотор бүртгэлтэй эсэхийг шалгаарай.
/etc/exports файл дотор мөр болгон нь
нэг файл системийг нэг хост руу экспортлох мэдээллийг
төлөөлнө. Алслагдсан хост аль нэг файл системийн хувьд
зөвхөн ганц удаа л тодорхойлогдсон байх ёстой ба үүнд харгалзах
ганцхан анхдагч бичлэг байж болно. Жишээ нь, /usr нь
нэг файл систем гэж бодъё. /etc/exports файл доторх
дараах бичлэгүүд нь буруу юм:
# Invalid when /usr is one file system
/usr/src client
/usr/ports client
Учир нь /usr гэсэн файл системийг client
гэсэн хост руу экспортолсон хоёр бичлэг байна. Энэ тохиолдолд
дараах форматаар бичвэл зөв болно:
/usr/src /usr/ports client
Нэг хост руу экспортлогдож байгаа файл системийн хувьд
шинжүүдийг бүгдийг нэг мөрөнд жагсаан бичих ёстой.
Харилцагчийг зааж өгөөгүй мөрүүдийг энгийн хост гэж үзнэ.
Энэ нь файл системийг экспортлох боломжийг хязгаарлана,
гэвч энэ нь ихэнх хүмүүст хүнд асуудал биш байдаг.
Дараагийн жишээн дээр /usr ба /exports
гэсэн дотоод файл системийг экспортолсон байна:
# Export src and ports to client01 and client02, but only
# client01 has root privileges on it
/usr/src /usr/ports -maproot=root client01
/usr/src /usr/ports client02
# The client machines have root and can mount anywhere
# on /exports. Anyone in the world can mount /exports/obj read-only
/exports -alldirs -maproot=root client01 client02
/exports/obj -ro
/etc/exports файл дотор гарсан
өөрчлөлтүүдийг хүчинтэй болгохын тулд,
өөрчлөлт орсон тухай бүрд mountd дэмонг
албадан /etc/exports-г дахин уншуулах хэрэгтэй болдог.
Үүний тулд эсвэл HUP дохиог ажиллаж байгаа дэмонд өгөх хэрэгтэй:
&prompt.root; kill -HUP `cat /var/run/mountd.pid`
эсвэл mountd &man.rc.8; скриптийг зохих параметрийн
хамт ажиллуулах хэрэгтэй:
&prompt.root; /etc/rc.d/mountd onereload
rc скриптийг хэрэглэх зааврыг хэсгээс
үзнэ үү.
Бас нэг боломж нь, FreeBSD-г эхнээс нь ачаалж, бүх процессийг дахин
эхлүүлэх юм. Гэвч үүний тулд заавал системийг дахин ачаалах шаардлага байхгүй.
root эрхээр дараах тушаалуудыг өгснөөр зөвхөн хэрэгтэй процессуудаа
дахин эхлүүлэх боломжтой.
NFS сервер дээр:
&prompt.root; rpcbind
&prompt.root; nfsd -u -t -n 4
&prompt.root; mountd -r
NFS харилцагч дээр:
&prompt.root; nfsiod -n 4
Одоо алсын файл системийг холбоход бэлэн боллоо.
Доорх жишээнүүд дээр серверийн нэрийг server,
харилцагчийн нэрийг client гэж авсан болно.
Хэрэв та алсын файл системийг зөвхөн түр хугацаагаар холбох гэж байгаа
эсвэл тохиргоогоо шалгах гэж байгаа бол, харилцагч талд
root эрхээр дараах тушаалыг өгөхөд хангалттай:
NFS
холболт
&prompt.root; mount server:/home /mnt
Энэ тушаалыг өгснөөр та сервер талд байгаа /home
гэсэн санг харилцагч талд байгаа /mnt сантай
холбох болно. Хэрэв бүх зүйл зөв тохируулагдсан бол, та харилцагч талын
/mnt сан дотор орж сервер дээр байгаа файлуудыг
харж чадах ёстой.
Хэрэв систем шинээр ачаалах бүрд ямар нэг алсын
файл системийг холбох хүсэлтэй байгаа бол,
түүнийгээ /etc/fstab файл дотор нэмж бичих хэрэгтэй.
Жишээ нь:
server:/home /mnt nfs rw 0 0
Боломжит бүх сонголтуудын талаар &man.fstab.5; заавар хуудаснаас үзнэ үү.
Цоожлолт
Зарим програмууд (ж.н. mutt)
зөв ажиллахын тулд файл цоожлолтыг шаарддаг.
NFS-н хувьд, rpc.lockd-г
файл цоожлолтонд хэрэглэж болно. Түүнийг идэвхжүүлэхийн тулд,
сервер болон харилцагч талд хоёуланд нь /etc/rc.conf
файл дотор дараах мөрүүдийг нэмж өгөх хэрэгтэй
(NFS сервер болон харилцагч талуудыг аль хэдийн тохируулчихсан
гэж үзэв):
rpc_lockd_enable="YES"
rpc_statd_enable="YES"
Програмыг дараах байдалтай эхлүүлнэ:
&prompt.root; /etc/rc.d/nfslocking start
Хэрэв NFS харилцагч болон NFS
сервер талуудын хооронд жинхэнэ файл цоожлолт хийгдэх
шаардлагагүй бол, NFS харилцагч талд &man.mount.nfs.8;-д
тохируулгыг өгөн дотоод цоожлолт хийлгэж болно.
Дэлгэрэнгүй мэдээллийг &man.mount.nfs.8; заавар хуудаснаас үзнэ үү.
Практик хэрэглээ
NFS нь олон практик хэрэглээтэй. Хамгийн элбэг
тохиолддог хэрэглээг доор жагсаав:
NFS
хэрэглээ
Олон машиныг нэг CDROM эсвэл төхөөрөмжийг дундаа
хэрэглэдэг байхаар зохион байгуулах. Энэ нь нэг програмыг
олон машин дээр суулгах хамгийн хямд, хялбар арга юм.
Том сүлжээний хувьд, бүх хэрэглэгчдийн гэрийн санг хадгалдаг
төвлөрсөн NFS серверийг тохируулах. Эдгээр гэрийн сангуудыг
дараа нь сүлжээний орчинд экспортолсноор хэрэглэгчид аль машин дээр
ажиллаж буйгаас үл хамааран өөрийн нэг л сан дотор ажиллах боломжтой
болно.
Олон машин дундаа нэг /usr/ports/distfiles
сантай байх. Ийм замаар, нэг портыг олон машин дээр суулгах
хэрэгтэй үед машин бүр дээр эх файлыг татаж авалгүйгээр хурдан суулгах
боломжтой болно.
Вылий
Стилвэл
Хувь нэмрээ оруулсан
Шерн
Лий
Дахин эмхтгэсэн
Лодойсамбын
Баянзул
Орчуулсан
amd-р автоматаар холбох нь
amd
автоматаар холбогч дэмон
&man.amd.8; (автоматаар холбогч дэмон)
нь алсын файл системийн файл эсвэл санд хэрэглэгч
хандах тухай бүрт уг файл системийг автоматаар холбодог.
Хэсэг хугацааны туршид идэвхгүй байгаа файл системийг
amd мөн автоматаар салгана. amd-г
хэрэглэснээр /etc/fstab дотор бичигддэг байнгын
холболтоос гадна, холболт хийх боломжийг олгодог.
amd нь өөрийгөө, /host ба /net
сангууд дээр NFS сервер байдлаар холбож ажиллах бөгөөд эдгээр
сангууд доторх файлд хандах үед, amd
харгалзах алсын холболтыг хайж олоод автоматаар холбох болно.
/net нь экспортлогдсон файл системийг
IP хаягаар нь холбоход, харин /host нь
хост нэрээр нь холбоход хэрэглэгдэнэ.
/host/foobar/usr сан доторх
файлд хандана гэдэг нь amd-г
foobar гэсэн хост дээр экспортлогдсон /usr
санг холбохын зааж өгнө.
Экспортыг amd-р холбох
Алсын хост дээр байгаа боломжит холболтуудын
жагсаалтыг showmount тушаалын тусламжтай харж болно.
Жишээлбэл, foobar нэртэй хостын экспортыг харахын тулд:
&prompt.user; showmount -e foobar
Exports list on foobar:
/usr 10.10.10.0
/a 10.10.10.0
&prompt.user; cd /host/foobar/usr
Жишээн дээр үзүүлснээр showmount нь /usr-г
экспортлогдсон болохыг харуулж байна. /host/foobar/usr сан
дотор ороход, amd нь foobar гэсэн хост нэрийг
тайлахыг оролдох ба заасан санг холбоно.
amd-г эхлэл скриптүүдээр эхлүүлж болох ба
үүний тулд /etc/rc.conf файл дотор дараах мөрийг нэмэх хэрэгтэй:
amd_enable="YES"
Мөн, amd програмд amd_flags тохируулгын
тусламжтай тугуудыг өгч болно. amd_flags-н анхдагч утга нь:
amd_flags="-a /.amd_mnt -l syslog /host /etc/amd.map /net /etc/amd.map"
/etc/amd.map файл дотор экспортуудыг холбох анхдагч
тохируулгуудыг зааж өгсөн байна. /etc/amd.conf файл дотор
amd-н илүү дээд түвшний чанаруудыг тодорхойлж өгнө.
Дэлгэрэнгүй мэдээллийг &man.amd.8; ба &man.amd.conf.5; заавар хуудаснаас
үзнэ үү.
Жон
Линд
Хувь нэмрээ оруулсан
Лодойсамбын
Баянзул
Орчуулсан
Бусад системтэй нэгтгэхэд тохиолдох асуудлууд
ISA PC системд зориулсан зарим Ethernet адаптерууд
учир дутагдалтай байдгаас сүлжээний орчинд ажиллахад, тэр дундаа
NFS-тэй ажиллахад нилээд асуудалтай байдаг.
Энэ асуудал зөвхөн FreeBSD-д тохиолддоггүй боловч FreeBSD систем үүнд нилээд
өртөмтгий байдаг.
Энэ асуудал нь (FreeBSD) PC системийг өндөр үзүүлэлттэй машинуудтай (жишээлбэл,
Silicon Graphics, Inc., ба Sun Microsystems, Inc компаниудын хийсэн)
сүлжээнд холбох үед бараг үргэлж тохиолддог. NFS холболт хийхэд асуудалгүй,
зарим үйлдлүүдийг хийхэд амжилттай байх боловч, гаднаас ирж явж байгаа
хүсэлтүүдийг боловсруулж чадаж байгаа хэдий ч сервер гэнэт харилцагчид
хариу өгөхгүй болдог. Энэ асуудал мөн харилцагчийн хувьд, харилцагч
FreeBSD систем эсвэл ажлын машин байхаас үл шалтгаалан тохиолдоно.
Ихэнх системийн хувьд, нэгэнт ийм асуудалд орсон бол харилцагч талыг
ном ёсных нь дагуу унтраах боломжгүй болдог. Ганц авдаг арга хэмжээ бол системийг
хүчээр унтрааж асаах юм. Учир нь, NFS-н энэ асуудал одоо хир нь шийдэгдээгүй
байна.
Хэдийгээр зөв
шийдэл бол
FreeBSD системд тохирох илүү өндөр үзүүлэлттэй, илүү багтаамжтай
Ethernet адаптерийг олж авах боловч,
боломжит ажиллагааг хангахын тулд нэг арга байна.
Хэрэв FreeBSD систем нь сервер бол, харилцагч талаас
холболт хийхдээ тохируулгыг оруулж өгөх явдал юм.
Хэрэв FreeBSD систем нь харилцагч бол, NFS файл системтэй
холбогдохдоо тохируулгыг хэрэглэх юм.
Эдгээр тохируулгуудыг автомат холболтын хувьд
fstab бичлэгийн дөрөв дэх талбарыг ашиглан,
гар аргаар холболт хийх бол &man.mount.8; тушаалын
параметрыг ашиглан зааж өгч болно.
NFS сервер болон харилцагчид өөр өөр сүлжээнд
байхад гардаг өөр нэг асуудлыг энэ асуудалтай
хольж хутгах тохиолдол байдгийг энд дурдах нь зүйтэй болов уу.
Хэрэв тийм бол, чиглүүлэгчид шаардлагатай UDP
мэдээллийг дамжуулж чадаж байгаа эсэхийг
нягталж үзээрэй. Үгүй бол, өөр юу ч хийлээ гээд
та үр дүнд хүрч чадахгүй.
Дараах жишээн дээр, fastws нь өндөр үзүүлэлттэй
ажлын машины хост (интерфэйс) нэр, freebox нь
бага үзүүлэлттэй Ethernet адаптертай FreeBSD системийн
нэр юм. Мөн, /sharedfs нь экспортлогдох гэж байгаа NFS
файл систем (&man.exports.5;-г үз), ба /project нь
харилцагч талын экспортлогдсон файл системийг холбох цэг байх болно.
Аль ч тохиолдолд, эсвэл ба
зэрэг нэмэлт тохируулгууд таны хувьд хэрэгтэй байж болох юм.
FreeBSD системийг (freebox) freebox дээр
/etc/fstab дотор харилцагч байдлаар зааж өгөх жишээ:
fastws:/sharedfs /project nfs rw,-r=1024 0 0
freebox дээр гараар холбохдоо:
&prompt.root; mount -t nfs -o -r=1024 fastws:/sharedfs /project
FreeBSD системийг (freebox) fastws дээр
/etc/fstab дотор сервер байдлаар зааж өгөх жишээ:
freebox:/sharedfs /project nfs rw,-w=1024 0 0
fastws дээр гараар холбохдоо:
&prompt.root; mount -t nfs -o -w=1024 freebox:/sharedfs /project
Бараг бүх 16-битийн Ethernet адаптерийн хувьд
унших ба бичих хэмжээн дээр дээрх байдлаар хязгаарлалт
хийлгүйгээр ажиллах боломжтой байдаг.
Сонирхсон улсуудад толилуулахад, дээрх алдаа гарахад
чухам юу тохиолддог, яагаад засагдах боломжгүй болох талаар
дор тайлбарлав. NFS нь голчлон 8 K (хэдийгээр илүү бага хэмжээтэй
хэсэг дээр ажиллаж чадах боловч) хэмжээтэй блок
ууд дээр
ажилладаг. Хамгийн урт Ethernet пакет 1500 байт орчим байх ба,
NFS блок
нь хэд хэдэн Ethernet пакетуудад хуваагдах
хэрэгтэй болдог. Дээд түвшний програмын хувьд
энэ нь нэг нэгж хэвээр байх ба хүлээж аваад, нийлүүлээд, бататгал
хийхэд ч мөн нэг нэгж хэвээр байдаг. Өндөр үзүүлэлттэй ажлын машинууд
NFS нэгжийг бүрдүүлж байгаа тэдгээр пакетуудыг стандартад
заасны дагуу аль болох ойрхон ойрхон, нэг нэгээр нь цувуулж
гаргана. Жижиг, бага багтаамжтай картууд дээр, дээд түвшний програмд
дамжуулахаас өмнө сүүлийн пакет нь өмнөх пакетаа дарснаар
тухайн нэгжийг буцааж нийлүүлж, бататгах боломжгүй болно.
Үүнээс болж, ажлын машины болзоот хугацаа дуусаж бүхэл бүтэн 8 K
нэгжийг дахин дамжуулах болно. Энэ үйл ажиллагаа дахин дахин хязгааргүй
давтагдах болно.
Нэгжийн хэмжээг Ethernet пакетийн хэмжээнээс бага
байлгаснаар, бид Ethernet пакет тус бүрийг бататгаж
мухардалд орохоос сэргийлж чадна.
Өндөр үзүүлэлттэй ажлын машинууд PC систем рүү өгөгдлийг
цацсаар байх үед давхцал үүссээр байх боловч, илүү сайн карт
ашигласнаар NFS нэгж
ийн хувьд заавал тийм давхцал үүсэх
албагүй болно. Давхцал үүссэн тохиолдолд, түүнд өртсөн нэгжийг
дахин дамжуулах ба түүнийг хүлээн авч, нийлүүлж, бататгах боломж өндөртэй.
Билл
Свингл
Бичсэн
Эрик
Огрен
Сайжруулсан
Удо
Эрделхофф
Лодойсамбын
Баянзул
Орчуулсан
Сүлжээний Мэдээллийн Систем (NIS/YP)
Энэ юу вэ?
NIS
Solaris
HP-UX
AIX
Linux
NetBSD
OpenBSD
NIS,
нь Network Information Services буюу Сүлжээний Мэдээллийн Үйлчилгээнүүд
гэсэн үгийн товчлол бөгөөд &unix; (анхандаа &sunos;) системүүдийн
удирдлагыг төвлөрүүлэх зорилгоор Sun Microsystems анх хөгжүүлсэн.
Одоо энэ салбарын үндсэн стандарт болжээ; бүх гол &unix; төрлийн системүүд
(&solaris;, HP-UX, &aix;, Линукс, NetBSD, OpenBSD, FreeBSD, гэх мэт) NIS-г дэмждэг.
шар хуудасNIS
NIS анх Yellow Pages буюу Шар Хуудас
гэсэн нэртэй байсан боловч худалдааны тэмдгийн асуудлаас болж
Sun нэрийг нь сольсон. Хуучин нэр (ба yp) нь одоо хир нь хэрэглэгдсээр байдаг.
NIS
домэйнууд
Энэ нь RPC дээр үндэслэсэн, нэг NIS домэйнд байгаа
бүлэг машинууд дундаа адилхан тохиргооны файлтай боломжийг
олгодог харилцагч/сервер систем юм. Үүний тусламжтай
системийн администратор NIS харилцагч системийг
зайлшгүй байх үндсэн тохиргоотойгоор үүсгэх, тохиргооны өгөгдлийг
нэг дор нэмэх, хасах, өөрчлөх зэрэг үйлдлүүдийг хийх
боломжтой болдог.
Windows NT
Энэ нь &windowsnt;-н домэйн системтэй төстэй.
Хэдийгээр тэдгээрийн дотоод ажиллагаа нь ердөө ч адилхан биш боловч
үндсэн үүргийг нь адилтгаж болох юм.
Таны мэдэж байх ёстой Нэр томъёо/Процессууд
NIS сервер эсвэл NIS харилцагч байдлаар ажилладаг NIS-г FreeBSD дээр
зохион байгуулахын тулд нилээд хэдэн нэр томъёо, чухал хэрэглэгчийн
процессуудтай та тааралдах болно:
rpcbind
portmap
Нэр томъёо
Тайлбар
NIS домэйн нэр
NIS мастер сервер болон түүний бүх харилцагчид
(түүний зарц серверийг оруулаад) бүгд NIS домэйн нэртэй байна.
&windowsnt;-н домэйн нэртэй адилаар, NIS домэйн нэр DNS-тэй
ямар ч хамаагүй.
rpcbind
RPC-г (Remote Procedure Call буюу Алсын Процедур Дуудах, NIS-н
ашигладаг сүлжээний протокол) идэвхтэй байлгахын тулд заавал ажиллаж
байх ёстой. Хэрэв rpcbind ажиллахгүй бол,
NIS сервер ажиллуулах, NIS харилцагч болох боломжгүй.
ypbind
NIS харилцагчийг NIS сервертэй холбоно
.
NIS домэйн нэрийг системээс авч, RPC ашиглан сервертэй холбоно.
ypbind нь NIS орчны харилцагч-серверийн харилцааны цөм нь болж
өгдөг; Хэрэв харилцагчийн машин дээр ypbind үхвэл,
NIS сервер рүү хандах боломжгүй болно.
ypserv
Зөвхөн NIS сервер дээр ажиллаж байх ёстой;
энэ бол NIS сервер процесс өөрөө юм. Хэрэв &man.ypserv.8; үхвэл,
сервер NIS хүсэлтэд хариу өгөх боломжгүй болно (магадгүй,
түүний үүргийг үргэлжлүүлэх зарц сервер байгаа байх). Зарим
NIS-н хувьд (FreeBSD-гийх биш), анх холбогдож байсан сервер байхгүй болбол
өөр сервертэй холбоо тогтоохыг оролддоггүй хувилбарууд байдаг.
Ихэнхдээ, ийм үед ганц тус болох зүйл бол сервер процессийг
дахин эхлүүлэх (эсвэл серверийг бүхлээр нь), эсвэл харилцагч талын
ypbind процессийг дахин эхлүүлэх юм.
rpc.yppasswdd
Зөвхөн NIS эзэн сервер дээр ажиллаж байх ёстой өөр
нэг процесс; Энэ дэмон NIS харилцагч нарыг өөрсдийн нэвтрэх үгийг
солих боломжийг олгоно. Хэрэв энэ дэмон ажиллахгүй бол,
хэрэглэгчид NIS эзэн сервер рүү нэвтэрч орон тэнд нэвтрэх үгээ солих
хэрэгтэй болно.
Хэрхэн ажилладаг вэ?
NIS орчинд гурван төрлийн хост байна:
эзэн сервер, зарц сервер, ба харилцагч. Серверүүд нь
хостуудын тохиргооны мэдээллийг хадгалсан агуулахын үүргийг
гүйцэтгэнэ. Эзэн сервер энэ мэдээллийн бүрэн эрхтэй хуулбарыг
хадгалж байдаг бол, зарц сервер нь энэ мэдээллийн хуулбарыг
нөөцөнд хадгалж байдаг. Серверүүд харилцагчдыг эдгээр мэдээллээр
хангана.
Олон файлд байгаа мэдээллийг энэ маягаар хуваалцаж хэрэглэнэ.
master.passwd, group, ба hosts гэсэн файлуудыг
ихэвчлэн NIS тусламжтай хуваалцана. Эдгээр файлд байдаг мэдээлэл
харилцагч талын нэг процессод хэрэгтэй боллоо гэхэд түүнийг өөрийн дотоодоос
хайхын оронд түүнд оноогдсон NIS серверээс асуулга хийнэ.
Машины төрөл
NIS
эзэн сервер
NIS эзэн сервер. Энэ сервер, &windowsnt;-н анхдагч
домэйн сервер хянагчийн нэг адил, NIS харилцагчдын хэрэгцээний бүх файлуудыг
агуулсан байна. passwd, group ба NIS харилцагчийн хэрэглэх
бусад олон файлууд эзэн сервер дээр байна.
Нэг машин нэгээс олон NIS домэйны хувьд NIS эзэн
сервер байж болно. Гэхдээ, энд бид бага хэмжээний NIS орчны талаар
ярилцах тул энэ талаар энд үзэхгүй.
NIS
зарц сервер
NIS зарц сервер. &windowsnt;-н нөөц домэйн хянагчтай адилаар,
NIS зарц сервер нь NIS эзэн серверийн өгөгдлийн файлын хуулбарыг хадгална.
NIS зарц серверүүд нь нөөцөнд байдаг. Тэдгээр нь мөн эзэн серверийн
ачааллыг хуваалцаж байдаг: NIS Харилцагчид нь хамгийн түрүүнд хариу өгсөн
серверт холбогдох ба үүний тоонд зарц серверүүд ч бас орно.
NIS
харилцагч
NIS харилцагч. NIS харилцагч нь ихэнх
&windowsnt; ажлын машины адилаар, NIS серверт шалгуулж (эсвэл &windowsnt; ажлын
машины хувьд &windowsnt; домэйн хянагчид) нэвтэрнэ.
NIS/YP-г хэрэглэх нь
Энэ хэсэгт жишээ NIS орчныг үүсгэх болно.
Төлөвлөх
Та өөрийгөө нэгэн их сургуулийн жижигхэн лабораторын
администратор гэж бод. Энэ лаб 15 FreeBSD машинаас бүрдэх ба
одоогоор төвлөрсөн удирдлага байхгүй; машин бүр өөрийн
/etc/passwd ба /etc/master.passwd файлуудтай. Эдгээр файлуудыг
адилхан байлгахын тулд гараараа зөөж тавьдаг; одоогийн байдлаар лабораторид шинэ
хэрэглэгч нэмэхийн тулд, бүх 15 машин дээр нэг бүрчлэн adduser
тушаалыг оруулах хэрэгтэй байгаа. Мэдээж үүнийг өөрчлөх хэрэгтэй,
иймээс та лабораторидоо NIS хэрэглэхээр боллоо. Машинуудаасаа хоёрыг
нь сервер болгохоор сонгож авлаа.
Тиймээс, лабораторын тохиргоо дараах байдалтай байна:
Машины нэр
IP хаяг
Машины үүрэг
ellington
10.0.0.2
NIS эзэн
coltrane
10.0.0.3
NIS зарц
basie
10.0.0.4
Факультетийн ажлын машин
bird
10.0.0.5
Харилцагч машин
cli[1-11]
10.0.0.[6-17]
Бусад харилцагч машинууд
Хэрэв та NIS зураглалыг анх удаа хийж байгаа бол,
хаанаас эхлэхээ эхлээд сайн бодох хэрэгтэй. Сүлжээ чинь ямар ч
хэмжээтэй байж болно, гол нь хэд хэдэн сонголт хийх хэрэгтэй.
NIS Домэйн Нэрийг сонгох нь
NIS
домэйннэр
Өөрийн тань байнга хэрэглэдэг домэйн нэр
байж болохгүй.
Залруулж хэлбэл NIS домэйн нэр
байх ёстой. Харилцагч мэдээлэл
олж авахын тулд хүсэлтээ цацах үед NIS домэйн нэрийг хэрэглэнэ.
Үүгээр нэг сүлжээнд байгаа олон серверүүд хэн нь хэний асуултанд хариулах
ёстойгоо мэдэж авна. NIS домэйн нэрийг хоорондоо ямар нэг байдлаар
хамаатай бүлэг хостын нэр гэж ойлгож болно.
Зарим байгууллагууд өөрийн Интернэтийн домэйн нэрийг
NIS домэйн нэрээр хэрэглэх нь байдаг. Энэ нь сүлжээний ямар нэг асуудлыг
задлан шинжлэх явцад түвэг удах тул энэ аргыг зөвлөдөггүй. NIS домэйн нэр нь
сүлжээний орчинд цор ганц байх ёстой бөгөөд төлөөлж байгаа бүлэг машинаа онцолсон
нэр байвал дөхөм байдаг. Жишээлбэл, Acme Inc. компаний Урлагийн хэлтэс acme-art
гэсэн NIS домэйнтой байж болох юм. Бид өөрсдийн жишээндээ test-domain гэсэн
домэйн нэрийг авлаа.
SunOS
Гэвч, зарим үйлдлийн системүүд (цохон дурдвал &sunos;)
өөрийн NIS домэйн нэрийг Интернэт домэйн нэрээр хэрэглэдэг.
Хэрэв таны сүлжээний нэг болон түүнээс дээш тооны машин
ийм асуудалтай бол, та Интернэт домэйн нэрээ NIS домэйндоо хэрэглэх
ёстой.
Серверт тавигдах шаардлагууд
NIS серверт зориулсан машин сонгон авахдаа
анхаарах хэд хэдэн зүйлс бий. NIS-тэй холбоотой нэг учир дутагдалтай
зүйл бол харилцагчдын серверээс хамаарах хамаарал юм. Хэрэв
харилцагч өөрийн NIS домэйныг асуухаар сервертэй холбогдож чадахгүй бол,
тэр машин ашиглагдах боломжгүй болдог. Хэрэглэгч болон бүлгийн мэдээлэл
дутуугаас ихэнх системүүд түр хугацаанд зогсдог. Тиймээс, дахин дахин
асааж унтраалгаад байхааргүй, эсвэл туршилтад хэрэглэгдэхээр
машиныг сонгох хэрэгтэй. NIS сервер нь тусдаа, зөвхөн NIS серверт зориулагдсан
машин байх ёстой. Хэрэв ачаалал багатай сүлжээнд ажиллаж байгаа бол,
NIS серверийг өөр үйлчилгээ ажиллаж байгаа машин дээр тавьж болох талтай.
Хамгийн гол нь NIS сервер чинь ажиллахгүй болбол, бүх NIS харилцагчид чинь
мөн ажиллахгүй болохыг санаарай.
NIS Серверүүд
Бүх NIS мэдээлэл он цагийн дарааллаараа
NIS эзэн сервер дээр хадгалагдаж байдаг.
Энэ мэдээллийг хадгалж байгаа өгөгдлийн санг NIS буулгалт гэж нэрлэнэ.
FreeBSD-д, эдгээр буулгалтууд /var/yp/[domainname] файл дотор байрлана.
[domainname] нь NIS домэйн нэр болно. Нэг NIS сервер хэд хэдэн
домэйныг зэрэг агуулж чадах тул домэйн тус бүрт зориулсан хэд хэдэн
ийм сан байж болно. Домэйн бүр өөрийн гэсэн буулгалтуудтай байна.
NIS эзэн болон зарц серверүүд бүх NIS хүсэлтийг ypserv дэмоны
тусламжтай удирдаж явуулна. ypserv нь NIS харилцагч нараас
ирж буй хүсэлтийг хүлээн авч, домэйныг хөрвүүлэн, уг домэйн нэрд харгалзах
өгөгдлийн файлын замыг хайж олоод, өгөгдлийг буцаан харилцагчид дамжуулах үүрэгтэй.
NIS Эзэн Серверийг зохион байгуулах нь
NIS
серверийн тохиргоо
Эзэн NIS серверийг зохион байгуулах нь харьцангуй
ойлгомжтой. FreeBSD нь бэлэн NIS суучихсан ирдэг. Зөвхөн /etc/rc.conf
файл дотор дараах мөрүүдийг нэмэхэд л хангалттай, үлдсэнийг нь
FreeBSD таны өмнөөс хийгээд өгөх болно.
nisdomainname="test-domain"
Энэ мөр сүлжээ асахад (жишээ нь, систем дахин ачаалсны дараа)
NIS домэйн нэрийг test-domain болгоно.
nis_server_enable="YES"
Энэ мөр нь сүлжээ асахад NIS сервер процессуудыг
асаахыг хэлж өгнө.
nis_yppasswdd_enable="YES"
Энэ мөр нь rpc.yppasswdd дэмонг идэвхжүүлнэ. Дээр хэлсэнчлэн,
энэ дэмон нь харилцагч машин дээрээс хэрэглэгч өөрийн NIS нэвтрэх
үгийг солих боломжтой болгодог.
Таны NIS тохиргооноос хамааран, нэмэлт мөрүүдийг оруулах
хэрэгтэй болж магадгүй. NIS сервер мөртлөө давхар NIS
харилцагч серверийн тухай хэсгээс, доор, дэлгэрэнгүй
мэдээллийг авна уу.
Одоо, супер хэрэглэгчийн эрхээр /etc/netstart
тушаалыг өгөх л үлдлээ. Энэ нь таны /etc/rc.conf файл дотор
тодорхойлж өгсөн утгуудыг ашиглан бүх зүйлсийг таны өмнөөс
хийх болно.
NIS Буулгалтуудыг эхлүүлэх нь
NIS
буулгалтууд
NIS буулгалтууд нь өгөгдлийн сангийн
файлууд бөгөөд /var/yp сан дотор хадгалагдана.
Тэдгээрийг NIS эзэн серверийн /etc сан дотор байгаа
/etc/master.passwd файлаас бусад тохиргооны файлуудаас үүсгэдэг.
Энэ нь их учиртай. Мэдээж та өөрийн root болон удирдах
эрхтэй дансуудынхаа нэвтрэх үгийг NIS домэйн дахь бүх сервер дээр
тарааж тавих хүсэлгүй байгаа биз дээ. Тиймээс,
NIS буулгалтуудыг эхлүүлэхийн өмнө, дараах зүйлсийг хийх хэрэгтэй:
&prompt.root; cp /etc/master.passwd /var/yp/master.passwd
&prompt.root; cd /var/yp
&prompt.root; vi master.passwd
Системийн дансуудад хамаарах мөрүүдийг (bin,
tty, kmem,
games, гэх мэт), мөн NIS харилцагч дээр тарааж
тавих хүсэлгүй байгаа дансуудад хамаарах мөрүүдийг (жишээлбэл
root ба бусад UID 0 (супер хэрэглэгчийн) дансууд) бүгдийг
устгах хэрэгтэй.
/var/yp/master.passwd файл бүлгийн болон нийтийн хувьд
унших эрхгүй (600 төлөв) байгааг нягтална уу! Шаардлагатай бол
chmod тушаалыг хэрэглээрэй.
Tru64 UNIX
Дээр дурдсаныг гүйцэтгэж дууссаны дараа,
сая NIS буулгалтуудыг эхлүүлнэ! FreeBSD нь танд үүнийг хийж өгөх
ypinit нэртэй скриптийг (холбогдох заавар хуудаснаас
дэлгэрэнгүй мэдээллийг авна уу) агуулж байдаг.
Энэ скрипт ихэнх &unix; үйлдлийн системд байдаг боловч,
заримд нь байхгүй байх тохиолдол бий.
Digital UNIX/Compaq Tru64 UNIX дээр энэ скрипт ypsetup гэсэн
нэртэй байдаг. Бид NIS эзэн серверийн хувьд буулгалтуудыг
үүсгэж байгаа тул ypinit тушаалыг
тохируулгын хамт өгнө. Дээрх алхмуудыг бүгдийг хийсний дараа,
NIS буулгалтуудыг үүсгэхдээ дараах тушаалыг өгнө:
ellington&prompt.root; ypinit -m test-domain
Server Type: MASTER Domain: test-domain
Creating an YP server will require that you answer a few questions.
Questions will all be asked at the beginning of the procedure.
Do you want this procedure to quit on non-fatal errors? [y/n: n] n
Ok, please remember to go back and redo manually whatever fails.
If you don't, something might not work.
At this point, we have to construct a list of this domains YP servers.
rod.darktech.org is already known as master server.
Please continue to add any slave servers, one per line. When you are
done with the list, type a <control D>.
master server : ellington
next host to add: coltrane
next host to add: ^D
The current list of NIS servers looks like this:
ellington
coltrane
Is this correct? [y/n: y] y
[..output from map generation..]
NIS Map update completed.
ellington has been setup as an YP master server without any errors.
ypinit нь /var/yp/Makefile.dist-с
/var/yp/Makefile-г үүсгэсэн байх ёстой.
Үүсэхдээ, энэ файл таныг ганц NIS сервертэй орчинд
зөвхөн FreeBSD машинуудтай ажиллаж байна гэж үзнэ.
test-domain нь зарц сервертэй тул,
та /var/yp/Makefile файлыг засах хэрэгтэй:
ellington&prompt.root; vi /var/yp/Makefile
Доорх мөрийг далдлах хэрэгтэй
NOPUSH = "True"
(хэрэв далдлагдаагүй бол).
NIS Зарц Серверийг зохион байгуулах нь
NIS
зарц сервер
NIS зарц серверийг зохион байгуулах нь
эзэн серверийг зохион байгуулахаас ч хялбар байдаг.
Зарц сервер рүү нэвтэрч ороод түрүүн хийсэн шигээ
/etc/rc.conf файлыг засах хэрэгтэй.
Ганц ялгаа нь ypinit тушаалыг өгөхдөө
тохируулгыг өгнө. тохируулга нь
NIS эзэн серверийн нэрийг хамт оруулахыг шаардах тул бидний
тушаалын мөр дараах байдалтай байна:
coltrane&prompt.root; ypinit -s ellington test-domain
Server Type: SLAVE Domain: test-domain Master: ellington
Creating an YP server will require that you answer a few questions.
Questions will all be asked at the beginning of the procedure.
Do you want this procedure to quit on non-fatal errors? [y/n: n] n
Ok, please remember to go back and redo manually whatever fails.
If you don't, something might not work.
There will be no further questions. The remainder of the procedure
should take a few minutes, to copy the databases from ellington.
Transferring netgroup...
ypxfr: Exiting: Map successfully transferred
Transferring netgroup.byuser...
ypxfr: Exiting: Map successfully transferred
Transferring netgroup.byhost...
ypxfr: Exiting: Map successfully transferred
Transferring master.passwd.byuid...
ypxfr: Exiting: Map successfully transferred
Transferring passwd.byuid...
ypxfr: Exiting: Map successfully transferred
Transferring passwd.byname...
ypxfr: Exiting: Map successfully transferred
Transferring group.bygid...
ypxfr: Exiting: Map successfully transferred
Transferring group.byname...
ypxfr: Exiting: Map successfully transferred
Transferring services.byname...
ypxfr: Exiting: Map successfully transferred
Transferring rpc.bynumber...
ypxfr: Exiting: Map successfully transferred
Transferring rpc.byname...
ypxfr: Exiting: Map successfully transferred
Transferring protocols.byname...
ypxfr: Exiting: Map successfully transferred
Transferring master.passwd.byname...
ypxfr: Exiting: Map successfully transferred
Transferring networks.byname...
ypxfr: Exiting: Map successfully transferred
Transferring networks.byaddr...
ypxfr: Exiting: Map successfully transferred
Transferring netid.byname...
ypxfr: Exiting: Map successfully transferred
Transferring hosts.byaddr...
ypxfr: Exiting: Map successfully transferred
Transferring protocols.bynumber...
ypxfr: Exiting: Map successfully transferred
Transferring ypservers...
ypxfr: Exiting: Map successfully transferred
Transferring hosts.byname...
ypxfr: Exiting: Map successfully transferred
coltrane has been setup as an YP slave server without any errors.
Don't forget to update map ypservers on ellington.
Одоо /var/yp/test-domain нэртэй сан
үүссэн байх ёстой. NIS эзэн серверийн буулгалтуудын хуулбарууд
энэ сан дотор байх ёстой. Эдгээр файлууд шинэчлэгдэж
байгаа эсэхийг нягтлаж байх хэрэгтэй.
Таны зарц серверийн /etc/crontab доторх дараах мөрүүд
үүнийг хийх болно:
20 * * * * root /usr/libexec/ypxfr passwd.byname
21 * * * * root /usr/libexec/ypxfr passwd.byuid
Энэ хоёр мөр нь зарц сервер өөрийн буулгалтуудыг
эзэн сервертэй ижилхэн байлгахыг хүчилнэ. Хэдийгээр
эдгээр мөрүүдийг заавал хэрэглэх шаардлагагүй боловч,
эзэн сервер өөрийх нь NIS буулгалтад гарсан өөрчлөлтүүд
зарц серверүүдийн хувьд дамжигдсан эсэхийг шалгадаг,
нэвтрэх үгийн тухай мэдээлэл нь системийн хувьд амин чухал зэргээс
дээрх шинэчлэлтийг хүчлэх нь зүгээр.
Одоо, зарц сервер талд мөн /etc/netstart тушаалыг өгч
NIS серверийг ажиллуулна.
NIS Харилцагчид
NIS харилцагч нь ypbind дэмоны тусламжтай
тодорхой нэг NIS сервертэй холбоо тогтооно. ypbind
системийн анхдагч домэйныг шалгах ба (domainname тушаалаар
өгөгдсөн), дотоод сүлжээнд RPC хүсэлтийг цацаж эхлэнэ.
Эдгээр хүсэлтүүд нь ypbind-н холбоо тогтоох гэж байгаа
домэйн нэрийг зааж өгнө. Хэрэв тухайн домэйнд
үйлчлэхээр тохируулагдсан сервер дээрх хүсэлтийг
хүлээн авбал, ypbind-д хариу өгөх ба хариуг хүлээж авсан
тал серверийн хаягийг тэмдэглэж авна. Хэрэв хэд хэдэн сервер
хариу өгсөн бол (нэг эзэн ба хэд хэдэн зарц), ypbind
хамгийн түрүүнд хариу өгсөн серверийг сонгон авна. Түүнээс хойш,
харилцагч өөрийн бүх NIS хүсэлтүүдээ тэр сервер рүү явуулна.
ypbind нь хааяа сервер амьд байгаа эсэхийг нягтлахын тулд
ping
хийж үзнэ. Хэрэв хангалттай хугацааны дотор хариу хүлээж
аваагүй бол, ypbind энэ домэйнтой холбоо тасарлаа гэж үзээд
өөр сервер олохын тулд хүсэлтээ цацаж эхэлнэ.
NIS Харилцагчийг зохион байгуулах
NIS
харилцагчийг тохируулах нь
FreeBSD машин дээр NIS харилцагчийг зохион байгуулах нь
нилээд хялбар байдаг.
/etc/rc.conf файлыг нээгээд, NIS
домэйн нэрийг зааж өгөх ба сүлжээ асах үед ypbind-г
ажиллуулдаг болгохын тулд дараах мөрүүдийг нэмж бичнэ:
nisdomainname="test-domain"
nis_client_enable="YES"
NIS серверээс хэрэгтэй нэвтрэх үгүүдийг импортолж
авахын тулд /etc/master.passwd файл дотор байгаа
бүх хэрэглэгчийн дансыг устгаад, файлын төгсгөлд
дараах мөрийг нэмэхийн тулд vipw тушаалыг
ашиглана:
+:::::::::
Энэ мөр нь NIS серверийн нэвтрэх үгийн буулгалтад
байгаа хүчинтэй хэрэглэгчид данс олгоно. Энэ мөрийг өөрчлөх замаар
NIS харилцагчийг хэд хэдэн янзаар тохируулж болно. Дэлгэрэнгүй
мэдээллийг доорх netgroups
section хэсгээс үзнэ үү. Цааш гүнзгийрүүлэн судлах хүсэлтэй бол
NFS ба NIS-г удирдах нь тухай O'Reilly-н номыг үзнэ үү.
Дор хаяж нэг дотоод эрхийг (өөрөөр хэлбэл NIS-с импортолж аваагүй)
/etc/master.passwd файл дотор авч үлдэх хэрэгтэй.
Энэ данс wheel бүлгийн гишүүн байх ёстой. Хэрэв NIS дээр ямар нэг
асуудал гарлаа гэхэд энэ эрхээр алсаас нэвтрэн орж, root болоод
асуудлыг шийдвэрлэх болно.
NIS серверээс бүх бүлгүүдийг импортолж авахын тулд
дараах мөрийг /etc/group файлд нэмнэ:
+:*::
Үүний дараа, ypcat passwd тушаалыг өгч
NIS серверийн passwd буулгалтыг харж чадаж байх ёстой.
NIS-н Аюулгүй байдал
Ер нь ямар ч алсын хэрэглэгчийн хувьд өөрийн чинь
домэйн нэрийг мэдэж байвал RPC хүсэлтийг &man.ypserv.8;-д явуулж
NIS буулгалтыг харах боломжтой. Ийм төрлийн зөвшөөрөгдөөгүй
үйлдлээс сэргийлэхийн тулд &man.ypserv.8; нь зөвхөн зааж өгсөн хостуудаас
ирсэн хандалтыг зөвшөөрдөг securenets
гэсэн функцыг агуулж
байдаг. Систем анх ачаалахад, &man.ypserv.8; нь securenets-н мэдээллийг
/var/yp/securenets гэсэн файлаас ачаална.
Энэ замыг тохируулгаар зааж өгөх ба янз бүр байж болно.
Энэ файлд сүлжээг сүлжээний багийн хамт зайгаар тусгаарлан
оруулж өгсөн байна. #
тэмдгээр эхэлсэн мөрүүд нь тайлбар болно.
Жишээ securenets файл дараах байдалтай байна:
# allow connections from local host -- mandatory
127.0.0.1 255.255.255.255
# allow connections from any host
# on the 192.168.128.0 network
192.168.128.0 255.255.255.0
# allow connections from any host
# between 10.0.0.0 to 10.0.15.255
# this includes the machines in the testlab
10.0.0.0 255.255.240.0
Хэрэв &man.ypserv.8;-н хүсэлт хүлээж авсан хаяг
эдгээр дүрмүүдийн аль нэгэнд тохирч байвал хүсэлтийг
ердийн байдлаар боловсруулна. Хэрэв энэ хаяг ямар ч дүрмэнд
тохирохгүй байвал, хүсэлтийг үл анхаарах бөгөөд
анхааруулах бичлэгийг бүртгэлд нэмнэ. Хэрэв
/var/yp/securenets гэсэн файл байхгүй бол,
ypserv нь гаднаас ирсэн бүх хүсэлтийг хүлээн авна.
ypserv програм нь Wietse Venema-н TCP Wrapper багцыг
дэмждэг. Энэ нь администраторуудын хувьд /var/yp/securenets-ны оронд
TCP Wrapper-н тохиргооны файлыг хандалтыг хянахад хэрэглэх
боломжтой болгодог.
Хэдийгээр эдгээр хандалтыг хянах механизмууд нь
аюулгүй байдлыг адил түвшинд хангах боловч,
хоёул IP залилах
халдлагад өртөмтгий байдаг. NIS-тэй холбоотой
бүх урсгалыг галт хана дээрээ хааж өгөх хэрэгтэй.
/var/yp/securenets хэрэглэж байгаа серверүүд
хуучин TCP/IP дээр ажиллаж байгаа зүй ёсны NIS харилцагчид үйлчилж
чадахгүй байж магадгүй. Учир нь, тэдгээр нь өргөн цацалт хийхдээ
хост битүүдийг бүгдийг тэглэдэг ба өргөн цацалтын хаягийг тооцоолохдоо
дэд сүлжээний багийг таньж чаддаггүй болно. Хэдийгээр эдгээр асуудлуудыг
харилцагчийн тохиргоог өөрчилснөөр шийдэж болох боловч,
бусад асуудлууд нь харилцагчийн системийг цааш ашиглах боломжгүй эсвэл
/var/yp/securenets-г болиулах шаардлагатай болдог.
Ийм хуучин TCP/IP дээр ажилладаг сервер дээр
/var/yp/securenets-г хэрэглэх нь үнэхээр хэрэггүй бөгөөд
сүлжээний ихэнх хэсэгт NIS-г ашиглах боломжгүй байдаг.
TCP Wrapper-ууд
TCP Wrapper багцыг ашиглах нь
NIS серверийн хоцролтыг ихэсгэдэг. Энэ нэмэлт саатал нь
харилцагчийн програм дээр ялангуяа ачаалал ихтэй сүлжээнд,
эсвэл удаан NIS сервертэй бол хүлээх хугацаа дуусахад хүргэх талтай.
Хэрэв таны харилцагч систем чинь дээрх шинж тэмдгүүдийн аль нэгийг
агуулж байгаа бол та энэ харилцагч системээ NIS зарц сервер болгож өөрчлөн
хүчээр өөрөөсөө өөртөө холбогдохоор тохируулах хэрэгтэй.
Зарим хэрэглэгчдийн нэвтрэхийг хаах
Манай лабораторын жишээн дээр, basie нэртэй нэг
машин байгаа. Энэ машиныг зөвхөн багш нар хэрэглэх ёстой.
Бид энэ машиныг NIS домэйн дотроос гаргахыг хүсэхгүй байгаа, дээр нь
эзэн NIS сервер дээр байгаа passwd файл нь
багш нар болон оюутнуудын дансыг хоёуланг агуулж байгаа.
Бид одоо яах ёстой вэ?
NIS өгөгдлийн сан дотор бүртгэл нь байгаа ч, зарим
хэрэглэгчдийг тухайн машин руу нэвтрэхийг хаах нэг арга байна.
Үүний тулд -username гэсэн мөрийг
харилцагч машин дээр /etc/master.passwd файлын төгсгөлд нэмэх
хэрэгтэй. Энд username гэдэг нь
нэвтрэхийг нь хаах гэж байгаа хэрэглэгчийн нэр юм.
Дээрх үйлдлийг хийхдээ vipw-г ашиглахыг зөвлөж байна.
vipw нь /etc/master.passwd файл дотор хийгдсэн өөрчлөлтийг
хянах бөгөөд өөрчлөлт хийж дууссаны дараа нэвтрэх үгийн санг автоматаар
дахин үүсгэж өгдөг. Жишээ нь, хэрэв бид bill гэсэн хэрэглэгчийг
basie хост дээр нэвтрэхийг хаахыг хүсэж байгаа бол:
basie&prompt.root; vipw
[add -bill to the end, exit]
vipw: rebuilding the database...
vipw: done
basie&prompt.root; cat /etc/master.passwd
root:[password]:0:0::0:0:The super-user:/root:/bin/csh
toor:[password]:0:0::0:0:The other super-user:/root:/bin/sh
daemon:*:1:1::0:0:Owner of many system processes:/root:/sbin/nologin
operator:*:2:5::0:0:System &:/:/sbin/nologin
bin:*:3:7::0:0:Binaries Commands and Source,,,:/:/sbin/nologin
tty:*:4:65533::0:0:Tty Sandbox:/:/sbin/nologin
kmem:*:5:65533::0:0:KMem Sandbox:/:/sbin/nologin
games:*:7:13::0:0:Games pseudo-user:/usr/games:/sbin/nologin
news:*:8:8::0:0:News Subsystem:/:/sbin/nologin
man:*:9:9::0:0:Mister Man Pages:/usr/share/man:/sbin/nologin
bind:*:53:53::0:0:Bind Sandbox:/:/sbin/nologin
uucp:*:66:66::0:0:UUCP pseudo-user:/var/spool/uucppublic:/usr/libexec/uucp/uucico
xten:*:67:67::0:0:X-10 daemon:/usr/local/xten:/sbin/nologin
pop:*:68:6::0:0:Post Office Owner:/nonexistent:/sbin/nologin
nobody:*:65534:65534::0:0:Unprivileged user:/nonexistent:/sbin/nologin
+:::::::::
-bill
basie&prompt.root;
Удо
Эрделхофф
Хувь нэмрээ оруулсан
Лодойсамбын
Баянзул
Орчуулсан
Netgroups-г Хэрэглэх нь
netgroups
Цөөхөн тооны машин эсвэл хэрэглэгчийн хувьд
тусгай дүрэм хэрэгтэй үед өмнөх хэсэгт дурдсан аргыг
хэрэглэх нь илүү тохиромжтой. Харин том сүлжээний хувьд
зарим хэрэглэгчийн чухал машин руу нэвтрэх эрхийг хаахаа мартах,
эсвэл бүх машиныг нэг бүрчлэн гараараа тохируулж өгөх, өөрөөр хэлбэл
NIS-н төвлөрсөн удирдлага гэсэн гол санааг ашиглаж чадахгүй байх
тохиолдлууд гарах болно.
NIS-г хөгжүүлэгчид энэ асуудлыг шийдэхийн тулд
netgroups буюу сүлжээний бүлгүүд гэсэн шинэ зүйлийг бий болгожээ.
Түүний зорилго болон семантикийг &unix; файл системийн
жирийн бүлэгтэй дүйцүүлж болох юм. Гол ялгаанууд нь гэвэл
тоон дугаар байхгүй, мөн сүлжээний бүлгийг тодорхойлж өгөхдөө
хэрэглэгч болон өөр сүлжээний бүлгийг оруулж болдог.
Сүлжээний бүлэг нь хэдэн зуун хэрэглэгч болон машинтай
том, төвөгтэй сүлжээтэй ажиллахад зориулж бүтээгдсэн юм.
Нэг талаар, хэрэв та үнэхээр тийм том сүлжээнд ажиллаж байгаа бол
энэ нь Сайн Зүйл юм. Харин нөгөө талаас, энэ байдал нь
жижигхэн сүлжээнд хялбар жишээн дээр сүлжээний бүлгийг тайлбарлах
бараг боломжгүй болгож байна. Энэ хэсгийн үлдсэн хэсэгт хэрэглэж
байгаа жишээн дээр энэ асуудлыг харуулахыг оролдлоо.
NIS-г лабораторидоо нэвтрүүлсэн тань танай удирдлагуудын
анхаарлыг татсан гэж бодьё. Одоо оюутны хотхон дотор байгаа
бусад машиныг NIS домэйнд оруулж өргөтгөх ажлыг хийхийг танд
даалгажээ. Дараах хоёр хүснэгтэнд шинээр нэмэх хэрэглэгч болон
машины нэрийг товч тайлбарын хамт үзүүллээ.
Хэрэглэгчийн нэр
Тайлбар
alpha, beta
IT хэлтсийн ердийн ажилчид
charlie, delta
IT хэлтсийн шинэ дагалдан
echo, foxtrott, golf, ...
бусад ердийн ажилчид
able, baker, ...
дадлагажигчид
Машины нэр
Тайлбар
war, death,
famine,
pollution
Таны хамгийн чухал серверүүд. Зөвхөн IT хэлтсийн
ажилчид л нэвтрэх эрхтэй.
pride, greed,
envy, wrath,
lust, sloth
Харьцангуй чухал биш серверүүд. IT хэлтэст харъяалагддаг бүх
хүмүүс нэвтрэх эрхтэй.
one, two,
three, four,
...
Ердийн ажлын машинууд. Зөвхөн үндсэн ажилчид
нэвтрэх эрхтэй.
trashcan
Чухал зүйл байхгүй маш хуучин машин.
Дадлагажигчид хүртэл нэвтрэх эрхтэй.
Хэрэв та дээрх хязгаарлалтуудыг
тус бүрд нь хэрэглэгчийг хаах замаар хийх гэж оролдвол
бүх машин дээр хаах хэрэглэгч тус бүрийн хувьд
-user мөрийг passwd
файл дотор нэмж өгөх ёстой болно. Хэрэв нэг л мөрийг
нэмэхээ мартвал асуудалд орно гэсэн үг.
Энэ байдалд сүлжээний бүлгийг ашиглах нь
нилээд олон давуу талтай. Хэрэглэгч бүрийг тус тусад нь
авч үзнэ; нэг хэрэглэгчийг нэг болон түүнээс дээш тооны
сүлжээний бүлэгт оноож, тухайн сүлжээний бүлгийн бүх гишүүдийн хувьд
нэвтрэхийг эсвэл зөвшөөрч эсвэл хаана. Хэрэв та шинэ машин нэмбэл,
зөвхөн сүлжээний бүлгүүдийн хувьд л нэвтрэх эрхийг зааж өгнө. Хэрэв шинэ
хэрэглэгч нэмбэл, тухайн хэрэглэгчийг нэг болон түүнээс дээш
тооны сүлжээний бүлэгт нэмэхэд л хангалттай. Эдгээр өөрчлөлтүүд нь нэг
нэгнээсээ хамааралгүй: хэрэглэгч ба машины бүх хувилбарт нэмэх...
шаардлагагүй болно. Хэрэв та NIS-г анхнаас нь бодлоготой хийх юм бол,
машинууд руу нэвтрэх эрхийг хянахдаа
зөвхөн ганцхан тохиргооны файлыг өөрчлөхөд хангалттай.
Хамгийн эхний алхам бол NIS сүлжээний бүлгийн буулгалтыг
эхлүүлэх юм. FreeBSD-н &man.ypinit.8; нь энэ буулгалтыг анхдагч байдлаар
үүсгэдэггүй, гэвч хэрэв нэгэнт үүсгэчихвэл түүний NIS-тэй ажиллах хэсэг нь
энэ буулгалт дээр ажиллах чадвартай. Хоосон буулгалт үүсгэхийн тулд:
ellington&prompt.root; vi /var/yp/netgroup
гэж бичээд дараах зүйлсийг нэмж бичнэ. Манай жишээний хувьд,
бидэнд дор хаяж дөрвөн сүлжээний бүлэг хэрэгтэй: IT ажилчид,
IT дагалдангууд, ердийн ажилчид болон дадлагажигчид.
IT_EMP (,alpha,test-domain) (,beta,test-domain)
IT_APP (,charlie,test-domain) (,delta,test-domain)
USERS (,echo,test-domain) (,foxtrott,test-domain) \
(,golf,test-domain)
INTERNS (,able,test-domain) (,baker,test-domain)
IT_EMP, IT_APP гэх мэт нь сүлжээний бүлгийн
нэр. Хаалтан дотор байгаа бүлэг нь хэрэглэгч нэмж байгаа нь. Бүлэг доторх
гурван талбар нь:
Дараах зүйлүүд хүчинтэй байх хостын нэр. Хэрэв хостын нэр зааж өгөхгүй бол,
бүх хостын хувьд хүчинтэй гэсэн үг. Хэрэв хостын нэр зааж өгвөл,
та үл ойлгогдох, толгой эргүүлсэн хачин зүйлстэй тулгарах болно.
Энэ сүлжээний бүлэгт хамаарах дансны нэр.
Тухайн дансны NIS домэйн. Хэрэв та нэгээс олон NIS
домэйнд харъяалагддаг азгүй залуусын нэг бол,
өөрийн сүлжээний бүлэгт өөр NIS домэйноос данс импортолж болно.
Эдгээр талбаруудын алинд ч орлуулагддаг тэмдэгт ашиглаж болно.
Дэлгэрэнгүй мэдээллийг &man.netgroup.5; заавар хуудаснаас үзнэ үү.
сүлжээний бүлгүүд
Сүлжээний бүлгүүдийн нэр 8-с дээш тэмдэгт байж
болохгүй, ялангуяа тухайн NIS домэйнд өөр үйлдлийн системтэй
машинууд ажиллаж байгаа бол. Нэрүүд нь том жижиг үсгийн ялгаатай;
сүлжээний бүлгийн нэрийг том үсгээр бичих нь
хэрэглэгчийн нэр, машины нэр болон сүлжээний бүлгийн нэрийг
хооронд нь ялгахад хялбар болгодог.
Зарим NIS харилцагчид (FreeBSD-с бусад) олон тооны гишүүдтэй
сүлжээний бүлэгтэй ажиллаж чаддаггүй. Жишээлбэл,
&sunos;-н зарим хуучин хувилбарууд сүлжээний бүлэг
15-с дээш тооны гишүүн-тэй бол асуудалтай байдаг.
Энэ хязгаарыг давахын тулд 15 ба түүнээс доош тооны хэрэглэгчтэй
дэд сүлжээний бүлгүүд үүсгээд, дараа нь эдгээр дэд сүлжээний бүлгүүдээс
тогтсон жинхэнэ сүлжээний бүлэг үүсгэх замаар үүсгэж болно:
BIGGRP1 (,joe1,domain) (,joe2,domain) (,joe3,domain) [...]
BIGGRP2 (,joe16,domain) (,joe17,domain) [...]
BIGGRP3 (,joe31,domain) (,joe32,domain)
BIGGROUP BIGGRP1 BIGGRP2 BIGGRP3
Хэрэв танд нэг сүлжээний бүлэгт 225-с дээш хэрэглэгч хэрэгтэй
бол, дээрх үйлдлийг давтах маягаар цааш үргэлжлүүлж болно.
Шинээр үүсгэсэн NIS буулгалтаа идэвхжүүлэх болон тараах нь амархан:
ellington&prompt.root; cd /var/yp
ellington&prompt.root; make
Ингэснээр netgroup,
netgroup.byhost ба
netgroup.byuser гэсэн гурван NIS буулгалт үүсэх болно.
Дээрх шинэ буулгалтууд идэвхтэй болсон эсэхийг &man.ypcat.1; ашиглан
шалгаарай:
ellington&prompt.user; ypcat -k netgroup
ellington&prompt.user; ypcat -k netgroup.byhost
ellington&prompt.user; ypcat -k netgroup.byuser
Эхний тушаалын үр дүн /var/yp/netgroup файл доторхтой
төстэй байх ёстой. Хэрэв та хостоор тусгайлан сүлжээний бүлэг үүсгээгүй бол
хоёр дахь тушаалын үр дүнд юу ч гарах ёсгүй. Гурав дахь тушаалын
тусламжтай тухайн хэрэглэгчийн сүлжээний бүлгүүдийн жагсаалтыг
харахад хэрэглэгдэнэ.
Харилцагчийг тохируулахад нилээд хялбар.
war нэртэй серверийг тохируулахын тулд, &man.vipw.8;-г
ажиллуулаад
+:::::::::
гэсэн мөрийг
+@IT_EMP:::::::::
гэсэн мөрөөр сольж бичих хэрэгтэй.
Ингэснээр, зөвхөн IT_EMP сүлжээний бүлэгт заагдсан
хэрэглэгчдийн мэдээлэл war-н нэвтрэх үгийн санд импортлогдож,
зөвхөн эдгээр хэрэглэгчид л энэ машин руу нэвтрэх эрхтэй боллоо.
Харамсалтай нь, энэ хязгаарлалт нь
бүрхүүлийн ~ функцад, мөн хэрэглэгчийн нэр ба тоон дугаарыг
хооронд нь хөрвүүлдэг бүх дэд програмуудад хамаатай. Өөрөөр хэлбэл,
cd ~user тушаал ажиллахгүй,
ls -l тушаал хэрэглэгчийн нэрийн оронд
түүний тоон дугаарыг харуулах ба find . -user joe -print тушаал
Тийм хэрэглэгч байхгүй гэсэн алдааны мэдээлэл өгч амжилтгүй
болох болно. Үүнийг засахын тулд, бүх хэрэглэгчдийн бүртгэлийг
сервер рүү нэвтрэх эрхгүйгээр импортлох хэрэгтэй болно.
Үүний тулд өөр нэг мөрийг /etc/master.passwd файлд нэмж өгөх хэрэгтэй.
Энэ мөр нь:
+:::::::::/sbin/nologin гэсэн бичлэгийг агуулж байх ёстой бөгөөд,
энэ нь бүх бүртгэлийг импортол, гэхдээ импортлогдож байгаа бүртгэлүүдийн
бүрхүүлийг /sbin/nologin-р соль
гэсэн утгатай. Үүнтэй адилаар
passwd файлын ямар ч талбарыг /etc/master.passwd файл дахь анхдагч
утгыг сольж бичсэнээр өөрчилж болно.
+:::::::::/sbin/nologin гэсэн мөр +@IT_EMP::::::::: гэсэн мөрийн
дараа бичигдсэн эсэхийг сайтар нягтлаарай. Үгүй бол, NIS-с импортлогдсон бүх
хэрэглэгчдийн бүрхүүл /sbin/nologin болчихно шүү.
Дээрх өөрчлөлтийг хийсний дараа,
хэрэв IT хэлтэст шинэ ажилчин орвол,
зөвхөн ганцхан NIS буулгалтыг өөрчлөх боллоо. Чухал бус бусад серверийн хувьд
ижилхэн арга хэрэглэж, тэдгээрийн өөрийн /etc/master.passwd файл дотор байгаа
хуучин +::::::::: мөрийг:
+@IT_EMP:::::::::
+@IT_APP:::::::::
+:::::::::/sbin/nologin
гэсэн мөрөөр сольж бичих хэрэгтэй. Ердийн ажлын машины хувьд:
+@IT_EMP:::::::::
+@USERS:::::::::
+:::::::::/sbin/nologin
байх ёстой. Ингээд бүх зүйл асуудалгүй ажиллах болно.
Гэтэл хэдэн долоо хоногийн дараа дүрэм, журманд өөрчлөлт орлоо:
IT хэлтэс дадлагажигч авч эхэллээ. IT хэлтсийн дадлагажигчид
ердийн ажлын машин болон чухал бус серверүүдэд нэвтрэх эрхтэй;
IT дагалдангууд гол сервер рүү нэвтрэх эрхтэй болжээ. Одоо IT_INTERN
гэсэн шинэ сүлжээний бүлэг нэмж, энэ бүлэгт шинэ IT дадлагажигчдийг
нэмээд, энэ өөрчлөлтийг бүх машины тохиргоонд оруулж эхлэх хэрэгтэй...
Бидний хэлж заншсанаар: Төвлөрсөн төлөвлөгөөн дээрх алдаа,
бүх юмыг орвонгоор нь эргүүлнэ
.
Энэ мэт тохиолдолуудад NIS-н
өөр сүлжээний бүлгээс шинэ сүлжээний бүлэг үүсгэх боломж нь тус болно.
Нэг боломж нь үүрэг дээр үндэслэсэн сүлжээний бүлэг юм.
Жишээ нь, чухал серверүүд рүү нэвтрэх эрхийг хянахын тулд
BIGSRV гэсэн нэртэй сүлжээний бүлэг үүсгэж болох ба,
чухал бус серверүүдийн хувьд өөр SMALLSRV гэсэн бүрэг үүсгэж,
USERBOX гэсэн гурав дахь бүлгийг ердийн ажлын машинуудад зориулж
үүсгэж болох юм. Эдгээр сүлжээний бүлэг тус бүр
дээрх гурван төрлийн машинд нэвтрэх эрхтэй
сүлжээний бүлгүүдийг агуулна. NIS сүлжээний бүлгийн буулгалт
дараах байдалтай байна:
BIGSRV IT_EMP IT_APP
SMALLSRV IT_EMP IT_APP ITINTERN
USERBOX IT_EMP ITINTERN USERS
Нэвтрэх эрхийг хязгаарлах энэ арга нь
ижил төрлийн хязгаарлалттай машинуудыг нэг бүлэг болговол илүү
үр дүнтэй ажиллана. Харамсалтай нь, заавал тийм байх албагүй.
Ихэнх тохиолдолд, машин тус бүрээр нэвтрэх эрхийг хязгаарлах
боломжтой байх шаардлага зайлшгүй тулгардаг.
Машин дээр үндэслэсэн сүлжээний бүлэг тодорхойлох нь
дээрх мэтийн дүрэм журамд өөрчлөлт ороход хэрэглэж болох
хоёр дахь боломж юм. Энэ тохиолдолд, машин бүрийн
/etc/master.passwd файл дотор +
-р эхэлсэн хоёр
мөр бичлэг байна. Эхнийх нь энэ машин руу нэвтрэх эрхтэй дансуудаас бүрдсэн
сүлжээний бүлгийг нэмж өгнө, хоёр дахь нь бусад дансуудыг
/sbin/nologin бүрхүүлтэйгээр нэмнэ. Сүлжээний бүлгийн нэрийг
машины нэрийг БҮХ ҮСГИЙГ ТОМООР
байхаар сонгож авах нь
тохиромжтой. Өөрөөр хэлбэл, мөрүүд дараах байдалтай харагдах ёстой:
+@BOXNAME:::::::::
+:::::::::/sbin/nologin
Бүх машины хувьд дээрх үйлдлийг хийж дууссаны дараа,
өөрийн /etc/master.passwd файлыг дахин өөрчлөх шаардлагагүй болно.
Бусад бүх өөрчлөлтүүдийг NIS буулгалтыг өөрчилснөөр шийдэх болно. Дээрх асуудалд
тохирох сүлжээний бүлгийн буулгалтыг зарим нэмэлт өөрчлөлтүүдийн хамт
дор жишээ болгож үзүүлэв:
# Define groups of users first
IT_EMP (,alpha,test-domain) (,beta,test-domain)
IT_APP (,charlie,test-domain) (,delta,test-domain)
DEPT1 (,echo,test-domain) (,foxtrott,test-domain)
DEPT2 (,golf,test-domain) (,hotel,test-domain)
DEPT3 (,india,test-domain) (,juliet,test-domain)
ITINTERN (,kilo,test-domain) (,lima,test-domain)
D_INTERNS (,able,test-domain) (,baker,test-domain)
#
# Now, define some groups based on roles
USERS DEPT1 DEPT2 DEPT3
BIGSRV IT_EMP IT_APP
SMALLSRV IT_EMP IT_APP ITINTERN
USERBOX IT_EMP ITINTERN USERS
#
# And a groups for a special tasks
# Allow echo and golf to access our anti-virus-machine
SECURITY IT_EMP (,echo,test-domain) (,golf,test-domain)
#
# machine-based netgroups
# Our main servers
WAR BIGSRV
FAMINE BIGSRV
# User india needs access to this server
POLLUTION BIGSRV (,india,test-domain)
#
# This one is really important and needs more access restrictions
DEATH IT_EMP
#
# The anti-virus-machine mentioned above
ONE SECURITY
#
# Restrict a machine to a single user
TWO (,hotel,test-domain)
# [...more groups to follow]
Хэрэв та хэрэглэгчдийнхээ дансыг удирдахын тулд
ямар нэг өгөгдлийн санг ашигладаг бол, дээрх буулгалтын эхний
хэсгийг өгөгдлийн сангийнхаа тайлан бэлтгэх багажуудыг
ашиглах үүсгэх боломжтой. Энэ замаар, шинэ хэрэглэгчид машинуудад
хандах эрхийг автоматаар олж авах болно.
Эцэст нь анхааруулж хэлэх нэг зүйл байна: Машин дээр үндэслэсэн
сүлжээний бүлгийг хэрэглэхийг байнга зөвлөхгүй. Хэрэв
оюутны лабораторид зориулсан, хэдэн арван эсвэл хэдэн зуун
нэг ижил машинтай ажиллаж байгаа бол, NIS буулгалтыг тодорхой хэмжээнд барьж
байхын тулд машин дээр үндэслэсэн сүлжээний бүлгийн оронд үүрэг дээр үндэслэсэн
сүлжээний бүлгийг хэрэглэх хэрэгтэй.
Санаж явах чухал зүйлс
NIS орчинд ороод, өөрөөр хийх ёстой хэд хэдэн зүйлс байна.
Лабораторид шинэ хэрэглэгч нэмэх бүрдээ
зөвхөн эзэн NIS серверт нэмэх ёстой,
ба NIS буулгалтыг заавал дахин үүсгэх ёстой.
Хэрэв ингэхээ мартвал, шинэ хэрэглэгч эзэн NIS серверээс
өөр хаашаа ч нэвтэрч чадахгүй болно. Жишээ нь,
бид jsmith гэсэн шинэ хэрэглэгчийг лабораторид нэмэх боллоо:
&prompt.root; pw useradd jsmith
&prompt.root; cd /var/yp
&prompt.root; make test-domain
pw useradd jsmith-н оронд adduser jsmith-г мөн хэрэглэж болно.
Администратор эрхтэй дансуудыг NIS буулгалтад оруулах ёсгүй.
Администратор эрхээр орох ёсгүй хэрэглэгчдийн машин дээр администратор эрхтэй
дансууд болон нэвтрэх үгүүдийг тараах хүсэлгүй байгаа биз дээ.
NIS эзэн болон зарц серверийн аюулгүй байдлыг хангаж,
ажиллахгүй байх хугацааг багасгах хэрэгтэй. Хэрэв хэн нэг нь
серверт нууцаар нэвтэрч, эсвэл унтрааж орхивол хүмүүсийг лабораторын машинууд руу
нэвтрэх боломжгүй болгож, саад болох болно.
Энэ нь ямар ч төвлөрсөн удирдах системийн
гол сул тал юм. Хэрэв та өөрийн NIS серверийг хамгаалахгүй бол,
та маш олон ууртай хэрэглэгчидтэй таарах болно шүү!
NIS v1 нийцтэй байдал
FreeBSD-н ypserv нь NIS v1 харилцагчдад үйлчлэх
зарим дэмжигчтэй ирдэг. FreeBSD-н NIS нь зөвхөн NIS v2 протоколыг хэрэглэдэг,
гэхдээ бусад нь хуучин системүүдтэй нийцтэй ажиллахын тулд
v1 протоколыг дэмждэг байхаар бүтээгдсэн байдаг.
Эдгээр системтэй хамт ирсэн ypbind дэмонууд
хэдийгээр үнэн хэрэг дээрээ хэзээ ч хэрэглэхгүй боловч
NIS v1 сервертэй холболт үүсгэхийг оролддог (ба
v2 серверээс хариу хүлээж авсан ч өргөн цацалт хийж
хайлтаа үргэлжлүүлдэг талтай). Хэдийгээр
ердийн харилцагчийн хүсэлтийг дэмждэг боловч,
ypserv-н энэ хувилбар v1 буулгалтыг зөөх хүсэлттэй ажиллаж чадахгүй;
иймээс, зөвхөн v1 протоколыг дэмждэг хуучин NIS серверүүдтэй
холбоотойгоор эзэн эсвэл зарц байдлаар ажиллаж чадахгүй.
Аз болоход, ийм серверийг одоо хэрэглэж байгаа газар байхгүй.
NIS Сервер мөртлөө NIS Харилцагч
Сервер машин нь мөн NIS харилцагч байдлаар ажилладаг
олон сервертэй домэйнд ypserv-г ажиллуулахдаа
анхааралтай байх хэрэгтэй. Ийм серверийг өргөн цацалт хийлгэж,
өөр нэг сервертэй холбоо тогтоохыг зөвшөөрөхийн оронд өөрөө өөртэй нь
хүчээр холбох нь ихэвчлэн дээр байдаг. Хэрэв нэг сервер унтарч, бусад
серверүүд түүнээс хамааралтай байх юм бол хачин алдаанууд гарч болзошгүй.
Эцэст нь бүх харилцагчдын хүлээх хугацаа дуусаж,
бүгд өөр сервертэй холбогдохыг оролдох болно. Хэдийгээр бүх серверүүд
холболтуудаа сэргээж буцаад хэвийн байдалдаа орсон ч, саатлаас болж
харилцагчид холбогдож чадахгүй хэвээр байх болно.
Хостыг ямар нэг сервертэй холбогдохыг
ypbind тушаалыг тугийн хамт ажиллуулж,
урдаас зааж өгч болно. Хэрэв NIS серверийг дахин ачаалах тоолонд энэ
тушаалыг гараар оруулах хүсэлгүй байгаа бол, дараах мөрүүдийг
өөрийн /etc/rc.conf файл дотор нэмээрэй:
nis_client_enable="YES" # run client stuff as well
nis_client_flags="-S NIS domain,server"
Дэлгэрэнгүй мэдээллийг &man.ypbind.8; заавар хуудаснаас үзнэ үү.
Нэвтрэх үгийн хэлбэр
NIS
нэвтрэх үгийн хэлбэр
NIS-г зохион байгуулах явцад ихэвчлэн тохиолддог асуудлуудын нэг бол
нэвтрэх үгийн хэлбэрийн нийцгүй байдал юм. Хэрэв таны NIS
сервер DES хувиргалттай нэвтрэх үгийг хэрэглэдэг бол,
зөвхөн DES хэрэглэдэг харилцагчид үйлчлэх чадвартай. Жишээлбэл,
хэрэв сүлжээнд чинь &solaris; NIS харилцагчид байгаа бол,
та бараг л DES хувиргалттай нэвтрэх үг хэрэглэх шаардлагатай гэсэн үг.
Таны сервер болон харилцагчид ямар хэлбэрийн нэвтрэх үг хэрэглэдгийг
шалгахдаа /etc/login.conf файлыг үзээрэй. Хэрэв тухайн хост
DES хувиргалттай нэвтрэх үг хэрэглэдэг бол, default буюу анхдагч ангилал
нь дараах мөрүүдийг агуулсан байх болно:
default:\
:passwd_format=des:\
:copyright=/etc/COPYRIGHT:\
[Further entries elided]
passwd_format нь өөр blf ба md5 гэсэн
утгуудыг авч болно (Blowfish болон MD5 хувиргалттай нэвтрэх үгийн хувьд).
Хэрэв та /etc/login.conf файлд өөрчлөлт хийсэн бол,
нэвтрэх чадварын санг дахин үүсгэх шаардлагатай. Үүний тулд дараах тушаалыг
root эрхээр өгөх хэрэгтэй:
&prompt.root; cap_mkdb /etc/login.conf
/etc/master.passwd файл дотор аль хэдийн үүссэн нэвтрэх үгийн
хэлбэр нь хэрэглэгч нэвтрэх чадварын сан дахин үүссэнээс хойш анх удаа нэвтрэх
үгээ солих хүртэл өөрчлөгдөхгүй.
Мөн, таны сонгосон хэлбэрээр нэвтрэх үгүүдэд
хувиргалт хийгддэг болгохын тулд,
/etc/auth.conf файл доторх crypt_default утга
таны сонгосон хэлбэрийг хамгийн түрүүнд оруулсан байгаа эсэхийг
шалгах хэрэгтэй. Жишээ нь, DES хувиргалттай нэвтрэх үгийг хэрэглэх үед:
crypt_default = des blf md5
&os; дээр тулгуурласан NIS сервер болон харилцагч бүр дээр дээрх
үйлдлүүдийг хийснээр, нэвтрэх үгийн хэлбэр бүгд таарч байгаа гэдэгт
санаа амар байж болно. Хэрэв NIS харилцагч дээр нэвтэрч ороход асуудал
гарвал, асуудлыг тодруулах нэг газар байна.
Хэрэв та холимог сүлжээний хувьд NIS сервер босгох гэж байгаа бол,
ихэнх систем дээр зайлшгүй байх хамгийн бага стандарт тул,
бүх системүүд дээрээ DES ашиглах хэрэгтэйг санаарай.
Грег
Саттер
Бичсэн
Лодойсамбын
Баянзул
Орчуулсан
Автомат Сүлжээний Тохиргоо (DHCP)
DHCP гэж юу вэ?
Динамик Хостын Тохиргооны Протокол
DHCP
Интернэт Програм Хангамжийн Консорциум(ISC)
DHCP, Dynamic Host Configuration Protocol буюу Динамик Хостын Тохиргооны Протокол нь
систем ямар байдлаар сүлжээнд холбогдох,
тухайн сүлжээнд харилцаанд орохын тулд шаардагдах
мэдээллийг хэрхэн олж авахыг зааж өгдөг. FreeBSD-н
6.0-с өмнөх хувилбарууд ISC (Internet Software Consortium) DHCP харилцагчийг
(&man.dhclient.8;) хэрэглэдэг.
Хамгийн сүүлийн хувилбар дээр OpenBSD 3.7-с авсан
OpenBSD-н dhclient-г хэрэглэдэг. Энэ бүлэгт гарах
dhclient-р ISC ба OpenBSD DHCP харилцагчийг хоёуланг
нь төлөөлүүлсэн болно. DHCP серверийн хувьд ISC тархацын
серверийг авч үзэх болно.
Энэ хэсэгт авч үзэх зүйлс
Энэ хэсэгт ISC ба OpenBSD DHCP харилцагчийн харилцагч талыг бүтээж байгаа элементүүд,
болон ISC DHCP системийн сервер талыг бүтээж байгаа элементүүдийг хоёуланг нь
авч үзэх болно. Харилцагч талын програм, dhclient, нь
FreeBSD-тэй нэгдмэл байдлаар ирдэг бол, сервер талын хэсэг нь
net/isc-dhcp3-server портоос суулгах боломжтой байдлаар ирдэг.
&man.dhclient.8;, &man.dhcp-options.5;, ба &man.dhclient.conf.5; заавар хуудсууд болон доор өгөгдсөн зөвлөмжүүд
нь хэрэг болно.
Хэрхэн ажилладаг вэ?
UDP
Харилцагч машин дээр dhclient DHCP харилцагчийг
ажиллуулахад, тохиргооны мэдээллийг хүссэн хүсэлтийг цацаж эхэлнэ.
Анхдагч байдлаар, эдгээр хүсэлтүүд нь UDP 68-р портоос гарч, серверийн
UDP 67 порт руу илгээгдэнэ. Сервер харилцагчид IP хаяг болон сүлжээний баг,
чиглүүлэгч, DNS серверийн хаяг зэрэг хэрэгтэй мэдээллийг хариу илгээнэ.
Энэ бүх мэдээллийг DHCP түрээслэх
хэлбэрээр өгөх ба зөвхөн тодорхой
хугацааны туршид хүчинтэй байна (DHCP серверийг хариуцагч тохируулж өгсөн байна).
Ийм байдлаар, сүлжээнд холбогдохоо больсон харилцагчийн ашиглагдаагүй
IP хаягуудыг автоматаар буцааж авах боломжтой болно.
DHCP харилцагч серверээс өргөн мэдээллийг
авч чадна. Бүрэн жагсаалтыг &man.dhcp-options.5;-с олж үзэж болно.
FreeBSD-тэй нэгдмэл байдал
&os; нь ISC эсвэл OpenBSD DHCP харилцагч,
dhclient-г өөртэйгөө бүрэн нэгтгэсэн байдаг (&os; хувилбараас хамааран).
DHCP сервер ажиллаж байгаа сүлжээнд сүлжээний тохиргоог хийх нарийн
чимхлүүр ажлаас хөнгөвчлөх үүднээс, DHCP харилцагчийг систем суулгагч
болон үндсэн системийн аль алинд хамт оруулж өгсөн байдаг.
dhclient нь FreeBSD-н 3.2-с хойших бүх тархацуудад нэгтгэгдсэн байгаа.
sysinstall
sysinstall нь DHCP-г дэмждэг. sysinstall-р
сүлжээний интерфэйсийг тохируулахад асуудаг хоёр дахь асуулт бол:
Та энэ интерфэйсийг DHCP-р тохируулахыг хүсэж байна уу?
.
Зөвшөөрсөн хариулт өгсөн тохиолдолд dhclient-г ажиллуулах бөгөөд,
хэрэв амжилттай бол сүлжээний тохиргоо автоматаар хийгдэнэ.
Систем ачаалах үед DHCP ашигладаг болгохын тулд,
хоёр зүйлийг хийх хэрэгтэй:
DHCP
шаардлагууд
bpf төхөөрөмж цөмтэй хамт эмхэтгэгдсэн байх ёстой.
Үүний тулд, device bpf мөрийг цөмийн
тохиргооны файлд нэмж бичээд цөмийг дахин бүтээх
хэрэгтэй. Цөмийг бүтээх талаар дэлгэрэнгүй мэдээллийг
хэсгээс авна уу.
bpf төхөөрөмж нь FreeBSD-н GENERAL цөмийн нэг хэсэг
бөгөөд, DHCP-г ажиллуулахын тулд тусгайлан шинээр цөм бүтээх шаардлагагүй.
Аюулгүй байдлын талаар сэтгэл зовнидог хүмүүст зөвлөхөд,
bpf нь пакет шиншлэгчдийг зөв ажиллах боломжийг олгодог
төхөөрөмж болохыг анхааралдаа авна уу (хэдийгээр тэдгээр програм ажиллахын
тулд root эрх хэрэгтэй боловч). DHCP-г ашиглахын тулд
bpf заавал хэрэгтэй, гэвч хэрэв та аюулгүй байдлыг
маш ихээр анхааралдаа авдаг бол, зөвхөн хэзээ нэгэн цагт DHCP-г
ашиглахын тулд bpf-г цөмд нэмэх хэрэггүй.
/etc/rc.conf файлыг нээгээд дараах мөрийг нэмж бичнэ:
ifconfig_fxp0="DHCP"
-д тайлбарласан ёсоор,
fxp0-г динамикаар тохируулах гэж байгаа
интерфэйсийн нэрээр сольж бичнэ.
Хэрэв таны dhclient өөр газар байгаа бол, эсвэл
хэрэв та dhclient-г нэмэлт тугуудын хамт ажиллуулах хүсэлтэй бол,
дараах мөрүүдийг нэмж бичнэ үү (эсвэл шаардлагатай хэсгийг засаж бичнэ үү):
dhcp_program="/sbin/dhclient"
dhcp_flags=""
DHCP
сервер
DHCP сервер dhcpd нь портуудын цуглуулгад байгаа
net/isc-dhcp3-server портын нэг хэсэг байдлаар ирдэг. Энэ порт нь
ISC DHCP сервер болон түүний баримтуудыг агуулсан байдаг.
Файлууд
DHCP
тохиргооны файлууд
/etc/dhclient.conf
dhclient нь /etc/dhclient.conf гэсэн тохиргооны
файлыг шаарддаг. Ихэвчлэн энэ файл зөвхөн тайлбаруудаас бүрдэх ба
анхдагч утгууд нь харьцангуй өөрчлөх шаардлагагүйгээр өгөгдсөн байдаг.
Энэ тохиргооны файлыг &man.dhclient.conf.5; заавар хуудсанд тайлбарласан байгаа.
/sbin/dhclient
dhclient нь статикаар холбогдсон байх ба
/sbin дотор байрлана. &man.dhclient.8; хуудаснаас
dhclient-н талаар дэлгэрэнгүй мэдээллийг авна уу.
/sbin/dhclient-script
dhclient-script нь зөвхөн FreeBSD-д байдаг, DHCP харилцагчийг
тохируулах зориулалттай тусгай скрипт юм. Энэ скриптийг
&man.dhclient-script.8; заавар хуудсанд тайлбарласан байх ба, ажиллуулахын
тулд хэрэглэгч ямар нэг засвар хийх шаардлагагүй.
/var/db/dhclient.leases
DHCP харилцагч нь түрээсэлж авсан хаягуудаа агуулсан өгөгдлийн
санг энэ файлд хадгалах бөгөөд бүртгэл маягаар бичдэг. &man.dhclient.leases.5; хэсэгт
илүү дэлгэрэнгүй тайлбар бий.
Гүнзгийрүүлэн унших
DHCP протокол нь бүрэн хэмжээгээр RFC 2131-д
тодорхойлогдсон байдаг. Нэмэлт эх үүсвэрүүд -д мөн бий.
DHCP Серверийг Суулгах болон Тохируулах
Энэ хэсэгт авч үзэх зүйлс
Энэ хэсэгт ISC (Internet Software Consortium) DHCP серверийг
ашиглан FreeBSD системийг хэрхэн DHCP сервер байдлаар ажиллуулах
талаар авч үзэх болно.
Сервер нь FreeBSD-н нэг хэсэг байдлаар ирдэггүй бөгөөд
ийм үйлчилгээ үзүүлэхийн тулд net/isc-dhcp3-server портыг
суулгах хэрэгтэй болдог. Портуудын цуглуулгын хэрхэн ашиглах талаар
хэсгээс дэлгэрэнгүй мэдээллийг авна уу.
DHCP Серверийг суулгах нь
DHCP
суулгах
FreeBSD системийг DHCP сервер байдлаар тохируулахын тулд,
&man.bpf.4; төхөөрөмж цөмд эмхэтгэгдсэн байх ёстой. Үүний тулд,
цөмийн тохиргооны файл дотор bpf төхөөрөмжийг нэмээд цөмийг дахин
бүтээх хэрэгтэй. Цөмийг бүтээх талаар дэлгэрэнгүй мэдээллийг
хэсгээс үзнэ үү.
bpf төхөөрөмж нь FreeBSD-н GENERAL цөмийн нэг хэсэг бөгөөд,
DHCP-г ажиллуулахын тулд
тусгайлан шинээр цөм бүтээх шаардлагагүй.
Аюулгүй байдлын талаар сэтгэл зовнидог хүмүүст зөвлөхөд,
bpf нь пакет шиншлэгчдийг зөв ажиллах боломжийг олгодог
төхөөрөмж болохыг анхааралдаа авна уу (хэдийгээр тэдгээр програм ажиллахын
тулд root эрх хэрэгтэй боловч). DHCP-г ашиглахын тулд
bpf заавал хэрэгтэй, гэвч хэрэв та аюулгүй байдлыг
маш ихээр анхааралдаа авдаг бол, зөвхөн хэзээ нэгэн цагт DHCP-г
ашиглахын тулд bpf-г цөмд нэмэх хэрэггүй.
Үүний дараа net/isc-dhcp3-server
порттой хамт ирсэн жишээ dhcpd.conf файлыг засах хэрэгтэй.
Анхдагч байдлаар, /usr/local/etc/dhcpd.conf.sample гэсэн файл байх ба
өөрчлөлт хийхийнхээ өмнө энэ файлыг /usr/local/etc/dhcpd.conf
нэртэйгээр хуулж тавих хэрэгтэй.
DHCP Серверийг тохируулах
DHCP
dhcpd.conf
dhcpd.conf нь
дэд сүлжээ болон хостуудтай холбоотой өгөгдөл зарлалтаас
бүрдэх ба жишээн дээр тайлбарлавал илүү амархан байх болов уу:
option domain-name "example.com";
option domain-name-servers 192.168.4.100;
option subnet-mask 255.255.255.0;
default-lease-time 3600;
max-lease-time 86400;
ddns-update-style none;
subnet 192.168.4.0 netmask 255.255.255.0 {
range 192.168.4.129 192.168.4.254;
option routers 192.168.4.1;
}
host mailhost {
hardware ethernet 02:03:04:05:06:07;
fixed-address mailhost.example.com;
}
Энэ тохируулга нь анхдагч хайлтын домэйн байдлаар
харилцагчид өгөх домэйныг заана. Энэ талаар дэлгэрэнгүй мэдээллийг
&man.resolv.conf.5; хэсгээс үзнэ үү.
Энэ тохируулга нь харилцагчийн хэрэглэх ёстой
DNS серверүүдийг таслалаар холбосон жагсаалт байна.
Хэрэглэгчид өгөх сүлжээний багийг заана.
Түрээслэлт (lease) хүчинтэй байх тийм тусгай хугацааг
харилцагч хүсэж болох юм. Хэрэв харилцагч хүсээгүй бол сервер энд заасан дуусах
хугацаагаар (секундээр) түрээс хийх болно.
Серверийн түрээслүүлэх хамгийн дээд хугацааг заана.
Харилцагч үүнээс урт хугацаагаар түрээслэх хүсэлт тавибал
хүсэлтийг хүлээж авах боловч зөвхөн max-lease-time секундын туршид
хүчинтэй байна.
Түрээслэх болон эргүүлж авахад DHCP сервер
DNS-г шинэчлэхийг оролдох шаардлагатай эсэхийг зааж өгнө.
ISC шийдлийн хувьд, энэ тохируулга заавал байх ёстой.
Харилцагчид оноох IP хаягуудын хүрээг заана. Энэ хүрээнд багтах
IP хаягуудыг харилцагчид өгөх болно.
Харилцагчид өгөх анхдагч гарцыг заана.
Хостын MAC хаягийг заана (ингэснээр DHCP сервер тухайн хостыг
хүсэлт тавихад таньж чадна).
Хостод тогтмол IP хаяг оноохыг заана.
Энд хостын нэрийг хэрэглэж болохыг тэмдэглэх хэрэгтэй.
DHCP сервер IP хаяг түрээслүүлэх
хариуг өгөхөөс өмнө хост нэрийг тайлах болно.
dhcpd.conf файлыг бичиж дууссаны дараа,
/etc/rc.conf файл дотор DHCP серверийг идэвхжүүлэх хэрэгтэй,
өөрөөр хэлбэл доорх мөрүүдийг нэмж бичих хэрэгтэй:
dhcpd_enable="YES"
dhcpd_ifaces="dc0"
dc0-г өөрийн тань DHCP сервер DHCP харилцагчдын хүсэлтийг
хүлээж авах ёстой интерфэйсийн нэрээр (эсвэл интерфэйсүүдийг зайгаар
тусгаарлан) сольж бичих хэрэгтэй.
Дараа нь, доорх тушаалыг өгөн серверийг ажиллуулах хэрэгтэй:
&prompt.root; /usr/local/etc/rc.d/isc-dhcpd.sh start
Серверийнхээ тохиргооны файлд өөрчлөлт оруулах бүрдээ,
SIGHUP дохиог dhcpd-д өгөх нь бусад дэмонуудын
хувьд тохиргоог дахин дууддаг шиг биш харин тохиргоог дахин
ачаалахгүй болохыг анхаарах хэрэгтэй. Процессийг зогсоохын
тулд SIGTERM дохиог өгөх хэрэгтэй ба дээрх тушаалыг өгөн дахин эхлүүлэх хэрэгтэй.
Файлууд
DHCP
тохиргооны файлууд
/usr/local/sbin/dhcpd
dhcpd нь статикаар холбогдсон байх ба
/usr/local/sbin дотор байрлана. Порттой хамт суусан
&man.dhcpd.8; заавар хуудаснаас dhcpd-н талаар дэлгэрэнгүй мэдээллийг
авна уу.
/usr/local/etc/dhcpd.conf
dhcpd нь /usr/local/etc/dhcpd.conf гэсэн тохиргооны
файлыг шаарддаг. Энэ файл дотор харилцагчид өгөх бүх мэдээллээс гадна
серверийн өөрийн үйл ажиллагаатай холбоотой мэдээлэл байх ёстой. Энэ
тохиргооны файлыг портоос суусан &man.dhcpd.conf.5; заавар хуудсанд тайлбарласан байгаа.
/var/db/dhcpd.leases
DHCP сервер нь түрээслүүлсэн хаягуудаа агуулсан
өгөгдлийн санг энэ файлд хадгалах бөгөөд бүртгэл маягаар бичдэг.
Портоос суусан &man.dhcpd.leases.5; заавар хуудсанд илүү дэлгэрэнгүй
тайлбар бий.
/usr/local/sbin/dhcrelay
dhcrelay-г нэг DHCP сервер
харилцагчаас хүлээн авсан хүсэлтийг өөр сүлжээнд байгаа
нөгөө DHCP сервер рүү дамжуулдаг, нарийн бүтэцтэй орчинд хэрэглэнэ.
Хэрэв энэ функцыг ашиглах шаардлагатай бол,
net/isc-dhcp3-relay портыг суулгаарай.
Порттой хамт ирэх &man.dhcrelay.8; заавар хуудаснаас дэлгэрэнгүй
мэдээллийг авна уу.
Шерн
Лий
Хувь нэмрээ оруулсан
Том
Родес
Даниэл
Гэрзо
Лодойсамбын
Баянзул
Орчуулсан
Домэйн Нэрийн Систем (DNS)
Удиртгал
BIND
&os; анхдагч байдлаар DNS протоколын
хамгийн өргөн хэрэглэгддэг хэрэгжүүлэлт болох BIND (Berkeley
Internet Name Domain)-н аль нэг хувилбарыг агуулсан байдаг.
DNS нь нэрүүдийг IP хаягууд руу, мөн
эсрэгээр нь буулгахад хэрэглэгддэг протокол юм.
Жишээ нь, www.FreeBSD.org-г асуусан DNS асуулга явуулахад,
хариуд нь &os; Төсөлийн вэб серверийн IP хаяг ирэх бол,
ftp.FreeBSD.org-н хувьд асуулга явуулахад,
хариуд нь харгалзах FTP машины IP хаяг ирэх болно.
Яг үүнтэй адилаар эсрэгээр нь хийж болно. Ямар нэг IP-р асуулга
явуулахад түүний хост нэрийг олж болно. DNS хайлт хийхийн тулд
тухайн системд домэйн нэрийн сервер ажиллаж байх ёстой.
&os; нь одоо BIND9
DNS сервер програмын хамт ирдэг болсон.
Бидний суулгац нь файл системийн шинэчилсэн зохион байгуулалт,
автомат &man.chroot.8; тохиргоо зэрэг аюулгүй байдлыг дээд зэргээр
хангах функцүүдтэй ирдэг.
DNS
DNS бол Интернэт дээр тулгуурласан,
бүрэн эрхт root буюу эх сервер, Top Level Domain буюу Дээд Түвшний Домэйн (TLD)
сервер, болон домэйн тус бүрийн мэдээллийг агуулж байдаг
бусад жижиг нэрийн серверүүдээс бүтсэн нарийн төвөгтэй
систем юм.
BIND одоо
Internet Software Consortium
-н мэдэлд байдаг.
Нэр Томъёо
Энэ баримтыг ойлгохын тулд, DNS-тэй холбоотой
зарим нэр томъёог ойлгосон байх шаардлагатай.
resolver
reverse DNS
root zone
Нэр
Тайлбар
Forward буюу Ердийн DNS
Хост нэрийг IP хаяг руу буулгана.
Origin буюу Үүсэл
Тухайн бүсийн файлд хамрагдаж байгаа домэйныг заана.
named, BIND, нэрийн сервер
&os;-н BIND нэрийн серверийг нэрлэх түгээмэл нэршил.
Resolver буюу Тайлагч
Машин, бүсийн мэдээллийн талаар нэрийн серверээс асуулга
явуулахын тулд ашигладаг системийн процесс.
Reverse буюу Урвуу DNS
Ердийн DNS-н урвуу нь; IP
хаягийг хост нэр рүү буулгана.
Root zone буюу Эх бүс
Интернэт бүсийн шатлалын эхлэл.
Файл системийн бүх файлууд эх санд харъяалагддаг шиг,
бүх бүсүүд эх бүсэд харъяалагдана.
Zone буюу Бүс
Нэг бүрэн эрхт газраар удирдуулж байгаа
домэйн, дэд домэйн, эсвэл DNS-н нэг хэсэг.
бүсүүд
жишээнүүд
Бүсүүдийн жишээ:
. бол эх бүс.
org. бол эх бүсийн доорх Top Level Domain буюу
Дээд Түвшний Домэйн (TLD).
example.org. бол org. TLD-н
доорх бүс.
1.168.192.in-addr.arpa бол 192.168.1.*
IP хүрээнд багтаж байгаа бүх IP
хаягуудыг агуулсан бүс.
Хост нэр зүүн тал руугаа явах тусам илүү тодорхой
болж байгааг та бүхэн анзаарсан байх. Жишээлбэл, example.org.
нь org.-с илүү тодорхой, харин org. нь эх бүсээс
илүү тодорхой байна. Хост нэрийн зохион байгуулалт нь
файл системийнхтэй төстэй: /dev директор нь
эх директорт харъяалагдана, гэх мэт.
Нэрийн Сервер ажиллуулах Шалтгаанууд
Нэрийн Серверүүд ихэвчлэн хоёр янз байна: authoritative буюу бүрэн эрхт нэрийн сервер,
ба caching буюу түр тогтоогч нэрийн сервер.
Бүрэн эрхт нэрийн сервер нь дараах тохиолдлуудад хэрэгтэй:
DNS мэдээллийг өөртөө агуулж, энэ мэдээллийг нийтэд зарлан,
ирсэн асуулгуудад бүрэн эрхтэйгээр хариулах хүсэлтэй үед.
Бүртгэлтэй домэйны хувьд, жишээлбэл example.org,
түүний дор орших хост нэрүүдэд IP хаяг оноож өгөх хэрэгтэй үед.
Бүлэг IP хаягуудад урвуу DNS мэдээлэл хэрэгтэй үед
(IP-с хост нэр рүү).
Нөөц эсвэл хоёрдогч нэрийн сервер, зарц гэж нэрлэнэ,
асуулгуудад хариулуулах шаардлагатай үед.
Түр тогтоогч нэрийн сервер дараах тохиолдлуудад хэрэгтэй:
Дотоод DNS сервер нь асуулгын хариуг
түр тогтоосноор гадаад нэрийн серверээс илүү хурдан хариу өгч
байгаа үед.
www.FreeBSD.org-р асуулга явуулсан үед, тайлагч ихэвчлэн
үйлчилгээ авдаг ISP-нхаа нэрийн серверээс асуугаад хариуг олж авна.
Дотоод, түр тогтоогч DNS сервер ажиллуулснаар,
асуулгыг гадаад интернэтээс зөвхөн ганц удаа явуулах бөгөөд,
хариуг тогтоож авна. Түүнээс хойших асуулгуудад түр тогтоогч нэрийн сервер
хариулах ба гадагшаа дахин асуулга явуулах шаардлага байхгүй.
Хэрхэн ажилладаг вэ?
&os;-д BIND дэмонг ойлгомжтойгоор named гэж нэрлэнэ.
Файл
Тайлбар
&man.named.8;
BIND дэмон.
&man.rndc.8;
Нэрийн серверийг хянах хэрэгсэл.
/etc/namedb
BIND-н бүсийн мэдээлэл хадгалагдаж байгаа сан.
/etc/namedb/named.conf
дэмоны тохиргооны файл.
Тухайн бүс сервер дээр хэрхэн тохируулагдсанаас хамаарч
энэ бүстэй хамааралтай файлууд /etc/namedb
директорын master,
slave, эсвэл dynamic
гэсэн дэд сангуудад байрлана. Эдгээр файлуудад
гадны асуулгад хариу болгон өгөх DNS мэдээллүүд
байрлана.
BIND-г ажиллуулах нь
BIND
ажиллуулах
BIND нь анхдагч байдлаар суучихсан ирдэг тул тохируулахад
хялбар байдаг.
named-н анхдагч тохиргоо нь
&man.chroot.8; орчинд ажиллах, тайлагч нэрийн сервер байдлаар хийгдсэн байдаг.
Энэ тохиргоогоор серверийг ажиллуулахын тулд дараах тушаалыг өгөх хэрэгтэй:
&prompt.root; /etc/rc.d/named forcestart
named дэмонг систем ачаалах үед
ажиллуулдаг болгохын тулд /etc/rc.conf дотор дараах мөрүүдийг нэмэх
хэрэгтэй:
named_enable="YES"
Мэдээж /etc/namedb/named.conf файл дотор
өөр олон тохируулгууд байгаа боловч энэ баримтын мэдлээс халих
тул энд дурдсангүй. Хэрэв &os; дээрх named-н эхлэл
тохируулгуудын талаар сонирхож байгаа бол /etc/defaults/rc.conf
дотор байгаа named_* тугуудыг нэг ороод үзээрэй.
Мөн &man.rc.conf.5; заавар хуудаснаас тусламж авч болно.
хэсгийг уншихад илүүдэхгүй.
Тохиргооны файлууд
BIND
тохиргооны файлууд
named-н тохиргооны файлууд нь
/etc/namedb директор дотор байрлах ба
хэрэв хялбар тайлагчаас өөр түвшинд ажиллах хэрэгтэй бол
ажиллуулахаасаа өмнө тохиргооны файлд засвар хийх хэрэгтэй.
Ихэнх тохиргоог энэ сан дотор гүйцэтгэнэ.
make-localhost-г хэрэглэх нь
localhost-н хувьд эзэн бүсийг тохируулахын тулд
/etc/namedb директорруу шилжээд дараах тушаалыг
өгнө:
&prompt.root; sh make-localhost
Хэрэв бүх зүйл зүй ёсоор явагдвал,
master дэд директор дотор шинэ файл үүссэн байх ёстой.
Файлууд нь дотоод домэйны хувьд localhost.rev,
IPv6 тохиргооны хувьд localhost-v6.rev гэсэн нэртэй байна.
Анхдагч тохиргооны файлын хувьд named.conf файл дотор
шаардлагатай мэдээллүүд байрлана.
/etc/namedb/named.conf
// $FreeBSD$
//
// Refer to the named.conf(5) and named(8) man pages, and the documentation
// in /usr/share/doc/bind9 for more details.
//
// If you are going to set up an authoritative server, make sure you
// understand the hairy details of how DNS works. Even with
// simple mistakes, you can break connectivity for affected parties,
// or cause huge amounts of useless Internet traffic.
options {
directory "/etc/namedb";
pid-file "/var/run/named/pid";
dump-file "/var/dump/named_dump.db";
statistics-file "/var/stats/named.stats";
// If named is being used only as a local resolver, this is a safe default.
// For named to be accessible to the network, comment this option, specify
// the proper IP address, or delete this option.
listen-on { 127.0.0.1; };
// If you have IPv6 enabled on this system, uncomment this option for
// use as a local resolver. To give access to the network, specify
// an IPv6 address, or the keyword "any".
// listen-on-v6 { ::1; };
// In addition to the "forwarders" clause, you can force your name
// server to never initiate queries of its own, but always ask its
// forwarders only, by enabling the following line:
//
// forward only;
// If you've got a DNS server around at your upstream provider, enter
// its IP address here, and enable the line below. This will make you
// benefit from its cache, thus reduce overall DNS traffic in the Internet.
/*
forwarders {
127.0.0.1;
};
*/
Тайлбар дээр хэлсэнчлэн
дээд гарцын түр тогтоогчоос хүртэхийн тулд
forwarders-г идэвхжүүлж болох юм.
Энгийн үед, нэрийн сервер нь хариултыг олтлоо давталттай байдлаар
хэд хэдэн нэрийн серверүүдээр дамжин асууна.
Энэ тохируулгыг идэвхжүүлснээр, дээд гарцынхаа нэрийн серверээс
(эсвэл зааж өгсөн нэрийн сервер) хамгийн түрүүнд асууж, энэ серверийн
түр санах ойд байгаа мэдээллээс хүртэхийг эрмэлзэнэ.
Хэрэв дээд гарцын нэрийн сервер нь олон асуулгад хариулдаг, хурдан үйлчилдэг
сервер байвал дээрх тохируулгыг идэвхжүүлсний үр ашиг гарна.
127.0.0.1 энд ажиллахгүй. Энэ
IP хаягийг өөрийн дээд гарцын нэрийн серверээр сольж бичнэ үү.
/*
* If there is a firewall between you and nameservers you want
* to talk to, you might need to uncomment the query-source
* directive below. Previous versions of BIND always asked
* questions using port 53, but BIND versions 8 and later
* use a pseudo-random unprivileged UDP port by default.
*/
// query-source address * port 53;
};
// If you enable a local name server, don't forget to enter 127.0.0.1
// first in your /etc/resolv.conf so this server will be queried.
// Also, make sure to enable it in /etc/rc.conf.
zone "." {
type hint;
file "named.root";
};
zone "0.0.127.IN-ADDR.ARPA" {
type master;
file "master/localhost.rev";
};
// RFC 3152
zone "1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.IP6.ARPA" {
type master;
file "master/localhost-v6.rev";
};
// NB: Do not use the IP addresses below, they are faked, and only
// serve demonstration/documentation purposes!
//
// Example slave zone config entries. It can be convenient to become
// a slave at least for the zone your own domain is in. Ask
// your network administrator for the IP address of the responsible
// primary.
//
// Never forget to include the reverse lookup (IN-ADDR.ARPA) zone!
// (This is named after the first bytes of the IP address, in reverse
// order, with ".IN-ADDR.ARPA" appended.)
//
// Before starting to set up a primary zone, make sure you fully
// understand how DNS and BIND works. There are sometimes
// non-obvious pitfalls. Setting up a slave zone is simpler.
//
// NB: Don't blindly enable the examples below. :-) Use actual names
// and addresses instead.
/* An example master zone
zone "example.net" {
type master;
file "master/example.net";
};
*/
/* An example dynamic zone
key "exampleorgkey" {
algorithm hmac-md5;
secret "sf87HJqjkqh8ac87a02lla==";
};
zone "example.org" {
type master;
allow-update {
key "exampleorgkey";
};
file "dynamic/example.org";
};
*/
/* Examples of forward and reverse slave zones
zone "example.com" {
type slave;
file "slave/example.com";
masters {
192.168.1.1;
};
};
zone "1.168.192.in-addr.arpa" {
type slave;
file "slave/1.168.192.in-addr.arpa";
masters {
192.168.1.1;
};
};
*/
named.conf доторх эдгээр жишээнүүд нь
ердийн болон урвуу бүсийн зарц бүртгэлүүд болно.
Шинэ бүс нэмэхдээ, named.conf файл дотор шинэ бүртгэл
оруулах хэрэгтэй.
Жишээ нь, example.org домэйны хувьд
хамгийн хялбар бүртгэл дараах байдалтай байна:
zone "example.org" {
type master;
file "master/example.org";
};
Энэ бүс нь эзэн бүс болохыг илэрхийллээс харж болно.
Мөн бүсийн мэдээллийг /etc/namedb/master/example.org файл дотор агуулж байгааг
илэрхийллээс харж болно.
zone "example.org" {
type slave;
file "slave/example.org";
};
Зарц бүсийн хувьд, тухайн бүсийн хувьд бүсийн мэдээлэл
эзэн нэрийн серверээс зөөгдөж ирэх ба зааж өгсөн файлд хадгалагдана.
Эзэн сервер унтарсан эсвэл холбоо тогтоох боломжгүй болбол,
зарц нэрийн серверт бүсийн мэдээлэл байгаа тул асуулгуудад хариулах
чадвартай байна.
Бүсийн Файлууд
BIND
бүсийн файлууд
example.org домэйны хувьд жишээ эзэн бүсийн файлыг
дор үзүүлэв (/etc/namedb/master/example.org файл):
$TTL 3600 ; 1 hour
example.org. IN SOA ns1.example.org. admin.example.org. (
2006051501 ; Serial
10800 ; Refresh
3600 ; Retry
604800 ; Expire
86400 ; Minimum TTL
)
; DNS Servers
IN NS ns1.example.org.
IN NS ns2.example.org.
; MX Records
IN MX 10 mx.example.org.
IN MX 20 mail.example.org.
IN A 192.168.1.1
; Machine Names
localhost IN A 127.0.0.1
ns1 IN A 192.168.1.2
ns2 IN A 192.168.1.3
mx IN A 192.168.1.4
mail IN A 192.168.1.5
; Aliases
www IN CNAME @
.
тэмдэгтээр төгссөн хост нэрүүд нь жинхэнэ хост нэрүүд бөгөөд
.
тэмдэгтээр төгсөөгүй нэрүүдэд үүсэл залгагдахыг анхаарна уу.
Жишээлбэл, www нь www.үүсэл-руу хөрвүүлэгдэх болно.
Манай жишээн дээр бол, бидний үүсэл example.org. тул www нь
www.example.org. болж хөрвүүлэгдэнэ.
Бүсийн файл дараах хэлбэртэй байна:
recordname IN recordtype value
DNS
бичлэгүүд
Хамгийн өргөн хэрэглэгддэг DNS бичлэгүүд:
SOA
start of zone authority буюу бүсийн бүрэн эрхт мэдээллийн эхлэл
NS
бүрэн эрхт нэрийн сервер
A
хостын хаяг
CNAME
хуурамч дүрд өгөх хүлээн зөвшөөрөгдсөн нэр
MX
захидал солилцогч
PTR
домэйн нэрийг заагч (урвуу DNS-д хэрэглэнэ)
example.org. IN SOA ns1.example.org. admin.example.org. (
2006051501 ; Serial
10800 ; Refresh after 3 hours
3600 ; Retry after 1 hour
604800 ; Expire after 1 week
86400 ) ; Minimum TTL of 1 day
example.org.
домэйн нэр, мөн энэ бүсийн файлын хувьд үүсэл болно.
ns1.example.org.
энэ бүсийн гол/бүрэн эрхт нэрийн сервер.
admin.example.org.
энэ бүсийг хариуцагч хүн, @
тэмдэгтийг нь орлуулсан
цахим захидлын хаяг. (admin@example.org нь admin.example.org болно)
2006051501
Файлын сериал дугаар. Бүсийн файлд өөрчлөлт оруулах болгонд
энэ дугаарыг нэмэгдүүлэх шаардлагатай. Одоо цагт ихэнх админууд энэ сериал дугаарыг
yyyymmddrr хэлбэрээр хэрэглэх болсон. 2006051501 гэдэг нь
хамгийн сүүлд 05/15/2006-нд засвар хийсэн, хамгийн сүүлийн 01 гэдэг нь
энэ өдөр хийгдсэн хамгийн анхны засвар гэдгийг илтгэнэ. Энэ сериал дугаар
нь зарц серверүүдэд бүсийн мэдээлэл өөрчлөгдсөн талаар мэдээлэл өгдөг тул их чухал зүйл
байгаа юм.
IN NS ns1.example.org.
Энэ бол NS бичлэг. Тухайн бүсийн хувьд бүрэн эрхт хариултыг
өгч чадах сервер бүрийн хувьд энэ бичлэг байх ёстой.
localhost IN A 127.0.0.1
ns1 IN A 192.168.1.2
ns2 IN A 192.168.1.3
mx IN A 192.168.1.4
mail IN A 192.168.1.5
A бичлэг нь машины нэрийг заана. Дээр үзүүлсэнчлэн,
ns1.example.org нь 192.168.1.2-руу буулгагдана.
IN A 192.168.1.1
Энэ мөр нь 192.168.1.1 гэсэн IP хаягийг
үүсэлд оноож байна, бидний жишээн дээр example.org.
www IN CNAME @
Хүлээн зөвшөөрөгдсөн нэрийн бичлэг нь машинд хуурамч дүр
өгөхөд хэрэглэгдэнэ. Энэ жишээн дээр, www нь
example.org (192.168.1.1) гэсэн домэйн нэртэй
эзэн
машины хуурамч дүрийн нэр юм. CNAME-г хуурамч хост нэр өгөхөд,
эсвэл олон машины дунд тойрч хэрэглэгдэх нэг хост нэр өгөхөд хэрэглэнэ.
MX бичлэг
IN MX 10 mail.example.org.
MX бичлэг нь аль захидлын серверүүд тухайн бүсийн захидлыг
хүлээж авах үүрэгтэй болохыг зааж өгнө. mail.example.org
нь захидлын серверийн хост нэр бөгөөд 10 нь энэ захидлын серверийн
зэрэглэлийг зааж байна.
Нэг бүсэд 10, 20 гэх мэт ялгаатай зэрэглэлтэй
хэд хэдэн захидлын сервер байж болно. example.org
домэйн руу захидал явуулах гэж байгаа сервер эхлээд
хамгийн өндөр зэрэглэлтэй MX сервертэй (хамгийн бага зэрэглэлийн дугаартай), дараа нь дараагийн хамгийн өндөр зэрэглэлтэй
сервертэй гэх мэтчилэн захидлыг явуулж чадтал дарааллаар нь холбоо тогтооно.
in-addr.arpa бүсийн файл (урвуу DNS) нь ижил хэлбэртэй байна. Ганцхан ялгаа нь
A болон CNAME бичлэгийн оронд PTR бичлэгийг хэрэглэнэ.
$TTL 3600
1.168.192.in-addr.arpa. IN SOA ns1.example.org. admin.example.org. (
2006051501 ; Serial
10800 ; Refresh
3600 ; Retry
604800 ; Expire
3600 ) ; Minimum
IN NS ns1.example.org.
IN NS ns2.example.org.
1 IN PTR example.org.
2 IN PTR ns1.example.org.
3 IN PTR ns2.example.org.
4 IN PTR mx.example.org.
5 IN PTR mail.example.org.
Энэ файлд, жишээ домэйны IP-с хост нэр рүү буулгасан
зохих шаардлагатай буулгалтуудыг үзүүлсэн байна.
Түр тогтоогч Нэрийн Сервер (Caching Name Server)
BIND
түр тогтоогч нэрийн сервер
Түр тогтоогч нэрийн сервер гэдэг нь
ямар ч бүсийн хувьд бүрэн эрхт биш нэрийн серверийг хэлнэ.
Ийм төрлийн сервер нь зөвхөн асуулга явуулах бөгөөд
хариултыг дараа хэрэглэхээр тогтоож авдаг. Ийм нэрийн серверийг
зохион байгуулахын тулд, тохиргоог ердийн нэрийн сервертэй адилаар
хийх боловч, ямар ч бүсийн мэдээллийг оруулахгүй байхаар хийнэ.
Аюулгүй байдал
Хэдийгээр BIND нь хамгийн өргөн хэрэглэгддэг DNS сервер боловч,
аюулгүй байдалтай холбоотой асуудлууд байнга тулгардаг.
Гадны халдлагад өртөж болзошгүй аюулгүй байдлын цоорхой заримдаа
олддог.
Хэдийгээр &os; named-г автоматаар &man.chroot.8; орчинд
оруулдаг боловч; DNS халдлагад ашиглаж болохуйц
хэд хэдэн механизмууд байсаар байна.
CERT-с гаргадаг аюулгүй байдлын
санамжуудыг уншихыг зөвлөж байна. Мөн &a.security-notifications;-д бүртгүүлж,
шинээр гарч байгаа Интернэт болон &os;-н аюулгүй байдлын асуудлуудын
талаар мэдээлэлтэй байхыг зөвлөе.
Хэрэв ямар нэгэн асуудал тулгарвал,
эхийг байнга шинэчилж, named-г шинээр бүтээх нь алдаа болохгүй.
Гүнзгийрүүлэн унших
BIND/named заавар хуудсууд:
&man.rndc.8; &man.named.8; &man.named.conf.5;
ISC BIND-н Албан ёсны Хуудас
ISC BIND-н Албан ёсны Хэлэлцүүлэг
BIND FAQ
O'Reilly
"DNS ба BIND" 5 дахь Хэвлэлт
RFC1034
- Домэйн Нэрүүд - Зарчмууд болон Боломжууд
RFC1035
- Домэйн Нэрүүд - Хэрэгжүүлэлт болон Үзүүлэлтүүд
Мюррей
Стөүкли
Хувь нэмрээ оруулсан
Лодойсамбын
Баянзул
Орчуулсан
Apache HTTP Сервер
вэб серверүүд
зохион байгуулах
Apache
Удиртгал
Дэлхийн хамгийн их ачаалалтай ажилладаг
зарим вэб сайтууд &os; дээр ажилладаг. Интернэтэд ажиллаж байгаа
вэб серверүүдийн олонхи нь Apache HTTP Серверийг ашиглаж
байна. Apache програм хангамжийн багц таны FreeBSD суулгах дискэнд
орсон байгаа. Хэрэв та &os;-г анх суулгахдаа Apache-г хамт
суулгаагүй бол www/apache13 эсвэл www/apache20
портоос суулгаж болно.
Apache нэгэнт амжилттай суусан бол түүнийг тохируулах
шаардлагатай.
Apache HTTP Server-н 1.3.X хувилбар нь
&os;-д хамгийн өргөн хэрэглэгддэг тул бид энэ хэсэгт энэ хувилбарыг үзэх болно.
Apache 2.X-д олон шинэ технологи нэвтэрсэн боловч
бид энэ талаар энд үзэхгүй. Apache 2.X-н талаар
дэлгэрэнгүй мэдээллийг хаягаар орж үзнэ үү.
Тохиргоо
Apache
тохиргооны файл
&os; дээрх Apache HTTP Серверийн гол тохиргооны файл
бол /usr/local/etc/apache/httpd.conf юм. Энэ файлд,
&unix;-н текст тохиргооны файлын нэгэн адил тайлбар мөрүүдийн өмнө
# тэмдэгтийг хэрэглэдэг. Бүх боломжит тохируулгуудын
талаар дэлгэрүүлж тайлбарлах нь энэ номын хүрээнээс халих тул,
хамгийн их өөрчлөлт хийгддэг директивүүдийг энд авч үзье.
ServerRoot "/usr/local"
Энэ директив Apache суулгацын
анхдагч директор шатлалын эхийг зааж өгнө. Хоёртын файлууд
серверийн эх директорын
bin ба sbin дэд директоруудад,
тохиргооны файлууд etc/apache дэд директорт байрлана.
ServerAdmin you@your.address
Сервертэй холбоотой асуудлуудын талаар
илгээх цахим захидлын хаягийг заана. Энэ хаяг алдааны хуудсууд гэх зэрэг
сервер талаас автоматаар үүсгэгддэг зарим хуудсууд дээр
бичигдэх болно.
ServerName www.example.com
ServerName нь хост дээр тохируулагдсан хост нэрээс
өөр нэрийг сервертээ өгөх боломжийг танд олгоно (өөрөөр хэлбэл, хостын жинхэнэ
хост нэрийн оронд www-г хэрэглэх). Энэ нэрээр таны сервер харилцагч
нартай харилцах болно.
DocumentRoot "/usr/local/www/data"
DocumentRoot: Энэ директорт байгаа вэб баримтуудыг
харилцагч нарт үзүүлэх болно. Анхдагч байдлаар, бүх хүсэлтүүд энэ
директорт өгөгдөнө. Гэвч симбол холбоосууд болон хуурамч дүрүүдийг
ашиглан өөр газар руу зааж өгч болно.
Apache-н тохиргооны файлд ямар нэг
өөрчлөлт хийхээсээ өмнө нөөц хуулбарыг авч үлдэхээ мартуузай.
Тохиргоо хийж дууссан бол одоо Apache-г ажиллуулах
хэрэгтэй.
Apache-г ажиллуулах нь
Apache
эхлүүлэх ба зогсоох
Бусад олон сүлжээний орчны серверүүд
inetd супер серверээс ажилладаг бол,
Apache тэгдэггүй. Харилцагч вэб хөтчүүдээс
ирэх HTTP хүсэлтүүдэд хариулахдаа илүү өндөр үзүүлэлттэй ажиллуулахын тулд
түүнийг бие даан ажилладаг байхаар тохируулсан байдаг.
Эхлүүлэх, зогсоох болон дахин эхлүүлэх зэрэг үйлдлийг
аль болох хялбар болгохын тулд бүрхүүлийн скрипт хялбаршуулагч
хамт ирдэг. Apache-г анх удаа эхлүүлэхийн тулд, дараах
тушаалыг өгнө:
&prompt.root; /usr/local/sbin/apachectl start
Хүссэн үедээ серверийг дараах тушаалаар зогсооно:
&prompt.root; /usr/local/sbin/apachectl stop
Тохиргооны файлд өөрчлөлт оруулсны дараа,
серверийг дахин эхлүүлэх шаардлагатай:
&prompt.root; /usr/local/sbin/apachectl restart
Тогтсон холболтуудыг таслалгүйгээр Apache-г
дахин эхлүүлэхийн тулд дараах тушаалыг өгнө:
&prompt.root; /usr/local/sbin/apachectl graceful
Нэмэлт мэдээллийг &man.apachectl.8; заавар хуудаснаас авна уу.
Систем ачаалах үед Apache-г эхлүүлэхийн тулд
дараах мөрүүдийг /etc/rc.conf файлд нэмж бичнэ:
apache_enable="YES"
Хэрэв систем ачаалах үед эхэлдэг Apache
httpd програмд нэмэлт тушаалын мөрний тохируулгуудыг
оруулах хүсэлтэй бол, дараах мөрийг мөн rc.conf файлд
нэмэх хэрэгтэй:
apache_flags=""
Одоо таны вэб сервер ажиллаж байна.
Та өөрийн вэб сайтыг вэб хөтөч дээрээ http://localhost/
хаягийг оруулан харж болно. Энд гарах анхдагч вэб хуудас бол
/usr/local/www/data/index.html юм.
Давхар байршуулалт
Apache нь хоёр төрлийн давхар
байршуулах үйлчилгээг дэмждэг. Эхнийх нь
нэр дээр үндэслэсэн давхар байршуулалт юм.
Нэр дээр үндэслэсэн давхар байршуулалт дээр
хост нэрийг ялгаж мэдэхдээ харилцагчийн HTTP/1.1 толгойн хэсгийг ашигладаг.
Иим байдлаар олон өөр домэйнууд нэг IP хаягийг хуваан хэрэглэх
боломжтой болдог.
Apache дээр, нэр дээр үндэслэсэн
давхар байршуулалтыг хэрэглэхийн тулд
доор дурдсантай төстэй бүртгэлийг httpd.conf
файл дотор нэмж бичих хэрэгтэй:
NameVirtualHost *
Таны вэб серверийн нэр www.domain.tld
бөгөөд www.someotherdomain.tld нэртэй домэйныг
давхар байршуулах хүсэлтэй бол, та дараах бүртгэлийг
httpd.conf файлд нэмэх хэрэгтэй болно:
<VirtualHost *>
ServerName www.domain.tld
DocumentRoot /www/domain.tld
</VirtualHost>
<VirtualHost *>
ServerName www.someotherdomain.tld
DocumentRoot /www/someotherdomain.tld
</VirtualHost>
Дээрх хаягуудын оронд хэрэгтэй хаягуудыг, замуудын оронд
баримтууд байгаа зохих замуудыг сольж бичнэ үү.
Давхар хостуудыг зохион байгуулах талаар
дэлгэрэнгүй мэдээллийг Apache-н албан ёсны баримтжуулалт:
-с олж үзнэ үү.
Apache Модулиуд
Apache
модулиуд
Үндсэн серверийн үүрэг функцыг сайжруулахын
тулд бүтээгдсэн Apache-н олон модулиуд байдаг.
FreeBSD Портуудын Цуглуулга нь Apache-г түүний
өргөн хэрэглэгддэг зарим модулиудын хамт хялбар суулгах
боломжийг олгодог.
mod_ssl
вэб серверүүд
аюулгүй
SSL
криптограф
mod_ssl модуль нь Secure Sockets Layer (SSL v2/v3) ба
Transport Layer Security (TLS v1) протоколоор дамжуулан өндөр
нууцлалыг хангахын тулд OpenSSL санг ашигладаг.
Энэ модуль нь батламж олгодог итгэмжлэгдсэн байгууллагаас
батламж авахын тулд шаардлагатай бүх зүйлсээр хангадаг тул
та үүнийг ашиглан &os; дээр аюулгүй вэб сервер ажиллуулж чадна.
Хэрэв та Apache-г суулгаж амжаагүй бол,
mod_ssl модулийг агуулдаг
Apache-н 1.3.X хувилбарыг www/apache13-modssl
портоос суулгаж болох юм.
Apache 2.X-н хувьд SSL дэмжлэгийг www/apache20
портоос авч болно. SSL дэмжлэг автоматаар идэвхжсэн байдаг.
Perl & PHP орсон Динамик Вебсайтууд
Сүүлийн жилүүдэд, өөрийн ашиг орлогыг нэмэгдүүлэх,
хүмүүст хүрэх зорилгоор илүү олон компаниуд
бизнесээ Интернэтээр явуулах болжээ. Энэ нь
динамик агуулгатай вэб хуудсууд төрөн гарах
хэрэгцээ шаардлагыг улам нэмэгдүүлсэн. µsoft; гэх мэт зарим компаниуд
ч өөрийн бүтээгдэхүүнүүдэд тэдгээрээс оруулах болсон хэдий ч,
нээлттэй эхийн нэгдэл энэ асуудалд хариу өгсөн юм. Динамик вэб агуулгыг
бий болгох хоёр боломж бол mod_perl &
mod_php байлаа.
mod_perl
mod_perl
Perl
Apache/Perl нэгтгэх төсөл
Perl програмчлалын хэл ба Apache HTTP Серверийн
бүх хүч чадлыг нэгтгэсэн юм. mod_perl модулийн
тусламжтай Apache модулиудыг тэр чигээр нь
Perl дээр бичих боломжтой. Дээр нь, серверт суулгасан
шургуу хөрвүүлэгч, гадны хөрвүүлэгч ашиглах илүү ажил болон
Perl эхлүүлэх хугацааны алдагдлаас зайлсхийж чадсан юм.
mod_perl-г хэд хэдэн янзаар хэрэглэж болно.
mod_perl-г хэрэглэж эхлэхээс өмнө
mod_perl 1.0 зөвхөн Apache 1.3-тай ажилладаг,
mod_perl 2.0 зөвхөн Apache 2-той ажилладаг гэдгийг
санаарай. mod_perl 1.0-г www/mod_perl портоос,
түүний статикаар эмхэтгэсэн хувилбарыг www/apache13-modperl
портоос суулгаж болно. mod_perl 2.0-г
www/mod_perl2 портоос суулгаж болно.
Том
Рөүдс
Бичсэн
Лодойсамбын
Баянзул
Орчуулсан
mod_php
mod_php
PHP
PHP буюу PHP:Hypertext Preprocessor
бол
вэб хөгжүүлэлтэд тусгайлан тохируулсан, энгийн хэрэглээний
скрипт хэл юм. HTML дотор суулгах боломжтой түүний
синтакс C, &java;, ба Perl-с гаралтай. Энэ нь вэб хөгжүүлэгчдэд
динамикаар үүсгэгдэх вэб хуудсыг хурдан бичих боломжтой болгох
үүднээс тэгсэн хэрэг.
Apache вэб серверийг
PHP5-г дэмждэг болгохын тулд, lang/php5
портыг суулгаж эхлэх хэрэгтэй.
Хэрэв lang/php5 портыг
анх удаа суулгаж байгаа бол, боломжит
ТОХИРУУЛГУУД автоматаар дэлгэцэн дээр гарч ирнэ.
Хэрэв цэс гарч ирэхгүй бол, өөрөөр хэлбэл
lang/php5 портыг өмнө нь хэзээ нэгэн цагт
суулгаж байсан бол, тохируулгуудын харилцах цонхыг гаргаж ирэхийн тулд
дараах тушаалыг:
&prompt.root; make config
порт директор дотор өгөх хэрэгтэй.
Тохируулгуудын харилцах цонхонд,
mod_php5-г Apache-н
ачаалах боломжтой модуль байдлаар бүтээхийн тулд
APACHE тохируулгыг идэвхжүүлнэ.
Олон сайтууд PHP4-г янз бүрийн шалтгааны улмаас
(өөрөөр хэлбэл, нийцтэй байдал эсвэл аль хэдийн үйлчилгээнд гаргачихсан
вэб програмууд) ашигласаар байна. Хэрэв
mod_php4-г mod_php5-н оронд ашиглах
шаардлагатай бол, lang/php4 портыг ашиглаарай.
lang/php4 порт нь lang/php5 портод
байдаг тохиргооны болон бүтээх үеийн олон тохируулгуудыг дэмждэг.
Энэ хэсэг код динамик PHP програмыг дэмждэг болгоход
шаардлагатай модулиудыг суулгаж тохируулах болно. Доорх мөрүүд
/usr/local/etc/apache/httpd.conf файл дотор нэмэгдсэн эсэхийг шалгаарай:
LoadModule php5_module libexec/apache/libphp5.so
AddModule mod_php5.c
<IfModule mod_php5.c>
DirectoryIndex index.php index.html
</IfModule>
<IfModule mod_php5.c>
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
</IfModule>
Үүний дараа, PHP модулийг ачаалахын тулд,
дараах тушаалыг өгч серверийг дахин ачаалах хэрэгтэй:
&prompt.root; apachectl graceful
Дараа, PHP-н хувилбарыг дээшлүүлэх үедээ,
make config тушаалыг өгөх шаардлагагүй;
идэвхжүүлсэн ТОХИРУУЛГУУД &os; Портуудын
тогтолцоонд автоматаар хадгалагдсан байгаа.
&os;-н PHP дэмжлэг нь дээд зэргээр
модульчлагдсан тул үндсэн суулгац нь маш хязгаарлагдмал
байдаг. lang/php5-extensions портыг ашиглан дэмжлэг
нэмэх нь үнэхээр амархан асуудал. PHP өргөтгөлийг суулгах явцад,
энэ порт танд цэсээс тогтсон интерфэйсийг санал болгоно. Өөрөөр,
өргөтгөлүүдийг нэг нэгээр нь харгалзах портуудаас суулгаж болно.
Жишээлбэл, PHP5-д MySQL өгөгдлийн
сангийн серверийн дэмжлэгийг нэмэхийн тулд,
databases/php5-mysql портыг суулгахад хангалттай.
Ямар нэг өргөтгөл суулгасны дараа,
тохиргооны өөрчлөлтийг хүчин төгөлдөр болгохын тулд Apache
серверийг дахин ачаалах шаардлагатайг анхаарна уу:
&prompt.root; apachectl graceful
Мюррей
Стөүкли
Хувь нэмрээ оруулсан
Файл Дамжуулах Протокол (FTP)
FTP серверүүд
Удиртгал
File Transfer Protocol буюу Файл Дамжуулах Протокол (FTP) нь хэрэглэгчдэд
FTP серверээс файлыг авах болон тавих хялбар
замыг бий болгодог. &os; үндсэн систем дотроо FTP
сервер програм ftpd-г агуулж байдаг. Энэ нь FreeBSD дээр
FTP серверийг босгох, удирдах ажлыг төвөггүй болгодог.
Тохиргоо
Тохиргоо хийхийн өмнөх хамгийн чухал алхам бол
ямар дансууд FTP серверт хандах эрхтэй байх вэ гэдгийг шийдэх байдаг.
Ердийн FreeBSD систем нь янз бүрийн дэмонуудад хэрэглэгддэг
олон тооны системийн дансуудтай байдаг ба гадны хэрэглэгчид
эдгээр дансыг ашиглан нэвтрэх ёсгүй. /etc/ftpusers файл дотор
FTP хандалт зөвшөөрөгдөөгүй хэрэглэгчдийн жагсаалтыг хадгална.
Анхдагч байдлаар, дээр дурдсан системийн дансууд энэ файлд байна.
FTP хандалтыг зөвшөөрөх ёсгүй өөр хэрэглэгчдийг ч мөн энэ файлд
нэмж болно.
Зарим хэрэглэгчдийн FTP хэрэглэхийг нь бүр болиулчихалгүйгээр,
зөвхөн зарим нэг эрхийг нь хязгаарлаж бас болно. Үүнийг
/etc/ftpchroot файлын тусламжтай гүйцэтгэж болно.
Энэ файл дотор FTP хандалтыг нь хязгаарлах хэрэглэгчид болон
бүлгүүдийн жагсаалт байна. &man.ftpchroot.5; заавар хуудсанд
бүх мэдээлэл байгаа тул энд дурдсангүй.
FTP
нийтийн
Хэрэв сервертээ нийтийн FTP хандалтыг зөвшөөрөх хүсэлтэй байгаа бол,
&os; систем дээрээ ftp нэртэй хэрэглэгч нэмэх хэрэгтэй.
Ингэснээр хэрэглэгчид таны FTP сервер рүү ftp эсвэл
anonymous гэсэн нэрээр ямар ч нэвтрэх үг шаардагдахгүйгээр
(тогтсон заншил ёсоор хэрэглэгч цахим шуудангийн хаягаа
нэвтрэх үгийн оронд хэрэглэх шаардлагатай) нэвтрэн орох болно.
Нийтийн хэрэглэгч системд орж ирэхэд FTP сервер түүний эрхийг
зөвхөн ftp хэрэглэгчийн гэрийн сан дотор
хязгаарлахын тулд &man.chroot.2;-г дуудна.
FTP харилцагчдад зориулсан мэндчилгээний үгнүүдийг
агуулсан хоёр текст файл байдаг. /etc/ftpwelcome файл
дотор байгааг нэвтрэлт хүлээх мөр гарахаас өмнө хэрэглэгчдэд дэлгэцэн дээр
хэвлэнэ. Амжилттай нэвтэрч орсны дараа /etc/ftpmotd файл
дотор байгааг дэлгэцэн дээр хэвлэнэ. Энэ файлын зам нь
нэвтэрч орсон орчинтой харьцангуйгаар авсан зам гэдгийг
анхаарна уу, тиймээс нийтийн хэрэглэгчдийн хувьд
~ftp/etc/ftpmotd файлыг хэвлэх болно.
FTP серверийн тохиргоог зохих ёсоор хийсний дараа,
/etc/inetd.conf файл дотор идэвхжүүлэх хэрэгтэй.
Үүний тулд, ftpd гэсэн мөрний өмнөх #
тэмдэгтийг арилгахад хангалттай:
ftp stream tcp nowait root /usr/libexec/ftpd ftpd -l
хэсэгт тайлбарласан ёсоор
энэ тохиргооны файлд өөрчлөлт оруулсны дараа
inetd-г дахин ачаалах шаардлагатай.
Одоо та дараах тушаалыг өгөн FTP сервер рүү нэвтрэн орж болно:
&prompt.user; ftp localhost
Арчилгаа
syslog
бүртгэлийн файлууд
FTP
ftpd дэмон бүртгэл хөтлөхдөө &man.syslog.3;-г ашигладаг.
Анхдагч байдлаар, системийн бүртгэлийн дэмон FTP-тэй холбоотой
зурвасуудыг /var/log/xferlog файлд бичнэ. FTP бүртгэлийн файлын
байршлыг өөрчлөхийн тулд /etc/syslog.conf файл дотор, дараах
мөрийг засах хэрэгтэй:
ftp.info /var/log/xferlog
FTP
нийтийн
Нийтийн FTP сервер ажиллуулахад тохиолдох
болзошгүй асуудлуудын талаар мэдлэгтэй байгаарай.
Ялангуяа, нийтийн хэрэглэгчдэд файл байршуулахыг
зөвшөөрөх тухайд сайн бодох хэрэгтэй. Таны FTP сайт
лицензгүй програм хангамжуудыг наймаалцдаг талбар болох, эсвэл түүнээс ч
муу зүйл тохиолдохыг үгүйсгэхгүй. Хэрэв нийтийн FTP байршуулалтыг
зөвшөөрөх шаардлагатай бол, файлуудыг нягталж үзэхээс нааш
бусад нийтийн хэрэглэгчид тэдгээр файлыг унших эрхгүй байхаар
тохируулж өгөх хэрэгтэй.
Мюррей
Стөүкли
Хувь нэмрээ оруулсан
Лодойсамбын
Баянзул
Орчуулсан
µsoft.windows; харилцагчдад зориулсан Файл болон Хэвлэх Үйлчилгээ (Samba)
Samba сервер
Microsoft Windows
файл сервер
Windows харилцагчид
хэвлэх сервер
Windows харилцагчид
Ерөнхий Агуулга
Samba бол µsoft.windows; харилцагчдад
файл болон хэвлэх үйлчилгээг үзүүлдэг, өргөн хэрэглэгддэг
нээлттэй эхийн програм хангамжийн багц юм. Ийм төрлийн харилцагчид
FreeBSD файлын орчинд холбогдож, файлуудыг өөрийн дискэн дээр байгаа юм шиг,
эсвэл FreeBSD хэвлэгчийг өөрийн дотоод хэвлэгч шиг хэрэглэх боломжтой болдог.
Samba програм хангамжийн багцууд таны FreeBSD суулгах
дискэнд орсон байгаа. Хэрэв та анх FreeBSD суулгахдаа
Samba-г хамт суулгаагүй бол, net/samba3
порт эсвэл багцаас суулгаж болно.
Тохиргоо
Samba-н анхдагч тохиргооны файл
/usr/local/share/examples/smb.conf.default гэж суугдсан байдаг. Энэ файлыг /usr/local/etc/smb.conf
нэртэй хуулаад, Samba-г ашиглаж
эхлэхээсээ өмнө өөртөө тааруулан засварлах ёстой.
smb.conf файл нь &windows; харилцагчтай хуваалцах
хүсэлтэй файл системийн хэсэг
ба хэвлэгчийн тодорхойлолт гэх зэрэг
Samba-н ажиллах үеийн тохиргооны мэдээллийг агуулж байдаг.
Samba багц дотор smb.conf файл дээр ажиллах хялбар
арга замыг хангасан swat нэртэй вэб дээр суурилсан
хэрэгсэл хамт ирдэг.
Samba-г Вэбээр Удирдах Хэрэгсэл (SWAT)
Samba Web Administration Tool буюу Samba-г Вэбээр Удирдах Хэрэгсэл (SWAT)
нь inetd-н дэмон хэлбэрээр ажиллана.
Тиймээс, Samba-г swat
ашиглан тохируулахын өмнө /etc/inetd.conf доторх
дараах мөрийг ил гаргах шаардлагатай:
swat stream tcp nowait/400 root /usr/local/sbin/swat swat
хэсэгт тайлбарласан ёсоор,
энэ тохиргооны файлд өөрчлөлт оруулсны дараа
-inetd-г дахин ачаалах шаардлагатай.
+inetd-ийн тохиргоог дахин ачаалах шаардлагатай.
swat-г inetd.conf дотор идэвхжүүлсний
дараа, вэб хөтөч ашиглан хаяганд холбогдоно.
Та эхлээд системийн root дансаар нэвтэрч орох ёстой.
Samba-н тохиргооны үндсэн хуудсанд
амжилттай нэвтэрч орсон бол, системийн баримтуудаар аялах,
эсвэл Globals цэсэн дээр дарж тохиргоог хийх боломжтой болно.
Globals хэсэг /usr/local/etc/smb.conf файлын
[global] хэсэгт байгаа хувьсагчдад харгалзана.
Глобал тохиргоо
swat-г хэрэглэж байгаа эсвэл
/usr/local/etc/smb.conf-г гараараа засаж байгаа аль нь ч бай,
Samba-г тохируулах явцад тааралдах хамгийн эхний
директивууд бол:
workgroup
Энэ нь сервер рүү хандах компьютеруудын NT Домэйн-Нэр эсвэл
Ажлын бүлгийн-Нэр.
netbios name
NetBIOS
Энэ директив Samba серверийн NetBIOS нэрийг заана.
Анхдагч байдлаар, хостын DNS нэрийн эхний хэсэгтэй адил байна.
серверийн мөр
Энэ директив net view тушаалын хариуд
гарч ирэх эсвэл зарим сүлжээний хэрэгслүүд дээр энэ серверийг
төлөөлж гарах мөрийг заана.
Аюулгүй байдлын Тохиргоо
/usr/local/etc/smb.conf доторх
хамгийн чухал хоёр тохиргоо бол аюулгүй байдлын загвар,
болон харилцагчдын нэвтрэх үгийн арын шугамны хэлбэр юм.
Дараах директивүүд эдгээр тохируулгуудыг хянана:
security
Энд хамгийн элбэг хэрэглэгддэг хоёр сонголт бол
security = share ба security = user юм. Хэрэв танай харилцагч нар
&os; машин дээр хэрэглэдэг хэрэглэгчийн нэртэй ижил нэрийг ашигладаг бол,
user түвшний аюулгүй байдлыг сонгохыг хүсэж байж магадгүй. Энэ бол
аюулгүй байдлын анхдагч бодлого бөгөөд эх үүсвэрт хандахаас өмнө харилцагчийг
системд нэвтэрч орохыг шаардана.
share түвшний аюулгүй байдалд, харилцагчид эх үүсвэрт хандахаас өмнө
хүчин төгөлдөр хэрэглэгчийн нэр болон нэвтрэх үгээр сервер рүү нэвтрэн орох
шаардлагагүй байдаг. Энэ бол Samba-н хуучин хувилбаруудын хувьд
аюулгүй байдлын анхдагч загвар байсан.
passdb backend
NIS+
LDAP
SQL өгөгдлийн сан
Samba-д хэд хэдэн төрлийн
арын шугамны магадлах загварууд байдаг. Харилцагчдыг
LDAP, NIS+, SQL өгөгдлийн сан, эсвэл хувиргасан нэвтрэх үгийн файлаар
магадлаж болно. Анхдагч магадлах арга бол smbpasswd бөгөөд
бид зөвхөн энэ талаар авч үзэх болно.
Анхдагч smbpasswd арын шугамыг хэрэглэж байгаа гэж үзвэл,
Samba харилцагчдыг магадлахын тулд
/usr/local/private/smbpasswd файлыг эхлээд үүсгэх ёстой.
Хэрэв &unix; хэрэглэгчийн эрхээр &windows; харилцагчаас ханддаг байх шаардлагатай бол,
дараах тушаалыг хэрэглэнэ:
&prompt.root; smbpasswd -a username
Тохируулгуудын талаар нэмэлт мэдээллийг
Албан ёсны Samba HOWTO-с олж авна уу.
Энд цухас дурдсан үндсэн мэдлэгтэйгээр Samba-г ажиллуулж
эхлэх чадвартай байх ёстой.
Samba-г Эхлүүлэх нь
net/samba3 портод Samba-г
удирдахад зориулсан шинэ эхлэл скрипт орсон байгаа. Энэ
скриптийг идэвхжүүлэхийн тулд, өөрөөр хэлбэл энэ скриптийг ашиглан
Samba-г эхлүүлэх, зогсоох болон дахин эхлүүлдэг болохын тулд,
/etc/rc.conf файл дотор дараах мөрийг нэмж бичих хэрэгтэй:
samba_enable="YES"
Эсвэл илүү нарийнаар доор дурдсан шиг тохируулж болно:
nmbd_enable="YES"
smbd_enable="YES"
Ингэснээр мөн Samba-г систем ачаалах үед автоматаар
эхлүүлдэг болгоно.
Үүний дараа хүссэн үедээ Samba-г эхлүүлэхийн тулд
дараах тушаалыг өгөхөд хангалттай:
&prompt.root; /usr/local/etc/rc.d/samba start
Starting SAMBA: removing stale tdbs :
Starting nmbd.
Starting smbd.
rc скриптийг ашиглах талаар дэлгэрэнгүй мэдээллийг
хэсгээс авна уу.
Samba нь үнэн хэрэгтээ гурван тусдаа дэмоноос
тогтоно. nmbd ба smbd дэмонууд
samba скриптээр эхлүүлдэг болохыг та анзаарах болно.
Хэрэв smb.conf дотор winbind нэр тайлах үйлчилгээг идэвхжүүлсэн бол
winbindd дэмон бас ажиллаж эхэлсэн болохыг харж болно.
Samba-г хүссэн үедээ зогсоохын тулд дараах тушаалыг өгөхөд
хангалттай:
&prompt.root; /usr/local/etc/rc.d/samba stop
Samba бол µsoft.windows; сүлжээтэй өргөн хүрээнд
нэгдмэл ажиллах боломжийг олгодог нарийн төвөгтэй програмын цогц юм.
Энд тайлбарласан үндсэн суулгацаас хальсан функцуудын талаар дэлгэрэнгүй
мэдээллийг хаягаар орж авна уу.
Том
Хөүкинс
Хувь нэмрээ оруулсан
Лодойсамбын
Баянзул
Орчуулсан
NTP-р Цаг Тааруулах нь
NTP
Ерөнхий Агуулга
Цаг хугацаа өнгөрөхөд компьютерийн цаг зөрөх хандлагатай байдаг.
Network Time Protocol буюу Сүлжээний Цагийн Протоколыг(NTP) цагийг зөв байлгах, зөв ажиллуулахад
хэрэглэдэг.
Олон тооны Интернэт үйлчилгээнүүд компьютерийн цагаас хамаарч,
эсвэл хүртэж ажилладаг. Жишээлбэл, вэб сервер тодорхой цагаас хойш
өөрчлөлт орсон файлуудыг илгээх хүсэлт хүлээн авсан байж болох юм. Дотоод сүлжээний
орчинд, нэг файл серверээр үйлчлүүлж байгаа компьютеруудын хувьд
файлын цагийн тамга дүйж байхын тулд тэдгээрийн цагууд хоорондоо
тохирч байх ёстой. &man.cron.8; зэрэг үйлчилгээнүүд тодорхой цагт тушаалыг
гүйцэтгэхийн тулд системийн цагт бүрэн найдаж ажилладаг.
NTP
ntpd
FreeBSD &man.ntpd.8; NTP серверийн хамт ирдэг.
&man.ntpd.8; NTP нь таны машины цагийг тааруулахын тулд
бусад NTP серверүүдээс асуух эсвэл бусдад цагийн
мэдээллийг түгээх үйлчилгээг үзүүлдэг.
Зохимжтой NTP Серверийг Сонгох нь
NTP
серверийг сонгох нь
Цагаа тааруулахын тулд, та нэг болон түүнээс дээш тооны
NTP серверийг хэрэглэх хэрэгтэй болно.
Танай сүлжээний администратор эсвэл ISP үүнд зориулсан
NTP сервертэй байж болох юм—тийм эсэхийг тэдний заавраас шалгана уу.
нийтэд зориулсан NTP серверүүдийн
онлайн жагсаалтыг ашиглан өөртөө ойрхон байгаа NTP серверийг
олно уу. Сонгож авсан серверийнхээ ашиглах журмыг судлаарай.
Мөн хэрэв шаардлагатай бол зөвшөөрөл аваарай.
Таны сонгосон сервер холбогдох боломжгүй,
эсвэл цаг нь бүрэн итгэж болохооргүй үе гарах тул,
хоорондоо хамааралгүй хэд хэдэн NTP серверүүдийг сонгох нь хамгийн зөв
сонголт болдог. &man.ntpd.8; бусад серверээс хүлээн авсан
хариултуудыг маш ухаалгаар хэрэглэдэг—итгэж болох серверүүдийг
илүү авч үздэг.
Өөрийн Машиныг Тохируулах нь
NTP
тохиргоо
Үндсэн Тохиргоо
ntpdate
Хэрэв та машин асахад цагаа тааруулах хүсэлтэй
байгаа бол, &man.ntpdate.8;-г ашиглаж болно. Энэ нь олон дахин тааруулах
шаардлагагүй, ойр ойрхон асааж унтраадаг ширээний компьютерийн
хувьд зохимжтой байж болох юм. Гэхдээ ихэнх машины хувьд
&man.ntpd.8;-г ажиллуулах нь зүйтэй.
Систем ачаалах үед &man.ntpdate.8;-г ашиглах нь
&man.ntpd.8; ажиллаж байгаа машинуудын хувьд зөв санаа юм.
Учир нь &man.ntpd.8; програм нь цагийг алгуур өөрчилдөг байхад,
&man.ntpdate.8; машины одоогийн цаг болон зөв цагын хооронд
хир их ялгаа байгааг үл хайхран цагийг тааруулдаг.
&man.ntpdate.8;-г систем ачаалах үед идэвхжүүлэхийн тулд,
ntpdate_enable="YES" гэсэн мөрийг /etc/rc.conf файлд
нэмэх хэрэгтэй. Мөн цаг авах гэж байгаа бүх серверүүд болон
&man.ntpdate.8;-д өгөх тугуудыг ntpdate_flags-д зааж өгөх хэрэгтэй.
NTP
ntp.conf
Ерөнхий Тохиргоо
NTP-г /etc/ntp.conf файлын тусламжтай,
&man.ntp.conf.5;-д заасан хэлбэрээр тохируулна. Доор хялбар жишээг
үзүүлэв:
server ntplocal.example.com prefer
server timeserver.example.org
server ntp2a.example.net
driftfile /var/db/ntp.drift
server тохируулгаар
ямар серверүүдийг ашиглахыг заана. Нэг мөрөнд нэг серверийг бичнэ.
Хэрэв аль нэг серверийг prefer гэсэн аргументаар
онцолсон бол, ntplocal.example.com шиг, тэр серверийг
бусдаас илүүд үзнэ. Илүүд үзсэн серверээс ирсэн хариу
бусад серверүүдийн хариунаас мэдэгдэхүйцээр
зөрж байгаа үед хариуг тоохгүй өнгөрөөнө. Түүнээс бусад тохиолдолд
бусад серверийн хариуг үл харгалзан тэр серверийн хариуг
хэрэглэх болно. prefer аргументийг ер нь
өндөр нарийвчлалтай, тусгай цаг хянадаг тоног төхөөрөмж дээр тулгуурласан NTP
серверийн хувьд хэрэглэнэ.
driftfile тохируулгаар
ямар файлд системийн цагийн алдах зөрүү утгыг хадгалж байгааг заана.
&man.ntpd.8; програм энэ утгыг ашиглан цагийн алдсан зөрүүг автоматаар нөхнө.
Ингэснээр цагийн бүх гадаад эх үүсвэрүүдтэй холбоо тогтоох боломжгүй болсон
үед, хэсэг хугацааны туршид ч гэсэн цагийг харьцангуй зөв ажиллуулах боломжийг
олгоно.
driftfile тохируулгаар ямар файлд таны зааж өгсөн
NTP серверүүдийн өмнөх хариунуудын тухай мэдээллийг
хадгалж байгааг заана. Энэ файлд NTP-н дотоод үйл ажиллагааны мэдээллийг
хадгалдаг. Энэ мэдээллийг өөр ямар ч процесс өөрчлөх ёсгүй.
Өөрийн Сервер рүү Хандах Хандалтыг Хянах нь
Анхдагч байдлаар, таны NTP сервер рүү Интернэтэд байгаа бүх хост
хандах боломжтой. /etc/ntp.conf файл дотор
restrict тохируулгаар ямар машинууд таны сервер рүү хандаж болохыг
хянаж болно.
Хэрэв та өөрийн NTP сервер рүү хэнийг ч хандуулахыг хүсэхгүй байгаа бол
/etc/ntp.conf файл дотор дараах мөрийг нэмэх хэрэгтэй:
restrict default ignore
Энэ нь таны серверээс өөрийн чинь локал тохиргоонд жагсаагдсан
аль ч сервер үрүү хандах боломжийг бас хаана.
Хэрэв та өөрийн NTP серверийг гадаад NTP сервертэй
синхрончлох хэрэгтэй бол ямар нэг серверийг зөвшөөрөх
ёстой. Дэлгэрэнгүй мэдээллийг &man.ntp.conf.5; гарын авлагаас
үзнэ үү.
Хэрэв та зөвхөн өөрийн сүлжээнд байгаа машинуудыг
таны сервертэй цагаа тааруулахыг зөвшөөрөөд, гэхдээ
таны серверийн тохиргоог өөрчлөх болон тэгш эрхтэй серверүүд шиг
цагийн мэдээллийг хуваахыг зөвшөөрөхгүй бол дээр дурдсаны оронд:
restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap
гэсэн мөрийг бичнэ үү. Энд 192.168.1.0 нь таны сүлжээний
IP хаяг, 255.255.255.0 нь таны сүлжээний баг болно.
/etc/ntp.conf дотор олон тооны restrict
тохируулгууд байж болно. Илүү дэлгэрэнгүй мэдээллийг &man.ntp.conf.5;-н
Хандалтыг Удирдах Дэмжлэг дэд хэсгээс үзнэ үү.
NTP Серверийг Ажиллуулах нь
NTP серверийг систем ачаалах үед эхлүүлэхийн тулд,
ntpd_enable="YES" гэсэн мөрийг /etc/rc.conf файлд нэмж бичих
хэрэгтэй. Хэрэв &man.ntpd.8;-д нэмэлт тугуудыг өгөх хүсэлтэй бол,
/etc/rc.conf файлд байгаа ntpd_flags параметрийг засах хэрэгтэй.
Машиныг дахин ачаалалгүйгээр серверийг эхлүүлэхийн тулд,
ntpd тушаалыг /etc/rc.conf-д заасан
ntpd_flags нэмэлт параметрүүдийн хамтаар өгөх хэрэгтэй. Жишээлбэл:
&prompt.root; ntpd -p /var/run/ntpd.pid
ntpd-г Түр зуурын Интернэт Холболттой үед Хэрэглэх нь
&man.ntpd.8; програм зөв ажиллахын тулд байнгын Интернэт
холболт шаардлагагүй. Гэхдээ, хэрэгцээтэй үедээ гадагшаа залгадаг
тийм төрлийн түр зуурын холболттой бол, NTP трафикийг
гадагшаа залгах болон холболтыг бариад байхаас сэргийлэх нь чухал.
Хэрэв та PPP хэрэглэдэг бол, /etc/ppp/ppp.conf файл дотор байгаа
filter директивийг ашиглаж болно. Жишээ нь:
set filter dial 0 deny udp src eq 123
# Prevent NTP traffic from initiating dial out
set filter dial 1 permit 0 0
set filter alive 0 deny udp src eq 123
# Prevent incoming NTP traffic from keeping the connection open
set filter alive 1 deny udp dst eq 123
# Prevent outgoing NTP traffic from keeping the connection open
set filter alive 2 permit 0/0 0/0
Дэлгэрэнгүй мэдээллийг &man.ppp.8;-н PACKET FILTERING
хэсгээс болон /usr/share/examples/ppp/-д байгаа жишээнүүдээс авч болно.
Зарим Интернэт үйлчилгээ үзүүлэгчид бага дугаартай портуудыг хаасан байдаг бөгөөд
ингэснээр хариу нь таны машинд хэзээ ч хүрэхгүй болж NTP ажиллахгүй болдог.
Цааших Мэдээлэл
NTP серверийн баримтжуулалтыг HTML хэлбэрээр
/usr/share/doc/ntp/-с олж үзэж болно.