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 ea7646ef46..043087b535 100644
--- a/mn_MN.UTF-8/books/handbook/advanced-networking/chapter.sgml
+++ b/mn_MN.UTF-8/books/handbook/advanced-networking/chapter.sgml
@@ -1,5403 +1,5392 @@
Цагаанхүүгийн
Ганболд
Орчуулсан
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:3 100 EPS WPA WME
freebsdap 00:11:95:c3:0d:ac 1 54M 22:1 100 EPS WPA
Та хайлт хийхээсээ өмнө интерфэйсээ болгож
тэмдэглэх ёстой. Дараа дараагийн хайлтын хүсэлтүүд интерфэйсийг
up болгож тэмдэглэхийг шаарддаггүй.
Хайлтын хүсэлтийн гаралт олсон BSS/IBSS сүлжээ бүрийг
харуулдаг. Сүлжээний нэр SSID-с
гадна хандалтын цэгийн MAC хаяг болох BSSID-г
бид харах болно. CAPS талбар нь сүлжээ бүрийн
төрөл болон тэнд ажиллаж байгаа станцуудын боломжуудыг заана:
E
Extended Service Set (ESS) буюу өргөтгөсөн үйлчилгээний олонлог.
Станц нь дэд бүтцийн сүлжээний хэсэг гэдгийг харуулна
(IBSS/ad-hoc сүлжээтэй харьцуулах юм бол ).
I
IBSS/ad-hoc сүлжээ. Станц нь ad-hoc сүлжээний хэсэг гэдгийг
харуулна (ESS сүлжээтэй харьцуулах юм бол).
P
Хувийн нууц. BSS-ийн дотор солилцож байгаа өгөгдлийн бүх
хүрээнүүдэд өгөгдлийн нууц байдал шаардлагатай байдаг. Энэ BSS нь
бусадтай солилцох өгөгдлийн хүрээнүүдийг шифрлэх/буцаах
WEP, TKIP эсвэл AES-CCMP зэрэг криптограф ашиглахыг станцаас
шаарддаг гэсэн үг юм.
S
Богино оршил (preamble). Сүлжээ богино оршлуудыг
(802.11b өндөр хурд/DSSS PHY-д тодорхойлогдсоноор богино
оршил нь урт оршилд ашиглагддаг 128 бит талбартай харьцуулах юм бол
56 бит sync талбарыг хэрэглэдэг) ашиглаж байгааг харуулдаг.
s
Богино слот (ангархай) хугацаа. 802.11g сүлжээ хуучин
(802.11b) станцууд байхгүй байгаа учраас богино слот хугацааг
хэрэглэж байгааг харуулна.
Мэдэгдэж байгаа сүлжээнүүдийн одоогийн жагсаалтыг бас доорх
тушаалаар харуулж болно:
&prompt.root; ifconfig ath0 list scan
Энэ мэдээллийг автоматаар хувиргагчаар (adapter) эсвэл гараар
хүсэлтийн тусламжтай шинэчилж болно.
Хуучин өгөгдөл кэшээс автоматаар арилгагдах болохоор хэсэг хугацаа
өнгөрсний дараа нэмэлт хайлтууд хийхгүй л бол энэ жагсаалт багасаж
болох юм.
Үндсэн тохиргоонууд
Энэ хэсэгт &os; дээр утасгүй сүлжээний хувиргагчийг шифрлэлтгүйгээр
хэрхэн ажиллуулахыг харуулсан энгийн жишээг үзүүлнэ. Эдгээр ойлголтуудыг
мэддэг болсныхоо дараа өөрийнхөө утасгүй сүлжээг тохируулахдаа
WPA-г ашиглахыг
бид тууштай зөвлөж байна.
Утасгүй сүлжээг тохируулах гурван үндсэн алхам байдаг: эдгээрт хандалтыг цэгийг
сонгох, өөрийн станцыг таниулж нэвтрүүлэх, болон IP хаягийг тохируулах
багтана. Дараах хэсэг алхам бүрийг хэлэлцэнэ.
Хандалтын цэгийг сонгох нь
Ихэнх тохиолдолд систем өөртөө бүтээгдсэн гүнзгийрүүлэн шалгах аргаа
(heuristic) ашиглан хандалтын цэгийг сонгохыг нь зөвшөөрөх хангалттай байдаг.
Таныг интерфэйсийг up гэж тэмдэглэх үед энэ нь анхдагч байх бөгөөд хэрэв
үгүй бол интерфэйсийг /etc/rc.conf файлд
жагсаан тохируулна, өөрөөр хэлбэл:
ifconfig_ath0="DHCP"
Хэрэв олон хандалтын цэгүүд байгаа бөгөөд та тухайн нэгийг сонгохыг
хүсвэл түүнийг SSID-аар нь сонгож болно:
ifconfig_ath0="ssid your_ssid_here DHCP"
Адил SSID-тай олон хандалтын цэгүүд байгаа орчинд (роуминг-ийг
(тэнүүчлэх) хялбар болгохын тулд ихэвчлэн хийдэг) аль нэг тухайн
төхөөрөмж уруу холбогдох шаардлагатай болж болох юм. Энэ тохиолдолд
та хандалтын цэгийн BSSID-ийг зааж өгч бас болох юм (та бас SSID-ийг
үлдээж болно):
ifconfig_ath0="ssid your_ssid_here bssid xx:xx:xx:xx:xx:xx DHCP"
Системийн хайлт хийх давтамжуудын олонлогийг хязгаарлах зэрэг хандалтын
цэгийн сонголтыг шаардах өөр аргууд байдаг.Та олон зурвасын
утасгүй сүлжээний карттай байх тохиолдолд энэ нь ашигтай байдаг. Ийм
тохиолдолд бүх боломжит сувгуудыг хайх нь цаг хугацаа шаардсан
ажил байдаг. Ажиллагааг тухайн нэг зурвас дээр хязгаарлахын тулд
параметрийг та ашиглаж болно, өөрөөр
хэлбэл:
ifconfig_ath0="mode 11g ssid your_ssid_here DHCP"
нь картыг 2.4GHz давтамжуудын хувьд тодорхойлогдсон 802.11g горимд
картыг ажиллуулах бөгөөд бусад 5GHz-ийн сувгуудыг авч үзэхгүй байх
болно. Үүнийг хийх өөр нэг арга нь ажиллагааг тухайн нэг давтамжид
түгжих параметр болон
хайлт хийхдээ сувгуудын жагсаалтыг заах
параметрийг ашиглах явдал юм. Эдгээр параметрүүдийн талаар дэлгэрэнгүй
мэдээллийг &man.ifconfig.8; гарын авлагын хуудаснаас лавлана уу.
Нэвтрэлт танилт
Хандалтын цэгийг сонгосны дараа таны станц өгөгдөл дамжуулахаа
өмнө өөрийгөө таниулан нэвтрэх хэрэгтэй. Нэвтрэлт танилт хэд хэдэн
аргаар хийгдэж болно. Ашиглагддаг хамгийн түгээмэл схем бол
нээлттэй нэвтрэлт танилт гэгддэг бөгөөд энэ нь дурын станц сүлжээнд нэгдэж
холбогдохыг зөвшөөрдөг. Энэ нь эхний удаа утасгүй сүлжээг тохируулж байхдаа
тестийн зорилгоор таны ашиглах ёстой нэвтрэлт танилт юм. Бусад
схемүүд нь өгөгдлийн урсгал эхлэхээс өмнө криптограф мэдээлэл
солилцоо хийгдэхийг шаарддаг; урьдчилсан хуваалцсан түлхүүрүүд эсвэл
нууц үгс ашиглах эсвэл RADIUS зэрэг арын үйлчилгээнүүдийг ашигладаг
илүү төвөгтэй схемүүд зэргийг дурдаж болно. Ихэнх хэрэглэгчид
нээлттэй нэвтрэлт танилт ашиглах бөгөөд энэ нь анхдагч тохиргоо
байдаг. Дараагийн хамгийн түгээмэл тохируулга бол WPA-PSK бөгөөд энэ нь
бас WPA Personal гэгддэг. Энэ тохируулга доор тайлбарлагдсан
байгаа.
Хэрэв танд хандалтын цэгт зориулсан &apple; &airport; Extreme дээр
суурилсан үндсэн станц байгаа бол WEP түлхүүртэй хамт хуваалцсан түлхүүрийг
тохируулах хэрэгтэй болж болох юм. Үүнийг /etc/rc.conf
файл эсвэл &man.wpa.supplicant.8; програмыг ашиглан хийж болно.
Хэрэв та ганц &airport; үндсэн станцтай бол хандалтыг иймэрхүүгээр хийж
өгч болно:
ifconfig_ath0="authmode shared wepmode on weptxkey 1 wepkey 01234567 DHCP"
Ерөнхийдээ хуваалцсан түлхүүр бүхий нэвтрэлт танилтыг
ашиглахаас зайлсхийх хэрэгтэй, яагаад гэвэл WEP түлхүүрийн
материалыг их хүчилсэн хэлбэрээр ашигладаг нь түлхүүрийг
эвдэх боломжийг илүү амархан болгодог. Хэрэв WEP ашиглагдах
ёстой бол (өөрөөр хэлбэл хуучин төхөөрөмжтэй нийцтэй байх үүднээс)
WEP-ийг open буюу нээлттэй нэвтрэлт
танилттай цуг ашиглах нь зүйтэй юм. WEP-ийн талаар дэлгэрэнгүй
мэдээллийг -с олж болно.
DHCP-ээр IP хаяг авах
Хандалтын цэгийг сонгож нэвтрэлт танилтын параметрүүдийг тохируулсны
дараа холбогдохын тулд та IP хаяг авах хэрэгтэй болно. Та өөрийн утасгүй
IP хаягийг ихэвчлэн DHCP-ээр авах болно. Ингэхийн тулд ердөө л
/etc/rc.conf файлыг засварлаж
дээрх жишээн дээр үзүүлсэн шиг өөрийн төхөөрөмжийн тохиргоонд зориулж
DHCP гэж нэмж өгнө:
ifconfig_ath0="DHCP"
Энэ хүрэхэд та утасгүй интерфэйсээ ажиллуулахад бэлэн байх болно:
&prompt.root; /etc/rc.d/netif start
Интерфэйс ажиллаж эхэлсний дараа ath0
интерфэйсийн төлөвийг үзэхийн тулд ifconfig
тушаалыг ашиглана:
&prompt.root; ifconfig ath0
ath0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
inet6 fe80::211:95ff:fed5:4362%ath0 prefixlen 64 scopeid 0x1
inet 192.168.1.100 netmask 0xffffff00 broadcast 192.168.1.255
ether 00:11:95:d5:43:62
media: IEEE 802.11 Wireless Ethernet autoselect (OFDM/54Mbps)
status: associated
ssid dlinkap channel 6 bssid 00:13:46:49:41:76
authmode OPEN privacy OFF txpowmax 36 protmode CTS bintval 100
status: associated мөр нь
таныг утасгүй сүлжээнд (бидний тохиолдолд dlinkap
сүлжээ уруу) холбогдсон гэдгийг харуулж байна.
bssid 00:13:46:49:41:76 хэсэг нь
таны хандалтын цэгийн MAC хаяг юм; authmode мөр нь
холболт шифрлэгдээгүй гэдгийг танд харуулж байна
(OPEN).
Статик IP хаяг
DHCP серверээс IP хаяг авч чадахгүй тохиолдолд тогтмол IP хаяг
та тавьж болно. Дээр үзүүлсэн DHCP гэсэн
түлхүүр үгийг хаягийн мэдээллээр солих хэрэгтэй. Хандалтын цэгийг
сонгохдоо хэрэглэсэн бусад параметрүүдийг үлдээхээ мартуузай:
ifconfig_ath0="ssid your_ssid_here inet 192.168.1.100 netmask 255.255.255.0"
WPA
WPA (Wi-Fi Protected Access буюу Wi-Fi Хамгаалагдсан Хандалт) нь
WEP-ийн
сул тал болон зөв нэвтрэлт танилтын дутмаг байдлыг арилгах зорилгоор
802.11 сүлжээнүүдэд цуг ашиглагддаг аюулгүй байдлын протокол
юм. WPA нь 802.1X нэвтрэлт танилтын протоколыг хөшүүрэгддэг бөгөөд өгөгдлийн
бүрэн бүтэн байдалд зориулж WEP-ийн оронд хэд хэдэн шифрүүдийн
нэгийг ашигладаг. WPA-ийн шаарддаг цорын ганц шифр бол TKIP
(Temporary Key Integrity Protocol) бөгөөд энэ нь
бүрэн бүтэн байдал шалгалт, хуурамч үйлдлийг илрүүлэлт болон илрүүлсэн
халдлагуудад хариулахад зориулсан арга хэмжээнүүдийг WEP-ийн ашигладаг
үндсэн RC4 шифрт нэмэн өргөтгөсөн шифр юм. TKIP нь хуучин тоног төхөөрөмж дээр
зөвхөн програм хангамжийн өөрчлөлттэйгөөр ажиллахаар хийгдсэн;
энэ нь аюулгүй байдлыг сайжруулдаг боловч халдлагаас бүрэн гүйцэд
хамгаалж чаддаггүй. WPA нь TKIP-г орлуулж AES-CCMP шифрийг
бас заадаг бөгөөд боломжтой тохиолдолд үүнийг хэрэглэхийг
урьтал болгодог; энэ тодорхойлолтод WPA2 (эсвэл RSN) гэсэн
ухагдахуун нийтлэг ашиглагддаг.
WPA нь нэвтрэлт танилт болон шифрлэлтийн протоколуудыг
тодорхойлдог. Нэвтрэлт танилт нь хоёр техникийн аль нэгээр
ихэвчлэн хийгддэг: 802.1X болон RADIUS зэрэг арын
нэвтрэлт танилтын үйлчилгээгээр эсвэл урьдчилан хуваалцсан нууц үг
ашиглан станц болон хандалтын хооронд хамгийн багаар мэдээлэл солилцох
(handshake) замаар хийгддэг. Эхнийх нь ихэвчлэн WPA Enterprise,
сүүлийнх нь WPA Personal гэгддэг. Ихэнх хүмүүс утасгүй сүлжээнд
зориулж арын RADIUS сервер тохируулдаггүй учир WPA-PSK нь
WPA-д зориулсан хамгийн түгээмэл тохиолддог тохиргоо юм.
Утасгүй холболтын хяналт болон нэвтрэлт танилт (түлхүүрийн
тохиролцоо эсвэл сервертэй хийх нэвтрэлт танилт) нь
&man.wpa.supplicant.8; хэрэгслээр хийгддэг. Энэ програм нь
ажиллахын тулд /etc/wpa_supplicant.conf
тохиргооны файл шаарддаг. Энэ файлын талаар дэлгэрэнгүй
мэдээллийг &man.wpa.supplicant.conf.5; гарын авлагын хуудаснаас
олж болно.
WPA-PSK
WPA-PSK нь бас WPA Personal гэгддэг бөгөөд өгөгдсөн нууц үгээс үүсгэгдсэн
pre-shared key буюу (PSK) урьдчилан хуваалцсан түлхүүр дээр суурилдаг
бөгөөд утасгүй сүлжээнд мастер түлхүүр болон ашиглагддаг. Энэ нь
утасгүй хэрэглэгч бүр адил түлхүүрийг хуваалцана гэсэн үг юм.
WPA-PSK нь нэвтрэлт танилтын сервер хэрэглэх боломжгүй эсвэл шаардлагагүй
жижиг сүлжээнүүдэд зориулагдсан юм.
Хангалттай урт, төрөл бүрийн тэмдэгтүүдээс бүтсэн, таах буюу/эсвэл халдах
боломжгүй хэцүү нууц үгсийг үргэлж ашиглах хэрэгтэй.
Эхний алхам нь /etc/wpa_supplicant.conf
файлыг өөрийн сүлжээний SSID болон урьдчилан хуваалцсан түлхүүрээр
тохируулах явдал юм:
network={
ssid="freebsdap"
psk="freebsdmall"
}
Дараа нь бид /etc/rc.conf файлд
утасгүй төхөөрөмжийн тохиргоо WPA-аар хийгдэж IP хаяг DHCP-ээс
авагдана гэдгийг зааж өгнө:
ifconfig_ath0="WPA DHCP"
Дараа нь бид интерфэйсийг босгож ажиллуулна:
&prompt.root; /etc/rc.d/netif start
Starting wpa_supplicant.
DHCPDISCOVER on ath0 to 255.255.255.255 port 67 interval 5
DHCPDISCOVER on ath0 to 255.255.255.255 port 67 interval 6
DHCPOFFER from 192.168.0.1
DHCPREQUEST on ath0 to 255.255.255.255 port 67
DHCPACK from 192.168.0.1
bound to 192.168.0.254 -- renewal in 300 seconds.
ath0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
inet6 fe80::211:95ff:fed5:4362%ath0 prefixlen 64 scopeid 0x1
inet 192.168.0.254 netmask 0xffffff00 broadcast 192.168.0.255
ether 00:11:95:d5:43:62
media: IEEE 802.11 Wireless Ethernet autoselect (OFDM/36Mbps)
status: associated
ssid freebsdap channel 1 bssid 00:11:95:c3:0d:ac
authmode WPA privacy ON deftxkey UNDEF TKIP 2:128-bit txpowmax 36
protmode CTS roaming MANUAL bintval 100
Эсвэл та үүнийг гараар дээрх
/etc/wpa_supplicant.conf ашиглан
хийж доор дурдсан тушаалыг ажиллуулж болно:
&prompt.root; wpa_supplicant -i ath0 -c /etc/wpa_supplicant.conf
Trying to associate with 00:11:95:c3:0d:ac (SSID='freebsdap' freq=2412 MHz)
Associated with 00:11:95:c3:0d:ac
WPA: Key negotiation completed with 00:11:95:c3:0d:ac [PTK=TKIP GTK=TKIP]
Дараагийн үйлдэл нь DHCP серверээс IP хаяг авахын тулд
dhclient тушаалыг ажиллуулах явдал
юм:
&prompt.root; dhclient ath0
DHCPREQUEST on ath0 to 255.255.255.255 port 67
DHCPACK from 192.168.0.1
bound to 192.168.0.254 -- renewal in 300 seconds.
&prompt.root; ifconfig ath0
ath0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
inet6 fe80::211:95ff:fed5:4362%ath0 prefixlen 64 scopeid 0x1
inet 192.168.0.254 netmask 0xffffff00 broadcast 192.168.0.255
ether 00:11:95:d5:43:62
media: IEEE 802.11 Wireless Ethernet autoselect (OFDM/48Mbps)
status: associated
ssid freebsdap channel 1 bssid 00:11:95:c3:0d:ac
authmode WPA privacy ON deftxkey UNDEF TKIP 2:128-bit txpowmax 36
protmode CTS roaming MANUAL bintval 100
Хэрэв /etc/rc.conf файл нь
ifconfig_ath0="DHCP" мөртэй тохируулагдсан
бол dhclient тушаалыг гараар ажиллуулах
шаардлагагүй, dhclient тушаал нь
түлхүүрүүдийг wpa_supplicant гаргаж
авсны дараа ажиллах болно.
DHCP-ийн хэрэглээ боломжгүй тохиолдолд wpa_supplicant
станцыг таниулж нэвтрүүлсний дараа та статик IP хаяг
тохируулж болно:
&prompt.root; ifconfig ath0 inet 192.168.0.100 netmask 255.255.255.0
&prompt.root; ifconfig ath0
ath0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
inet6 fe80::211:95ff:fed5:4362%ath0 prefixlen 64 scopeid 0x1
inet 192.168.0.100 netmask 0xffffff00 broadcast 192.168.0.255
ether 00:11:95:d5:43:62
media: IEEE 802.11 Wireless Ethernet autoselect (OFDM/36Mbps)
status: associated
ssid freebsdap channel 1 bssid 00:11:95:c3:0d:ac
authmode WPA privacy ON deftxkey UNDEF TKIP 2:128-bit txpowmax 36
protmode CTS roaming MANUAL bintval 100
DHCP сервер ашиглагдаагүй үед та анхдагч гарц болон
нэрийн серверийг гараар бас тохируулах хэрэгтэй болно:
&prompt.root; route add default your_default_router
&prompt.root; echo "nameserver your_DNS_server" >> /etc/resolv.conf
EAP-TLS-тэй WPA
WPA-г ашиглах хоёр дахь арга нь 802.1X арын нэвтрэлт танилтын
сервертэй цуг ашиглах явдал бөгөөд энэ тохиолдолд WPA-г
урьдчилан хуваалцсан түлхүүр бүхий аюулгүй байдлын хувьд арай дутуу WPA-Personal-с
ялгахын тулд WPA-Enterprise гэдэг. WPA-Enterprise дахь
нэвтрэлт танилт нь EAP (Extensible Authentication Protocol
буюу өргөтгөсөн нэвтрэлт танилтын протокол) дээр суурилдаг.
EAP нь шифрлэлтийн аргагүй ирдэг бөгөөд харин шифрлэгдсэн туннелийн
дотор EAP-ийг суулгахаар шийдсэн байдаг. EAP нэвтрэлт танилтын аргуудын
олон төрлүүд бүтээгдсэн бөгөөд хамгийн түгээмэл аргууд нь EAP-TLS, EAP-TTLS
болон EAP-PEAP юм.
EAP-TLS (EAP with Transport Layer Security) нь
Wi-Fi alliance-аас
хамгийн түрүүнд батламжлагдсан EAP арга бөгөөд утасгүй ертөнц дэх
маш сайн дэмжигдсэн нэвтрэлт танилтын протокол юм. EAP-TLS нь
ажиллахын тулд гурван сертификат шаарддаг: эдгээр нь CA сертификат (бүх машин
дээр суулгагдсан), таны нэвтрэлт танилтын серверт зориулсан сертификат,
утасгүй клиент бүрд зориулсан клиентийн сертификат юм. Энэ
EAP арга дээр нэвтрэлт танилтын сервер болон утасгүй клиент нь
өөр өөрсдийн сертификатыг бие биендээ үзүүлж нэг нэгнийгээ
танин нэвтрүүлдэг бөгөөд тэд эдгээр сертификатыг танай байгууллагын
сертификатын удирдлага (CA) олгож баталгаажуулсан болохыг
шалгадаг.
Урьдын адил тохиргоог /etc/wpa_supplicant.conf
файлаар хийнэ:
network={
ssid="freebsdap"
proto=RSN
key_mgmt=WPA-EAP
eap=TLS
identity="loader"
ca_cert="/etc/certs/cacert.pem"
client_cert="/etc/certs/clientcert.pem"
private_key="/etc/certs/clientkey.pem"
private_key_passwd="freebsdmallclient"
}
Энэ талбар нь сүлжээний нэрийг заана
(SSID).
Энд бид RSN (IEEE 802.11i) протоколыг ашиглана, өөрөөр хэлбэл,
WPA2.
key_mgmt мөр нь бидний ашиглах
түлхүүр удирдах протоколыг заана. Бидний тохиолдолд энэ нь EAP
нэвтрэлт танилтыг ашиглаж байгаа WPA юм:
WPA-EAP.
Энэ талбарт бид өөрсдийн холболтдоо зориулж EAP
аргыг заана.
identity талбар нь EAP-ийг таниулах
мөрийг агуулна.
ca_cert талбар нь CA сертификат
файлын замыг заана. Энэ файл нь серверийн сертификатыг шалгахад
хэрэгтэй.
client_cert шугам клиентийн
сертификатын файлын замыг өгнө. Энэ сертификат нь сүлжээний
утасгүй клиент бүрийн хувьд давтагдашгүй байна.
private_key талбар нь
клиентийн сертификатын хувийн түлхүүрийн файлын замын нэр
юм.
private_key_passwd талбар нь
хувийн түлхүүрийн нэвтрэх үгийг агуулдаг.
Тэгээд дараах мөрийг
/etc/rc.conf файлд нэмнэ:
ifconfig_ath0="WPA DHCP"
Дараагийн алхам нь rc.d боломжийн
тусламжтай интерфэйсийг босгож ажиллуулах явдал юм:
&prompt.root; /etc/rc.d/netif start
Starting wpa_supplicant.
DHCPREQUEST on ath0 to 255.255.255.255 port 67
DHCPREQUEST on ath0 to 255.255.255.255 port 67
DHCPACK from 192.168.0.20
bound to 192.168.0.254 -- renewal in 300 seconds.
ath0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
inet6 fe80::211:95ff:fed5:4362%ath0 prefixlen 64 scopeid 0x1
inet 192.168.0.254 netmask 0xffffff00 broadcast 192.168.0.255
ether 00:11:95:d5:43:62
media: IEEE 802.11 Wireless Ethernet autoselect (DS/11Mbps)
status: associated
ssid freebsdap channel 1 bssid 00:11:95:c3:0d:ac
authmode WPA2/802.11i privacy ON deftxkey UNDEF TKIP 2:128-bit
txpowmax 36 protmode CTS roaming MANUAL bintval 100
Урьд нь үзүүлсний адил интерфэйсийг гараар wpa_supplicant болон
ifconfig тушаалуудаар босгох боломжтой
байдаг.
EAP-TTLS-тэй WPA
EAP-TLS-тэй байхад нэвтрэлт танилтын сервер болон клиентэд
сертификат хэрэгтэй бол EAP-TTLS-тэй (EAP-Tunneled
Transport Layer Security) байхад клиентийн сертификат
нэмэлт сонголт байдаг. Энэ арга нь зорчигчид клиент талдаа
сертификатгүй байсан ч гэсэн нууцлаг SSL туннель үүсгэж чаддаг
зарим нэг аюулгүй вэб сайтуудын хийдэгтэй ойролцоо байдаг.
EAP-TTLS нь нэвтрэлт танилтын өгөгдлийг аюулгүй тээвэрлэхэд
зориулж шифрлэгдсэн TLS туннелийг ашиглах болно.
Тохиргоог /etc/wpa_supplicant.conf
файлаар хийнэ:
network={
ssid="freebsdap"
proto=RSN
key_mgmt=WPA-EAP
eap=TTLS
identity="test"
password="test"
ca_cert="/etc/certs/cacert.pem"
phase2="auth=MD5"
}
Энэ талбарт бид өөрийн холболтондоо зориулж
EAP аргыг дурдана.
identity талбар нь шифрлэгдсэн TLS
туннель доторх EAP нэвтрэлт танилтад зориулсан таниулах мөрийг
агуулна.
password талбар нь EAP нэвтрэлт
танилтад зориулсан нэвтрэх үгийг агуулна.
ca_cert талбар нь CA сертификатын
файлын замын нэрийг заана. Энэ файл нь серверийн сертификатыг
шалгахад хэрэгтэй байдаг.
Энэ талбарт бид шифрлэгдсэн TLS туннельд ашиглагдсан
нэвтрэлт танилтын аргыг заана. Бидний тохиолдолд MD5-Challenge-тай
цуг EAP ашиглагдаж байна. inner authentication
дотоод нэвтрэлт танилт үе нь ихэвчлэн phase2
буюу хоёрдугаар
үе гэгддэг.
Дараах мөрийг та /etc/rc.conf файлд
бас нэмэх хэрэгтэй:
ifconfig_ath0="WPA DHCP"
Дараагийн алхам бол интерфэйсийг босгож ажиллуулах явдал юм:
&prompt.root; /etc/rc.d/netif start
Starting wpa_supplicant.
DHCPREQUEST on ath0 to 255.255.255.255 port 67
DHCPREQUEST on ath0 to 255.255.255.255 port 67
DHCPREQUEST on ath0 to 255.255.255.255 port 67
DHCPACK from 192.168.0.20
bound to 192.168.0.254 -- renewal in 300 seconds.
ath0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
inet6 fe80::211:95ff:fed5:4362%ath0 prefixlen 64 scopeid 0x1
inet 192.168.0.254 netmask 0xffffff00 broadcast 192.168.0.255
ether 00:11:95:d5:43:62
media: IEEE 802.11 Wireless Ethernet autoselect (DS/11Mbps)
status: associated
ssid freebsdap channel 1 bssid 00:11:95:c3:0d:ac
authmode WPA2/802.11i privacy ON deftxkey UNDEF TKIP 2:128-bit
txpowmax 36 protmode CTS roaming MANUAL bintval 100
EAP-PEAP-тэй WPA
PEAP (Protected EAP) нь EAP-TTLS-ийн өөр нэг хувилбар хэлбэрээр
байхаар хийгдсэн юм. Хоёр төрлийн PEAP арга байдаг бөгөөд хамгийн
түгээмэл нь PEAPv0/EAP-MSCHAPv2 юм. Энэ баримтын үлдсэн хэсэгт
PEAP ухагдахууныг тэр EAP аргыг хэлэхдээ хэрэглэх болно. PEAP нь
EAP-TLS-ийн дараа ордог хамгийн их ашиглагддаг EAP стандарт юм,
өөрөөр хэлбэл хэрэв та төрөл бүрийн OS-үүд холилдсон сүлжээтэй бол
PEAP нь EAP-TLS-ийн дараа орох хамгийн ихээр дэмжигдсэн стандарт
байх юм.
PEAP нь EAP-TLS-тэй төстэй байдаг: энэ нь клиент болон
нэвтрэлт танилтын серверийн хооронд нэвтрэлт танилтын
мэдээллийн солилцоог хамгаалах шифрлэгдсэн туннель үүсгэн
клиентүүдийг танин нэвтрүүлэхийн тулд сервер талын сертификатыг
ашигладаг. Аюулгүй байдлын ухагдахуун дахь EAP-TTLS болон PEAP-ийн
хоорондох ялгаа нь PEAP нэвтрэлт танилт хэрэглэгчийн нэрийг
цэвэр текст хэлбэрээр, зөвхөн нууц үгийг шифрлэгдсэн TLS туннелээр
цацдаг явдал юм. EAP-TTLS нь хэрэглэгчийн нэр болон нууц үгт
зориулж TLS туннелийг ашиглах болно.
Бид /etc/wpa_supplicant.conf файлыг
засварлаж EAP-PEAP-тэй холбоотой тохируулгуудыг нэмэх хэрэгтэй болно:
network={
ssid="freebsdap"
proto=RSN
key_mgmt=WPA-EAP
eap=PEAP
identity="test"
password="test"
ca_cert="/etc/certs/cacert.pem"
phase1="peaplabel=0"
phase2="auth=MSCHAPV2"
}
Энэ талбарт бид өөрийн холболтондоо зориулж EAP аргыг
ашиглахаа дурдана.
identity талбар нь шифрлэгдсэн TLS
туннель доторх EAP нэвтрэлт танилтад зориулсан таниулах мөрийг
агуулна.
password талбар нь EAP нэвтрэлт
танилтад зориулсан нэвтрэх үгийг агуулна.
ca_cert талбар нь CA сертификатын
файлын замын нэрийг заана. Энэ файл нь серверийн сертификатыг
шалгахад хэрэгтэй байдаг.
Энэ талбар нь нэвтрэлт танилтын (TLS туннель) эхний үед
зориулсан параметрүүдийг агуулна. Ашигласан нэвтрэлт танилтын
серверээс хамаараад нэвтрэлт танилтад зориулж тусгай хаяг/шошгыг
зааж өгөх хэрэгтэй болно. Ихэнх тохиолдолд хаяг/шошго нь
клиентийн EAP шифрлэлт
байх бөгөөд үүнийг
peaplabel=0 гэж тохируулна.
Илүү мэдээллийг &man.wpa.supplicant.conf.5;
гарын авлагын хуудаснаас олж болно.
Энэ талбарт бид шифрлэгдсэн TLS туннельд ашиглагдсан
нэвтрэлт танилтын аргыг заана. PEAP-ийн хувьд энэ нь
auth=MSCHAPV2 байна.
Доор дурдсаныг /etc/rc.conf файлд
нэмэх ёстой:
ifconfig_ath0="WPA DHCP"
Дараа нь бид интерфэйсийг босгож ажиллуулж болно:
&prompt.root; /etc/rc.d/netif start
Starting wpa_supplicant.
DHCPREQUEST on ath0 to 255.255.255.255 port 67
DHCPREQUEST on ath0 to 255.255.255.255 port 67
DHCPREQUEST on ath0 to 255.255.255.255 port 67
DHCPACK from 192.168.0.20
bound to 192.168.0.254 -- renewal in 300 seconds.
ath0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
inet6 fe80::211:95ff:fed5:4362%ath0 prefixlen 64 scopeid 0x1
inet 192.168.0.254 netmask 0xffffff00 broadcast 192.168.0.255
ether 00:11:95:d5:43:62
media: IEEE 802.11 Wireless Ethernet autoselect (DS/11Mbps)
status: associated
ssid freebsdap channel 1 bssid 00:11:95:c3:0d:ac
authmode WPA2/802.11i privacy ON deftxkey UNDEF TKIP 2:128-bit
txpowmax 36 protmode CTS roaming MANUAL bintval 100
WEP
WEP (Wired Equivalent Privacy) нь анхдагч 802.11 стандартын
хэсэг юм. Үүнд ямар ч нэвтрэлт танилтын арга байхгүй, энэ нь хандалт
хяналтын зөвхөн сул хэлбэр бөгөөд хялбар эвдэх боломжтой байдаг.
WEP-ийг ifconfig тушаалаар
тохируулж болно:
&prompt.root; ifconfig ath0 ssid my_net wepmode on weptxkey 3 wepkey 3:0x3456789012 \
inet 192.168.1.100 netmask 255.255.255.0
weptxkey нь дамжуулалтад
ямар WEP түлхүүр ашиглахыг хэлж байна. Энд бид гурав дахь
түлхүүрийг ашиглаж байна. Энэ нь хандалтын цэг дэх тохиргоотой
таарах ёстой.
wepkey нь сонгогдсон WEP түлхүүрийг
тохируулахыг хэлнэ. Энэ нь index:key
хэлбэрийн байх ёстой бөгөөд индекс өгөгдөөгүй бол түлхүүр
1 тохируулагдана. Энэ нь хэрэв бид
эхний түлхүүрээс өөр түлхүүрүүдийг ашиглах бол индексийг тохируулах
хэрэгтэй гэсэн үг юм.
Та 0x3456789012-г
хандалтын цэг дээр ашиглахаар тохируулсан түлхүүрээр
солих ёстой.
Цаашхи мэдээллийг &man.ifconfig.8; гарын авлагын
хуудаснаас унших нь зүйтэй юм.
wpa_supplicant хэрэгслийг өөрийн утасгүй
интерфэйсийг WEP-тэй тохируулахын тулд бас ашиглаж болно.
Дараах мөрийг /etc/wpa_supplicant.conf
файлд нэмж дээрх жишээг тохируулж болно:
network={
ssid="my_net"
key_mgmt=NONE
wep_key3=3456789012
wep_tx_keyidx=3
}
Дараа нь:
&prompt.root; wpa_supplicant -i ath0 -c /etc/wpa_supplicant.conf
Trying to associate with 00:13:46:49:41:76 (SSID='dlinkap' freq=2437 MHz)
Associated with 00:13:46:49:41:76
Ad-hoc горим
IBSS горим буюу бас ad-hoc гэгддэг горим нь цэгээс цэгт холбогдох холболтуудад
зориулагдан хийгдсэн. Жишээ нь A машин болон B
машины хооронд ad-hoc сүлжээ үүсгэхийн тулд бид ердөө л хоёр IP хаяг болон SSID
сонгох хэрэгтэй болно.
A машин дээр:
&prompt.root; ifconfig ath0 ssid freebsdap mediaopt adhoc inet 192.168.0.1 netmask 255.255.255.0
&prompt.root; ifconfig ath0
ath0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
inet 192.168.0.1 netmask 0xffffff00 broadcast 192.168.0.255
inet6 fe80::211:95ff:fec3:dac%ath0 prefixlen 64 scopeid 0x4
ether 00:11:95:c3:0d:ac
media: IEEE 802.11 Wireless Ethernet autoselect <adhoc> (autoselect <adhoc>)
status: associated
ssid freebsdap channel 2 bssid 02:11:95:c3:0d:ac
authmode OPEN privacy OFF txpowmax 36 protmode CTS bintval 100
adhoc параметр нь интерфэйс IBSS горимд ажиллаж
байгааг харуулж байна.
B машин дээр бид A машиныг
илрүүлж чадах ёстой:
&prompt.root; ifconfig ath0 up scan
SSID BSSID CHAN RATE S:N INT CAPS
freebsdap 02:11:95:c3:0d:ac 2 54M 19:3 100 IS
Гаралт дээрх I нь A
машин ad-hoc горимд байгааг батална. Бид одоо B-г
өөр IP хаягтайгаар тохируулах хэрэгтэй:
&prompt.root; ifconfig ath0 ssid freebsdap mediaopt adhoc inet 192.168.0.2 netmask 255.255.255.0
&prompt.root; ifconfig ath0
ath0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
inet6 fe80::211:95ff:fed5:4362%ath0 prefixlen 64 scopeid 0x1
inet 192.168.0.2 netmask 0xffffff00 broadcast 192.168.0.255
ether 00:11:95:d5:43:62
media: IEEE 802.11 Wireless Ethernet autoselect <adhoc> (autoselect <adhoc>)
status: associated
ssid freebsdap channel 2 bssid 02:11:95:c3:0d:ac
authmode OPEN privacy OFF txpowmax 36 protmode CTS bintval 100
A болон B нь одоо
мэдээлэл солилцоход бэлэн боллоо.
&os; хандах цэг болж ажиллах
&os; нь Access Point (AP) буюу хандах цэг болж ажилласнаар
нэмэлт хандах цэг болсон төхөөрөмж худалдаж авах эсвэл цэгээс цэгийн хооронд холбогдож ажилладаг сүлжээ байгуулах зэрэг нэмэлт үйлдлүүдийг хэмнэж болдог. Хэрэв таны &os; машин сүлжээнээс сүлжээний хооронд дамжуулдаг гүүр болж (жишээ нь интернэтэд холбож) ажиллах шаардлагатай үед илүү тохирдог.
Үндсэн тохиргоо
&os; машинаа хандах цэг болж ажилладгаар тохируулахаасаа өмнө цөмөө сүлжээнийхээ картанд тохируулж тохируулсан байх ёстой. Та мөн хэрэглэх нууцлалын дамжуулах протокол буюу бүртгэлээ нэмэх хэрэгтэй. Нэмэлт мэдээллийг хэсгээс харна уу.
NDIS хэмээгч драйвер орлуулагч болон Виндоусын драйверуудыг ашигласан тохиолдолд хандах цэг болгож ашиглах боломж одоогоор байхгүй. Зөвхөн &os;-н үндсэн утасгүй холболтын драйвер л хандах цэг болох горимыг дэмжиж байгаа.
Утасгүй холболтын сүлжээ дэмжигдэх ажилладаг болж ирэнгүүт нь утасгүй сүлжээний төхөөрөмж тань тухайн машин дээрээ хандах цэг болж ажиллах чадвартайг шалгаж болдог (заримдаа hostap горим гэж нэрлэдэг):
&prompt.root; ifconfig ath0 list caps
ath0=783ed0f<WEP,TKIP,AES,AES_CCM,IBSS,HOSTAP,AHDEMO,TXPMGT,SHSLOT,SHPREAMBLE,MONITOR,TKIPMIC,WPA1,WPA2,BURST,WME>
Дээрх тушаалын гаралтаас HOSTAP гэдэг үг нь тухай утасгүй сүлжээний карт нь хандах цэг болж ажиллах чадвартай гэдгийг баталж өгч байна. Мөн төрөл бүрийн нууцлалын боломжууд нь WEP, TKIP, WPA2, гэх мэтээр дурдагддаг бөгөөд эдгээр нь хандах цэгийн дамжуулалтаа нууцлахад нь хэрэглэгдэх чухал хэрэгтэй мэдээлэл болж өгдөг.
Одоо утасгүй сүлжээний төхөөрөмж нь hostap горимд шилжиж өөрийн гэсэн SSID дугаар болон IP хаягаа аваад ажиллах боломжтой болно:
&prompt.root; ifconfig ath0 ssid freebsdap mode 11g mediaopt hostap inet 192.168.0.1 netmask 255.255.255.0
Дахин ifconfig тушаалаар ath0 төхөөрөмжийн төлөв байдлыг шалгая:
&prompt.root; ifconfig ath0
ath0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
inet 192.168.0.1 netmask 0xffffff00 broadcast 192.168.0.255
inet6 fe80::211:95ff:fec3:dac%ath0 prefixlen 64 scopeid 0x4
ether 00:11:95:c3:0d:ac
media: IEEE 802.11 Wireless Ethernet autoselect mode 11g <hostap>
status: associated
ssid freebsdap channel 1 bssid 00:11:95:c3:0d:ac
authmode OPEN privacy OFF txpowmax 38 bmiss 7 protmode CTS burst dtimperiod 1 bintval 100
hostap үг нь уг төхөөрөмжийг тухайн машин дээр хандах цэг болж ажиллаж байгааг нь илэрхийлж байна.
Тухайн төхөөрөмжийн ийм тохируулгыг машин асах үед нь хийгдэхээр тохируулъя гэж бодсон тохиолдолд /etc/rc.conf файлд дараах мөрийг оруулж өгөх хэрэгтэй:
ifconfig_ath0="ssid freebsdap mode 11g mediaopt hostap inet 192.168.0.1 netmask 255.255.255.0"
Тухайн машин дээр хандах цэг нь нэвтрэх үйлдэл болон нууцлах үйлчилгээ ашиглахгүй ажиллах
Хэдийгээр хандах цэгийг нэвтрэх үйлдэл болон холболтын нууцлал ашиглахгүйгээр ажиллуулах нь тийм сайшаалтай биш боловч хандах цэгийн ажиллагааг шалгахын тулд ингэж тохируулж ажиллуулах шаардлага гардаг. Энэ тохируулга нь мөн хэрэглэгчтэй холбогдолтой хүндрэлүүдийг шийдэхэд бас хэрэглэгдэж болно.
Өмнө харуулснаар тохируулагдсан хандах цэгийг өөр утасгүй сүлжээтэй ажиллаж буй машинаас хайлт хийж олж болдог:
&prompt.root; ifconfig ath0 up scan
SSID BSSID CHAN RATE S:N INT CAPS
freebsdap 00:11:95:c3:0d:ac 1 54M 22:1 100 ES
Хэрэглэгч машинаас хандах цэгийг ингэж олоод түүнтэй дараах маягаар холбогдож болно:
&prompt.root; ifconfig ath0 ssid freebsdap inet 192.168.0.2 netmask 255.255.255.0
&prompt.root; ifconfig ath0
ath0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
inet6 fe80::211:95ff:fed5:4362%ath0 prefixlen 64 scopeid 0x1
inet 192.168.0.2 netmask 0xffffff00 broadcast 192.168.0.255
ether 00:11:95:d5:43:62
media: IEEE 802.11 Wireless Ethernet autoselect (OFDM/54Mbps)
status: associated
ssid freebsdap channel 1 bssid 00:11:95:c3:0d:ac
authmode OPEN privacy OFF txpowmax 36 protmode CTS bintval 100
WPA нууцлалтай хандах цэг болсон машин
Энэ хэсэгт хандах цэг болж ажиллаж буй &os; машиныг WPA нууцлалын бүртгэл хэрэглэх тухай өгүүлэх болно. WPA нууцлалтай холбогдолтой болон WPA дээр суурилсан хэрэглэгчийн тохиргооны талаар дэлгэрэнгүй мэдээллийг хэсгээс хараарай.
hostapd нэртэй далд чөтгөр нь WPA-г ашиглаж буй хандах цэг дээр хэрэглэгчийг нэвтрүүлэх болон түлхүүр үг солилцох үйлдлүүдэд зориулагдсан байдаг.
Дараах жишээн дээр бүх тохиргооны үйлдлүүд нь хандах цэг болж ажиллаж буй &os; машин дээр гүйцэтгэгдэх болно. Хандах цэг зөв ажиллаж эхэлсэн үед hostapd далд чөтгөрийг автоматаар машиныг ачаалагдах үед зөвшөөрөхийн тулд /etc/rc.conf файлд дараах мөрийг нэмж өгөх хэрэгтэй:
hostapd_enable="YES"
hostapd далд чөтгөрийг тохируулахаасаа өмнө хэсэгт заасан ерөнхий тохиргоог хийсэн эсэхээ магадлаарай.
WPA-PSK
WPA-PSK нь хэрэглэгчид нэвтрэх үйлдэл хийдэг сервер шаардлагагүй юм уу эсвэл боломжгүй болсон бага зэргийг сүлжээнд
зориулагдсан билээ.
Тохиргоо нь /etc/hostapd.conf файлд хийгддэг:
interface=ath0
debug=1
ctrl_interface=/var/run/hostapd
ctrl_interface_group=wheel
ssid=freebsdap
wpa=1
wpa_passphrase=freebsdmall
wpa_key_mgmt=WPA-PSK
wpa_pairwise=CCMP TKIP
Энэ талбар нь хандах цэг болж ажиллаж буй утасгүй сүлжээний төхөөрөмжийг заадаг.
hostapd-н гүйцэтгэж байгаа явцыг харуулалтын түвшинг заадаг талбар. 1 гэсэн утга нь хамгийн бага түвшинг зааж байгаа билээ.
ctrl_interface гэсэн талбар нь hostapd-д хэрэглэгддэг &man.hostapd.cli.8; төрлийн гадны програмуудтай холбогдоход хэрэглэгддэг домэйн сокет файлуудыг хадгалах сангийн байрлалыг зааж өгдөг. Энд анхдагч утга нь хэрэглэгдсэн байна.
ctrl_interface_group гэсэн мөрөнд хяналт хийдэг төхөөрөмж рүү хандаж болох бүлгийн нэр (энд wheel бүлгийг оруулсан) байна.
Энэ талбарт сүлжээний нэрийг оруулдаг.
wpa талбар нь WPA нууцлалыг зөвшөөрдөг бөгөөд ямар бүртгэл шаардлагатайг нь тодорхойлж өгнө. 1 гэсэн утга нь хандах цэгийг WPA-PSK нууцлалаар тохируулдаг.
wpa_passphrase талбарт ASCII тэмдэгтээр бичигдсэн WPA нэвтрэх үйлдлийн нууц үг агуулагддаг.
Болж өгвөл урт олон үсэгнээс бүтсэн таахад хялбар биш чангавтар нууц үг сонгох хэрэгтэй.
wpa_key_mgmt мөр нь хэрэглэж буй түлхүүр үгний зориулалтанд хамаатай. Манай тохиолдолд энэ нь WPA-PSK байна.
wpa_pairwise талбар нь хандах цэгт тохиромжтой нууц хувиргалтуудыг харуулдаг. Энд TKIP (WPA) ба CCMP (WPA2) хувиргагчид хоёулаа хүлээн зөвшөөрөгдөнө. CCMP хувиргагч нь TKIP-н бас нэг хувилбар бөгөөд боломжтой бол үүнийг илүүд үзэх хэрэгтэй. TKIP хувиргагчийг CCMP хувиргагч хэрэглэх боломжгүй үед л сонгох нь зүйтэй.
Дараагийн алхам нь hostapd-г эхлүүлэх:
&prompt.root /etc/rc.d/hostapd forcestart
&prompt.root; ifconfig ath0
ath0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 2290
inet 192.168.0.1 netmask 0xffffff00 broadcast 192.168.0.255
inet6 fe80::211:95ff:fec3:dac%ath0 prefixlen 64 scopeid 0x4
ether 00:11:95:c3:0d:ac
media: IEEE 802.11 Wireless Ethernet autoselect mode 11g <hostap>
status: associated
ssid freebsdap channel 1 bssid 00:11:95:c3:0d:ac
authmode WPA2/802.11i privacy MIXED deftxkey 2 TKIP 2:128-bit txpowmax 36 protmode CTS dtimperiod 1 bintval 100
Хандах цэг одоо ажиллагаанд орсон бөгөөд хэрэглэгчийн зүгээс холбогдох тухай дэлгэрэнгүй мэдээллийг хэсгээс харна уу. Хандах цэгт холбогдсон төхөөрөмжүүдийг ifconfig ath0 list
sta гэсэн тушаалаар харж болно.
WEP нууцлал хэрэглэж хандах цэг болсон машин
Ямар ч нэвтрэх үйлдэл хэрэглэдэггүй учраас амархан дайралтад өртдөгийн улмаас WEP нууцлалын хувиргуурыг хэрэглэх нь тийм сайшаалтай биш. Зарим худалдаанд хэрэглэгдэж буй утасгүй сүлжээний картууд нь зөвхөн WEP нууцлалын бүртгэл хэрэглэдэг ба ийм картуудыг хандах цэг болгож хэрэглэхээр бол хэрэглэгчийн таних үйлдэл хийхээр тохируулах боломж байхгүй байх болно.
Утасгүй сүлжээний төхөөрөмж тэгэхээр одоо hostap горимд ажиллаж болох бөгөөд шаардлагатай зөв SSID дугаар болон IP хаягаа авах шаардлагатай:
&prompt.root; ifconfig ath0 ssid freebsdap wepmode on weptxkey 3 wepkey 3:0x3456789012 mode 11g mediaopt hostap \
inet 192.168.0.1 netmask 255.255.255.0
weptxkey гэдэг нь дамжуулалтад WEP нууцлал хэрэглэхийг зааж өгч байна. Энд бид гуравдугаар түлхүүрийг (түлхүүрийн дугаар нь 1 гэсэн тоогоор эхэлдэг) хэрэглэсэн байна. Энэ сонголт нь дамжуулагдах өгөгдлийг хувиргахад хэрэглэгддэг.
wepkey гэдэг нь WEP түлхүүрийг сонгосныг зааж байна. Энэ нь index:key гэсэн хэлбэртэй байдаг ба хэрэв эхний дугаарлалт нь заагдаагүй бол түлхүүр нь 1 гэж суугддаг. Тэгэхээр хэрэв эхний түлхүүрээс өөр түлхүүр хэрэглэх шаардлагатай бол эхний дугаарлалтыг нь зааж өгөх шаардлагатай гэсэн үг.
Ингээд дахин ifconfig тушаалыг ашиглаж ath0 төхөөрөмжийн төлөв байдлыг шалгаж болно:
&prompt.root; ifconfig ath0
ath0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
inet 192.168.0.1 netmask 0xffffff00 broadcast 192.168.0.255
inet6 fe80::211:95ff:fec3:dac%ath0 prefixlen 64 scopeid 0x4
ether 00:11:95:c3:0d:ac
media: IEEE 802.11 Wireless Ethernet autoselect mode 11g <hostap>
status: associated
ssid freebsdap channel 1 bssid 00:11:95:c3:0d:ac
authmode OPEN privacy ON deftxkey 3 wepkey 3:40-bit txpowmax 36 protmode CTS dtimperiod 1 bintval 100
Өөр утасгүй холбогддог машинаас хандах цэгийг хайж шалгаж болдог:
&prompt.root; ifconfig ath0 up scan
SSID BSSID CHAN RATE S:N INT CAPS
freebsdap 00:11:95:c3:0d:ac 1 54M 22:1 100 EPS
Хэрэглэгчийн машинаас хандах цэгийг олоод зөв тохиргоог нь зааж өгөн (дугаар түлхүүр гэх мэт) холбогдох тухай дэлгэрэнгүй зааврыг хэсгээс харна уу.
Алдааг олж засварлах
Хэрэв та утасгүй сүлжээндээ асуудалтай байгаа бол асуудлыг олж
засварлахад туслах хэд хэдэн алхмууд байдаг.
Хайлт хийж байхдаа та хандалтын цэгийг олж харахгүй байгаа бол
та өөрийн утасгүй төхөөрөмжөө тодорхой хэдэн сувгууд дээр
хязгаарлаж тохируулаагүй эсэхээ шалгаарай.
Хэрэв та хандалтын цэгт холбогдож чадахгүй байгаа бол таны станцын
тохиргоо хандалтын цэгийн аль нэгтэй тохирч байгаа эсэхийг шалгаарай.
Үүнд нэвтрэлт танилтын схем болон аюулгүй байдлын протоколууд
хамаарна. Өөрийн тохиргоогоо аль болох хялбаршуулах хэрэгтэй.
Хэрэв та WPA эсвэл WEP зэрэг аюулгүй байдлын протоколыг
ашиглаж байгаа бол хандалтын цэгийг нээлттэй нэвтрэлт танилтад зориулж
ямар нэгэн аюулгүй байдлын хамгаалалтгүй тохируулж урсгал
дамжиж байгаа эсэхийг үзэх хэрэгтэй.
Хандалтын цэгт холбогдсоныхоо дараа &man.ping.8; зэрэг
хялбар хэрэгслүүдийг ашиглаад ямар ч аюулгүй байдлын тохиргоог
оношилж болно.
wpa_supplicant нь илүү дибаг хийх
дэмжлэгтэй байдаг; үүнийг сонголттой
гараар ажиллуулж системийн бүртгэлүүдийг шалгах хэрэгтэй.
Мөн олон доод түвшний дибаг хийх хэрэгслүүд бас байдаг. Та
802.11 протоколын дэмжлэг давхаргад дибаг мэдэгдлүүдийг
/usr/src/tools/tools/net80211 дахь
wlandebug програмыг ашиглан идэвхжүүлж
болно. Жишээ нь:
&prompt.root; wlandebug -i ath0 +scan+auth+debug+assoc
net.wlan.0.debug: 0 => 0xc80000<assoc,auth,scan>
тушаал нь хандалтын цэгүүдийг хайх болон холбоог зохион байгуулах
802.11 протоколын мэдээлэл солилцоонуудыг хийхтэй холбоотой
консолын мэдэгдлүүдийг идэвхжүүлэхэд ашиглагдаж болох юм.
802.11 давхаргын арчилж байдаг олон ашигтай статистикууд бас
байдаг; эдгээр мэдээллүүдийг wlanstats
хэрэгсэл харуулах болно. Эдгээр статистикууд нь 802.11 давхаргаар
танигдсан бүх алдаануудыг таних ёстой. Гэхдээ 802.11 давхаргаас доош
орших төхөөрөмжийн драйверууд дээр танигдсан зарим алдаанууд нь
харуулагдахгүй байж болохыг санаарай. Төхөөрөмжтэй холбоотой
асуудлуудыг оношлохын тулд та драйверийн баримтаас лавлах хэрэгтэй юм.
Хэрэв дээрх мэдээлэл асуудлыг тодруулахад тань туслахгүй байгаа бол
дээрх хэрэгслүүдээс гарсан гаралтыг оруулж асуудлынхаа тайланг илгээгээрэй.
Пав
Лукистник
Бичсэн
pav@FreeBSD.org
Bluetooth
Bluetooth
Танилцуулга
Bluetooth нь 10 метрийн дотор 2.4 GHz давтамжийн лицензжүүлээгүй
зурваст ажиллах хувийн сүлжээнүүд үүсгэхэд зориулагдсан утасгүй технологи юм.
Сүлжээнүүд нь үүрэн утас, гарын цахим жижиг хэрэгслүүд, болон зөөврийн
компьютерууд зэрэг зөөврийн төхөөрөмжүүдээс ad-hoc ихэвчлэн бүрдүүлдэг.
Бусад түгээмэл утасгүй технологиудаас ялгаатай тал нь Wi-Fi, Bluetooth нь
илүү өндөр түвшний үйлчилгээний хувийн тохиргоонуудыг санал болгодог, өөрөөр
хэлбэл FTP-тэй адил файлын серверүүд, файл түлхэх, дуу дамжуулалт,
цуваа шугамын эмуляц зэрэг олныг дурдаж болно.
&os; дэх Bluetooth стек нь Netgraph тогтолцоог ашиглан хийгдсэн
байдаг (&man.netgraph.4;-г үзнэ үү). Олон төрлийн Bluetooth USB хамгаалах
төхөөрөмжүүд (dongle) &man.ng.ubt.4; драйвераар дэмжигдсэн байдаг.
Broadcom BCM2033 бичил схем дээр суурилсан Bluetooth төхөөрөмжүүд нь
&man.ubtbcmfw.4; болон &man.ng.ubt.4; драйверуудаар дэмжигдсэн байдаг.
3Com Bluetooth PC Карт 3CRWB60-A нь &man.ng.bt3c.4; драйвераар
дэмжигдсэн байдаг. Цуваа болон UART дээр суурилсан Bluetooth төхөөрөмжүүд нь
&man.sio.4;, &man.ng.h4.4; болон &man.hcseriald.8; драйверуудаар
дэмжигдсэн. Энэ хэсэг нь USB Bluetooth dongle-ийн хэрэглээг тайлбарлах
болно.
Төхөөрөмжид залгах нь
Анхдагчаар Bluetooth төхөөрөмжийн драйверууд нь цөмийн модуль хэлбэрээр
байдаг. Төхөөрөмжийг залгахаасаа өмнө та драйверийг цөмд дуудаж ачаалах хэрэгтэй
болно:
&prompt.root; kldload ng_ubt
Хэрэв Bluetooth төхөөрөмж системийг эхлүүлэх явцад системд байх юм бол
/boot/loader.conf файлаас модулийг дуудна:
ng_ubt_load="YES"
Өөрийн USB dongle-ийг залга. Консол (эсвэл syslog) дээр доор дурдсантай төстэй
гаралт гарч ирэх болно:
ubt0: vendor 0x0a12 product 0x0001, rev 1.10/5.25, addr 2
ubt0: Interface 0 endpoints: interrupt=0x81, bulk-in=0x82, bulk-out=0x2
ubt0: Interface 1 (alt.config 5) endpoints: isoc-in=0x83, isoc-out=0x3,
wMaxPacketSize=49, nframes=6, buffer size=294
-
- 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 хаягийн бүсийг дэд сүлжээ
болгон хуваалгүйгээр хуваарилж болно.
Хаягийн хязгаарууд
Интерфэйсийн цаана байгаа давтагдашгүй эх MAC хаягуудын
тоо хязгаартай байдаг. Тэр хязгаарт хүрэх үед мэдэгдэхгүй эх
хаягтай пакетууд нь тухайн үед байгаа хостын кэш оруулгын
хугацаа дуусах юм уу эсвэл устгагдах хүртэл хаягдсаар байх болно.
Доор дурдсан жишээ нь vlan100 дээр
байгаа CustomerA-д зориулж
Ethernet төхөөрөмжүүдийн хамгийн их тоог 10 болгон тохируулж
байна.
&prompt.root; ifconfig bridge0 ifmaxaddr vlan100 10
SNMP монитор хийх
Гүүр интерфэйс болон STP параметрүүдийг &os;-ийн
үндсэн системд орсон байдаг SNMP демоны тусламжтайгаар
монитор хийж болно. Экспорт хийгдсэн гүүрний MIB-үүд нь
IETF-ийн стандартуудыг хангаж байдаг. Тийм болохоор дурын
SNMP клиент эсвэл монитор хийдэг багцыг өгөгдлийг хүлээн авахад
хэрэглэж болно.
Гүүр машин дээр /etc/snmp.config
файлд begemotSnmpdModulePath."bridge" =
"/usr/lib/snmp_bridge.so" мөрийг тайлбар болгосныг
болиулж bsnmpd дэмоныг
эхлүүлэх хэрэгтэй. Community буюу нийгмийн нэрс болон
хандалтын жагсаалтууд зэрэг бусад тохиргоонуудыг өөрчлөх
шаардлагатай байж болно. Дэлгэрэнгүй мэдээллийг
&man.bsnmpd.1; болон &man.snmp.bridge.3;-с үзнэ үү.
Доор дурдсан жишээнүүд нь гүүрэнд хүсэлт илгээхийн тулд
Net-SNMP програм хангамжийг (net-mgmt/net-snmp) ашиглаж байгаа
бөгөөд net-mgmt/bsnmptools портыг бас
ашиглаж болно. Гүүрний MIB тодорхойлолтуудыг
Net-SNMP руу оруулж ирэхийн тулд
SNMP клиент хост дээрээ $HOME/.snmp/snmp.conf файлд
доор дурдсан мөрүүдийг нэмэх хэрэгтэй:
mibdirs +/usr/share/snmp/mibs
mibs +BRIDGE-MIB:RSTP-MIB:BEGEMOT-MIB:BEGEMOT-BRIDGE-MIB
Ганц гүүрийг IETF BRIDGE-MIB
(RFC4188)-ээр монитор хийхийн тулд доор дурдсаныг хийнэ
&prompt.user; snmpwalk -v 2c -c public bridge1.example.com mib-2.dot1dBridge
BRIDGE-MIB::dot1dBaseBridgeAddress.0 = STRING: 66:fb:9b:6e:5c:44
BRIDGE-MIB::dot1dBaseNumPorts.0 = INTEGER: 1 ports
BRIDGE-MIB::dot1dStpTimeSinceTopologyChange.0 = Timeticks: (189959) 0:31:39.59 centi-seconds
BRIDGE-MIB::dot1dStpTopChanges.0 = Counter32: 2
BRIDGE-MIB::dot1dStpDesignatedRoot.0 = Hex-STRING: 80 00 00 01 02 4B D4 50
...
BRIDGE-MIB::dot1dStpPortState.3 = INTEGER: forwarding(5)
BRIDGE-MIB::dot1dStpPortEnable.3 = INTEGER: enabled(1)
BRIDGE-MIB::dot1dStpPortPathCost.3 = INTEGER: 200000
BRIDGE-MIB::dot1dStpPortDesignatedRoot.3 = Hex-STRING: 80 00 00 01 02 4B D4 50
BRIDGE-MIB::dot1dStpPortDesignatedCost.3 = INTEGER: 0
BRIDGE-MIB::dot1dStpPortDesignatedBridge.3 = Hex-STRING: 80 00 00 01 02 4B D4 50
BRIDGE-MIB::dot1dStpPortDesignatedPort.3 = Hex-STRING: 03 80
BRIDGE-MIB::dot1dStpPortForwardTransitions.3 = Counter32: 1
RSTP-MIB::dot1dStpVersion.0 = INTEGER: rstp(2)
dot1dStpTopChanges.0-ийн утга хоёр бөгөөд
энэ нь STP гүүрний бүтэц хоёр удаа өөрчлөгдсөн гэдгийг харуулж
байна. Бүтцийн өөрчлөлт гэдэг нь сүлжээн дэх нэг буюу олон холбоосууд
өөрчлөгдсөн юм уу эсвэл амжилтгүй болсон бөгөөд шинэ мод тооцоологдсон
гэсэн үг юм. dot1dStpTimeSinceTopologyChange.0-ийн
утга ийм зүйл хэзээ болсныг харуулах болно.
Олон гүүрний интерфэйсийг монитор хийхийн тулд
хувийн BEGEMOT-BRIDGE-MIB-г ашиглаж болно:
&prompt.user; snmpwalk -v 2c -c public bridge1.example.com
enterprises.fokus.begemot.begemotBridge
BEGEMOT-BRIDGE-MIB::begemotBridgeBaseName."bridge0" = STRING: bridge0
BEGEMOT-BRIDGE-MIB::begemotBridgeBaseName."bridge2" = STRING: bridge2
BEGEMOT-BRIDGE-MIB::begemotBridgeBaseAddress."bridge0" = STRING: e:ce:3b:5a:9e:13
BEGEMOT-BRIDGE-MIB::begemotBridgeBaseAddress."bridge2" = STRING: 12:5e:4d:74:d:fc
BEGEMOT-BRIDGE-MIB::begemotBridgeBaseNumPorts."bridge0" = INTEGER: 1
BEGEMOT-BRIDGE-MIB::begemotBridgeBaseNumPorts."bridge2" = INTEGER: 1
...
BEGEMOT-BRIDGE-MIB::begemotBridgeStpTimeSinceTopologyChange."bridge0" = Timeticks: (116927) 0:19:29.27 centi-seconds
BEGEMOT-BRIDGE-MIB::begemotBridgeStpTimeSinceTopologyChange."bridge2" = Timeticks: (82773) 0:13:47.73 centi-seconds
BEGEMOT-BRIDGE-MIB::begemotBridgeStpTopChanges."bridge0" = Counter32: 1
BEGEMOT-BRIDGE-MIB::begemotBridgeStpTopChanges."bridge2" = Counter32: 1
BEGEMOT-BRIDGE-MIB::begemotBridgeStpDesignatedRoot."bridge0" = Hex-STRING: 80 00 00 40 95 30 5E 31
BEGEMOT-BRIDGE-MIB::begemotBridgeStpDesignatedRoot."bridge2" = Hex-STRING: 80 00 00 50 8B B8 C6 A9
mib-2.dot1dBridge дэд модоор
монитор хийгдэж байгаа гүүрний интерфэйсийг солихын
тулд доор дурдсаныг хийнэ:
&prompt.user; snmpset -v 2c -c private bridge1.example.com
BEGEMOT-BRIDGE-MIB::begemotBridgeDefaultBridgeIf.0 s bridge2
Эндрю
Томпсон
Бичсэн
Холбоос нэгтгэлт ба ослыг тойрон гарах (Link Aggregation and Failover)
lagg
failover
fec
lacp
loadbalance
roundrobin
Танилцуулга
&man.lagg.4; интерфэйс нь fault-tolerance буюу
алдаанд тэсвэртэй байдал болон өндөр хурдны холбоосуудыг
хангах зорилгоор сүлжээний олон интерфэйсүүдийг нэг виртуал интерфэйс
болгон нэгтгэх боломжийг олгодог.
Ажиллагааны горимууд
failover
Зөвхөн мастер портоор урсгалыг илгээж хүлээн авна. Хэрэв
мастер порт байхгүй болвол дараагийн идэвхтэй порт ашиглагдана.
Эхний нэмэгдсэн интерфэйс нь мастер порт болох бөгөөд үүний дараа
нэмэгдсэнүүд нь ослыг тойрон гарах төхөөрөмжүүд болон ашиглагдах
болно.
fec
Сискогийн EtherChannel-ийг дэмждэг. Энэ нь статик тохируулга
бөгөөд нөгөө талтайгаа нэгтгэлт хийхэд тохиролцдоггүй эсвэл
холбоосыг монитор хийхийн тулд хүрээнүүд солилцдоггүй. Хэрэв шилжүүлэгч
LACP-г дэмждэг бол түүнийг ашиглах ёстой.
Хэш хийгдсэн протоколын толгойн мэдээлэл дээр үндэслэн
идэвхтэй портуудаар гарч байгаа урсгалыг тэнцвэржүүлж дурын идэвхтэй
портоос ирж байгаа урсгалыг хүлээн авна. Хэш нь Ethernet эхлэл болон
очих хаяг ба хэрэв байгаа бол VLAN хаяг болон IPv4/IPv6 эхлэл болон
очих хаягийг багтаадаг.
lacp
IEEE 802.3ad Link Aggregation Control Protocol
(LACP) буюу Холбоос Нэгтгэлт Хянах Протокол болон Marker буюу
Тэмдэглэгээний Протоколыг дэмждэг. LACP нь нэгтгэж болох холбоосуудыг
нөгөө талтай нь нэг буюу хэд хэдэн Link Aggregated
Group буюу Холбоос Нэгтгэгдсэн бүлгүүд болгон
тохиролцуулдаг. LAG бүр нь адил хурдтай, гүйцэд дуплекс
ажиллагаанд тохируулсан портуудаас тогтоно. Урсгал нь
LAG дахь портуудын дагуу хамгийн их нийт хурдаар тэнцвэржүүлэгдэх
бөгөөд ихэнх тохиолдолд бүх портуудыг агуулсан зөвхөн нэг LAG байх
болно. Физик холболт өөрчлөгдөхөд Холбоос Нэгтгэлт шинэ тохиргоо
уруу хурдан шилжих болно.
Хэш хийгдсэн протоколын толгойн мэдээлэл дээр үндэслэн
идэвхтэй портуудаар гарч байгаа урсгалыг тэнцвэржүүлж дурын идэвхтэй
портоос ирж байгаа урсгалыг хүлээн авна. Хэш нь Ethernet эхлэл болон
очих хаяг ба хэрэв байгаа бол VLAN хаяг болон IPv4/IPv6 эхлэл болон
очих хаягийг багтаадаг.
loadbalance
Энэ нь fec горимын хуулбар юм.
roundrobin
Тойрон эргэх хуваарилалтыг ашиглан гарч байгаа урсгалыг
бүх идэвхтэй портуудаар тарааж дурын идэвхтэй портоос ирж
байгаа урсгалыг хүлээн авна. Энэ горим нь Ethernet хүрээний
дарааллыг зөрчих бөгөөд болгоомжтой ашиглах шаардлагатай байдаг.
Жишээнүүд
Сиско шилжүүлэгчтэй LACP нэгтгэлт
Энэ жишээ нь &os; машины хоёр интерфэйсийг шилжүүлэгч рүү
ачаалал тэнцвэржүүлсэн, алдаанд тэсвэртэй ганц холбоосоор холбож
байна. Дамжуулах чанар болон алдаанд тэсвэртэй байдлыг сайжруулах
зорилгоор илүү олон интерфэйсүүдийг нэмж болно. Ethernet холбоосууд
дээр хүрээний дараалал чухал байдаг учраас хоёр станцын хоорондох
ямар ч урсгал аль нэг интерфэйсийн хамгийн их хурдаар хязгаарлагдан
тэр физик холбоосоор үргэлж урсаж байдаг. Дамжуулах алгоритм нь
өөр өөр урсгалуудыг ялгаж, байгаа интерфэйсүүдээр тэдгээрийг
тэнцвэржүүлэхийн тулд аль болох их мэдээллийг ашиглахыг оролддог.
Сиско шилжүүлэгч дээр сувгийн бүлэгт интерфэйсүүдийг нэмнэ.
interface FastEthernet0/1
channel-group 1 mode active
channel-protocol lacp
!
interface FastEthernet0/2
channel-group 1 mode active
channel-protocol lacp
!
&os; машин дээр lagg интерфэйсийг үүсгэнэ.
&prompt.root; ifconfig lagg0 create
&prompt.root; ifconfig lagg0 up laggproto lacp laggport fxp0 laggport fxp1
ifconfig-аас гарах интерфэйсийн төлвийг үзэх хэрэгтэй.
ACTIVE гэж тэмдэглэгдсэн портууд нь
алсын шилжүүлэгчтэй тохиролцсон, идэвхтэй нэгтгэлтийн бүлгийн хэсэг бөгөөд
урсгал нь дамжуулагдаж хүлээн авагдах болно. LAG таних тэмдгүүдийг
үзэхийн тулд &man.ifconfig.8;-ийн дэлгэрэнгүй гаралтыг ашиглаарай.
lagg0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=8<VLAN_MTU>
ether 00:05:5d:71:8d:b8
media: Ethernet autoselect
status: active
laggproto lacp
laggport: fxp1 flags=1c<ACTIVE,COLLECTING,DISTRIBUTING>
laggport: fxp0 flags=1c<ACTIVE,COLLECTING,DISTRIBUTING>
Шилжүүлэгч нь аль портууд идэвхтэйг харуулах болно. Дэлгэрэнгүй
мэдээллийг үзэхийн тулд show lacp neighbor detail
тушаалыг ашиглах хэрэгтэй.
switch# show lacp neighbor
Flags: S - Device is requesting Slow LACPDUs
F - Device is requesting Fast LACPDUs
A - Device is in Active mode P - Device is in Passive mode
Channel group 1 neighbors
Partner's information:
LACP port Oper Port Port
Port Flags Priority Dev ID Age Key Number State
Fa0/1 SA 32768 0005.5d71.8db8 29s 0x146 0x3 0x3D
Fa0/2 SA 32768 0005.5d71.8db8 29s 0x146 0x4 0x3D
Failover горим
Failover буюу ослыг тойрон гарах горимыг мастер дээр
холбоос тасарсан тохиолдолд өөр интерфэйс уруу шилжихэд
ашиглаж болно.
&prompt.root; ifconfig lagg0 create
&prompt.root; ifconfig lagg0 up laggproto failover laggport fxp0 laggport fxp1
lagg0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=8<VLAN_MTU>
ether 00:05:5d:71:8d:b8
media: Ethernet autoselect
status: active
laggproto failover
laggport: fxp1 flags=0<>
laggport: fxp0 flags=5<MASTER,ACTIVE>
Урсгал fxp0 дээр хүлээн
авагдаж дамжих болно. Хэрэв холбоос fxp0 дээр
тасарсан бол fxp1 нь идэвхтэй холбоос
болно. Хэрэв холбоос нь мастер интерфэйс дээр сэргээгдсэн бол энэ нь
эргээд идэвхтэй холбоос болно.
Жан-Франсуа
Докье
Шинэчилсэн
Алекс
Дюпре
Дахин зохион байгуулж өргөтгөсөн
Дискгүй ажиллагаа
дискгүй ажлын станц
дискгүй ажиллагаа
FreeBSD машин сүлжээгээр ачаалан локал дискгүйгээр NFS
сервер дээр холбогдсон файлын системүүд ашиглаад ажиллаж чаддаг. Стандарт тохиргооны
файлуудаас өөр системийн өөрчлөлт шаардлагагүй. Ийм системийг харьцангуй хялбараар
тохируулж болдог. Учир нь шаардлагатай бүх элементүүд бэлэн байдаг:
Цөмийг сүлжээгээр ачаалах хоёр боломжит арга хамгийн багаар бодоход
байдаг:
PXE: &intel;-ийн Preboot eXecution
Environment буюу ачаалалт хийгдэхээс өмнөх ажиллуулах орчны систем нь
зарим сүлжээний картууд эсвэл эх хавтангуудад цуг бүтээгдсэн байдаг
ухаалаг ачаалах ROM-ийн нэг хэлбэр юм. Илүү дэлгэрэнгүйг
&man.pxeboot.8;-с үзнэ үү.
Etherboot
порт (net/etherboot) нь
цөмийг сүлжээгээр ачаалах ROM хийгдэх боломжтой код үүсгэдэг.
Код нь сүлжээний картан дээр ачаалах ROM уруу шарагдсан байх юм уу эсвэл
локал уян (эсвэл хатуу) дискний хөтчөөс эсвэл ажиллаж байгаа &ms-dos;
системээс дуудагдахаар байдаг. Олон сүлжээний карт дэмжигдсэн
байгаа.
Жишээ скрипт (/usr/share/examples/diskless/clone_root)
нь сервер дээр ажлын станцын root файлын системийг үүсгэх болон түүний ажиллагааг хангах
үйлдлийг хөнгөвчилдөг. Скрипт нь магадгүй жижиг өөрчлөлтийг шаардаж болох боловч
энэ нь таныг хурдан эхлүүлэх болно.
Дискгүй системийн эхлүүлэлтийг илрүүлж дэмжих стандарт системийн эхлүүлэгч
файлууд /etc санд байдаг.
swap хийх хэрэв шаардлагатай бол NFS файл эсвэл
локал диск уруу хийж болох юм.
Дискгүй ажлын станцуудыг тохируулах олон арга байдаг. Олон элементүүд үүнд
хамрагддаг бөгөөд өөрийн сонирхлоор ихэнхийг нь өөрчилж болно. Дараах нь
бүрэн системийг тохируулах талаар хувилбаруудыг тайлбарлах болно. Ингэхдээ
стандарт FreeBSD эхлүүлэх скриптүүдтэй хялбар, нийцтэй байхыг чухалчлах
болно. Тайлбарласан систем нь дараах шинжүүдтэй байна:
Дискгүй ажлын станцууд нь хуваалцсан, зөвхөн уншигдах
/ файлын систем болон хуваалцсан, зөвхөн уншигдах
/usr-г ашигладаг.
root файлын систем нь зөвхөн дискгүй ажиллагаатай холбоотой эсвэл
тэдгээрийн харьяалагдах ажлын станцтай холбоотой зарим тохиргооны
файлууд нь өөрчлөгдсөн стандарт FreeBSD root-ийн (ихэвчлэн серверийн)
хуулбар юм.
Бичигдэх боломжтой байх root-ийн хэсэг нь &man.md.4; файлын
системээр дээр тавигддаг (overlaid). Систем дахин ачаалахад хийгдсэн
өөрчлөлтүүд алга болох болно.
Цөм дамжуулагдаж Etherboot эсвэл
PXE-ийн аль нэгээр дуудагддаг бөгөөд зарим тохиолдолд
зөвхөн аль нэг аргыг ашиглахыг шаардаж болох юм.
Тайлбарласны дагуу энэ систем нь аюултай юм. Энэ нь сүлжээний
хамгаалагдсан талбарт байх ёстой бөгөөд бусад хостуудаас хандахааргүй
байх ёстой.
Энэ хэсгийн бүх мэдээллийг &os; 5.2.1-RELEASE ашиглан тест хийсэн болно.
Үндсэн мэдээлэл
Дискгүй ажлын станцуудыг тохируулах нь харьцангуй амархан боловч алдаанд
өртөх хандлагатай байдаг. Хэд хэдэн шалтгаанаас болоод эдгээрийг заримдаа
оношлох төвөгтэй байдаг. Жишээ нь:
Эмхэтгэлтийн үеийн тохируулгууд нь ажиллах үед өөрөөр ажиллахыг
тодорхойлж болох юм.
Алдааны мэдэгдлүүд нь ихэвчлэн нуугдмал эсвэл бүр байхгүй ч
байж болно.
Энд гарч болзошгүй асуудлуудыг шийдэхэд үндсэн арга замуудын зарим нэг
мэдлэгийг ашиглах нь маш ашигтай байдаг.
Амжилттайгаар эхлүүлэхийн тулд хэд хэдэн үйлдлүүдийг хийх хэрэгтэй:
Машин өөрийн IP хаяг, ажиллах файлын нэр, серверийн нэр, root зам
зэрэг эхний параметрүүдийг авах хэрэгтэй. Үүнийг DHCP эсвэл
BOOTP протоколуудыг ашиглан хийдэг. DHCP нь
BOOTP-ийн нийцтэй өргөтгөл бөгөөд адил портын дугаарууд болон үндсэн
пакетийн хэлбэршүүлэлтийг ашигладаг.
Зөвхөн BOOTP ашиглахаар системийг тохируулах боломжтой.
&man.bootpd.8; серверийн програм нь үндсэн &os; системд орсон
байдаг.
Гэхдээ DHCP нь BOOTP-ээс хэд хэдэн давуу
талтай байдаг (илүү сайхан тохиргооны файлууд, PXE
ашиглах боломж, дискгүй ажиллагаатай шууд холбоогүй бусад олон давуу талууд)
бөгөөд бид голчлон DHCP тохиргоог боломжтой бол
&man.bootpd.8; ашиглан таарах жишээнүүдтэй нь хамт тайлбарлах болно.
Жишээ тохиргоо нь ISC DHCP програм
хангамжийн багцыг (тест сервер дээр 3.0.1.r12 хувилбар суулгагдсан)
ашиглах болно.
Машин нь нэг буюу хэд хэдэн програмуудыг локал санах ой уруугаа дамжуулах
хэрэгтэй болно. TFTP юм уу эсвэл NFS
ашиглагдана. TFTP болон NFS-ийн
сонголтыг хэд хэдэн газар эмхэтгэх үеийн тохируулгаар хийдэг. Алдааны түгээмэл
эх үүсвэр нь буруу протоколд зориулж файлын нэрүүдийг заах явдал юм:
TFTP нь сервер дээрх ганц сангаас бүх файлуудыг
ихэвчлэн дамжуулдаг бөгөөд энэ сантай харьцангуй файлын нэрсийг хүлээдэг.
NFS-д файлын туйлын (абсолют) замууд хэрэгтэй
байдаг.
Боломжит дундын эхлүүлэх програмууд болон цөм нь эхлэн тохируулагдаж ажиллах
шаардлагатай. Энд хэд хэдэн чухал хувилбарууд байдаг:
PXE нь &os;-ийн гурав дахь шатны дуудагчийн
өөрчлөгдсөн хувилбар болох &man.pxeboot.8;-ийг ачаална. &man.pxeboot.8; нь
системийг эхлүүлэхэд шаардлагатай ихэнх параметрүүдийг авч хяналтыг дамжуулахаасаа
өмнө тэдгээрийг цөмийн орчинд үлдээх болно. Энэ тохиолдолд
GENERIC цөмийг ашиглах боломжтой.
Etherboot нь бага бэлтгэлтэйгээр
цөмийг шууд ачаалах болно. Та цөмийг тусгай тохируулгуудтай бүтээх
хэрэгтэй болно.
PXE болон Etherboot
нь адилхан ажиллана; гэхдээ цөмүүд нь &man.loader.8;-ийн тэдэнд зориулж
илүү ажил хийх боломжийг олгодог болохоор PXE нь
зохимжтой арга юм.
Хэрэв таны BIOS болон сүлжээний картууд нь
PXE-г дэмждэг бол та үүнийг ашиглах
хэрэгтэй байж болох юм.
Эцэст нь машин өөрийн файлын системүүдэд хандах хэрэгтэй болно.
NFS нь бүх тохиолдолд хэрэглэгдэнэ.
&man.diskless.8; гарын авлагын хуудсыг бас үзнэ үү.
Тохируулах зааврууд
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 үйлчилгээ үзүүлдэг эсэхийг мэдэхийн тулд
өөрийн Интернэтийн үйлчилгээ үзүүлэгчид хандах хэрэгтэй.
SixXS нь
дэлхий даяар эцсийн хэрэглэгчдийн хооронд туннелийн
үйлчилгээ үзүүлдэг.
6-аас-4 уруу туннель хийх (RFC3068)
Хэрэв та dial-up холболт дээр байгаа бол
net/freenet6 портыг ашиглах
хэрэгтэй.
IPv6 ертөнц дэх DNS
IPv6-д зориулсан хоёр төрлийн DNS бичлэг байдаг. IETF нь A6 бичлэгийг
хуучин, хэрэгцээнээс гарсан гэж зарласан. AAAA бичлэгүүд нь одоо стандарт
болсон байгаа.
AAAA бичлэгүүдийг ашиглах нь амархан. Өөрийн хостын нэрийг дөнгөж авсан шинэ
IPv6 хаягт зааж доор дурдсаныг:
MYHOSTNAME AAAA MYIPv6ADDR
өөрийн анхдагч бүсийн DNS файл уруу нэмж өгнө. Та өөрийн DNS
бүсүүдийг удирддаггүй бол өөрийн DNS үйлчилгээ үзүүлэгчээс
асуух хэрэгтэй. bind (8.3 ба 9 хувилбар)
болон dns/djbdns-ийн (IPv6 засвартай)
одоогийн хувилбарууд AAAA бичлэгүүдийг дэмждэг.
/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-уудын
тусламжтайгаар тааруулж болно:
OID
Тайлбар
net.inet.carp.allow
Ирж байгаа CARP пакетуудыг хүлээж авах.
Анхдагчаар идэвхжсэн байдаг.
net.inet.carp.preempt
Энэ тохируулга нь хост дээрх бүх CARP
интерфэйсүүдийг аль нэг нь зогссон тохиолдолд зогсоодог.
Анхдагчаар идэвхжээгүй байдаг.
net.inet.carp.log
0 гэсэн утга нь бүртгэлийг идэвхжүүлдэггүй.
1 гэсэн утга нь муу CARP
пакетуудын бүртгэлийг идэвхжүүлдэг. 1-ээс
их утгууд нь CARP интерфэйсүүдийн хувьд
төлвийн өөрчлөлтүүдийн бүртгэлийг идэвхжүүлдэг. Анхдагч
утга нь 1 байна.
net.inet.carp.arpbalance
ARP ашиглан дотоод сүлжээний
урсгалыг тэнцвэржүүлнэ. Анхдагчаар идэвхжээгүй байдаг.
net.inet.carp.suppress_preempt
Preemption буюу өөр илүү өндөр давуу эрх бүхий бодлого/урсгалаар
солигдох боломжийг хаасан хориглолтын төлвийг үзүүлэх
зөвхөн уншигдах OID. Хэрэв интерфэйс дээрх
холбоос босоогүй бол илүү өндөр давуу эрх бүхий бодлого/урсгалаар
солигдох боломжийг хааж болно. 0 утга нь
илүү өндөр давуу эрх бүхий бодлого/урсгалаар солигдох боломж
хаагдаагүй гэсэн утгатай. Асуудал бүр энэ OID-ийг
нэгээр ахиулж нэмэгдүүлнэ.
CARP төхөөрөмжүүдийг ifconfig
тушаалаар үүсгэж болно:
&prompt.root; ifconfig carp0 create
Жинхэнэ амьдрал дээр эдгээр интерфэйсүүдэд VHID гэгддэг
давхардахгүй дугаарууд хэрэгтэй болно. Энэ VHID буюу
Виртуал Хостын Үнэмлэх нь сүлжээн дэх хостыг ялгахад хэрэглэгдэх болно.
Серверт хандах боломжийг байнга хангахын тулд CARP-ийг ашиглах нь (CARP)
Дээр дурдсан CARP-ийн нэг хэрэглээ нь серверийн
бэлэн байдалд зориулагджээ. Энэ жишээ нь өөр өөр IP
хаягуудтай, ижил вэбийн агуулга бүхий гурван хостын хувьд байнгын
бэлэн байдалд байх дэмжлэгийг харуулах болно. Эдгээр машинууд нь
Тойрон Эргэх DNS тохиргоотойгоор ажиллах болно.
Амжилтгүй болсон үед хандах нөөц машин нь хоёр нэмэлт CARP
интерфэйстэй байх бөгөөд агуулгын сервер бүрийн IP-ний
хувьд ашиглагдана. Хандалт амжилтгүй болоход амжилтгүй болсон машины
IP хаягийг нөөц сервер авах ёстой. Энэ нь
хэрэглэгчид амжилтгүй болсон нь мэдэгдэхгүй гэсэн үг юм. Нөөц сервер нь ачааллыг
авах ёстой бол бусад агуулгын серверүүдтэй ижил агуулга болон үйлчилгээнүүдтэй
байх ёстой.
Хоёр машин нь өгөгдсөн хостын нэр болон VHID-үүдээс
бусдаараа адилхан тохируулагдсан байх ёстой. Энэ жишээн дээр
эдгээр машинуудыг hosta.example.org болон
hostb.example.org гэж нэрлэсэн байгаа. Эхлээд
CARP-ийн тохиргоонд шаардлагатай мөрүүдийг
rc.conf файлд нэмэх хэрэгтэй.
hosta.example.org хостын хувьд
rc.conf файл доор дурдсан мөрүүдийг агуулсан байх ёстой:
hostname="hosta.example.org"
ifconfig_fxp0="inet 192.168.1.3 netmask 255.255.255.0"
cloned_interfaces="carp0"
ifconfig_carp0="vhid 1 pass testpass 192.168.1.50/24"
hostb.example.org дээр доор дурдсан мөрүүдийг
rc.conf файл агуулсан
байх ёстой:
hostname="hostb.example.org"
ifconfig_fxp0="inet 192.168.1.4 netmask 255.255.255.0"
cloned_interfaces="carp0"
ifconfig_carp0="vhid 2 pass testpass 192.168.1.51/24"
Хамгийн чухал нь ifconfig тушаалд тохируулгаар
заагдсан нууц үгс нь адил байх ёстой. carp
төхөөрөмжүүд нь зөвхөн зөв нууц үг бүхий машинуудаас ирэх зарлалтуудыг сонсох
болно. VHID нь машин бүрийн хувьд өөр өөр байх ёстой.
Гурав дахь provider.example.org машиныг
аль нэг хост руу хандахад амжилтгүй болоход хандаж болохоор болгож бэлдэх хэрэгтэй.
Энэ машинд хоёр carp төхөөрөмж хэрэгтэй болох
бөгөөд нэг нэгээрээ хоёр хосттой ажиллах юм. rc.conf-ийн
зөв тохиргооны мөрүүд доор дурдсантай төсөөтэй байх болно:
hostname="provider.example.org"
ifconfig_fxp0="inet 192.168.1.5 netmask 255.255.255.0"
cloned_interfaces="carp0 carp1"
ifconfig_carp0="vhid 1 advskew 100 pass testpass 192.168.1.50/24"
ifconfig_carp1="vhid 2 advskew 100 pass testpass 192.168.1.51/24"
Хоёр carp төхөөрөмжтэй байх нь
хариу өгөхөө байсан аль нэг машиныг мэдэж IP хаягийг нь
авах боломжийг provider.example.org хостод олгох болно.
Анхдагч &os; цөм дээр preemption буюу өөр илүү өндөр давуу эрх бүхий бодлого/урсгалаар
солигдох боломж идэвхжсэн байж болох юм.
Хэрэв тийм бол provider.example.org нь
IP хаягийг анхдагч агуулгын сервер рүү суллахгүй
байж болох юм. Энэ тохиолдолд администратор мастер уруу буцааж
IP-г хүчилж болох юм. Дараах тушаалыг provider.example.org
дээр ажиллуулах шаардлагатай:
&prompt.root; ifconfig carp0 down && ifconfig carp0 up
Хостод тохирох carp интерфэйс дээр
үүнийг хийх ёстой.
Энэ хүрэхэд CARP бүрмөсөн идэвхжиж
тест хийхэд бэлэн болсон байх ёстой. Сүлжээг дахин эхлүүлэх буюу эсвэл
машинуудыг дахин ачаалаад тест хийгээрэй.
Дэлгэрэнгүй мэдээллийг &man.carp.4; гарын авлагын хуудаснаас олж
болно.
diff --git a/mn_MN.UTF-8/books/handbook/config/chapter.sgml b/mn_MN.UTF-8/books/handbook/config/chapter.sgml
index 187e6997c2..2cf10bef2d 100644
--- a/mn_MN.UTF-8/books/handbook/config/chapter.sgml
+++ b/mn_MN.UTF-8/books/handbook/config/chapter.sgml
@@ -1,3120 +1,3112 @@
Шерн
Ли
Хойно дурдсан заавар болон гарын авлага дээр тулгуурлан бичсэн
Майк
Смит
Зааврыг бичсэн
Мэтт
Диллон
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 эрхийг заан хийж болно.
+ &os;-ийн хувилбараас хамаарна. Скрипт бүр систем дээр ажиллах боломжтой байх
+ ёстой бөгөөд үүнийг chmod
+ тушаал ашиглан ганц 555 эрхийг заан хийж болно.
Мөн хамгийн багаар бодоход програмыг эхлүүлэх болон
зогсоох тохируулгууд байх ёстой.
Хамгийн энгийн эхлүүлэх скрипт яг энэн шиг харагдах болов уу:
#!/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 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; програм хамаарлуудыг
хангаж системийн үйлчилгээнүүдийг ямар дарааллаар ажиллуулах ёстойг
тогтоохын тулд эдгээр тайлбаруудыг уншдаг.
Дараах үгнүүдийг бүх эхлүүлэх скриптэд оруулах ёстой
(Эдгээр нь эхлүүлэх скриптийг идэвхжүүлэх
эд
&man.rc.subr.8;-д шаардлагатай байдаг):
PROVIDE: Энэ файлын хангаж байгаа үйлчилгээнүүдийг заана.
Дараах үгнүүдийг эхлүүлэх скрипт бүрийн эхэнд оруулж болно.
Эдгээр нь заавал шаардлагатай биш боловч &man.rcorder.8;-д
тус дөхөм болох ашигтай байдаг:
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 хувьсагч нь системд байгаа санах ойн
дээр үндэслэн ачаалах үед автоматаар тавигддаг бөгөөд ажиллаж байх явцад зөвхөн уншигдах
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
Хамгийн их vnode-уудыг үзэхдээ:
&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/firewalls/chapter.sgml b/mn_MN.UTF-8/books/handbook/firewalls/chapter.sgml
index 2b104984b6..60819e3bff 100644
--- a/mn_MN.UTF-8/books/handbook/firewalls/chapter.sgml
+++ b/mn_MN.UTF-8/books/handbook/firewalls/chapter.sgml
@@ -1,3018 +1,3017 @@
Жозеф Ж.
Баарбиш
Хувь нэмэр болгон оруулсан
Брэд
Дэйвис
SGML уруу хөрвүүлж шинэчилсэн
Лодойсамбын
Баянзул
Орчуулсан
Галт хана
Галт хана
аюулгүй байдал
галт хана
Танилцуулга
Галт ханын тусламжтайгаар систем уруу орж байгаа болон түүнээс гарч байгаа өгөгдлийн урсгалыг шүүн нэвтрүүлэх боломжтой болдог.
Галт хана нь сүлжээгээр дамжин өнгөрч байгаа пакетуудыг, дүрмүүдэд
заасны дагуу эсвэл нэвтрүүлэх, эсвэл хаах үүргийг гүйцэтгэдэг.
Галт ханын дүрмүүд нь пакетийг протоколын төрөл, эхлэл хост хаяг, очих хост хаяг, эхлэл порт хаяг, очих порт хаяг зэрэг хэд хэдэн шинжээр нь шинжлэх боломжийг олгодог.
Галт ханыг ашигласнаар тухайн хостын болон сүлжээний аюулгүй байдлыг нилээд нэмэгдүүлж чадна. Галт ханын тусламжтайгаар дараах зүйлсийг хийх боломжтой :
Дотоод сүлжээнд байрлаж байгаа сервер машин, түүн дээр ажиллаж байгаа програм үйлчилгээг Интернэтээр дамжин орж ирж буй гадны урсгалаас хамгаалах, тусгаарлах.
Дотоод сүлжээнд байрлаж байгаа хостоос Интернэт уруу хандах хандалтыг хаах, хязгаарлах.
Network address translation буюу Сүлжээний Хаягийн Хөрвүүлэлтийг
(NAT) дэмжих. Өөрөөр хэлбэл дотоод сүлжээндээ хувийн IP хаяг хэрэглэж,
Интернэтэд гарахдаа дундаа нэг холболтыг (нэг IP хаяг эсвэл автоматаар оноосон бүлэг хаягаар) хуваан хэрэглэх.
Энэ бүлгийг уншсаны дараа, та дараах зүйлсийг мэдэх болно:
пакетийг шүүн нэвтрүүлэх дүрмүүдийг хэрхэн оновчтойгоор тодорхойлох.
&os;-тэй хамт суусан галт ханануудын ялгаа.
OpenBSD-н
PF галт ханыг хэрхэн тохируулах болон хэрэглэх.
IPFILTER-г хэрхэн тохируулах болон хэрэглэх.
IPFW-г хэрхэн тохируулах болон хэрэглэх.
Энэ бүлгийг уншихаасаа өмнө, та дараах зүйлсийг мэдсэн байх шаардлагатай:
&os; болон Интернэтийн тухай үндсэн ойлголт.
Галт ханын тухай ойлголтууд
галт хана
дүрмүүд
Галт ханын дүрмүүдийг дараах үндсэн хоёр янзаар үүсгэж болно:
inclusive буюу хамааруулсан
эсвэл exclusive буюу хамааруулаагүй
.
Хамааруулаагүй галт хана нь дүрмэнд тохирсон урсгалаас бусдыг нэвтрүүлнэ. Харин хамааруулсан галт хана бол эсрэгээр нь,
дүрмэнд тохирсон урсгалыг нэвтрүүлж бусдыг хаана.
Болохгүй урсгалыг галт ханаар нэвтрүүлэх эрсдэлийг
багасгадаг учраас хамааруулсан галт хана нь хамааруулаагүй
галт ханыг бодвол илүүтэйгээр аюулгүй байдлыг хангаж чаддаг.
Төлөвт галт ханыг
ашиглан аюулгүй байдлыг цааш илүү сайжруулах боломжтой.
Төлөвт галт хана нь галт ханаар дамжин тогтсон холболтуудыг бүртгэж,
зөвхөн таарч байгаа тогтсон холболтоор эсвэл шинэ холболт үүсгэн урсгалыг нэвтрүүлдэг.
Төлөвт галт ханын нэг дутагдалтай тал гэвэл олон шинэ холболтууд нэг дор тогтох үед
Denial of Service буюу Үйлчилгээг Зогсоох(DoS) халдлагад өртөмтгий болдог. Иймээс галт ханыг
зохион байгуулахдаа төлөвт ба төлөвт-бус байдлыг хослуулан хэрэглэх нь хамгийн оновчтой байдаг.
Галт ханын багцууд
&os; дээр гурван янзын галт ханын багцууд хамрагдсан байдаг.
Нэрлэвэл: IPFILTER
(IPF гэж нэрлэх нь элбэг),
IPFIREWALL (IPFW гэж нэрлэх нь элбэг),
ба OpenBSD-н PacketFilter (PF гэж нэрлэх нь элбэг).
&os; нь мөн урсгалыг хязгаарлах(үндсэндээ зурвасын өргөнийг хязгаарлах) хоёр багцын хамт ирдэг:
&man.altq.4; болон &man.dummynet.4;. Dummynet нь анхнаасаа IPFW-тай, харин
ALTQ нь PF-тэй нягт холбоотой ажилладаг.
IPFILTER-ийн хувьд урсгал хязгаарлалтыг хийхдээ
NAT болон шүүлтэд IPFILTER-ийг ба
IPFW-ийг &man.dummynet.4;-тэй цуг юм уу
эсвэл PF-ийг
ALTQ-тай цуг ашиглан хийж болно.
IPFW, ба PF нь бүгд систем уруу орж байгаа болон гарч байгаа урсгалыг дүрмүүдийн тусламжтай удирдах боловч
синтаксын хувьд ч, арга замын хувьд ч өөр өөр байдаг.
&os; дээр олон галт ханын багцууд хамт ирдэг нь өөр өөр хэрэгцээ шаардлагатай хүмүүст
хүртээмжтэй байхыг гол зорилгоо болгосонд оршино. Түүнээс аль ч галт хана нь нөгөөгөөсөө илүү, эсвэл дутуу гэсэн үг биш юм.
Зохиогч IPFILTER-г сонгон авсан нь түүний төлөвт дүрмүүд нь
NAT орчинд хэрэглэхэд төвөг багатай, мөн
дотроо ftp proxy агуулсан байдгаас болсон хэрэг. Энэхүү ftp proxy-г ашиглан
гадагшаа гарах FTP урсгалыг зөвшөөрсөн дүрмүүдийг бичихэд хялбар байдаг.
Бүх галт ханууд пакет удирдах талбарын утгыг шинжлэх зарчмаар ажиллах тул
галт ханын дүрмүүдийг бичихийн өмнө TCP/IP протокол хэрхэн
ажилладаг талаар болон пакет удирдах талбарын утгууд, энэ утгууд session буюу сесс
үүсэхэд хэрхэн хэрэглэгддэг талаар үндсэн ойлголттой байх шаардлагатай болдог.
Дээрх ойлголтуудын талаар дараах хаягаар орж уншина уу:
.
OpenBSD Пакет шүүгч (PF) ба
ALTQ
галт хана
PF
2003 оны 7 сард OpenBSD-н галт ханын програм болох
PF &os; уруу шилжиж, &os; Портын Цуглуулгад
орсон бөгөөд 2004 оны 11 сард гарсан
&os; 5.3-с эхлэн PF-г
үндсэн системийн багцын нэг хэсэг болгон оруулсан байдаг.
PF нь бүрэн хэмжээнд ажиллах чадвартай
галт хана бөгөөд ALTQ-тай (Alternate
Queuing буюу Ээлжлэн солигдох дараалал) хамтран ажиллах боломжтой. ALTQ-н тусламжтай
шүүн нэвтрүүлэх дүрмүүдийг харгалзан үйлчилгээнүүдэд шаардлагатай
зурвасын өргөнийг баталгаатай олгох Quality of Service буюу Үйлчилгээний Чанарыг (QoS)
хангасан зурвасын өргөнийг хязгаарлах боломжоор хангадаг.
OpenBSD Төсөл нь PF-н Хэрэглэгчдийн Гарын авлагыг хөтлөн
явуулдаг тул давхардуулахгүй үүднээс энэ гарын авлагад
оруулаагүй болно.
Илүү дэлгэрэнгүй мэдээллийг &os;-н PF вэб хуудаснаас үзнэ үү: .
PF-г идэвхжүүлэх
&os; 5.3-с хойших хувилбаруудад PF нь үндсэн суулгацтай
хамт, ажиллах үеийн ачаалах боломжтой модуль байдлаар ирдэг.
rc.conf тохиргооны файл дотор pf_enable="YES" илэрхийлэл байгаа үед
систем PF цөмийн модулийг динамикаар ачаална.
Энэ ачаалах боломжтой модуль нь &man.pflog.4;-н тусламжтай,
бүртгэх боломжтойгоор бүтээгдсэн байдаг.
Энэ модуль нь options INET ба
device bpf-г байгаа гэж тооцдог.
&os;-н 6.0-RELEASE-с өмнөх хувилбарын NOINET6,
хойших хувилбарын NO_INET6-г (жишээ нь &man.make.conf.5;)
системийг үүсгэх үед тодорхойлоогүй бол, options INET6 шаардлагатай.
Цөмийн модуль ачаалагдсан эсвэл цөм нь PF-н хамт
статик байдлаар бүтээгдсэн бол, pf-г
pfctl тушаалын тусламжтай идэвхжүүлж, мөн
идэвхгүй болгож болно.
Энэ жишээн дээр pf-г хэрхэн
идэвхжүүлэхийг харуулав:
&prompt.root; pfctl -e
pfctl тушаалыг ашиглан
pf галт ханатай ажиллах боломжтой.
тушаалыг ашиглахын өмнө &man.pfctl.8; заавар хуудаснаас дэлгэрэнгүй
мэдээллийг авна уу.
Цөмийн боломжууд
цөмийн боломжууд
pf төхөөрөмж
цөмийн боломжууд
pflog төхөөрөмж
цөмийн боломжууд
pfsync төхөөрөмж
&os; цөм уруу дараах боломжуудыг эмхэтгэн PF-г
идэвхжүүлэх албагүй боловч, суурь мэдлэг болгон энд үзүүллээ.
PF-г цөм уруу хөрвүүлэн эмхэтгэснээр ачаалах боломжтой модулийг
хэрэглэх боломжгүй болдог.
Цөмийн тохиргоон дахь PF илэрхийллүүд
/usr/src/sys/conf/NOTES гэсэн цөмийн
эх файлд байх ба доор сийрүүлэв:
device pf
device pflog
device pfsync
device pf мөр Packet Filter
галт ханыг дэмждэг болгоно.
device pflog мөр
хуурамч &man.pflog.4; сүлжээний төхөөрөмжийг идэвхжүүлнэ. Энэ хуурамч
төхөөрөмжийн тусламжтайгаар &man.bpf.4; дескриптор уруу урсгалыг бүртгэх
боломжтой. &man.pflogd.8; дэмонг бүртгэлийг дискэн дээр хадгалахад хэрэглэнэ.
device pfsync мөр
хуурамч &man.pfsync.4; сүлжээний төхөөрөмжийг идэвхжүүлнэ. Энэ хуурамч
төхөөрөмжийн тусламжтайгаар төлвийн өөрчлөлтүүдийг
хянах боломжтой.
Энэ төхөөрөмж нь ачаалах боломжтой модульд байдаггүй тул, түүнийг
ашиглахын тулд цөмийг шинээр бүтээх хэрэгтэй байдаг.
Эдгээр тохируулгууд нь зөвхөн тэдгээрийг тохируулан,
тусгайлан цөм бүтээж суулгасны дараа идэвхждэг.
rc.conf боломжууд
PF-г систем ачаалах үед идэвхтэй болгохын тулд
/etc/rc.conf дотор дараах илэрхийллүүд байх
ёстой:
pf_enable="YES" # Enable PF (load module if required)
pf_rules="/etc/pf.conf" # rules definition file for pf
pf_flags="" # additional flags for pfctl startup
pflog_enable="YES" # start pflogd(8)
pflog_logfile="/var/log/pflog" # where pflogd should store the logfile
pflog_flags="" # additional flags for pflogd startup
Хэрвээ энэ галт ханын цаана LAN байгаа бөгөөд
LAN-д байгаа компьютерууд уруу пакет дамжуулах шаардлагатай бол эсвэл
NAT ашиглах бодолтой байгаа бол дараах илэрхийллийг идэвхжүүлэх хэрэгтэй:
gateway_enable="YES" # Enable as LAN gateway
ALTQ-г идэвхжүүлэх
ALTQ-г идэвхжүүлэх ганц арга зам бол түүний боломжуудыг
&os; цөмтэй хамт хөрвүүлэн эмхэтгэх юм. Мөн сүлжээний картын драйвер болгон ALTQ-г
дэмждэггүй тул өөрийн тань хэрэглэж буй &os; хувилбарын хувьд дэмжигддэг драйверуудын жагсаалтыг
&man.altq.4; гарын авлагын хуудаснаас үзнэ үү. Дараах тохируулгууд
ALTQ-г идэвхжүүлж нэмэлт үүргүүдийг оруулдаг.
options ALTQ
options ALTQ_CBQ # Class Bases Queuing (CBQ)
options ALTQ_RED # Random Early Detection (RED)
options ALTQ_RIO # RED In/Out
options ALTQ_HFSC # Hierarchical Packet Scheduler (HFSC)
options ALTQ_PRIQ # Priority Queuing (PRIQ)
options ALTQ_NOPCC # Required for SMP build
options ALTQ мөр ALTQ
-г бүхэлд нь идэвхжүүлнэ.
options ALTQ_CBQ мөр Class Based Queuing
буюу Ангиллаас Хамаарсан Дараалал Үүсгэх(CBQ) боломжийг идэвхжүүлнэ.
CBQ нь шүүгч дүрмүүд дээр үндэслэн урсгалуудад эрэмбэ тогтоох зорилгоор
зурвасын өргөнийг өөр өөр ангиллуудад болон дарааллуудад хуваах боломжийг олгоно.
options ALTQ_RED мөр Random Early
Detection буюу Санамсаргүй Эрт Илрүүлэлт(RED)-г идэвхжүүлнэ.
RED-г сүлжээний даац хэтрэхээс сэргийлэхэд хэрэглэдэг.
RED дарааллын уртыг хэмжиж, түүнийг байх ёстой дээд ба
доод хэмжээтэй жиших байдлаар ажилладаг. Хэрэв дараалал дээд хэмжээнээс урт болбол
шинэ пакетууд орхигдох болно. Нэртэйгээ адилаар, RED нь холболтуудаас пакетийг
санамсаргүйгээр орхигдуулдаг.
options ALTQ_RIO мөр нь Random Early
Detection In and Out буюу Орох ба Гарах Санамсаргүй Эрт Илрүүлэлтийг идэвхжүүлнэ.
options ALTQ_HFSC мөр нь
Hierarchical Fair Service Curve Packet Scheduler буюу Үе давхаргат Зохимжит Үйлчилгээний Муруйн Пакет Хуваарилагчийг
идэвхжүүлнэ. HFSC талаар илүү дэлгэрэнгүй мэдээллийг дараах хаягаас үзнэ үү:
.
options ALTQ_PRIQ мөр нь Priority Queuing буюу Эрэмбэт Дараалал Үүсгэх
(PRIQ)-г идэвхжүүлнэ. PRIQ нь эрэмбэ өндөртэй дараалалд байгаа
урсгалыг эхэнд нэвтрүүлэх зарчмаар ажилладаг.
options ALTQ_NOPCC мөр нь ALTQ-г
SMP-тай хамт ажиллах боломжтой болгоно.
SMP системийн хувьд энэ боломжийг заавал идэвхжүүлэх хэрэгтэй.
Шүүгч дүрмүүдийг үүсгэх
Пакет Шүүгч нь дүрмүүдээ &man.pf.conf.5; файлаас уншиж, энд заагдсан
дүрмүүд болон тодорхойлолтуудаас хамааран пакетийг нэвтрүүлэх, орхих, эсвэл өөрчлөхийн аль нэгийг
хийнэ. &os; суулгац нь жишээ болон тайлбарыг агуулсан анхдагч /etc/pf.conf
файлын хамт ирдэг.
Хэдийгээр &os; өөрийн /etc/pf.conf
файлтай боловч синтакс нь OpenBSD-ийнхтэй адилхан байна. pf
галт ханыг тохируулах дэлгэрэнгүй мэдээллийг OpenBSD багийнхан бичсэн бөгөөд
хаягаар орж үзэж болно.
pf хэрэглэгчийн гарын авлагаар аялахдаа, &os; хувилбарууд өөр өөрийн
-pf хувилбарыг ашигладгийг санаарай. &os; 5.X дээрх pf галт хана
-нь OpenBSD-н 3.5 хувилбарынхтай дүйх ба &os; 6.X дээрх pf галт хана
+pf хувилбарыг ашигладгийг санаарай. &os; 6.X дээрх pf галт хана
нь OpenBSD-н 3.7 хувилбарынхтай дүйдэг болохыг анхаарна уу.
pf галт ханыг тохируулах, ажиллуулахтай холбоотой
асуултуудаа &a.pf;-с асуугаарай. Мөн асуулт асуухынхаа өмнө, захидлын жагсаалтын архиваар орж үзэхээ
мартуузай.
IPFILTER (IPF) Галт хана
галт хана
IPFILTER
Энэ хэсэг дээр үргэлжлүүлэн ажиллаж байна. Агуулга зарим хэсэгт буруу байхыг үгүйcгэхгүй.
IPFILTER-г зохиосон хүн бол Даррин Рид билээ. IPFILTER нь
үйлдлийн системээс хамааралгүй: нээлттэй эхийн програм бөгөөд
&os;, NetBSD, OpenBSD, &sunos;, HP/UX, ба &solaris; зэрэг олон үйлдлийн систем уруу
шилжүүлэгдсэн юм. IPFILTER эрчимтэй дэмжигдэж,
сайжруулсан хувилбарууд нь тогтмол гарсаар байгаа.
IPFILTER нь цөмийн талд ажиллах галт хана болон
NAT механизм дээр суурилсан бөгөөд түүнийг удирдах, хянахын тулд
хэрэглэгчийн интерфэйс програмыг ашиглана. Галт ханын дүрмүүдийг нэмэх болон хасахдаа
&man.ipf.8; хэрэгслийг хэрэглэнэ. NAT дүрмүүдийг
нэмэх болон хасахдаа &man.ipnat.1; хэрэгслийг хэрэглэнэ. &man.ipfstat.8; хэрэгсэл
нь IPFILTER-н цөмийн талд ажиллаж байгаа хэсгийн статистикийг хэвлэхэд зориулагдсан.
&man.ipmon.8; програм харин IPFILTER-н үйлдлүүдийг системийн бүртгэлийн файлд
бүртгэнэ.
IPF-г анх зохиохдоо сүүлд тохирсон дүрэм дийлнэ
гэсэн
логикийн дагуу бүтээсэн ба зөвхөн төлөвт-бус дүрмүүдийг ашигладаг байлаа.
Цаг хугацаа өнгөрөхөд IPF илүү хөгжиж, quick
тохируулга
болон төлөвт keep state
тохируулгуудыг агуулах болсон нь орчин үеийн
хэрэгцээ шаардлагад илүү нийцэх болжээ. IPF-н албан ёсны баримтжуулалтанд
хуучин уламжлалт дүрмүүдийг бичих параметрүүд болон файлтай ажиллах логикууд багтсан байдаг.
Харин шинэ функцуудыг нь зөвхөн нэмэлт боломж байдлаар оруулсан нь аюулгүй байдлыг хавьгүй
илүү хангасан галт хана бий болгож байгаа тэднийг хэт доогуур тавьсан санагддаг.
Энэ бүлэгт байгаа зааврууд нь quick
болон төлөвт keep state
тохируулгуудыг агуулсан дүрмүүдээс үндсэндээ бүрдсэн байгаа. Энэ бол хамааруулсан галт ханын дүрмүүдийг
бичих үндсэн арга барил юм.
Хамааруулсан галт хана нь зөвхөн дүрмэнд тохирсон пакетуудыг нэвтрүүлнэ.
Ийм маягаар галт ханын цаанаас Интернэт уруу ямар ямар үйлчилгээнүүд
гарч болох болон эсрэгээр Интернэтээс дотоод сүлжээ уруу ямар ямар үйлчилгээнүүд нэвтэрч
болохыг удирдах боломжтой. Эдгээрээс бусад бүх урсгалыг хааж, бүртгэдэг байхаар зохиогдсон
байдаг. Хамааруулсан галт хана нь хамааруулаагүй галт ханаас аюулгүй байдлын хувьд
хэд дахин илүү, тиймээс энд бид зөвхөн хамааруулсан галт ханын дүрмүүдийн талаар
ярилцах болно.
Хуучин уламжлалт дүрмүүдтэй ажиллах аргуудын талаар дэлгэрэнгүй тайлбарыг:
ба хаягаар орж үзнэ үү.
IPF FAQ-г хаягаар орж үзнэ үү.
Нээлттэй эхийн IPFilter програмын захидлын жагсаалтын архивыг хаягаар орж үзнэ үү.
IPF-г идэвхжүүлэх
IPFILTER
идэвхжүүлэх
IPF нь &os; үндсэн суулгацтай хамт, ажиллах үеийн ачаалах боломжтой модуль байдлаар ирдэг.
rc.conf тохиргооны файл дотор ipfilter_enable="YES" илэрхийлэл байгаа үед систем IPF цөмийн
модулийг динамикаар ачаална. Энэ ачаалах боломжтой модуль нь бүртгэх боломжтойгоор,
анхдагч default pass all тохируулгын хамт бүтээгдсэн байдаг. Анхдагч дүрмийг
block all болгохын тулд IPF-г цөмд эмхэтгэх шаардлага байхгүй. Зөвхөн
дүрмүүдийнхээ төгсгөлд бүгдийг хаах дүрмийг бичиж өгөхөд хангалттай.
Цөмийн тохируулгууд
цөмийн тохируулгууд
IPFILTER
цөмийн тохируулгууд
IPFILTER_LOG
цөмийн тохируулгууд
IPFILTER_DEFAULT_BLOCK
IPFILTER
цөмийн тохируулгууд
&os; цөм уруу дараах боломжуудыг эмхэтгэн IPF-г идэвхжүүлэх
албагүй боловч, суурь мэдлэг болгон энд үзүүллээ. IPF-г цөм уруу хөрвүүлэн
эмхэтгэснээр ачаалах боломжтой модулийг хэрэглэх боломжгүй болдог.
Цөмийн тохиргоон дахь жишээ IPF илэрхийллүүд
/usr/src/sys/conf/NOTES гэсэн цөмийн эх файлд
байх ба доор сийрүүлбэл:
options IPFILTER
options IPFILTER_LOG
options IPFILTER_DEFAULT_BLOCK
options IPFILTER мөр нь IPFILTER
галт ханыг идэвхжүүлнэ.
options IPFILTER_LOG мөр нь log
гэсэн түлхүүр үг орсон дүрмүүдийн хувьд урсгалыг ipl
пакет бүртгэх хуурамч—төхөөрөмж уруу бүртгэх боломжтой болгоно.
options IPFILTER_DEFAULT_BLOCK мөр нь
галт ханын pass дүрмэнд тохироогүй пакетийг
хаах анхдагч чанарыг зааж өгнө.
Эдгээр тохируулгууд нь зөвхөн тэдгээрийг тохируулан,
тусгайлан цөм бүтээж суулгасны дараа идэвхждэг.
rc.conf тохируулгууд
IPF-г систем ачаалах үед идэвхтэй болгохын тулд /etc/rc.conf дотор
дараах илэрхийллүүд байх ёстой:
ipfilter_enable="YES" # Start ipf firewall
ipfilter_rules="/etc/ipf.rules" # loads rules definition text file
ipmon_enable="YES" # Start IP monitor log
ipmon_flags="-Ds" # D = start as daemon
# s = log to syslog
# v = log tcp window, ack, seq
# n = map IP & port to names
Хэрэв энэ галт ханын цаана хувийн IP хаяг хэрэглэдэг LAN байгаа бол
NAT функцыг идэвхжүүлэхийн тулд дараах мөрүүдийг нэмэх хэрэгтэй:
gateway_enable="YES" # Enable as LAN gateway
ipnat_enable="YES" # Start ipnat function
ipnat_rules="/etc/ipnat.rules" # rules definition file for ipnat
IPF
ipf
Таны бичсэн дүрмүүдийг ачаалахад ipf тушаалыг хэрэглэнэ. Ер нь бол
та өөрийн дүрмүүдээс бүтсэн файлыг үүсгээд, түүнийгээ дээрх тушаалын ашиглан
галт ханын одоо ажиллаж байгаа дотоод дүрмүүдтэй сольж тавьна гэсэн үг юм:
&prompt.root; ipf -Fa -f /etc/ipf.rules
нь бүх дотоод дүрмүүдийн хүснэгтийг цэвэрлэ гэсэн үг.
нь ачаалах дүрмүүдээ энэ файлаас унш гэсэн үг.
Ийм байдлаар та өөрийн хүссэн дүрмүүдийн файлыг үүсгээд,
дээрх IPF тушаалыг ажиллуулан системийг шинээр ачаалахгүйгээр
ажиллаж байгаа галт ханын дүрмүүдийг шинээр өөрчлөх боломжтой болж байна.
Дээрх аргаар галт ханын дүрмүүдийг хэдэн ч удаа сольж болох тул энэ арга нь
шинэ дүрмүүдийг туршихад тохиромжтой арга юм.
Энэ тушаалтай ажиллах боломжтой бусад тугуудын талаар
дэлгэрэнгүйг &man.ipf.8; заавар хуудаснаас үзнэ үү.
&man.ipf.8; тушаал дүрмүүдийн файлыг стандарт текст файл гэж
тооцдог. Симбол орлуулалттай скрипт байдлаар бичигдсэн файлыг ойлгохгүй.
Гэвч скрипт симбол орлуулалтын хүчийг ашиглан IPF дүрмүүдийг бүтээх
арга зам байгаа. Илүү дэлгэрэнгүй мэдээллийг
хэсгээс үзнэ үү.
IPFSTAT
ipfstat
IPFILTER
статистик
&man.ipfstat.8;-н анхдагч чанар бол галт ханыг хамгийн сүүлд асааснаас хойших,
эсвэл ipf -Z тушаалыг өгөн хуримтлуулагчийг хамгийн сүүлд тэглэснээс хойших
галт ханаар орж байгаа болон гарч байгаа пакетуудыг хэрэглэгчийн тодорхойлж өгсөн дүрмүүдээр
шүүсэн үр дүнд бий болсон статистик тоог гаргаж ирэн, дэлгэцэнд харуулах юм.
Дэлгэрэнгүйг &man.ipfstat.8; заавар хуудаснаас үзнэ үү.
&man.ipfstat.8; тушаалын анхдагч үр дүн дараах байдалтай байна:
input packets: blocked 99286 passed 1255609 nomatch 14686 counted 0
output packets: blocked 4200 passed 1284345 nomatch 14687 counted 0
input packets logged: blocked 99286 passed 0
output packets logged: blocked 0 passed 0
packets logged: input 0 output 0
log failures: input 3898 output 0
fragment state(in): kept 0 lost 0
fragment state(out): kept 0 lost 0
packet state(in): kept 169364 lost 0
packet state(out): kept 431395 lost 0
ICMP replies: 0 TCP RSTs sent: 0
Result cache hits(in): 1215208 (out): 1098963
IN Pullups succeeded: 2 failed: 0
OUT Pullups succeeded: 0 failed: 0
Fastroute successes: 0 failures: 0
TCP cksum fails(in): 0 (out): 0
Packet log flags set: (0)
Дотогшоо урсгалын хувьд ,
гадагшаа урсгалын хувьд тохируулгыг өгөхөд
кернелийн ашиглаж буй дүрмүүдийн жагсаалтыг гаргаж харуулна.
ipfstat -in нь дотогшоо урсгалын
дотоод дүрмүүдийн хүснэгтийг дүрмүүдийн дугаарын хамт харуулна.
ipfstat -on нь гадагшаа урсгалын
дотоод дүрмүүдийн хүснэгтийг дүрмүүдийн дугаарын хамт харуулна.
Үр дүн нь дараах байдалтай байна:
@1 pass out on xl0 from any to any
@2 block out on dc0 from any to any
@3 pass out quick on dc0 proto tcp/udp from any to any keep state
ipfstat -ih нь дотогшоо урсгалын
дотоод дүрмүүдийн хүснэгтийг дүрмүүдийн хэдэн удаа тохирсон тооны хамт харуулна.
ipfstat -oh нь гадагшаа урсгалын
дотоод дүрмүүдийн хүснэгтийг дүрмүүдийн хэдэн удаа тохирсон тооны хамт харуулна.
Үр дүн нь дараах байдалтай байна:
2451423 pass out on xl0 from any to any
354727 block out on dc0 from any to any
430918 pass out quick on dc0 proto tcp/udp from any to any keep state
ipfstat тушаалын хамгийн чухал функцуудын
нэг бол, &os;-н ажиллаж байгаа процессийн хүснэгтийг &man.top.1;
харуулдаг шиг төлвийн хүснэгтийг туг харуулдаг явдал юм.
Таны галт хана гадны халдлагад өртөх үед энэ функц түүнийг илрүүлэх, шинжлэх, халдлагад
оролцож буй пакетуудыг харах боломжийг олгоно. Нэмэлт дэд тугууд нь хяналт хийх
эхлэл болон очих IP хаяг, порт, эсвэл протоколыг сонгох боломжийг олгодог.
Дэлгэрэнгүйг &man.ipfstat.8; заавар хуудаснаас үзнэ үү.
IPMON
ipmon
IPFILTER
бүртгэл хөтлөлт
ipmon тушаал зохистой ажиллахын тулд цөмийн
IPFILTER_LOG тохируулга идэвхжсэн байх ёстой. Энэ тушаал хоёр өөр горимд
ажиллах чадвартай. Төрөлх горим нь энэ тушаалыг тушаал мөрөн дээр
туггүйгээр оруулахад ажиллах анхдагч горим юм.
Демон горим нь болж өнгөрсөн үйл явцын бүртгэлийг эргэж харахын тулд
системийн бүртгэлийг тасралтгүй хөтлөн явуулахад тохиромжтой горим юм.
&os; болон IPFILTER энэ горимд ажиллахаар тохируулагдсан байдаг. &os;
нь системийн бүртгэлийг автоматаар тойруулах чадвартай. Тиймээс бүртгэлийн мэдээллийг syslogd
процесс уруу гаргах нь энгийн файл уруу гаргах анхдагч аргаас дээр байдаг.
Анхдагч rc.conf файл дотор ipmon_flags илэрхийлэл
тугуудыг хэрэглэсэн байхыг олж харж болно:
ipmon_flags="-Ds" # D = start as daemon
# s = log to syslog
# v = log tcp window, ack, seq
# n = map IP & port to names
Бүртгэл хөтлөн явуулахын давуу талыг дурдахад илүүц биз.
Бүртгэлийн тусламжтай ямар пакетууд орхигдсон, тэдгээр пакетууд хаанаас ирсэн,
хаашаа явж байсан зэрэг мэдээллийг эргэн харах боломжтой болдог. Энэ бүх мэдээлэл
гадны халдлагыг мөрдөхөд чухал түлхэц болно.
Хэдийгээр бүртгэх боломжоор хангагдсан боловч, IPF дангаараа бүртгэлийг үүсгэж
чадахгүй. Галт ханын администратор аль дүрмийн бүртгэлийг бичихийг шийдэн, тэдгээр дүрмүүдэд
log түлхүүр үгийг нэмж өгнө. Ер нь, зөвхөн deny дүрмүүдийн бүртгэл бичигддэг.
Бүгдийг хориглосон анхдагч дүрмийг log түлхүүр үгийн хамт дүрмүүдийнхээ
хамгийн төгсгөлд бичиж өгөх нь нилээд өргөн хэрэглэгддэг арга юм. Ийм байдлаар
таны дүрмүүдийн алинтай ч тохироогүй пакетуудыг мэдэх боломжтой болно.
IPMON бүртгэл хөтлөлт
Syslogd нь бүртгэлийн мэдээллийг дотор нь ангилах
өөрийн тусгай аргатай. facility
ба түвшин
гэсэн тусгай ангилалаар ялгадаг.
горимон дахь IPMON нь facility
-аар security-г
хэрэглэдэг. IPMON-ы бүх бүртгэлийн мэдээлэл security нэрийн дор бичигддэг. Хэрэв хүсвэл
доорх түвшнүүдийг ашиглан бүртгэгдсэн мэдээллийг илүү ангилж болно:
LOG_INFO - нэвтрүүлэх, хаахаас үл хамааран "log" түлхүүрийг үйлдэл ашиглан пакетуудыг бүртгэх.
LOG_NOTICE - нэвтэрсэн пакетуудыг бүртгэх.
LOG_WARNING - хаагдсан пакетуудыг бүртгэх.
LOG_ERR - бүртгэсэн пакетууд болон богино гэгдсэн пакетууд
IPFILTER-н бүх бүртгэлийн мэдээллийг /var/log/ipfilter.log
файл дотор бичихийн тулд, та энэ файлыг эхлээд үүсгэх хэрэгтэй. Үүний тулд дараах
тушаалыг өгөх хэрэгтэй:
&prompt.root; touch /var/log/ipfilter.log
syslog-н функцуудыг /etc/syslog.conf файл доторх
тодорхойлох илэрхийллүүдээр удирдаж болно. syslog.conf файл нь
IPF мэт програмуудын үүсгэсэн системийн мэдэгдлүүдтэй ажиллахад уян хатан болгодог.
Дараах илэрхийллүүдийг /etc/syslog.conf файл дотор нэмж
бичнэ үү:
security.* /var/log/ipfilter.log
security.* нь бүх бүртгэгдсэн мэдэгдлүүдийг
дурдсан файлд бичихийг хэлж өгч байна.
/etc/syslog.conf файлд хийсэн өөрчлөлтүүдийг
идэвхжүүлэхийн тулд та системээ дахин ачаалах эсвэл /etc/rc.d/syslogd reload
тушаалыг ашиглан syslog процессод /etc/syslog.conf файлыг дахин уншуулах
хэрэгтэй.
Дээр шинээр үүсгэсэн бүртгэлийг тойруулахын тулд
/etc/newsyslog.conf файл дотор өөрчлөлт оруулахаа мартуузай.
Бүртгэгдсэн мэдэгдлийн формат
ipmon-ы үүсгэсэн мэдэгдэл зайгаар тусгаарлагдсан
өгөгдлийн талбаруудаас бүрдэнэ. Бүх мэдэгдэлд байдаг гол талбарууд гэвэл:
Пакетийг хүлээж авсан огноо.
Пакетийг хүлээж авсан цаг. Цаг, минут, секунд, бутархай секундэд (олон орны нарийвчлалтай)
харгалзан HH:MM:SS.F форматтай байна.
Пакеттай ажилласан интерфэйсийн нэр, жишээлбэл dc0.
Дүрмийн бүлэг болон дүрмийн дугаар, жишээлбэл @0:17.
Эдгээрийг ipfstat-in тушаалын тусламжтай үзэж болно.
Үйлдэл: нэвтрүүлсэн бол р, хаасан бол b, богино пакет бол S,
аль ч дүрмэнд тохироогүй бол n, бүртгэх дүрэм бол L. Эдгээр тугуудыг дараах эрэмбээр харуулна:
S, p, b, n, L. Том P эсвэл B үсэг нь тухайн пакет ямар нэг дүрмээс биш, глобал тохиргооноос
хамааран бүртгэгдсэн болохыг заана.
Хаягууд. Үндсэндээ гурван талбар байна: эхлэл
хаяг болон порт (таслалаар тусгаарлагдсан), -> тэмдэг, ба очих хаяг болон порт.
209.53.17.22,80 -> 198.73.220.17,1722.
PR-н дараа протоколын нэр болон дугаар, жишээлбэл PR tcp.
len-ы дараа толгойн урт болон
пакетийн нийт урт, жишээлбэл len 20 40.
Хэрэв TCP пакет бол зураасаар эхэлж тугуудаар удаалсан
нэмэлт талбар байна. Үсгүүд болон түүнд харгалзах тугуудын талаар &man.ipmon.8; заавар
хуудаснаас үзнэ үү.
Хэрэв ICMP пакет бол, төгсгөлд нь хоёр талбар байна.
Эхнийх нь үргэлж ICMP
утгатай байна, дараагийнх нь налуу зураасаар тусгаарлагдсан
ICMP мэдэгдэл болон дэд мэдэгдлийн төрөл, жишээлбэл портод хандаж чадсангүй гэсэн мэдэгдлийн хувьд ICMP 3/3 байна.
Симбол орлуулалттай скриптийг үүсгэх нь
Зарим туршлагатай IPF хэрэглэгчид дүрмүүдийг агуулсан файл үүсгээд
түүнийгээ симбол орлуулалттай скрипт байдлаар ажиллуулах боломжтой болгон бичдэг.
Үүний гол давуу тал нь та зөвхөн симбол нэрд харгалзах утгыг өөрчилбөл, скриптийг ажиллуулахад
уг симбол орлуулалт орсон дүрэм бүр шинэ утгыг авах болно. Скриптийн хувьд,
олон дахин хэрэглэгддэг утгуудыг бичихэд симбол орлуулалтыг ашиглаж, тэдгээрийг
олон дүрмэнд орлуулж өгнө гэсэн үг юм. Дараах жишээн дээрээс харна уу.
Энд хэрэглэгдсэн скриптийн синтакс нь sh, csh, ба tcsh бүрхүүл дээр ажиллах
боломжтой.
Симбол орлуулалтын талбарууд нь урдаа долларын тэмдэгтэй байна: $.
Симбол талбарууд нь $ тэмдэг урдаа байхгүй.
Симбол талбарыг орлох утга нь давхар хашилтан(") дотор байрлана.
Дүрмийн файлаа дараах байдалтай үүсгэж эхлэх хэрэгтэй:
############# Start of IPF rules script ########################
oif="dc0" # name of the outbound interface
odns="192.0.2.11" # ISP's DNS server IP address
myip="192.0.2.7" # my static IP address from ISP
ks="keep state"
fks="flags S keep state"
# You can choose between building /etc/ipf.rules file
# from this script or running this script "as is".
#
# Uncomment only one line and comment out another.
#
# 1) This can be used for building /etc/ipf.rules:
#cat > /etc/ipf.rules << EOF
#
# 2) This can be used to run script "as is":
/sbin/ipf -Fa -f - << EOF
# Allow out access to my ISP's Domain name server.
pass out quick on $oif proto tcp from any to $odns port = 53 $fks
pass out quick on $oif proto udp from any to $odns port = 53 $ks
# Allow out non-secure standard www function
pass out quick on $oif proto tcp from $myip to any port = 80 $fks
# Allow out secure www function https over TLS SSL
pass out quick on $oif proto tcp from $myip to any port = 443 $fks
EOF
################## End of IPF rules script ########################
Байх ёстой бүх зүйлс бүгд байна. Энэ жишээн дээр дүрмүүд чухал биш,
харин симбол орлуулалт хэрхэн ажилладгыг харуулсан байна. Хэрэв дээрх жишээ
/etc/ipf.rules.script нэртэй файл дотор байсан бол, эдгээр
дүрмүүдийг дараах тушаалыг өгч дахин ачаалах боломжтой:
&prompt.root; sh /etc/ipf.rules.script
Суулгагдсан симболтой дүрмийн файлыг хэрэглэхэд нэг асуудал тулгардаг:
IPF симбол орлуулалтыг ойлгохгүй, ийм скриптийг шууд уншиж чаддаггүй.
Дараах скриптийг хоёр аргын нэгээр хэрэглэж болно:
cat-р эхэлсэн мөрийг ил гарга, харин
/sbin/ipf-р эхэлсэн мөрүүдийг далдал. ipfilter_enable="YES"-г
/etc/rc.conf файл дотор байрлуул, дараа нь өөрчлөлт бүрийн дараа скриптийг
ажиллуулан /etc/ipf.rules файлыг үүсгэ эсвэл өөрчлөлт оруул.
/etc/rc.conf файл дотор ipfilter_enable="NO"
(энэ анхдагч утга) мөрийг нэмэн системийн эхлэл скриптэд IPFILTER-г идэвхгүй болго.
Дээрхтэй адил скриптийг өөрийн /usr/local/etc/rc.d/ эхлэл хавтаст
байрлуул. Энэ скрипт ipf.loadrules.sh ч юм уу ойлгомжтой нэртэй байх ёстой.
.sh гэсэн өргөтгөлтэй байх ёстой.
#!/bin/sh
sh /etc/ipf.rules.script
Энэ скриптийн эрхүүд эзэмшигч root-н хувьд
унших, бичих, ажиллах эрхтэй байх ёстой.
&prompt.root; chmod 700 /usr/local/etc/rc.d/ipf.loadrules.sh
Одоо систем ачаалсны дараа таны IPF дүрмүүд ачаалагдсан байх болно.
IPF Дүрмүүдийн олонлог
Пакет дотор агуулагдаж байгаа утгуудыг үндэслэн тухайн пакетийг
нэвтрүүлэх болон хаахыг хэлж байгаа дүрмүүдийг дүрмийн олонлог гэнэ. Хостуудын
хоорондох хоёр чиглэлтэй пакет солилцоо нь сесс харилцааг бүрдүүлнэ. галт ханын
дүрмийн олонлогоор пакет хоёр дахин шүүгдэнэ, эхний удаа Интернэтээс пакетийг
хүлээн авахад, дараагийн удаа буцаж Интернэт рүү гарч явахад. Бүх TCP/IP үйлчилгээнүүдийн
хувьд (жишээ нь: telnet, www, mail, г.м.) ямар протоколоор ажиллах болон эхлэл ба
очих IP хаяг, эхлэл ба очих порт хаяг зэргийг урьдаас тодорхойлж өгсөн байдаг.
Эдгээр үзүүлэлтүүд дээр үндэслэн нэвтрүүлэх болох хаах дүрмүүдийг зохиодог.
IPFILTER
Дүрмүүдтэй ажиллах дэс дараалал
IPF-г анх зохиохдоо сүүлд тохирсон дүрэм дийлнэ
логикийн дагуу бүтээсэн ба зөвхөн төлөвт-бус дүрмүүдийг ашигладаг байлаа.
Цаг хугацаа өнгөрөхөд IPF илүү хөгжиж, quick
тохируулга
болон төлөвт keep state
тохируулгуудыг агуулах болсон нь орчин үеийн
хэрэгцээ шаардлагад илүү нийцэх болжээ.
Энэ бүлэгт байгаа зааврууд нь quick
болон төлөвт keep state
тохируулгуудыг агуулсан дүрмүүдээс үндсэндээ бүрдсэн байгаа. Энэ бол хамааруулсан галт ханын дүрмүүдийг
бичих үндсэн арга барил юм.
Хамааруулсан галт хана нь зөвхөн дүрмэнд тохирсон пакетуудыг нэвтрүүлнэ.
Ийм маягаар галт ханын цаанаас Интернэт уруу ямар ямар үйлчилгээнүүд
гарч болох болон эсрэгээр Интернэтээс дотоод сүлжээ уруу ямар ямар үйлчилгээнүүд хандаж
болохыг удирдах боломжтой. Эдгээрээс бусад бүх урсгалыг хааж, бүртгэдэг байхаар зохиогдсон
байдаг. Хамааруулсан галт хана нь хамааруулаагүй галт ханаас аюулгүй байдлын хувьд
хэд дахин илүү, тиймээс энд бид зөвхөн хамааруулсан галт ханын дүрмүүдийн талаар
ярилцах болно.
Галт ханын дүрмүүдтэй ажиллахдаа маш
анхааралтай байх хэрэгтэй. Зарим тохиргоо серверээс
бүх холбоог тань тасалж мэднэ. Ийм аюулаас хол
байхын тулд, галт ханын тохиргоог анхлан хийхдээ ssh
зэрэг алсын хандалтаас илүүтэйгээр ойрын удирдлагыг сонгоорой.
Дүрмийн синтакс
IPFILTER
дүрмийн синтакс
Энд дурдах дүрмийн синтакс нь орчин үеийн төлөвт
дүрмүүдийн хүрээнд, сүүлд тохирсон дүрэм дийлнэ
логикоор
ажиллахаар хялбаршуулан бичигдсэн байгаа. Хуучин уламжлалт дүрмүүдийн
синтаксын бүрэн тайлбарыг &man.ipf.8; заавар хуудаснаас үзнэ үү.
# гэсэн тэмдэгт тайлбарын эхлэлийг заах ба
дүрэм бичсэн мөрийн төгсгөлд эсвэл өөрөө бүтэн мөр байдлаар байрлана.
Хоосон мөрийг тооцохгүй.
Дүрмүүд нь түлхүүр үгүүдийг агуулна. Эдгээр түлхүүр үгүүд нь
тухайн мөрөнд зүүнээс баруун тийш тодорхой дэс дараагаар бичигдэнэ.
Түлхүүр үгүүд тодоор бичигдэх тул түүгээр нь ялгаж танина. Зарим түлхүүр
үгүүд дэд-тохируулгатай байна. Тэр нь өөрөө түлхүүр үг байж болохоос гадна
цааш дэд-тохируулгуудыг агуулсан байж болно. Доорх синтаксын үг бүр нь
дор байрлах мөрүүдэд задаргааны хамт байгаа.
ACTION IN-OUT OPTIONS SELECTION STATEFUL PROTO
SRC_ADDR,DST_ADDR OBJECT PORT_NUM TCP_FLAG
STATEFUL
ACTION = block | pass
IN-OUT = in | out
OPTIONS = log | quick | on
interface-name
SELECTION = proto value |
source/destination IP | port = number | flags
flag-value
PROTO = tcp/udp | udp | tcp |
icmp
SRC_ADD,DST_ADDR = all | from
object to object
OBJECT = IP address | any
PORT_NUM = port number
TCP_FLAG = S
STATEFUL = keep state
ACTION
Тухайн дүрмэнд тохирч байгаа пакетийг хэрхэхийг action буюу
үйлдэл зааж өгнө. Бүх дүрэм үйлдэлтэй байх ёстой. Дараах
үйлдлүүдийг хэрэглэж болно:
block гэдэг нь пакеттай selection буюу сонголтын
параметрүүд тохирч байвал тухайн пакетийг орхигдуулахыг зааж өгнө.
pass гэдэг нь пакеттай selection буюу сонголтын
параметрүүд тохирч байвал тухайн пакетийг нэвтрүүлэхийг зааж өгнө.
IN-OUT
Дүрэм нь орох болон гарах урсгалын алинд үйлчлэхийг
заавал зааж өгөх ёстой. Энэ нь in эсвэл out түлхүүр үгийн аль нэг нь заавал
бичигдсэн байх ёстой гэсэн үг юм. Үгүй бол синтаксын алдаа өгч, танигдахгүй.
in гэдэг нь Интернэт уруу харж байгаа
интерфэйс дээр хүлээж авсан дотогшоо ирж байгаа пакетийн хувьд энэ дүрэм
үйлчлэхийг зааж өгнө.
out гэдэг нь Интернэт уруу харж байгаа
интерфэйс уруу чиглэсэн гадагшаа явж байгаа пакетийн хувьд энэ дүрэм үйлчлэхийг
зааж өгнө.
OPTIONS
Эдгээр options буюу тохируулгуудыг энд үзүүлсэн дэс
дарааллын дагуу хэрэглэх ёстой.
log гэдэг нь пакеттай selection буюу сонголтын
параметрүүд тохирч байвал пакетийн толгой
ipl бүртгэл уруу (дор Бүртгэл Хөтлөх хэсэгт
заасны дагуу) бичигдэхийг зааж өгнө.
quick гэдэг нь пакеттай selection буюу сонголтын
параметрүүд тохирч байвал энэ дүрэм нь хамгийн сүүлийн дүрэм болохыг зааж өгнө.
Ингэснээр short-circuit
замыг тухайн пакетийн хувьд дараагийн
дүрмүүдийг шалгахыг болиулна. Орчин үеийн дүрэмтэй ажиллах логикийн хувьд энэ
тохируулгыг заавал хэрэглэнэ.
on гэдэг нь selection буюу сонголтын
параметрүүдийн ажиллах интерфэйсийг зааж өгнө. Интерфэйсүүдийн нэрийг
&man.ifconfig.8;-н тусламжтай харж болно. Энэ тохируулгыг хэрэглэснээр,
тухайн дүрэм зөвхөн энэ интерфэйсээр зохих чиглэлд(in/out) явж байгаа
пакетийн хувьд үйлчилнэ. Орчин үеийн дүрэмтэй ажиллах логикийн хувьд энэ
тохируулгыг заавал хэрэглэнэ.
пакетийг бүртгэхэд, түүний толгойг IPL пакет бүртгэх
хуурамч-төхөөрөмж уруу бичнэ. log түлхүүр үгийн дараа шууд залгаад,
дараах тодотгогчдыг(дараах дэс дарааллаар) хэрэглэж болно:
body гэдэг нь пакетийн толгойн дараа
пакетийн агуулгын эхний 128 байтыг бүртгэхийг зааж өгнө.
first Хэрэв log
түлхүүр үг keep state
тохируулгын хамт хэрэглэгдсэн бол,
түүний араас ирэх keep state
-д тохирч байгаа бүх пакетийг
биш зөвхөн энэ тохируулгыг идэвхжүүлсэн эхний пакетийг бүртгэхийн тулд
энэ тохируулгыг хэрэглэнэ.
SELECTION
Энэ бүлэгт танилцуулж байгаа түлхүүр үгүүд тухайн пакетийг
дүрмэнд тохирсон эсэхийг тогтоохын тулд шалгадаг пакетийн онцлогийг
тодорхойлоход хэрэглэгддэг. Мөн subject түлхүүр үг байх ба дэд-тохируулга
түлхүүр үгийн аль нэгийг сонгон хэрэглэнэ. Дараах ерөнхий онцлогуудыг
хэрэглэх боломжтой, гэхдээ доорх дэс дарааллаар хэрэглэх хэрэгтэй:
PROTO
proto гэдэг нь subject түлхүүр үг бөгөөд
өөрийн харгалзах дэд-тохируулгын хамт хэрэглэгдэх ёстой. Утга нь
ямар протокол дээр ажиллахыг хэлж өгнө. Орчин үеийн дүрэмтэй
ажиллах логикийн хувьд энэ тохируулгыг заавал хэрэглэнэ.
tcp/udp | udp | tcp | icmp эсвэл
/etc/protocols файл дотор байгаа протоколуудыг
хэрэглэж болно. Тусгай tcp/udp гэсэн түлхүүр үг
TCP эсвэл UDP пакетийг сонгоход хэрэглэгддэг ба,
давхар эсвэл төстэй дүрмүүдийг арилгах үүднээс нэмэгдсэн байгаа.
SRC_ADDR/DST_ADDR
all гэсэн түлхүүр үг нь
өөр ямар ч параметргүй from any to any
гэдэгтэй адил юм.
from src to dst: from ба to гэсэн
түлхүүр үгүүд IP хаягийг шүүхэд хэрэглэгдэнэ. Дүрэмд хэрэглэхдээ эхлэл ба
очих параметрийг ХОЁУЛАНГ зааж өгөх ёстой. any
гэсэн тусгай түлхүүр үгийн тусламжтай бүх IP хаягийг зөвшөөрч өгч болно.
Хэрэглэх жишээ: from any to any
эсвэл from 0.0.0.0/0 to any
эсвэл from any to
0.0.0.0/0
эсвэл from 0.0.0.0 to any
эсвэл
from any to 0.0.0.0
.
IP хаягийг цэгтэй тоон хэлбэр болон багийн хамт эсвэл
зүгээр цэгтэй тоон хэлбэрээр бичиж болно.
Багаар хялбархан илэрхийлэх боломжгүй IP хаягуудыг
хэрэглэх боломжгүй. Баг бичих талаар тусламжийг дараах вэб хуудсаар
орж үзнэ үү: .
PORT
Хэрэв эхлэл эсвэл очих порт, эсвэл хоёулангаар нь тохируулах бол
энэ нь зөвхөн TCP ба UDP пакетуудад хамаарна. Порт жишсэн дүрэм
бичихдээ /etc/services файл доторх үйлчилгээний нэр эсвэл
бүхэл тоон портын дугаарыг хэрэглэнэ. Портыг from обьекттой хамт хэрэглэх үед
энэ нь эхлэл портын дугаарыг, to обьекттой хамт хэрэглэх үед
энэ нь очих портын дугаарыг заана. Орчин үеийн дүрэмтэй
ажиллах логикийн хувьд port тохиргоог to обьекттой
заавал хамт хэрэглэнэ. Хэрэглэх жишээ: from any to any port = 80
Портыг жиших оператороор эсвэл порт зурвасыг зааж өгөх
зэргээр хэд хэдэн янзаар жишиж болно.
port "=" | "!=" | "<" | ">" | "<=" | ">=" |
"eq" | "ne" | "lt" | "gt" | "le" | "ge".
Порт зурвасыг зааж өгөхдөө, port "<>" |
"><" гэж хэрэглэнэ.
Орчин үеийн дүрэмтэй
ажиллах логикийн хувьд эхлэл болон очих порт тохируулах параметрүүдийн дараа,
дараах хоёр параметрийг заавал хэрэглэнэ.
TCP_FLAG
Тугуудыг зөвхөн TCP шүүлтийн үед хэрэглэнэ.
Үсгүүдээр нь TCP пакетийн толгойтойг шалгах боломжит тугуудыг
үзүүлсэн байна.
Орчин үеийн дүрэмтэй ажиллах логик нь flags S параметрийг
tcp сесс эхлүүлэх хүсэлтийг тэмдэглэхдээ хэрэглэдэг.
STATEFUL
keep state гэдэг нь нэвтрүүлэх төрлийн дүрмийн хувьд
сонгох параметрүүдтэй тохирсан ямар ч пакет төлөвт шүүх нэмэлт боломжийг идэвхжүүлэх ёстойг
зааж өгнө.
Орчин үеийн дүрэмтэй ажиллах логикийн хувьд энэ тохируулгыг заавал
хэрэглэнэ.
Төлөвт шүүлт
IPFILTER
төлөвт шүүлт
Хостуудын хоорондох хоёр чиглэлтэй пакет солилцоо сесс харилцаанаас бүрддэг.
Төлөвт шүүлт нь урсгалыг сесс харилцаанаас бүрдэж буй хоёр чиглэлтэй пакет
солилцоо гэж үздэг. keep-state-г идэвхжүүлсэн үед, keep-state нь хоёр чиглэлтэй сесс харилцааны
үед солилцсон бүх пакетуудын хувьд дотоод дүрмүүдийг динамик байдлаар үүсгэдэг. Мөн
энэ нь сесс эхлүүлсэн болон хүлээн авсан хостуудын хоорондох сесс харилцаа нь
хоёр чиглэлтэй пакет солилцох процедуртай зохицож байгаа эсэхийг магадлах чадвартай байдаг.
Сесс харилцааны загварт зохицоогүй пакетийг хуурамч гэж үзэн хүлээж авахгүй.
TCP эсвэл UDP сесстэй холбоотой
ICMP пакетуудыг keep state нэвтрүүлнэ. Тэгэхээр, keep state дүрмээр
зөвшөөрөгдсөн вэбээр хийх аялалын хариуд ICMP type 3 code 4 хариуг хүлээн авбал
галт хана үүнийг автоматаар нэвтрүүлнэ гэсэн үг юм. Хэрэв IPF хүлээн авсан пакетийг
идэвхтэй байгаа сессийн нэг хэсэг гэж баттай итгэж байвал, өөр протокол дээр байсан ч
пакетийг нэвтрүүлнэ.
Үүний цаана юу болох вэ гэвэл:
Интернэт уруу холбогдсон интерфэйсээр гарч байгаа пакетуудыг
хамгийн түрүүнд динамик төлвийн хүснэгтэнд шалгана. Хэрэв тухайн пакет ямар нэг
идэвхтэй байгаа сесс харилцаанд оролцож байгаа зөвшөөрөгдсөн дараагийн пакет
байх юм бол, галт ханаар нэвтрүүлэх ба динамик төлвийн хүснэгтэн дэх
сесс харилцааны төлөв шинэчлэгдэнэ. Үлдсэн пакетуудыг гадагшаа урсгалын дүрмээр
шалгах болно.
Интернэт уруу холбогдсон интерфэйс дээр ирж байгаа пакетуудыг
хамгийн түрүүнд динамик төлвийн хүснэгтэнд шалгана. Хэрэв тухайн пакет ямар нэг
идэвхтэй байгаа сесс харилцаанд оролцож байгаа зөвшөөрөгдсөн дараагийн пакет
байх юм бол, галт ханаар нэвтрүүлэх ба динамик төлвийн хүснэгтэн дэх
сесс харилцааны төлөв шинэчлэгдэнэ. Үлдсэн пакетуудыг дотогшоо урсгалын дүрмээр
шалгах болно.
Харилцаа дуусахад динамик төлвийн хүснэгтээс зохих бичлэг
устгагдана.
Төлөвт шүүлтийн тусламжтайгаар та шинэ сесс зөвшөөрөх/хаах
үйл ажиллагаан дээр төвлөрч ажиллаж чадна. Хэрэв шинэ сесс зөвшөөрөгдсөн бол
түүний дараагийн бүх пакетуудыг автоматаар нэвтрүүлэх ба хуурамч пакетууд
автоматаар буцаагдана. Хэрэв шинэ сесс хаагдсан бол
түүний дараагийн ямар ч пакет нэвтэрч чадахгүй. Төлөвт шүүлт нь
сүүлийн үеийн халдлагуудад ашиглагдаж байгаа аргуудын эсрэг хамгаалах
чадвартай техникийн хувьд өндөр түвшний асуулга явуулах чадвартай юм.
Хамааруулсан дүрмийн олонлогийн жишээ
Дараах дүрмийн олонлог нь аюулгүй байдлыг маш сайн хангасан, хамааруулсан
галт ханын дүрмүүдийг хэрхэн бичих жишээ юм. Хамааруулсан галт хана нь зөвхөн pass дүрмүүдэд
тохирсон үйлчилгээг зөвшөөрч, бусдыг бүгдийг хаана. Бүх галт хананууд хамгийн багадаа хоёр
интерфэйстэй байх ба галт хана маягаар ажиллахын тулд дүрмүүдийг тусгайлан зааж өгсөн байна.
&os;-г оролцуулаад бүх &unix; төрлийн систем нь үйлдлийн систем дэх
дотоод харилцаандаа lo0 интерфэйс болон 127.0.0.1
гэсэн IP хаягийг хэрэглэхээр бүтээгдсэн байдаг. Галт ханын дүрмүүд нь дотооддоо хэрэглэж байгаа
эдгээр пакетуудыг чөлөөтэй нэвтрүүлэх дүрмүүдийг агуулсан байх ёстой.
Интернэттэй холбогдож байгаа интерфэйс дээр та өөрийн
Интернэт уруу гарч байгаа болон Интернэтээс ирж байгаа хандалтыг удирдах
болон хянах дүрмүүдийг байрлуулна. Энэ нь таны PPP tun0
интерфэйс эсвэл таны DSL эсвэл кабель модемд холбогдсон NIC байж болно.
Галт ханын цаана байгаа хувийн LAN-уудад нэг болон түүнээс дээш тооны NIC-ууд
холбогдсон тохиолдолд, тэдгээр интерфэйсүүдийн хувьд тэдгээр LAN интерфэйсүүдээс ирсэн
пакетуудыг чөлөөтэй нэвтрүүлэх дүрмийг агуулсан байх ёстой.
Дүрмүүд эхлээд гурван үндсэн хэсэгт хуваагдан зохион байгуулагдсан байх
ёстой: бүх чөлөөт халдашгүй интерфэйсүүд, нийтийн гадагшаа интерфэйс, ба
нийтийн дотогшоо интерфэйс.
Нийтийн интерфэйс хэсэгт байгаа дүрмүүд тухайн интерфэйс болон чиглэлийн
хувьд хамгийн олон тохиолддог дүрмүүд нь хамгийн түрүүнд, цөөн тохиолддог дүрмүүдээс өмнө байхаар,
хаах болох бүртгэх дүрмүүд нь хамгийн сүүлд байхаар бичигдсэн байна.
Дараах жишээн дээрх Гадагшаа хэсэг нь Интернэт хандалтыг зөвшөөрч өгөх
үйлчилгээг тодорхойлох сонголтын утгуудыг агуулсан зөвхөн 'pass' дүрмүүдээс бүрдэж байна.
Бүх дүрмүүд 'quick', 'on', 'proto', 'port', ба 'keep state' тохируулгуудыг агуулсан байгаа.
'proto tcp' дүрмүүд нь төлөвт байдлыг идэвхжүүлж байгаа пакетийг тодорхойлох байдлаар,
сесс эхлүүлэх хүсэлтийг тодорхойлох зорилгоор 'flag' тохируулгыг агуулсан байна.
Дотогшоо хэсэгт эхлээд хүсээгүй пакетуудыг хаах дүрмүүдийг бичсэн байна.
Энэ нь хоёр өөр шалтгаантай. Эхнийх нь, энэ дүрмүүдээр хаагдсан зүйлс нь
доор байгаа өөр нэг дүрмээр зөвшөөрөгдсөн пакетийн нэг хэсэг байж болох талтай. Хоёр дахь
шалтгаан нь, цөөхөн тоотой хүлээж авдаг ба бүртгэх хүсэлгүй байгаа пакетуудыг сонгон, тэдгээрийг
бүрнээр хаах дүрмийг эхлээд бичиж өгснөөр эдгээр пакетууд хамгийн сүүлд байгаа ямар ч дүрмүүдэд
тохироогүй пакетуудыг бүртгээд хаана гэсэн дүрмээр дайрахгүй болгож байгаа юм. Учир нь энэ хэсгийн хамгийн
сүүлд байгаа бүгдийг бүртгээд хаана гэсэн дүрэм бол өөрийн систем уруу халдаж байгаа халдлагын нотолгоог
цуглуулах таны нэг арга билээ.
Өөр нэг тэмдэглэн хэлэх зүйл бол, хүсээгүй пакетуудын хариуд ямар ч хариу явуулахгүй,
тэд зүгээр л орхигдож алга болно. Ингэснээр халдлага явуулагч түүний явуулсан пакетууд
таны системд хүрсэн эсэх талаар юу ч мэдэхгүй үлдэх болно. Таны системийн талаар хэдий хэр бага мэднэ,
тэд ямар нэг муу зүйл хийж чадах хүртэл төдий чинээ урт хугацаа зарцуулна гэсэн үг юм.
Дотогшоо 'nmap OS fingerprint' оролдлогын эхний тохиолдлыг би бүртгэж байгаа,
яагаад гэвэл энэ бол гадны халдлагын нэг хэлбэр юм.
'log first' орсон дүрмийн хувьд та анхны бүртгэлийг харах юм бол
ipfstat -hio тушаалаар энэ дүрэм хэдэн удаа тохирсон байгааг
шалгаарай. Магадгүй та халдлагад өртөж байж болох юм.
Хэрвээ мэдэхгүй дугаартай портын хувьд пакетууд бүртгэгдсэн байвал
/etc/services файлаас эсвэл
хаягаар тухайн
порт ямар зориулалтаар ашиглагддагийг орж шалгаарай.
Троянуудын хэрэглэдэг портын дугааруудыг
хаягаар орж шалгаарай.
Дараах дүрмийн олонлог нь миний өөрийн систем дээрээ хэрэглэдэг
аюулгүй байдлыг бүрэн хангасан хамааруулсан галт ханын дүрмийн олонлог байгаа юм.
Та энэ дүрмүүдийг өөрийн системдээ ашиглахад буруудах юмгүй.
Зөвшөөрөхийг хүсэхгүй байгаа үйлчилгээнүүдийн хувьд харгалзах
нэвтрүүлэх дүрмийг далдлаарай.
Хэрэв бүртгэлд байгаа зарим мэдэгдлийг дахин харахыг хүсэхгүй, бүртгэхийг
хүсэхгүй байгаа бол дотогшоо хэсэгт хаах дүрэм нэмж бичээрэй.
Дүрэм бүрт байгаа dc0 гэсэн интерфэйсийн нэрийн оронд
таны системийг Интернэт уруу холбож байгаа NIC картны интерфэйсийн нэрийг сольж тавиарай.
Хэрэглэгчийн PPP-н хувьд, энэ нь tun0 байна.
Дараах илэрхийллүүдийг /etc/ipf.rules дотор бичих хэрэгтэй:
#################################################################
# No restrictions on Inside LAN Interface for private network
# Not needed unless you have LAN
#################################################################
#pass out quick on xl0 all
#pass in quick on xl0 all
#################################################################
# No restrictions on Loopback Interface
#################################################################
pass in quick on lo0 all
pass out quick on lo0 all
#################################################################
# Interface facing Public Internet (Outbound Section)
# Interrogate session start requests originating from behind the
# firewall on the private network
# or from this gateway server destine for the public Internet.
#################################################################
# Allow out access to my ISP's Domain name server.
# xxx must be the IP address of your ISP's DNS.
# Dup these lines if your ISP has more than one DNS server
# Get the IP addresses from /etc/resolv.conf file
pass out quick on dc0 proto tcp from any to xxx port = 53 flags S keep state
pass out quick on dc0 proto udp from any to xxx port = 53 keep state
# Allow out access to my ISP's DHCP server for cable or DSL networks.
# This rule is not needed for 'user ppp' type connection to the
# public Internet, so you can delete this whole group.
# Use the following rule and check log for IP address.
# Then put IP address in commented out rule & delete first rule
pass out log quick on dc0 proto udp from any to any port = 67 keep state
#pass out quick on dc0 proto udp from any to z.z.z.z port = 67 keep state
# Allow out non-secure standard www function
pass out quick on dc0 proto tcp from any to any port = 80 flags S keep state
# Allow out secure www function https over TLS SSL
pass out quick on dc0 proto tcp from any to any port = 443 flags S keep state
# Allow out send & get email function
pass out quick on dc0 proto tcp from any to any port = 110 flags S keep state
pass out quick on dc0 proto tcp from any to any port = 25 flags S keep state
# Allow out Time
pass out quick on dc0 proto tcp from any to any port = 37 flags S keep state
# Allow out nntp news
pass out quick on dc0 proto tcp from any to any port = 119 flags S keep state
# Allow out gateway & LAN users non-secure FTP ( both passive & active modes)
# This function uses the IPNAT built in FTP proxy function coded in
# the nat rules file to make this single rule function correctly.
# If you want to use the pkg_add command to install application packages
# on your gateway system you need this rule.
pass out quick on dc0 proto tcp from any to any port = 21 flags S keep state
# Allow out secure FTP, Telnet, and SCP
# This function is using SSH (secure shell)
pass out quick on dc0 proto tcp from any to any port = 22 flags S keep state
# Allow out non-secure Telnet
pass out quick on dc0 proto tcp from any to any port = 23 flags S keep state
# Allow out FBSD CVSUP function
pass out quick on dc0 proto tcp from any to any port = 5999 flags S keep state
# Allow out ping to public Internet
pass out quick on dc0 proto icmp from any to any icmp-type 8 keep state
# Allow out whois for LAN PC to public Internet
pass out quick on dc0 proto tcp from any to any port = 43 flags S keep state
# Block and log only the first occurrence of everything
# else that's trying to get out.
# This rule enforces the block all by default logic.
block out log first quick on dc0 all
#################################################################
# Interface facing Public Internet (Inbound Section)
# Interrogate packets originating from the public Internet
# destine for this gateway server or the private network.
#################################################################
# Block all inbound traffic from non-routable or reserved address spaces
block in quick on dc0 from 192.168.0.0/16 to any #RFC 1918 private IP
block in quick on dc0 from 172.16.0.0/12 to any #RFC 1918 private IP
block in quick on dc0 from 10.0.0.0/8 to any #RFC 1918 private IP
block in quick on dc0 from 127.0.0.0/8 to any #loopback
block in quick on dc0 from 0.0.0.0/8 to any #loopback
block in quick on dc0 from 169.254.0.0/16 to any #DHCP auto-config
block in quick on dc0 from 192.0.2.0/24 to any #reserved for docs
block in quick on dc0 from 204.152.64.0/23 to any #Sun cluster interconnect
block in quick on dc0 from 224.0.0.0/3 to any #Class D & E multicast
##### Block a bunch of different nasty things. ############
# That I do not want to see in the log
# Block frags
block in quick on dc0 all with frags
# Block short tcp packets
block in quick on dc0 proto tcp all with short
# block source routed packets
block in quick on dc0 all with opt lsrr
block in quick on dc0 all with opt ssrr
# Block nmap OS fingerprint attempts
# Log first occurrence of these so I can get their IP address
block in log first quick on dc0 proto tcp from any to any flags FUP
# Block anything with special options
block in quick on dc0 all with ipopts
# Block public pings
block in quick on dc0 proto icmp all icmp-type 8
# Block ident
block in quick on dc0 proto tcp from any to any port = 113
# Block all Netbios service. 137=name, 138=datagram, 139=session
# Netbios is MS/Windows sharing services.
# Block MS/Windows hosts2 name server requests 81
block in log first quick on dc0 proto tcp/udp from any to any port = 137
block in log first quick on dc0 proto tcp/udp from any to any port = 138
block in log first quick on dc0 proto tcp/udp from any to any port = 139
block in log first quick on dc0 proto tcp/udp from any to any port = 81
# Allow traffic in from ISP's DHCP server. This rule must contain
# the IP address of your ISP's DHCP server as it's the only
# authorized source to send this packet type. Only necessary for
# cable or DSL configurations. This rule is not needed for
# 'user ppp' type connection to the public Internet.
# This is the same IP address you captured and
# used in the outbound section.
pass in quick on dc0 proto udp from z.z.z.z to any port = 68 keep state
# Allow in standard www function because I have apache server
pass in quick on dc0 proto tcp from any to any port = 80 flags S keep state
# Allow in non-secure Telnet session from public Internet
# labeled non-secure because ID/PW passed over public Internet as clear text.
# Delete this sample group if you do not have telnet server enabled.
#pass in quick on dc0 proto tcp from any to any port = 23 flags S keep state
# Allow in secure FTP, Telnet, and SCP from public Internet
# This function is using SSH (secure shell)
pass in quick on dc0 proto tcp from any to any port = 22 flags S keep state
# Block and log only first occurrence of all remaining traffic
# coming into the firewall. The logging of only the first
# occurrence stops a .denial of service. attack targeted
# at filling up your log file space.
# This rule enforces the block all by default logic.
block in log first quick on dc0 all
################### End of rules file #####################################
NAT
NAT
IP маскарад
NAT
сүлжээний хаягийн хөрвүүлэлт
NAT
NAT нь Network Address Translation буюу
Сүлжээний хаягийн Хөрвүүлэлтийн товчлол юм. &linux;-н талаар ойлголттой хүмүүсийн хувьд,
энэ ойлголтыг IP маскарад гэж нэрлэдэг; NAT ба IP маскарад
нь нэг зүйл юм. IPF NAT-н бидэнд олгож байгаа олон зүйлүүдийн нэг бол
галт ханын цаана байгаа Local Area Network буюу Ойрын Зайн Сүлжээ(LAN)-н хувьд
ISP-с оноож өгсөн ганц IP хаягийг Интернэтэд хуваан хэрэглэх юм.
Ингэх ямар шаардлага байнаа гэж та гайхан асуух байх.
ISP-ууд өөрийн ашгийн-бус хэрэглэгчиддээ ихэвчлэн динамик IP хаяг оноодог.
Динамик гэдэг нь таныг ISP руу залган нэвтрэн орох болгонд, кабель эсвэл
DSL модемтой хэрэглэгчдийн хувьд модемоо асааж унтраах болгонд танд
өөр өөр IP хаяг онооно гэсэн үг юм. Энэ IP хаягаар та Интернэтэд гарах болно.
Та гэртээ таван PC-тэй бөгөөд бүгд Интернэт уруу гардаг байх хэрэгтэй гэж бодъё.
Тэгвэл та PC тус бүрт тусад нь эрх худалдан авч, таван утасны үзүүртэй байх хэрэгтэй болно.
Тэгвэл NAT-н тусламжтай та ISP-гаасаа зөвхөн ганцхан эрх худалдан аваад,
бусад дөрвөн PC-гээ switch буюу шилжүүлэгч уруу холбож, харин switch-ээ таны LAN-нд гарц байдлаар ажиллах
&os; системийн NIC руу залгана. NAT нь LAN-д байгаа бүх PC-ны хувьд хувийн IP
хаягийг ганцхан гадаад IP хаяг уруу автоматаар хөрвүүлэх болно. NAT нь эргэж
ирж байгаа пакетуудын хувьд эсрэг хөрвүүлэлтийг мөн хийнэ.
Ихэнх тохиолдолд NAT-г ISP-н зөвшөөрөлгүйгээр,
мэдэгдэлгүйгээр хийдэг бөгөөд хэрэв ISP энэ тухайн мэдвэл таны эрхийг хаах
хүртэл арга хэмжээ авдаг. Зүй нь бол хэрэглэгчид Интернэт холболтондоо илүү мөнгө
төлж, хэзээ ч өөрчлөгдөхгүй бүлэг статик IP хаягийг авах явдал юм. ISP харин хэрэглэгчиддээ
итгэл хүлээлгэн хэрэглэгчид нь NAT-г дотоод хувийн LAN-даа хэрэглэнэ гэж боддог.
NAT хийгдсэн хувийн LAN IP хаягт зориулж бүлэг IP хаягийг тусгайлан
гаргасан байдаг. RFC 1918 стандартад зааснаар бол, дараах бүлэг IP-г хувийн сүлжээндээ ашиглах
боломжтой, эдгээр IP хэзээ ч гадаад Интернэт уруу гарахгүй болно:
Эхлэх IP 10.0.0.0
-
Төгсөх IP 10.255.255.255
Эхлэх IP 172.16.0.0
-
Төгсөх IP 172.31.255.255
Эхлэх IP 192.168.0.0
-
Төгсөх IP 192.168.255.255
IPNAT
NAT
ба IPFILTER
ipnat
NAT дүрмүүдийг ipnat тушаалын
тусламжтай ачаална. Ихэвчлэн NAT дүрмүүд /etc/ipnat.rules
файл дотор байрлана. Дэлгэрэнгүйг &man.ipnat.1; хэсгээс үзнэ үү.
NAT ажиллаж эхэлсний дараа NAT дүрмүүдэд
өөрчлөлт оруулах шаардлагатай бол NAT дүрмүүд байгаа файл дотор өөрчлөлтийг хийсний дараа,
одоо хэрэглэгдэж байгаа NAT дүрмүүдийг устгаж, хөрвүүлэгч хүснэгтийг цэвэрлэхийн
тулд ipnat тушаалыг тугийн хамт ажиллуулах хэрэгтэй.
Харин NAT дүрмүүдийг дахин ачаалахдаа тушаалыг
дараах байдалтай өгөх хэрэгтэй:
&prompt.root; ipnat -CF -f /etc/ipnat.rules
NAT-н талаар зарим статистикийг харъя гэвэл дараах
тушаалыг ашиглана:
&prompt.root; ipnat -s
NAT хүснэгтийн одоо ашиглаж байгаа оноолтын жагсаалтыг
харахын тулд дараах тушаалыг ашиглана:
&prompt.root; ipnat -l
Вербос буюу хэр зэрэг харуулах горимыг нээхийн тулд, дүрэмтэй ажиллах болон идэвхтэй
байгаа дүрмүүдийн хүснэгтийг харахын тулд:
&prompt.root; ipnat -v
IPNAT Дүрмүүд
NAT дүрмүүд нь маш уян хатан бөгөөд хэрэглэгчдийн
хэрэгцээг хангах олон зүйлүүдийг хийж чадна.
Энд үзүүлсэн дүрмийн синтаксыг ашгийн-бус орчинд ихэвчлэн хэрэглэгддэг
дүрмүүдэд зориулан хялбаршуулсан байгаа. Дүрмийн синтаксын бүрэн тайлбарыг &man.ipnat.5;
заавар хуудаснаас үзнэ үү.
NAT дүрмийн синтакс дараах байдалтай байна:
map IF LAN_IP_RANGE -> PUBLIC_ADDRESS
Дүрэм нь map гэсэн түлхүүр үгээр эхэлнэ.
IF-г гадаад интерфэйсээр сольж тавьна.
LAN_IP_RANGE нь танай дотоод хэрэглэгчийн
хэрэглэж буй IP хаяглалтыг заана, ихэвчлэн 192.168.1.0/24
гэсэн маягтай байна.
PUBLIC_ADDRESS нь гадаад IP
байж болно эсвэл IF-д оноосон IP хаягийг
хэрэглэхийг заасан 0/32 гэсэн тусгай түлхүүр үг байж болно.
NAT хэрхэн ажилладаг вэ
Гадаад очих хаягтай пакет галт хана дээр LAN-с хүрэлцэн ирнэ.
Эхлээд гадагшаа шүүлтийн дүрмүүдээр гарна, дараа нь NAT-н
ээлж ирэх ба өөрийн дүрмүүдийг дээрээс доош шалгаж эхэлнэ. Хамгийн эхэнд тохирсон нь
дийлнэ. NAT өөрийн дүрэм бүрийг пакетийн интерфэйсийн нэр болон
эхлэл хаягаар тулгаж шалгана. Пакетийн интерфэйсийн нэр NAT
дүрэмтэй тохирвол пакетийн [эхлэл IP хаяг, өөрөөр хэлбэл хувийн LAN IP хаяг]
NAT дүрмийн сумны зүүн талд зааж өгсөн
IP хаягийн зурвас дотор байгаа эсэхийг шалгана. Хэрэв энэ тохирвол
пакетийн эхлэл хаягийг 0/32 түлхүүр үгийн тусламжтай
олж авсан гадаад IP хаягаар сольж бичнэ. NAT
өөрийн дотоод NAT хүснэгтэнд бичлэг нэмэх ба энэ нь
пакет Интернэтээс буцаж ирэхэд түүнийг буцаан хувийн IP хаяг уруу нь хөрвүүлэн,
цааш шүүлтийн дүрмүүдээр оруулах боломжийг олгоно.
IPNAT-г идэвхжүүлэх
IPNAT-г идэвхжүүлэхийн тулд эдгээр илэрхийллүүдийг
/etc/rc.conf дотор нэмж бичнэ.
Өөрийн машиныг интерфэйсүүдийн хооронд пакетуудыг чиглүүлдэг
болгохын тулд:
gateway_enable="YES"
Систем ачаалахад IPNAT-г автоматаар ачаалдаг
болгохын тулд:
ipnat_enable="YES"
IPNAT-н дүрмүүдийг хаанаас ачаалахыг зааж өгөхдөө:
ipnat_rules="/etc/ipnat.rules"
Маш том LAN-д зориулсан NAT
LAN-даа олон тооны PC-тэй сүлжээний хувьд эсвэл нэгээс олон
LAN-тай сүлжээний хувьд, энэ олон хувийн IP хаягуудыг нэг гадаад IP хаяг уруу
нийлүүлэх үйл явцад NAT хийгдсэн олон LAN PC дээр ижил портын
дугаар олон дахин хэрэглэгдсэнээс мөргөлдөөн үүсэх гэх мэт нөөцтэй холбоотой асуудал гардаг.
Нөөцтэй холбоотой энэ асуудлаас гарахын тулд дараах хоёр арга зам байдаг.
Хэрэглэх портуудыг оноох
Энгийн NAT дүрэм дараах байдалтай байна:
map dc0 192.168.1.0/24 -> 0/32
Дээрх дүрмэнд пакет IPNAT-р дайрч өнгөрөхөд
пакетийн эхлэл порт өөрчлөгдөхгүй. portmap гэсэн түлхүүр үгийн тусламжтай
IPNAT эхлэл порт зурвасыг ашиглах боломжтой болно.
Жишээ нь, дараах дүрэм IPNAT-г эхлэл порт хаягийг
тухайн зурвас дотор байхаар өөрчлөхийг зааж өгч байна.
map dc0 192.168.1.0/24 -> 0/32 portmap tcp/udp 20000:60000
Дээр нь бид auto түлхүүр үгийн тусламжтай
аль портуудыг ашиглах боломжтой байгааг өөрөө тодорхойлохыг зааж өгч болно:
map dc0 192.168.1.0/24 -> 0/32 portmap tcp/udp auto
Гадаад хаягийн цөөрмийг хэрэглэх
Маш том LAN-уудын хувьд дэндүү олон LAN хаягуудыг нэг гадаад
хаягт оноох нь боломжгүй болох үе ирдэг. Хэрэв бүлэг гадаад IP сул байгаа бол,
та эдгээр IP хаягуудыг цөөрөм
байдлаар ашиглаж болох ба,
IPNAT эдгээрээс нэгийг сонгон авч гадагшаа явж байгаа
пакетийн хаягт оноох байдлаар хэрэглэх болно.
Жишээ нь, доор үзүүлсэн шиг бүх пакетуудыг ганц
гадаад IP-д оноохын оронд:
map dc0 192.168.1.0/24 -> 204.134.75.1
гадаад IP хаягийн зурвасыг сүлжээний хуваалтын хамт зааж өгч болно:
map dc0 192.168.1.0/24 -> 204.134.75.0/255.255.255.0
эсвэл CIDR тэмдэглэгээг хэрэглэж болно:
map dc0 192.168.1.0/24 -> 204.134.75.0/24
Портын дахин чиглүүлэлт
LAN дотор вэб сервер, цахим шуудангийн сервер, өгөгдлийн
сангийн сервер болон DNS серверийг өөр өөр PC дээр тараан ажиллуулах нь
түгээмэл байдаг. Энэ тохиолдолд эдгээр серверээс гарч байгаа урсгал
мөн NAT хийгдсэн байх ёстой. Гэхдээ гаднаас ирж буй
урсгалыг зөв LAN PC уруу дахин чиглүүлэх арга зам байх хэрэгтэй болно.
Энэ асуудлыг шийдэхийн тулд IPNAT нь дахин чиглүүлэлт хийх
NAT нэмэлт боломжийг олгодог. Таны вэб сервер
10.0.10.25 гэсэн LAN хаягтай байна,
мөн та 20.20.20.5 гэсэн ганц гадаад IP-тай
байлаа гэж бодъё. Тэгвэл та дүрмээ дараах байдалтай:
rdr dc0 20.20.20.5/32 port 80 -> 10.0.10.25 port 80
эсвэл:
rdr dc0 0.0.0.0/0 port 80 -> 10.0.10.25 port 80
эсвэл гаднаас DNS хүсэлтүүд хүлээн авдаг
10.0.10.33 гэсэн хаягтай LAN DNS Серверийн хувьд:
rdr dc0 20.20.20.5/32 port 53 -> 10.0.10.33 port 53 udp
гэж бичих байсан.
FTP ба NAT
FTP-г Интернэт одоогийнх шиг байхаас өмнөх үе, их сургуулиуд
түрээсийн шугамаар хоорондоо холбогдож, судлаач эрдэмтэд хоорондоо файл солилцохын тулд
FTP-г ашигладаг байх үес үлдсэн үлэг гүрвэл гэж хэлж болох юм. Тэр үед
өгөгдлийн аюулгүй байдлын талаар огт анхаардаггүй байлаа. Цаг хугацаа өнгөрөхөд
FTP протоколыг шинээр гарч ирж байгаа Интернэтийн гол нуруу сүлжээнд хэрэглэх болсон ба
түүний хэрэглэгчийн нэр, нууц үгийг цэвэр текст хэлбэрээр дамжуулдаг байдал нь
хэзээ ч өөрчлөгдөөгүй бөгөөд орчин үеийн аюулгүй байдлын шаардлагад
нийцэхгүй болсон билээ. FTP нь active буюу идэвхтэй, passive буюу идэвхгүй гэсэн хоёр
горимд ажилладаг. Өгөгдлийн сувгийг хэрхэн ашиглаж байгаа дээр гол ялгаа нь гардаг.
Өгөгдлийн сувгийг ftp сесс хүсэгч байдлаар ажиллуулдаг тул идэвхгүй горимд ажиллах
нь аюулгүй байдлыг илүүтэйгээр хангана. FTP-н талаар илүү сайн тайлбарыг болон түүний
горимуудын талаар хаягаар үзнэ үү.
IPNAT Дүрмүүд
IPNAT нь дотроо NAT
оноолт дүрэмд тодорхойлж өгөх боломжтой тусгай FTP прокси тохируулгыг
агуулсан байдаг. Энэ нь идэвхтэй болон идэвхгүй FTP сесс эхлүүлэх хүсэлтэд
оролцож байгаа бүх гадагшаа чиглэлтэй FTP пакетийг хянаж чадна. Мөн
өгөгдлийн сувагт үнэхээр хэрэглэгдэж байгаа порт дугаарыг агуулсан түр зуурын
шүүлтийн дүрмүүдийг динамикаар үүсгэж чадна. Ийм байдлаар FTP-с болж үүсдэг
дээд хэсгийн портуудыг өргөн зурвасаар нээх эрсдэлээс галт ханыг хамгаалж байгаа юм.
Доорх дүрэм нь дотоод LAN-н бүх урсгалыг зохицуулна:
map dc0 10.0.10.0/29 -> 0/32 proxy port 21 ftp/tcp
Доорх дүрэм гарцаас ирж буй FTP урсгалыг зохицуулна:
map dc0 0.0.0.0/0 -> 0/32 proxy port 21 ftp/tcp
Доорх дүрэм дотоод LAN-с ирж буй бүх FTP-н биш урсгалыг зохицуулна:
map dc0 10.0.10.0/29 -> 0/32
FTP оноолтын дүрэм нь бидний ердийн оноолтын дүрмүүдийн өмнө бичигдэнэ.
Бүх пакетийг хамгийн дээр бичигдсэн дүрмээс эхлэн шалгана.
Интерфэйсийн нэр тохирвол дотоод LAN эхлэл IP хаяг, дараа нь FTP пакет эсэхийг
шалгана. Хэрэв бүгд тохирвол, тусгай FTP прокси эдгээр FTP сесс пакетуудыг
NAT хийхээс гадна гадагш нь болон дотогш нь нэвтрүүлэх
түр зуурын шүүлтийн дүрмийг үүсгэнэ. FTP-н биш бусад бүх LAN пакетууд эхний
дүрмэнд тохирохгүй тул гуравдугаар дүрэм уруу шилжин дахин шалгагдана. Интерфэйс болон
эхлэл IP тохирох тул NAT хийгдэнэ.
IPNAT FTP Шүүлтийн Дүрмүүд
NAT FTP прокси ашиглаж байгаа тохиолдолд
FTP-н хувьд ганцхан шүүлтийн дүрэм хэрэгтэй.
FTP Прокси байхгүй бол та дараах гурван дүрмийг хэрэглэнэ:
# Allow out LAN PC client FTP to public Internet
# Active and passive modes
pass out quick on rl0 proto tcp from any to any port = 21 flags S keep state
# Allow out passive mode data channel high order port numbers
pass out quick on rl0 proto tcp from any to any port > 1024 flags S keep state
# Active mode let data channel in from FTP server
pass in quick on rl0 proto tcp from any to any port = 20 flags S keep state
IPFW
галт хана
IPFW
Энэ хэсэг дээр үргэлжлүүлэн ажиллаж байгаа болно. Агуулга зарим газар
буруу байхыг үгүйсгэхгүй.
IPFIREWALL (IPFW) нь &os;-ийн хандиваар &os;-ийн сайн дурын гишүүдийн бүтээсэн,
тэдний эрх мэдэлд байдаг галт ханын програм юм. Энэ нь хуучин уламжлалт төлөвт
дүрмүүдийг хэрэглэдэг бөгөөд Simple Stateful logiс буюу Хялбар Төлөвт логикийг
бий болгохын тулд уламжлалт дүрэм бичих техникийг хэрэглэдэг.
Стандарт &os; суулгац дахь IPFW-н хялбар дүрмийн олонлог(/etc/rc.firewall
файл дотор байрлана) нь нилээд хялбар бөгөөд өөрт тохируулан засварласны дараа хэрэглэхээр бодолцон
бичигдсэн байдаг. Жишээн дээр ихэнх суулгацад тохиромжтой төлөвт шүүлтийг хэрэглээгүй байгаа.
Тиймээс энэ хэсэгт энэ жишээг хэрэглэхгүй болно.
IPFW-н төлөвт дүрмийн синтакс нь галт хана суулгах анхан шатны мэдлэгээс
хол давсан техникийн хувьд ярвигтай сонголтын боломжуудаар хүч нэмсэн байдаг.
IPFW нь мэргэжлийн түвшний хэрэглэгчид эсвэл өндөр түвшний пакет сонголт
шаардлагатай байгаа техникийн өндөр түвшний компьютер сонирхогчид зориулагдсан юм.
IPFW-н дүрмүүдийн хүчийг мэдрэхийн өмнө протоколууд өөрийн тусгай пакетийн толгойн
мэдээллийг хэрхэн үүсгэдэг болон хэрэглэдэг талаар нилээд дэлгэрэнгүй мэдлэгийг
олж авсан байх хэрэгтэй. Тийм түвшний тайлбарыг энд өгөх нь номын энэ бүлгийн
мэдлээс халих тул энд оруулах боломжгүй юм.
IPFW нь долоон хэсгээс бүрдэнэ, гол хэсэг болох цөмийн галт ханын шүүлтийн
дүрмийг боловсруулагч болон түүний бусад хэсэг болох пакет данслах боломж, бүртгэх боломж, NAT
боломжийг идэвхжүүлэх 'divert буюу эргүүлэх' дүрэм, болон өндөр түвшний тусгай зориулалттай боломжууд,
dummynet трафик хязгаарлагч боломжууд, 'fwd дүрэм' дамжуулах боломж, гүүр боломжууд, болон
ipstealth боломжуудаас бүрдэнэ.
IPFW-г идэвхжүүлэх
IPFW
идэвхжүүлэх
IPFW нь &os; үндсэн суулгацтай хамт, ажиллах үеийн ачаалах боломжтой модуль байдлаар ирдэг.
rc.conf тохиргооны файл дотор firewall_enable="YES" илэрхийлэл байгаа үед систем IPFW цөмийн
модулийг динамикаар ачаална. NAT функцыг ашиглахгүй бол
IPFW-г цөмд эмхэтгэх шаардлага байхгүй.
rc.conf файл дотор firewall_enable="YES"
илэрхийллийг нэмээд системийг дахин асаасны дараа ачаалах үйл явцын нэг хэсэг болж
дараах мессеж дэлгэцэн дээр гарах болно:
ipfw2 initialized, divert disabled, rule-based forwarding disabled, default to deny, logging disabled
Ачаалах боломжтой модульд бүртгэх боломжийг эмхэтгээгүй байгаа.
Бүртгэлийг идэвхжүүлэхийн тулд, мөн вербос бүртгэлийн хязгаарыг тогтоохын тулд
/etc/sysctl.conf файл дотор дараах илэрхийллүүдийг нэмж өгөх
хэрэгтэй, бүртгэлийн систем дараагийн удаа ачаалахад идэвхжинэ:
net.inet.ip.fw.verbose=1
net.inet.ip.fw.verbose_limit=5
Цөмийн тохируулгууд
цөмийн тохируулгууд
IPFIREWALL
цөмийн тохируулгууд
IPFIREWALL_VERBOSE
цөмийн тохируулгууд
IPFIREWALL_VERBOSE_LIMIT
IPFW
цөмийн тохируулгууд
NAT функцыг хэрэглэхгүй бол &os; цөм уруу
дараах боломжуудыг эмхэтгэн IPFW-г идэвхжүүлэх албагүй болно.
Суурь мэдлэг болгон энд үзүүллээ.
options IPFIREWALL
Энэ тохируулга IPFW-г цөмийн нэг хэсэг болгон идэвхжүүлнэ
options IPFIREWALL_VERBOSE
Энэ тохируулга 'log' гэсэн түлхүүр үг орсон дүрмийн хувьд
IPFW-р дайран өнгөрөх пакетуудыг бүртгэх боломжтой болгоно.
options IPFIREWALL_VERBOSE_LIMIT=5
Энэ тохируулга &man.syslogd.8;-р нэгэн зэрэг бүртгэгдэж буй
пакетийн тоог хязгаарлана. галт ханын үйлдлүүдийг бүртгэхийг хүсэж байгаа
найрсаг орчнуудад та энэ тохируулгыг хэрэглээрэй. Энэ тохируулга нь
syslog-г живүүлэх замаар явагдах үйлчилгээг зогсоох халдлагыг хааж өгөх болно.
цөмийн тохируулгууд
IPFIREWALL_DEFAULT_TO_ACCEPT
options IPFIREWALL_DEFAULT_TO_ACCEPT
Энэ тохируулга нь галт ханыг дамжин өнгөрч байгаа бүх зүйлийг нэвтрүүлэх анхдагч
төлөвт оруулна. галт ханыг анх удаа тохируулж байгаа үед энэ нь илүү тохиромжтой.
options IPV6FIREWALL
options IPV6FIREWALL_VERBOSE
options IPV6FIREWALL_VERBOSE_LIMIT
options IPV6FIREWALL_DEFAULT_TO_ACCEPT
Эдгээр тохируулгууд IPv6-н тохируулгууд боловч IPv4-д байдаг тохируулгуудтай яг адилхан юм.
Хэрэв та IPv6-г хэрэглэдэггүй бол IPV6FIREWALL-г харгалзах ямар ч дүрэмгүйгээр
хэрэглэн бүх IPv6 урсгалыг хааж болох юм.
цөмийн тохируулгууд
IPDIVERT
options IPDIVERT
Энэ тохируулга NAT функцыг идэвхжүүлнэ.
Хэрэв та IPFIREWALL_DEFAULT_TO_ACCEPT-г оруулаагүй эсвэл
ирж байгаа пакетуудыг нэвтрүүлэх дүрмүүд бичээгүй бол та энэ машинаас ирж
байгаа болон явж байгаа бүх пакетуудыг хаачихлаа гэсэн үг юм.
/etc/rc.conf Тохируулгууд
галт ханыг идэвхжүүлэхийн тулд:
firewall_enable="YES"
&os;-тэй хамт ирдэг анхдагч галт ханын төрлүүдээс нэгийг
сонгохын тулд, /etc/rc.firewall файлыг уншсаны дараа
нэгийг сонгоод, түүнийгээ дараах илэрхийлэлд бичиж өгнө:
firewall_type="open"
Боломжит утгууд нь:
open — бүх урсгалыг нэвтрүүлнэ.
client — зөвхөн энэ машиныг хамгаална.
simple — бүхэл бүтэн сүлжээг хамгаална.
closed — loopback интерфэйсээс бусад IP
урсгалыг боломжгүй болгоно.
UNKNOWN — галт ханын дүрмүүдийг ачаалах
боломжгүй болгоно.
filename — галт ханын дүрмүүдийг агуулсан
файлын бүрэн зам.
ipfw галт хана уруу тусгайлан бэлдсэн
дүрмүүдийг хоёр аргаар ачаалж болно. Нэг нь, firewall_type хувьсагчийн
утганд &man.ipfw.8;-д зориулсан ямар ч тушаал мөрийн тохируулгагүйгээр бичигдсэн
галт ханын дүрмүүд-г агуулсан файлын бүрэн замыг өгөх. Дүрмүүдийг агуулсан
хялбар жишээ файл дараах байдалтай байж болно:
add block in all
add block out all
Нөгөө нь, систем ачаалах үед ажиллах ipfw тушаалуудыг
агуулсан ажиллах боломжтой скриптийн бүрэн замыг firewall_script
хувьсагчид оноох юм. Дээр үзүүлсэн дүрмүүдийн файлтай дүйх дүрмүүдийн скрипт дараах байдалтай
байна:
#!/bin/sh
ipfw -q flush
ipfw add block in all
ipfw add block out all
Хэрэв firewall_type нь client
эсвэл simple утгыг авсан бол, /etc/rc.firewall
файл доторх анхдагч дүрмүүдийг тухайн машинд тохируулан өөрчлөх хэрэгтэй.
Мөн энэ бүлэгт хэрэглэж байгаа жишээнүүдийн хувьд firewall_script-н утга
/etc/ipfw.rules гэж үзэж байгаа болно.
Бүртгэлийг идэвхжүүлэхийн тулд:
firewall_logging="YES"
firewall_logging хувьсагчийн
хийх ганц зүйл гэвэл net.inet.ip.fw.verbose sysctl
хувьсагчийн утгыг 1 болгох юм ( хэсгийг үзнэ үү). rc.conf
дотор бүртгэлийг хязгаарлах хувьсагч байхгүй, харин үүний тулд
sysctl хувьсагчаар дамжуулан хийж болно. /etc/sysctl.conf
файл дотор эсвэл гараараа утгыг оноож өгч болно:
net.inet.ip.fw.verbose_limit=5
Хэрэв таны машин гарц байдлаар ажиллаж байгаа бол,
жишээ нь &man.natd.8;-н тусламжтай Сүлжээний хаягийн Хөрвүүлэлт (NAT) хийж байгаа бол,
/etc/rc.conf файл доторх шаардлагатай тохируулгуудын
мэдээллийг хэсэг уруу хандана уу.
IPFW Тушаал
ipfw
галт ханыг ажиллаж байх явцад түүний идэвхтэй байгаа дотоод
дүрмүүдэд шинэ дүрэм нэмэх, дүрэм хасах зэрэг өөрчлөлтүүдийг гараар хийх
гол механизм бол ipfw тушаал юм. Энэ аргыг хэрэглэхэд тулгардаг нэг асуудал
бол нэгэнт системийг унтраасан эсвэл зогсоосон бол таны нэмсэн эсвэл хассан
эсвэл өөрчилсөн бүх дүрмүүд алга болно. Бүх дүрмүүдээ нэг файлд бичээд систем
ачаалах үед энэ файлыг ашиглан дүрмүүдийг ачаалах, эсвэл одоо ажиллаж байгаа
галт ханын дүрмүүдийг файл дотор хийсэн өөрчлөлтүүдээр бүхлээр нь сольж тавих нь
энд хэрэглэж байгаа, та бүхэнд зөвлөх арга барил юм.
Удирдлагын дэлгэцэн дээр ажиллаж байгаа галт ханын
дүрмүүдийг харуулахад ipfw тушаалыг одоо хэр нь хэрэглэсээр байна.
IPFW-н данс хөтлөх боломж нь дүрэм бүрийн хувьд тухайн дүрэмд тохирсон
пакетийг тоолох тоолуурыг үүсгэдэг. Ямар нэг дүрмийг шалгах үйл явцад тухайн
дүрэм ажиллаж байгаа эсэхийг тогтоох аргуудын нэг бол дүрмийг тоолуурын хамт
жагсаан харах байдаг.
Бүх дүрмүүдийг дараагаар нь жагсаан харахын тулд:
&prompt.root; ipfw list
Бүх дүрмүүдийг тухайн дүрэм хамгийн сүүлд тохирсон цагны хамт
жагсаан харахын тулд:
&prompt.root; ipfw -t list
Данслалтын мэдээлэл болон дүрмүүдийг тохирсон пакетийн тооны
хамт харахын тулд. Эхний багана нь дүрмийн дугаар, дараа нь энэ дүрэмд
тохирсон гарч байгаа пакетийн тоо, дараа нь энэ дүрэмд тохирсон орж байгаа
пакетийн тоо, тэгээд дүрэм өөрөө байна.
&prompt.root; ipfw -a list
Статик дүрмүүдээс гадна динамик дүрмүүдийг жагсаан харахын тулд:
&prompt.root; ipfw -d list
Мөн хугацаа нь дууссан динамик дүрмүүдийг харахын тулд:
&prompt.root; ipfw -d -e list
Тоолууруудыг тэглэхийн тулд:
&prompt.root; ipfw zero
Зөвхөн NUM дугаартай тоолуурыг тэглэхийн тулд:
&prompt.root; ipfw zero NUM
IPFW Дүрмийн Олонлог
Пакет дотор агуулагдаж байгаа утгуудыг үндэслэн тухайн пакетийг
нэвтрүүлэх болон хаахыг хэлж байгаа дүрмүүдийг дүрмийн олонлог гэнэ. Хостуудын
хоорондох хоёр чиглэлтэй пакет солилцоо нь сесс харилцааг бүрдүүлнэ. галт ханын
дүрмийн олонлогоор пакет хоёр дахин шүүгдэнэ, эхний удаа Интернэтээс пакетийг
хүлээн авахад, дараагийн удаа буцаж Интернэт уруу гарч явахад. Бүх TCP/IP үйлчилгээнүүдийн
хувьд (жишээ нь: telnet, www, mail, г.м.) ямар протоколоор ажиллах болон эхлэл ба
очих IP хаяг, эхлэл ба очих порт хаяг зэргийг урьдаас тодорхойлж өгсөн байдаг.
Эдгээр үзүүлэлтүүд дээр үндэслэн нэвтрүүлэх болох хаах дүрмүүдийг зохиодог.
IPFW
Дүрмүүдтэй ажиллах дэс дараалал
пакетийг галт хана хүлээн аваад дүрмийн олонлогт байгаа хамгийн
эхний дүрэмтэй тулгах ба цааш дүрмүүдийн дугаарын өсөх дарааллын дагуу
дээрээс доош нэг нэгээр шалгаж эхэлнэ. Пакет аль нэг дүрмийн сонголтын
параметртай тохирвол, түүнд харгалзах үйлдлийг хийж, тухайн пакетийн хувьд
цааш хайлтыг дуусгана. Энэ аргыг эхэнд тохирсон нь дийлнэ
хайлтын
арга гэнэ. Хэрэв тухайн пакет ямар ч дүрэмд тохирохгүй бол, энэ пакетийг 65535 дугаартай
бүх пакетийг хааж, явуулсан хүнд нь ямар ч хариу өгөлгүй орхигдуулна гэсэн
ipfw-н анхдагч дүрэмд албаар тохируулна.
count, skipto ба tee
дүрмүүдийн дараа хайлт үргэлжилнэ.
Энд байгаа зааварчилгаанууд нь төлөвт 'keep state', 'limit', 'in'/'out',
ба via зэрэг тохируулгуудыг агуулсан дүрмүүд дээр үндэслэгдсэн байгаа. Энэ бол хамааруулсан
галт ханын дүрмийн олонлогийг бичих үндсэн арга барил юм.
Хамааруулсан галт хана нь зөвхөн дүрмүүдэд тохирсон пакетуудыг нэвтрүүлнэ.
Ийм маягаар галт ханын цаанаас Интернэт уруу ямар ямар үйлчилгээнүүд
гарч болох болон эсрэгээр Интернэтээс дотоод сүлжээ уруу ямар ямар үйлчилгээнүүд нэвтэрч
болохыг удирдах боломжтой. Эдгээрээс бусад бүх урсгалыг хааж, бүртгэдэг байхаар зохиогдсон
байдаг. Хамааруулсан галт хана нь хамааруулаагүй галт ханаас аюулгүй байдлын хувьд
хэд дахин илүү, тиймээс энд бид зөвхөн хамааруулсан галт ханын дүрмүүдийн талаар
ярилцах болно.
галт ханын дүрмүүдтэй ажиллахдаа маш анхааралтай байх хэрэгтэй.
Зарим тохиргоо серверээс бүх холбоог тань тасалж мэднэ.
Дүрмийн Синтакс
IPFW
дүрмийн синтакс
Энд үзүүлсэн дүрмийн синтакс нь стандарт хамааруулсан
галт хана үүсгэхэд шаардлагатай дүрмийн олонлогийг бичих хэмжээнд
тохируулан хялбаршуулсан байгаа. Дүрмийн синтаксын бүрэн тайлбарыг &man.ipfw.8;
заавар хуудаснаас үзнэ үү.
Дүрмүүд нь түлхүүр үгүүдийг агуулна. Эдгээр түлхүүр үгүүд нь
тухайн мөрөнд зүүнээс баруун тийш тодорхой дэс дараагаар бичигдэнэ.
Түлхүүр үгүүд тодоор бичигдэх тул түүгээр нь ялгаж танина. Зарим түлхүүр
үгүүд дэд-тохируулгатай байна. Тэр нь өөрөө түлхүүр үг байж болохоос гадна
цааш дэд-тохируулгуудыг агуулсан байж болно.
# гэсэн тэмдэгт тайлбарын эхлэлийг заах ба
дүрэм бичсэн мөрийн төгсгөлд эсвэл өөрөө бүтэн мөр байдлаар байрлана.
Хоосон мөрийг тооцохгүй.
CMD RULE_NUMBER ACTION LOGGING SELECTION
STATEFUL
CMD
Шинэ дүрэм бүр дотоод хүснэгтэнд бичигдэхийн тулд
add гэсэн түлхүүр үгийг өмнөө агуулж байх ёстой.
RULE_NUMBER
Дүрэм бүр өөрийн дүрмийн дугаартай байх ёстой.
ACTION
Тухайн дүрмийн сонголтын үзүүлэлтэд пакет тохироход
заасан action буюу үйлдлийг гүйцэтгэх ба дүрэм нь дараах үйлдлүүдийн
аль нэгтэй холбогдсон байна.
allow | accept | pass |
permit
Эдгээр нь бүгд нэг зүйлийг, тухайлбал: дүрэмд тохирсон пакетуудыг нэвтрүүлж, галт ханын
дүрэмтэй ажиллах явцаас гарахыг хэлж өгч байна. Эдгээр дүрмүүдийн дараа хайлт
дуусна.
check-state
нь динамик дүрмийн хүснэгттэй пакетуудыг
тулгана. Хэрэв тохирвол, энэ динамик дүрмийг үүсгэсэн дүрэмд харгалзах
үйлдлийг гүйцэтгэнэ, үгүй бол дараагийн дүрэмд шилжинэ. check-state дүрэмд
сонголтын шалгуур байхгүй. Хэрэв дүрмийн олонлогт check-state дүрэм байхгүй бол
эхний keep-state эсвэл limit дүрмийг динамик дүрмийн хүснэгттэй тулгана.
deny | drop
Энэ хоёр үг хоёул дүрэмд тохирсон пакетуудыг хаяхыг
заана. Хайлт энд дуусна.
Бүртгэл хөтлөлт
log эсвэл logamount
Пакет log гэсэн түлхүүр үг орсон дүрэмд тохироход, энэ тухай мессеж
syslogd уруу SECURITY гэсэн facility нэртэйгээр бүртгэгдэнэ. Зөвхөн
тухайн дүрмийн хувьд бүртгэгдсэн пакетийн тоо logamount параметрийн утгыг
даваагүй тохиолдолд бүртгэл явагдана. Хэрэв logamount-н утгыг зааж өгөөгүй бол,
sysctl-н net.inet.ip.fw.verbose_limit хувьсагчийн утгыг хязгаарын утга болгон авна.
Аль ч тохиолдолд тэг гэсэн утга бүртгэлийн хязгаарыг үгүй болгоно. Хязгаарт тулсан
тохиолдолд, бүртгэлийг дахин идэвхжүүлэхийн тулд бүртгэлийн тоолуурыг эсвэл
тухайн дүрмийн пакет тоолуурыг дахин эхлүүлнэ. ipfw reset log тушаалыг үзнэ үү.
Бүртгэл нь бусад бүх пакет тохирох нөхцлүүд амжилттай нотлогдсоны дараа,
мөн тухайн пакет дээр эцсийн үйлдлийг(зөвшөөрөх, татгалзах) хийхийн өмнө явагдана.
Ямар дүрмүүдийн хувьд бүртгэл явуулахыг та шийдэх болно.
Сонголт
Энд танилцуулах түлхүүр үгнүүд нь тухайн пакет дүрэмд тохирч байгаа
үгүй эсэхийг тодорхойлох үед, шалгагдаж байгаа пакетийн шинжүүдийг тодорхойлно.
Дараах байнгын хэрэглээний шинжүүд өгөгдсөн байдаг ба доорх дэс дарааллаар хэрэглэнэ:
udp | tcp | icmp
эсвэл /etc/protocols файлд байгаа ямар ч протоколын
нэрийг хэрэглэж болно. Харин утга нь шалгагдах протоколын нэрийг заана. Энэ бол заавал
тавигдах шаардлага юм.
from src to dst
from src to dst: from ба to гэсэн
түлхүүр үгүүд IP хаягийг шүүхэд хэрэглэгдэнэ. Хэрэглэх бол эхлэл ба
очих параметрийг ХОЁУЛАНГ зааж өгөх хэрэгтэй. any
гэсэн тусгай түлхүүр үгийн тусламжтай ямар ч IP хаягийг зөвшөөрч өгч болно.
Хэрэглэх жишээ: from any to any
эсвэл from 0.0.0.0/0 to any
эсвэл from any to
0.0.0.0/0
эсвэл from 0.0.0.0 to any
эсвэл
from any to 0.0.0.0
.
from ба to гэсэн түлхүүр үгүүд IP хаягийг шүүхэд хэрэглэгдэнэ.
Дүрмэнд хэрэглэхдээ эхлэл ба очих параметрүүдийг ХОЁУЛАНГ зааж өгөх ёстой.
any гэсэн тусгай түлхүүр үгийн тусламжтай бүх IP хаягийг
зөвшөөрч өгч болно. me гэсэн тусгай түлхүүр үг нь таны
&os; системийн аль нэг интерфэйс дээр тохируулсан IP хаягийг заах ба
галт хана ажиллаж байгаа PC-г (өөрөөр хэлбэл энэ машин) 'from me to any'
эсвэл 'from any to me' эсвэл 'from 0.0.0.0/0 to any' эсвэл 'from any to 0.0.0.0/0'
эсвэл 'from 0.0.0.0 to any' эсвэл 'from any to 0.0.0.0' эсвэл 'from me to 0.0.0.0'
гэсэн байдлаар төлөөлнө. IP хаягуудыг цэгтэй тоон хэлбэр/багийн-урт байдлаар эсвэл
зүгээр цэгтэй тоон хэлбэрээр бичиж болно. Энэ бол заавал тавигдах шаардлага юм.
Багийн уртыг бичихтэй холбоотой тусламжийг дараах хаягаар орж үзнэ үү.
port number
Портын дугаарыг дэмждэг протоколуудын хувьд
(TCP ба UDP гэх мэт), тааруулахыг хүсэж байгаа портын
дугаарыг заавал бичиж өгөх ёстой байдаг. Портын тоон утгын оронд үйлчилгээний нэрийг(/etc/services
файлаас) хэрэглэж болно.
in | out
Орж байгаа болон гарч байгаа пакетуудыг харгалзан тааруулна.
in ба out нь түлхүүр үгүүд бөгөөд дүрэмд тааруулах шалгуур болгож энэ хоёр
үгийн аль нэгийг заавал бичсэн байх ёстой.
via IF
Нэрээр нь зааж өгсөн интерфэйсээр дайран өнгөрч буй пакетуудыг
тааруулна. via гэсэн түлхүүр үг нь тухайн интерфэйсийг тааруулах үйл явцын
нэг хэсэг байдлаар байнга шалгаж байхыг зааж өгнө.
setup
Энэ түлхүүр үг нь TCP пакетуудын хувьд
сесс эхлүүлэх хүсэлтийг зааж өгч байгаа заавал хэрэглэх түлхүүр үг юм.
keep-state
Энэ бол заавал хэрэглэх түлхүүр үг юм. Дүрэм таарахад, галт хана
яг тэр протоколыг ашиглан эхлэл болон очих IP/портын хооронд үүсэх
хоёр чиглэлтэй урсгалыг тааруулах анхдагч чанартай динамик дүрэм үүсгэнэ.
limit {src-addr | src-port | dst-addr |
dst-port}
Дүрэмд заасантай адил параметрүүдтэй холболтын тоог N-р
хязгаарлана. Нэг ба түүнээс дээш тооны эхлэл болон очих хаягууд, портуудыг зааж өгч болно.
'limit' ба 'keep-state'-г нэг дүрэмд хамтад нь хэрэглэж болохгүй. Limit нь 'keep-state'-тэй адил төлөвт
функцуудыг гүйцэтгэхээс гадна өөрийн нэмэлт функцүүлтэй.
Төлөвт Дүрмийн Тохируулгууд
IPFW
төлөвт шүүлт
Төлөвт шүүлт нь урсгалыг сесс харилцаанаас бүрдэж буй хоёр чиглэлтэй пакет
солилцоо гэж үздэг. Мөн энэ нь сесс эхлүүлсэн болон хүлээн авсан хостуудын хоорондох сесс харилцаа нь
хоёр чиглэлтэй пакет солилцох процедуртай зохицож байгаа эсэхийг магадлах чадвартай байдаг.
Сесс харилцааны загварт зохицоогүй пакетийг хуурамч гэж үзэн хүлээж авахгүй.
'check-state' нь IPFW дүрмийн олонлогийн хаана нь пакетийг
динамик дүрмүүдийн боломжоор шалгахыг тогтооно. Таарсан тохиолдолд,
пакет галт ханыг нэвтэрч цааш явах ба энэ хоёр чиглэлт сесс харилцааны туршид
солилцох пакетуудын хувьд шинэ динамик дүрэм үүснэ. Таараагүй тохиолдолд,
пакет дүрмийн олонлогийн дараагийн дүрэмд шалгагдахаар шилжинэ.
Динамик дүрмүүдийн боломж нь маш олон тооны динамик дүрмүүдийг
нээдэг SYN-живүүлэх халдлагаас үүсэх нөөцийн хомсдолд эмзэг байдаг. Энэ халдлагаас зайлсхийхийн
тулд &os; limit гэсэн шинэ тохируулгыг нэмж өгсөн байдаг. Энэ тохируулгын
тусламжтай нэгэн зэрэг явагдах сесс харилцааны тоог хязгаарлана. Limit тохируулгад
зааж өгсөн эхлэл болон очих талбаруудаар пакетийн IP хаягийг асуулга явуулах замаар шалгасны дараа,
энэ дүрэмд энэ IP хаягийн хослол хэдэн удаа таарсан тоог харгалзан хэрэв энэ тоо хязгаараас
давсан бол тухайн пакетийг гээнэ.
галт ханын мессежийг бүртгэх
IPFW
бүртгэл хөтлөлт
Бүртгэл хөтлөлтийн ашиг тус тодорхой юм: Таны бүртгэхээр идэвхжүүлсэн
дүрмүүдийн хувьд, ямар пакетууд гээгдсэн, тэдгээр нь ямар хаягаас ирсэн, хаашаа явж байсан
зэрэг мэдээллийг эргэн харах боломжийг олгох ба гадны халдлагыг мөрдөхөд танд чухал хувь
нэмэр болно.
Бүртгэл хөтлөх боломжийг идэвхжүүлсэн хэдий ч,
IPFW нь өөрөө ямар ч дүрмийг үүсгэхгүй. Администратор аль дүрмүүдийн хувьд
бүртгэл явуулахыг шийдэн, тэдгээр дүрмүүддээ log гэсэн түлхүүр үгийг нэмж бичнэ.
Ихэвчлэн зөвхөн татгалзах дүрмүүдийг бүртгэдэг, жишээлбэл ирж буй ICMP ping-г
татгалзах гэх мэт. Хамгийн сүүлд байгаа ipfw-н анхдагч татгалзах дүрмийг хувилан log түлхүүр
үгтэйгээр үүсгэх нь элбэг байдаг. Ийм байдлаар дүрмийн олонлогийн аль ч дүрмэнд таараагүй
пакетуудыг харах боломжтой болно.
Бүртгэл хөтлөлт нь хоёр талдаа иртэй сэлэмтэй адил юм,
хэрэв та хайхрамжгүй хандвал, диск дүүрэн бүртгэлийн мэдээлэл
дотроо учраа олохгүй суух болно. Дискийг дүүргэх DoS халдлага нь
хамгийн эртний халдлагуудын нэг юм. Эдгээр бүртгэлийн мессеж нь syslogd-д
бичигдэхээс гадна, root консол дэлгэцэн дээр гарах учир удахгүй ядаргаатай санагдаж
эхэлдэг.
IPFIREWALL_VERBOSE_LIMIT=5 гэсэн
цөмийн тохируулга нь системийн бүртгэл хөтлөгч болох syslogd уруу
шидэгдэж байгаа тухайн дүрэмд тохирсон пакетад харгалзах
дараалсан мессежийн тоог хязгаарлана. Энэ тохируулгыг идэвхжүүлсэн үед,
тодорхой дүрмийн хувьд дараалсан мессежийн тоог зааж өгсөн тоогоор хязгаарлана.
Нэг ижил зүйлийг хэлсэн 200 бүртгэлийн бичлэгээс мэдэж авах зүйл хомс юм.
Жишээ нь, тодорхой дүрмийн хувьд дараалсан таван бичлэг syslogd-д бичигдэнэ,
үлдсэн дараалсан ижил бичлэгүүд тоологдоод syslogd-д дараах байдалтай бичигдэнэ:
last message repeated 45 times
Бүртгэл хөтлөгдөж байгаа бүх пакетуудын мессежүүд /etc/syslog.conf
файлд анхдагч байдлаар зааж өгсөн /var/log/security файлд бичигдэнэ.
Дүрмийн скриптийг бүтээх
Туршлагатай IPFW хэрэглэгчид дүрмүүдийг агуулсан файл үүсгээд
түүнийгээ скрипт байдлаар ажиллуулах боломжтой байхаар бичдэг.
Үүний гол давуу тал нь шинэ дүрмүүдийг идэвхжүүлэхийн тулд
системийг дахин ачаалах шаардлагагүй болно. Энэ аргыг ашиглан хэдэн ч
удаа дараалан галт ханын дүрмүүдийг ачаалж болох тул шинэ дүрмүүдийг
шалгах үед хэрэглэхэд тохиромжтой байдаг. Скрипт учраас олон дахин бичигдэж байгаа
утгын оронд симбол орлуулалтыг ашиглах боломжтой. Энэ талаар дараах жишээн дээрээс харна уу.
Энд хэрэглэгдсэн скриптийн синтакс нь sh, csh, ба tcsh бүрхүүл дээр ажиллах
боломжтой. Симбол орлуулалттай талбарууд нь урдаа $ буюу долларын тэмдэгтэй байна.
Симбол талбарууд нь $ тэмдэг урдаа байхгүй. Симбол талбарыг орлох утга нь
давхар хашилтан (") дотор байрлана.
Дүрмийн файлаа дараах байдалтай үүсгэж эхлэх хэрэгтэй:
############### start of example ipfw rules script #############
#
ipfw -q -f flush # Delete all rules
# Set defaults
oif="tun0" # out interface
odns="192.0.2.11" # ISP's DNS server IP address
cmd="ipfw -q add " # build rule prefix
ks="keep-state" # just too lazy to key this each time
$cmd 00500 check-state
$cmd 00502 deny all from any to any frag
$cmd 00501 deny tcp from any to any established
$cmd 00600 allow tcp from any to any 80 out via $oif setup $ks
$cmd 00610 allow tcp from any to $odns 53 out via $oif setup $ks
$cmd 00611 allow udp from any to $odns 53 out via $oif $ks
################### End of example ipfw rules script ############
Байх ёстой бүх зүйлс бүгд байна. Энэ жишээн дээр дүрмүүд чухал биш,
харин симбол орлуулалт хэрхэн ажилладагыг харуулсан байна.
Хэрэв дээрх жишээ /etc/ipfw.rules нэртэй файл дотор байсан бол,
эдгээр дүрмүүдийг дараах тушаалыг өгч дахин ачаалах боломжтой:
&prompt.root; sh /etc/ipfw.rules
/etc/ipfw.rules гэсэн файл ямар ч нэртэй байж
болох ба таны хүссэн ямар ч газар байж болно.
Дараах скриптийг хоёр аргын нэгээр хэрэглэж болно:
Дээрхтэй адил зүйлсийг дараах тушаалыг гараар оруулан
гүйцэтгэж болно:
&prompt.root; ipfw -q -f flush
&prompt.root; ipfw -q add check-state
&prompt.root; ipfw -q add deny all from any to any frag
&prompt.root; ipfw -q add deny tcp from any to any established
&prompt.root; ipfw -q add allow tcp from any to any 80 out via tun0 setup keep-state
&prompt.root; ipfw -q add allow tcp from any to 192.0.2.11 53 out via tun0 setup keep-state
&prompt.root; ipfw -q add 00611 allow udp from any to 192.0.2.11 53 out via tun0 keep-state
Төлөвт дүрмийн олонлог
Дараах NAT хийгдээгүй дүрмийн олонлог нь
аюулгүй байдлыг маш сайн хангасан, хамааруулсан галт ханын дүрмүүдийг
хэрхэн бичих жишээ юм. Хамааруулсан галт хана нь зөвхөн pass дүрмүүдэд тохирсон
үйлчилгээг зөвшөөрч, бусдыг бүгдийг хаана. Бүх галт хананууд хамгийн багадаа хоёр
интерфэйстэй байх ба галт хана маягаар ажиллахын тулд дүрмүүдийг тусгайлан зааж
өгсөн байна.
&os;-г оролцуулаад бүх &unix; төрлийн систем нь үйлдлийн систем
дэх дотоод харилцаандаа lo0 интерфэйс болон 127.0.0.1 гэсэн IP хаягийг хэрэглэхээр
бүтээгдсэн байдаг. Галт ханын дүрмүүд нь дотооддоо хэрэглэж байгаа эдгээр пакетуудыг
чөлөөтэй нэвтрүүлэх дүрмүүдийг агуулсан байх ёстой.
Интернэттэй холбогдож байгаа интерфэйс дээр та өөрийн Интернэт уруу гарч
байгаа болон Интернэтээс ирж байгаа хандалтыг удирдах болон хянах дүрмүүдийг байрлуулна.
Энэ нь таны PPP tun0 интерфэйс эсвэл таны DSL эсвэл кабель
модемд холбогдсон NIC байж болно.
Галт ханын цаана байгаа хувийн LAN-уудад нэг болон түүнээс дээш
тооны NIC-ууд холбогдсон тохиолдолд, тэдгээр интерфэйсүүдийн хувьд тэдгээр LAN
интерфэйсүүдээс ирсэн пакетуудыг чөлөөтэй нэвтрүүлэх дүрмийг агуулсан байх ёстой.
Дүрмүүд эхлээд гурван үндсэн хэсэгт хуваагдан зохион байгуулагдсан
байх ёстой: бүх чөлөөт халдашгүй интерфэйсүүд, нийтийн гадагшаа интерфэйс болон нийтийн дотогшоо интерфэйс.
Нийтийн интерфэйс бүр дээр байгаа дүрмүүдийн дараалал нь хамгийн олон тохиолддог
дүрмүүд нь хамгийн түрүүнд цөөн тохиолддог дүрмүүдээс өмнө байхаар, тухайн интерфэйс болон чиглэлийн
хувьд хаах болон бүртгэх дүрмүүд нь хамгийн сүүлд байхаар бичигдсэн байна.
Дараах жишээн дээрх гадагшаа хэсэг нь Интернэт хандалтыг зөвшөөрч өгөх
үйлчилгээг тодорхойлох сонголтын утгуудыг агуулсан зөвхөн 'allow' дүрмүүдээс бүрдэж байна.
Бүх дүрмүүд 'proto', 'port', 'in/out', 'via' ба 'keep state' тохируулгуудыг агуулсан байгаа.
'proto tcp' дүрмүүд нь төлөвт байдлыг идэвхжүүлж байгаа пакетийг keep state төлөвт хүснэгтэд нэмэх байдлаар,
сесс эхлүүлэх хүсэлтийг тодорхойлох зорилгоор 'setup' тохируулгыг агуулсан байна.
Дотогшоо хэсэгт эхлээд хүсээгүй пакетуудыг хаах дүрмүүдийг бичсэн байна.
Энэ нь хоёр өөр шалтгаантай. Эхнийх нь, энэ дүрмүүдээр хаагдсан зүйлс нь доор байгаа өөр нэг дүрмээр
зөвшөөрөгдсөн пакетийн нэг хэсэг байж болох талтай. Хоёр дахь шалтгаан нь, цөөхөн тоотой хүлээж авдаг
ба бүртгэх хүсэлгүй байгаа пакетуудыг сонгон, тэдгээрийг бүрнээр хаах дүрмийг эхлээд бичиж өгснөөр
эдгээр пакетууд хамгийн сүүлд байгаа ямар ч дүрмүүдэд тохироогүй пакетуудыг бүртгээд хаана гэсэн
дүрмээр дайрахгүй болгож байгаа юм. Учир нь энэ хэсгийн хамгийн сүүлд байгаа бүгдийг бүртгээд хаана
гэсэн дүрэм бол өөрийн систем уруу халдаж байгаа халдлагын нотолгоог цуглуулах таны нэг арга билээ.
Өөр нэг тэмдэглэн хэлэх зүйл бол, хүсээгүй пакетуудын хариуд ямар ч хариу явуулахгүй,
тэд зүгээр л орхигдож алга болно. Ингэснээр халдлага явуулагч түүний явуулсан пакетууд таны системд
хүрсэн эсэх талаар юу ч мэдэхгүй үлдэх болно. Таны системийн талаар хэдий хэр бага мэднэ, төдий чинээ
аюулгүй байна гэсэн үг юм. Хэрвээ мэдэхгүй дугаартай портын хувьд пакетууд бүртгэгдсэн байвал
/etc/services/ файлаас эсвэл
хаягаар тухайн порт ямар зориулалтаар ашиглагддагийг орж шалгаарай.
Троянуудын хэрэглэдэг портын дугааруудыг хаягаар орж шалгаарай.
Хамааруулсан дүрмийн олонлогийн жишээ
Дараах NAT хийгдээгүй дүрмийн олонлог нь
бүрэн хэмжээний хамааруулсан дүрмийн олонлог байгаа юм. Та энэ дүрмүүдийг өөрийн системдээ
ашиглахад буруудах юмгүй. Зөвшөөрөхийг хүсэхгүй байгаа үйлчилгээнүүдийн хувьд харгалзах
нэвтрүүлэх дүрмийг далдлаарай. Хэрэв бүртгэлд байгаа зарим мэдэгдлийг дахин харахыг хүсэхгүй,
бүртгэхийг хүсэхгүй байгаа бол дотогшоо хэсэгт хаах дүрэм нэмж бичээрэй. Дүрэм бүрт байгаа
'dc0' гэсэн интерфэйсийн нэрийн оронд таны системийг Интернэт уруу холбож байгаа NIC картны
интерфэйсийн нэрээр сольж тавиарай. Хэрэглэгчийн PPP-н хувьд, энэ нь 'tun0' байна.
Эдгээр дүрмүүдийг хэрэглэх явцад та хэв маяг олж харах болно.
Интернэт уруу чиглэсэн сесс эхлүүлэх хүсэлтийг төлөөлж байгаа
илэрхийллүүд бүгд keep-state хэрэглэж байгаа.
Интернэтээс ирж буй бүх зөвшөөрөгдсөн үйлчилгээнүүд живүүлэх халдлагыг
зогсоох үүднээс limit гэсэн тохируулгын хамт бичигдсэн байгаа.
Бүх дүрмүүд чиглэлийг тодотгохын тулд in эсвэл out-г хэрэглэсэн байгаа.
Бүх дүрмүүд пакетийн дайран өнгөрөх интерфэйсийг тодорхойлж өгөхдөө via-г хэрэглэсэн байгаа.
Дараах дүрмүүд /etc/ipfw.rules дотор байрлана.
################ Start of IPFW rules file ###############################
# Flush out the list before we begin.
ipfw -q -f flush
# Set rules command prefix
cmd="ipfw -q add"
pif="dc0" # public interface name of NIC
# facing the public Internet
#################################################################
# No restrictions on Inside LAN Interface for private network
# Not needed unless you have LAN.
# Change xl0 to your LAN NIC interface name
#################################################################
#$cmd 00005 allow all from any to any via xl0
#################################################################
# No restrictions on Loopback Interface
#################################################################
$cmd 00010 allow all from any to any via lo0
#################################################################
# Allow the packet through if it has previous been added to the
# the "dynamic" rules table by a allow keep-state statement.
#################################################################
$cmd 00015 check-state
#################################################################
# Interface facing Public Internet (Outbound Section)
# Interrogate session start requests originating from behind the
# firewall on the private network or from this gateway server
# destine for the public Internet.
#################################################################
# Allow out access to my ISP's Domain name server.
# x.x.x.x must be the IP address of your ISP.s DNS
# Dup these lines if your ISP has more than one DNS server
# Get the IP addresses from /etc/resolv.conf file
$cmd 00110 allow tcp from any to x.x.x.x 53 out via $pif setup keep-state
$cmd 00111 allow udp from any to x.x.x.x 53 out via $pif keep-state
# Allow out access to my ISP's DHCP server for cable/DSL configurations.
# This rule is not needed for .user ppp. connection to the public Internet.
# so you can delete this whole group.
# Use the following rule and check log for IP address.
# Then put IP address in commented out rule & delete first rule
$cmd 00120 allow log udp from any to any 67 out via $pif keep-state
#$cmd 00120 allow udp from any to x.x.x.x 67 out via $pif keep-state
# Allow out non-secure standard www function
$cmd 00200 allow tcp from any to any 80 out via $pif setup keep-state
# Allow out secure www function https over TLS SSL
$cmd 00220 allow tcp from any to any 443 out via $pif setup keep-state
# Allow out send & get email function
$cmd 00230 allow tcp from any to any 25 out via $pif setup keep-state
$cmd 00231 allow tcp from any to any 110 out via $pif setup keep-state
# Allow out FBSD (make install & CVSUP) functions
# Basically give user root "GOD" privileges.
$cmd 00240 allow tcp from me to any out via $pif setup keep-state uid root
# Allow out ping
$cmd 00250 allow icmp from any to any out via $pif keep-state
# Allow out Time
$cmd 00260 allow tcp from any to any 37 out via $pif setup keep-state
# Allow out nntp news (i.e. news groups)
$cmd 00270 allow tcp from any to any 119 out via $pif setup keep-state
# Allow out secure FTP, Telnet, and SCP
# This function is using SSH (secure shell)
$cmd 00280 allow tcp from any to any 22 out via $pif setup keep-state
# Allow out whois
$cmd 00290 allow tcp from any to any 43 out via $pif setup keep-state
# deny and log everything else that.s trying to get out.
# This rule enforces the block all by default logic.
$cmd 00299 deny log all from any to any out via $pif
#################################################################
# Interface facing Public Internet (Inbound Section)
# Interrogate packets originating from the public Internet
# destine for this gateway server or the private network.
#################################################################
# Deny all inbound traffic from non-routable reserved address spaces
$cmd 00300 deny all from 192.168.0.0/16 to any in via $pif #RFC 1918 private IP
$cmd 00301 deny all from 172.16.0.0/12 to any in via $pif #RFC 1918 private IP
$cmd 00302 deny all from 10.0.0.0/8 to any in via $pif #RFC 1918 private IP
$cmd 00303 deny all from 127.0.0.0/8 to any in via $pif #loopback
$cmd 00304 deny all from 0.0.0.0/8 to any in via $pif #loopback
$cmd 00305 deny all from 169.254.0.0/16 to any in via $pif #DHCP auto-config
$cmd 00306 deny all from 192.0.2.0/24 to any in via $pif #reserved for docs
$cmd 00307 deny all from 204.152.64.0/23 to any in via $pif #Sun cluster interconnect
$cmd 00308 deny all from 224.0.0.0/3 to any in via $pif #Class D & E multicast
# Deny public pings
$cmd 00310 deny icmp from any to any in via $pif
# Deny ident
$cmd 00315 deny tcp from any to any 113 in via $pif
# Deny all Netbios service. 137=name, 138=datagram, 139=session
# Netbios is MS/Windows sharing services.
# Block MS/Windows hosts2 name server requests 81
$cmd 00320 deny tcp from any to any 137 in via $pif
$cmd 00321 deny tcp from any to any 138 in via $pif
$cmd 00322 deny tcp from any to any 139 in via $pif
$cmd 00323 deny tcp from any to any 81 in via $pif
# Deny any late arriving packets
$cmd 00330 deny all from any to any frag in via $pif
# Deny ACK packets that did not match the dynamic rule table
$cmd 00332 deny tcp from any to any established in via $pif
# Allow traffic in from ISP's DHCP server. This rule must contain
# the IP address of your ISP.s DHCP server as it.s the only
# authorized source to send this packet type.
# Only necessary for cable or DSL configurations.
# This rule is not needed for .user ppp. type connection to
# the public Internet. This is the same IP address you captured
# and used in the outbound section.
#$cmd 00360 allow udp from any to x.x.x.x 67 in via $pif keep-state
# Allow in standard www function because I have apache server
$cmd 00400 allow tcp from any to me 80 in via $pif setup limit src-addr 2
# Allow in secure FTP, Telnet, and SCP from public Internet
$cmd 00410 allow tcp from any to me 22 in via $pif setup limit src-addr 2
# Allow in non-secure Telnet session from public Internet
# labeled non-secure because ID & PW are passed over public
# Internet as clear text.
# Delete this sample group if you do not have telnet server enabled.
$cmd 00420 allow tcp from any to me 23 in via $pif setup limit src-addr 2
# Reject & Log all incoming connections from the outside
$cmd 00499 deny log all from any to any in via $pif
# Everything else is denied by default
# deny and log all packets that fell through to see what they are
$cmd 00999 deny log all from any to any
################ End of IPFW rules file ###############################
NAT болон Төлөвт дүрмийн олонлогийн жишээ
NAT
ба IPFW
IPFW-н NAT функцыг идэвхжүүлэхийн тулд зарим
нэмэлт тохиргооны илэрхийллүүдийг идэвхжүүлэх хэрэгтэй болдог. Цөмийн эх кодын
бусад IPFIREWALL илэрхийллүүд дээр 'option IPDIVERT' илэрхийллийг нэмж эмхэтгэн
тусгайлан бэлдсэн цөмийг гаргаж авах хэрэгтэй.
/etc/rc.conf доторх энгийн IPFW тохируулгууд дээр
нэмж дараах тохируулгууд хэрэгтэй болно.
natd_enable="YES" # Enable NATD function
natd_interface="rl0" # interface name of public Internet NIC
natd_flags="-dynamic -m" # -m = preserve port numbers if possible
Төлөвт дүрмүүдийг divert natd (Сүлжээний хаягийн Хөрвүүлэлт)
дүрмийн хамт хэрэглэх нь дүрмийн олонлог бичих логикийг төвөгтэй болгодог.
'check-state' ба 'divert natd' дүрмүүдийн дүрмийн олонлог дахь байрлал нь маш
их нөлөөтэй. Энэ нь хялбар дайраад-өнгөрөх логик урсгал биш болно.
'skipto' гэсэн шинэ үйлдлийн төрлийг хэрэглэх болно. skipto тушаалыг хэрэглэхийн тулд
хаашаа үсрэхээ тодорхойлохын тулд бүх дүрмүүдийг дугаарлах хэрэгтэй болно.
Дараах тайлбаргүй жишээн дээр пакет дүрмийн олонлогоор дайрч
өнгөрөх дарааллыг тайлбарлахаар сонгон авсан дүрэм бичих арга байгаа юм.
Дүрэмтэй ажиллах процесс дүрмийн файлд байгаа хамгийн эхний
дүрмээр эхлэн цааш дүрмүүдийг нэг нэгээр уншин, файлын төгсгөл хүртэл эсвэл
пакет аль нэг дүрмийн сонголтын шалгуурт тохирч галт ханыг орхих хүртэл үргэлжилнэ.
100, 101, 450, 500, ба 510 дугаартай дүрмүүдийн байрлалыг сайн анзаарах хэрэгтэй.
Эдгээр дүрмүүд нь гадагшаа болон дотогшоо чиглэлтэй пакетуудын хөрвүүлэлтийг
удирдах бөгөөд ингэснээр keep-state динамик хүснэгтэн дэх тэдгээрт харгалзах
мөрөнд хувийн LAN IP хаяг бүртгэгдсэн байх нөхцөлийг хангана. Дараа нь,
бүх зөвшөөрөх болон татгалзах дүрмүүдэд пакетийн явж буй чиглэл (өөрөөр хэлбэл гадагшаа эсвэл дотогшоо)
ба интерфэйсийг зааж өгсөн байгааг анзаараарай. Мөн гадагшаа сесс эхлүүлэх хүсэлтүүд,
сүлжээний хаягийн хөрвүүлэлтийн бүх skipto дүрмүүд 500-с эхэлж байгааг анзаарна уу.
Нэгэн LAN хэрэглэгч вэб хуудас үзэхийн тулд вэб хөтчийг хэрэглэж байна гэж бодъё.
Веб хуудсууд 80-р портыг ашиглан холбогдоно. Пакет галт хананд ирнэ,
гадагшаа чиглэж байгаа тул 100-р дүрмэнд тохирохгүй. 101-р дүрмийг мөн
өнгөрнө, яагаад гэвэл энэ нь хамгийн анхны пакет тул keep-state
динамик хүснэгтэнд хараахан бичигдэж амжаагүй байгаа. Пакет эцэст нь
125-р дүрэм дээр ирж, дүрэмд таарна. Энэ пакет Интернэт уруу харсан
NIC-р гадагшаа гарч байгаа. пакетийн эхлэл IP хаяг нь хувийн LAN IP хаяг хэвээр байгаа.
Энэ дүрмэнд таарах үед хоёр үйлдэл хийгдэнэ. keep-state тохируулга энэ дүрмийг
keep-state динамик дүрмийн хүснэгтэнд нэмнэ, мөн зааж өгсөн үйлдлийг гүйцэтгэнэ.
Үйлдэл нь динамик хүснэгтэд нэмэгдсэн мэдээллийн нэг хэсэг байна. Энэ тохиолдолд
"skipto rule 500" байна. 500-р дүрэм нь пакетийн IP хаягийг NAT хийж,
пакетийг гадагш явуулна. Үүнийг бүү мартаарай, энэ бол маш чухал шүү.
Энэ пакет өөрийн замаар хүрэх газраа хүрээд буцаж ирэхдээ мөн л энэ дүрмийн олонлогийг дайрна.
Энэ үед харин 100-р дүрэмд тохирч, очих IP хаяг нь буцаж харгалзах LAN IP хаяг уруу хөрвүүлэгдэнэ.
Дараа нь check-state дүрмээр гарах ба хүснэгтэнд явагдаж байгаа сесс харилцаанд оролцож байгаа
гэж тэмдэглэгдсэн тул цааш LAN уруу нэвтрэн орно. Тэгээд өөрийг нь анх явуулсан LAN PC уруу очих ба
алсын серверээс өөр хэсэг өгөгдлийг авахыг хүссэн шинэ пакетийг явуулна. Энэ удаа энэ пакет
check-state дүрмээр шалгагдах ба түүний гадагшаа урсгалд харгалзах мөр олдох тул харгалзах
үйлдэл 'skipto 500'-г гүйцэтгэнэ. Пакет 500-р мөр уруу үсэрч NAT хийгдэн цааш
өөрийн замаар явах болно.
Дотогшоо урсгал дээр, идэвхтэй сесс харилцаанд оролцож байгаа
гаднаас ирж байгаа бүх зүйлс автоматаар check-state дүрмээр болон зохих
divert natd дүрмүүдээр шийдэгдэнэ. Энд бидний хийх ёстой зүйл бол
хэрэггүй пакетуудыг татгалзаж, зөвшөөрөгдсөн үйлчилгээг нэвтрүүлэх юм.
Галт ханын байгаа машин дээр апачи сервер ажиллаж байна, тэгээд Интернэтээс
хүмүүс энэ дотоод вэб сайт уруу хандаж байна гэж бодъё. Шинэ дотогшоо сесс эхлүүлэх
хүсэлтийн пакет 100-р дүрэмд тохирох бөгөөд түүний IP хаяг галт ханын LAN IP
хаяг уруу оноолт хийгдэнэ. Дараа нь энэ пакет цааш бүх дүрмүүдээр шалгагдан
эцэст нь 425-р дүрэмд тохирно. Энэ дүрэмд таарах үед хоёр үйлдэл хийгдэнэ.
Энэ дүрэм keep-state динамик дүрмийн хүснэгтэнд нэмэгдэнэ, мөн зааж өгсөн үйлдлийг гүйцэтгэнэ.
Гэвч энэ тохиолдолд энэ эхлэл IP хаягнаас эхэлсэн шинэ сесс эхлүүлэх хүсэлтийн тоо 2-оор хязгаарлагдана.
Энэ нь тодорхой порт дээр ажиллаж байгаа үйлчилгээний хувьд DoS халдлагаас хамгаална.
Харгалзах үйлдэл нь зөвшөөрөгдсөн тул пакет LAN уруу нэвтэрнэ. Буцах замд check-state
дүрэм энэ пакетийг идэвхтэй сесс харилцаанд хамаарч байгааг таних тул 500-р дүрэм уруу шилжүүлэн,
пакет тэнд NAT хийгдээд цааш гадагшаа интерфэйсээр гарна.
Жишээ дүрмийн олонлог #1:
#!/bin/sh
cmd="ipfw -q add"
skip="skipto 500"
pif=rl0
ks="keep-state"
good_tcpo="22,25,37,43,53,80,443,110,119"
ipfw -q -f flush
$cmd 002 allow all from any to any via xl0 # exclude LAN traffic
$cmd 003 allow all from any to any via lo0 # exclude loopback traffic
$cmd 100 divert natd ip from any to any in via $pif
$cmd 101 check-state
# Authorized outbound packets
$cmd 120 $skip udp from any to xx.168.240.2 53 out via $pif $ks
$cmd 121 $skip udp from any to xx.168.240.5 53 out via $pif $ks
$cmd 125 $skip tcp from any to any $good_tcpo out via $pif setup $ks
$cmd 130 $skip icmp from any to any out via $pif $ks
$cmd 135 $skip udp from any to any 123 out via $pif $ks
# Deny all inbound traffic from non-routable reserved address spaces
$cmd 300 deny all from 192.168.0.0/16 to any in via $pif #RFC 1918 private IP
$cmd 301 deny all from 172.16.0.0/12 to any in via $pif #RFC 1918 private IP
$cmd 302 deny all from 10.0.0.0/8 to any in via $pif #RFC 1918 private IP
$cmd 303 deny all from 127.0.0.0/8 to any in via $pif #loopback
$cmd 304 deny all from 0.0.0.0/8 to any in via $pif #loopback
$cmd 305 deny all from 169.254.0.0/16 to any in via $pif #DHCP auto-config
$cmd 306 deny all from 192.0.2.0/24 to any in via $pif #reserved for docs
$cmd 307 deny all from 204.152.64.0/23 to any in via $pif #Sun cluster
$cmd 308 deny all from 224.0.0.0/3 to any in via $pif #Class D & E multicast
# Authorized inbound packets
$cmd 400 allow udp from xx.70.207.54 to any 68 in $ks
$cmd 420 allow tcp from any to me 80 in via $pif setup limit src-addr 1
$cmd 450 deny log ip from any to any
# This is skipto location for outbound stateful rules
$cmd 500 divert natd ip from any to any out via $pif
$cmd 510 allow ip from any to any
######################## end of rules ##################
Дараах жишээ дээрхтэй нилээд төстэй боловч туршлагагүй IPFW дүрэм бичигчид зориулан
дүрмүүд юунд зориулагдсаныг тайлбарласан тайлбартай байгаагаараа онцлог юм.
Жишээ дүрмийн олонлог #2:
#!/bin/sh
################ Start of IPFW rules file ###############################
# Flush out the list before we begin.
ipfw -q -f flush
# Set rules command prefix
cmd="ipfw -q add"
skip="skipto 800"
pif="rl0" # public interface name of NIC
# facing the public Internet
#################################################################
# No restrictions on Inside LAN Interface for private network
# Change xl0 to your LAN NIC interface name
#################################################################
$cmd 005 allow all from any to any via xl0
#################################################################
# No restrictions on Loopback Interface
#################################################################
$cmd 010 allow all from any to any via lo0
#################################################################
# check if packet is inbound and nat address if it is
#################################################################
$cmd 014 divert natd ip from any to any in via $pif
#################################################################
# Allow the packet through if it has previous been added to the
# the "dynamic" rules table by a allow keep-state statement.
#################################################################
$cmd 015 check-state
#################################################################
# Interface facing Public Internet (Outbound Section)
# Interrogate session start requests originating from behind the
# firewall on the private network or from this gateway server
# destine for the public Internet.
#################################################################
# Allow out access to my ISP's Domain name server.
# x.x.x.x must be the IP address of your ISP's DNS
# Dup these lines if your ISP has more than one DNS server
# Get the IP addresses from /etc/resolv.conf file
$cmd 020 $skip tcp from any to x.x.x.x 53 out via $pif setup keep-state
# Allow out access to my ISP's DHCP server for cable/DSL configurations.
$cmd 030 $skip udp from any to x.x.x.x 67 out via $pif keep-state
# Allow out non-secure standard www function
$cmd 040 $skip tcp from any to any 80 out via $pif setup keep-state
# Allow out secure www function https over TLS SSL
$cmd 050 $skip tcp from any to any 443 out via $pif setup keep-state
# Allow out send & get email function
$cmd 060 $skip tcp from any to any 25 out via $pif setup keep-state
$cmd 061 $skip tcp from any to any 110 out via $pif setup keep-state
# Allow out FreeBSD (make install & CVSUP) functions
# Basically give user root "GOD" privileges.
$cmd 070 $skip tcp from me to any out via $pif setup keep-state uid root
# Allow out ping
$cmd 080 $skip icmp from any to any out via $pif keep-state
# Allow out Time
$cmd 090 $skip tcp from any to any 37 out via $pif setup keep-state
# Allow out nntp news (i.e. news groups)
$cmd 100 $skip tcp from any to any 119 out via $pif setup keep-state
# Allow out secure FTP, Telnet, and SCP
# This function is using SSH (secure shell)
$cmd 110 $skip tcp from any to any 22 out via $pif setup keep-state
# Allow out whois
$cmd 120 $skip tcp from any to any 43 out via $pif setup keep-state
# Allow ntp time server
$cmd 130 $skip udp from any to any 123 out via $pif keep-state
#################################################################
# Interface facing Public Internet (Inbound Section)
# Interrogate packets originating from the public Internet
# destine for this gateway server or the private network.
#################################################################
# Deny all inbound traffic from non-routable reserved address spaces
$cmd 300 deny all from 192.168.0.0/16 to any in via $pif #RFC 1918 private IP
$cmd 301 deny all from 172.16.0.0/12 to any in via $pif #RFC 1918 private IP
$cmd 302 deny all from 10.0.0.0/8 to any in via $pif #RFC 1918 private IP
$cmd 303 deny all from 127.0.0.0/8 to any in via $pif #loopback
$cmd 304 deny all from 0.0.0.0/8 to any in via $pif #loopback
$cmd 305 deny all from 169.254.0.0/16 to any in via $pif #DHCP auto-config
$cmd 306 deny all from 192.0.2.0/24 to any in via $pif #reserved for docs
$cmd 307 deny all from 204.152.64.0/23 to any in via $pif #Sun cluster
$cmd 308 deny all from 224.0.0.0/3 to any in via $pif #Class D & E multicast
# Deny ident
$cmd 315 deny tcp from any to any 113 in via $pif
# Deny all Netbios service. 137=name, 138=datagram, 139=session
# Netbios is MS/Windows sharing services.
# Block MS/Windows hosts2 name server requests 81
$cmd 320 deny tcp from any to any 137 in via $pif
$cmd 321 deny tcp from any to any 138 in via $pif
$cmd 322 deny tcp from any to any 139 in via $pif
$cmd 323 deny tcp from any to any 81 in via $pif
# Deny any late arriving packets
$cmd 330 deny all from any to any frag in via $pif
# Deny ACK packets that did not match the dynamic rule table
$cmd 332 deny tcp from any to any established in via $pif
# Allow traffic in from ISP's DHCP server. This rule must contain
# the IP address of your ISP's DHCP server as it's the only
# authorized source to send this packet type.
# Only necessary for cable or DSL configurations.
# This rule is not needed for 'user ppp' type connection to
# the public Internet. This is the same IP address you captured
# and used in the outbound section.
$cmd 360 allow udp from x.x.x.x to any 68 in via $pif keep-state
# Allow in standard www function because I have Apache server
$cmd 370 allow tcp from any to me 80 in via $pif setup limit src-addr 2
# Allow in secure FTP, Telnet, and SCP from public Internet
$cmd 380 allow tcp from any to me 22 in via $pif setup limit src-addr 2
# Allow in non-secure Telnet session from public Internet
# labeled non-secure because ID & PW are passed over public
# Internet as clear text.
# Delete this sample group if you do not have telnet server enabled.
$cmd 390 allow tcp from any to me 23 in via $pif setup limit src-addr 2
# Reject & Log all unauthorized incoming connections from the public Internet
$cmd 400 deny log all from any to any in via $pif
# Reject & Log all unauthorized out going connections to the public Internet
$cmd 450 deny log all from any to any out via $pif
# This is skipto location for outbound stateful rules
$cmd 800 divert natd ip from any to any out via $pif
$cmd 801 allow ip from any to any
# Everything else is denied by default
# deny and log all packets that fell through to see what they are
$cmd 999 deny log all from any to any
################ End of IPFW rules file ###############################
diff --git a/mn_MN.UTF-8/books/handbook/install/chapter.sgml b/mn_MN.UTF-8/books/handbook/install/chapter.sgml
index 8f479c5d00..95a374ab6d 100644
--- a/mn_MN.UTF-8/books/handbook/install/chapter.sgml
+++ b/mn_MN.UTF-8/books/handbook/install/chapter.sgml
@@ -1,4720 +1,4664 @@
Жим
Мок
Дахин засварлаж, зарим хэсгийг нь шинээр бичсэн
Рэнди
Пратт
Суулгацын ерөнхий дараалал болон зургийг бэлдсэн
Шагдарын
Нацагдорж
Орчуулсан
FreeBSD суулгах нь
Ерөнхий агуулга
суулгац
FreeBSD нь sysinstall гэдэг нэртэй
хэрэглэхэд амархан текст хэлбэртэй програмтай ирдэг. Энэ бол
FreeBSD-н програм суулгахад хэрэглэгддэг анхдагч програм бөгөөд хэрэв хүсвэл
програм зохиогчид нь өөрсдийнхөө програмдаа зориулж суулгах програм бас бичиж болно.
Энэ бүлэгт FreeBSD-г суулгахын тулд sysinstall програмыг
хэрхэн хэрэглэх талаар тайлбарлах болно.
Энэ бүлгийг уншсаны дараа, та дараах зүйлсийг мэдэх болно:
FreeBSD суулгадаг дискнүүдийг хэрхэн үүсгэх.
FreeBSD таны диск уруу хэрхэн ханддаг болон хуваадаг талаар.
sysinstall-г хэрхэн эхлүүлэх.
sysinstall-аас танд тавигдах
асуултууд, тэд ямар учиртай болох мөн хэрхэн хариулах тухай.
Энэ бүлгийг уншихаасаа өмнө та дараах зүйлсийг гүйцэтгэх хэрэгтэй:
Суулгах гэж буй FreeBSD-нхээ хувилбар, мөн түүний дэмжиж чаддаг төхөөрөмжүүдийн
жагсаалтыг хянаж тэр дунд таны төхөөрөмжүүд байгаа эсэхийг магадлах.
Ер нь, энэ суулгах заавар нь &i386; (PC төрлийн
) архитектурт
зориулж бичсэн. Шаардлагатай тохиолдолд бусад тусгай тавцангуудын (жишээлбэл Alpha) хувьд
зориулагдсан заавруудыг оруулах болно. Хэдийгээр энэ гарын авлагыг аль болох
шинэчилж байгаа боловч та суулгагч болон энд дурдсан хоёрын хооронд бага зэргийн өөрчлөлтүүд
байгааг анзаарч болох юм.
Тийм болохоор энэ гарын авлагыг үгчилсэн заавар биш ерөнхий суулгах заавар болгож хэрэглэхийг танд
зөвлөж байна.
Системд тавигдах төхөөрөмжийн шаардлага
Хамгийн бага тохиргоо
&os;-г суулгахад шаардагдах хамгийн бага тохиргоо нь
&os;-н хувилбар болон төхөөрөмжийн төрлөөс их хамаарна.
Хамгийн бага шаардагдах тохиргоог &os;-н вэб хуудасны Хувилбарын
мэдээлэл гэсэн хуудсан дотор суулгацын мэдээлэл хэсэгт харж болно.
Эдгээр мэдээллийн ерөнхий дүгнэсэн мэдээллийг энэ хэсэгт та унших болно.
&os;-г суулгах аргаасаа хамаараад танд уян диск юм уу эсвэл CDROM төхөөрөмж,
зарим тохиолдолд сүлжээний адаптер хэрэг болох болно. Энэ тухай
хэсэгт дурьдсан буй.
&os;/&arch.i386; болон &os;/&arch.pc98;
&os;/&arch.i386; болон &os;/&arch.pc98; хоёр хоёулаа 486 юм уу эсвэл түүнээс
дээш илүү төрлийн процессор шаарддаг бөгөөд хамгийн багадаа 24 MB
RAM буюу шуурхай санах ой хэрэглэдэг. Танд хамгийн бага хэмжээгээр суулгахын
тулд ядаж 150 MB дискний сул хэмжээ хэрэгтэй.
Хуучны тохиргоонд бол, ихэнх тохиолдолд, их хэмжээний санах ой ба дискний
хэмжээ нь хурдан процессороос илүү хэрэгтэй байдаг.
&os;/&arch.alpha;
Alpha
&os;/&arch.alpha;-г суулгахын тулд танд дэмжигдсэн төхөөрөмжүүд
( хэсэгт харж болно)
болон &os;-д зориулсан диск байх хэрэгтэй. Одоогоор дискээ
өөр үйлдлийн системтэй хамтарч хэрэглэж болохгүй. Энэ диск нь
SCSI хянагч уруу холбогдсон байх ёстой бөгөөд тохируулах
програмын төрөл нь SRM байх ёстой юм уу эсвэл IDE дискнээс ачаалагдаж
болдог SRM гэж танигдаж болдог IDE диск байх хэрэгтэй.
ARC
Alpha BIOS
SRM
Таны системд SRM програмын консол байх шаардлагатай.
Зарим тохиолдолд AlphaBIOS (эсвэл ARC) төрлөөс SRM төрлийн хооронд
хоёр тийшээгээ сэлгэж сольж болдог. Бусад тохиолдолд тухайн төхөөрөмжийг
үйлдвэрлэдэг газрын вэб хуудаснаас шаардлагатай таниулах програмуудыг нь
татаж авах нь зүйтэй.
Alpha-д зориулсан дэмжлэг &os; 7.0-с эхлээд
байхгүй болсон. &os; 6.X
серийн хувилбарууд нь энэ архитектурт зориулсан дэмжлэгийг
агуулсан сүүлийн хувилбарууд юм.
&os;/&arch.amd64;
&os;/&arch.amd64;-г ажиллуулах боломжтой хоёр ангиллын процессор
байдаг. Эхнийх нь &amd.athlon;64, &amd.athlon;64-FX, &amd.opteron;
эсвэл түүнээс дээш төрлийн процессоруудыг агуулсан AMD64 процессорууд
юм.
&os;/&arch.amd64;-ийг ашигладаг хоёр дахь ангиллын
процессоруудад &intel; EM64T архитектурыг ашигладаг
процессорууд ордог. Эдгээр процессоруудын жишээнд
&intel; &core; 2 Duo, Quad, болон Extreme процессорын
гэр бүлийнхэн ба &intel; &xeon; 3000, 5000, болон 7000
дарааллын процессоруудыг дурдаж болно.
Хэрэв таны машин nVidia nForce3 Pro-150 дээр үндэслэсэн бол
та BIOS-н тохируулга дээр IO APIC сонголтыг хорих ёстой.
Хэрэв танд ингэх сонголт байхгүй бол ACPI-г оронд нь хорих хэрэгтэй.
Pro-150 төрлийн бичил схемд алдаа байдаг бөгөөд одоогоор тэр алдаа засагдаагүй
байгаа билээ.
&os;/&arch.sparc64;
&os;/&arch.sparc64;-г суулгахын тулд түүний дэмждэг төхөөрөмжүүдийг нь
хангасан байх ёстой ( хэсэгт харна уу).
Танд &os;/&arch.sparc64;-д зориулсан диск тусад нь байх хэрэгтэй. Одоогоор
диск дээр өөр төрлийн системүүдийг давхар суулгах боломж үгүй.
Дэмждэг төхөөрөмжүүд
Дэмждэг төхөөрөмжүүдийг &os;-н хувилбар бүрийн
Hardware Notes буюу төхөөрөмжийн мэдээлэл хэсэгт жагсаасан байдаг.
Энэ мэдээлэл нь голдуу HARDWARE.TXT нэрээр
суулгацын CDROM юм уу FTP-н хамгийн дээд сан дотор эсвэл
sysinstall програмын documentation буюу
баримт цэсэнд байрласан байдаг билээ. Энэ нь тухайн төрлийн архитектур бүрт
ямар ямар төхөөрөмжүүд танигдаж болохыг &os;-н хувилбар бүрт зориулж
жагсаасан байдаг. Төрөл бүрийн хувилбар болон архитектурт зориулсан жагсаалтын
бас нэг хуулбарыг &os;-н вэб хуудасны Release
Information буюу хувилбарын мэдээлэл хуудаснаас олж болно.
Суулгацын өмнө
Өөрийнхөө компьютерийг судална
Та FreeBSD-г суулгахын өмнө өөрийнхөө компьютерийн бүрдэл
хэсгүүдийг судлах хэрэгтэй. FreeBSD суулгах явцдаа таны компьютерт
буй бүрдлүүдийг (хатуу диск, сүлжээний карт, CDROM хөтлөгч гэх мэт)
тэдгээрийн загвар болон үйлдвэрлэгчийнх нь дугаартай нь харуулдаг.
Мөн FreeBSD нь тэдгээр төхөөрөмжүүдийг IRQ болон IO порт зэргүүдийг
автоматаар зөв тохируулахыг оролддог. Компьютерийн бүрдлийг
үйлдвэрлэдэгчдийн түмэн төрлөөс хамаарч зөв тохируулах энэ автомат үйлдэл нь
заримдаа тийм амжилттай болж чаддаггүй тул магадгүй та FreeBSD-н тодорхойлсон
тохируулгыг өөрчлөх хэрэг гарч болзошгүй.
Хэрэв та &windows; эсвэл Линукс үйлдлийн систем суулгасан байгаа бол
тухайн төхөөрөмжүүд ямар тохируулгаар суугдсан байгааг харах нь зүйтэй.
Хэрвээ өргөтгөл картын дугаар болон нэрийг зөв таньсан эсэхээ мэдэхгүй бол
уг карт дээр буй үйлдвэрлэсэн бичгийг нь харах хэрэгтэй. Байнгын хэрэглэдэг IRQ
дугаарууд нь 3, 5, мөн 7 бөгөөд ихэнх хэрэглэгддэг IO портын хаягууд нь голдуу
0x330 гэх мэт арван зургаат тооллын систем дээр бичсэн дугаарууд байдаг.
FreeBSD-г суулгахаасаа өмнө эдгээр дугааруудыг тэмдэглэж авахыг зөвлөж байна.
Та дараах маягийн хүснэгт хөтлөх хэрэгтэй:
Төхөөрөмжийн бүртгэлийн жишээ
Төхөөрөмжийн нэр
IRQ
IO порт(ууд)
Тэмдэглэгээ
Эхний хатуу диск
мэдэхгүй
мэдэхгүй
40 ГБ, Seagate үйлдвэрлэсэн, эхний мастер IDE
CDROM
мэдэхгүй
мэдэхгүй
Эхний хоёр дахь IDE
Хоёр дахь хатуу диск
мэдэхгүй
мэдэхгүй
20 ГБ, IBM үйлдвэрлэсэн, хоёр дахь мастер IDE
Эхний IDE хянагч
14
0x1f0
Сүлжээний карт
мэдэхгүй
мэдэхгүй
&intel; 10/100
Модем
мэдэхгүй
мэдэхгүй
&tm.3com; 56K факс модем, COM1 дээр зоогдсон
…
Өөрийнхөө өгөгдлийг нөөцөлж авах
Хэрэв таны FreeBSD суулгах гэж байгаа компьютерт чухал мэдээлэл
байвал, уг мэдээллээ нөөцөлж хадгалж авах нь зүйтэй бөгөөд уг
нөөцөлсөн мэдээллээ зөв хадгалснаа шалгах хэрэгтэй. FreeBSD-н суулгах
явц нь диск уруу бичиж эхлэхээсээ өмнө танаас лавлаж асуудаг бөгөөд
хэрэв нэг бичигдээд эхэлбэл буцаах арга байхгүй.
FreeBSD-г хаана суулгахаа шийдэх
Хэрэв та FreeBSD-д бүх дискээ хэрэглүүлнэ гэж бодож байвал
энэ хэсэгт анхаарлаа хандуулалгүй цааш нь унших хэрэгтэй.
Харин, хэрэв та FreeBSD-г өөр үйлдлийн системтэй хамт
хэрэглэнэ гэж бодож байвал диск дээр өгөгдөл хэрхэн байрладаг
мөн хэрхэн ажилладаг талаар үндсэн мэдлэгтэй байх хэрэгтэй.
&os;/&arch.i386; дээрх дискний өгөгдөл байрлуулалт
Компьютерийн диск нь хэд хэдэн хэсэгт хэсэгчилж болдог.
Эдгээр хуваагдсан хэсгүүдийг нь partitions буюу хуваалтууд
гэж нэрлэдэг. &os; нь дотроо бас хуваалтуудтай болохоор
энэ нэрлэлт нь ойлгомжгүй болж болох юм. Тийм болохоор
эдгээр дискний хэсэгчлэлүүдийг дискний зүсмэлүүд буюу
ердөө л зүсмэлүүд гэж &os; үздэг. Жишээ нь PC-ийн дискний хуваалтууд
дээр ажилладаг FreeBSD-ийн fdisk хэрэгсэл
хуваалтуудын оронд зүсмэлүүдийг хэрэглэдэг.
Анхнаасаа компьютерийн нэг дискийг зөвхөн дөрөв
хувааж болохоор зохиосон байна. Эдгээр хуваалтуудыг
primary partitions буюу анхдагч хуваалтууд гэж
нэрлэдэг. Энэ хязгаарлалтыг тойрон гарч дөрвөн хуваалтаас илүүг зөвшөөрөхийн тулд шинэ
хуваалтын арга үүссэн бөгөөд түүнийг extended partition
буюу өргөтгөсөн хуваалт гэж нэрлэжээ. Диск зөвхөн
ганцхан өргөтгөсөн хуваалт агуулж болно. Өргөтгөсөн хуваалт дотор
хичнээн бол хичнээн logical partitions
буюу логик хуваалтууд агуулж болдог байна.
Хуваалт болгон partition ID буюу хуваалтын ID дугаар
агуулж байдаг бөгөөд энэ дугаар нь тухайн хуваалтын төрлийг илэрхийлж
байдаг. FreeBSD төрлийн хуваалтууд нь 165 гэсэн
ID дугаартай байдаг.
Үйлдлийн систем болгон дискний хуваалтуудыг таних өөр
өөрийн арга хэрэглэдэг. Жишээлбэл DOS буюу түүнтэй ижил төрлийн
&windows; системүүд нь дискний хуваалтыг танихын тулд
үсэгчлэн дугаарласан диск аргыг хэрэглэдэг бөгөөд
C: үсгээр эхлэж тэмдэглэдэг.
FreeBSD нь primary partition буюу дискний анхдагч хуваалт дээр суугдах ёстой.
FreeBSD таны үүсгэсэн файлуудыг, бас өөрийнхөө файлуудыг энэ хуваалт дээр
хадгалдаг. Хэрэв танд олон диск байвал мөн та тэдгээр дээр эсвэл тэдний зарим дээр
FreeBSD төрлийн хуваалт үүсгэж болно. FreeBSD суулгах үедээ дискний нэг хуваалтыг бэлэн байлгах хэрэгтэй.
Энэ хуваалт нь таны урьдчилан бэлдсэн хоосон хуваалт юм уу эсвэл онц шаардлагагүй
өгөгдөл хадгалсан хуваалт байсан ч болно.
Хэрэв та өөрийн бүх диск дэх бүх хуваалтыг хэрэглэж байсан бол тэдгээрийн
нэгийг нь FreeBSD-д зориулж ямар нэгэн үйлдлийн системд байдаг
хэрэгслийг ашиглан хоосон болгох хэрэгтэй (жишээ нь, DOS or &windows;
дээр байдаг fdisk програм).
Хэрэв танд илүүчилж болохоор хуваалт байвал тэр хэсгийг бас хэрэглэж болно.
Гэхдээ та өмнө нь байж байсан хуваалтын хэмжээг ихэсгэж юм уу багасгаж хэрэглэж
хэрэгтэй болно.
FreeBSD суугдаж чадах хамгийн бага хэмжээ бол 100 MB билээ.
Гэхдээ энэ хэмжээ бол өөрийнхөө файлуудыг хадгалахад бараг
хүрэлцэхээргүй хамгийн бага хэмжээ юм.
Арай боломжийн бага хэмжээ бол график орчныг оруулалгүйгээр 250 MB
хэмжээ юм. Хэрэв график орчинг оруулбал 350 MB болно.
Хэрэв та гуравдагч програм зохиогчдын програмыг суулгаж хэрэглэнэ
гэж бодож байвал мэдээж түүнээс илүү хэмжээ хэрэгтэй.
Та &partitionmagic; гэдэг үнэтэй
програмыг, эсвэл GParted зэрэг үнэгүй програмыг
FreeBSD-д зориулж дискэндээ зай гаргахад хэрэглэж болох юм. Ийм үйлдэлд
зориулагдсан CDROM дээр буй tools сан дотор FIPS
ба PResizer гэсэн хоёр үнэгүй програм байдаг.
Эдгээр програмыг хэрэглэх бичиг баримт нь уг сан дотор нь бас бий.
FIPS, PResizer, мөн
&partitionmagic; гэсэн програмууд нь
&ms-dos; -с эхлээд &windows; ME хүртэлх үйлдлийн системд хэрэглэгддэг
FAT16 болон FAT32
хуваалтуудын хэмжээг ихэсгэж багасгахад хэрэглэгддэг.
&partitionmagic; ба
GParted нар NTFS
төрлийн хуваалт дээр ажиллаж чаддаг. GParted нь
SystemRescueCD зэрэг хэд хэдэн
Live CD тархацуудад байдаг.
µsoft; Vista хуваалтуудын хэмжээг дахин өөрчлөхөд
асуудалтай байгаа талаар мэдээлэл бий. Ийм үйлдэл хийхийг оролдох үедээ
Vista-ийн суулгалтын CDROM-той байхыг зөвлөж байна. Мөн иймэрхүү дисктэй
ажиллах ажлуудыг хийж гүйцэтгэхээсээ өмнө нөөцлөлтийг хийх нь маш
чухал юм.
Эдгээр хэрэгслийг буруу ашиглавал дискэн дээр байгаа мэдээлэл тань устах болно.
Тэдгээрийг хэрэглэхээсээ өмнө өөрийнхөө өгөгдлийг нөөцөлж хадгалж авах хэрэгтэй.
Байгаа дискний хуваалтыг өөрчлөлгүйгээр хэрэглэх нь
Жишээлбэл, &windows; систем суулгасан 4 ГБ диск танд байгаа
гэж бодъё. Мөн та тэр дискийг 2 ГБ хэмжээгээр C: ба
D: гэж хоёр хуваасан байгаа. Танд
C: дээр 1 ГБ, D: дээр
0.5 ГБ өгөгдөл хадгалсан байгаа гэж үзье.
Энэ бол үсэгчлэн тэмдэглэсэн хоёр хуваалт танд байна гэсэн үг.
Та D: дээр байгаа бүх өгөгдлийг
C: руу хуулж чөлөөлөөд түүн дээр
FreeBSD суулгаж болно.
Байгаа хуваалтын хэмжээг сунгаж өөрчлөх
Танд &windows; суулгасан 4 ГБ диск байна гэж үзье.
&windows; суулгах үедээ та зөвхөн C:
гэж нэрлэсэн 4 ГБ хэмжээтэй ганцхан бүхэл хуваалт үүсгэжээ.
Та одоогоор уг хэмжээний 1.5 ГБ-ийг ашигласан гэж бодоцгооё. Тэгээд та
уг дискний 2 ГБ хэмжээ дээр FreeBSD суулгахыг хүссэн гэж авч үзье.
FreeBSD-г суулгахын тулд доор дурдсанаас аль нэгийг хийх болно:
&windows; дээр байсан өгөгдлөө нөөцөлж хадгалж аваад
&windows;-г дахин суулгаж гэхдээ түүндээ 2 ГБ хэмжээ үүсгэж хэрэглэх.
&partitionmagic; мэтийн програм ашиглаж
&windows;-н дискний хэмжээг дээрх хэмжээнд тохируулж өөрчлөх.
Alpha дээрх дискний байрлуулалт
Alpha
Танд Alpha дээр FreeBSD-г суулгах тусгайлан бэлдсэн диск хэрэгтэй.
Өөр үйлдлийн системтэй хамт дискийг энэ үед хэрэглэж болохгүй. Танд байгаа
Alpha машины төрлөөс хамаараад хэрэв уг дискнээс ачаалж болж л байвал
энэ диск нь SCSI юм уу эсвэл IDE диск байж болно.
Digital / Compaq -н гарын авлагад заасны дагуу
SRM оруулгыг том үсгээр харуулдаг. SRM-д том жижиг
үсгүүд нь ялгаатай.
Машиндаа буй дискний нэр болон төрлийг мэдэхийн тулд
SHOW DEVICE тушаалыг SRM консолд бичдэг:
>>>SHOW DEVICE
dka0.0.0.4.0 DKA0 TOSHIBA CD-ROM XM-57 3476
dkc0.0.0.1009.0 DKC0 RZ1BB-BS 0658
dkc100.1.0.1009.0 DKC100 SEAGATE ST34501W 0015
dva0.0.0.0.1 DVA0
ewa0.0.0.3.0 EWA0 00-00-F8-75-6D-01
pkc0.7.0.1009.0 PKC0 SCSI Bus ID 7 5.27
pqa0.0.0.4.0 PQA0 PCI EIDE
pqb0.0.1.4.0 PQB0 PCI EIDE
Дээрх жишээ нь Digital Personal Workstation
433au машиных бөгөөд гурван диск холбогдсон байна. Эхнийх нь
CDROM хөтлөгч DKA0 нэртэй байгаа бөгөөд
бусад хоёр диск нь
DKC0 ба
DKC100 гэсэн нэртэй байна.
DKx гэж эхэлсэн дискнүүд нь
SCSI диск юм. Жишээ нь DKA100
гэдэг нь SCSI диск бөгөөд SCSI-н эхний шугам (A) дээр буй ID 1
дискийг илэрхийлж байхад, DKC300 гэдэг нь
гуравдагч шугам (C) дээр буй SCSI ID 3 дискийг зааж байна.
PKx гэдэг нь SCSI гол үндсэн шугамыг хэлж байна.
SHOW DEVICE тушаалд харуулснаар бол SCSI
CDROM төхөөрөмж нь бусад SCSI хатуу диск шиг харуулагддаг.
IDE дискнүүд нь DQx гэж илэрхийлэгдэж байхад
гол шугам нь PQx гэж нэрлэгддэг.
Сүлжээний нарийвчилсан тохируулгаа мэдэх
Хэрэв та FreeBSD-н суулгацыг интернэт холболттой хийнэ гэж
бодож байвал (жишээ нь, суулгацыг FTP эсвэл NFS серверээс татан суулгаж байвал),
та сүлжээнийхээ тохируулгыг мэдэж байх хэрэгтэй. Ийм мэдээллийг суулгах үед
танаас лавлаж асуугаад, тохируулж интернэтэд холбогддог.
Дотоод сүлжээ эсвэл Кабель/DSL Модемоор холбогдох
Хэрэв та дотоод сүлжээнд холбогдсон байгаа юм уу эсвэл кабел, DSL-ээр холбогдохоор бол
дараах тохируулах мэдээллийг мэдсэн байх хэрэгтэй:
IP хаяг
Анхны gateway буюу гарцын IP хаяг
Hostname буюу серверийн нэр
DNS сервер IP хаяг
Subnet Mask буюу дэд сүлжээний баг (тусгаарлан ангилах дугаар)
Хэрэв та эдгээр мэдээллийг мэдэхгүй байгаа бол уг сүлжээ хариуцагч юм уу
интернэт уруу холбогдох байгууллага уруу хандах хэрэгтэй.
Гэтэл тэд танд, эдгээр мэдээлэл нь
DHCP ашиглаж автоматаар тохируулагдана гэж хэлж магадгүй.
Хэрэв тийм бол та эдгээр мэдээллийг заавал мэдсэн байх албагүй
бөгөөд энэ хэсгийг зүгээр санаад авахад илүүдэхгүй.
Модем хэрэглэж холбогдох
Хэрэв та интернэтээр хангагч байгууллага уруу ердийн модем ашиглан
утсаар холбогддог бол, та мөн FreeBSD-г интернэтээр суулгаж болох бөгөөд
жаахан удах л байх даа.
Дараах зүйлсийг мэдэж байх шаардлагатай:
ISP буюу интернэтийн үйлчилгээ үзүүлэгчийн холбогдох утасны дугаар
Модемийн хэрэглэх COM: портын дугаар
Интернэтийн үйлчилгээ үзүүлэгчид бүртгүүлсэн хэрэглэгчийн нэр болон нууц үг
FreeBSD-н алдааны бүртгэл
FreeBSD төсөл нь гаргаж буй хувилбар болгоноо алдаагүй баттай байлгахыг
чармайж байдаг боловч зарим тохиолдолд жижиг алдаанууд гарах тохиолдол үүсдэг. Маш ховор
үед ийм алдаа суулгах үед гардаг. Эдгээр алдааг илрүүлж засаад, энэ тухайгаа
FreeBSD алдааны бүртгэл
хуудсан дээр тэмдэглэж бичдэг. Та суулгаж байх үед ийм хүндрэлтэй тулгарахгүйн тулд энэ хуудас уруу
орж шалгах хэрэгтэй.
Хувилбар бүрд гарсан алдаануудыг бүх хувилбартай нь жагсаасан бүртгэлийг
FreeBSD-н вэб хуудасны
хувилбарын мэдээлэл хэсэгт харж болно.
FreeBSD-н суулгац файлуудыг бэлдэх
FreeBSD-г суулгах явц нь дараах байршилд буй файлаас гүйцэтгэгдэж болно:
Дотоод төхөөрөмжөөс
CDROM эсвэл DVD
Уг компьютерт буй DOS хэсгээс
SCSI эсвэл QIC бичлэгээс
Уян дискнээс
Сүлжээ
FTP хаягнаас. Хэрэв шаардлагатай бол галт хана эсвэл HTTP проксигоор дамжина
NFS сервер
Зориулалтын параллел юм уу цуваа холболт
Хэрэв та FreeBSD -н суулгацыг CD эсвэл DVD хэлбэрээр авсан бол
танд хэрэгтэй бүх зүйл бэлэн болох бөгөөд энэ хэсгийг алгасаад дараагийн
хэсэг уруу шилжиж болно.
().
Хэрэв та FreeBSD-н суулгац файлуудыг бэлдэж аваагүй бол
хэсэг уруу очиж дээрх байршлаас
хэрхэн бэлдэж авах талаар тайлбарласныг уншина уу. Тэр хэсгийг уншиж
дуусаад буцаж эндээс
хэсэг уруу орох хэрэгтэй.
Эхлэн ачаалах төхөөрөмжийг бэлдэх
FreeBSD суулгац нь таны компьютер ачаалах үед эхэлдэг—
энэ нь өөр үйлдлийн системээс эхлүүлдэг програм биш.
Таны компьютер ердийн үед хатуу дискэн дээр суугдсан үйлдлийн
системээр эхлэж ачаалагддаг. Гэхдээ үүнийг бас
ачаалагдаж болдог
уян дискнээс эхлүүлж болохоор
тохируулж болдог. Орчин үеийн ихэнх компьютерууд CDROM дотор буй
CDROM дискнээс эхлэн ачаалагдаж чаддаг.
Хэрэв та FreeBSD-г CDROM эсвэл DVD дээр (худалдаж авсан юм уу
эсвэл өөрөө бэлдэж авсан бол) бэлдэж авсан бөгөөд таны компьютер
CDROM эсвэл DVD-ээс эхлэн ачаалагдаж болдог (ихэнх BIOS дээр Boot
Order буюу ачаалах дараалал
гэсэн эсвэл үүнтэй төсөөтэй
сонголтоор тохируулагддаг) бол энэ хэсгийг уншилгүй алгасаж болно.
FreeBSD-н CDROM болон DVD дээр байгаа файлууд нь нэмэлт зүйлс шаардалгүй
шууд суугдах боломжтой.
Ачаалагдаж болдог уян диск бэлдэхийн тулд дараах алхмыг гүйцэтгэнэ:
Ачаалагддаг уян дискний Image буюу дүрс файлыг бэлдэх
Ачаалагддаг дискнүүд нь таны суулгац файлыг хадгалсан төхөөрөмжний
floppies/ сан дотор байрладаг бөгөөд мөн
ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/<arch>/<version>-RELEASE/floppies/.
хаягнаас бас хуулагдаж болно. <arch> болон
<version> -ны оронд хүссэн архитектур ба хувилбараа орлуулах хэрэгтэй.
Жишээ нь &os;/&arch.i386; &rel.current;-RELEASE хувилбарын ачаалагддаг уян дискийг
хаягаас татаж авна.
Уян дискний images буюу дүрс файл нь .flp гэсэн өргөтгөлтэй байдаг.
floppies/ сан нь янз бүрийн дүрс файл агуулж байдаг бөгөөд
суулгах төхөөрөмж болон FreeBSD-нхээ хувилбарт тохируулан сонголт хийдэг.
Ихэнх тохиолдолд танд дөрвөн ширхэг уян диск хэрэг болно. Тэдгээр нь
boot.flp,
kern1.flp,
kern2.flp болон
kern3.flp юм. Уг санд буй
README.TXT файлаас уг уян дисктэй холбоотой сүүлийн үеийн
мэдээллийг шалгаарай.
Эдгээр дүрс файлыг татаж авах FTP програм нь binary mode
буюу хоёртын файлын хэлбэр горимоор татаж авах ёстой. Зарим вэб хөтөч програмууд нь
текст (эсвэл
ASCII) горим хэрэглэдэг бөгөөд ийм үед таны уян
диск анхлан ачаалагдаж чадахгүй.
Уян диск бэлдэх
Татаж авсан дүрс файл болгонд нэг уян диск бэлдэх ёстой.
Уг дискнүүд нь ямар нэгэн алдаагүй байх шаардлагатай.
Шалгах хамгийн амар арга бол шууд форматлах буюу цэвэрлэх
хэрэгтэй. Урьдчилан цэвэрлэсэн дискэнд итгэх хэрэггүй.
&windows; -н цэвэрлэдэг хэрэгсэл нь дискэн дээр байгаа
эвдэрсэн хэсгийг мэдээлдэггүй бөгөөд тэдгээрийг зүгээр
bad буюу муу
гэж тэмдэглээд өнгөрдөг.
Шинэ диск хэрэглэн суулгах үйлдэл хийхийг танд зөвлөж байна.
Хэрэв таны FreeBSD-г суулгах явц гацах, эвдрэх, ямар нэг
гаж нөлөө үзүүлбэл та хамгийн түрүүнд уян дискээ хардах хэрэгтэй.
Шинэ дискэнд дүрс файлаа бичээд дахин оролдоорой.
Дүрс файлыг уян диск уруу бичих
.flp файлууд нь диск уруу зүгээр
хуулдаг энгийн файл биш юм.
Тэд бол дискний бүхэл бүтцийг агуулсан дүрс файл.
Тийм болохоор ийм файлыг диск уруу шууд хуулж болохгүй.
Харин, дүрс файлыг диск уруу буулгах тусгай хэрэгсэл ашигладаг.
DOS
Хэрэв та &ms-dos;/&windows; үйлдлийн систем дээр ажиллаж байгаа бол
fdimage хэрэгсэл хэрэглэх хэрэгтэй.
Хэрэв уян дискнүүд CDROM дээр байгаа бөгөөд таны
CDROM E: гэж танигдсан бол та дараах тушаалыг өгөх
хэрэгтэй:
E:\> tools\fdimage floppies\boot.flp A:
Энэ тушаалыг уян дискээ сэлгэж .flp файл болгонд гүйцэтгээд
дараа нь дэс дараалан тэмдэглэх хэрэгтэй.
.flp файлын байрлалаас хамааран тушаалаа тохируулж өгөх хэрэгтэй.
Хэрэв танд CDROM байхгүй бол fdimage нь FreeBSD-н FTP
багажнууд
сангаас хуулагдах боломжтой.
Хэрэв та уян дискийг &unix; системээс бэлдэж байгаа бол(
өөр FreeBSD системээс) та &man.dd.1; тушаалыг ашиглан дүрс файлыг
уян диск дээр буулгаж болно. FreeBSD дээр:
&prompt.root; dd if=boot.flp of=/dev/fd0
FreeBSD дээр /dev/fd0 гэхээр эхний уян дискний
хөтлөгч уруу ханддаг ( A: төхөөрөмж).
/dev/fd1 гэвэл
B: төхөөрөмж гэх мэтчилэн үргэлжилдэг.
Бусад &unix; төрлийн систем дээр уян дискний төхөөрөмж нь өөр өөр
нэртэй байж болох бөгөөд шаардлагатай бол
тухайн системийн бичиг баримтаас лавлах хэрэгтэй.
Та одоо FreeBSD-н суулгацыг эхлүүлэхэд бэлэн боллоо.
Суулгацыг эхлүүлэх
Дараах мэдэгдлийг харах хүртэл суулгац програм нь таны
диск(нүүд)эд ямар нэгэн өөрчлөлт хийдэггүй:
Last Chance: Are you SURE you want continue the installation?
If you're running this on a disk with data you wish to save then WE
STRONGLY ENCOURAGE YOU TO MAKE PROPER BACKUPS before proceeding!
We can take no responsibility for lost disk contents!
Үүнийг орчуулбал:
Сүүлийн боломж: Та суулгацыг үргэлжлүүлэхдээ ИТГЭЛТЭЙ байна уу?
Хэрэв та хэрэгтэй мэдээллээ хадгалсан дискнээс уг суулгацыг
эхлүүлж байгаа бол, эхлүүлэхээсээ өмнө ӨӨРИЙНХӨӨ ӨГӨГДЛИЙГ НАЙДВАРТАЙ ХАДГАЛЖ
АВАХЫГ БИД ЗӨВЛӨЖ БАЙНА!
Дискэнд буй өгөгдөлд учирсан эвдрэлд бид хариуцлага хүлээхгүй!
Суулгац програм нь энэ анхааруулга хүртэл дискэнд
өөрчлөлт хийлгүйгээр цуцалж гарах боломжтой. Хэрэв та ямар нэгэн
зүйл буруу тохируулсан юм уу өөрчлөх ёстой гэж бодож байвал, энэ мөчид
та компьютераа унтраахад ямар ч эвдрэл үүсэхгүй.
Эхлэн ачаалалт
&i386; системд эхлэн ачаалах
Компьютер унтарсан үеэс эхлэх хэрэгтэй.
Компьютерийг асаана. Эхлэх үед дэлгэц дээр системийн BIOS-н
үндсэн тохируулга уруу ордог гарын товчлолыг харуулдаг. Энэ нь голдуу
F2, F10,
Del, эсвэл
Alt
S
гэсэн товчлолуудын нэг нь байдаг. Дэлгэцэнд юу гэж заасан байна,
уг товлолыг дарж BIOS-н тохируулга уруу орох хэрэгтэй. Зарим тохиолдолд, эхлэх
үед график зураг харуулдаг бөгөөд голдуу Esc товч дарснаар
уг зургийг болиулж хүссэн текстээ дэлгэцэнд харах боломжтой.
Систем аль төхөөрөмжөөс эхлэж ачаалах вэ гэсэн тохируулгыг олох хэрэгтэй.
Энэ нь голдуу Boot Order буюу эхлэх дараалал
гэсэн хэсэгт байдаг
бөгөөд ачаалж болох
Floppy, CDROM,
First Hard Disk гэсэн ачаалж болох төхөөрөмжийн
жагсаалтыг агуулсан байдаг.
Хэрэв та уян дискнээс ачаална гэж бодсон бол уг жагсаалтнаас
уян дискийг сонгох хэрэгтэй. Эсвэл та CDROM -ноос эхэлж ачаална гэж
бодож байвал түүнийг сонгох хэрэгтэй. Аль нь зөв эсэхээ мэдэхгүй
эргэлзэж байгаа бол уг компьютертай цуг ирдэг гарын авлагаас хараарай.
Тохирсон өөрчлөлтөө хийж хадгалаад гарна. Компьютер ингэсний дараа
шинээр дахин ачаалагдаж эхэлнэ.
Хэрэв та
дээр заасан шиг уян диск бэлдсэн бол,
boot.flp файлыг агуулсан уян диск нь эхнийх нь бөгөөд
шинээр ачаалагдах үед тэр уян диск нь хөтлөгч дотор байх ёстой.
Хэрэв та CDROM -с эхэлж ачаалж байгаа бол компьютераа асаангуутаа
CDROM уруу дискээ хийж эхлүүлэх хэрэгтэй.
Хэрэв таны компьютер асаад, өмнө суусан байсан үйлдлийн системнээс
ердийнхөөрөө эхлэж байвал шалтгаан нь доор дурдсанаас аль нэг нь байж болно:
Ачаалах явцаас өмнө нь амжиж дискээ оруулаагүй байх. Дискээ оруулаад
компьютераа дахин шинээр ачаал.
Өмнө хийсэн BIOS -ийн өөрчлөлт зөв хийгдээгүй байх. Уг өөрчлөх үйлдлийг дахин
хийж зөв тохируулгыг хийх.
Магадгүй таны бэлдсэн төхөөрөмжөөс эхлэж ачаалах үйлдлийг таны BIOS
дэмжээгүй байж болно.
FreeBSD ачаалагдаж эхлэнэ. Хэрэв та CDROM -ноос эхлүүлсэн бол
дараах зүйлтэй адилхан мэдэгдэл харах болно (хувилбарын хэсгийг оруулаагүй болно):
Booting from CD-Rom...
CD Loader 1.2
Building the boot loader arguments
Looking up /BOOT/LOADER... Found
Relocating the loader and the BTX
Starting the BTX loader
BTX loader 1.00 BTX version is 1.01
Console: internal video/keyboard
BIOS CD is cd0
BIOS drive C: is disk0
BIOS drive D: is disk1
BIOS 639kB/261120kB available memory
FreeBSD/i386 bootstrap loader, Revision 1.1
Loading /boot/defaults/loader.conf
/boot/kernel/kernel text=0x64daa0 data=0xa4e80+0xa9e40 syms=[0x4+0x6cac0+0x4+0x88e9d]
\
Хэрэв та уян дискнээс эхлүүлж байгаа бол дараах мэдэгдэлтэй ижил
бичиглэлийг харна (хувилбарын хэсгийг оруулаагүй болно):
Booting from Floppy...
Uncompressing ... done
BTX loader 1.00 BTX version is 1.01
Console: internal video/keyboard
BIOS drive A: is disk0
BIOS drive C: is disk1
BIOS 639kB/261120kB available memory
FreeBSD/i386 bootstrap loader, Revision 1.1
Loading /boot/defaults/loader.conf
/kernel text=0x277391 data=0x3268c+0x332a8 |
Insert disk labelled "Kernel floppy 1" and press any key...
Уг зааврын дагуу
boot.flp дискийг гаргаад
kern1.flp дискийг оруулаад
Enter товчийг дараарай. Эхний дискнээс эхэлж ачаалаад
дараа нь шаардсан дискнүүдийг нь дараалан оруулах хэрэгтэй.
Уян диск эсвэл CDROM-ны алинаас нь ч эхлүүлсэн бай гэсэн
&os;-ийн ачаалагч эхлүүлэгч цэсэнд тулж ирдэг:
Арван секунд хүлээх, эсвэл шууд Enter товч дарж болно.
Alpha систем дээр эхлүүлэх
Alpha
Компьютераа унтраастай үед эхэлнэ.
Асаагаад эхлүүлэх хэсэг гарч иртэл хүлээнэ.
Хэрэв та
дээр заасан шиг уян диск бэлдсэн бол,
boot.flp файлыг агуулсан уян диск нь эхнийх нь бөгөөд
шинээр ачаалагдах үед тэр уян диск нь хөтлөгч дотор байх ёстой.
Тэгээд дараах тушаалыг өгөх хэрэгтэй
(уян дискний хөтлөгчийн нэрийг өөрийнхөөрөө бичих хэрэгтэй):
>>>BOOT DVA0 -FLAGS '' -FILE ''
Хэрэв CDROM -оос эхлүүлсэн бол дараах тушаалыг өгнө
( CDROM-ийн нэр нь таны компьютерийнх байх хэрэгтэй):
>>>BOOT DKA0 -FLAGS '' -FILE ''
FreeBSD ачаалагдаж эхлэнэ. Хэрэв та уян дискнээс эхэлсэн бол
дараах хэсэгт тулна:
Insert disk labelled "Kernel floppy 1" and press any key...
Уг зааврын дагуу
boot.flp дискийг гаргаад
kern1.flp дискийг оруулаад
Enter товчийг дараарай.
Уян диск эсвэл CDROM ны алинаас нь ч эхлүүлсэн бай
дараах хэсэгт тулж ирдэг:
Hit [Enter] to boot immediately, or any other key for command prompt.
Booting [kernel] in 9 seconds... _
Арван секунд хүлээх, эсвэл шууд Enter товч. Энэ нь
цөмийн тохируулах цэс уруу хөтөлнө.
&sparc64; систем дээр эхлүүлэх
Ихэнх &sparc64; системүүд нь дискнээс автоматаар эхлэхээр
тохируулагдсан байдаг. &os; суулгахын тулд та сүлжээгээр юм уу
эсвэл CDROM-оос эхлүүлэх шаардлагатай. Энэ нь PROM (OpenFirmware)
руу орохыг танаас шаарддаг.
Ингэхийн тулд системийг дахин ачаалж эхлүүлэх үеийн мэдэгдэл
гарч ирэхийг хүлээх хэрэгтэй. Энэ нь тухайн загвараас шалтгаалах
боловч доор дурдсантай төстэй харагдах ёстой:
Sun Blade 100 (UltraSPARC-IIe), Keyboard Present
Copyright 1998-2001 Sun Microsystems, Inc. All rights reserved.
OpenBoot 4.2, 128 MB memory installed, Serial #51090132.
Ethernet address 0:3:ba:b:92:d4, Host ID: 830b92d4.
Хэрэв таны систем дискнээс энэ үед ачаалж эхэлбэл та PROM хүлээх мөрөнд
орохын тулд
L1A
эсвэл
StopA
товчлуурын хослолыг дарах юм уу эсвэл цуваа консолоос (жишээ нь &man.tip.1;
эсвэл &man.cu.1; дээр ~#-г ашиглан) BREAK-г
илгээх хэрэгтэй. Энэ нь иймэрхүү харагдах болно:
ok
ok {0}
Энэ нь зөвхөн нэг CPU-тай системүүд дээр хэрэглэгддэг
хүлээх мөр юм.
Энэ нь SMP системүүд дээр хэрэглэгддэг хүлээх мөр юм.
тоо нь идэвхтэй байгаа CPU-ийн тоог илэрхийлдэг.
Энэ хүрэхэд өөрийн хөтөчдөө CDROM-оо хийгээд PROM хүлээх мөрөөс
boot cdrom тушаалыг бичих хэрэгтэй.
Төхөөрөмжийн шалгаж бүртгэсэн хэсгийг харах
Сүүлд нь урсаж өнгөрдөг хэдэн зуун мөр текст нь
дэлгэцийн түр хадгалагч уруу хадгалагддаг бөгөөд
сүүлд дахин харж болдог.
Түр хадгалагдсан мөрийг дахин харахын тулд Scroll Lock
товч дараарай. Энэ нь дэлгэцэнд урсаж өнгөрсөн текстүүдийг дээш нь эргүүлж
харах боломж өгдөг. Та дээш заасан сум товчоор юм уу эсвэл
PageUp мөн PageDown товчнуудаар дээш доош гүйлгэн
харж болно. Scroll Lock товчийг дахин дарж гулгуулах үйлдлээ зогсоодог.
Та уг товчийг дарж дээш гулгуулан харах хэрэгтэй. Энэ нь цөм хэрхэн төхөөрөмжүүдийг
таньсан тухай харуулдаг. Та дээр харуулсантай ижил
бичиглэл харах бөгөөд харин төхөөрөмжүүдийн нэрс нь таны компьютерийнхаас өөр байж магадгүй.
Төхөөрөмж таньсан бүртгэл бичлэг
avail memory = 253050880 (247120K bytes)
Preloaded elf kernel "kernel" at 0xc0817000.
Preloaded mfs_root "/mfsroot" at 0xc0817084.
md0: Preloaded image </mfsroot> 4423680 bytes at 0xc03ddcd4
md1: Malloc disk
Using $PIR table, 4 entries at 0xc00fde60
npx0: <math processor> on motherboard
npx0: INT 16 interface
pcib0: <Host to PCI bridge> on motherboard
pci0: <PCI bus> on pcib0
pcib1:<VIA 82C598MVP (Apollo MVP3) PCI-PCI (AGP) bridge> at device 1.0 on pci0
pci1: <PCI bus> on pcib1
pci1: <Matrox MGA G200 AGP graphics accelerator> at 0.0 irq 11
isab0: <VIA 82C586 PCI-ISA bridge> at device 7.0 on pci0
isa0: <iSA bus> on isab0
atapci0: <VIA 82C586 ATA33 controller> port 0xe000-0xe00f at device 7.1 on pci0
ata0: at 0x1f0 irq 14 on atapci0
ata1: at 0x170 irq 15 on atapci0
uhci0 <VIA 83C572 USB controller> port 0xe400-0xe41f irq 10 at device 7.2 on pci
0
usb0: <VIA 83572 USB controller> on uhci0
usb0: USB revision 1.0
uhub0: VIA UHCI root hub, class 9/0, rev 1.00/1.00, addr1
uhub0: 2 ports with 2 removable, self powered
pci0: <unknown card> (vendor=0x1106, dev=0x3040) at 7.3
dc0: <ADMtek AN985 10/100BaseTX> port 0xe800-0xe8ff mem 0xdb000000-0xeb0003ff ir
q 11 at device 8.0 on pci0
dc0: Ethernet address: 00:04:5a:74:6b:b5
miibus0: <MII bus> on dc0
ukphy0: <Generic IEEE 802.3u media interface> on miibus0
ukphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
ed0: <NE2000 PCI Ethernet (RealTek 8029)> port 0xec00-0xec1f irq 9 at device 10.
0 on pci0
ed0 address 52:54:05:de:73:1b, type NE2000 (16 bit)
isa0: too many dependant configs (8)
isa0: unexpected small tag 14
orm0: <Option ROM> at iomem 0xc0000-0xc7fff on isa0
fdc0: <NEC 72065B or clone> at port 0x3f0-0x3f5,0x3f7 irq 6 drq2 on isa0
fdc0: FIFO enabled, 8 bytes threshold
fd0: <1440-KB 3.5” drive> on fdc0 drive 0
atkbdc0: <Keyboard controller (i8042)> at port 0x60,0x64 on isa0
atkbd0: <AT Keyboard> flags 0x1 irq1 on atkbdc0
kbd0 at atkbd0
psm0: <PS/2 Mouse> irq 12 on atkbdc0
psm0: model Generic PS/@ mouse, device ID 0
vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
sc0: <System console> at flags 0x100 on isa0
sc0: VGA <16 virtual consoles, flags=0x300>
sio0 at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0
sio0: type 16550A
sio1 at port 0x2f8-0x2ff irq 3 on isa0
sio1: type 16550A
ppc0: <Parallel port> at port 0x378-0x37f irq 7 on isa0
pppc0: SMC-like chipset (ECP/EPP/PS2/NIBBLE) in COMPATIBLE mode
ppc0: FIFO with 16/16/15 bytes threshold
plip0: <PLIP network interface> on ppbus0
ad0: 8063MB <IBM-DHEA-38451> [16383/16/63] at ata0-master UDMA33
acd0: CD-RW <LITE-ON LTR-1210B> at ata1-slave PIO4
Mounting root from ufs:/dev/md0c
/stand/sysinstall running as init on vty0
FreeBSD-дээр таны хүссэн төхөөрөмжийг зөв таньсан эсэхийг уг
бичлэг дээр тулгаж харах хэрэгтэй. Хэрэв төхөөрөмж олдоогүй бол
уг бичлэгт харуулагдахгүй. Өөрчлөн тохируулсан цөм
нь дууны карт зэрэг GENERIC цөмд байхгүй төхөөрөмжүүдийн
дэмжлэгийг нэмэх боломжийг танд олгодог.
&os; 6.2 болон түүнээс хойш гарсан хувилбаруудын хувьд
төхөөрөмжийг таних үйлдлийн дараагаар та -г
харах болно. Сумтай товчлуур ашиглан улс, бүс, эсвэл бүлэг сонгох
хэрэгтэй. Дараа нь Enter дарахад энэ нь
таны улс болон товчлуурын байрлалыг хялбараар тохируулах болно.
Мөн sysinstall програмаас хялбараар
гарч дахин эхэлж бас болно.
Улс сонгох цэс
Sysinstall-аас гарах
Сумтай товч хэрэглэж үндсэн цэснээс
Exit Install цэсийг сонгоно.
Дараах бичиглэл танд харуулагдана:
User Confirmation Requested
Are you sure you wish to exit? The system will reboot
(be sure to remove any floppies/CDs/DVDs from the drives).
[ Yes ] No
Хэрэв диск хөтлөгч дотор CDROM-г үлдээсэн хэвээр байгаа бол
&gui.yes; цэсийг сонгож системийг дахин эхлүүлнэ.
Хэрэв та уян дискнээс эхлүүлсэн бол дахин ачаалахаасаа өмнө
boot.flp дискийг гаргах хэрэгтэй.
Sysinstall-н танилцуулга
sysinstall бол FreeBSD төслөөс гаргасан
суулгац програм юм. Энэ нь консол дээр тулгуурлаж ажилладаг
бөгөөд зохих цэсийг нь ашиглаж суулгах явцыг хянаж тохируулдаг.
sysinstall-н цэс нь сумтай товч,
Enter буюу мөр нугалагч, Tab, Space буюу зай авагч
болон бусад товчнуудаар залагддаг. Эдгээр товчны тухай дэлгэрэнгүй мэдээлэл
sysinstall-н хэрэглэх зааварт бичээстэй буй.
Эдгээр мэдээллийг харахын тулд
Usage буюу хэрэглээ хэсэгт очоод
[Select] хэсгийг сонгож -д харуулсан шиг байдалд болгоод
Enter товч дарах хэрэгтэй.
Цэстэй хэрхэн ажиллах тухай заавар харуулагдана. Хэрэглэх
зааврыг уншиж дуусаад Enter товч дарж буцаад
үндсэн цэсэнд очно.
Sysinstall-н үндсэн цэсэнд Usage буюу хэрэглээг сонгох нь
Documentation буюу бичиг баримт цэсийг сонгох
Үндсэн цэснээс сумтай товч ашиглан Doc
цэсийг сонгоод Enter дарна.
Documentation буюу бичиг баримтын цэс сонгох
Энэ нь бичиг баримтыг харуулах болно.
Хамт ирсэн бичиг баримтыг нь унших хэрэгтэй.
Бичиг баримтыг үзэхийн тулд сумтай товч хэрэглэж сонгоод
Enter товч дарна. Уншиж дуусаад
Enter товч дарвал Documentation буюу бичиг баримтын
цэс уруу буцна.
Суулгацын үндсэн цэсэнд буцаж очихын тулд
Exit буюу гарах гэсэн цэсийг сонгоод
Enter товч дараарай.
Keymap буюу гарын товчлуур хуваарилалт цэсийг сонгох
Гарын товчлуурын хуваарилалтыг өөрчлөхийг хүсвэл
сумтай товчоор Keymap цэсийг сонгоод
Enter товч дарна. Энэ нь зөвхөн
стандарт буюу US америк гарын хуваарилалт хэрэглэдэггүй тохиолдолд л
танд хэрэгтэй.
Sysinstall-н үндсэн цэс
Өөр өөр гарын хуваарилалтыг та сумтай товчоор сонгоод
Space товч дарж сонгох бөгөөд дахин
Space дарж сонголтоо цуцлана.
Сонгож дуусаад &gui.ok; цэсийг сумтай товч ашиглан сонгоод
Enter товч дараарай.
Энэ харуулсан дэлгэцэнд зөвхөн зарим хэсгийг нь харуулсан болно.
Tab товч хэрэглэж &gui.cancel; цэсийг сонговол
анхдагч гарын хуваарилалтыг сонгоод үндсэн цэс уруу буцдаг.
Суулгацын Options буюу тохируулгууд нүүр
Options цэсийг сонгоод
Enter дарна.
Sysinstall-н үндсэн цэс
Sysinstall Options хэсэг
Анхдагч утга нь ихэнх хэрэглэгчдэд өөрчлөлтгүйгээр хэрэглэгдэхэд
хангалттай. Хувилбарын нэр нь суулгаж байгаа төрлөөсөө хамаарч өөр өөр байна.
Сонгогдсон цэсийн тайлбар нь дэлгэцийн доод хэсэгт цэнхэр дэвсгэртэй
бичигддэг. Тэмдэглэж хэлэхэд, Use Defaults цэсийг сонговол
бүх утгыг анхдагч утгад нь тохируулдаг.
F1 товч дарж сонголтын төрөл бүрийн мэдээлэл агуулсан
туслах мэдээллийг харж болно.
Q товч дарвал үндсэн цэсэнд буцаж очно.
Үндсэн суулгацыг эхлүүлэх
&unix; эсвэл FreeBSD үйлдлийн системийг сурч байгаа хүнд бол
Standard цэсийг сонгож үндсэн суулгацыг
эхлүүлэх хэрэгтэй. Сумтай товч хэрэглэн Standard
цэсийг сонгоод Enter товч дарвал үндсэн суулгац эхэлнэ.
Үндсэн суулгацыг эхлүүлэх нь
Дискний зайг зохицуулах
Таны эхний үйлдэл бол FreeBSD-д зориулж дискний зай бэлдэж түүндээ
нэр өгнө. Ингэснээр sysinstall уг дискийг таньж
бэлддэг. Үүнийг хийхийн тулд FreeBSD диск дээр байгаа
мэдээллийг хэрхэн уншиж хэрэглэдэг талаар мэдэх хэрэгтэй.
BIOS-н диск дугаарлалт
Өөрийнхөө систем дээр FreeBSD -г суулгаж тохируулахын тулд
зарим зүйлсийг анхаарч мэдэх хэрэгтэй. Ялангуяа та олон диск
хэрэглэдэг бол энэ нь тун чухал.
DOS
Microsoft Windows
Компьютер дээр BIOS-оос хамаарч ажилладаг
&ms-dos; эсвэл µsoft.windows; зэрэг үйлдлийн системүүдэд, BIOS
дискнүүдийг дугаарладаг бөгөөд уг үйлдлийн системүүд нь уг дугаарласан
өөрчлөлтийг нь дагаж ажилладаг. Энэ нь primary
master буюу анхны дискнээс
өөр дискнээс үйлдлийн систем
эхэлж ажиллах боломж өгдөг. Энэ арга нь
Ghost
эсвэл XCOPY зэрэг програм ашиглан
нэг дискний ерөнхий зургийг хуулж түүнтэй адилхан хоёр дахь диск уруу
хуулан системдээ найдвартай хадгалалт хийдэг хүмүүст тун хэрэгтэй байдаг.
Тэгээд, хэрэв эхний диск эвдрэх, эсвэл вирустаж гэмтэх зэрэг хүндрэл
гарвал, BIOS дээр дискнүүдийн дарааллыг өөрчилж хуулбарласан өгөгдөлтэй
дискнээс үйлдлийн системээ эхлүүлэн ажиллаж болдог.
Энэ нь бараг дискнүүдийн кабелийг хайрцгийг нь нээлгүйгээр
сольж байгаатай ижил юм.
SCSI
BIOS
SCSI диск хянагчтай системүүд нь голдуу
BIOS өргөтгөлтэй байдаг бөгөөд найм хүртэлх SCSI дискнүүдийг
иймэрхүү зарчмаар дараалуулж чаддаг.
Иймэрхүү арганд дассан хүнд FreeBSD арай өөрөөр
үйлчилдэг бөгөөд энэ нь их цочирдуулдаг.
FreeBSD BIOS-г ашигладаггүй бөгөөд BIOS-н логик дискний дугаарлалтыг
мэддэггүй
. Энэ нь ялангуяа яг адилхан дискэн дээр
дискний зургийг хуулбарласан үед бодсоноос өөр үйлчлэл үзүүлэхэд хүргэдэг.
FreeBSD-г хэрэглэх үедээ BIOS-г үргэлж өөрөөр нь диск дугаарлалт
хийлгэж, тэр чигээр нь үлдээх хэрэгтэй. Хэрэв та дискний дугаарлалтыг
өөрчлөхөөр бол, компьютерийнхаа хайрцгийг онгойлгож дискний сэлгүүр
болон залгууруудыг тохируулж залгах хэрэгтэй.
Билл болон Фрэд нарт тохиолдсон явдлыг авч үзэцгээе:
Билл өөрийнхөө хуучин Wintel компьютераа янзалж FreeBSD суулгаад
Фрэдэд өгөхөөр болжээ. Билл нэг SCSI хянагчтай бөгөөд түүний эхний SCSI
диск дээр FreeBSD-г суулгажээ.
Фрэд суулгасан системийг хэрэглэж эхлэв. Гэвч хэсэг өдрийн дараа
хуучин SCSI дискэн дээр зарим алдаанууд гараад байна гэж Биллд хэлжээ.
Хэдэн өдрийн дараа уг хүндрэлийг Билл засахаар шийджээ.
Тэгээд арынхаа өрөөнөөс уг дисктэй ижил, нөөц хадгалалт
хийсэн дискээ авчирчээ. Авчирсан дискэн дээрээ гадаргууны шалгалт хийхэд
ямар ч алдаагүй гэж гарч ирэв. Тэгэхээр нь нөхөр Билл тэр дискийг
SCSI хяналтын дөрөв дэх залгуур дээр залгаад эхний дискнээс дөрөв дэх диск уруу
нөөц image буюу хуулбар дүрс хийж авч гэнэ. Шинэ залгасан диск сайхан ажиллаж
байсан тул баярласан Билл уг дискийг цаашид хэрэглэхээр шийдээд
SCSI BIOS дээр үйлдлийн системийг ачаалах дискний дугаарыг дөрөв болгож
өөрчилжээ. FreeBSD-н эхлэх ачаалалт зүгээр байсан бөгөөд маш сайхан
ажиллаж эхлэв.
Фрэд цааш нь хэдэн хоног ажилласны дараа төдий удалгүй Билл болон Фрэд
хоёр FreeBSD-г шинэчлэх шинэ адал явдал хөөцөлдөх хүсэл төржээ. Билл SCSI хянагчийн
эхний дискийг аваад оронд нь үүнтэй ижилхэн өөр нөөцөлсөн
диск авчирж
залгав. Билл
FreeBSD -н шинэ хувилбарыг эхний SCSI диск дээр Фрэдийн шидэт интернэтээс FTP-ээс
татаж авсан уян дискнээс эхлүүлж суулгав. Суулгац маш амжилттай болжээ.
Фрэд гуай FreeBSD -н шинэ хувилбарыг хэдэн хоног туршиж үзээд
инженерийн салбарт хэрэглэхэд тун тохиромжтой юм байна гэсэн дүгнэлт өгч гэнэ.
Ингээд хуучин хувилбар дээр хийж байсан ажлуудаа хэрэглэх хэрэг болж гэнэ.
Тэгээд Фрэд гуай дөрөвдүгээр SCSI дискээ mount буюу холболт хийж
(өмнө суулгасан FreeBSD-н хуучин хувилбар) гэнэ. Фрэд гуайн нүдэнд
дөрөв дэх SCSI дискэн дээр өөрийнх нь хийж байсан ажлууд байхгүй байлаа.
Тэр өгөгдлүүд хаачсан бэ?
Эхний дискнээс дөрөв дэх диск уруу Билл гуай дүрс хуулалт
хийснээр дөрөв дэх диск нь хуулбар
болсон билээ.
Билл гуайн SCSI BIOS дээр дөрөв дэх дискнээс ачаалалт эхлүүлнэ
гэсэн тохиргоо бол тэнэглэл байжээ.
FreeBSD нь SCSI BIOS тохируулгыг үл харгалзан
эхний SCSI дискнээс эхлүүлсээр байсан байна.
BIOS дээр иймэрхүү өөрчлөлт хийснээр зарим ачаалах үйлдэл болон
ажиллуулагч тохируулгыг өөрчилдөг боловч,
FreeBSD эхлэх үедээ энэ тохируулгыг харгалзаж үздэггүй бөгөөд
өөрийнхөөрөө диск дугаарлалт хийж эхэлдэг.
Энд үзүүлснээр, систем нь эхний SCSI дискнээс эхэлсээр байсан бөгөөд
Фрэдийн бүх өгөгдөл дөрөв дээр биш эхний диск дээр байсан байна.
Хүмүүст бол дөрөв дэх SCSI дискнээс эхэлж байгаа мэт харагдсан байна.
Ийм үйлдэл болсны дараа ямар ч өгөгдөл устаж алга болоогүй болохыг
бид танд мэдэгдэж байгаадаа баяртай байна. Учир нь, хуучин эхний SCSI
дискийг буцааж залгаад Фрэдийн бүх өгөгдлийг буцааж авч чаджээ.
(Билл эхний дискнээс эхлүүлсэн байна).
Хэдийгээр бид нар SCSI дискэн дээр жишээ татсан боловч иймэрхүү үйлдэл
IDE диск дээр бас тохиолдож болно.
FDisk ашиглан дискний зүсмэл үүсгэх
Энэ хэсэгт хийсэн өөрчлөлт тань диск уруу бичигдэхгүй.
Хэрэв та ямар нэгэн алдаа хийж гэж бодоод дахин шинээр эхлэхийг хүсвэл
sysinstall-н гарах цэсийг ашиглах, эсвэл
U товч дарж Undo буюу буцаж үйлдэж болно.
Хэрэв та бүр эргэлзэж юу хийхээ мэдэхгүй болоод ирвэл компьютераа шууд
унтрааж болно.
Стандарт суулгацыг сонгосны дараа
sysinstall танд дараах мэдэгдлийг харуулна:
Message
In the next menu, you will need to set up a DOS-style ("fdisk")
partitioning scheme for your hard disk. If you simply wish to devote
all disk space to FreeBSD (overwriting anything else that might be on
the disk(s) selected) then use the (A)ll command to select the default
partitioning scheme followed by a (Q)uit. If you wish to allocate only
free space to FreeBSD, move to a partition marked "unused" and use the
(C)reate command.
[ OK ]
[ Press enter or space ]
Энэ хэсгийг орчуулбал:
Мэдэгдэл
Дараагийн хэсэгт та өөрийнхөө дискэнд DOS-маягийн ("fdisk")
диск хуваалт хийх хэрэгтэй. Хэрэв та дискнийхээ бүх хэмжээг
FreeBSD-д зориулна гэж бодож байвал (дискэн дээр байгаа бүх өгөгдлийг
дарж бичнэ) (A)ll тушаалыг сонгоод дараа нь (Q)uit цэсийг сонгож
гараарай. Хэрэв та зөвхөн сул чөлөөтэй байгаа хэсгийг FreeBSD-д
зориулна гэж бодож байгаа бол "unused" буюу хэрэглэгдээгүй гэсэн хэсгийг
сонгоод (C)reate буюу үүсгэ гэсэн тушаалыг сонгоорой.
[ OK ]
[ enter товч эсвэл зай авагч товч дарна уу]
Энд голдуу Enter товч дардаг. Ингэсний дараа
цөмд эхлэх үед таньж туршсан хатуу дискнүүдийн жагсаалтыг танд харуулах
болно.
дээр IDE дисктэй системийн жишээ
харуулав. Тэдгээр нь
ad0 болон ad2 гэсэн
нэртэй буй.
FDisk-н хэрэглэх дискийг сонгох
Та магадгүй яагаад ad1 дискийг
энд харуулсангүй вэ? гэж гайхаж мадагүй.
Танд хоёр ширхэг IDE хатуу диск байна гэж үзье. Нэг нь
нэг IDE залгуур дээр мастер диск болж залгагдсан бөгөөд нөгөөх нь
хоёр дахь IDE залгуур дээр суугдсан байг. Хэрэв FreeBSD нь тэдгээрийг
ad0 ба
ad1 гэж дугаарласан бол бүх юм зүгээр л ажиллах байсан.
Гэвч, хэрэв та гурав дахь дискийг эхний IDE залгуур дээрх
мастер дисктэй боол болгож залгавал уг диск ad1
гэж дугаарлагдах бөгөөд өмнө нь ad1 гэж дугаарлагдсан
диск ad2 гэж нэрлэгдэнэ. Дискэнд өгсөн нэрийг ашиглан
(жишээ нь ad1s1a) файл системийг хайхад хэрэглэдэг учраас
гэнэт таны дискнүүд өөр харагдаж эхлэх бөгөөд та FreeBSD-н тохируулгыг дахин хийх
шаардлага гарна.
Ийм хүндрэлийг арилгахын тулд цөм нь IDE дээр залгагдсан дискнүүдийг таньсан
дарааллаар нь биш харин залгагдсан байрлалаас нь хамааран дугаарладаг.
Ийм учраас хэрэв IDE-н хоёр дахь залгуур дээр залгагдсан мастер диск нь
үргэлж ad2 гэж нэрлэгдэх бөгөөд
ad0 эсвэл ad1 дискнүүд
бүр байхгүй байсан ч энэ нэрээрээ л байх болно.
Энэ нь FreeBSD-н цөмийн анхны тохируулга бөгөөд, ийм шалтгааны улмаас
ad0 болон ad2 гэж харуулж байна.
Тэгэхээр энэ зурган дээр байгаа машины IDE 2 залгуур дээр хоёр мастер
диск залгагдсан бөгөөд ямар ч боол диск байхгүй байна гэж харуулж байна.
Та аль диск дээр нь FreeBSD-г суулгахаа сонгоод &gui.ok; дээр дарах хэрэгтэй.
FDisk эхлэх бөгөөд
дэлгэц дээр -тэй төстэй зураг харуулагдах болно.
FDisk нь дэлгэц дээр гурван хэсэгт
хуваагдаж харуулагддаг.
Эхний хэсэгт нь дээд хоёр мөр хамаарагддаг бөгөөд сонгогдсон
дискний нарийвчилсан мэдээллүүдийг харуулдаг. Энэ нь FreeBSD-н
өгсөн нэр, дискний зохион байгуулалт мөн дискний нийт хэмжээ
зэргийг харуулдаг.
Хоёр дахь хэсэгт дискэн дээр байгаа зүсмэлүүдийг харуулдаг ба
хаанаас эхлээд хаана дууссан, ямар хэмжээгээр зүсэгдсэн бөгөөд
FreeBSD хэрхэн нэр өгсөн, бас уг зүсмэлийг тодорхойлсон тодорхойлолт болон
дэд төрлийг нь харуулдаг. Энэ жишээ дээр, компьютер дээрх дискний хэрэглэгдээгүй хоёр
зүсмэлийг харуулсан байна. Уг зурган дээр бас нэг том FAT
зүсмэл байгааг харуулсан байгаа бөгөөд магадгүй энэ нь &ms-dos; / &windows;
системийн C: диск байж болзошгүй.
Мөн уг зурган дээр бас нэг өргөтгөсөн зүсмэл байгааг харуулсан байгаа ба, бас энэ
нь &ms-dos; / &windows; систем дээр нэг өргөтгөсөн диск байж магадгүй.
Гурав дахь хэсэг нь
FDisk дээр хэрэглэж болох тушаалуудын жагсаалт байна.
Засварлаж эхлэхээс өмнөх Fdisk-н диск хуваалтын жишээ
Одоо таны хийх алхам дискээ хэрхэн зүсэж хуваахаас их хамаарна.
Хэрэв та дискээ бүхлээр нь FreeBSD-д зориулна гэж бодож байвал
(дискэн дээр байгаа бүх өгөгдлийг дарж суугдах бөгөөд
sysinstall танаас суулгацын явцад лавлаж асуух болно)
Use Entire Disk буюу дискийг бүхлээр нь хэрэглэ гэсэн заалтад
буй A товч дарах хэрэгтэй.
Байсан бүх зүсмэлүүд арилах бөгөөд жижигхэн хэсэг нь unused буюу хэрэглэгдээгүй
гэж хуваагдаад (компьютер диск шалгахад зориулагддаг хэсэг) үлдсэн том хэсэг нь
FreeBSD-д зориулж хуваагддаг. Ингэж сонгосны дараа сумтай товч хэрэглэн
шинээр үүссэн FreeBSD-н зүсмэлийг сонгоод S товч дарж
уг зүсмэлээс эхлэн ачаалагддаг болгох хэрэгтэй. Таны дэлгэц
-тэй төсөөтэй зураг харуулах ёстой.
Тэмдэглэж хэлэхэд, Flags баганад буй
A үсэг нь уг зүсмэлийг active буюу идэвхтэй
гэдгийг илэрхийлж байгаа бөгөөд энэ зүсмэлээс эхлэж ачаалагдах болно гэдгийг
харуулж байгаа юм.
Хэрэв та өмнө нь хэрэглэгдэж байсан зүсмэлүүдээс нэгийг нь FreeBSD-д зориулна
гэж бодсон бол уг зүсмэлийг сонгоод D товч дарж устгах хэрэгтэй.
Дараа нь та C товч дарвал үүсгэх зүсмэлийн хэмжээг танаас асуудаг.
Хүссэн хэмжээгээ оруулаад Enter товч дарах хэрэгтэй. Уг лавлаж асуусан
цонх дээр буй анхны тоо бол уг зүсмэл дээр хэрэглэж болох хамгийн их хэмжээг зааж байдаг
тул уг зүсмэлийг бүхлээр нь хэрэглэнэ гэж бодвол шууд уг тоог өөрчлөлгүй хэрэглэх хэрэгтэй.
Хэрэв та урьдчилан FreeBSD -д зориулан дискээ суллачихсан байвал (магадгүй
&partitionmagic; гэх мэтийн програм ашиглан дискээ бэлтгэсэн бол)
дараа нь C товч дарж шинэ зүсмэл үүсгээрэй. Дахин сануулахад, зүсмэл үүсгэх
үед хуваах зүсмэлийн хэмжээг танаас асуух болно.
Fdisk дискийг бүхлээр нь хэрэглэж буй жишээ
Хувааж дуусаад Q товч дарж гарна.
Таны өөрчилсөн өөрчлөлтүүд sysinstall дээр
хадгалагдах бөгөөд диск уруу одоохондоо бичигдээгүй байгаа.
Boot Manager буюу эхлэн ачаалалт зохицуулагчийг суулгах
Танд одоо эхлэн ачаалалт зохицуулагчийг суулгах эсэхээ сонгох
боломж гардаг. Хэрэв танд дараах нөхцлүүд биелж байвал
голдуу FreeBSD boot manager-ийг сонгох нь элбэг:
Танд олон дискнүүд байгаа бөгөөд FreeBSD-г
эхнийх дээр нь суулгаагүй бол.
Та FreeBSD-г өөр үйлдлийн системтэй хамт нэг диск дээр суулгаад
компьютер эхлэх үед FreeBSD-г эхлүүлэх үү эсвэл нөгөө үйлдлийн системийг
эхлүүлэх үү гэж сонголт хиймээр байгаа бол.
Хэрэв FreeBSD нь уг машин дээр байгаа цорын ганц
үйлдлийн систем байхаар бол
Standard -г сонгоход хангалттай.
Хэрэв та FreeBSD-г эхлүүлж чадах өөр ямар нэгэн програм
суулгасан бол None -г сонгоорой.
Сонголтоо хийгээд Enter товчийг дар.
Sysinstall-н эхлэн ачаалалт зохицуулагчийн цэс
F1 товч дарвал тусламжийн цэс харуулагдах бөгөөд
өөр үйлдлийн системтэй хамтарч хэрэглэх үед ямар хүндрэл үүсэж болох талаар
тайлбарлаж өгдөг.
Бусад диск дээр зүсмэл үүсгэх
Хэрэв танд нэгээс илүү олон дискнүүд байгаа бол эхлэн ачаалалтын
зохицуулагчийг сонгосны дараа диск сонгох цэсэнд буцаж очдог. Хэрэв та
FreeBSD-г олон диск хэрэглэж суулгахыг хүсвэл,
FDisk ашиглан цааш нь зүсэж хуваах хэрэгтэй.
Хэрэв та FreeBSD-г эхний дискнээс өөр диск дээр суулгаж байгаа бол
FreeBSD-н эхлэн ачаалалтыг зохицуулагчийг хоёулан дээр нь суулгах хэрэгтэй.
Диск сонгох цэснээс гарах
Tab товч хэрэглэн дискнүүд болон &gui.ok;, эсвэл
&gui.cancel; зэрэг тушаалууд уруу сэлгэж болно.
Tab товч хэрэглэн
&gui.ok;, дээр сонгоод Enter товч дарж суулгацыг цааш нь
үргэлжлүүлнэ.
Disklabel буюу дискэнд нэр өгч хуваалт үүсгэх
Та одоо үүсгэсэн зүсмэл дотроо хуваалт үүсгэх ёстой.
Хуваалт болгон
a үсгээр эхлээд h хүртэл нэр авдаг бөгөөд
b, c болон
d гэсэн нэрнүүд нь тусгай зөвшлийн дагуу өөр
зориулалтаар хэрэглэгддэг тул
та үүнийг хүлээн зөвшөөрөх хэрэгтэй.
Хэрэв олон диск дээр хуваалт үүсгэж байгаа бол
зарим програмууд нь зорилгоосоо хамаараад онцгой
хуваалтын загвар хэрэглэдэг. Гэхдээ та одоогоор
FreeBSD-г анх удаагаа суулгаж байгаа диск дээр
хэрхэн хуваалт үүсгэх тухай нэг их бодох шаардлага байхгүй.
Хамгийн чухал нь FreeBSD-г суулгаад хэрхэн хэрэглэдэг талаар сурах
явдал юм. Та үйлдлийн системд нэлээн гаршиж сайжирсан үедээ
FreeBSD-г дахин шинээр хэдийд ч суулгаж болно.
Энд үзүүлж буй хуваалтын загвар нь дөрвөн хуваалттай байна. Нэг нь swap хэмжээнд,
бусад гурав нь файлын системд зориулагдсан байна.
Эхний дискний хуваалт
Хуваалт
Файл систем
Хэмжээ
Тодорхойлолт
a
/
512 MB
Энэ бол root буюу эх файл систем юм. Бусад бүх файл системүүд
ямар нэгэн аргаар энд танигдаж хэрэглэгддэг. 512 MB хэмжээ
бол тухайн зорилгодоо таарсан хэмжээ. Та энд тийм их өгөгдөл хадгалахгүй
бөгөөд ердийн FreeBSD-н суулгац нь энд 128 MB-г хэрэглэдэг.
/ дээр үлдсэн зай нь дараа нь хэрэглэгдэх зорилгоор юм уу эсвэл түр
зуурын өгөгдөл зэрэгт зориулагддаг.
b
N/A
2-3 x RAM
Системийн swap зай нь b хуваагдал дээр
байрладаг. swap-д зориулж хэмжээгээ тохируулах нь
бас чухал. Хамгийн сайн хэрэглэгддэг арга бол, байгаа санах ойныхоо (RAM)
хэмжээнээс хоёр юм уу гурав дахин их хэмжээтэй байхад болно.
Хэрэв танд 32 MB хэмжээтэй RAM санах ой байгаа бол ядаж 64 MB
хэмжээтэй swap бэлдэх хэрэгтэй.
Хэрэв та нэгээс их дисктэй бол диск болгонд зориулж swap
зай үүсгэж болно. Ингэвэл, FreeBSD нь диск болгонд буй
swap зайг хэрэглэснээр илүү үр дүнтэй ажилладаг. Энэ тохиолдолд
хэрэглэх нийт swap-нхаа хэмжээг
(жишээ нь, 128 MB) байгаа дискнийхээ тоонд хувааж
(жишээ нь хоёр дисктэй гэж үзье) гарсан хэмжээг дискэн дээр swap-д
зориулж бэлдэх хэрэгтэй бөгөөд жишээний дагуу бол 64 MB диск болгонд
ногдож байна.
e
/var
256 MB-аас 1024 MB хүртэл
/var санд байнга өөрчлөгдөж байдаг файлууд байрладаг;
бүртгэл файл, мөн бусад удирдах болон хянах файлууд энэ төрлийн файлд ордог. Эдгээр
файлын ихэнх нь FreeBSD дээр ажилладаг програмуудаар өдрийн турш уншигдаж бас
бичигдэж байдаг. Иймэрхүү файлуудыг нэг дор байрлуулснаар
FreeBSD нь өөр файл систем уруу хандаж цаг заралгүй идэвхитэй ажиллаж чаддаг.
f
/usr
Дискний үлдсэн хэсэг (хамгийн багадаа 2 GB)
Бараг бусад бүх файлууд нь
/usr санд болон түүн дотор буй дэд сангуудад байрладаг.
Дээр дурдсан утганууд нь жишээ болон өгөгдсөн бөгөөд
зөвхөн туршлагатай хэрэглэгчид эдгээрийг ашиглах хэрэгтэй.
Хэрэглэгчид нь &os;-ийн хуваалт засварлагчийн Auto
Defaults гэж хэлэгддэг автомат хуваалтын хэлбэрийг
ашиглах нь зүйтэй юм.
Хэрэв та FreeBSD-г олон дискнүүд дээр дамнан суулгаж байгаа бол
бусад дискнүүд дээр үүсгэсэн зүсмэл дотроо хуваалт үүсгэх хэрэгтэй.
Хамгийн амархан арга нь диск болгонд хоёр хуваагдал үүсгээд нэгийг нь
swap зай болгоод нөгөөх нь ямар нэгэн файл систем болгох арга байдаг.
Бусад дискэн дээрх дискний хуваалт
Хуваалт
Файл систем
Хэмжээ
Тодорхойлолт
b
N/A
Тодорхойлолтоос уншина уу
Өмнө дурьдсанчлан, swap хэмжээг диск болгон дээр
үүсгэж болдог. Хэдийгээр a хуваалт
сул байсан ч гэсэн зарчмын дагуу swap зай нь
b хуваалт дээр байрладаг.
e
/diskn
Дискний үлдсэн хэмжээ
Дискний үлдсэн хэмжээ нь нэг бүхэл хуваалт болдог.
Энэ нь e хуваалт дээр биш харин a
хуваалт дээр байрлаж болох байсан ч зарчмын дагуу a
хуваагдал дээр root буюу эх файл систем (/) суугддаг.
Та энэ зарчмыг дагахгүй байж болох боловч
sysinstall харин дагадаг: Энэ зарчмыг дагаснаар
суулгацыг цэвэрхэн болгодог. Та энэ файл системийг хаана ч холбож болох бөгөөд
энэ жишээн дээр бол уг файл системийг
/diskn гэсэн сан дотор
холбосон байна. n үсэг нь дискний
дугааруудыг илэрхийлж байна. Гэхдээ та хүсвэл өөр газар холбож болно.
Хуваагдлынхаа загвараа ингэж хийж дуусаад
sysinstall-г ашиглаж үүсгэх хэрэгтэй. Үүсгэх үед дараах мэдэгдлийг
танд харуулдаг:
Message
Now, you need to create BSD partitions inside of the fdisk
partition(s) just created. If you have a reasonable amount of disk
space (200MB or more) and don't have any special requirements, simply
use the (A)uto command to allocate space automatically. If you have
more specific needs or just don't care for the layout chosen by
(A)uto, press F1 for more information on manual layout.
[ OK ]
[ Press enter or space ]
Үүний хөрвүүлбэл:
Мэдэгдэл
Та одоо, fdisk ашиглан бий болгосон хуваалтаар BSD хуваалт үүсгэх хэрэгтэй.
Хэрэв танд тодорхой хэмжээний дискний зай (200MB эсвэл түүнээс дээш) байгаа
бөгөөд ямар нэгэн онцгой шаардлага тавигдаагүй бол (A)uto тушаалыг ашиглан
дискний зайг автоматаар тохируулж болно. Хэрэв танд онцгой шаардлага бий юм уу
эсвэл (A)uto тушаалаар үүсгэх байрлуулалт тийм чухал биш бол
F1 товч дарж гарын авлага дээрх нэмэлт мэдээллийг харж болно
[ OK ]
[ enter товч эсвэл зай авагч товч дарна уу]
Enter товч дарж FreeBSD-н диск хуваалтыг үүсгэж бичдэг
Disklabel нэртэй програм харуулагдана.
дээр Disklabel
-г анх эхлүүлэх үеийг харуулсан. Дэлгэц гурван хэсэгт хуваагдсан байгаа.
Эхний хэдэн мөрөнд, таны ажиллаж байгаа дискний нэрийг харуулсан бөгөөд
мөн хуваагдал агуулсан зүсмэлийг (энд Disklabel зүсмэл
гэж нэрлэлгүй харин Partition name буюу хуваалтын нэр гэж
нэрлэсэн байна) харуулсан байна.
Энэ хэсэгт мөн зүсмэлд буй сул хэсгийн хэмжээг харуулдаг бөгөөд уг зураг дээр бол
уг хэмжээ нь одоогоор ямар ч хуваалтад хэрэглэгдээгүй байна.
Дэлгэцийн дунд хэсэг үүсгэгдсэн хуваалтуудыг харуулдаг бөгөөд үүнд,
хуваалтын агуулж байгаа файл системийн нэр, түүний хэмжээ, мөн файл системд
хамаатай нэмэлт сонголтуудыг харуулдаг.
Дэлгэцийн доод гурав дахь хэсэгт Disklabel
дээр хэрэглэж болох гарын товчлууруудыг харуулдаг юм.
Sysinstall-н Disklabel буюу дискэнд нэр өгөн засварлагч
Disklabel нь мөн автоматаар
хуваалтуудыг үүсгээд анхдагч хэмжээг нь үүсгэж чаддаг.
Анхдагч хэмжээ нь хуваалтын хэмжээг тогтоох дотоод алгоритмийн
тусламжтайгаар дискийн хэмжээн дээр тулгуурлан тооцоологддог.
Үүнийг туршихын тулд A товчийг дарж үзээрэй.
Тэгвэл танд -тай төстэй зураг
харуулагдана. Таны хэрэглэж байгаа дискнээс хамаараад
анхны зааж өгсөн хэмжээ нь өөр байж болох юм. Хэрэв та анхны
хэмжээг нь хүлээн зөвшөөрч л байвал энэ тийм чухал биш.
Анхдагч хуваалтад /tmp санг /
хуваалтаас тусад нь өөр хуваалтад үүсгэдэг бөгөөд ингэснээр
/ хуваалтыг түр зуурын файлуудаар түргэн
дүүргэхээс сэргийлж өгдөг.
Sysinstall-н Disklabel хэрэгслийн автомат тохируулалт
Хэрэв та энэ автомат анхдагч хуваалтыг хүсэлгүй, өөрийнхөөрөө
хуваахыг хүсвэл, сумтай товч хэрэглэж сонгоод D
товч дарж устгаарай. Уг товчийг дахин дахин дарж бүх санал болгосон
хуваалтыг устгана.
Эхний хуваалтыг үүсгэхийн тулд (a үсэг нь
/ — root буюу эх файлын систем болдог),
дэлгэцийн дээд хэсэгт буй зүсмэлийг сонгож байгаад C
товч дарах хэрэгтэй. Лавлаж асуух цонх гарч ирэх бөгөөд уг цонхонд
шинэ үүсгэх хуваалтын хэмжээг ( дээр
харуулсан шиг) шаарддаг. Та хэрэв хүсвэл, уг талбарт хуваалтын хэмжээг дискний
блок хэмжээг, эсвэл тоо оруулаад ард нь M үсэг тавьж мегабайтаар,
G үсэг тавьж гигабайтаар, эсвэл
C үсэг тавьж цилиндрийн тоогоор илэрхийлж өгч болдог.
- FreeBSD 5.X хувилбараас эхлээд UFS2-г
- хэрэглэж сонгоод (&os; 5.1 дээр бол анхнаасаа сонгогдсон байдаг бөгөөд
- түүнээс дээш хувилбар дээр бас адил) Custom Newfs буюу дурын шинэ файл систем
-
- (Z товч) сонголтыг ашиглан дискний нэрүүдийг
- Auto Defaults сонголтоор үүсгээд Custom Newfs сонголт ашиглан
- эсвэл сонголт ашиглаж үүсгэж болдог.
- Програмын аргаар шинэчлэх буюу гэсэн сонголтыг
- Custom Newfs сонголтоор өөрчлөх үедээ нэмэх ёстойг мартаж болохгүй!
-
Root буюу эх хуваалт дээрх сул зай
Анхны харуулж байгаа хэмжээ нь зүсмэл дээр үлдсэн хэмжээг
зааж харуулдаг. Хэрэв та өмнө харуулсан хуваалтын хэмжээг
харж байгаа бол
Backspace товч дарж устгаад дээр
харуулсан шиг 512M гэж оруулаад дараа нь
&gui.ok; дээр дарах хэрэгтэй.
Root partition буюу эх хуваалтын хэмжээ
Хуваалтад зориулсан хэмжээг зааж өгсний дараа
танаас уг хуваалт дээр файл систем байрлуулах уу эсвэл
swap зай байрлуулах уу гэж асуудаг. Уг асуух цонхыг
дээр харуулав. Эхний
хуваалт заавал файл систем байх ёстой учир энэ удаад
FS гэсэн сонголтыг сонгоод
Enter дээр дарах хэрэгтэй.
Root Partition буюу эх хуваалтын төрлийг сонгох
Сүүлд нь, та файл систем үүсгэж байгаа болохоор
хаана таниулж холбохыг Disklabel дээр
зааж өгөх хэрэгтэй. Уг заалтыг оруулдаг цонхыг
дээр харуулав. root буюу
эх файл системийн холбох цэг бол / болохоор
та / гэж бичээд Enter дараарай.
Root-г холбох цэг
Дэлгэцэн дээр үүсгэсэн хуваалтуудыг шинэчилж
харуулах болно. Та өмнө хийсэн үйлдлээ бусад хуваалт дээр
хийх хэрэгтэй. Хэрэв та swap хуваалт үүсгэх болонгуут
swap хуваалтыг холбох шаардлага байдаггүй учир
танаас файл системийн холбох цэг гэж асуухгүй.
Сүүлийн хуваалт
/usr-г үүсгэх үед санал болгосон
хэмжээг өөрчлөлгүй тэр чигээр нь авч хэрэглэснээр зүсмэлийн
үлдсэн бүх хэмжээг ашиглаж дуусах нь тэр билээ.
Таны FreeBSD DiskLabel дээрх сүүлчийн харуулалт нь
зурагтай
төстэй байх болов уу. Гэхдээ таны сонгосон хэмжээнээс
мэдээж өөр байж болно. Q товч дарж
уг хэсгийг дуусгана.
Sysinstall Disklabel засварлагч
Юу суулгахаа сонгох
Суулгах түгээлтийн төрлөө сонгох
Ямар түгээлтийн төрөл суулгах нь системийг ямар зорилгоор хэрэглэх
болон дискэнд байгаа сул зайнаас маш их хамаарна.
Суулгацад зориулж урьдчилан бэлдсэн суулгах хэмжээ нь
суулгаж болох хамгийн бага хэмжээнээс эхлүүлээд бүгдийг суулгах
хүртэл боломж өгнө. &unix; ба/эсвэл FreeBSD системийг шинээр сурч
байгаа хүмүүст эдгээр сонголтоос нэгийг нь сонгох хэрэгтэй байх.
Урьдчилан бэлдсэн түгээлтийн төрлийг өөрчилж суулгах нь дадлагажсан туршлагатай
хэрэглэгчдэд илүүтэй зориулагдсан байдаг.
F1 товчийг түгээлтийн төрөл бүр дээр дарж
юу агуулсан болохыг нь харж болно. Тусламж файлыг харсны дараа
Enter товч дээр дарвал Select Distributions буюу
түгээлтийн төрөл сонгох цэсэнд буцаж очдог.
Хэрэв та график горимд ажиллана гэж бодож байвал
X ээр эхэлсэн түгээлтийн төрлүүдээс сонгох хэрэгтэй.
X серверийн тохиргоо болон анхдагч график горимын орчны сонголт нь
&os;-г суулгасны дараа хийгдэх ёстой. Х сервертэй хамаатай нэмэлт
мэдээллийг хэсгээс уншаарай.
&xorg; нь анхдагчаар суугддаг X11-ийн
хувилбар юм.
Хэрэв та цаашдаа өөртөө тохируулсан цөм эмхэтгэж бэлдэнэ
гэж бодож байгаа бол source code буюу эх бичлэг агуулсан сонголтыг
сонгох хэрэгтэй. Яагаад өөрчилж тохируулсан цөм хэрэгтэй тухай
нэмэлт мэдээллийг хэсгээс харна уу.
Мэдээж, элдэв ид шидтэй, уян хатан систем бол
юм болгоныг л агуулдаг. Хэрэв хангалттай дискний
хэмжээ танд байгаа бол
зурагт харуулсны дагуу All гэдгийг
сонгоод Enter товч дарах хэрэгтэй. Хэрэв танд
дискний сул зай тийм чухал бол өөртөө тохирсон түгээлтийн төрлийг нь сонгоорой.
Суулгацын дараа бусад түгээлтийн төрлөөс нэмж болох учраас та төгс сонголт байхгүй байна гэж бүү цухалдаарай.
Суулгах түгээлтийн төрлөөс сонгох
Портын цуглуулгыг суулгах
Хүссэн түгээлтийн төрлөө сонгосны дараа FreeBSD-н портын цуглуулгыг
суулгах боломж гардаг. Портын цуглуулга гэдэг нь програм суулгах
амарчилсан арга юм. Портын цуглуулга нь шаардлагатай програмын эх
бичлэгийг агуулдаггүй, харин гуравдагч хөгжүүлэгчдийн бүтээсэн
програмыг татаж аваад хөрвүүлж суулгах автоматжуулсан үйлдлүүд
байдаг. дээр портын цуглуулгыг хэрэглэх
талаар дурьдсан буй.
Порт суулгах програм нь таны дискний зай хангалттай эсэхийг шалгадаггүй.
Тийм болохоор дискэнд тань хангалттай зай байгаа тохиолдолд энэ сонголтыг хийх
хэрэгтэй. FreeBSD &rel.current; хувилбарын байдлаар бол портын цуглуулга
нь ойролцоогоор &ports.size; хэмжээг дискэн дээр эзэлдэг. FreeBSD-н хувилбар шинэчлэх
тутамд энэ хэмжээ ихсэнэ гэж тооцох хэрэгтэй.
User Confirmation Requested
Would you like to install the FreeBSD ports collection?
This will give you ready access to over &os.numports; ported software packages,
at a cost of around &ports.size; of disk space when "clean" and possibly much
more than that if a lot of the distribution tarballs are loaded
(unless you have the extra CDs from a FreeBSD CD/DVD distribution
available and can mount it on /cdrom, in which case this is far less
of a problem).
The Ports Collection is a very valuable resource and well worth having
on your /usr partition, so it is advisable to say Yes to this option.
For more information on the Ports Collection & the latest ports,
visit:
http://www.FreeBSD.org/ports
[ Yes ] No
Портын цуглуулга суулгана гэвэл &gui.yes; гэдгийг сонгоно, хэрэв
суулгахгүй гэвэл &gui.no; гэдгийг сонгоод Enter
товч дээр дарж цааш нь үргэлжлүүлнэ. Choose Distributions буюу
суулгах түгээлтийн төрөл сонгох цэс дахин гарч ирэх болно.
Сонгосон суулгах түгээлтийн төрлөө лавлах
Хэрэв сонгосон түгээлтийн төрөлдөө та сэтгэл хангалуун байгаа бол
сумтай товч ашиглан Exit цэсийг сонгоод
дараа нь &gui.ok; сонголт идэвхитэй байх үед Enter
дээр дарж цааш нь үргэлжлүүлнэ.
Суулгацын төхөөрөмжөө сонгох
Хэрэв CDROM эсвэл DVD-нээс суулгахаар бол сумтай товчийг ашиглан
Install from a FreeBSD CD/DVD буюу FreeBSD-г CD/DVD-нээс
суулга гэдгийг сонгоно. Дараа нь &gui.ok; товчийг сонгосны
дараа Enter товч дарж суулгацыг үргэлжлүүлнэ.
Суулгацын бусад төрлийг сонгохоор бол тухайн тохирсон сонголтыг сонгож
харгалзах зааврыг нь дагах хэрэгтэй.
F1 товч дарж суулгацын төхөөрөмжийн тухай
тусламжийг үзэж болно. Enter товч дарж тусламжаас гаран
суулгацын төхөөрөмж сонгох цэс рүү буцна.
Суулгацын төхөөрөмж сонгох
FTP суулгацын горим
суулгац
сүлжээ
FTP
Таны сонгож болох гурван төрлийн FTP суулгацын горим бол:
active FTP буюу идэвхитэй FTP, passive FTP буюу идэвхгүй FTP, эсвэл HTTP
proxy буюу HTTP прокси.
FTP Active (идэвхитэй): Install from an FTP
server (FTP серверээс суулгах)
Энэ сонголт нь бүх FTP дамжуулалтыг Active буюу идэвхитэй
горим ашиглаж гүйцэтгэдэг. Энэ холболт нь галт ханаар дамжиж ажиллахгүй бөгөөд
харин идэвхгүй горимыг дэмждэг хуучин FTP серверүүдтэй ихэвчлэн ажилладаг.
Хэрэв таны холболт идэвхгүй горимд (анхдагч горим) гацаж байвал
идэвхитэй болгоод үзэх хэрэгтэй!
FTP Passive (идэвхгүй): Install from an FTP server through a
firewall (галт ханаар дамжиж FTP серверээс суулгах)
FTP
идэвхгүй горим
Энэ сонголт нь sysinstall-г бүх FTP
үйлдлийг Passive буюу идэвхгүй
горимд ажиллана гэж
тохируулдаг. Энэ нь дурын TCP порт дээр ирж байгаа холболтыг
зөвшөөрдөггүй галт ханаар дамжиж ажиллах боломж өгдөг.
FTP via a HTTP proxy (HTTP проксигоор дамжиж): Install from an FTP server
through a http proxy (HTTP проксигоор дамжин FTP серверээс суулгах)
FTP
HTTP проксигоор дамжин
Энэ сонголт нь sysinstall-г
HTTP протокол ашиглан (вэб хөтлөгч шиг) прокситой холбогдож
бүх FTP үйлдлийг гүйцэтгэхээр тохируулж өгдөг. Прокси нь ирсэн
хүсэлтийг хөрвүүлээд цааш нь FTP сервер уруу дамжуулдаг.
Ингэснээр хэрэглэгчид бүх FTP холболтыг хориод HTTP холболтыг
зөвшөөрсөн галт ханын дундуур дамжих боломж олгодог.
Энэ тохиолдолд та FTP серверийг зааж өгөхөөс гадна мөн проксигийн
нэрийг зааж өгдөг.
Прокси FTP серверийн тохируулгад жинхэнэ холбогдох серверийнхээ
нэрийг хэрэглэгчийн нэрийн хэсэг мэт @
тэмдгийн араас
оруулж өгөх хэрэгтэй. Ингэснээр прокси серверийг жинхэнэ сервер мэт
хуурч
ажиллуулдаг. Жишээ нь та
ftp.FreeBSD.org гэсэн серверээс суулгах
хэрэгтэй бөгөөд 1234 порт дээр буй foo.example.com гэсэн
FTP проксигоор дамжих ёстой байсан гэж авч үзье.
Энэ тохиолдолд та сонгох цэс рүү очоод, FTP хэрэглэгчийн нэрийг
ftp@ftp.FreeBSD.org гэж оруулаад нууц үгэнд нь
захианыхаа хаягийг бичих хэрэгтэй. Суулгацын төхөөрөмжөө FTP (эсвэл
прокси нь дэмждэг бол идэвхгүй FTP) гэж сонгоод URL хаягийг
ftp://foo.example.com:1234/pub/FreeBSD гэж оруулна.
ftp.FreeBSD.org-д буй
/pub/FreeBSD хаяг нь
foo.example.com гэсэн нэрээр дамжигдах бөгөөд
та суулгацыг энэ машинаас (уг машин таны файлуудыг
ftp.FreeBSD.org хаягнаас танд зуучилж өгнө)
татаж авч өгдөг.
Суулгацыг баталж гүйцээх
Хэрэв хүсвэл, одоо суулгацыг гүйцэтгэж болно. Энэ нь мөн хатуу дискэнд
өөрчлөлт оруулахаас сэргийлж цуцалж болох сүүлийн боломж юм.
User Confirmation Requested
Last Chance! Are you SURE you want to continue the installation?
If you're running this on a disk with data you wish to save then WE
STRONGLY ENCOURAGE YOU TO MAKE PROPER BACKUPS before proceeding!
We can take no responsibility for lost disk contents!
[ Yes ] No
&gui.yes; товчийг сонгоод
Enter товч дарж суулгацыг гүйцэтгэнэ.
Сонгосон түгээлт, суулгацын төхөөрөмж, компьютерийн хурд зэргээс
хамаараад суулгах хугацаа нь янз бүр.
Суулгацын үед явцын төлөв байдлыг илэрхийлсэн хэд хэдэн бичиглэл харуулагддаг.
Дараах бичиглэл харуулагдсан үед суулгац гүйцсэн байдаг:
Message
Congratulations! You now have FreeBSD installed on your system.
We will now move on to the final configuration questions.
For any option you do not wish to configure, simply select No.
If you wish to re-enter this utility after the system is up, you may
do so by typing: /usr/sbin/sysinstall.
[ OK ]
[ Press enter or space ]
Enter товч дээр дарж суулгацын дараах тохируулгыг
хийх шатанд ордог.
&gui.no; товчийг сонгоод Enter товч дарвал
суулгац цуцлагдах бөгөөд системд ямар ч өөрчлөлт хийгдэхгүй. Тэгээд
дараах мэдээллийг харуулдаг:
Message
Installation complete with some errors. You may wish to scroll
through the debugging messages on VTY1 with the scroll-lock feature.
You can also choose "No" at the next prompt and go back into the
installation menus to retry whichever operations have failed.
[ OK ]
Юу ч суулгаагүй тохиолдолд энэ мэдээлэл харуулагддаг.
Enter товч дарж суулгацаас гарч болох
Суулгацын үндсэн цэсэнд буцаж очдог.
Суулгацын дараах тохиргоо
Амжилттай суулгацын дараа маш олон тохируулгын хэсэг эхэлдэг.
Уг тохируулгыг, шинээр FreeBSD-г ачаалахын өмнө хийж болох бөгөөд
- эсвэл суулгацын дараа sysinstall (5.2 хувилбараас хуучин
- &os; хувилбаруудад /stand/sysinstall)-г
+ эсвэл суулгацын дараа sysinstall-г
ажиллуулан Configure-г сонгож тохиргоог дахин хийж болдог.
Сүлжээний тохиргоо
Хэрэв та өмнө нь FTP суулгац хийхдээ РРР тохируулга хийчихсэн бол, энэ дэлгэц танд харуулагдахгүй бөгөөд хэрэв дахин тохируулах шаардлагатай бол өмнө бичсэний дагуу үйлдэх боломж буй.
Дотоод сүлжээний тухай нарийвчилсан мэдээлэл мөн FreeBSD-г сүлжээний
gateway/router буюу хаалга/дамжуулагч (гарц/чиглүүлэгч) хэрхэн болгох талаар
Нэмэлт сүлжээ хэсгээс харна уу.
User Confirmation Requested
Would you like to configure any Ethernet or SLIP/PPP network devices?
[ Yes ] No
Сүлжээний төхөөрөмжийг тохируулахыг хүсвэл &gui.yes; гэж сонгоод Enter товч дээр дарах хэрэгтэй.
Үгүй бол &gui.no; гэдгийг сонгоод цааш нь үргэлжлүүлээрэй.
Сүлжээний төхөөрөмж сонгох нь
Тохируулах төхөөрөмжөө сумтай товч хэрэглэж сонгоод Enter товч дээр дарна.
User Confirmation Requested
Do you want to try IPv6 configuration of the interface?
Yes [ No ]
Энэ жишээ болгож авсан хувийн локал сүлжээнд одоо сонгосон байгаа интернэт төрлийн протокол нь (IPv4) бүрэн хангалттай болохоор &gui.no; гэж сонгогдоод Enter товч дарагдсан байна.
Хэрэв та өмнө нь байсан IPv6 сүлжээгээр RA сервер уруу холбогдсон байгаа бол &gui.yes; гэж сонгоод Enter дарах хэрэгтэй. Ингэсний дараа хэсэг хугацааны турш RA серверийг хайдаг.
User Confirmation Requested
Do you want to try DHCP configuration of the interface?
Yes [ No ]
Хэрэв DHCP (Dynamic Host Configuration Protocol буюу Динамикаар компьютерийг тохируулах протокол) шаардлагагүй бол &gui.no; гэж сонгоод Enter дээр дарах хэрэгтэй.
&gui.yes; гэж сонгосноор dhclient хэрэгслийг ажиллуулдаг бөгөөд хэрэв энэ нь амжилттай болвол сүлжээний тохиргоо автоматаар хийгдсэн байдаг. Нэмэлт мэдээлэл авахыг хүсвэл
хэсгээс харна уу.
Дараах сүлжээг тохируулах цонхонд, уг системийг дотоод сүлжээний gateway буюу хаалга болгон тохируулж байгааг харуулж байна.
ed0-д сүлжээний тохиргоог хийх нь
Tab товч хэрэглэн тохиргооны талбаруудад сэлгэж шаардлагатай тохируулгыг нь оруулаарай:
Host буюу уг компьютерийн нэр
Уг компьютерийн бүрэн нэр. Жишээ нь энэ тохиолдолд k6-2.example.com.
Domain буюу домэйн
Таны компьютерийн ашиглаж буй домэйн нэр. Энэ тохиолдолд example.com болж байна.
IPv4 Gateway буюу хаалга
Дотоод биш компьютер уруу өгөгдөл цааш дамжуулан илгээгч компьютерийн IP хаяг. Хэрэв таны тохируулж байгаа машин тань сүлжээндээ ийм дамжуулагчийн үүрэг гүйцэтгэгч биш, харин тийм дамжуулагчийг ашигладаг бол, энэ талбарт бөглөөрэй. Хэрэв таны машин интернэт уруу оруулдаг gateway буюу хаалганы үүрэг гүйцэтгэдэг бол, энэ талбарыг хоосон орхих ёстой . IPv4 Gateway буюу хаалга нь анхдагч хаалга юм уу эсвэл анхдагч route буюу зам заагч гэж нэрлэгддэг.
Name server буюу Нэрийн сервер
Дотоод DNS серверийн IP хаяг. Хэрэв дотоод хувийн сүлжээнд DNS сервер гэж байхгүй бол интернэтээр хангагч байгууллагын DNS серверийн хаягийг оруулж өгдөг.
(энэ жишээнд 208.163.10.2).
IPv4 хаяг
Энэ сүлжээний төхөөрөмжид өгөгдсөн IP хаяг нь
192.168.0.1 гэж тохируулагдаж байна
Netmask буюу сүлжээний ангилагч
Энэ дотоод сүлжээний хаягийн хувьд ашиглагдах хаягийн блок нь
255.255.255.0 бүхий сүлжээний ангилагчтай
байх бөгөөд ингэснээр хаяглалт нь 192.168.0.0 -
192.168.255.255 хүртэл байх болно.
Extra options to ifconfig буюу ifconfig-н нэмэлт тохиргоонууд
ifconfig дээр нэмэгдэх сүлжээний төхөөрөмжтэй холбоотой нэмэлт тохиргоонууд энд бичигдэнэ. Энэ жишээн дээр нэмэх зүйл байхгүй байна.
Хэрэв дууссан бол Tab товч ашиглан &gui.ok; цэсийг сонгоод Enter товч дарна.
User Confirmation Requested
Would you like to Bring Up the ed0 interface right now?
[ Yes ] No
&gui.yes; гэж сонгоод Enter товч дарснаар уг машины сүлжээний холболтыг идэвхжүүлдэг. Нэгэнт машиныг дараа нь дахин ачаалах хэрэг гардаг болохоор энэ холболт нь нэг их ашиглагдаад байдаггүй билээ.
Gateway буюу сүлжээний хаалганы тохиргоо
User Confirmation Requested
Do you want this machine to function as a network gateway?
[ Yes ] No
Хэрэв уг машин нь, дотоод сүлжээнд хаалгачийн үүрэг гүйцэтгэж машинуудын хооронд
багц мэдээллүүдийг дамжуулах үүрэгтэй бол &gui.yes; гэдгийг сонгоод Enter дээр дараарай. Хэрэв зөвхөн сүлжээнд холбогдох машин бол &gui.no; гэж сонгоод
Enter дээр дарж үргэлжлүүлнэ.
Интернэт үйлчилгээнүүдийг тохируулах
User Confirmation Requested
Do you want to configure inetd and the network services that it provides?
Yes [ No ]
Хэрэв &gui.no; гэж сонговол,
telnetd гэх мэт төрөл бүрийн үйлчилгээнүүдийг
хорьдог. Ингэсэн үед алсаас холбогдох хэрэглэгч нь telnet
мэтийн програм хэрэглэж уг машин уруу холбогдож чадахгүй болно гэсэн үг. Харин дотоод
хэрэглэгчид бол гадаад машин уруу telnet-г ашиглан
холбогдож чадсаар байх болно.
Эдгээр үйлчилгээнүүдийг суулгацын дараа /etc/inetd.conf
файлыг дуртай завсарлагчаараа нээж засварласнаар идэвхжүүлж болдог.
Энэ тухай дэлгэрэнгүй мэдээллийг хэсгээс харна уу.
Хэрэв та суулгаж байх явцад эдгээр үйлчилгээнүүдийг тохируулахыг хүсвэл
&gui.yes; гэж сонгоно. Нэмэлт лавлаж асуусан цонх харуулагдах болно:
User Confirmation Requested
The Internet Super Server (inetd) allows a number of simple Internet
services to be enabled, including finger, ftp and telnetd. Enabling
these services may increase risk of security problems by increasing
the exposure of your system.
With this in mind, do you wish to enable inetd?
[ Yes ] No
&gui.yes; дээр дарж үргэлжлүүлээрэй.
User Confirmation Requested
inetd(8) relies on its configuration file, /etc/inetd.conf, to determine
which of its Internet services will be available. The default FreeBSD
inetd.conf(5) leaves all services disabled by default, so they must be
specifically enabled in the configuration file before they will
function, even once inetd(8) is enabled. Note that services for
IPv6 must be separately enabled from IPv4 services.
Select [Yes] now to invoke an editor on /etc/inetd.conf, or [No] to
use the current settings.
[ Yes ] No
&gui.yes; гэж сонгосноор тохируулгын файлыг засварлагч файл дээр
нээдэг бөгөөд мөрний урд нь буй
# тэмдгийг авсанаар тухайн үйлчилгээг идэвхжүүлдэг.
inetd.conf файлыг засварлах нь
Хүссэн үйлчилгээгээ нэмсний дараа Esc
товч дарвал, хийсэн өөрчлөлтөө хадгалаад гарах сонголттой цэс харуулагддаг.
SSH нэвтрэлтийг идэвхжүүлэх нь
SSH
sshd
User Confirmation Requested
Would you like to enable SSH login?
Yes [ No ]
&gui.yes;-г сонгосноор OpenSSH-ийн
демон програм болох &man.sshd.8;-г идэвхжүүлэх болно.
Энэ нь таны машин руу алсаас аюулгүйгээр хандах боломжийг
олгоно. OpenSSH-ийн талаар дэлгэрэнгүй
мэдээллийг -с үзнэ үү.
Anonymous буюу нэр нь үл мэдэгч FTP үйлчилгээ
FTP
anonymous буюу нэр нь үл мэдэгдэгч хэрэглэгч
User Confirmation Requested
Do you want to have anonymous FTP access to this machine?
Yes [ No ]
Anonymous буюу нэр нь үл мэдэгдэгч FTP хэрэглэгчийг хориглох
Анхдагч сонгогдсон байгаа &gui.no; гэдэг дээр
Enter дарвал нэр нь үл мэдэгдэгчээр FTP үйлчилгээг
хориглодог бөгөөд харин FTP хандах эрхтэй ба нууц үгтэй хэрэглэгчид хандаж болдог.
Anonymous буюу нэр нь үл мэдэгдэгч FTP хэрэглэгчийг зөвшөөрөх
Энэ тохиолдолд хүн болгон таны машин уруу нэр нь үл мэдэгдэгч болж
FTP холболт хэрэглэн хандаж болдог. Нууцлал болон аюулгүй байдлынхаа талаар
сайн бодсоны дараа энэ үйлчилгээг хэрэглэх эсэхээ шийдэх хэрэгтэй. Нууцлал болон аюулгүй
байдлын талаар хуудсанд бичсэн буй.
anonymous буюу нэр нь үл мэдэгдэгч FTP хэрэглэгчийг зөвшөөрөхийн тулд, сумтай товч ашиглан &gui.yes; гэж сонгоод Enter дараарай.
Нэмэлт батлалт хүлээх дэлгэц харуулагдах болно:
User Confirmation Requested
Anonymous FTP permits un-authenticated users to connect to the system
FTP server, if FTP service is enabled. Anonymous users are
restricted to a specific subset of the file system, and the default
configuration provides a drop-box incoming directory to which uploads
are permitted. You must separately enable both inetd(8), and enable
ftpd(8) in inetd.conf(5) for FTP services to be available. If you
did not do so earlier, you will have the opportunity to enable inetd(8)
again later.
If you want the server to be read-only you should leave the upload
directory option empty and add the -r command-line option to ftpd(8)
in inetd.conf(5)
Do you wish to continue configuring anonymous FTP?
[ Yes ] No
Энэ мэдэгдэл нь хэрэв та нэр нь үл мэдэгдэгч FTP холболтуудыг
зөвшөөрөхийг хүсэж байгаа бол FTP үйлчилгээг
/etc/inetd.conf файлд бас идэвхжүүлэх
ёстойг мэдээлж байна, -г үзнэ үү.
Үргэлжлүүлэхийн тулд &gui.yes;-г сонгож Enter-г
дарна; доор үзүүлсэн дэлгэц гарах болно:
Anonymous нэр нь үл мэдэгдэгч FTP үйлчилгээний анхдагч тохиргоо
Мэдээллийн талбаруудыг сонгохын тулд Tab ашиглаж
тохирох мэдээллийг оруулах хэрэгтэй:
UID
Нэр нь үл мэдэгдэх FTP хэрэглэгчид өгөхийг хүссэн
хэрэглэгчийн ID. Хуулагдсан бүх файлуудыг энэ ID эзэмших
болно.
Group
Нэр нь үл мэдэгдэх FTP хэрэглэгчийг аль бүлэгт байхыг
заана.
Comment
/etc/passwd файл дахь
энэ хэрэглэгчийн тайлбарласан мөр.
FTP Root Directory
Нэр нь үл мэдэгдэх FTP-д зориулсан файлууд хаана байхыг заана.
Upload Subdirectory
Нэр нь үл мэдэгдэх FTP хэрэглэгчдийн хуулсан файлууд байх сан.
FTP-н root буюу эх сан нь анхдагч тохиргоогоор /var
санд байрлагддаг. Хэрэв тэнд хангалттай зай байхгүй бол
/usr санг ашиглаж FTP эх сангаа
/usr/ftp гэж тохируулж болох юм.
Хэрэв та оруулсан утгуудыг зөв болсон гэж бодож байгаа бол
Enter дээр дарж үргэлжлүүлээрэй.
User Confirmation Requested
Create a welcome message file for anonymous FTP users?
[ Yes ] No
Хэрэв та &gui.yes; гэж сонгоод
Enter дээр дарвал, танаас текст оруулуулах зорилгоор засварлагч програм
автоматаар ажилладаг.
FTP мэндчилгээний бичлэгийг засварлах нь
Энэ бол ee гэгч засварлагч юм. Зааврын дагуу
мэндчилгээний захиаг өөрчилж болох бөгөөд, эсвэл дараа нь өөрийн дуртай засварлагчаар
нээж уг бичлэгийг өөрчилж бас болно. Тэмдэглэж хэлэхэд, уг файлын нэр болон байрлал нь
програмын доод хэсэгт харуулагдаж байгааг анзаарна уу.
Esc дээр дарвал, цэстэй жижиг цонх үүсэх бөгөөд түүн дотор
a) leave editor буюу засварлагчаас гарах цэс анхдагчаар
сонгогдсон байдаг.
Enter дарж гараад үргэлжлүүлж болно. Эсвэл
Enter дахин дарж оруулсан өөрчлөлтүүдээ хадгалдаг.
Network File System буюу сүлжээний файл системийг тохируулах
Network File System (NFS) нь сүлжээнд буй файлуудыг хувааж хэрэглэх боломж олгодог. Машин нь сервер, хэрэглэгч эсвэл хоёулангаар нь болж тохируулагдаж болдог.
хэсгээс нэмэлт мэдээллийг харна уу.
NFS сервер
User Confirmation Requested
Do you want to configure this machine as an NFS server?
Yes [ No ]
Хэрэв танд сүлжээний файл системийн сервер шаардлагагүй бол
&gui.no; гэж сонгоод
Enter дараарай.
Хэрэв сервер хэрэгтэй гэвэл &gui.yes; гэж сонгох хэрэгтэй бөгөөд
танд жижиг цонхон дээр exports файл үүсгэгдэх
ёстой гэсэн сануулга гарч ирдэг.
Message
Operating as an NFS server means that you must first configure an
/etc/exports file to indicate which hosts are allowed certain kinds of
access to your local filesystems.
Press [Enter] now to invoke an editor on /etc/exports
[ OK ]
Enter дарж үргэлжлүүлдэг. Текст засварлагч ажиллаж, түүнд
exports файлуудыг үүсгэх ба засварлах үйлдлүүдийг гүйцэтгэдэг.
exports файлыг засварлах нь
Заавар ашиглан, одоо байгаа файл системийг нэмэх эсвэл сүүлд дуртай засварлагчаараа
нээж засварлаж болох юм. Файлын нэр болон байршлыг дэлгэцийн доод хэсэгт харуулсан байгааг анзаарна уу.
Esc дарахад цэстэй цонх үүсэх бөгөөд
a) leave editor буюу засварлагчийг орхи цэс анхлан сонгогдсон байдаг.
Enter дарж гараад цааш нь үргэлжлүүлнэ.
NFS Client буюу хэрэглэгч
NFS хэрэглэгчид нь NFS сервер уруу холбогддог.
User Confirmation Requested
Do you want to configure this machine as an NFS client?
Yes [ No ]
Сумтай товч ашиглан &gui.yes;
эсвэл &gui.no; сонголтыг шийдвэрээсээ шалтгаалан сонгоод Enter
дээр дараарай.
Системийн консол тохиргоо
Системийнхээ консолыг өөрчлөх хэд хэдэн тохиргоо байдаг.
User Confirmation Requested
Would you like to customize your system console settings?
[ Yes ] No
Тохиргооны сонголтуудыг харах юм уу тохируулахын тулд
&gui.yes; гэж сонгоод
Enter дарна.
Системийн консолын тохируулгын сонголтууд
Дэлгэц амраах тохиргоо байнга хэрэглэгддэг. Сумтай товчоор
Saver гэж сонгоод
Enter дараарай.
Дэлгэц амраах тохиргоо
Сум товч ашиглаж хүссэн дэлгэц амраах хөтөлбөрөө сонгоод Enter
дарна. Системийн консол тохируулах цонх буцаж гарч ирдэг.
Дэлгэц амраах хөтөлбөрийн ажиллах анхдагч хугацаа нь 300 секунд байдаг.
Цагийн энэ хугацааг өөрчлөхийнх тулд Saver гэдгийг дахин
сонгоно. Түүн дотор байгаа сонголтуудаас Timeout
гэдгийг сумтай товч ашиглаж сонгоод Enter дээр дарна. Ингэхэд танд
жижиг цонх харуулагддаг:
Дэлгэц амраагчийн ажиллах хугацаа
Утгыг өөрчлөөд &gui.ok; гэж сонгон
Enter дээр дарж буцаад системийн консолын тохиргооны цэсэнд очдог.
Системийн консолын тохиргооноос гарах
Exit гэдгийг сонгоод
Enter дээр дарвал суулгацын дараах тохиргоогоо
үргэлжлүүлэх хэсэгт очино.
Цагийн бүсийг тохируулах
Машиныхаа цагийн бүсийг тохируулснаар тухайн бүсийн цагтай холбогдолтой
өөрчлөлтүүд автоматаар хийгдэх давуу талтай байдаг.
Жишээн дээр, Америкийн Нэгдсэн Улсын Eastern буюу зүүн хэсгийн цагийн
бүсийг тохируулж байна. Таны тохируулга байгаа газраасаа шалтгаалж өөр байх болно.
User Confirmation Requested
Would you like to set this machine's time zone now?
[ Yes ] No
&gui.yes; гэж сонгоод
Enter дарвал цагийн бүсийг тохируулах болно.
User Confirmation Requested
Is this machine's CMOS clock set to UTC? If it is set to local time
or you don't know, please choose NO here!
Yes [ No ]
Машиныхаа цагийн тохируулгаасаа хамаарч &gui.yes;
эсвэл &gui.no; гэдгийг сонгоод Enter дарна ( мэдэхгүй бол &gui.no; гэдгийг сонгоорой ) .
Оршин буй бүсээ сонгох
Тохирсон бүсээ сумтай товч хэрэглэж сонгоод
Enter дээр дарна.
Оршин буй улсаа сонгох
Тохирох улсаа сонгоод Enter дээр дарна.
Цагийн бүсээ сонгох
Сумтай товч хэрэглэж тохирсон цагийн бүсээ сонгоод
Enter дээр дарна.
Confirmation
Does the abbreviation 'EDT' look reasonable?
[ Yes ] No
Цагийн бүсийн товчлол нэрийг лавлаж асуух хэсэг гарч ирдэг.
Хэрэв уг товчлол нь танд тохирч байвал Enter дарж суулгацын дараах
тохиргоог цааш нь үргэлжлүүлээрэй.
Линукс тохиромж
User Confirmation Requested
Would you like to enable Linux binary compatibility?
[ Yes ] No
&gui.yes; гэж сонгоод
Enter дээр дарвал Линуксийн програмууд FreeBSD дээр
ажиллах боломжтой болдог. Суулгац нь Линукстай тохиромжтой ажиллуулах
нэмэлт багцыг нэмдэг.
Хэрэв та FTP-р суулгаж байгаа бол машин интернэт уруу холбогдох
хэрэгтэй болно. Заримдаа алсад буй ftp байрлалд Линуксийн тохиромжийн файлууд
байхгүй байдаг. Гэвч үүнийг сүүлд суулгах боломжтой.
Хулганы тохиргоо
Энэ тохиргоо нь таныг 3 товчтой хулганаар, програм болон консолд
текст тасдаж сануулах болон буулгах боломж өгдөг. Хэрэв 2 товчит хулгана
хэрэглэж байгаа бол &man.moused.8; гарын авлагаас лавлаж хэрхэн гурван товчтой хулгана болгон ажиллуулж болдгийг харж болно. Энэ жишээн дээр USB биш төрлийн хулганы тохируулгыг харуулж байна (PS/2 эсвэл COM портоор холбогддог хулгана):
User Confirmation Requested
Does this system have a PS/2, serial, or bus mouse?
[ Yes ] No
&gui.yes; гэж PS/2, цувааа эсвэл bus буюу шугаман төрлийн хулганыг сонгох юм уу эсвэл
&gui.no; гэж USB төрлийн хулганыг сонгоод
Enter товч дээр дараарай.
Хулганы холбогдох төрлийг сонгох нь
Сумтай товч ашиглан Type гэж сонгоод Enter дарна.
Хулганы холбогдох төрлийг тохируулах
Энэ жишээнд хэрэглэгдэж байгаа хулгана PS/2 төрлийнх бөгөөд анхдагч
Auto буюу автомат гэсэн тохируулга таарч байдаг.
Энэ холбогдох төрлийг нь өөрчлөнө гэвэл сумтай товч ашиглан сонгоорой. Дараа нь &gui.ok;-г гэрэлтүүлж сонгогдсон эсэхийг магадлаад Enter дээр дарж энэ цэснээс гарах болно.
Хулганы холбогдох портыг нь сонгох
Сумтай товч ашиглан Port цэсийг сонгоод Enter дээр дарна.
Хулганы портыг тохируулах
Энэ системд PS/2 төрлийн хулгана хэрэглэгдэж байгаа болохоор
анхдагч тохируулга болох
PS/2 сонгогдсон байдаг. Портыг солихын тулд сумтай товч ашиглаж сонгоод Enter дээр дараарай.
Хулганы Daemon буюу далд чөтгөрийг идэвхжүүлэх нь
Эцэст нь сумтай товч ашиглаад
Enable буюу идэвхжүүл гэж сонгоод
Enter товч дээр дарж хулганыг ажиллуулагч далд чөтгөрийг
ажиллуулж эхэлдэг.
Хулганы далд чөтгөрийг шалгах
Хулганаа дэлгэцэн дээр хөдөлгөж шалгаж үзэх хэрэгтэй.
Хэрэв зүгээр байх юм бол &gui.yes; гэж сонгоод Enter дарна.
Хэрэв үгүй бол хулгана зөв тохируулагдаагүй байна гэсэн үг — тийм болохоор
&gui.no; гэж сонгоод өөр тохируулга хийж турших хэрэгтэй.
Exit буюу гарах гэдгийг сумтай товчоор очиж
сонгоод Enter дээр дарж суулгацын дараах тохируулга уруу буцаж очиж үргэлжлүүлнэ.
Програмын багц суулгах
Багцууд нь урьдчилан хөрвүүлэгдсэн програмууд бөгөөд програм суулгах хамгийн эвтэйхэн арга юм.
Үзүүлэх журмаар нэг багцыг суулгах явцыг энд харуулав.
Хэрэв шаардлагатай бол нэмэлт багцууд мөн давхар суугддаг.
Суулгасны дараа sysinstall-г нэмэлт багц суулгахад хэрэглэж болно.
User Confirmation Requested
The FreeBSD package collection is a collection of hundreds of
ready-to-run applications, from text editors to games to WEB servers
and more. Would you like to browse the collection now?
[ Yes ] No
&gui.yes; гэж сонгоод Enter дарвал багц програмуудыг сонгох цонхонд очих болно:
Багцын төрлийг сонгох
Зөвхөн тухайн үед сонгогдсон байгаа суулгацын төрөл дээр байгаа багцууд харуулагдах болно.
Хэрэв
All гэж сонговол, байгаа бүх багцыг харж болно. Сумтай товч ашиглан сонгоод Enter дээр дараарай.
Байгаа бүх багцууд сонгогдож болохоор танд харуулагдах болно:
Багц сонгох
Энд харуулснаар bash бүрхүүл сонгогдсон байна. Space товч ашиглаж суулгахыг хүссэн бүх багцаа сонгоорой. Сонгох бүрд дэлгэцийн доод хэсэгт багцны товч тайлбар гардаг.
Tab товчоор сонгогдсон багц болон
&gui.ok;, ба &gui.cancel; сонголтуудын хооронд дамжиж болно.
Суулгахаар хүссэн багцаа сонгож дууссаны дараа
Tab товч дарж &gui.ok; гэж сонгоод
Enter дээр дарж багц сонгох цэс рүү буцаж очдог.
Зүүн ба баруун товчоор бас &gui.ok; ба
&gui.cancel;-н хооронд сэлгэж болно. Энэ аргаар та бас &gui.ok; гэж сонгоод Enter дээр дарж багц сонгох хэсэгт буцаж очиж бас болно.
Багц суулгах
Tab юм уу эсвэл сумтай товч ашиглан [ Install ] гэж сонгоод Enter дарах хэрэгтэй. Таны сонгосон багцуудыг танд харуулж суулгахыг хүсэж байгааг тань лавлаж асуух болно:
Багц суулгалтын лавлалт
&gui.ok; гэж сонгоод Enter дарж багц суулгалтыг гүйцэтгэдэг. Суулгах явцын мэдэгдлүүд суулгаж дуустал танд харуулагддаг. Хэрэв ямар нэг алдаа гарвал тэмдэглэж авах хэрэгтэй.
Багц суулгасны дараа сүүлийн тохиргоог хийдэг. Та багц суулгаж дууссан ч гэсэн сүүлийн тохируулгыг хийхийн тулд
Install гэдгийг бас дарж болно.
Хэрэглэгч/Бүлэг нэмэх
Суулгацын явцад та хамгийн багадаа нэг хэрэглэгчийн эрх нээх хэрэгтэй бөгөөд, энэ эрхээрээ root эрх хэрэглэлгүйгээр системдээ нэвтэрч болно. root хуваалт нь голдуу тун бага хэмжээтэй байдаг болохоор
root эрхээр програм ажиллуулбал түргэн дүүрдэг. Хамгийн хэцүү хүндрэлийг доор мэдүүлж байна:
User Confirmation Requested
Would you like to add any initial user accounts to the system? Adding
at least one account for yourself at this stage is suggested since
working as the "root" user is dangerous (it is easy to do things which
adversely affect the entire system).
[ Yes ] No
&gui.yes; гэж сонгоод
Enter дарж шинэ хэрэглэгч нэмэх болно.
User буюу хэрэглэгч гэж сонгоно
Сумтай товч хэрэглэн User гэж сонгоод
Enter дээр дарна.
Хэрэглэгчийн мэдээллийг оруулах
Tab товч хэрэглэн талбаруудад дамжин оруулга хийх бүр доор харуулсан тайлбарууд талбар бүрд харуулагдах болно:
Login ID
Хэрэглэгчийн нэвтрэх шинэ нэр(заавал шаардлагатай).
UID
Уг хэрэглэгчийн ID дугаар (хоосон орхивол автоматаар сонгогдох болно).
Group
Уг хэрэглэгчийн хамрагдах бүлгийн нэр (хоосон орхивол автоматаар сонгогдох болно).
Password
Тухайн хэрэглэгчийн нууц үг (энэ талбарт тун анхааралтай оруулах хэрэгтэй!).
Full name
Хэрэглэгчийн бүтэн нэр (дэлгэрэнгүй мэдээлэл).
Member groups
Энэ хэрэглэгчийн хамрагдаж болох бүлгүүд (өөрөөр хэлбэл хандаж болох бүлгүүд).
Home directory
Хэрэглэгчийн эхлэл сан (хоосон орхивол автоматаар сонгогдох болно ).
Login shell
Хэрэглэгчийн холбогдох бүрхүүл (хоосон орхивол анхдагч бүрхүүл сонгогдох болно. Өөрөөр хэлбэл,
/bin/sh).
Жишээн дээр bash-г суулгасан болохоор, /bin/sh гэдгийг
/usr/local/bin/bash гэж орлуулж болно.
Суугдаагүй бүрхүүл хэрэглэвэл систем уруугаа нэвтэрч чадахгүй болно.
BSD ертөнцөд хамгийн өргөн хэрэглэдэг бүрхүүл бол C бүрхүүл бөгөөд
/bin/tcsh гэж олддог.
Мөн энэ хэрэглэгч нь wheel бүлэг рүү нэмэгдсэн бөгөөд ингэснээр
root эрхүүдтэй супер хэрэглэгч болох боломжтой болно.
Хэрэв та оруулсан мэдээллээ зөв боллоо гэж бодож байгаа бол &gui.ok; дээр дарахад хэрэглэгч ба бүлэг нэмэх цонх дахин харуулагддаг:
Хэрэглэгч ба бүлэг зохицуулах хэсгээс гарах
Хэрэгцээтэй бол энэ үед бүлэг нэмж болно.
Хэрэв шаардлага гарвал суулгацын дараа
- sysinstall (&os;-н 5.2-с бага хувилбарт /stand/sysinstall гэж буй) ашиглан нэмж болно.
+ sysinstall ашиглан нэмж болно.
Хэрэв та хэрэглэгч нэмж дууссан бол сумтай товч ашиглан Exit гэж сонгоод
Enter дээр дарж суулгацаа үргэлжлүүлээрэй.
root нууц үг оруулах
Message
Now you must set the system manager's password.
This is the password you'll use to log in as "root".
[ OK ]
[ Press enter or space ]
Enter дээр дарж root
нууц үг оруулна.
Нууц үгийг хоёр удаа зөв оруулах ёстой. Мартахааргүй нууц үг оруулаарай гэж сануулах нь илүүдэх байх. Таны оруулсан нууц үгийг давтаж харуулах юм уу эсвэл одоор дүрсэлж харуулахгүй болохыг сануулж байна.
New password:
Retype new password :
Нууц үгийг амжилттай оруулсны дараа суулгац цаашаагаа үргэлжлэх болно.
Суулгацаас гарах
Хэрэв та одоо нэмэлт сүлжээний тохиргоо юм уу
эсвэл ямар нэгэн өөр тохиргоо хийхийг хүсвэл, та яг одоо юм уу эсвэл суулгасны дараа
- sysinstall
- (&os;-н 5.2-с доошхи хувилбарт /stand/sysinstall гэж буй ) ашиглаж суулгана.
+ sysinstall ашиглаж суулгана.
User Confirmation Requested
Visit the general configuration menu for a chance to set any last
options?
Yes [ No ]
Сумтай товчоор &gui.no; гэж сонгоод
Enter дээр дарж үндсэн суулгацын цэс рүү буцах болно.
Суулгацаас гарах
Сумтай товчоор [X Exit Install] гэдгийг сонгон Enter дээр дарна. Танаас гарах гэж буйг тань лавлаж асуух болно:
User Confirmation Requested
Are you sure you wish to exit? The system will reboot (be sure to
remove any floppies/CDs/DVDs from the drives).
[ Yes ] No
Хэрэв уян дискнээс эхлүүлсэн бол &gui.yes; гэж сонгоод уян дискийг авах хэрэгтэй. CDROM хөтлөгч нь машиныг шинээр ачаалагдах хүртэл түгжигдсэн байдаг болохоор ачаалагдах үед CDROM-с гаргах хэрэгтэй (аль болох түргэн).
Систем одоо шинээр ачаалагдах бөгөөд ямар нэгэн алдаа гарахыг ажиглах хэрэгтэй.
Дэлгэрэнгүйг -с үзнэ үү.
Том
Рөүдс
Хувь нэмэр болгон оруулсан
Сүлжээний үйлчилгээний нэмэлт тохиргоо
Сүлжээний үйлчилгээнүүдийг тохируулах нь, энэ талын мэдлэггүй шинэ хэрэглэгчдэд нэлээн хатуу боорцог мэт санагддаг. Сүлжээний тохиргоог хийж интернэт хэрэглэнэ гэдэг бол &os;-г оруулаад орчин үеийн үйлдлийн системүүдэд маш чухал үйлдэл бөгөөд ингэж сурах явцдаа &os;-н сүлжээтэй холбоотой нэмэлт боломжуудыг ойлгож авдаг. Суулгацын явцад энэ үйлдлийг хийхээсээ өмнө, хэрэглэгч нь хэрэглэх үйлчилгээнийхээ тухай тодорхой ойлголттой байх ёстой.
Сүлжээний үйлчилгээнүүд нь, сүлжээгээр ямар нэгэн оруулга хүлээж авдаг програмуудыг хэлж байгаа юм. Эдгээр програмуудыг эвдэлж сөнөөдөг
төрлийнх биш байлгах гэж маш их хичээсэн байдаг.
Харамсалтай нь програмчид төгс биш байдаг болохоор сүлжээний үйлчилгээнд байгаа ямар нэг цоорхой нүх хорхойг довтлогчид ашиглан муу юманд хэрэглэдэг. Та зөвхөн өөрийнхөө мэддэг болон хэрэгтэй сүлжээний үйлчилгээгээ идэвхжүүлэх нь чухал. Хэрэв танд эргэлзээтэй байгаа бол, уг үйлчилгээг хэрэгцээтэй болох хүртлээ хорьсон байх нь дээр байдаг. Та үүнийг сүүлд sysinstall ашиглаад юм уу эсвэл
/etc/rc.conf файлын тусламжтайгаар хэзээд идэвхжүүлж болно.
Networking тохируулгыг сонгоход доор дурдсантай төстэй
цэсийг үзүүлэх болно:
Сүлжээний дээд түвшний тохиргоо
Эхний тохиргоо Interfaces буюу сүлжээний төхөөрөмжийн талаар бид өмнө нь хэсэгт үзсэн болохоор энд алгаслаа.
AMD сонголтыг сонгосноор
BSD automatic mount буюу автоматаар таньж холбох хэрэгслийг нэмж өгдөг.
Энэ нь голдуу
NFS холболт (өмнө тайлбарласан буй) ашиглах үед, алсад буй файл системийг таньж холбоход хэрэглэгддэг.
Ямар нэгэн онцгой тохируулга энд шаардлагагүй.
Дараагийн тохируулга, AMD Flags
сонголт. Хэрэв энэ сонгогдвол жижиг цэстэй цонх үсэрч гарч ирдэг бөгөөд ямар AMD тохиргоо хийхийг зааж өгдөг.
Уг цэсэнд анхдагч тохируулгууд нь заагдчихсан байдаг:
-a /.amd_mnt -l syslog /host /etc/amd.map /net /etc/amd.map
сонголт нь анхдагч таньж холбох байршлыг зааж өгдөг бөгөөд энэ тохиолдолд
/.amd_mnt гэсэн байна.
сонголт анхдагч log буюу бүртгэл файлыг зааж өгдөг боловч хэрэв syslogd хэрэглэгдэж байгаа бол бүх бүртгэж бичих үйлдлүүд системийн log daemon буюу далд ажилладаг бүртгэл бичигч чөтгөр уруу илгээгддэг.
/host сан нь алсад буй компьютерийн экспортолсон файлуудыг таньж холбох санг илэрхийлж байхад, /net
сан нь
IP хаягаас экспортлогдсон файлуудыг таньж холбох санг зааж өгч байна.
/etc/amd.map файл нь AMD-н экспортын анхдагч тохируулгуудыг заасан байна.
FTP
anonymous
Anon FTP сонголт нь anonymous буюу нэр үл мэдэгдэгч
FTP холболтыг зөвшөөрдөг. Үүнийг сонгосноор, уг машиныг
нэр нь үл мэдэгдэгч холболт хүлээж авдаг FTP сервер болгож байна.
Энэ сонголтыг дагаад үүсэх нууцлал болон аюулгүй байдлыг бодох хэрэгтэй.
Өөр цэс үүсэж аюулгүй байдалтай холбоотой нөхцлүүд болон тохируулгын талаар сануулга өгдөг.
Gateway тохируулга нь өмнө тайлбарласны дагуу машиныг хэрхэн сүлжээний хаалга болгож тохируулах тохиргоонуудыг санал болгодог. Энэ хэсэгт та өмнө нь суулгацын үед санамсаргүй хүсэлгүйгээр тохируулснаа Gateway сонголт ашиглаж буцааж болно.
Inetd сонголтоор өмнө тайлбарласан &man.inetd.8; далд чөтгөрийг тэр чигээр нь хорьж болно.
Mail сонголтоор системийн
андагч MTA буюу Mail Transfer Agent буюу захиа дамжуулагч агентийг тохируулдаг.
Энэ сонголтыг сонгох үед дараах цэс харуулагддаг:
Анхдагч MTA-г сонгох
Та энэ хэсэгт, суулгах анхдагч MTA-г сонгох гэж байна. MTA бол системийн хэрэглэгчид уруу юм уу эсвэл интернэтэд байгаа хэрэглэгчид уруу захиа илгээгч энгийн сервер билээ.
Sendmail-г сонгосноор, та &os;-н анхдагч бөгөөд алдаршиж тархсан sendmail серверийг суулгах болно. Sendmail local сонголт нь
sendmail-г анхдагч
MTA болгож суулгах боловч интернэтээс ирж байгаа захиануудыг хүлээж авахгүйгээр тохируулдаг. Бусад сонголтууд болох
Postfix болон
Exim нар нь
Sendmail-тэй ижил үүрэг гүйцэтгэдэг. Тэд хоёулаа захиа илгээдэг бөгөөд зарим хэрэглэгчид
sendmail-н оронд
MTA болгож хэрэглэж болдог.
MTA-г сонгосны дараа юм уу эсвэл MTA-г сонголгүйгээр цаашлах үед, NFS client тохируулгыг хийх сүлжээний тохируулгын цэс гарч ирдэг.
NFS client сонголт нь системийг
NFS сүлжээгээр сервертэй холбоход хэрэглэгддэг. NFS сервер нь NFS протокол ашиглан, файл системийг сүлжээгээр бусад машинд хандах боломж өгдөг. Хэрэв энэ нь дангаараа ажилладаг машин бол, энэ сонголтыг сонгохгүйгээр үлдээж болно. Систем танаас нэмэлт тохируулга хийхийг шаардаж магадгүй; сервер хэрэглэгч хоёрын тохиргооны тухай дэлгэрэнгүй мэдээллийг
хэсгээс харна уу.
Саяны сонголтын доор нь NFS server-н тохируулга байгаа бөгөөд системийг
NFS сервер болгоход хэрэглэгдэнэ. Энэ хэсэгт RPC буюу алсад буй компьютерт програм ажиллуулагч үйлчилгээг эхлүүлэх тохиргоо хийдэг. RPC нь компьютер болон програм хоёрын хоорондох холболтыг зохицуулахад хэрэглэгддэг.
Түүний дараа Ntpdate гэсэн сонголт байгаа ба энэ нь цаг тохируулах үүрэгтэй. Хэрэв үүнийг сонговол, дараах цэс танд харуулагдана:
Ntpdate тохиргоо
Энэ хэсэгт, өөртөө хамгийн ойрхон буй серверийг сонгох хэрэгтэй. Ойрхон сервер сонгосноор, таны цагийн тохиргоог хол байгаа сервер уруу мэдээлэл авах гэж цаг алдалгүйгээр илүү нарийвчлалтай хийх боломж ихсэнэ.
Дараагийн сонголт бол PCNFSD юм.
Энэ сонголт
net/pcnfsd багцыг
Портын цуглуулгаас суулгадаг. Энэ нь Microsoft-н
&ms-dos; зэрэг таньж бүртгэн нэвтрэх үйлчилгээ хийж чаддаггүй үйлдлийн системүүдэд
NFS таньж нэвтрүүлэх үйлчилгээг санал болгодог тун хэрэгтэй систем юм.
Та одоо жаахан доош нь гулгуулж дараагийн сонголтуудыг харах хэрэгтэй:
Доод түвшний сүлжээний тохируулга
&man.rpcbind.8;, &man.rpc.statd.8;, болон
&man.rpc.lockd.8; хэрэгслүүд бүгдээрээ Remote Procedure
Calls (RPC) буюу алс компьютерт процедур ажиллуулагчид хэрэглэгдэнэ.
rpcbind хэрэгсэл NFS сервер болон хэрэглэгчийн хоорондох холболтыг зохицуулдаг бөгөөд NFS серверийг зөв ажиллаж байх нөхцөл шаарддаг. rpc.statd далд чөтгөр нь өөр компьютер дээр буй rpc.statd далд чөтгөртэй харилцаж төлөв байдлыг хянаж байдаг. Мэдээлэгдэх ёстой төлөв байдлууд нь
/var/db/statd.status файлд хадгалагаж байгаа.
Дараагийн сонголт нь rpc.lockd бөгөөд энэ нь сонгогдвол файлуудыг түгжих үйлдлийг хангаж өгдөг. Энэ голдуу
rpc.statd-тэй хэрэглэгддэг бөгөөд ямар компьютер ямар файлыг хорихыг хүсэж байна, хэр давтамжтай хүсэж байгаа зэргийн төлвийг хянаж байдаг.
Сүүлийн хоёр сонголт нь дибаг хийхэд маш гайхамшигтай байдаг боловч эдгээр нь NFS сервер болон хэрэглэгч зөв
ажиллахад шаардлагагүй.
Цааш нь харвал
Routed сонголт буй. Энэ нь дамжуулга хийгч далд чөтгөр юм. &man.routed.8; хэрэгсэл нь сүлжээний дамжуулах хүснэгтийг удирдаж multicast дамжуулагчдыг олж хүсэлтийн дагуу сүлжээн дэх физик холболттой машинд өөрийнхөө дамжуулах хүснэгтийг нийлүүлж байдаг. Энэ хэрэгсэл нь голдуу дотоод сүлжээндээ хаалганы үүрэг гүйцэтгэж байгаа машинд хэрэглэгддэг. Үүнийг сонговол цэс гарч ирэн уг хэрэгслийн байрлах анхдагч байршлыг асуудаг. Уг цэсэн дээр анхдагч байршил нь аль хэдийнээ сонгогдсон байдаг болохоор шууд Enter дарж болно. Танд дахин өөр цэс харуулагдах бөгөөд, энэ үед танаас routed далд чөтгөрийг ажиллууллах нэмэлт сонголт оруулахыг асуудаг. Анхдагч сонголт нь
байдаг бөгөөд үргэлж энэ сонголттойгоо харуулагдах болно.
Дараагийн тохиргооны сонголт бол Rwhod бөгөөд хэрэв энэ сонгогдвол, системийн эхлэн ачаалах үед &man.rwhod.8; далд чөтгөрийг ажиллуулдаг. rwhod хэрэгсэл нь сүлжээгээр байнга системийн мэдээнүүдийг цацах, эсвэл consumer
горимдоо байгаа бол уг мэдээнүүдийг цуглуулж байдаг. Дэлгэрэнгүй мэдээллийг &man.ruptime.1; юм уу
&man.rwho.1;-н гарын авлагаас харж болно.
Жагсаалтын сүүлийн өмнөх сонголт бол
&man.sshd.8;далд чөтгөр юм. Энэ нь OpenSSH-д зориулсан, нууцлалын хувиргууртай бүрхүүлийн сервер бөгөөд энгийн хэрэглээнд байдаг telnet болон FTP серверүүдийн оронд хэрэглэхийг санал болгодог. sshd сервер нь нэг компьютераас нөгөө уруу нууцлалын хувиргалттай холболт тогтоож байдаг.
Эцэст нь TCP Extensions
сонголт байгаа. Энэ хэрэв сонгогдвол, RFC 1323 болон
RFC 1644-д заасан байдаг TCP өргөтгөлийг идэвхжүүлдэг. Ихэнх компьютер дээр энэ нь сүлжээний хурдыг ихэсгэдэг ч гэсэн зарим холболтыг унагаж болзошгүй. Энэ нь зөвхөн дангаараа ажилладаг серверт санал болгогдож байдаг.
Ингээд та сүлжээнийхээ үйлчилгээнүүдийг тохируулж дууслаа.
Та хамгийн дээд талын X Exit уруу гүйлгэж
дараагийн тохиргоо уруу орон үргэлжлүүлж болох бөгөөд эсвэл
X Exit-ийг хоёр удаа сонгон дараа нь
[X Exit Install]-г сонгон
sysinstall-с гарч болно.
&os; эхлэн ачаалалт
&os;/&arch.i386; машин дээрх FreeBSD-н эхлэн ачаалалт
Хэрэв бүх зүйл амжилттай болсон бол дэлгэцэн дээр тань мэдэгдлүүд урсаж өнгөрөөд нэвтрэх хэсэгт тулж ирэх болно. Урсаж өнгөрсөн мэдэгдлүүдийг эргэж харахын тулд Scroll-Lock товчийг дараад
PgUp болон PgDn товчоор дээш доош нь гулгуулдаг.
Scroll-Lock товчийг дахин дарснаар нэвтрэх хэсэгт буцаж ирдэг.
Бүх мэдэгдэл харуулагдахгүй байх нөхцөл үүсвэл (түр хадгалагчийн хэмжээнээс болж) сүүлд нь тушаал өгдөг горим дээр
dmesg тушаалаар харж болдог.
Суулгацын үед нэмж оруулсан хэрэглэгчийн нэр болон нууц үгээр нэвтэрч орох хэрэгтэй (энэ тохиолдолд rpratt гэж буй). Шаардлага гараагүй бол
root эрхээр орохоос сэргийлэх хэрэгтэй.
Ердийн эхлэн ачаалах үеийн мэдэгдэл (хувилбарын тухай хэсгийг оруулалгүйгээр):
Copyright (c) 1992-2002 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
The Regents of the University of California. All rights reserved.
Timecounter "i8254" frequency 1193182 Hz
CPU: AMD-K6(tm) 3D processor (300.68-MHz 586-class CPU)
Origin = "AuthenticAMD" Id = 0x580 Stepping = 0
Features=0x8001bf<FPU,VME,DE,PSE,TSC,MSR,MCE,CX8,MMX>
AMD Features=0x80000800<SYSCALL,3DNow!>
real memory = 268435456 (262144K bytes)
config> di sn0
config> di lnc0
config> di le0
config> di ie0
config> di fe0
config> di cs0
config> di bt0
config> di aic0
config> di aha0
config> di adv0
config> q
avail memory = 256311296 (250304K bytes)
Preloaded elf kernel "kernel" at 0xc0491000.
Preloaded userconfig_script "/boot/kernel.conf" at 0xc049109c.
md0: Malloc disk
Using $PIR table, 4 entries at 0xc00fde60
npx0: <math processor> on motherboard
npx0: INT 16 interface
pcib0: <Host to PCI bridge> on motherboard
pci0: <PCI bus> on pcib0
pcib1: <VIA 82C598MVP (Apollo MVP3) PCI-PCI (AGP) bridge> at device 1.0 on pci0
pci1: <PCI bus> on pcib1
pci1: <Matrox MGA G200 AGP graphics accelerator> at 0.0 irq 11
isab0: <VIA 82C586 PCI-ISA bridge> at device 7.0 on pci0
isa0: <ISA bus> on isab0
atapci0: <VIA 82C586 ATA33 controller> port 0xe000-0xe00f at device 7.1 on pci0
ata0: at 0x1f0 irq 14 on atapci0
ata1: at 0x170 irq 15 on atapci0
uhci0: <VIA 83C572 USB controller> port 0xe400-0xe41f irq 10 at device 7.2 on pci0
usb0: <VIA 83C572 USB controller> on uhci0
usb0: USB revision 1.0
uhub0: VIA UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub0: 2 ports with 2 removable, self powered
chip1: <VIA 82C586B ACPI interface> at device 7.3 on pci0
ed0: <NE2000 PCI Ethernet (RealTek 8029)> port 0xe800-0xe81f irq 9 at
device 10.0 on pci0
ed0: address 52:54:05:de:73:1b, type NE2000 (16 bit)
isa0: too many dependant configs (8)
isa0: unexpected small tag 14
fdc0: <NEC 72065B or clone> at port 0x3f0-0x3f5,0x3f7 irq 6 drq 2 on isa0
fdc0: FIFO enabled, 8 bytes threshold
fd0: <1440-KB 3.5" drive> on fdc0 drive 0
atkbdc0: <keyboard controller (i8042)> at port 0x60-0x64 on isa0
atkbd0: <AT Keyboard> flags 0x1 irq 1 on atkbdc0
kbd0 at atkbd0
psm0: <PS/2 Mouse> irq 12 on atkbdc0
psm0: model Generic PS/2 mouse, device ID 0
vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
sc0: <System console> at flags 0x1 on isa0
sc0: VGA <16 virtual consoles, flags=0x300>
sio0 at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0
sio0: type 16550A
sio1 at port 0x2f8-0x2ff irq 3 on isa0
sio1: type 16550A
ppc0: <Parallel port> at port 0x378-0x37f irq 7 on isa0
ppc0: SMC-like chipset (ECP/EPP/PS2/NIBBLE) in COMPATIBLE mode
ppc0: FIFO with 16/16/15 bytes threshold
ppbus0: IEEE1284 device found /NIBBLE
Probing for PnP devices on ppbus0:
plip0: <PLIP network interface> on ppbus0
lpt0: <Printer> on ppbus0
lpt0: Interrupt-driven port
ppi0: <Parallel I/O> on ppbus0
ad0: 8063MB <IBM-DHEA-38451> [16383/16/63] at ata0-master using UDMA33
ad2: 8063MB <IBM-DHEA-38451> [16383/16/63] at ata1-master using UDMA33
acd0: CDROM <DELTA OTC-H101/ST3 F/W by OIPD> at ata0-slave using PIO4
Mounting root from ufs:/dev/ad0s1a
swapon: adding /dev/ad0s1b as swap device
Automatic boot in progress...
/dev/ad0s1a: FILESYSTEM CLEAN; SKIPPING CHECKS
/dev/ad0s1a: clean, 48752 free (552 frags, 6025 blocks, 0.9% fragmentation)
/dev/ad0s1f: FILESYSTEM CLEAN; SKIPPING CHECKS
/dev/ad0s1f: clean, 128997 free (21 frags, 16122 blocks, 0.0% fragmentation)
/dev/ad0s1g: FILESYSTEM CLEAN; SKIPPING CHECKS
/dev/ad0s1g: clean, 3036299 free (43175 frags, 374073 blocks, 1.3% fragmentation)
/dev/ad0s1e: filesystem CLEAN; SKIPPING CHECKS
/dev/ad0s1e: clean, 128193 free (17 frags, 16022 blocks, 0.0% fragmentation)
Doing initial network setup: hostname.
ed0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
inet 192.168.0.1 netmask 0xffffff00 broadcast 192.168.0.255
inet6 fe80::5054::5ff::fede:731b%ed0 prefixlen 64 tentative scopeid 0x1
ether 52:54:05:de:73:1b
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
inet6 fe80::1%lo0 prefixlen 64 scopeid 0x8
inet6 ::1 prefixlen 128
inet 127.0.0.1 netmask 0xff000000
Additional routing options: IP gateway=YES TCP keepalive=YES
routing daemons:.
additional daemons: syslogd.
Doing additional network setup:.
Starting final network daemons: creating ssh RSA host key
Generating public/private rsa1 key pair.
Your identification has been saved in /etc/ssh/ssh_host_key.
Your public key has been saved in /etc/ssh/ssh_host_key.pub.
The key fingerprint is:
cd:76:89:16:69:0e:d0:6e:f8:66:d0:07:26:3c:7e:2d root@k6-2.example.com
creating ssh DSA host key
Generating public/private dsa key pair.
Your identification has been saved in /etc/ssh/ssh_host_dsa_key.
Your public key has been saved in /etc/ssh/ssh_host_dsa_key.pub.
The key fingerprint is:
f9:a1:a9:47:c4:ad:f9:8d:52:b8:b8:ff:8c:ad:2d:e6 root@k6-2.example.com.
setting ELF ldconfig path: /usr/lib /usr/lib/compat /usr/X11R6/lib
/usr/local/lib
a.out ldconfig path: /usr/lib/aout /usr/lib/compat/aout /usr/X11R6/lib/aout
starting standard daemons: inetd cron sshd usbd sendmail.
Initial rc.i386 initialization:.
rc.i386 configuring syscons: blank_time screensaver moused.
Additional ABI support: linux.
Local package initialization:.
Additional TCP options:.
FreeBSD/i386 (k6-2.example.com) (ttyv0)
login: rpratt
Password:
RSA болон DSA түлхүүрүүдийг үүсгэх явц нь удаан машин дээр хэсэг хугацаа авч магадгүй. Энэ явц нь зөвхөн суулгацын дараах анхны эхлэн ачаалах үед л хийгддэг. Дараагийн ачаалах үед хийгддэггүй болохоор хурдан байх болно.
Хэрэв Х сервер тохируулагдаад анхдагч график орчин сонгогдсон байгаа бол, startx гэсэн тушаалаар тэдгээрийг ажиллуулж болно.
&os;/&arch.alpha; машин дээрх FreeBSD-н эхлэн ачаалалт
Alpha
Суулгац дууссан бол, FreeBSD-г эхлүүлэхийн тулд
SRM тушаал оруулах мөрөнд доор дурдсаныг бичнэ:
>>>BOOT DKC0
Энэ нь уг машинд тухайн бичсэн дискнээс эхлэн ачаалахыг зааж өгч байна.
Цаашдаа FreeBSD-г автоматаар эхлүүлдэг болгохын тулд дараах тушаалыг өгөх хэрэгтэй:
>>> SET BOOT_OSFLAGS A
>>> SET BOOT_FILE ''
>>> SET BOOTDEF_DEV DKC0
>>> SET AUTO_ACTION BOOT
Эхлэн ачаалагдах явц нь &i386; машиныхтай ойролцоо ижил (гэх бүр ижил биш) байх болно.
FreeBSD-г унтраах
Үйлдлийн системийг зөв унтраах нь тун чухал. Шууд хүч хэрэглэн унтрааж болохгүй. Эхлээд su гэсэн тушаал оруулаад
root нууц үгээ бичиж өгөн супер хэрэглэгч болох хэрэгтэй. Энэ нь зөвхөн тухайн хэрэглэгч
wheel бүлэгт хамаарагдсан үед биелнэ.
Эсвэл root хэрэглэгч болж нэвтрэх хэрэгтэй. Ингээд
shutdown -h now тушаалыг оруулна.
The operating system has halted.
Please press any key to reboot.
Унтраах тушаал өгсний дараа Please press any key to reboot буюу дурын товч дарж шинээр ачаална уу
гэсэн мэдэгдэл гарсан үед унтраах нь зөв юм. Хэрэв шууд унтраалгүйгээр ямар нэгэн товч дарвал систем шинээр ачаалагдах болно.
Та мөн
Ctrl
Alt
Del
товчлуурын хослол хэрэглэн шинээр ачаалж болох боловч, ердийн үед энэ нь тийм ч их хэрэглэгддэг арга биш.
Хүндрэл тулгарвал
суулгац
хүндрэл тулгарвал
Дараах хэсэгт хүмүүсийн мэдээлсний дагуу тэдэнд тулгарч байсан
энгийн хүндрэлийн тухай авч хэлэлцэх болно. Мөн энэ хэсэгт &ms-dos; эсвэл &windows;
үйлдлийн системийг FreeBSD-тэй хамт хэрхэн нэг компьютерт суулгаж
ачаалах тухай хүмүүсийн асуусан асуулт болон хариултыг агуулсан буй.
Хэрэв буруу тийшээ эргээд эхэлбэл юу хийх хэрэгтэй вэ
Компьютерийн төрлөөс хамааран бүх юмыг 100% цэвэр гүйцэтгэж болохгүй
ч гэсэн хэрэв ямар нэгэн зүйл буруу болбол, та хэд хэдэн арга хэмжээг
авч чадна.
Таны FreeBSD-ийн хувилбарт зориулсан Тоног төхөөрөмжийн тэмдэглэл
баримтаас таны төхөөрөмжийг дэмжсэн эсэхийг нь шалгах хэрэгтэй.
Хэрэв таны төхөөрөмж дэмжигдсэн мөртлөө хүндрэл гарвал, та
өөрсчөн тохируулсан цөм бүтээх
шаардлагатай болно. Энэ нь GENERIC цөмд байхгүй
төхөөрөмжүүдийн дэмжлэгийг нэмэх боломжийг танд олгох болно.
Ачаалагч дискэн дээр буй цөм нь таны төхөөрөмжүүдийг
IRQ-үүд, IO хаяг, мөн DMA суваг зэрэг тохиргоог үйлдвэрээс зааж өгсөн
анхныхаа утгатайгаа байгаа гэж авч үздэг. Хэрэв таны төхөөрөмжийн тохиргоо
өөрчлөгдсөн бол тэдгээр зүйлсийг &os; хаанаас олж болохыг хэлэхийн тулд та цөмийн
тохиргоогоо засварлаж дахин бүтээх хэрэгтэй болно.
Мөн залгаж туршигдаагүй төхөөрөмжүүд сүүлд залгагдаад туршигдах үед
алдаа үүсгэх тохиолдол гардаг. Ийм үед хүндрэлтэй байгаа төхөөрөмжийн
драйвер буюу таниулагч файлуудыг нь хорих хэрэгтэй.
Ихэнх суулгацын хүндрэлүүд нь төхөөрөмжийн үйлдвэрээс гаргасан
сүүлийн үеийн таниулагч файлуудыг нь татаж авч суулгаснаар илаарших
нөхцөл бүрддэг бөгөөд ялангуяа motherboard буюу эх хавтан дээр иймэрхүү
үзэгдэл их гардаг. Эх хавтангийн үйлдвэрээс гаргасан програмыг ер нь
BIOS гэж нэрлэдэг ба бараг бүх
үйлдвэрүүд өөрсдийн гэсэн вэб хуудастай бөгөөд уг програмыг хэрхэн
сүүлийн үеийн хэлбэрт шинэчлэх тухай мэдээлэл болон файлууд агуулж байдаг.
Ихэнх үйлдвэрлэгчид нь, ямар нэгэн ноцтой хүндрэл гарахаас
зайлсхийж хүндтэй нөхцөл үүсээгүй бол
BIOS-г шинэчилж хэрэггүй гэж зөвлөдөг.
Шинэчлэх явц амжилтгүй болох нөхцөл нь
BIOS цахилгаан схемд ноцтой эвдрэл гаргаж
болзошгүйг анхаарна уу.
&ms-dos; болон &windows;-н файл системийг хэрэглэх нь
&os; нь одоогийн байдлаар Double Space™
програмаар шахсан файл системийг дэмждэггүй. Тийм болохоор, хэрэв ийм төрлийн
файл системд хандахаар бол эхлээд уг файл системийн шахалтыг задлаад, дараа нь
файл уруу хандах хэрэгтэй. Задлах энэ үйлдэл нь Compression Agent
програмыг Start> Programs > доторх
System Tools цэснээс гүйцэтгэгдэж болно.
&os; нь &ms-dos; файлын системүүдийг (заримдаа FAT файлын
системүүд гэгддэг) дэмжиж чаддаг. &man.mount.msdosfs.8; тушаал нь тийм
файлын системүүдийг байгаа сангийн шатлалд системийн агуулгад хандах
боломжтой болгон холбож өгдөг. &man.mount.msdosfs.8;-ийг ихэвчлэн
шууд ажиллуулдаггүй; харин /etc/fstab файл дахь
мөрийн тусламжтай системээр дуудагдах юм уу эсвэл &man.mount.8; хэрэгслийг
тохирох нэмэлт өгөгдлүүдтэй нь дууддаг.
/etc/fstab файлд байж болох мөр ийм байна:
/dev/ad0sN /dos msdosfs rw 0 0
/dos сан энэ тохиолдолд өмнө нь үүссэн
байх ёстой. /etc/fstab-ийн хэлбэршилтийн талаар
илүү дэлгэрэнгүйг &man.fstab.5;-с үзнэ үү.
&ms-dos; файлын системд зориулсан &man.mount.8; дуудлага иймэрхүү
байна:
&prompt.root; mount -t msdosfs /dev/ad0s1 /mnt
Энэ жишээн дээр, &ms-dos; файл систем нь эхний дискний эхний хуваалт
дээр байрласныг харуулж байна. Мэдээж таны систем дээр янз бүр байх бөгөөд
dmesg болон mount тушаалуудын гаралтын
мэдээллийг харах хэрэгтэй. Эдгээр тушаалууд нь дискний хуваалтын
тухай хангалттай мэдээллийг өгч чаддаг.
&os; нь дискний зүсмэлүүдийг (&ms-dos; зүсмэлүүд)
бусад үйлдлийн системүүдээс өөрөөр дугаарлаж болно. Ялангуяа өргөтгөсөн
&ms-dos; файлын системүүдэд үндсэн &ms-dos; хуваалтуудынхаас дээш
дугааруудыг ихэвчлэн өгдөг. &man.fdisk.8; хэрэгсэл нь
аль зүсмэлүүд &os;-д хамаарч байгаа болон аль нь бусад үйлдлийн
системүүдэд хамаатай болохыг тодорхойлоход тусалж чадна.
NTFS хуваалтыг бас таниулан холбохдоо өмнөхтэй ижил аргаар
&man.mount.ntfs.8; тушаал хэрэглэж болно.
Алдааг олж засварлахтай холбоотой асуултууд болон хариултууд
Миний систем ачаалж тоног төхөөрөмж шалгаж байх үедээ
гацах юм уу эсвэл суулгах үед хачин ажиллаад байна,
эсвэл уян дискний хөтчийг шалгахгүй байна.
- &os; 5.0 болон түүнээс сүүлийн хувилбарууд нь
+ &os; нь
системийн ACPI үйлчилгээг ачаалах явцад илрүүлсэн бол
түүнийг i386, amd64 болон ia64 тавцангууд дээр өргөнөөр
ашигладаг. Харамсалтай нь ACPI драйвер болон системийн
эх хавтан ба BIOS-д алдаанууд байсаар байгаа билээ.
Гуравдагч шатны ачаалагч дуудагч дээр
hint.acpi.0.disabled тохиргоог
тохируулснаар ACPI-ийн хэрэглээг хааж болдог:
set hint.acpi.0.disabled="1"
Энэ нь систем ачаалах тоолонд өөрчлөгдөх учир
/boot/loader.conf файлд
hint.acpi.0.disabled="1" мөрийг
нэмж өгөх шаардлагатай. Ачаалагч дуудагчийн талаар
дэлгэрэнгүй мэдээллийг
хэсгээс олж болно.
&os;-г суулгасны дараа хатуу дискнээс анх удаагаа ачаалах
гэхэд цөм дуудагдаж миний тоног төхөөрөмжийг шалгасан боловч
иймэрхүү мэдээлэл гаргаад зогсоод байна:
changing root device to ad1s1a panic: cannot mount root
Юу болохоо больчихсон бэ? Би юу хийх вэ?
Ачаалахад тусламж маягаар
bios_drive:interface(unit,partition)kernel_name
гэж гарсан зүйл юу вэ?
Ачаалах диск системийн эхний диск биш тохиолдолд
гардаг асуудал аль эртнийх байдаг. BIOS нь &os;-д
өөр дугаарлах аргыг хэрэглэдэг бөгөөд аль дугаар нь
алинтай таардгийг зөвөөр тохируулах төвөгтэй байдаг.
Ачаалах диск нь систем дээр эхний диск биш бол
&os;-д түүнийг олоход тусламж хэрэгтэй болдог.
Энд хоёр нийтлэг тохиолдол байдаг бөгөөд аль ч тохиолдолд
та &os;-д root файлын систем хаана байгаа хэлж өгөх
шаардлагатай. Та BIOS-ийн дискний дугаар, дискний төрөл болон
тэр төрөлд зориулсан &os;-ийн дискний дугаарыг зааж өгөн
үүнийг хийж болно.
Эхнийх нь та хоёр IDE дисктэй бөгөөд
диск бүр өөр өөрийн IDE шугамнууд дээр мастер болон
тохируулагдсан байх ба &os;-г хоёр дахь дискнээс
ачаалахыг хүсэж байгаа тохиолдол юм. BIOS нь эдгээрийг
диск 0 болон диск 1 гэж хардаг бол &os; нь
тэдгээрийг ad0 болон
ad2 гэж хардаг.
&os; нь ad төрлийн BIOS диск 1 дээр
байгаа бөгөөд &os;-ийн дискний дугаар нь 2 юм. Тэгэхээр
та ингэж хэлж өгөх хэрэгтэй-:
1:ad(2,a)kernel
Хэрэв та анхдагч шугаман дээр боол дисктэй бол
дээр дурдсан нь шаардлагагүй юм (тэгээд бас маш буруу
юм).
Хоёр дахь нь та систем дээрээ нэг буюу түүнээс олон
IDE дискнүүдтэй бөгөөд SCSI дискнээс ачаалах тохиолдол
юм. Энэ тохиолдолд &os;-ийн дискний дугаар нь BIOS-ийн
дискний дугаараас бага байдаг. Хэрэв хоёр IDE дисктэй
бөгөөд бас SCSI дисктэй бол SCSI диск нь da
төрлийн BIOS диск 2 ба &os;-ийн дискний дугаар 0 байна.
Тэгэхээр та:
2:da(0,a)kernel
гэж &os;-д систем дэх эхний SCSI диск болох
BIOS диск 2-оос ачаалахыг хүсэж байгаагаа хэлж өгнө.
Хэрэв танд зөвхөн нэг IDE диск байсан бол дээрхийн оронд
та 1:-ийг харах байсан билээ.
Та ашиглах зөв утгуудыг тодорхойлсныхоо дараа
стандарт текст засварлагч ашиглан /boot.config
файлд бичиж өгсөн шигээ тушаалыг хийж өгч болно.
Өөрөөр зааварлаагүй л бол &os; нь энэ файлын агуулгыг
boot: хүлээх мөрний анхдагч хариулт
болгон ашиглах болно.
&os;-г суулгасны дараа хатуу дискнээс анх удаагаа ачаалах
гэхэд ачаалах цэсэн дээр Ачаалагч Менежерийн хүлээх мөр
зөвхөн F?-г хэвлээд ачаалалт цааш
үргэлжлэхгүй байна.
Таныг &os;-г суулгаж байхад хатуу дискний геометр
Хуваалтын засварлагч дээр буруу тохируулагдсан байна.
Хуваалтын засварлагч уруу буцаж ороод өөрийн хатуу дискний
жинхэнэ геометрийг зааж өгөх хэрэгтэй. Та зөв геометртэйгээр
&os;-г эхнээс нь дахин суулгах шаардлагатай.
Хэрэв та өөрийн машины хувьд зөв геометрийг ерөөсөө олж
чадахгүй байгаа бол ийм зөвлөгөө өгье: дискний эхэнд
жижиг DOS хуваалт суулгаад дараа нь &os;-г суулгах хэрэгтэй.
Суулгалтын програм нь DOS хуваалтыг харж түүнээс зөв геометрийг
олж авахыг оролддог. Ингэснээр энэ нь ихэвчлэн ажилладаг
билээ.
Дараах зааврыг зөвлөхөө больсон бөгөөд энд лавлагааны
зориулалтаар оруулав:
Хэрэв та (ирээдүйд) DOS, Линукс эсвэл бусад үйлдлийн системтэй
нийцтэй байх эсэх нь хамаагүй цэвэр &os; сервер эсвэл ажлын
станц суулгаж байгаа бол &os; нь хамгийн эхний сектороос эхлээд
сүүлийн сектор хүртэл бүхэл дискийг ашигладаг стандарт бус тохируулгыг
сонгож бүхэл дискийг (хуваалтын засварлагч дээр A) ашиглах сонголт
бас танд байдаг. Энэ нь геометрийн бүх л тооцооллыг орхих боловч
дискэн дээр &os;-ээс өөр бусад үйлдлийн системийг хэзээ ч ажиллуулахгүй
гэж тооцоогүй л бол зарим талаараа хязгаарлагдмал байдаг.
Систем миний &man.ed.4; сүлжээний картыг олсон боловч
device timeout гэсэн алдаа гарсаар байх юм.
Таны карт /boot/device.hints
файл дээр зааснаас өөр IRQ-г ашиглаж байж магадгүй юм.
&man.ed.4; драйвер нь анхдагчаар soft
буюу зөөлөн тохиргоог
(DOS дээр EZSETUP-ийг ашиглан оруулсан утгуудыг) ашигладаггүй боловч
хэрэв таныг интерфэйсийн хувьд -1-г
зааж өгөх юм бол програм хангамжийн тохиргоог ашиглах
болно.
Карт дээр байгаа жижиг шилжүүлэгчийг тогтсон буюу хатуу тохиргоо
руу (шаардлагатай бол цөмийн тохиргоонуудыг өөрчлөн)
тохируулах юм уу эсвэл зөвлөгөөг
hint.ed.0.irq="-1" гэж IRQ-г
-1 болгож тохируулан зааж өгөх хэрэгтэй.
Энэ нь цөмд зөөлөн тохиргоог ашиглахыг хэлж
өгөх болно.
Өөр нэг шалтгаан нь таны карт IRQ 2-той хуваалцсан IRQ 9 дээр
байж (ялангуяа IRQ 2-г ашигладаг VGA карттай бол) байнга
асуудал болж байдаг байж болох юм. Та аль болох IRQ 2 эсвэл 9-ийг
ашиглах ёсгүй юм.
Валентино
Вашетто
Хамтарч бэлтгэсэн
Суулгацын нэмэлт гарын авлага
Энэ хэсэгт FreeBSD-г хэрхэн онцгой тохиолдолд суулгах талаар
өгүүлэх болно.
FreeBSD-г дэлгэц юм уу гар үгүй систем дээр суулгах нь
суулгац
headless буюу толгойгүй (serial console)
serial console
Энэ төрлийн суулгацыг FreeBSD-г суулгаж байгаа
машин нь дэлгэцгүй юм уу тэр байтугай дэлгэцийн залгуургүй
байдаг учраас headless
install буюу толгойгүй суулгац
гэж нэрлэдэг.
Яаж ингэж болдог юм бол? гэж та гайхаж байвал, serial console буюу
цуваа консол хэрэглэснээр ийм суулгац хийж болдог.
Цуваа консолоор өөр машиныг дэлгэц болон гар болгож ашиглаж болдог.
Үүнийг гүйцэтгэхийн тулд дээр заасан зааврын дагуу суулгац уян дискийг
бэлдэх хэрэгтэй.
Энэ уян дискийг өөрчилж цуваа консолоос эхлэн ачаалахын тулд
дараах алхмуудыг биелүүлэх хэрэгтэй:
Эхлэн ачаалагч уян дискнүүдийг цуваа консол уруу холбогдохыг зөвшөөрөх
mount
Хэрэв та урьд нь уян дискнээс эхлэн ачаалж байсан бол, FreeBSD
нь ердийн энгийн суулгацын горимоор эхлэн ачаалах болно.
Гэхдээ бид нар суулгацаа цуваа холболт уруу орж эхлүүлэх ёстой билээ.
Ингэхийн тулд FreeBSD уруу boot.flp дискийг
&man.mount.8; тушаал ашиглаж таниулж холбох хэрэгтэй.
&prompt.root; mount /dev/fd0 /mnt
Одоо та уян дискээ таниулж холбосон болохоор
/mnt сан уруу орох хэрэгтэй:
&prompt.root; cd /mnt
Энд одоо цуваа консолоос хэрхэн эхлэн ачаалах тохируулга эхэлж байна.
Та эхлээд boot.config нэртэй файл үүсгээд тэрэн дотроо
/boot/loader -h гэж бичих хэрэгтэй.
Ингэснээр та цуваа консолоос эхлэн ачаалах болно гэж тохируулж байна.
&prompt.root; echo "/boot/loader -h" > boot.config
Ингээд та уян дискээ зөв тохируулчихсан учраас таниулсан дискээ
&man.umount.8; тушаалаар буцааж салгах хэрэгтэй:
&prompt.root; cd /
&prompt.root; umount /mnt
Одоо та уян дискээ дискний төхөөрөмжөөс авч болно.
Null-modem кабелиар холбох
null-modem кабел
Та одоо хоёр машинаа null-modem кабелиар
холбох хэрэгтэй. Уг хоёр машины цуваа холболтын залгууранд нь тус тусад нь
залгах хэрэгтэй. Ердийн цуваа залгуур энэ тохиолдолд ажилладаггүй
бөгөөд дундаа сэлгэж залгагдсан null-modem залгуур танд хэрэгтэй.
Суулгац эхлүүлэх гэж шинээр ачаалах
Одоо суулгацаа эхлүүлэх цаг боллоо. boot.flp
дискээ толгойгүй машиндаа хийгээд асаах хэрэгтэй.
Толгойгүй машин уруугаа холбогдох
cu тушаал
Та одоо тэр машин уруугаа &man.cu.1; тушаал хэрэглэж
холбогдох хэрэгтэй:
&prompt.root; cu -l /dev/cuad0
- &os; 5.X дээр
- /dev/cuad0-ийн оронд
- /dev/cuaa0-ийг ашиглана.
Ингээд л боллоо! Та одоо нөгөө толгойгүй машинаа
cu тушаалын хэсгээр удирдах боломжтой боллоо.
Энэ хэсэгт таныг kern1.flp дискээ хийхийг шаардах бөгөөд
дараа нь ямар төрлийн терминал хэрэглэхийг асуух болно. Тэр үед нь
FreeBSD color console буюу өнгөт консол гэдгийг сонгоод цааш нь
суулгацаа үргэлжлүүлээрэй!
Өөртөө зориулж тусгай суулгацын төхөөрөмж бэлдэх нь
Дахин нуршихаас сэргийлж таны худалдаж авсан юм уу бэлдэж авсан
CDROM эсвэл DVD нарыг FreeBSD диск
гэж нэрлэв.
Заримдаа танд өөрийн гэсэн өөрчилж тохируулсан FreeBSD суулгацын
төхөөрөмжөөс суулгах хэрэг гарч болзошгүй. Энэ нь физик төхөөрөмж
болох бичлэгт хальс юм уу эсвэл sysinstall
дээр зааж өгсөн FTP хуудас эсвэл &ms-dos; хуваалтад буй файлаас
суулгаж болзошгүй.
Жишээ нь:
Танд маш олон компьютер холбогдсон дотоод сүлжээ байгаа бөгөөд
зөвхөн нэг л FreeBSD диск байж болох юм. Та дотоод FTP хуудас үүсгээд
тэрэндээ FreeBSD дискээ байрлуулж, уг хуудаснаас бусад компьютерууд холбогдож
суулгац хийж болохоор тохируулж болно.
Танд FreeBSD диск байгаа боловч таны CD/DVD төхөөрөмж уг дискийг
танихгүй харин &ms-dos;/&windows; дээр таньдаг байг. Та уг компьютерийнхаа
DOS хуваалт дээрээ FreeBSD суулгацыг хуулаад дараа нь уг файл уруу
FreeBSD-г суулгах үед хандаж болно.
Таны суулгахыг хүссэн компьютерт CD/DVD төхөөрөмж болон сүлжээний картын
аль нь ч байхгүй бөгөөд та зөвхөн
Laplink-style
цуваа юм уу зэрэгцээ холболтын кабелиар холбогдож
гүйцэтгэж болно.
Та FreeBSD суулгаж болдог бичлэгт хальс бэлдэж болно.
Суулгацын CDROM үүсгэх
FreeBSD төсөл нь хувилбар гаргах үедээ хамгийн багадаа хоёр ширхэг CDROM дүрсийг
(ISO images буюу дискний дүрс
) дэмжигдсэн архитектур бүрийн хувьд бэлтгэдэг.
Хэрэв танд CD бичигч байвал эдгээр буулгац дүрсийг CD дээр буулган бичиж (шарж
) болдог.
Хэрэв танд CD бичигч болон хямд үнэтэй интернэт сайн холболт байвал энэ нь
FreeBSD-г суулгах хамгийн амархан арга болно.
Зөв ISO Images буюу буулгац дүрсийг татаж авах
Хувилбар бүрд зориулсан ISO буулгац дүрсийг ftp://ftp.FreeBSD.org/pub/FreeBSD/ISO-IMAGES-arch/version
хаягаас юм уу эсвэл хуулбар толин тусгалуудаас татаж авч болно.
Машины төрөл болон хувилбарыг arch болон
version гэсэн хэсгүүдэд тус тусад нь орлуулж бичих хэрэгтэй.
Уг сан нь дараах буулгац дүрснүүдийг агуулж байдаг:
-
- FreeBSD 5.X ISO буулгац дүрсний нэр болон агуулга
+ FreeBSD 6.X ба 7.X ISO буулгац дүрсний нэр болон агуулга
Файлын нэр
Агуулга
version-RELEASE-arch-bootonly.iso
FreeBSD цөмөөс эхлүүлж суулгацын хэсгийг эхлүүлэхэд хэрэглэгдэх
бүх хэсэг буй. Энэ суулгаж болдог файлуудыг FTP юм уу бусад эх сурвалжаас
татаж авч болно.
version-RELEASE-arch-miniinst.iso
FreeBSD-г суулгахад хэрэглэгдэх бүх юм бий.
version-RELEASE-arch-disc1.iso
&os;-г суулгахад хэрэгтэй бүх юм болон sysinstall
дээр хэрэглэгдэх Repair буюу засварлах
ад хэрэглэгддэг
live filesystem буюу амьд файл систем
.
version-RELEASE-arch-disc2.iso
- &os;-н бичиг баримт (&os; 6.2-оос өмнөх) болон дискэн дээр багтахаар нь шингээсэн
+ Дискэн дээр багтахаар нь шингээсэн
гуравдагчдын бүтээсэн програмын багцууд.
version-RELEASE-arch-docs.iso
- &os;-н бичиг баримт (&os; 6.2 болон түүнээс дараа үеийн).
+ &os;-н бичиг баримт.
Та bootonly ISO юм уу эсвэл нэгдүгээр диск хоёрын аль нэгийг
татаж авах ёстой. Нэгдүгээр диск нь
bootonly ISO дискний бүтцийг агуулж байдаг болохоор энэ хоёрыг хоёуланг
татаж авч хэрэггүй.
bootonly ISO-г интернэт холболт хямд газарт суулгах хэрэгтэй.
Үүгээр та &os;-г суулгаад, дараа нь гуравдагч програмуудыг интернэтээр татаж
авч суулгаж болно (
-с харна уу).
Нэгдүгээр дискийг хийгээд &os;-г суулгах юм уу эсвэл дискэн дээр байгаа
гуравдагчдын багц програмыг суулгана гэж сонгох хэрэгтэй.
Бусад дискнүүд нь хэрэв танд хурдтай интернэт холболт байхгүй л бол
тийм чухал шаардлагатай биш.
CD-нүүдийг бичих
Та хуулбар дүрс нарыг дискэн дээр бичих хэрэгтэй. Хэрэв та энэ алхмыг
өөр FreeBSD систем дээр гүйцэтгэж байгаа бол
хэсгээс нэмэлт мэдээллийг үзэх хэрэгтэй (
болон
хэсгүүдэд зарим нь буй).
Хэрэв та энэ үйлдлийг өөр үйлдлийн систем дээр гүйцэтгэж байгаа бол,
уг систем дээр байгаа CD бичигчээ удирддаг дурын програмыг нь ашиглаж бичих
нь зүйтэй. Эдгээр дүрс нь стандарт ISO хэлбэрээр байгаа тул маш олон бичигч
нар энэ төрлийг дэмждэг билээ.
Хэрэв өөрийн гэсэн FreeBSD хувилбар бүтээнэ гэх юм бол
Хувилбарыг инженерчлэх мэдээллээс
хараарай.
FreeBSD дисктэй дотоод FTP хуудас бэлтгэх нь
суулгац
сүлжээ
FTP
FreeBSD дискний зохион байгуулалт нь FTP хуудастайгаа ижил байрлуулагдсан буй.
Ингэснээр танд дотоод FTP хуудас байгуулж сүлжээгээр FreeBSD-г суулгахад
тун дөхөм болж өгдөг.
FTP хуудас эрхэлж байх ёстой FreeBSD компьютерт CDROM төхөөрөмж байх
шаардлагатай бөгөөд /cdrom санд таниулж холбосон
байх ёстой.
&prompt.root; mount /cdrom
anonymous FTP эрх
/etc/passwd дотор үүсгэх хэрэгтэй. Ингэхийн тулд
&man.vipw.8; хэрэгслийг ашиглан
/etc/passwd файлыг засварлахдаа дараах мөрийг нэмэх
хэрэгтэй:
ftp:*:99:99::0:0:FTP:/cdrom:/nonexistent
/etc/inetd.conf дотор FTP service буюу үйлчилгээ
зөвшөөрөгдсөн эсэхийг лавлах хэрэгтэй.
Ингээд одоо таны компьютертай сүлжээгээр холбогдож чадах машин болгон
суулгац эхлүүлэхийн тулд, суулгах төхөөрөмжөө сонгох цэснээс Other буюу бусад
гэдгийг сонгоод цааш нь FTP гэж сонгон
ftp://машины нэр
гэж оруулах хэрэгтэй.
Хэрэв таны FTP үйлчилгээг ашиглаж байгаа хэрэглэгчийн эхлэн ачаалах
төхөөрөмж нь (голдуу уян диск байдаг) FTP дээр буй хувилбартай яг ижил хувилбар
биш бол, sysinstall нь таны суулгацыг бүрэн
гүйцэтгэж чаддаггүй. Хэрэв хувилбарууд ижил биш байсан ч гэсэн дарж
бичихийг та хүсэж байгаа бол Options цэснээс
distribution name буюу тархацын нэрийг any гэж
бичих хэрэгтэй.
Энэ арга нь галт ханаар хамгаалагдсан дотоод сүлжээнд бол найдвартай
ажилладаг. Энэ FTP үйлчилгээгээ интернэтээр дамжуулан өөр машинд
(таны дотоод сүлжээнээс гадуурх сүлжээнд буй компьютерт) санал болговол
зарим компьютерийн сүлжээ эвдэгч хүмүүсийн анхаарлыг татаж эвгүй үр дүнд
хүргэж болзошгүй. Хэрэв та нууцлалын маш сайн дадлагатай биш л бол ингэж
гадуурх сүлжээнд ил гаргахаас болгоомжлохыг бид танд зөвлөж байна.
Суулгацын уян дискийг бэлдэх нь
суулгац
уян дискнүүд
Хэрэв таны компьютер өөр дэмжлэггүйгээс болоод юм уу эсвэл та
юмыг хүндрүүлж хийхийг хүссэнээс ч болоод юм уу, суулгацыг уян дискнээс
суулгах ёстой бол (энэ аргыг
хэрэглэхгүй байхыг санал болгож байна), та эхлээд
уян дискнүүдийг суулгацад бэлдэх ёстой.
Хамгийн багадаа л гэхэд base (үндсэн түгээлт) санд буй хоёртын
файлуудыг багтаахад шаардлагатай тооны 1.44 MB-н
дискнүүдийг бэлдэх ёстой. Хэрэв уян дискээ DOS-с бэлдэж байгаа бол
&ms-dos;-н FORMAT командыг ашиглан дискнүүдийг шинэчилж
бэлдэх ёстой. Хэрэв та &windows;-с бэлдэхээр бол,
Explorer дээр дискийг форматлаж болдог (
A: төхөөрөмж дээр хулганы баруун товчийг дараад
Format
цэсийг сонгоорой).
Үйлдвэрээс урьдчилан бэлтгэж цэвэрлэсэн дискэнд итгэж
болохгүй шүү. Найдвартай байхын тулд тэдгээрийг дахин
цэвэрлэх хэрэгтэй. Сүүлийн үед маш олон хэрэглэгчид зөв цэвэрлэж янзлаагүй
дискнээсээ болж маш их алдаа гарлаа гэж мэдээлсэн учраас бид ингэж танд
анхааруулж байгаа билээ.
Хэрэв та уян дискээ DOS файл систем дээр биш харин өөр FreeBSD машин дээр
бэлтгэж байсан ч гэсэн цэвэрлэх нь зөв санаа гэдгийг дахин сануулмаар байна.
Та bsdlabel болон newfs
тушаалуудыг ашиглаж UFS файлын систем суулгахыг хүсвэл ( 3.5" 1.44 MB диск дээр)
дараах тушаалуудыг өгөх хэрэгтэй:
&prompt.root; fdformat -f 1440 fd0.1440
&prompt.root; bsdlabel -w -r fd0.1440 floppy3
&prompt.root; newfs -t 2 -u 18 -l 1 -i 65536 /dev/fd0
Дараа нь дискээ таниулаад жирийн файл систем шиг бичиж болно.
Уян дискнүүдээ цэвэрлэж бэлтгэсний дараа файлуудаа хуулах хэрэгтэй.
Тархцын файлууд нь зохицох зорилгоор тааруулж хуваагддаг бөгөөд таван ширхэг
1.44 MB диск дээр багтахаар тохируулагдсан байдаг. Бүх уян диск болгондоо
багтах хэмжээгээр нь тулгаж хуулах зарчмаар түгээлтийн бүх файлуудыг багтааж
хуулах хэрэгтэй. Тархац бүр уян диск дээр :
a:\base\base.aa,
a:\base\base.ab гэх мэтчилэн хуулагдах ёстой.
Түгээлтийг татаж аван нийлүүлэх үедээ хичнээн нэмэлт хэсгүүдийг
хайхаа мэдэхийн тулд суулгалтын програм уншдаг учраас
base.inf файл нь base
цуглуулгын эхний уян дискэнд орох ёстой.
Суулгацын явцад суулгах төхөөрөмжөө сонгох Media цэс гарах үед
Floppy цэсийг сонгоод цаашаагаа
суулгацаа үргэлжлүүлээрэй.
&ms-dos; хуваалтаас суулгах нь
суулгац
MS-DOS оос
&ms-dos; хуваалтаас суулгацыг бэлтгэхийн тулд, уг хуваалтын эх хэсэг дээр
freebsd нэртэй сан үүсгэж дотор нь түгээлтийн файлуудыг
хуулах хэрэгтэй. Жишээ нь, c:\freebsd. CDROM юм уу FTP
хуудсанд байсан файлуудын сангийн бүтэц нь уг сан доторхтой ижил байх ёстой бөгөөд
хуулахын тулд DOS-н
xcopy тушаалыг ашиглан CD-с хуулаарай.
Жишээ нь, FreeBSD-н хамгийн бага суулгацыг гүйцэтгэхийн тулд:
C:\> md c:\freebsd
C:\> xcopy e:\bin c:\freebsd\bin\ /s
C:\> xcopy e:\manpages c:\freebsd\manpages\ /s
Энд C: дискийг сул зайтай гэж үзсэн бөгөөд
E: диск дээр CDROM-г таниулсан гэж авч үзэв.
Хэрэв танд CDROM төхөөрөмж байхгүй бол тархац файлыг
ftp.FreeBSD.org
-с татаж авч болно. Тархац бүр өөрсдийн сан дотроо байгаа бөгөөд,
жишээ нь, base тархац &rel.current;/base/
сан дотор буй.
&ms-dos;-с суулгахыг хүссэн тархац болгоныг (хэрэв танд хангалттай сул
зай байгаа л бол) c:\freebsd сан дотор хуулах хэрэгтэй
бөгөөд — зөвхөн хамгийн багаар суулгах зориулалттай файлууд л
BIN сан дотор байх шаардлагатай.
Суулгацын бичлэг тууз бэлтгэх нь
суулгац
QIC/SCSI бичлэгт туузнаас
Бичсэн туузнаас суулгах нь FTP юм уу CDROM-с суулгаснаас
хамаагүй амархан арга байж болох юм. Суулгац програм нь
бичлэг дээр tar хэлбэрээр нэгтгэж бичигдсэн байх ёстой.
Суулгахыг хүссэн тархцаа авсны дараа туузан дээр
шахаж бичих хэрэгтэй:
&prompt.root; cd /freebsd/distdir
&prompt.root; tar cvf /dev/rwt0 dist1 ... dist2
Суулгацыг гүйцэтгэх явцдаа туузан дээр түр зуур хэрэглэхээр
(сонголтоос хамаарч) туузан дээрх файлуудыг бүхлээр нь
хуулахад багтаахаар сул зайг үлдээх ёстой.
Шуурхай санамсаргүй хандалт хийгдэж болдоггүй учраас туузан дээр их хэмжээний
сул зай бэлэн байлгах шаардлага гардаг юм.
Суулгацыг эхлүүлэх үед уян дискнээс эхлүүлэхээсээ өмнө
туузыг төхөөрөмж рүү нь хийсэн байх ёстой. Ингэхгүй бол суулгац олохгүй байх
магадлалтай.
Сүлжээгээр суулгахаасаа өмнө
суулгац
сүлжээ
цуваа холболт (SLIP эсвэл PPP)
суулгац
сүлжээ
зэрэгцээ холболт (PLIP)
суулгац
сүлжээ
Ethernet
Сүлжээгээр суулгах гурван төрлийн арга бий.
Эдгээр нь Ethernet сүлжээ (стандарт Ethernet төхөөрөмж), Цуваа холболт (SLIP эсвэл PPP) эсвэл
Зэрэгцээ холболт (PLIP (laplink кабель)) юм.
Сүлжээний картаа ашиглаж интернэт суулгах арга бол мэдээж хамгийн
сайн сонголт байх болно! FreeBSD нь ихэнх сүлжээний картуудыг дэмжиж
таньдаг бөгөөд Hardware Notes буюу төхөөрөмжийн тухай мэдээлэл хэсэгт
дэмждэг картуудыг (мөн тэдгээрт шаардагдах тохируулгатай нь) жагсаасан буй.
Хэрэв та аль нэгэн дэмжигдсэн PCMCIA сүлжээний карт хэрэглэж байвал зөөврийн
компьютераа асаахаасаа өмнө нь залгаарай. Харамсалтай нь
одоогоор PCMCIA төрлийн картуудыг явцын дунд шууд залгаж хараахан чадахгүй
байгаа билээ.
Та мөн сүлжээнийхээ IP хаягаа салгаж ангилсан netmask буюу сүлжээний
шүүлт хаягтай нь хамт мэдэж байх ёстой. Хэрэв та PPP холболт ашиглаж
холбогдож байгаа бол, ISP газраас тань автоматаар хаяглалт хийдэг болохоор
тогтмол зааж өгсөн IP хаяг бүү зоож тохируулаарай. Таны сүлжээ тохируулагч тань
ямар ямар тохируулга шаардлагатайг танд мэдэгдэх байх. Хэрэв та IP хаяг биш
харин ямар нэгэн серверийн нэр оруулж тохируулах ёстой бол, танд бас
name server буюу серверүүдийн нэрүүдийг зохицуулагч серверийн нэрийг мөн
магадгүй gateway серверийн хаягийг бас оруулах хэрэгтэй болох байх
(хэрэв та PPP хэрэглэж байгаа бол энэ нь таны интернэтээр хангагч байгууллагын тань
IP хаяг байх ёстой). Хэрэв та HTTP проксигоор дамжин FTP-нээс суулгац хийх
ёстой бол, та мөн проксигийн хаягийг оруулж өгөх хэрэгтэй. Хэрэв та
эдгээр олон асуултанд хариулж мэдэхгүй байгаа тохиолдолд, сүлжээ тохируулагчаасаа
юм уу эсвэл ISP-аасаа суулгацаа эхлүүлэхээсээ өмнө
лавлаж асуух нь чухал.
SLIP-р холбох нь цуваа холболтын залгуураар нэг компьютерийг
өөр компьютертай холбодог явцуу арга юм. SLIP суулгац нь утсан холбоогоор
залгах боломжгүй болгож зөвхөн шууд залгасан залгуураар л залгагдах болно.
Энэ боломж нь хэрэв SLIP-ийг хэрэглэж болохоор үед л РРР тохируулгаар
хэрэгждэг.
Хэрэв та модем хэрэглэж байгаа бол PPP таны бараг цорын ганц сонголт
байх болов уу. Суулгацаа бүр эхлүүлэхээсээ өмнө интернэт хөтлөгч байгууллага
уруугаа холбогдох мэдээллээ сайн бэлтгэж авсан байх хэрэгтэй.
Хэрэв та ISP руугаа PAP эсвэл CHAP хэрэглэж холбогддог бол
(өөрөөр хэлбэл, ISP уруугаа ямар нэгэн скрипт буюу гүйцэтгэдэг бичлэг
хэрэглэлгүйгээр &windows;-с холбогдож байвал), ppp-н
тушаал оруулах мөрөнд dial гэж оруулахад болно.
Өөр тохиолдолд, PPP хэрэглэж утасдах горим нь тун энгийн терминал үйлчилгээгээр
хангагдсан байдаг болохоор, та ISP руугаа модемондоо тохирсон AT тушаал
хэрэглэж холбогдох хэрэгтэй. Хэрэглэгчийн ppp бүртгэлийн гарын авлага эсвэл FAQ буюу байнга асуудаг асуулт хариулт
хэсгээс нэмэлт мэдээллийг харж болно.
Хэрэв танд хүндрэл тулгарвал, set log local ... тушаал
ашиглаж ерөнхий явцын бүртгэл бичлэгийг дэлгэцэн дээрээ зэрэг хянаж болно.
Хэрэв та өөр FreeBSD (2.0-R эсвэл түүнээс дээшхи хувилбар) машин уруу
шууд залгаж холбогдох боломжтой бол laplink
зэрэгцээ кабелиар
гүйцэтгэж болох юм. Зэрэгцээ холболтоор өгөгдөл нь цуваа холболтыг бодвол
арай хурдан дамжигдах (50 кбайт/сек хүртэл) бөгөөд, ингэснээр илүү
түргэн суулгацаа гүйцэтгэж болох юм.
NFS-р суулгахаасаа өмнө
суулгац
сүлжээ
NFS
NFS суулгац бол харьцангуй хурдан шулуухан байдаг. NFS сервер
дээрээ FreeBSD тархалтынхаа хуулбарыг хуулаад дараа нь суулгац гүйцэтгэх
төхөөрөмжийг сонгох цэсэн дээр NFS гэж зааж өгөхөд болно.
Хэрэв сервер зөвхөн заагдсан порт
ашиглах ёстой бол
(Sun төрлийн компьютерт энэ нь анхнаасаа заагдсан байдаг шиг), та
Options цэсэн дээр NFS Secure сонголтыг
сонгож тохируулаад суулгацаа цааш нь үргэлжлүүлээрэй.
Хэрэв таны сүлжээний карт тийм сайн биш бөгөөд хурдан дамжуулалт хийдэггүйг
та мэддэг бол NFS Slow гэдгийг бас сонгож тохируулаарай.
NFS суулгацыг ажиллуулахын тулд сервер нь дэд санг
таньдаг байх ёстой. Жишээ нь, хэрэв таны FreeBSD &rel.current; тархац:
ziggy:/usr/archive/stuff/FreeBSD санд байгаа бол,
ziggy нь /usr эсвэл
/usr/archive/stuff гэх мэтчилэн дамжиж таниулах биш
харин шууд /usr/archive/stuff/FreeBSD
санг таньж байхаар тохируулагдах ёстой.
FreeBSD-н /etc/exports файл дотор үүнийг тохируулахын
тулд гэсэн сонголт оруулж өгдөг. Бусад NFS серверүүд
өөр зохион байгуулалттай байж болох юм. Хэрэв та
permission denied буюу хандах эрх зөвшөөрөгдөхгүй
гэсэн мэдээлэл серверээс хүлээж авбал, та саяны сонголтыг оруулж өгөөгүй
байна гэсэн үг юм.
diff --git a/mn_MN.UTF-8/books/handbook/kernelconfig/chapter.sgml b/mn_MN.UTF-8/books/handbook/kernelconfig/chapter.sgml
index ebf632bcce..fdd7bdc6ea 100644
--- a/mn_MN.UTF-8/books/handbook/kernelconfig/chapter.sgml
+++ b/mn_MN.UTF-8/books/handbook/kernelconfig/chapter.sgml
@@ -1,1454 +1,1454 @@
Жим
Мок
Шинэчилж дахин бүтцийг өөрчилсөн
Жэйк
Хэмби
Анхлан хувь нэмэр болгож оруулсан
Цагаанхүүгийн
Ганболд
Орчуулсан
FreeBSD цөмийг тохируулах нь
Ерөнхий агуулга
цөм
өөрчлөн тохируулж цөм бүтээх нь
Цөм нь &os; үйлдлийн системийн гол зүрх юм. Энэ нь санах ойг удирдах,
аюулгүй байдлын хяналтуудыг хийх, сүлжээнд холбогдох, диск уруу хандах
зэрэг олон үйлдлүүдийг хариуцан хийдэг. &os; улам илүү динамикаар тохируулагдах
болсон боловч зарим тохиолдолд цөмийг дахин тохируулж хөрвүүлэх шаардлага гардаг.
Энэ бүлгийг уншсаны дараа, та дараах зүйлсийг мэдэх болно:
Та магадгүй яагаад өөрт тохируулсан цөм бүтээх хэрэгтэй талаар.
Цөмийн тохиргооны файлыг хэрхэн бичих эсвэл байгаа тохиргооны файлыг
хэрхэн өөрчлөх талаар.
Цөмийн тохиргооны файлыг хэрхэн ашиглаж шинэ цөм үүсгэж бүтээх талаар.
Шинэ цөмийг хэрхэн суулгах талаар.
Хэрэв юм буруугаар эргэвэл хэрхэн алдааг олох талаар.
Энэхүү бүлгийн жишээнүүд дэх тушаалууд нь амжилттай болохын тулд
root эрхээр ажиллах ёстой.
Яагаад өөрчлөн тохируулсан цөм бүтээх хэрэгтэй вэ?
Уламжлалаар бол &os; нь monolithic
цөмтэй байсан байна.
Энэ нь цөм тоотой хэдэн төхөөрөмжүүдийн жагсаалтыг дэмжсэн нэг том програм
байсан гэсэн үг бөгөөд хэрэв та цөмийн ажиллагааг өөрчлөх бол шинэ цөм хөрвүүлж
дараа нь компьютераа шинэ цөмөөр ачаалан эхлүүлэх шаардлагатай байсан билээ.
Өнөөдөр &os; нь цөмийн ихэнх ажиллагаагаа шаардлагын дагуу динамикаар ачаалдаг
ба цөмөөс буцааж буулгах боломж бүхий модулиудаар тусгаарлагдсан загвар уруу шилжиж
байна. Энэ нь цөм шинэ тоног төхөөрөмжид (зөөврийн компьютер дэх PCMCIA
картууд зэрэг) дасан зохицож түүнийг хурдан хүртээмжтэй болгох, эсвэл цөм анх
хөрвүүлэгдэхдээ цөмд хэрэггүй байсан шинэ ажиллагааг цөмд бий болгох боломжийг
бүрдүүлдэг. Үүнийг модульчлагдсан цөм хэмээдэг юм.
Тэгсэн ч гэсэн зарим статик цөмийн тохиргоог заавал хийх шаардлагатай. Зарим
тохиолдолд ажиллагаа нь цөмтэй нягт холбоотой учраас динамикаар ачаалахаар хийх
боломжгүй байдаг юм. Бас энэ нь энгийнээр бол тэр үйл ажиллагаанд зориулж динамикаар
ачаалах модулийг бичих цаг хэнд ч олдоогүй байж болох юм.
Өөрчлөн тохируулсан цөм бүтээх нь BSD хэрэглэгчийн хувьд хамгийн чухал тэсвэрлэн давж гарах
ажиллагаануудын нэг юм. Энэ процесс нь цаг их зарцуулах боловч таны &os; системд
олон ашиг өгөх болно.Өргөн хүрээний тоног төхөөрөмжүүдийг дэмжих ёстой
GENERIC цөмтэй харьцуулахад өөрчлөн тохируулсан цөм нь
зөвхөн таны PC-ний тоног төхөөрөмжүүдийг дэмждэг. Энэ нь дараах хэд хэдэн ашигтай:
Хурдан ачаалах хугацаа. Цөм нь таны систем дэх тоног төхөөрөмжүүдийг зөвхөн
шалгах учраас системийг ачаалах хугацаа мэдэгдэхүйц багасдаг.
Санах ойн ашиглалт багасна. Өөрчлөн тохируулсан цөм нь ихэнхдээ
GENERIC цөмөөс бага санах ойг ашигладаг бөгөөд
энэ нь их чухал юм, яагаад гэвэл цөм үргэлж жинхэнэ санах ойд байж байх
шаардлагатай байдаг. Ийм учраас өөрчилсөн цөм нь бага хэмжээний RAM-тай систем
дээр ялангуяа ашигтай байдаг.
Нэмэлт тоног төхөөрөмжийн дэмжлэг. Дууны картууд зэрэг
GENERIC цөмд байхгүй төхөөрөмжүүдийн дэмжлэгийг
нэмэх боломжийг танд өөрчлөн тохируулсан цөм олгоно.
Том
Рөүдс
Бичсэн
Системийн тоног төхөөрөмж хайж олох нь
Цөмийн тохиргоо уруу орж үзээд алдахаасаа өмнө машиныхаа
тоног төхөөрөмжийн бүртгэлийг олж авах нь ухаалаг явдал юм.
&os; нь үндсэн үйлдлийн систем биш тохиолдолд байгаа үйлдлийн
системийн тохиргоог харан бүртгэлийн жагсаалтыг хялбархан
үүсгэж болно. Жишээ нь µsoft;-ийн
Device Manager буюу төхөөрөмжийн
менежер нь суулгагдсан төхөөрөмжүүдийн талаарх чухал
мэдээллийг ихэвчлэн агуулдаг.
Device Manager нь control panel
буюу хяналтын самбарт байрладаг.
µsoft.windows;-ийн зарим хувилбаруудад
System гэсэн дүрс байдаг бөгөөд
энэ нь Device Manager уруу хандах
боломжтой дэлгэцийг харуулдаг.
Хэрэв өөр үйлдлийн систем машин дээр байхгүй бол
администратор энэ мэдээллийг өөрөө олох хэрэгтэй болно.
Нэг арга нь &man.dmesg.8; хэрэгсэл болон &man.man.1;
тушаалуудыг ашиглах явдал юм. &os; дээр ихэнх төхөөрөмжийн
драйверууд нь дэмжигдсэн тоног төхөөрөмжүүдийн жагсаалтыг
харуулсан гарын авлагын хуудастай байдаг бөгөөд ачаалах үед
шалгаж байх явцад олдсон тоног төхөөрөмжийг харуулдаг.
Жишээ нь дараах мөрүүд нь psm
драйвер хулгана олсон гэдгийг харуулж байна:
psm0: <PS/2 Mouse> irq 12 on atkbdc0
psm0: [GIANT-LOCKED]
psm0: [ITHREAD]
psm0: model Generic PS/2 mouse, device ID 0
Энэ драйвер нь өөрчлөн тохируулах цөмийн тохиргооны
файлд орсон байх эсвэл &man.loader.conf.5; ашиглан ачаалагдсан
байх хэрэгтэй болно.
Зарим тохиолдолд dmesg-ээс гарч
байгаа өгөгдөл нь ачаалалтын шалгалт, илрүүлэлтийн гаралтыг
биш зөвхөн системийн мэдэгдлүүдийг үзүүлдэг. Эдгээр тохиолдлуудад
/var/run/dmesg.boot файлыг
үзэн гаралтыг олж авч болно.
Тоног төхөөрөмжийг олох өөр нэг арга бол илүү дэлгэрэнгүй
гаралтыг үзүүлдэг &man.pciconf.8; хэрэгслийг ашиглах явдал юм.
Жишээ нь:
ath0@pci0:3:0:0: class=0x020000 card=0x058a1014 chip=0x1014168c rev=0x01 hdr=0x00
vendor = 'Atheros Communications Inc.'
device = 'AR5212 Atheros AR5212 802.11abg wireless'
class = network
subclass = ethernet
pciconf ашиглан
олж авсан энэ бяцхан мэдээлэл нь ath
драйвер утасгүй Ethernet төхөөрөмжийг олсныг харуулж байна.
man ath тушаалыг
ашиглавал &man.ath.4; гарын авлагын хуудсыг харуулах
болно.
Ашигтай мэлээлэл олж авахын тулд &man.man.1; уруу
тугийг өгөн ашиглаж болно. Дээрхээс
ингэж өгч болно:
&prompt.root; man -k Atheros
Тухайн нэг үг агуулсан гарын авлагын хуудсын жагсаалтыг
олж авахын тулд:
ath(4) - Atheros IEEE 802.11 wireless network driver
ath_hal(4) - Atheros Hardware Access Layer (HAL)
Тоног төхөөрөмжийн жагсаалтаар зэвсэглэснээр
цөмийг өөрчлөн тохируулж бүтээх процесс нь арай хялбар болно.
Өөрчлөн тохируулсан цөмийг бүтээх ба суулгах нь
цөм
бүтээх / суулгах
Эхлээд цөм бүтээх сангаар аялая. Дурдсан бүх сангуудаас гол нь
/usr/src/sys сан байх бөгөөд
/sys гэсэн замаар бас хандах боломжтой.
Энд байгаа хэд хэдэн дэд сангууд цөмийн өөр өөр хэсгүүдийг илэрхийлэх бөгөөд
бидний зорилгод хамгийн чухал нь таны өөрчлөн тохируулах цөмийн тохиргоог
засварлах arch/conf
сангууд болон таны цөм бүтээгдэх шатны талбар compile
сан юм. arch нь
i386, alpha,
amd64, ia64,
powerpc, sparc64, эсвэл
pc98 (Японд их ашиглагддаг PC тоног төхөөрөмжийн
өөр нэг хөгжүүлэлтийн салбар) зэргийг төлөөлдөг. Тухайн архитектурын сан доторх
код зөвхөн тэр архитектуртай холбоотой; бусад кодын хэсэг нь &os; порт хийгдэх
боломж бүхий бүх тавцангуудын хувьд адил машинаас чөлөөт код байна. Сангийн бүтцийн
логик зохион байгуулалт нь дэмжлэг хийгдсэн төхөөрөмж, файлын систем болон өөрийн дэд
санд байгаа тохируулга бүртэй хамт байгааг харж болно.
Энэ бүлэг жишээн дээр таныг i386 архитектур ашиглаж байгаа гэж авч үзнэ.
Хэрэв энэ нь таны хувьд өөр байх юм бол та өөрийн системийн архитектурын хувьд замуудын
нэрнүүддээ тохирох өөрчлөлтүүдийг хийгээрэй.
Хэрэв таны систем дээр /usr/src/sys сан
байхгүй бол цөмийн эх суугаагүй байна. Үүнийг хамгийн хялбар аргаар
хийхийн тулд root эрхээр sysinstall
ажиллуулж Configure сонгоод, дараа нь
Distributions сонгоод,
src сонгоод, дараа нь
base болон
sys-г сонгож татаж авна. Хэрэв та
sysinstall -д дургүй ба
албан ёсны
&os; CDROM-д хандах боломжтой бол
тушаалын мөрөөс эхийг бас суулгаж болно:
&prompt.root; mount /cdrom
&prompt.root; mkdir -p /usr/src/sys
&prompt.root; ln -s /usr/src/sys /sys
&prompt.root; cat /cdrom/src/ssys.[a-d]* | tar -xzvf -
&prompt.root; cat /cdrom/src/sbase.[a-d]* | tar -xzvf -
Дараа нь arch/conf
сан уруу шилжээд GENERIC тохиргооны файлыг та өөрийн цөмдөө өгөх
нэр уруу хуул. Жишээ нь:
&prompt.root; cd /usr/src/sys/i386/conf
&prompt.root; cp GENERIC MYKERNEL
Уламжлалаар бол энэ нэр нь бүгд том үсгээр байдаг, хэрэв та олон өөр өөр төрлийн &os;
машинуудын ажиллагааг хянадаг бол машинуудынхаа нэрээр нэрлэх нь зохимжтой юм.
Бид энэ жишээнийхээ зорилгоор MYKERNEL гэж нэрлэе.
Өөрийн цөмийн тохиргооны файлаа шууд /usr/src
доор хадгалах нь буруу байж болох юм. Хэрэв та асуудлуудтай тулгарч байгаа бол
/usr/src -ийг устгаад л дахиж эхлэх нь зоригтой
алхам байж болох юм. Гэхдээ үүнийг хийгээд хэдэн секундын дараа л та өөрийн
өөрчлөн тохируулсан цөмийн тохиргооны файлаа устгасан болохоо мэдэх болно.
Мөн GENERIC файлыг шууд засварлах хэрэггүй бөгөөд
дараагийн удаа өөрийн эх модыг шинэчлэх
үйлдлийг хийхэд дарагдан хуулагдаж таны цөмийн өөрчлөлт алдагдаж магадгүй.
Та цөмийн тохиргооны файлаа өөр газар хадгалж дараа нь
i386 сан дахь
файл уруу тэмдэгт холбоос үүсгэж болно.
Жишээ нь:
&prompt.root; cd /usr/src/sys/i386/conf
&prompt.root; mkdir /root/kernels
&prompt.root; cp GENERIC /root/kernels/MYKERNEL
&prompt.root; ln -s /root/kernels/MYKERNEL
Одоо MYKERNEL-ийг өөрийн дуртай текст засварлагч дээр
засаарай. Хэрэв та дөнгөж эхэлж байгаа бол байгаа цорын ганц засварлагч нь
vi байж болох бөгөөд түүнийг энд тайлбарлахад хэтэрхий
төвөгтэй боловч номын жагсаалтад
байгаа өөр олон номнуудад бичсэн байгаа. Гэхдээ &os; нь ee
гэдэг хялбар засварлагчийг санал болгодог бөгөөд хэрэв та эхлэн сурагч бол энэ нь
таны сонгох засварлагч байх болно. Өөрийн тохиргоог тусгах эсвэл GENERIC
файлаас өөрийн хийсэн өөрчлөлтүүдээс ялгахын тулд дээд хэсэгт байгаа мөрүүдийг
чөлөөтэй өөрчлөөрэй.
SunOS
Хэрэв та &sunos; эсвэл өөр BSD үйлдлийн системийн доор цөм бүтээж байсан бол
энэ файлын ихэнх хэсэг нь маш танил байх болно. Хэрэв та DOS зэрэг өөр үйлдлийн
системээс ирж байгаа бол нөгөө талаасаа GENERIC
тохиргооны файл төвөгтэй юм шиг санагдаж болох бөгөөд
Тохиргооны файл хэсгийн
тайлбаруудыг удаан нухацтай дагаарай.
Хэрэв та &os; төслийн хамгийн сүүлийн эхээр өөрийн эх модоо сүүлийн үеийн хэлбэрт авчирсан бол
шинэчлэх шатуудаа хэрэгжүүлж эхлэхээсээ өмнө /usr/src/UPDATING
файлыг үргэлж шалгаж байх нь чухал юм. Энэ файл нь шинэчилсэн эх код доторх тусгай
анхаарал шаардлагатай чухал асуудлууд эсвэл хэсгүүдийн талаар тайлбарладаг.
/usr/src/UPDATING нь үргэлж таны &os;
хувилбартай таардаг бөгөөд энэ гарын авлагаас илүү шинэ мэдээлэлтэй, сүүлийн үеийнх
байдаг.
Та цөмд зориулан эх кодоо хөрвүүлэх шаардлагатай.
Цөмийг бүтээх нь
/usr/src сан уруу орно:
&prompt.root; cd /usr/src
Цөмийг хөрвүүлнэ:
&prompt.root; make buildkernel KERNCONF=MYKERNEL
Шинэ цөмийг суулгана:
&prompt.root; make installkernel KERNCONF=MYKERNEL
Цөмийг бүтээхэд гүйцэд &os;-ийн эх мод байх шаардлагатай.
Анхдагчаар өөрчлөн тохируулсан цөмийг бүтээхэд бүх
цөмийн модулиуд бас бүтээгдэнэ. Хэрэв та цөмийг хурдан шинэчлэхийг
эсвэл зөвхөн өөрчлөн тохируулсан модулиудыг бүтээхийг хүсэж байгаа бол цөмийг бүтээж
эхлэхээсээ өмнө /etc/make.conf файлыг засварлах
хэрэгтэй:
MODULES_OVERRIDE = linux acpi sound/sound sound/driver/ds1 ntfs
Энэ хувьсагч нь бүгдийг биш бүтээх модулиудын жагсаалтыг тодорхойлдог.
WITHOUT_MODULES = linux acpi sound/sound sound/driver/ds1 ntfs
Энэ хувьсагч нь бүтээх процессод оруулахгүй байх модулиудын жагсаалтыг
тодорхойлдог. Цөмийг бүтээх процессийн явцад танд хэрэг болохуйц бусад
хувьсагчуудын тухайд &man.make.conf.5; гарын авлагын хуудсанд хандаж
үзнэ үү.
/boot/kernel.old
Шинэ цөм /boot/kernel санд
/boot/kernel/kernel нэрээр хуулагдах бөгөөд
хуучин цөм нь /boot/kernel.old/kernel уруу хуулагдана.
Одоо системийг унтраагаад шинэ цөмийг ашиглан дахин ачаал. Хэрэв ямар нэг юм болохгүй болбол
энэ бүлгийн төгсгөлд байгаа алдааг олж засварлах
заавар танд хэрэгтэй байж болох юм. Таны шинэ цөм ачаалахгүй тохиолдолд хэрхэн сэргээх
талаар тайлбарласан хэсгийг заавал уншаарай.
Ачаалах &man.loader.8; ба тохиргоо зэрэг ачаалах процесстой холбоотой бусад файлууд
/boot -д хадгалагдана. Гуравдагч этгээдийн
эсвэл өөрчлөн тохируулсан модулиуд /boot/kernel-д
байрлах бөгөөд гэхдээ модулиудыг хөрвүүлсэн цөмийн адил сүүлийн үеийн хэлбэрт байлгах нь маш чухал гэдгийг
хэрэглэгчид мэдэх шаардлагатай. Хөрвүүлсэн цөмтэй хамт ажиллуулахааргүй модулиуд нь
тогтворгүй байдал эсвэл буруу ажиллагаанд хүргэж болзошгүй юм.
Жоэл
Даль
&os; 6.X -д зориулан шинэчилсэн
Тохиргооны файл
цөм
ТЭМДЭГЛЭЛҮҮД
ТЭМДЭГЛЭЛҮҮД
цөм
тохиргооны файл
Тохиргооны файлын ерөнхий хэлбэр нь маш энгийн билээ.
Мөр болгон түлхүүр үг бөгөөд нэг болон хэд хэдэн нэмэлт өгөгдлөөс тогтоно.
Амархан болгох үүднээс ихэнх мөрүүд нь зөвхөн нэг нэмэлт өгөгдөлтэй байна.
# тэмдэгтийн ард байгаа зүйлс тайлбар бөгөөд
хаягдаж тооцогдоно. Дараах хэсэгт түлхүүр үг болгоныг GENERIC -д
жагсаасан дарааллаар нь тайлбарлаж байна.
Архитектураас хамааралтай
тохируулгууд болон төхөөрөмжийн ядраамаар жагсаалтын талаар
GENERIC файл байгаа сангийн нэгэн адил санд байрлах
NOTES файлаас үзнэ үү.
Архитектураас хамааралгүй тохируулгуудын талаар
/usr/src/sys/conf/NOTES файлаас үзнэ үү.
Тест хийх зорилгоор ихэнхдээ бүх байгаа тохируулгууд агуулсан файлыг бүтээхдээ
дараах тушаалыг root эрхээр ажиллуулна:
&prompt.root; cd /usr/src/sys/i386/conf && make LINT
цөм
тохиргооны файл
Дараах жишээ нь шаардлагатай бол тодотгох зорилгоор оруулсан төрөл бүрийн нэмэлт тайлбар бүхий
GENERIC цөмийн тохиргооны файл юм. Энэ жишээ нь
таны /usr/src/sys/i386/conf/GENERIC
дахь хуулбартай их ойрхон таарах ёстой.
цөмийн тохируулгууд
machine
machine i386
Энэ нь машины архитектур юм. Энэ нь
alpha, amd64,
i386, ia64,
pc98, powerpc, эсвэл
sparc64 -ийн аль нэг байх ёстой.
цөмийн тохируулгууд
cpu
cpu I486_CPU
cpu I586_CPU
cpu I686_CPU
Дараах тохируулга нь таны системд байгаа CPU-ийн төрлийг заана.
Та олон CPU мөртэй байж болох боловч (хэрэв, жишээ нь та
I586_CPU эсвэл I686_CPU
хоёрын алийг ашиглахаа сайн мэдэхгүй байгаа бол) өөрчлөн тохируулсан
цөмийн хувьд зөвхөн байгаа CPU-гээ заах нь зүйтэй юм. Хэрэв та өөрийн
CPU-ийн төрлийг сайн мэдэхгүй байгаа бол /var/run/dmesg.boot
файлыг шалгаж ачаалах үеийн мэдээллүүдийг үзэж болно.
цөмийн тохируулгууд
ident
ident GENERIC
Энэ нь цөмийг тодорхойлох нэр юм. Хэрэв та
түрүүний жишээнүүдэд дурдсан заавруудыг дагасан бол өөрийн цөмийг нэрлэсэн
шигээ өөрөөр хэлбэл MYKERNEL хэмээн өөрчлөх
хэрэгтэй. ident мөрд оруулсан утга нь таныг цөмийг ачаалах
үед хэвлэгдэн гарах учир та өөрийн ердийн цөмөөс шинэ цөмөө тусад нь хадгалахыг хүсвэл
шинэ цөмдөө өөр нэр өгөх нь ашигтай байдаг (өөрөөр хэлбэл та туршилтын цөм бүтээхийг
хүсвэл).
#To statically compile in device wiring instead of /boot/device.hints
#hints "GENERIC.hints" # Default places to look for devices.
&man.device.hints.5; нь төхөөрөмжүүдийн драйверуудын тохируулгуудыг
хийхэд ашиглагдана. &man.loader.8;-ийн ачаалах үе шалгах анхдагч байрлал нь
/boot/device.hints байна.
hints тохируулгыг ашиглаад та эдгээр зөвлөгөөнүүдийг
статикаар хөрвүүлж болно. Тэгэхэд /boot дотор
device.hints файл үүсгэх шаардлагагүй
болох юм.
makeoptions DEBUG=-g # Build kernel with gdb(1) debug symbols
&os; -г бүтээх ердийн процесс нь дибаг (debug) хийх мэдээллийг агуулдаг
бөгөөд цөмийг бүтээх үед тохируулгыг &man.gcc.1;
уруу өгснөөр дибаг (debug) хийх мэдээлэл идэвхждэг.
options SCHED_4BSD # 4BSD scheduler
&os; -ийн уламжлалт, анхдагч системийн төлөвлөгч/хуваарилагч. Үүнийг үлдээ.
options PREEMPTION # Enable kernel thread preemption
Цөм дэх урсгалуудыг (thread) өөр илүү өндөр давуу эрхтэй урсгалуудаар
солих боломжийг бүрдүүлнэ. Энэ нь харилцан ажиллах болон таслах урсгалуудыг
(interrupt threads) хүлээлгэлгүйгээр аль болох түргэн ажиллуулахад тусалдаг.
options INET # InterNETworking
Сүлжээний дэмжлэг. Сүлжээнд холбогдохгүй ч гэсэн энэ тохиргоог үлдээгээрэй.
Ихэнх програмууд эргэн холбогдох (loopback буюу өөрөөр хэлбэл өөрийн PC
дотор сүлжээний холболт хийх) сүлжээг шаарддаг учир энэ нь үндсэндээ зайлшгүй
шаардлагатай.
options INET6 # IPv6 communications protocols
Энэ нь IPv6 холбооны протоколуудыг идэвхжүүлдэг.
options FFS # Berkeley Fast Filesystem
Энэ нь энгийн хатуу дискний файлын систем. Энэ тохируулгыг хатуу дискнээс
ачаалах бол үлдээгээрэй.
options SOFTUPDATES # Enable FFS Soft Updates support
Энэ тохируулга нь Зөөлөн Шинэчлэлүүдийг цөм идэвхжүүлдэг бөгөөд
диск уруу бичих хандалтыг хурдасгахад тусалдаг. Хэдийгээр энэ боломжийг
цөмөөр хангадаг боловч диск дээр идэвхжүүлэх шаардлагатай.
Таны системийн дискнүүд дээр Зөөлөн Шинэчлэлүүд идэвхжсэн эсэхийг
&man.mount.8; -ийн үр дүнгээр хянаарай. Хэрэв та soft-updates
тохируулгыг олж харахгүй байгаа бол &man.tunefs.8; (одоо байгаа системийн хувьд)
эсвэл &man.newfs.8; (шинэ файлын системийн хувьд) ашиглан идэвхжүүлэх хэрэгтэй.
options UFS_ACL # Support for access control lists
Энэ тохируулга нь хандалтыг хянах жагсаалтын дэмжлэгийг цөмд идэвхжүүлдэг.
Энэ нь өргөтгөсөн шинж чанарууд ба UFS2-ийг ашиглахад
тулгуурлаж байгаа бөгөөд энэ боломжийн талаар дээр
дэлгэрэнгүй тайлбарласан байдаг. ACL-үүд эхэндээ
идэвхжүүлсэн байдаг бөгөөд хэрэв урьд нь файлын систем дээр ашиглагдаж байсан
бол хандалтыг хянах жагсаалтыг устгаж файлуудыг хамгаалсан аргыг урьдчилан тааж
болшгүй байдалт хүргэдэг учир энэ тохируулгыг хааж болохгүй.
options UFS_DIRHASH # Improve performance on big directories
Энэ тохируулга нь нэмэгдэл санах ойг зарлагадаж том сангуудад хийх дискний
үйлдлүүдийг хурдасгах ажиллагааг оруулдаг. Та том сервер эсвэл харилцан ажиллах
ажлын станцад зориулж энэ тохируулгыг ерөнхийдөө хадгалах хэрэгтэй бөгөөд
хэрэв та &os;-г санах ой чухал жижиг систем ба дискний хандалтын хурдны ач
холбогдол багатай галт хана мэтийн систем дээр ашиглаж байгаа бол устгаарай.
options MD_ROOT # MD is a potential root device
Энэ тохируулга нь санах ой дээр тулгуурласан, root төхөөрөмж болж ашиглагдах
виртуал дискний дэмжлэгийг идэвхжүүлдэг.
цөмийн тохируулгууд
NFS
цөмийн тохируулгууд
NFS_ROOT
options NFSCLIENT # Network Filesystem Client
options NFSSERVER # Network Filesystem Server
options NFS_ROOT # NFS usable as /, requires NFSCLIENT
Сүлжээний файлын систем. Хэрэв та TCP/IP-аар &unix; файлын серверээс
хуваалтыг холболт хийх төлөвлөгөөгүй бол эдгээрийг тайлбар болгон хааж болно.
цөмийн тохируулгууд
MSDOSFS
options MSDOSFS # MSDOS Filesystem
&ms-dos; файлын систем. Хэрэв та DOS хэлбэржүүлсэн хатуу дискний хуваалтыг
ачаалах үед холболт хийх төлөвлөгөөгүй бол үүнийг айлгүйгээр тайлбар болгон хааж болно.
Энэ нь дээр тайлбарласны дагуу эхний удаа DOS хуваалтыг холболт хийхэд автоматаар ачаалагдах
болно. Мөн маш сайн emulators/mtools
програм хангамж нь холболт болон салгалт хийлгүйгээр DOS уян дискнүүдэд хандах боломжийг
бүрдүүлдэг (энэ нь MSDOSFS-ийг огт шаарддаггүй).
options CD9660 # ISO 9660 Filesystem
CDROM-уудад зориулсан ISO 9660 файлын систем. Хэрэв та CDROM хөтлөгч
байхгүй эсвэл CD-ээс өгөгдлийг хааяа холболт хийдэг бол (таныг анх өгөгдлийн CD-г
холболт хийх үед динамикаар ачаалагддаг учраас) тайлбар болгож хааж болно.
Дууны CD-үүд энэ файлын системийг хэрэглэдэггүй.
options PROCFS # Process filesystem (requires PSEUDOFS)
Процессийн файлын систем. Энэ нь &man.ps.1; шиг програмууд процессуудын
ажиллаж байгаа талаар дэлгэрэнгүй мэдээлэл танд өгөх боломжийг бүрдүүлдэг
/proc дээр холболт хийгдсэн хуурамч
файлын систем юм. Ихэнх дибаг хийх ба монитор хийх хэрэгслүүд
PROCFS -гүйгээр ажиллахаар хийгдсэн байдаг:
суулгалтууд нь энэ файлын системийг анхдагчаар холболт хийхгүй, тиймээс
PROCFS-ийг ашиглах нь ихэнх тохиолдолд
шаардлагагүй байдаг.
options PSEUDOFS # Pseudo-filesystem framework
6.X цөмүүд PROCFS ашиглаж байгаа бол бас
PSEUDOFS дэмжлэгийг оруулах шаардлагатай.
options GEOM_GPT # GUID Partition Tables.
Энэ тохируулга нь нэг диск дээр их олон тооны хуваалт байх боломжийг
авчирна.
options COMPAT_43 # Compatible with BSD 4.3 [KEEP THIS!]
4.3BSD-тэй нийцтэй байх. Үүнийг энэ чигээр орхи; хэрэв үүнийг тайлбар болгож
хаавал зарим програмууд сонин ажиллаж эхэлнэ.
options COMPAT_FREEBSD4 # Compatible with &os;4
Энэ тохируулга нь &os; 5.X &i386; ба Alpha системүүд дээр &os;-ийн хуучин
хувилбарууд дээр хөрвүүлэгдсэн, хуучин системийн дуудлагуудын интерфэйсүүдийг ашигладаг
програмуудыг дэмжихэд шаардлагатай. Энэ тохируулгыг хуучин програмууд ашиглаж болзошгүй
бүх &i386; болон Alpha системүүд дээр ашиглахыг зөвлөж байна; ia64 ба &sparc64;
зэрэг 5.X дээр зөвхөн дэмжлэг хийгдсэн тавцангууд энэ тохируулгыг шаарддаггүй.
options COMPAT_FREEBSD5 # Compatible with &os;5
Энэ тохируулга нь &os; 5.X системийн дуудлагын интерфэйсүүдийг ашигладаг,
&os; 5.X хувилбарууд дээр эмхэтгэгдсэн програмуудыг &os; 6.X болон
түүнээс дараа үеийн хувилбарууд дээр дэмжихэд шаардлагатай.
options SCSI_DELAY=5000 # Delay (in ms) before probing SCSI
Энэ нь цөмийг SCSI төхөөрөмжүүдийг шалгаж эхлэхээс өмнө 5 секунд түр зогсооно. Хэрэв
та зөвхөн IDE хатуу дисктэй бол үүнийг орхиж болно, эсрэг тохиолдолд ачаалалтыг хурдасгахын
тулд энэ тоог багасгаж болно. Мэдээж та үүнийг хийгээд &os; таны SCSI төхөөрөмжүүдийг
танихгүй бол та дахин үүнийг ихэсгэж болно.
options KTRACE # ktrace(1) support
Энэ нь дибаг хийхэд ашигтай, цөмийн процессийг дагах боломжийг идэвхжүүлдэг.
options SYSVSHM # SYSV-style shared memory
Энэ тохируулга нь System V хуваалцсан санах ойн боломж бүрдүүлдэг. Энэ боломжийн
өргөн хэрэглээнүүдийн нэг нь X дэх XSHM өргөтгөл бөгөөд үүнийг график их шаарддаг олон програмууд
автоматаар илүү хурд авахын тулд ашигладаг. Хэрэв та X ашигладаг бол үүнийг заавал оруулахыг
хүсэх болно.
options SYSVMSG # SYSV-style message queues
System V мэдээллүүдийн дэмжлэг. Энэ тохируулга нь зөвхөн хэдхэн зуун байтыг
цөмд нэмдэг.
options SYSVSEM # SYSV-style semaphores
System V семафорын дэмжлэг. Нэг их өргөн ашиглагддаггүй боловч
хэдхэн зуун байтыг цөмд нэмдэг.
&man.ipcs.1; тушаалын тохируулга нь эдгээр
System V боломж бүрийг ашигласан процессуудыг жагсаадаг.
options _KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B real-time extensions
Жинхэнэ-хугацааны (real-time) өргөтгөлүүд 1993 оны &posix;-д нэмэгдсэн.Портуудын
цуглуулгаас зарим програмууд эдгээрийг ашигладаг (&staroffice;).
options KBD_INSTALL_CDEV # install a CDEV entry in /dev
Энэ тохируулга нь гарын төхөөрөмжийн цэгийг /dev-д үүсгэх боломжийг
олгоход шаардлагатай байдаг.
options ADAPTIVE_GIANT # Giant mutex is adaptive.
Giant гэдэг нь харилцан нэгийгээ оруулахгүй байх зарчмын (унтах мутекс) нэр бөгөөд
энэ нь цөмийн их эх үүсвэрүүдийг хамгаалдаг. Өнөөдөр энэ нь үйл ажиллагааны саатаж
байгаа хүлээн авах боломжгүй хэсэг бөгөөд үүнийг эх үүсвэр бүрийг хамгаалах цоожуудаар
идэвхтэйгээр сольж байгаа билээ. ADAPTIVE_GIANT тохируулга нь
хэсэг бүлэг мутексуудад Giant-ийг адаптиваар эргэхээр оруулдаг. Энэ нь урсгал (thread)
Giant мутексийг цоожлохыг хүсэж байх үед, гэхдээ энэ нь өөр CPU дээр урсгалаар цоожлогдсон
байна, эхний урсгал цоож сулрахыг хүлээн ажилласаар байна. Хэвийн үед урсгал унтаа байдалд
эргэж орох бөгөөд өөрийн дараагийн ажиллах боломжийг хүлээнэ. Та итгэлгүй байгаа бол
үүнийг орхино уу.
&os; 8.0-CURRENT болон түүнээс хожуу үеийн хувилбаруудад бүх
мутексууд нь NO_ADAPTIVE_MUTEXES тохируулгатайгаар
бүтээгдэж зохицох чадваргүй гэж тохируулагдаагүй л бол анхдагчаар адаптив буюу
зохицох чадвартай байдаг. Иймээс одоо Giant нь зохицох чадвартай
бөгөөд ADAPTIVE_GIANT тохируулга нь цөмийн тохиргооноос
хасагдсан юм.
цөмийн тохируулгууд
SMP
device apic # I/O APIC
apic төхөөрөмж нь I/O APIC-ийг тасалдал хүргэхэд ашиглах боломжийг нээдэг.
apic төхөөрөмж нь UP болон SMP цөмүүдэд хоёуланд нь ашиглагдаж болох бөгөөд
гэхдээ SMP цөмд зайлшгүй шаардлагатай. options SMP
мөрийг нэмж олон процессорын дэмжлэгийг оруулна уу.
apic төхөөрөмж нь зөвхөн i386 архитектур дээр байдаг бөгөөд
энэ тохиргооны мөрийг бусад архитектурууд дээр
ашиглах ёсгүй юм.
device eisa
Хэрэв та EISA эх хавтантай бол үүнийг оруулаарай. Энэ нь EISA шугамын бүх
төхөөрөмжүүдийн хувьд автомат илрүүлэлт болон тохиргооны дэмжлэгийг нээж өгдөг.
device pci
Хэрэв та PCI эх хавтантай бол үүнийг оруулаарай. Энэ нь PCI картуудыг автомат
илрүүлэлт болон PCI-аас ISA шугам уруу гарах дэмжлэгийг нээж өгдөг.
# Floppy drives
device fdc
Энэ нь уян диск хөтлөгчийн хянагч.
# ATA and ATAPI devices
device ata
Энэ драйвер бүх ATA болон ATAPI төхөөрөмжүүдийг дэмждэг. Орчин үеийн машинуудын
бүх PCI ATA/ATAPI төхөөрөмжүүдийг илрүүлэхийн тулд зөвхөн нэг
device ata мөр таны цөмд хэрэгтэй.
device atadisk # ATA disk drives
Энэ нь device ata мөртэй цуг ATA дискний
төхөөрөмжүүдэд хэрэгтэй.
device ataraid # ATA RAID drives
Энэ нь device ata мөртэй цуг ATA RAID
хөтлөгчүүдэд хэрэгтэй.
device atapicd # ATAPI CDROM drives
Энэ нь device ata мөртэй цуг ATA CDROM
хөтлөгчүүдэд хэрэгтэй.
device atapifd # ATAPI floppy drives
Энэ нь device ata мөртэй цуг ATA уян дискний
хөтлөгчүүдэд хэрэгтэй.
device atapist # ATAPI tape drives
Энэ нь device ata мөртэй цуг ATA соронзон хальсны
хөтлөгчүүдэд хэрэгтэй.
options ATA_STATIC_ID # Static device numbering
Энэ нь хянагчийн дугаарыг статик болгох бөгөөд энэнгүйгээр
төхөөрөмжийн дугаарууд динамикаар өгөгддөг.
# SCSI Controllers
device ahb # EISA AHA1742 family
device ahc # AHA2940 and onboard AIC7xxx devices
options AHC_REG_PRETTY_PRINT # Print register bitfields in debug
# output. Adds ~128k to driver.
device ahd # AHA39320/29320 and onboard AIC79xx devices
options AHD_REG_PRETTY_PRINT # Print register bitfields in debug
# output. Adds ~215k to driver.
device amd # AMD 53C974 (Teckram DC-390(T))
device isp # Qlogic family
#device ispfw # Firmware for QLogic HBAs- normally a module
device mpt # LSI-Logic MPT-Fusion
#device ncr # NCR/Symbios Logic
device sym # NCR/Symbios Logic (newer chipsets + those of `ncr')
device trm # Tekram DC395U/UW/F DC315U adapters
device adv # Advansys SCSI adapters
device adw # Advansys wide SCSI adapters
device aha # Adaptec 154x SCSI adapters
device aic # Adaptec 15[012]x SCSI adapters, AIC-6[23]60.
device bt # Buslogic/Mylex MultiMaster SCSI adapters
device ncv # NCR 53C500
device nsp # Workbit Ninja SCSI-3
device stg # TMC 18C30/18C50
SCSI хянагчууд. Таны системд байхгүй байгааг тайлбар болгон хаана уу.
Хэрэв та зөвхөн IDE системтэй бол эдгээр мөрүүдийг бүгдийг устгаж болно.
*_REG_PRETTY_PRINT мөрүүд нь өөр өөрийнхөө тохирох
драйверуудад зориулагдсан дибаг хийх тохируулгууд юм.
# SCSI peripherals
device scbus # SCSI bus (required for SCSI)
device ch # SCSI media changers
device da # Direct Access (disks)
device sa # Sequential Access (tape etc)
device cd # CD
device pass # Passthrough device (direct SCSI access)
device ses # SCSI Environmental Services (and SAF-TE)
SCSI захын төхөөрөмжүүд. Дахин хэлэхэд таны системд байхгүй байгааг тайлбар
болгон хаагаарай эсвэл та зөвхөн IDE тоног төхөөрөмжтэй бол эдгээр мөрүүдийг
бүгдийг устгаж болно.
USB &man.umass.4; драйвер болон бусад цөөн хэдэн драйверууд жинхэнэ
SCSI төхөөрөмжүүд биш боловч SCSI дэд системийг ашигладаг. Тийм болохоор
хэрэв цөмийн тохиргоонд тийм драйверууд орсон байвал SCSI дэмжлэгийг устгаагүй
эсэхээ шалгаарай.
# RAID controllers interfaced to the SCSI subsystem
device amr # AMI MegaRAID
device arcmsr # Areca SATA II RAID
device asr # DPT SmartRAID V, VI and Adaptec SCSI RAID
device ciss # Compaq Smart RAID 5*
device dpt # DPT Smartcache III, IV - See NOTES for options
device hptmv # Highpoint RocketRAID 182x
device rr232x # Highpoint RocketRAID 232x
device iir # Intel Integrated RAID
device ips # IBM (Adaptec) ServeRAID
device mly # Mylex AcceleRAID/eXtremeRAID
device twa # 3ware 9000 series PATA/SATA RAID
# RAID controllers
device aac # Adaptec FSA RAID
device aacp # SCSI passthrough for aac (requires CAM)
device ida # Compaq Smart RAID
device mfi # LSI MegaRAID SAS
device mlx # Mylex DAC960 family
device pst # Promise Supertrak SX6000
device twe # 3ware ATA RAID
Дэмжигдсэн RAID хянагчууд. Хэрэв танд эдгээрээс нэг нь ч байхгүй бол
тайлбар болгон хааж эсвэл устгаж болно.
# atkbdc0 controls both the keyboard and the PS/2 mouse
device atkbdc # AT keyboard controller
Гарын хянагч (atkbdc) AT гар ба PS/2 загварын заагч
төхөөрөмжүүдэд I/O үйлчилгээнүүдийг хангадаг. Энэ хянагчийг гарын драйвер
(atkbd) болон PS/2 заагч төхөөрөмжийн драйвер
(psm) шаарддаг.
device atkbd # AT keyboard
atkbd драйвер нь atkbdc
хянагчтай цуг AT гарын хянагчид залгасан AT 84 гар болон AT өргөжүүлсэн
гаруудад хандах боломж олгодог.
device psm # PS/2 mouse
Хэрэв таны хулгана PS/2 порт уруу залгагдаж байгаа бол энэ төхөөрөмжийг
ашиглана уу.
device kbdmux # keyboard multiplexer
Олон гар залгах боломжийн анхны дэмжлэг.
Хэрэв та систем дээрээ нэгээс олон гар ашиглахгүй бол энэ мөрийг аюулгүйгээр
устгаж болно.
device vga # VGA video card driver
Видео картын драйвер.
device splash # Splash screen and screen saver support
Эхлэх үе дэх хоромхон зуур гарах дэлгэц! Дэлгэц амраагчид нь үүнийг бас шаарддаг.
# syscons is the default console driver, resembling an SCO console
device sc
sc нь анхдагч консолийн драйвер бөгөөд SCO консолыг дуурайдаг.
Ихэнх бүрэн дэлгэцийн програмууд консол уруу termcap зэрэг
терминалийн өгөгдлийн баазын сангийн тусламжтайгаар ханддаг бөгөөд үүнийг ашиглах эсэх эсвэл
VT220-тай нийцтэй консол драйвер болох vt-ийг
ашиглах эсэх нь хамаагүй юм. Та нэвтэрсний дараа бүрэн дэлгэцийн програмууд энэ консол дээр ажиллахдаа
асуудалтай байвал өөрийн TERM хувьсагчаа scoansi
болгоорой.
# Enable this for the pcvt (VT220 compatible) console driver
#device vt
#options XSERVER # support for X server on a vt console
#options FAT_CURSOR # start with block cursor
Энэ нь VT100/102-той арагшаагаа нийцтэй, VT220-той нийцтэй консол драйвер юм.
Энэ нь sc-тэй нийцгүй зарим зөөврийн компьютер дээр сайн
ажилладаг. Та нэвтэрсний дараа өөрийн TERM хувьсагчаа
vt100 эсвэл vt220 болгоорой.
Мөн энэ драйвер нь sc төхөөрөмжүүдэд зориулсан
termcap эсвэл terminfo
оруулгууд ихэнхдээ байхгүй байдаг асар олон тооны өөр өөр машинууд уруу сүлжээгээр
дамжин холбогдох үед ашигтай байж болно — vt100
нь виртуалаар дурын тавцан дээр байх ёстой.
device agp
Хэрэв та систем дээрээ AGP карттай бол үүнийг оруулна уу. Энэ нь AGP болон AGP GART-ийн
дэмжлэгийг эдгээр боломжуудаас тогтсон хавтанд зориулж нээнэ.
APM
# Power management support (see NOTES for more options)
#device apm
Тэжээлийн Нарийн Удирдлагын дэмжлэг. Зөөврийн компьютеруудад ашигтай,
- гэхдээ энэ нь &os; 5.X болон түүнээс хойшх хувилбаруудад GENERIC-д
+ гэхдээ энэ нь GENERIC-д
анхдагчаар хаалттай байдаг.
# Add suspend/resume support for the i8254.
device pmtimer
APM болон ACPI зэрэг тэжээл удирдах үйл явцуудад зориулсан таймер
төхөөрөмжийн драйвер.
# PCCARD (PCMCIA) support
# PCMCIA and cardbus bridge support
device cbb # cardbus (yenta) bridge
device pccard # PC Card (16-bit) bus
device cardbus # CardBus (32-bit) bus
PCMCIA дэмжлэг. Зөөврийн компьютер ашиглаж байгаа
бол энэ танд хэрэгтэй.
# Serial (COM) ports
device sio # 8250, 16[45]50 based serial ports
Эдгээр нь &ms-dos;/&windows; ертөнцөд
COM портууд хэмээгддэг сериал портууд юм .
Хэрэв та COM4 дээр дотуур модемтой бөгөөд
COM2 дээр сериал порттой бол &os; -ээс хандахын
тулд та модемийн IRQ-г 2 (ойлгоход амаргүй техникийн шалтгаанаар, IRQ2 = IRQ 9)
болгож өөрчлөх хэрэгтэй. Хэрэв та олон порттой сериал карттай бол өөрийн
/boot/device.hints файлд нэмэх зөв утгуудын
талаар дэлгэрэнгүй мэдээллийг &man.sio.4; гарын авлагаас шалгаарай.
Зарим видео картууд (S3 бичил схем дээр үндэслэснүүдийг дурдаж болно)
0x*2e8 хэлбэртэй IO хаягуудыг ашигладаг бөгөөд
олон хямд сериал картууд 16-бит хаягийн зайг бүрэн декод хийж чаддаггүй учир
энэ нь тэдгээр карттай зөрчилдөж COM4 портыг
бараг л ашиглах боломжгүй болгодог.
Сериал порт болгон бусдаас ялгаатай IRQ -тай байх (хуваалцсан тасалдал
ашиглахыг дэмждэг олон порттой картуудын нэгийг ашиглаж байгаагаас бусад тохиолдолд)
шаардлагатай учир COM3 болон
COM4-ийн анхдагч IRQ-үүдийг ашиглаж болохгүй.
# Parallel port
device ppc
Энэ нь ISA-шугамын параллел порт интерфэйс юм.
device ppbus # Parallel port bus (required)
Параллел портын шугамын дэмжлэгийг хангадаг.
device lpt # Printer
Параллел порт хэвлэгчүүдийн дэмжлэг.
Параллел хэвлэгчийн дэмжлэгийг нээхэд дээрх гурав гурвуулаа
шаардлагатай.
device plip # TCP/IP over parallel
Энэ нь параллел сүлжээний интерфэйсд зориулсан драйвер юм.
device ppi # Parallel port interface device
Ерөнхий-зориулалтын I/O (geek port
) + IEEE1284
I/O.
#device vpo # Requires scbus and da
zip drive
Энэ нь Iomega Zip хөтлөгчид зориулагдсан юм. scbus болон
da дэмжлэгийг шаарддаг. EPP 1.9 горимд байгаа
портуудын тусламжтай хамгийн сайн ажиллагаанд хүрдэг.
#device puc
Хэрэв та &man.puc.4; цавуу драйвераар дэмжигддэг дүлий
сериал эсвэл параллел PCI карттай бол энэ төхөөрөмжийг тайлбар болгосныг
болиулаарай.
# PCI Ethernet NICs.
device de # DEC/Intel DC21x4x (Tulip
)
device em # Intel PRO/1000 adapter Gigabit Ethernet Card
device ixgb # Intel PRO/10GbE Ethernet Card
device txp # 3Com 3cR990 (Typhoon
)
device vx # 3Com 3c590, 3c595 (Vortex
)
Төрөл бүрийн PCI сүлжээний картуудын драйверууд. Эдгээрээс таны системд байхгүйг
тайлбар болгон хааж эсвэл устгаарай.
# PCI Ethernet NICs that use the common MII bus controller code.
# NOTE: Be sure to keep the 'device miibus' line in order to use these NICs!
device miibus # MII bus support
MII шугамын дэмжлэг нь зарим PCI 10/100 Ethernet NIC-үүдэд шаардлагатай
бөгөөд тухайлбал MII-д нийцтэй дамжуулагч-хүлээн авагчууд эсвэл MII-тэй адил
ажилладаг дамжуулагч-хүлээн авагчийн хяналтын интерфэйсүүдийг дурдаж болно.
device miibus мөрийг цөмийн тохиргоонд нэмснээр
ердийн miibus API болон тусдаа драйвераар дэмжигдээгүй PHY-уудад зориулсан
ердийн драйвер зэрэг бүх PHY драйверуудын дэмжлэгийг оруулах болно.
device bce # Broadcom BCM5706/BCM5708 Gigabit Ethernet
device bfe # Broadcom BCM440x 10/100 Ethernet
device bge # Broadcom BCM570xx Gigabit Ethernet
device dc # DEC/Intel 21143 and various workalikes
device fxp # Intel EtherExpress PRO/100B (82557, 82558)
device lge # Level 1 LXT1001 gigabit ethernet
device msk # Marvell/SysKonnect Yukon II Gigabit Ethernet
device nge # NatSemi DP83820 gigabit ethernet
device nve # nVidia nForce MCP on-board Ethernet Networking
device pcn # AMD Am79C97x PCI 10/100 (precedence over 'lnc')
device re # RealTek 8139C+/8169/8169S/8110S
device rl # RealTek 8129/8139
device sf # Adaptec AIC-6915 (Starfire
)
device sis # Silicon Integrated Systems SiS 900/SiS 7016
device sk # SysKonnect SK-984x & SK-982x gigabit Ethernet
device ste # Sundance ST201 (D-Link DFE-550TX)
device stge # Sundance/Tamarack TC9021 gigabit Ethernet
device ti # Alteon Networks Tigon I/II gigabit Ethernet
device tl # Texas Instruments ThunderLAN
device tx # SMC EtherPower II (83c170 EPIC
)
device vge # VIA VT612x gigabit ethernet
device vr # VIA Rhine, Rhine II
device wb # Winbond W89C840F
device xl # 3Com 3c90x (Boomerang
, Cyclone
)
MII шугамын хянагчийн кодыг ашигладаг драйверууд.
# ISA Ethernet NICs. pccard NICs included.
device cs # Crystal Semiconductor CS89x0 NIC
# 'device ed' requires 'device miibus'
device ed # NE[12]000, SMC Ultra, 3c503, DS8390 cards
device ex # Intel EtherExpress Pro/10 and Pro/10+
device ep # Etherlink III based cards
device fe # Fujitsu MB8696x based cards
device ie # EtherExpress 8/16, 3C507, StarLAN 10 etc.
device lnc # NE2100, NE32-VL Lance Ethernet cards
device sn # SMC's 9000 series of Ethernet chips
device xe # Xircom pccard Ethernet
# ISA devices that use the old ISA shims
#device le
ISA Ethernet драйверууд. Аль картууд аль драйвераар дэмжигддэг талаар дэлгэрэнгүйг
/usr/src/sys/i386/conf/NOTES-ээс
харна уу.
# Wireless NIC cards
device wlan # 802.11 support
802.11-ийн ерөнхий дэмжлэг. Энэ мөр нь утасгүй сүлжээнд
шаардлагатай.
device wlan_wep # 802.11 WEP support
device wlan_ccmp # 802.11 CCMP support
device wlan_tkip # 802.11 TKIP support
802.11 төхөөрөмжүүдэд зориулагдсан криптограф дэмжлэг.
Хэрэв та шифрлэлт болон 802.11i нууцлалын протоколуудыг
ашиглахаар шийдсэн бол эдгээр мөрүүд шаардлагатай.
device an # Aironet 4500/4800 802.11 wireless NICs.
device ath # Atheros pci/cardbus NIC's
device ath_hal # Atheros HAL (Hardware Access Layer)
device ath_rate_sample # SampleRate tx rate control for ath
device awi # BayStack 660 and others
device ral # Ralink Technology RT2500 wireless NICs.
device wi # WaveLAN/Intersil/Symbol 802.11 wireless NICs.
#device wl # Older non 802.11 Wavelan wireless NIC.
Төрөл бүрийн утасгүй сүлжээний картуудын дэмжлэг.
# Pseudo devices
device loop # Network loopback
Энэ нь TCP/IP-д зориулсан өөртөө эргэн холбогдох ерөнхий төхөөрөмж юм.
Хэрэв та localhost (өөрөөр бас 127.0.0.1) уруу telnet эсвэл FTP хийвэл
энэ нь тань уруу энэ төхөөрөмжөөр эргэж ирнэ.Энэ нь
зайлшгүй шаардлагатай.
device random # Entropy device
Шифрлэлтийн хувьд аюулгүй дурын тоо үүсгэгч.
device ether # Ethernet support
Танд Ethernet карт байгаа тохиолдолд зөвхөн ether хэрэгтэй.
Энэ нь ерөнхий Ethernet протоколын кодыг агуулдаг.
device sl # Kernel SLIP
sl нь SLIP-ийн дэмжлэг юм. Энэ нь хялбар
суулгаж тохируулдаг, модемоос модем уруу холболт хийхэд илүү зохицсон, илүү
чадалтай PPP-ээр бараг бүхэлдээ солигдсон юм.
device ppp # Kernel PPP
Энэ нь дайл-ап холболтын цөм дэх PPP дэмжлэгт зориулагдсан. Мөн
tun-ийг ашиглаж илүү уян хатан чанар болон шаардлагаар
залгах зэрэг боломжууд бүхий PPP-ийн хэрэглэгчийн талбарын програм маягаар
хийгдсэн хувилбар ч бас байдаг.
device tun # Packet tunnel.
Энэ хэрэглэгчийн талбарын PPP програм хангамжид ашиглагддаг.
Дэлгэрэнгүй мэдээллийг энэ номын PPP
хэсгээс үзнэ үү.
device pty # Pseudo-ttys (telnet etc)
Энэ нь псевдо-терминал
эсвэл жинхэнэ биш (simulated) нэвтрэх порт юм.
Энэ нь ирж байгаа telnet болон
rlogin сессүүд, xterm,
болон Emacs зэрэг бусад програмуудад
ашиглагддаг.
device md # Memory disks
Санах ойн диск псевдо-төхөөрөмжүүд.
device gif # IPv6 and IPv4 tunneling
Энэ нь IPv4 дээгүүрх IPv6, IPv6 дээгүүрх IPv4,
IPv4 дээгүүрх IPv4, болон IPv6 дээгүүрх IPv6 хоолойнуудыг хийдэг.
gif төхөөрөмж нь авто-клон
хийх чадвартай бөгөөд төхөөрөмжийн цэгүүдийг хэрэгцээгээрээ үүсгэдэг.
device faith # IPv6-to-IPv4 relaying (translation)
Энэ псевдо-төхөөрөмж нь түүн уруу илгээсэн пакетуудыг барьж аваад
IPv4/IPv6 хувиргагч дэмон уруу замыг өөрчлөн явуулдаг.
# The `bpf' device enables the Berkeley Packet Filter.
# Be aware of the administrative consequences of enabling this!
# Note that 'bpf' is required for DHCP.
device bpf # Berkeley packet filter
Энэ нь Беркли Пакет Шүүгч юм. Энэ псевдо-төхөөрөмж нь
цацаж байгаа сүлжээн (өөрөөр хэлбэл Ethernet) дэх бүх пакетуудыг барьж авдаг,
бүгдийг сонсох горимд сүлжээний интерфэйсүүдийг шилжүүлэх боломж олгодог.
Эдгээр пакетуудыг дискэнд хадгалах болон эсвэл &man.tcpdump.1; програмаар
шалгаж болно.
Анхдагч чиглүүлэгчийн (гарц) болон бусад IP хаягийг
&man.dhclient.8; олж авахад &man.bpf.4; төхөөрөмжийг бас ашигладаг.
Хэрэв та DHCP ашиглаж байгаа бол үүнийг тайлбар болголгүй орхиорой.
# USB support
device uhci # UHCI PCI->USB interface
device ohci # OHCI PCI->USB interface
device ehci # EHCI PCI->USB interface (USB 2.0)
device usb # USB Bus (required)
#device udbp # USB Double Bulk Pipe devices
device ugen # Generic
device uhid # Human Interface Devices
device ukbd # Keyboard
device ulpt # Printer
device umass # Disks/Mass storage - Requires scbus and da
device ums # Mouse
device ural # Ralink Technology RT2500USB wireless NICs
device urio # Diamond Rio 500 MP3 player
device uscanner # Scanners
# USB Ethernet, requires mii
device aue # ADMtek USB Ethernet
device axe # ASIX Electronics USB Ethernet
device cdce # Generic USB over Ethernet
device cue # CATC USB Ethernet
device kue # Kawasaki LSI USB Ethernet
device rue # RealTek RTL8150 USB Ethernet
Төрөл бүрийн USB төхөөрөмжүүдийн дэмжлэг.
# FireWire support
device firewire # FireWire bus code
device sbp # SCSI over FireWire (Requires scbus and da)
device fwe # Ethernet over FireWire (non-standard!)
Төрөл бүрийн Firewire төхөөрөмжүүдийн дэмжлэг.
&os;-ийн дэмждэг нэмэлт төхөөрөмжүүдийн талаар дэлгэрэнгүй мэдээллийг
/usr/src/sys/i386/conf/NOTES
файлаас үзнэ үү.
Том санах ойн тохируулгууд (PAE)
Физик хаягийн өргөтгөлүүд
(PAE)
том санах ой
Том санах ой бүхий машинууд Хэрэглэгч+Цөмийн Виртуал хаягийн зайн
(KVA) 4 гигабайт хязгаараас их уруу хандах
шаардлагатай байдаг. Энэ хязгаараас болоод Интел &pentium; Pro болон
сүүлийн үеийн CPU-үүдэд 36 битийн физик хаягийн зайд хандах дэмжлэгийг нэмсэн.
&intel; &pentium; Pro болон сүүлийн үеийн CPU-үүдийн
Физик Хаягийн Өргөтгөл (PAE) боломж нь 64 гигабайт хүртэлх
санах ойн тохиргоог зөвшөөрдөг. &os; нь энэхүү боломжийг &os;-ийн
одоо байгаа бүх гаргасан хувилбаруудын цөмийн тохиргооны
тохируулгаар дэмждэг. Интелийн санах ойн
архитектурын хязгаараас болж 4 гигабайтаас дээш болон доош санах
ойн ялгаа байхгүй. 4 гигабайтаас дээшхи санах ой нь ашиглаж болох
санах ойн санд нэмэгддэг.
PAE дэмжлэгийг цөмд нээхдээ
цөмийн тохиргооны файлд дараах мөрийг нэмнэ:
options PAE
&os; дэх PAE дэмжлэг зөвхөн
&intel; IA-32 процессоруудад байдаг. Мөн &os; дэх
PAE дэмжлэг нь өргөн шалгагдаагүй бөгөөд
&os;-ийн бусад тогтвортой боломжуудтай харьцуулахад бета чанарынхад
тооцогддог.
&os; дэх PAE дэмжлэг нь цөөн хэдэн хязгааруудтай:
VM зайн 4 гигабайтаас илүүд процесс хандаж чадахгүй.
Модул болон цөмийн бүтээх ажлын хүрээний ялгаатай байдлаас болж
KLD модулиудыг PAE
идэвхжүүлсэн цөмд ачаалж болохгүй.
&man.bus.dma.9; интерфэйс ашигладаггүй төхөөрөмжийн драйверууд
PAE-г идэвхжүүлсэн цөм дээр өгөгдлийн эвдрэлийг
үүсгэх бөгөөд ашиглахыг зөвлөдөггүй юм. Ийм учраас PAE-г
идэвхжүүлсэн цөм дээр ажилладаггүй бүх драйверуудыг оруулаагүй
PAE цөмийн тохиргооны файл &os;-д байдаг.
Зарим нэг тохируулгууд санах ойн эх үүсвэрийн хэрэглээг физик санах ойн
хэмжээгээр тодорхойлдог. Эдгээр тохируулгууд нь PAE
системийн их санах ойгоос болж хэрэгцээгүй илүү санах ойг гаргадаг.
Тийм нэг жишээнүүдийн нэг нь sysctl-ийн
тохируулга бөгөөд энэ нь цөм дэх хамгийн их байж болох vnode-уудын тоог хянадаг.
Энэ болон бусад тохируулгуудын утгыг боломжийн утгаар тааруулахыг зөвлөж байна.
Магадгүй цөмийн виртуал хаягийн (KVA) зайг ихэсгэх
эсвэл KVA-ийн шавхалтад хүргэхгүйн тулд байнга их ашиглагддаг
(дээр дурдсаныг харна уу) цөмийн эх үүсвэрийн хэмжээг багасгах шаардлагатай
байж болох юм. цөмийн тохируулга нь
KVA зайг ихэсгэхэд ашиглагдаж болно.
Ажиллагаа болон тогтвортой байдлыг хангах үүднээс &man.tuning.7; гарын
авлагатай танилцахыг зөвлөж байна. &man.pae.4; гарын авлага нь
&os;-ийн PAE дэмжлэгийн тухай хамгийн сүүлийн
үеийн мэдээллийг агуулдаг.
Хэрэв ямар нэг юм буруутвал
Өөрчлөн тохируулсан цөмийг бүтээж байх үед 4 төрлийн асуудал гарч
болзошгүй байдаг. Тэдгээр нь:
config амжилтгүй болох:
Хэрэв таныг цөмийн тайлбарыг &man.config.8;-т өгөхөд тушаал
амжилтгүй болбол та хаа нэгтээ энгийн алдаа хийсэн болов уу.
Аз болоход &man.config.8; асуудалтай байгаа мөрийн дугаарыг
хэвлэх учир та алдаатай мөрийг хурдан олох болно. Жишээ нь,
хэрэв та доор дурдсаныг харвал:
config: line 17: syntax error
Түлхүүр үг зөв бичигдсэн эсэхийг GENERIC
цөм болон бусад баримтаас харьцуулан шалгаж үзээрэй.
make амжилтгүй болох:
Хэрэв make тушаал амжилтгүй болбол
энэ ихэвчлэн цөмийн тайлбар дахь &man.config.8;-ийн олж
чадахааргүй тийм ч ноцтой бус алдааг дохиолдог. Дахин хэлэхэд,
өөрийн тохиргоог нягтлаарай, тэгээд хэрэв та асуудлыг шийдэж чадахгүй
бол &a.questions; уруу өөрийн цөмийн тохиргоотой цахим захидал
илгээгээрэй, ингэхэд хурдан шинжилгээ хийгдэх болно.
Цөм ачаалахгүй байх:
Хэрэв таны шинэ цөм ачаалахгүй бол эсвэл таны төхөөрөмжүүдийг танихгүй
байгаа бол бүү цочирд! Аз болоход &os; нийцгүй цөмүүдээс сэргэхэд
зориулсан маш сайн механизмтай байдаг. Ердөө л &os;-ийн ачаалагчаас
ачаалах цөмөө сонгоно. Системийн ачаалах меню гарч ирэх үед та үүнд
хандах боломжтой болно. Escape to a loader prompt
тохируулга 6-ын тоог сонго. Тушаал хүлээх мөрөн дээр unload kernel
гэж бичээд boot /boot/kernel.old/kernel
эсвэл зөв ачаалах өөр бусад цөмийн файлын нэрийг бичээрэй. Цөмийг дахин
тохируулах явцдаа ажилладаг цөмийг гарын дор хадгалж байх нь үргэлж
ухаалаг санаа байдаг.
Сайн цөмийг ачаалсныхаа дараа та өөрийн тохиргооны файлаа дахин шалгаж
цөмөө дахин бүтээхээр оролдоорой. Нэг тус дэм болох эх үүсвэр бол
бусад зүйлсээс гадна амжилттай ачаалалт бүр дэх цөмийн бүх мэдээллүүдийн
бичлэгийг хийдэг /var/log/messages файл юм.
Мөн &man.dmesg.8; тушаал нь сүүлийн ачаалалт дахь цөмийн мэдээллүүдийг
хэвлэдэг.
Хэрэв та цөмийг бүтээхэд асуудалтай байгаа бол
GENERIC болон өөр бусад ажилладаг
цөмийг дараагийн бүтээх явцад устгагдахааргүй өөр нэртэйгээр
гарын дор хадгалж байгаарай. Та kernel.old
-д найдаж болохгүй, учир нь шинэ цөмийг суулгах явцад
kernel.old нь хамгийн сүүлд
суулгагдсан бөгөөд магадгүй ажиллагаагүй тийм цөмөөр дарагдан
бичигддэг. Ажилладаг цөмийг зөв /boot/kernel
байр уруу аль болох хурдан шилжүүлээрэй, эсвэл &man.ps.1; зэрэг
тушаалууд зөв ажиллахгүй байж магадгүй юм. Ингэхийн тулд
сайн цөм байгаа сангийн нэрийг өөрчлөөрэй:
&prompt.root; mv /boot/kernel /boot/kernel.bad
&prompt.root; mv /boot/kernel.good /boot/kernel
Цөм ажиллах боловч &man.ps.1; ажиллахгүй болох:
Хэрэв та системийн хэрэгслүүд бүтээсэн хувилбараас өөр цөмийн хувилбарыг
суулгасан бол, жишээ нь -RELEASE дээр -CURRENT цөм бүтээсэн бол
системийн төлвийн тушаалууд болох &man.ps.1; болон &man.vmstat.8;
зэрэг нь ажиллахаа больно. Та өөрийн цөмтэйгөө адил хувилбарын эх модтой
бүтээгдсэн ертөнцийг дахин хөрвүүлж суулгах
хэрэгтэй. Энэ нь нэг шалтгаан бөгөөд ерөнхийдөө үйлдлийн системийн бусад
зүйлсээс өөр хувилбарын цөмийг ашиглах нь тийм ч сайн санаа биш юм.
diff --git a/mn_MN.UTF-8/books/handbook/mail/chapter.sgml b/mn_MN.UTF-8/books/handbook/mail/chapter.sgml
index de5aadefc3..84d5a0b349 100644
--- a/mn_MN.UTF-8/books/handbook/mail/chapter.sgml
+++ b/mn_MN.UTF-8/books/handbook/mail/chapter.sgml
@@ -1,2309 +1,2233 @@
Билл
Ллойд
Эхийг зохиосон
Жим
Мок
Дахин эмхэтгэсэн
Лодойсамбын
Баянзул
Орчуулсан
Цахим Шуудан
Ерөнхий Агуулга
email
Цахим Захидал
буюу имэйл гэж нийтэд илүүтэй танигдсан энэ зүйл нь
өнөө үед хамгийн өргөн хэрэглэгдэх болсон харилцааны хэлбэр юм.
Энэ бүлэгт &os; дээр захидлын серверийг зохион байгуулах анхан
шатны танилцуулга болон &os; ашиглан цахим захидал илгээх болон
хүлээн авах талаар үзэх болно; гэвч, энэ нь бүрэн хэмжээний танилцуулга
болж чадахгүй бөгөөд олон чухал зүйлсийг оруулаагүй болно.
Энэ сэдвээр бүрэн дүүрэн мэдээлэл авахыг хүсвэл,
хэсэгт байгаа номнуудын жагсаалтыг үзнэ үү.
Энэ бүлгийг уншсаны дараа та дараах зүйлсийг мэдэж авах болно:
Цахим захидал хүлээн авах болон илгээхэд
ямар програмууд оролцдог талаар
sendmail-н үндсэн тохиргооны файлууд
FreeBSD дээр хаана байрладаг талаар
Алсын болон дотоодын захидлын хайрцгуудын ялгаа
Спам тараагчдыг өөрийн серверийг хууль бусаар дамжуулагч (relay) болгон
ашиглахаас хэрхэн сэргийлэх талаар
sendmail-н оронд өөр
Захидал Дамжуулах Агентийг хэрхэн суулгаж тохируулах талаар
Захидлын сервертэй холбоотой түгээмэл тохиолддог асуудлуудыг
хэрхэн шийдвэрлэх талаар
SMTP-г UUCP-тэй хэрхэн ашиглах
Системийг хэрхэн зөвхөн захидал илгээдэг болгож тохируулах талаар
Утасны үзүүр ашигласан холболтоор захидлыг хэрхэн хэрэглэх талаар
Аюулгүй байдлыг нэмэгдүүлэхийн тулд SMTP Магадлалтыг хэрхэн нэмэх талаар
mutt гэх мэт Хэрэглэгчийн Захидлын Агентийг хэрхэн
суулгаж тохируулах талаар
Өөрт ирсэн захидлыг алсын POP эсвэл IMAP
серверээс хэрхэн татаж авах талаар
Гаднаас ирэх захидлыг хэрхэн автоматаар шүүлтүүр болон
дүрмүүдээр шалгах талаар
Энэ бүлгийг уншихын өмнө та дараах шаардлагыг хангасан байх ёстой:
Сүлжээний холболтоо зөв гүйцэтгэсэн байх ().
Захидлын хост дээрээ DNS мэдээллийг зөв оруулж өгсөн байх ().
Гуравдагч этгээдийн програмыг хэрхэн суулгах талаар мэдлэгтэй байх ().
Цахим Захидлыг Хэрэглэх нь
POP
IMAP
DNS
Цахим захидал солилцоход дараах үндсэн таван бүрэлдэхүүн оролцоно.
Үүнд: хэрэглэгчийн програм, сервер дэмон,
DNS, алсын эсвэл дотоод захидлын хайрцаг
ба мэдээж захидлын хост өөрөө юм.
Хэрэглэгчийн Програм
Захаас нь эхлээд дурдвал эдгээрт mutt, pine,
elm, mail зэрэг тушаалын мөрний програмууд,
мөн balsa, xfmail зэрэг GUI програмууд,
дээр нь WWW хөтөч зэрэг илүү нарийн төвөгтэй
програмууд ч орно.
Дээрх програмууд нь цахим захидлын гүйлгээг дотоод
захидлын хост
-од сервер
демонуудын аль нэгийг дуудан шилжүүлэн өгөх, эсвэл TCP-р
дамжуулан очих газар нь хүргэх ажлыг гүйцэтгэдэг.
Захидлын Хостын Сервер Демон
захидлын серверийн дэмонууд
sendmail
захидлын серверийн дэмонууд
postfix
захидлын серверийн дэмонууд
qmail
захидлын серверийн дэмонууд
exim
&os; нь анхдагч байдлаар sendmail-г агуулсан байдаг,
гэхдээ бусад олон захидлын серверийн дэмонг дэмждэг. Үүнээс заримыг
дурдвал:
exim;
postfix;
qmail.
Сервер дэмон ихэвчлэн хоёр үүрэг гүйцэтгэнэ—гаднаас ирж байгаа
захидлыг хүлээн авах болон гадагшаа явж байгаа захидлыг очих газар нь
хүргэх үүрэгтэй. Сервер дэмон нь захидлаа уншихын тулд POP эсвэл
IMAP зэрэг протоколыг ашиглан захидлыг цуглуулж авах, эсвэл
дотоод mbox эсвэл Maildir захидлын хайрцгууд руу холбогдох зэргийн
аль алиных нь үүргийг хүлээдэггүй. Үүний тулд нэмэлт
дэмон шаардлагатай.
sendmail-н хуучин хувилбаруудад
халдагч таны машины дотоод болон алсын хандалтыг гартаа
оруулж болох аюулгүй байдлын хувьд хүндхэн асуудлууд гарч байсан.
Иймэрхүү асуудал гарахаас сэргийлж хамгийн сүүлийн хувилбарыг
ашиглаж байгаа эсэхээ нягтлах шаардлагатай. Нэмэлт сонголт байдлаар,
өөр MTA-г &os; Портуудын Цуглуулгаас суулгаарай.
Цахим Захидал ба DNS
Домэйн Нэрийн Систем (DNS) ба түүний дэмон named нь
цахим захидлыг хүргэх ажилд чухал үүрэг гүйцэтгэдэг. Танай байгаа газраас
өөр тийш захидал хүргэхийн тулд, сервер дэмон очих газрын хаягийг өөрөөр хэлбэл
захидал хүлээж авах хостыг DNS-с асууна. Энэ үйл явц нөгөө талаас танд захидал
явуулахад мөн давтагдана.
MX бичлэг
DNS нь хост нэрийг IP хаягт буулгах үүрэгтэйгээс гадна,
MX бичлэгүүд гэгддэг захидал хүргэхтэй холбоотой тусгай мэдээллийг
агуулж байдаг. MX (Mail eXchanger буюу Захидал Солилцогч) бичлэг нь
ямар хост, эсвэл хостууд, тухайн домэйны хаяглагдсан захидлыг
хүлээж авах ёстойг заана. Хэрэв тухайн домэйны хувьд MX бичлэг
байхгүй бол, захидлуудыг тухайн домэйноор нэрлэгдсэн хостын
A бичлэгт харгалзах хост руу шууд дамжуулна.
Ямар ч домэйны хувьд MX бичлэгүүдийг &man.host.1; тушаалыг ашиглан
үзэж болно. Жишээг дор үзүүлэв:
&prompt.user; host -t mx FreeBSD.org
FreeBSD.org mail is handled (pri=10) by mx1.FreeBSD.org
Захидал хүлээн авах нь
цахим захидал
хүлээн авах
Захидал хүлээж авах ажлыг захидлын хост гүйцэтгэнэ.
Энэ хост таны домэйнд хаяглагдсан бүх захидлыг хүлээж авах ба
түүнийг таны тохиргооноос хамаарч эсвэл mbox
(захидал хадгалах анхдагч арга зам) эсвэл Maildir хэлбэрээр хадгална.
Захидлыг хадгалсан л бол, түүнийг дотоодоос
&man.mail.1; эсвэл mutt зэрэг програмыг ашиглан уншиж болно.
Эсвэл алсаас хандан, POP эсвэл IMAP зэрэг протоколыг
ашиглан цуглуулж авсны дараа уншиж болно. Энэ нь хэрэв та захидлаа зөвхөн
дотоодоос шалгах хүсэлтэй байгаа бол, POP эсвэл
IMAP сервер суулгах шаардлагагүй гэсэн үг юм.
POP ба IMAP ашиглан алсын захидлын хайрцагт хандах нь
POP
IMAP
Захидлын хайрцагт алсаас хандахын тулд,
та POP эсвэл IMAP сервер руу хандах хэрэгтэй болно.
Эдгээр протоколууд нь хэрэглэгчдэд өөрсдийн захидлын хайрцагт
алсаас төвөггүйгээр хандах боломжийг олгодог. Хэдийгээр
POP ба IMAP хоёул хэрэглэгчдэд
захидлын хайрцагтаа алсаас хандах боломжийг олгодог боловч,
IMAP нь илүү давуу талтай, дурдвал:
IMAP нь алсын серверээс захидлыг зөөж авчрахаас гадна
мөн хадгалж чадна.
IMAP нь зэрэг хийх өөрчлөлтийг дэмждэг.
IMAP нь захидлыг бүтнээр нь биш, зөвхөн түүний
төрхийг нь татаж авах боломжийг хэрэглэгчдэд олгодог тул,
хурд удаантай холболттой үед үнэхээр хэрэгтэй байж чаддаг.
Мөн сервер болон харилцагчийн хооронд дамжих өгөгдлийг хамгийн
бага байлгахын тулд, сервер дээр хайлт явуулах зэрэг үйлдлийг хийж чаддаг.
POP эсвэл IMAP сервер суулгахын тулд,
дараах алхмуудыг хийх хэрэгтэй:
Өөрийнхөө хэрэгцээ, шаардлагад тохирсон
IMAP эсвэл POP серверийг сонгож авах.
Өргөн хэрэглэгддэг зарим POP ба IMAP серверүүдийг
жишээ болгон дурдвал:
qpopper;
teapop;
imap-uw;
courier-imap;
Өөрийн сонгосон POP эсвэл IMAP дэмонг
портуудын цуглуулгаас суулгах.
Шаардлагатай бол, POP эсвэл IMAP серверийг
ачаалахын тулд /etc/inetd.conf файлыг засварлах.
POP ба IMAP хоёул хэрэглэгчийн нэр, нэвтрэх үг
зэрэг чухал мэдээллийг цэвэр текст чигээр нь
дамжуулдаг болохыг энд тэмдэглэх хэрэгтэй болов уу. Энэ нь эдгээр протоколоор
мэдээлэл дамжуулалтыг аюулгүй болгоё гэвэл сессүүдээ &man.ssh.1; хонгилоор
дамжуулах хэрэгтэй гэсэн үг юм. Сессүүдийг хонгилоор дамжуулах талаар
хэсэгт тайлбарласан байгаа.
Дотоод захидлын хайрцгуудад хандах нь
Захидлын хайрцаг байрлаж байгаа сервер дээрх
MUA-уудын тусламжтай захидлын хайрцгуудад
дотоодоос нь шууд хандаж болно. Үүний тулд mutt эсвэл
&man.mail.1; зэрэг програмуудыг ашиглана.
Захидлын хост
захидлын хост
Захидлын хост гэж таны хост, магадгүй таны сүлжээнд хаяглагдсан
захидлыг хүлээн авах, илгээх үүргийг гүйцэтгэж байгаа
серверийг нэрлэнэ.
Кристофер
Шамвэй
Хувь нэмрээ оруулсан
Лодойсамбын
Баянзул
Орчуулсан
sendmail-г Тохируулах нь
sendmail
FreeBSD-н хувьд &man.sendmail.8; бол анхдагч Mail Transfer Agent буюу Захидал Дамжуулах
Агент(MTA) юм. sendmail-н үүрэг бол Mail User Agent буюу Хэрэглэгчийн
Захидлын Агент(MUA)-с захидал хүлээн авч, тохиргооны файлд хэрхэн
зааж өгснөөс хамааран зохих захидал түгээгчид дамжуулна.
sendmail нь мөн сүлжээний холболтуудыг хүлээн авч,
захидлыг дотоод захидлын хайрцагт эсвэл өөр програмд дамжуулах чадвартай.
sendmail дараах тохиргооны файлуудыг ашигладаг:
/etc/mail/access
/etc/mail/aliases
/etc/mail/local-host-names
/etc/mail/mailer.conf
/etc/mail/mailertable
/etc/mail/sendmail.cf
/etc/mail/virtusertable
Файлын Нэр
Үүрэг
/etc/mail/access
sendmail-н хандалтын өгөгдлийн сангийн файл
/etc/mail/aliases
Захидлын хайрцагны хуурамч дүрүүд
/etc/mail/local-host-names
sendmail эдгээр хостуудаас захидал хүлээж авна.
/etc/mail/mailer.conf
Захидал түгээгч програмын тохиргоо
/etc/mail/mailertable
Захидал түгээгчийн түгээлтийн хүснэгт
/etc/mail/sendmail.cf
sendmail-н гол тохиргооны файл
/etc/mail/virtusertable
Хийсвэр хэрэглэгчид болон домэйн хүснэгтүүд
/etc/mail/access
Хандалтын өгөгдлийн санд ямар хостууд болон IP хаягуудаас
дотоод захидлын серверт хандах, ямар төрлийн хандалт хийхийг зааж
өгсөн байна. Хостуудыг , , гэж тэмдэглэж
болно эсвэл sendmail-н алдаа зохицуулах дэгд тодорхой алдааг зааж
өгөн дамжуулж болно. гэсэн анхдагч утгаар тэмдэглэгдсэн
хостууд энэ хостод хаяглагдсан захидлыг дамжуулах эрхтэй.
гэж тэмдэглэгдсэн хостуудаас үүсэх холболтыг хүлээж авахгүй.
гэж тэмдэглэгдсэн хостуудын хувьд энэ захидлын серверээр
дамжуулан хааш нь ч хамаагүй захидал илгээж болно.
sendmail Хандалтын Өгөгдлийн санг Тохируулах нь
cyberspammer.com 550 We do not accept mail from spammers
FREE.STEALTH.MAILER@ 550 We do not accept mail from spammers
another.source.of.spam REJECT
okay.cyberspammer.com OK
128.32 RELAY
Энэ жишээн дээр бид таван бүртгэл харж байна.
Захидал илгээгчийн хувьд хүснэгтийн зүүн баганад байгаа утгатай дүйвэл
баруун баганад байгаа үйлдлийг гүйцэтгэнэ. Эхний хоёр жишээний хувьд
sendmail-н алдаа зохицуулах дэгд алдааны мэдээллийг өгөх болно.
Хүснэгтийн зүүн баганад байгаа утгатай захидал дүйсэн тохиолдолд
алсын хостод энэ мэдээллийг өгөх болно. Дараагийн жишээн дээр,
another.source.of.spam гэсэн тодорхой хостоос ирэх захидлыг бүгдийг буцаах болно.
Түүний дараагийн жишээн дээр, okay.cyberspammer.com гэсэн хостоос
ирэх холболтуудыг хүлээж авах болно. Энд хостын нэр өмнөх мөрний
cyberspammer.com-г бодвол илүү тодорхой байна. Илүү тодорхой
заалт нь ерөнхий заалтыг дарж хүчингүй болгоно. Хамгийн сүүлийн жишээн дээр,
128.32-р эхэлсэн IP хаягтай хостуудаас ирэх захидлыг өртөөлөн дамжуулахыг
зааж байна. Эдгээр хостууд бусад серверт
хаягласан захидлыг энэ захидлын серверээр дамжуулах боломжтой гэсэн үг юм.
Энэ файлд өөрчлөлт оруулсны дараа, /etc/mail/ дотор
make тушаалыг өгөн өгөгдлийн санг шинэчлэх хэрэгтэй.
/etc/mail/aliases
Хуурамч дүрүүдийн өгөгдлийн санд хэрэглэгчид, файлууд,
програмууд эсвэл бусад хуурамч дүрүүд рүү задардаг хийсвэр захидлын
хайрцгуудын жагсаалтыг хадгалж байдаг. /etc/mail/aliases дотор
хэрэглэж болох хэдэн жишээг дор үзүүлэв:
Захидлын Хуурамч дүрүүд
root: localuser
ftp-bugs: joe,eric,paul
bit.bucket: /dev/null
procmail: "|/usr/local/bin/procmail"
Бичих хэлбэр нь амархан; тодорхойлох хоёр цэгний зүүн талд
байгаа захидлын хайрцагны нэр нь баруун талд байгаа зүйл болон задарна.
Эхний жишээн дээр root захидлын хайрцгийг localuser
захидлын хайрцаг болгон задалж байна. Энэ нэрийг цааш дахин
хуурамч дүрийн өгөгдлийн сангаас хайх болно. Хэрэв энэ нэр олдохгүй бол,
захидлыг localuser нэртэй дотоод хэрэглэгчид хүргэх болно.
Дараагийн жишээн дээр захидлын жагсаалтыг үзүүлсэн байна. ftp-bugs
захидлын хайрцагт ирэх захидлыг joe, eric, ба
paul гэсэн гурван дотоод хэрэглэгчдэд задлах болно. Алсын захидлын
хайрцгийг user@example.com хэлбэрээр оруулж болохыг энд тэмдэглэх
хэрэгтэй. Дараагийн жишээн дээр захидлыг файлд, энэ жишээн дээр
/dev/null-д бичихийг зааж байна. Хамгийн сүүлийн жишээн дээр,
захидлын програмд илгээхийг, энэ тохиолдолд захидлыг &unix; хоолойгоор дамжуулан
/usr/local/bin/procmail-н стандарт оролтод өгч байна.
Энэ файлд өөрчлөлт оруулсны дараа, /etc/mail/ дотор
make тушаалыг өгөн өгөгдлийн санг шинэчлэх хэрэгтэй.
/etc/mail/local-host-names
Энэ бол &man.sendmail.8; дотоод хостууд байдлаар хүлээн авах
хостуудын нэрийн жагсаалт юм. sendmail захидлыг нь хүлээж авах
домэйн болон хостын нэрийг энэ файлд бичих хэрэгтэй. Жишээлбэл,
хэрэв энэ захидлын сервер example.com домэйн болон
mail.example.com хостын захидлыг
хүлээж авах ёстой бол, local-host-names файл дараах байдалтай
байна:
example.com
mail.example.com
Энэ файлд өөрчлөлт ороход, өөрчлөлтүүдийг хүчинтэй болгохын тулд
&man.sendmail.8;-г дахин эхлүүлэх шаардлагатай.
/etc/mail/sendmail.cf
sendmail-н гол тохиргооны файл болох
sendmail.cf нь захидлын хаягийг дахин бичихээс эхлүүлээд
алсын захидлын серверт татгалзсан зурвас илгээх хүртэл бүх зүйлийг оруулаад
sendmail-н ерөнхий үйл ажиллагааг хянана.
Мэдээжийн хэрэг, ийм олон талын үүрэгтэй энэ тохиргооны файл
нилээд ойлгомжгүй байх ба нарийвчлан авч үзэх нь энэ бүлгийн
мэдлээс хальсан асуудал болно. Нэг баярлууштай нь, стандарт захидлын
сервер байдлаар ашиглахад энэ файлд өөрчлөлт оруулах бараг шаардлагагүй
байдаг.
sendmail-н гол тохиргооны файлыг sendmail-н
шинж чанар, төлвийг илэрхийлсэн &man.m4.1; макронуудаас
үүсгэж болно. Дэлгэрэнгүйг /usr/src/contrib/sendmail/cf/README файлаас үзэж болно.
Энэ файлд өөрчлөлт ороход, өөрчлөлтүүдийг хүчинтэй болгохын тулд
sendmail-г дахин эхлүүлэх шаардлагатай.
/etc/mail/virtusertable
virtusertable нь хийсвэр домэйнууд ба захидлын хайрцгийн
хаягуудыг жинхэнэ захидлын хайрцгуудад буулгана. Эдгээр захидлын
хайрцгууд нь дотоод, алсын, /etc/mail/aliases дотор тодорхойлогдсон
хуурамч дүр эсвэл файл байж болно.
Хийсвэр Домэйны Захидлын Буулгалтын Жишээ
root@example.com root
postmaster@example.com postmaster@noc.example.net
@example.com joe
Дээрх жишээн дээр, example.com домэйны хувь дахь
буулгалтыг үзүүлсэн байна. Энэ файлыг дээрээс нь доош нь,
эхний таарсныг авах байдлаар боловсруулна. Эхний мөрөнд
root@example.com-г root гэсэн дотоод захидлын хайрцагт буулгаж байна.
Дараагийн мөрөнд postmaster@example.com-г noc.example.net хост дээр байгаа
postmaster захидлын хайрцагт буулгаж байна. Эцэст нь,
хэрэв example.com-той хаяг дээр дурдсаны алинд ч тохироогүй бол,
хамгийн сүүлийн мөрөнд тохирох болно. Энэ мөрөнд example.com домэйнтой
бүх захидлын хаяг тохирох бөгөөд бүгд joe гэсэн дотоод захидлын
хайрцагт буулгагдах болно.
Эндрю
Бүүтмэн
Бичсэн
Грегори
Нэйл Шапиро
Цахим захидлаар мэдээлэл илгээсэн
Лодойсамбын
Баянзул
Орчуулсан
Өөрийн Захидал Дамжуулах Агентийг Солих нь
цахим захидал
mta-г өөрчлөх
Урьд нь дурдсан шиг, FreeBSD дотор sendmail нь
MTA (Mail Transfer Agent буюу Захидал Дамжуулах Агент) байдлаар аль хэдийн
суучихсан ирдэг. Тиймээс анхдагч байдлаар, таны явуулж байгаа болон
ирж байгаа захидлыг хариуцан ажиллаж байгаа.
Гэвч янз бүрийн шалтгаанаар зарим
системийн администраторууд системийнхээ MTA-г солих хүсэлтэй байдаг.
Шалтгаан нь өөр MTA-г хэрэглэж үзэх хүсэлдээ хөтлөгдсөнөөс, эсвэл бусад захидал
дамжуулагчдаас улбаалсан тусгай чадвар эсвэл
багц шаардлагатай болох зэрэг янз бүр байдаг.
Баярлууштай нь, ямар ч шалтгаантай байсан гэсэн FreeBSD нь өөрчлөлт хийхэд амархан
байх боломжийг олгодог.
Шинэ MTA суулгах нь
Танд олон төрлийн MTA-н сонголт байна. Өргөн сонголттой
FreeBSD Портуудын Цуглуулгаас эхлэх нь хамгийн зөв эхлэл
болно. Мэдээж FreeBSD дээр ажиллуулж чадаж л байвал, та хүссэн газраасаа
хүссэн MTA-аа суулгах эрхтэй.
Эхлээд шинэ MTA-аа суулгаж эхлэх хэрэгтэй. Нэгэнт суулгасны дараа,
шинэ програм таны хэрэгцээг үнэхээр хангаж чадаж байна уу гэдгийг
шалгах, sendmail-г бүрэн солихоос өмнө шинэ програмын
тохиргоог хийх боломжтой. Ингэх явцад таны суулгаж байгаа
шинэ програм /usr/bin/sendmail зэрэг системийн хоёртын
файлуудыг дарж бичихгүй байхыг анхаарч байх хэрэгтэй.
Үгүй бол, таныг тохиргоо хийхээс чинь өмнө захидлын шинэ програм
чинь ажиллаж эхлэх болно.
Сонгож авсан MTA програмынхаа тохиргоог хийхдээ тухайн
програмын өөрийн холбогдох баримт бичгүүдийг үзнэ үү.
sendmail-г идэвхгүй болгох нь
- sendmail-г идэвхжүүлэх үйл явц
-4.5-RELEASE, 4.6-RELEASE, болон дараах хувилбаруудын хувьд нилээд
-өөрчлөгдсөн байдаг. Тиймээс түүнийг идэвхгүй болгох үйл явц
-ч мөн хоорондоо нилээд ялгаатай.
-
Хэрэв та sendmail-н гадагш захидал илгээх
үйлчилгээг идэвхгүй болгосон бол, өөр захидал түгээх системээр
түүнийг орлуулах нь чухал юм. Хэрэв тэгэхгүй бол &man.periodic.8;
гэх мэт системийн функцууд өөрсдийн үр дүнгээ цахим захидлаар
илгээх боломжгүй болж, хэвийн үйл ажиллагаа нь доголдох болно.
Системийн нилээд хэсэгт sendmail ашигладаг байхаар
бодолцсон байгаа. Хэрэв sendmail-г идэвхгүй болгосны
дараа програмууд sendmail-н
хоёртын файлыг ашиглан захидлыг үргэлжлүүлэн илгээсээр байвал,
тэдгээр захидлууд sendmail-н идэвхгүй дараалалд орж,
хэзээ ч хүрэх газраа очиж чадахгүй болно.
-
- 2002/4/4-с өмнөх FreeBSD 4.5-STABLE болон Өмнөх хувилбарууд
-(4.5-RELEASE болон Өмнөх хувилбаруудыг оруулаад)
-
- /etc/rc.conf файл дотор:
-
- sendmail_enable="NO"
-
- мөрийг оруулна. Энэ нь sendmail-н
-захидал хүлээн авах үйлчилгээг идэвхгүй болгоно. Гэвч,
-хэрэв /etc/mail/mailer.conf (дор үзүүлсэн) файлд өөрчлөлт оруулахгүй
-бол sendmail гадагшаа захидал илгээсээр байх болно.
-
-
-
- 2002/4/4-с хойших FreeBSD 4.5-STABLE хувилбар
-(4.6-RELEASE болон Дараах хувилбаруудыг оруулаад)
-
- sendmail-г бүхэлд нь идэвхгүй болгохын тулд,
-гадагш захидал илгээх үйлчилгээг оруулаад, дараах мөрийг:
-
- sendmail_enable="NONE"
-
- /etc/rc.conf файлд оруулж өгөх шаардлагатай.
-
- Хэрэв та sendmail-н зөвхөн захидал хүлээн авах
-үйлчилгээг идэвхгүй болгох хүсэлтэй бол, дараах мөрийг:
-
- sendmail_enable="NO"
-
- /etc/rc.conf файлд оруулж өгөх шаардлагатай. Хэдийгээр,
-таны гаднаас захидал авах үйлчилгээ зогссон ч, дотоод захидал түгээлт
-ажилласаар байх болно. sendmail-н эхлэл тохируулгуудын
-талаар дэлгэрэнгүй мэдээллийг &man.rc.sendmail.8; заавар хуудаснаас
-үзнэ үү.
-
-
-
- FreeBSD 5.0-STABLE болон Дараах хувилбарууд
-
sendmail-г бүхэлд нь идэвхгүй болгохын тулд,
гадагш захидал илгээх үйлчилгээг оруулаад, дараах мөрүүдийг:
sendmail_enable="NO"
sendmail_submit_enable="NO"
sendmail_outbound_enable="NO"
sendmail_msp_queue_enable="NO"
/etc/rc.conf файлд оруулж өгөх шаардлагатай.
Хэрэв та sendmail-н зөвхөн захидал хүлээн авах
үйлчилгээг идэвхгүй болгох хүсэлтэй бол, дараах мөрийг:
sendmail_enable="NO"
/etc/rc.conf файлд оруулж өгөх шаардлагатай.
sendmail-н эхлэл тохируулгуудын
талаар дэлгэрэнгүй мэдээллийг &man.rc.sendmail.8; заавар хуудаснаас
үзнэ үү.
-
Өөрийн шинэ MTA-г систем ачаалах үед ажиллуулах нь
- Таны хэрэглэж байгаа FreeBSD хувилбараас хамааран
-шинэ MTA-г систем ачаалах үед ажиллуулах дараах хоёр арга байна.
-
-
- 2002/4/11-с өмнөх FreeBSD 4.5-STABLE (4.5-RELEASE болон Өмнөх хувилбаруудыг оруулаад)
-
- /usr/local/etc/rc.d/ директор дотор
-.sh өргөтгөлтэй, root эрхийн дор ажиллуулах эрхтэй
-скриптийг нэмэх хэрэгтэй. Энэ скрипт start ба
-stop параметрүүдийг авдаг байх ёстой. Систем ачаалж эхлэх үед
-системийн скриптүүд:
-
- /usr/local/etc/rc.d/supermailer.sh start
+ postfix-д зориулсан дараах жишээн дээрх шиг тохиргооны мөрийг
+ /etc/rc.conf файлд нэмэн шинэ MTA-г ачаалах үед
+ эхлүүлж болно.
- тушаалыг өгөх болно. Энэ тушаалыг ашиглан серверийг
-гараар эхлүүлж болно. Систем унтрах үед системийн скриптүүд
-stop тохируулгыг ашиглан
+ &prompt.root; echo 'postfix_enable=YES
' >> /etc/rc.conf
- /usr/local/etc/rc.d/supermailer.sh stop
-
- тушаалыг өгөх болно. Энэ тушаалыг ашиглан
-систем ажиллаж байх үед серверийг гараар зогсоож болно.
-
-
-
-
- 2002/4/11-с хойш гарсан FreeBSD 4.5-STABLE хувилбар (4.6-RELEASE болон Дараах хувилбарууд)
-
- FreeBSD-н дараах хувилбаруудын хувьд, дээрх аргыг
-ашиглаж болно, эсвэл
-
- mta_start_script="filename"
-
- мөрийг /etc/rc.conf файл дотор оруулж өгөх хэрэгтэй.
-Энд, filename-н оронд өөрийн MTA-г систем ачаалах үед
-эхлүүлэхийн тулд ажиллуулах скриптийн нэрээр сольж бичнэ.
-
+ MTA нь одоо автоматаар ачаалах үед эхлэх болно.
sendmail-г Системийн Анхдагч Захидал Түгээгч болгох нь
sendmail нь &unix; системүүдийн
стандарт програм байхаар хаа сайгүй хэрэглэгддэг болохоор,
зарим програм түүнийг системд аль хэдийн суучихсан, ажиллаж
байгаа гэж тооцсон байдаг. Тиймээс, бусад олон MTA-ууд
sendmail-н тушаалын мөрний интерфэйстэй нийцтэй
шийдлүүдийг гаргадаг бөгөөд энэ нь sendmail-н
оронд тэдгээр MTA-уудыг ашиглах боломжтой болгодог.
Тиймээс, хэрэв өөр захидал түгээгч хэрэглэж байгаа бол,
програмууд sendmail-н /usr/bin/sendmail
гэх зэрэг хоёртын файлын оронд таны сонгосон захидал
түгээгчийг хэрэглэж байгаа эсэхийг нягтлаарай. Аз болоход,
FreeBSD танд энэ ажлыг хийж өгөх &man.mailwrapper.8; гэсэн системийг
агуулж байдаг.
sendmail нь анх суусан байдлаараа ажиллаж
байх үед, /etc/mail/mailer.conf файл дотор дараах мөрүүдийг
харах болно:
sendmail /usr/libexec/sendmail/sendmail
send-mail /usr/libexec/sendmail/sendmail
mailq /usr/libexec/sendmail/sendmail
newaliases /usr/libexec/sendmail/sendmail
hoststat /usr/libexec/sendmail/sendmail
purgestat /usr/libexec/sendmail/sendmail
Энэ нь, эдгээр өргөн хэрэглэгддэг тушаалуудын
аль нэгийг (sendmail өөрөө гэх мэт) ажиллуулахад,
систем үнэн хэрэгтээ sendmail нэртэй захидлын
дундын хянагчийн хуулбарыг дуудна гэсэн үг юм. Энэ захидлын
дундын хянагч mailer.conf файлыг шалгаж,
/usr/libexec/sendmail/sendmail-г оронд нь ажиллуулна. Энэ системийн тусламжтай
дээрх анхдагч sendmail функцүүдийг дуудахад
үнэндээ ажиллах хоёртын файлуудыг солиход амархан болгодог.
Тиймээс хэрэв та sendmail-н оронд
/usr/local/supermailer/bin/sendmail-compat-г ажиллуулах хүсэлтэй бол,
/etc/mail/mailer.conf файлыг дараах байдлаар засаж бичих хэрэгтэй:
sendmail /usr/local/supermailer/bin/sendmail-compat
send-mail /usr/local/supermailer/bin/sendmail-compat
mailq /usr/local/supermailer/bin/mailq-compat
newaliases /usr/local/supermailer/bin/newaliases-compat
hoststat /usr/local/supermailer/bin/hoststat-compat
purgestat /usr/local/supermailer/bin/purgestat-compat
Төгсгөл
Өөрийн хүссэнээр бүх зүйлсийг тохируулсны дараа,
нэгэнт хэрэггүй болсон sendmail процессуудыг
зогсоож шинэ програмд хамаарах процессуудыг эхлүүлэх,
эсвэл зүгээр л системийг дахин ачаалах хэрэгтэй.
Системийг дахин ачаалах нь систем ачаалах явцад таны шинэ MTA-г
ачаалах тохиргоог зөв хийсэн эсэхээ шалгахад тань тусална.
Гэмтэл саатлыг арилгах нь
цахим захидал
гэмтэл саатлыг арилгах
Яагаад би өөрийн сүлжээнд байгаа хостуудын хувьд FQDN-г хэрэглэх ёстой вэ?
Үнэндээ тухайн хост өөр домэйнд байгаа
болохыг та анзаарах байх; жишээ нь, хэрэв та өөрөө
foo.bar.edu домэйнд байгаа бөгөөд bar.edu домэйнд байгаа mumble хост руу
хандах хүсэлтэй бол түүнийг зүгээр mumble гэхийн оронд
mumble.bar.edu гэсэн fully-qualified domain name буюу бүрэн-баталгаажсан
домэйн нэрээр нь заах хэрэгтэй.
BIND
Урьд нь, BSD BIND тайлагчийн хувьд дээрх шиг хэрэглэж болдог байсан.
Гэвч FreeBSD-тэй хамт ирдэг BIND-н одоогийн хувилбар дээр
өөрийн оршин байгаа домэйноос бусад бүрэн баталгаажаагүй домэйн нэрийн хувьд
анхдагч товчилсон нэрүүдийг хэрэглэж болохгүй болсон. Тиймээс баталгаажаагүй
mumble гэсэн хостыг эсвэл mumble.foo.bar.edu гэж ойлгоно,
эсвэл эх домэйнд хайх болно.
Хайлт цааш mumble.bar.edu, ба
mumble.edu болж үргэлжлэх бөгөөд энэ нь санаснаас шал өөр
зүйл болон хувирна. Үүнийг яагаад буруу үйлдэл, бүр аюулгүй байдлын цоорхой
гэж тооцох болсныг RFC 1535-с олж үзээрэй.
Дээрх байдлаас гарахын тулд, өөрийн /etc/resolv.conf файл дотор:
search foo.bar.edu bar.edu
гэсэн мөрийг:
domain foo.bar.edu
мөрийн оронд бичих хэрэгтэй. Гэхдээ, хайлт хийх дэс дараалал нь
RFC 1535-д заасны дагуу дотоод болон гадаад удирдлагын хязгаар
ыг
давах ёсгүйг анхаараарай.
MX бичлэг
sendmail захидал өөр дээр минь тойроод ирж байна гээд байна
Энэ асуултанд sendmail-н FAQ дараах байдалтай хариулсан
байгаа:
I'm getting these error messages:
553 MX list for domain.net points back to relay.domain.net
554 <user@domain.net>... Local configuration error
How can I solve this problem?
You have asked mail to the domain (e.g., domain.net) to be
forwarded to a specific host (in this case, relay.domain.net)
by using an MX record, but the relay machine does not recognize
itself as domain.net. Add domain.net to /etc/mail/local-host-names
[known as /etc/sendmail.cw prior to version 8.10]
(if you are using FEATURE(use_cw_file)) or add Cw domain.net
to /etc/mail/sendmail.cf.
sendmail-н FAQ-г хаягаар
орж үзэж болох ба хэрэв та захидлын серверийнхээ тохиргоогоор нилээд
оролдох
бол эхлээд үүнийг уншихыг зөвлөж байна.
PPP
Утсаар залгаж холбогддог PPP хост дээр захидлын серверийг хэрхэн
ажиллуулах вэ?
Та LAN-д байгаа FreeBSD машиныг Интернэтэд холбох хүсэлтэй байна.
Энэ FreeBSD машин тухайн LAN-ий хувьд захидлын гарц байх болно. PPP холболт бол тусгайлан
бий болгосон зориулагдсан холболт биш юм.
UUCP
MX бичлэг
Үүний тулд хоёр арга байна. Нэг арга нь UUCP ашиглах юм.
Нөгөө арга нь таны домэйны хувьд хоёрдогч
MX үйлчилгээг үзүүлэх байнгын холболттой Интернэт сервертэй болох явдал юм.
Жишээлбэл, хэрэв танай байгууллагын
домэйн нэр example.com бөгөөд танай Интернэтийн үйлчилгээ
үзүүлэгч танай домэйны хувьд хоёрдогч MX үйлчилгээг үзүүлэхээр
example.net домэйныг дараах байдалтай тохируулжээ:
example.com. MX 10 example.com.
MX 20 example.net.
Зөвхөн ганц хост эцсийн захидал хүлээн авагч байх ёстой
(example.com хостын
/etc/mail/sendmail.cf файлд Cw example.com-г нэмнэ).
Захиа явуулах гэж байгаа sendmail захидлыг явуулахаар
оролдох үед эхлээд модем холбоосоор тантай (example.com)
холбогдохыг оролдоно. Та Интернэтэд холбогдоогүй байгаа учраас
ихэнх тохиолдолд тантай холбогдож чадахгүй. Энэ тохиолдолд,
sendmail автоматаар хоёрдогч MX сервер рүү, өөрөөр хэлбэл
танай Интернэтийн үйлчилгээ үзүүлэгчид (example.net) илгээх болно.
Хоёрдогч MX сервер танай сервертэй холбогдохыг тогтмол оролдох
ба ийм замаар анхдагч MX хост руу (example.com) захидлыг хүргэх
болно.
Та дор үзүүлсэнтэй төстэй нэвтрэх скриптийг хэрэглэхийг хүсэж
болзошгүй:
#!/bin/sh
# Put me in /usr/local/bin/pppmyisp
( sleep 60 ; /usr/sbin/sendmail -q ) &
/usr/sbin/ppp -direct pppmyisp
Хэрэв та хэрэглэгчийн хувьд тусдаа нэвтрэх скрипт
үүсгэх гэж байгаа бол дээрх скрипт дээр байгаагийн оронд
sendmail -qRexample.com-г хэрэглэж болох юм. Энэ нь
таны захидлын дараалалд байгаа example.com-д очих
бүх захидлыг тэр дор нь боловсруулахыг шаардана.
Байдлыг хэрхэн цааш сайжруулахыг дор үзнэ үү:
&a.isp;-с хулгайлсан зурвас.
> we provide the secondary MX for a customer. The customer connects to
> our services several times a day automatically to get the mails to
> his primary MX (We do not call his site when a mail for his domains
> arrived). Our sendmail sends the mailqueue every 30 minutes. At the
> moment he has to stay 30 minutes online to be sure that all mail is
> gone to the primary MX.
>
> Is there a command that would initiate sendmail to send all the mails
> now? The user has not root-privileges on our machine of course.
In the privacy flags
section of sendmail.cf, there is a
definition Opgoaway,restrictqrun
Remove restrictqrun to allow non-root users to start the queue processing.
You might also like to rearrange the MXs. We are the 1st MX for our
customers like this, and we have defined:
# If we are the best MX for a host, try directly instead of generating
# local config error.
OwTrue
That way a remote site will deliver straight to you, without trying
the customer connection. You then send to your customer. Only works for
hosts
, so you need to get your customer to name their mail
machine customer.com
as well as
hostname.customer.com
in the DNS. Just put an A record in
the DNS for customer.com
.
Бусад хостоос захидал явуулахад яагаад
Relaying Denied гэсэн алдаа байнга гараад байна вэ?
FreeBSD-н анхдагч суулгацад sendmail-г
зөвхөн ажиллаж байгаа хостоосоо захидал илгээдэг байхаар
тохируулсан байдаг. Жишээ нь, хэрэв нэг POP сервер байгаа бол,
хэрэглэгчид сургууль, ажил, эсвэл бусад алсын байршлаас захидлаа шалгах
боломжтой байх болно. Гэвч гаднаас захидал илгээж чадахгүй хэвээр байх
болно. Ихэвчлэн, оролдого хийснээс хэдэн хормын дараа,
MAILER-DAEMON 5.7 Relaying Denied гэсэн алдааны мэдээлэлтэй
захидлыг илгээх болно.
Энэ байдлаас гарах хэд хэдэн зам байна.
Хамгийн энгийн арга бол өөрийн ISP-н хаягийг /etc/mail/relay-domains-д
байгаа өртөөлөх (дамжуулах) домэйнуудын файлд бичих хэрэгтэй. Үүнийг хийх амархан
аргыг үзүүлэв:
&prompt.root; echo "your.isp.example.com" > /etc/mail/relay-domains
Энэ файлыг үүсгэсэн эсвэл зассаны дараа,
sendmail-г дахин эхлүүлэх хэрэгтэй. Хэрэв та
сервер хариуцагч байгаад, захидлыг дотооддоо явуулах хүсэлгүй, эсвэл
өөр машин дээрээс эсвэл бүр өөр ISP-с хулганы товч дараад л хийчих хялбар
систем ашиглах хүсэлтэй байгаа бол энэ арга яг тохирно.
Энэ арга ганцхан эсвэл хоёрхон захидлын бүртгэл үүсгэсэн тохиолдолд мөн
тус болно. Хэрэв дээрх файлд олон тооны хаяг нэмэх шаардлагатай бол,
зүгээр өөрийн дуртай засварлагч програмаар нээгээд домэйнуудаа
мөр болгонд нэг байхаар нэмж бичих хэрэгтэй:
your.isp.example.com
other.isp.example.net
users-isp.example.org
www.example.org
Одоо, энэ жагсаалтад (хэрэглэгч таны систем дээр бүртгэлтэй
гэсэн нөхцөлтэйгөөр) байгаа ямар ч хостоос,
таны системээр дамжуулан явуулсан захидал амжилттай явах болно.
Энэ бол хэрэглэгчиддээ таны системээр дамжуулан SPAM явуулах
боломжийг олголгүйгээр, таны системээс алсаас захидал
илгээх боломжийг олгох үнэхээр сайн арга юм.
Дээд түвшний сэдвүүд
Энэ хэсэг захидлын серверийн тохиргоо,
бүхэл домэйнд зориулсан захидлын серверийг
зохион байгуулах зэрэг илүү гүнзгий сэдвүүдийг хамрах болно.
Үндсэн Тохиргоо
цахим захидал
тохиргоо
Хэрэв та өөрийн нэрийн сервер ажиллуулж байгаа эсвэл
/etc/resolv.conf-г тохируулсан л бол гадаад хостууд руу
захидал илгээж чадах ёстой. Хэрэв та өөрийн хостод хаягласан
захидлыг таны өөрийн FreeBSD машин дээрх MTA (жишээ нь sendmail)
хүлээж авдаг болгохыг хүсэж байгаа бол, дараах хоёр арга зам байна:
Өөрөө нэрийн сервер ажиллуулаад, өөрийн домэйн нэр авах.
Жишээлбэл, FreeBSD.org
Захидлыг шууд өөрийн хост дээр хүлээж авдаг байх.
Үүний тулд өөрийн машины одоогийн DNS нэрээр захидлыг хүлээн авах. Жишээлбэл,
example.FreeBSD.org.
SMTP
Дээрхээс алийг нь ч сонгосон бай, өөр дээрээ захидал шууд хүлээн авдаг
байхын тулд байнгын статик IP хаягтай байх ёстой (ихэнх PPP залгадаг
холболтынх шиг динамик хаяг биш). Хэрэв галт ханын цаана байгаа бол,
галт хана тань руу чиглэсэн SMTP урсгалыг нэвтрүүлэх ёстой.
Захидлыг шууд өөрийн хост дээр хүлээн авахын тулд,
дараах хоёр нөхцөлийн аль нэгийг хангасан байх ёстой:
MX record
Таны DNS дээрх (хамгийн бага дугаартай) MX бичлэг
таны хостын IP хаяг руу заасан байх ёстой.
Таны DNS дээр таны хостын IP хаяг руу заасан MX бичлэг байх ёсгүй.
Дээр дурдсаны аль нэгийг хангасан байхад,
та өөрийн хост дээр захидал хүлээн авах боломжтой болно.
Туршаад үзээрэй:
&prompt.root; hostname
example.FreeBSD.org
&prompt.root; host example.FreeBSD.org
example.FreeBSD.org has address 204.216.27.XX
Хэрэв дээрхтэй адил хариу гарч байвал,
yourlogin@example.FreeBSD.org хаяг руу илгээсэн захидал
ямар ч асуудалгүй хүрэх газраа очих ёстой (example.FreeBSD.org
дээр sendmail зөв ажиллаж байгаа гэж үзэв).
Үүний оронд доор дурдсантай адил хариу авбал:
&prompt.root; host example.FreeBSD.org
example.FreeBSD.org has address 204.216.27.XX
example.FreeBSD.org mail is handled (pri=10) by hub.FreeBSD.org
таны хост руу илгээсэн бүх захидлууд
(example.FreeBSD.org) шууд таны хост руу илгээгдэхийн оронд
hub дээр адилхан хэрэглэгчийн нэр дээр цугларах болно.
Дээрх мэдээллийг DNS сервер зохицуулан ажиллана. DNS-н
Mail eXchange буюу MX бичлэгт захидлыг хааш нь
чиглүүлэх талаар мэдээлэл агуулагддаг. Хэрэв ямар ч MX бичлэг байхгүй бол,
захидлыг IP хаягаар нь хостод дамжуулна.
freefall.FreeBSD.org-н MX бичлэг дараах байдалтай байна:
freefall MX 30 mail.crl.net
freefall MX 40 agora.rdrop.com
freefall MX 10 freefall.FreeBSD.org
freefall MX 20 who.cdrom.com
Таны харж байгаачлан, freefall-н хувьд олон MX бичлэг
байна. Хамгийн бага MX дугаартай хост ажиллаж байвал
захидлыг шууд хүлээж авах болно; хэрэв ямар нэг байдлаар
энд хост руу хандах боломжгүй байвал бусад нь (заримдаа нөөц MX-үүд
гэж
нэрлэх нь бий) түр хугацаанд захидлыг хүлээж аваад,
арай бага дугаартай хосттой холбоо тогтоох боломжтой болмогц
түүн рүү дамжуулах гэм мэтчилэн явсаар, эцэст нь хамгийн бага дугаартай
хост захидлыг хүлээн авах болно.
Бусад MX-үүд таныхаас тусдаа Интернэт
холболттой байх шаардлагатай. Таны ISP эсвэл өөр найрсаг
газрууд танд энэ үйлчилгээг үзүүлэхэд асуудал байх ёсгүй.
Таны домэйнд хаягласан Захидал
Захидлын хост
(захидлын сервер гэж нэрлэх нь бий)
зохион байгуулахын тулд, янз янзын ажлын машин руу
явуулсан захидлыг энэ сервер рүү чиглүүлсэн байх ёстой.
Үндсэндээ, өөрийн домэйнд байгаа ямар ч хостын захидлыг
нэхэмжилж аваад
(энэ тохиолдолд *.FreeBSD.org)
түүнийг өөрийн захидлын сервер рүү дахин чиглүүлнэ гэсэн үг юм.
Ингэснээр таны хэрэглэгчдийн захидлууд эзэн захидлын сервер дээр
цуглах болно.
DNS
Үүнийг хялбар болгохын тулд, нэг
хэрэглэгчийн нэртэй хэрэглэгчийн данс
хоёр машин дээр хоёулан дээр нь байх шаардлагатай.
Үүнийг хийхдээ &man.adduser.8;-г ашиглаарай.
Таны хэрэглэх захидлын хост
таны сүлжээнд байгаа бүх ажлын машины хувьд
томилж гаргасан захидал солилцогч байх ёстой.
Энэ тохиргоог DNS сервер дээр дараах байдалтай хийнэ:
example.FreeBSD.org A 204.216.27.XX ; Workstation
MX 10 hub.FreeBSD.org ; Mailhost
Энэ нь ажлын машинд хаягласан
захидлыг, A бичлэг хааш нь заахаас үл хамааран
захидлын хост руу дахин чиглүүлэх болно. Ингэснээр захидал
MX хост руу илгээгдэх болно.
Та DNS сервер ажиллуулдаггүй бол дээр дурдсаныг
өөрөө бие даан хийх боломжгүй юм. Хэрэв та
DNS сервер ажиллуулдаггүй, эсвэл DNS сервер ажиллуулах
боломжгүй бол өөрийн ISP эсвэл DNS үйлчилгээ үзүүлдэг газартаа
хандаарай.
Хэрэв та хийсвэр захидал байршуулах үйлчилгээ үзүүлдэг бол,
дараах мэдээлэл тус болно. Таны үйлчлүүлэгч өөрийн
домэйн нэртэй, тухайлбал customer1.org, ба та
customer1.org-д хаягласан бүх захидлыг өөрийн захидлын
хост mail.myhost.com руу чиглүүлэх хүсэлтэй байна гэж бодъё.
Тэгвэл таны DNS дээрх бичлэг дараах байдалтай байх болно:
customer1.org MX 10 mail.myhost.com
customer1.org домэйны зөвхөн захидлыг
хариуцахын тулд A бичлэг шаардлагагүй.
A бичлэг байхгүй бол customer1.org руу
ping хийх боломжгүй болохыг анхаарна уу.
Хамгийн сүүлд хийх нэг зүйл бол
өөрийн захидлын хост дээрх sendmail-д
ямар ямар домэйнууд ба/эсвэл хостуудад хаягласан
захидлыг хүлээн авахыг хэлж өгөх явдал юм.
Үүнийг хэд хэдэн өөр аргаар хийж болно.
Дараах аргуудын алийг ч хэрэглэж болно:
Хэрэв та FEATURE(use_cw_file)-г хэрэглэж байгаа бол
хостуудыг /etc/mail/local-host-names файл дотор
нэмж бичих.
Хэрэв та sendmail 8.10 эсвэл
түүнээс хойно гарсан хувилбарыг хэрэглэж байгаа бол
Cwyour.host.com гэсэн мөрийг /etc/sendmail.cf эсвэл
/etc/mail/sendmail.cf файл дотор бичих.
Цагаанхүүгийн
Ганболд
Орчуулсан
UUCP-тэй SMTP
FreeBSD-тэй цуг ирдэг sendmail-ийн тохиргоо нь
Интернэт рүү шууд холбогддог сайтуудад зориулагдсан юм. Өөрсдийн захидлыг UUCP-ээр
солилцохыг хүссэн сайтууд sendmail-ийн өөр
тохиргооны файлыг суулгах ёстой.
/etc/mail/sendmail.cf-г гараар тохируулах нь
илүү нарийн, нэмэлт сэдэв юм. sendmail
хувилбар 8 нь тохиргооны файлуудаа &man.m4.1; урьдчилан процесс хийлтээр
үүсгэдэг. Жинхэнэ тохиргоо нь илүү дээд хийсвэрлэлтийн түвшинд болдог.
&man.m4.1;-ийн тохиргооны файлуудыг /usr/share/sendmail/cf
сангаас олж болно. cf сан дахь
README файл нь &man.m4.1; тохиргооны
үндсэн танилцуулга болон үйлчилдэг.
UUCP хүргэлтийг дэмжих хамгийн шилдэг арга бол mailertable
боломжийг ашиглах явдал юм. Энэ нь чиглүүлэлтийн шийдвэрүүд гаргахдаа
sendmail-ийн ашигладаг мэдээллийн баазыг
үүсгэдэг.
Эхлээд та өөрийн .mc файлыг үүсгэх хэрэгтэй.
/usr/share/sendmail/cf/cf сан цөөн хэдэн
жишээнүүдийг агуулдаг. Таныг өөрийнхөө файлыг foo.mc
гэж нэрлэсэн гэж үзэх юм бол түүнийг зөв sendmail.cf
болгож хөрвүүлэхийн тулд хийх зүйл тань:
&prompt.root; cd /etc/mail
&prompt.root; make foo.cf
&prompt.root; cp foo.cf /etc/mail/sendmail.cf
Ердийн .mc файл иймэрхүү харагдаж болно:
VERSIONID(`Your version number') OSTYPE(bsd4.4)
FEATURE(accept_unresolvable_domains)
FEATURE(nocanonify)
FEATURE(mailertable, `hash -o /etc/mail/mailertable')
define(`UUCP_RELAY', your.uucp.relay)
define(`UUCP_MAX_SIZE', 200000)
define(`confDONT_PROBE_INTERFACES')
MAILER(local)
MAILER(smtp)
MAILER(uucp)
Cw your.alias.host.name
Cw youruucpnodename.UUCP
accept_unresolvable_domains,
nocanonify, болон
confDONT_PROBE_INTERFACES боломжуудыг
агуулсан мөрүүд нь захидал хүргэх явцын үед DNS-ийг ашиглуулахгүй байх болно.
UUCP_RELAY гэдэг нь UUCP хүргэлтийг дэмжихэд
шаардлагатай. .UUCP псевдо домэйн хаягуудтай ажиллаж чаддаг
Интернэтийн хостын нэрийг тавих хэрэгтэй; та өөрийн ISP-ийн захидал
өртөөлөгчийг энд бараг оруулах байх даа.
Ингэснийхээ дараа танд /etc/mail/mailertable
файл хэрэгтэй болно. Хэрэв танд таны бүх захидлуудад ашиглагддаг, гадагш холбогдсон
зөвхөн ганц холболт байвал дараах файл хангалттай байх болно:
#
# makemap hash /etc/mail/mailertable.db < /etc/mail/mailertable
. uucp-dom:your.uucp.relay
Арай илүү төвөгтэй жишээ иймэрхүү харагдаж болно:
#
# makemap hash /etc/mail/mailertable.db < /etc/mail/mailertable
#
horus.interface-business.de uucp-dom:horus
.interface-business.de uucp-dom:if-bus
interface-business.de uucp-dom:if-bus
.heep.sax.de smtp8:%1
horus.UUCP uucp-dom:horus
if-bus.UUCP uucp-dom:if-bus
. uucp-dom:
Эхний гурван мөр нь домэйн руу хаяглагдсан захидал анхдагч чиглүүлэлт
рүү биш, харин хүргэх замыг товчлохын
тулд UUCP хөрш рүү илгээгдэхийг
зохицуулдаг. Дараагийн мөр нь локал Ethernet домэйн руу хаяглагдсан,
SMTP ашиглан хүргэгдэж болох захидалтай ажилладаг. Эцэст нь
.UUCP псевдо домэйн маягаар бичигдсэн UUCP хөршүүд
uucp-neighbor
!recipient-д
анхдагч дүрмүүдийг дарж бичих боломжийг олгохын тулд дурдагдсан.
Сүүлийн мөр нь үргэлж нэг цэг байдаг. Энэ нь UUCP хүргэлтээр дэлхий рүү гарах
таны универсал захидлын гарц болон үйлчилдэг UUCP хөрш рүү гаргана гэж
бусад бүгдийн хувьд зааж өгч байна. uucp-dom: түлхүүр
үгийн ард байрлах бүх цэгийн нэрс зөв UUCP хөршүүд байх ёстой бөгөөд
та тэдгээрийг uuname тушаал ашиглан шалгаж болно.
Санаж явах зүйл бол энэ файл нь ашиглагдахаасаа өмнө DBM мэдээллийн баазын
файл руу хөрвүүлэгдэх шаардлагатай байдаг. Үүнийг хийх тушаалын мөрийг
mailertable файлын дээр хэсэгт тайлбар маягаар
хийх нь зүйтэй. Өөрийн mailertable файлыг
өөрчлөх бүртээ та энэ тушаалыг ажиллуулах ёстой юм.
Төгсгөлийн зөвлөгөө: хэрэв та тухайн нэг захидлын чиглүүлэлт ажиллаж
байгаа эсэхэд эргэлзэж байгаа бол sendmail-ийн
тохируулгыг тогтоох хэрэгтэй. Энэ нь
sendmail-ийг
хаягийн тест горимд эхлүүлдэг; 3,0
гэж оруулаад захидал чиглүүлэлтийг тест хийхийг хүссэн хаягаа оруулах хэрэгтэй.
Сүүлийн мөр нь ашиглагдсан дотоод захидлын агент, энэ агентийн дуудаж
холбогдох хүрэх хост болон (магадгүй хөрвүүлэгдсэн) хаягийг хэлдэг.
Энэ горимоос CtrlD
даран гарна.
&prompt.user; sendmail -bt
ADDRESS TEST MODE (ruleset 3 NOT automatically invoked)
Enter <ruleset> <address>
> 3,0 foo@example.com
canonify input: foo @ example . com
...
parse returns: $# uucp-dom $@ your.uucp.relay $: foo < @ example . com . >
> ^D
Билл
Моран
Хувь нэмэр болгон оруулсан
Цагаанхүүгийн
Ганболд
Орчуулсан
Зөвхөн илгээхээр тохируулах нь
Өртөөлөх серверээр дамжуулан захидлыг илгээхийг зөвхөн хүсэх олон
тохиолдлууд байдаг. Зарим жишээнүүдийг дурдвал:
Таны компьютер ширээний машин, гэхдээ та &man.send-pr.1;
зэрэг програмуудыг ашиглахыг хүсэж байна гэж бодъё. Ингэхийн тулд
та өөрийн ISP-ийн захидал өртөөлөх серверийг ашиглах ёстой.
Компьютер нь захидлыг локалаар зохицуулдаггүй сервер боловч
бүх захидлуудыг боловсруулахын тулд өртөөлөх сервер рүү дамжуулах
хэрэгтэй байгаа.
Бараг MTA бүр үүнийг хийх чадвартай байдаг.
Харамсалтай нь захидлыг зөвхөн дамжуулахын тулд
өргөн боломжтой MTA-г зөв тохируулах нь
маш төвөгтэй байдаг. sendmail болон
postfix зэрэг програмуудыг
энэ зорилгоор ашиглах нь хэтэрхий юм.
Мөн хэрэв та энгийн Интернэт хандалтын үйлчилгээг ашиглаж байгаа бол
таны гэрээ таныг захидлын сервер
ажиллуулахыг хориглож
магадгүй юм.
Тэдгээр хэрэгцээнүүдийг хангах хялбар арга бол mail/ssmtp
портыг суулгах явдал юм. Дараах тушаалуудыг root
хэрэглэгчээр ажиллуулна:
&prompt.root; cd /usr/ports/mail/ssmtp
&prompt.root; make install replace clean
Суулгасны дараа mail/ssmtp-г
/usr/local/etc/ssmtp/ssmtp.conf-д байрлах
дөрвөн мөр бүхий файлаар тохируулж болно:
root=yourrealemail@example.com
mailhub=mail.example.com
rewriteDomain=example.com
hostname=_HOSTNAME_
root-д зориулж өөрийн жинхэнэ захидлын хаягаа
ашиглахаа мартуузай. mail.example.com-ийн
оронд өөрийн ISP-ийн гарах захидлын өртөөлөх серверийг оруулаарай (зарим ISP-ууд нь
үүнийг гарах захидлын сервер
эсвэл SMTP сервер
гэдэг).
Гарах захидлын үйлчилгээг нь оролцуулаад sendmail-г
хориглохоо мартуузай. Дэлгэрэнгүйг
хэсгээс үзнэ үү.
mail/ssmtp нь бас бусад тохируулгуудтай
байдаг. Жишээнүүд болон дэлгэрэнгүй мэдээллийг
/usr/local/etc/ssmtp доторх жишээ
тохиргооны файл эсвэл ssmtp-ийн
гарын авлагын хуудаснаас үзнэ үү.
Энэ маягаар ssmtp-г тохируулах нь
зөв ажиллахын тулд захидал илгээхийг шаарддаг, таны компьютер дээрх ямар ч програмыг
зөвшөөрөх болно. Ингэхдээ таны ISP-ийн хэрэглээний бодлогыг зөрчилгүйгээр
эсвэл таны компьютерийг спам илгээх зорилгоор булаан эзлэхийг зөвшөөрдөггүй
байна.
Цагаанхүүгийн
Ганболд
Орчуулсан
Гадагш залгах холболтоор захидлыг ашиглах нь
Хэрэв танд статик IP хаяг байгаа бол та анхдагч утгуудыг өөрчилж тааруулах
шаардлагагүй юм. Өөрийн хостын нэрийг өөрт заагдсан Интернэтийн нэрээр
тохируулах хэрэгтэй бөгөөд sendmail
үлдсэнийг нь хийх болно.
Хэрэв та динамикаар заагдсан IP хаягтай бөгөөд Интернэт рүү диал ап
PPP холболтыг ашигладаг бол та өөрийн ISP-ийн захидлын сервер дээр магадгүй
захидлын хайрцагтай байна байх. Таны ISP-ийн домэйн example.net,
таны хэрэглэгчийн нэр user, та
өөрийн машиныг bsd.home гэж
нэрлэсэн бөгөөд таны ISP танд relay.example.net-г захидал өртөөлөх сервер
болгож ашиглаж болно гэж хэлсэн гэж үзье.
Өөрийн захидлын хайрцгаас захидал авахын тулд та татаж авах агентийг
суулгах ёстой. fetchmail хэрэгсэл нь
олон төрлийн протоколуудыг дэмждэг болохоор үүнд сайн сонголт болох юм.
Энэ програм нь багц хэлбэрээр эсвэл портын цуглуулгад байдаг (mail/fetchmail). Ихэвчлэн
таны ISP POP үйлчилгээ
үзүүлдэг. Хэрэв та хэрэглэгчийн PPP ашиглаж байгаа бол
/etc/ppp/ppp.linkup дахь дараах оруулгыг
ашиглан Интернэтийн холболт тогтох үед өөрийн захидлыг автоматаар
авч болох юм:
MYADDR:
!bg su user -c fetchmail
Хэрэв та sendmail-г
локал биш бүртгэлүүдэд захидал илгээхийн тулд ашиглаж байгаа бол
(доор үзүүлсэн шиг) та өөрийнхөө Интернэтийн холболтыг тогтоосныхоо
дараа өөрийн захидлын дарааллыг sendmail-ээр
процесс хийлгэхийг хүсэх байх. Үүнийг хийхийн тулд энэ тушаалыг
/etc/ppp/ppp.linkup файлд
fetchmail тушаалын дараа байрлуулах хэрэгтэй:
!bg su user -c "sendmail -q"
Та bsd.home дээр
user-т зориулсан бүртгэлтэй гэж бодъё.
bsd.home дээрх user-ийн
гэрийн санд .fetchmailrc файлыг үүсгэх хэрэгтэй:
poll example.net protocol pop3 fetchall pass MySecret
Энэ файл нь MySecret гэсэн нууц үгийг агуулдаг
болохоор уг файлыг user-ээс өөр хэн ч унших
ёсгүй юм.
Зөв from: толгойтойгоор захидал илгээхийн
тулд та sendmail-д
user@bsd.home-ийн оронд
user@example.net-г ашиглахыг хэлж өгөх ёстой.
Та бас sendmail-д
хурдан захидал дамжуулах боломжийг бүрдүүлэхийн тулд бүх захидлыг дамжуулахдаа
relay.example.net-ийг ашиглахыг бас хэлж
өгөхийг хүсэж болох юм.
Дараах .mc файл нь хангалттай байх болно:
VERSIONID(`bsd.home.mc version 1.0')
OSTYPE(bsd4.4)dnl
FEATURE(nouucp)dnl
MAILER(local)dnl
MAILER(smtp)dnl
Cwlocalhost
Cwbsd.home
MASQUERADE_AS(`example.net')dnl
FEATURE(allmasquerade)dnl
FEATURE(masquerade_envelope)dnl
FEATURE(nocanonify)dnl
FEATURE(nodns)dnl
define(`SMART_HOST', `relay.example.net')
Dmbsd.home
define(`confDOMAIN_NAME',`bsd.home')dnl
define(`confDELIVERY_MODE',`deferred')dnl
Энэ .mc файлыг sendmail.cf
файл болгож хэрхэн хувиргах тухай дэлгэрэнгүйг өмнөх хэсгээс лавлана уу.
Бас sendmail.cf-г шинэчилснийхээ дараа
sendmail-г дахин эхлүүлэхээ мартуузай.
Жэймс
Горхам
Бичсэн
Цагаанхүүгийн
Ганболд
Орчуулсан
SMTP нэвтрэлт танилт
Өөрийн захидлын сервертээ SMTP Authentication
буюу нэвтрэлт танилттай байх нь хэд хэдэн талаараа ашигтай байдаг.
SMTP нэвтрэлт танилт нь sendmail-д
аюулгүй байдлын өөр давхарга нэмж чадах бөгөөд хостоо сольдог хөдөлгөөнт
хэрэглэгчдийн хувьд өөрийн захидлын клиентийнхээ тохиргоог дахин тохируулалгүйгээр
захидлын серверээ ашиглах боломжийг олгодгоороо ашигтай байдаг.
security/cyrus-sasl2-г
портоос суулгана. Та энэ портыг security/cyrus-sasl2
сангаас олж болно. security/cyrus-sasl2
порт нь хэд хэдэн эмхэтгэх үеийн тохируулгуудыг дэмждэг. Бидний ашиглах SMTP нэвтрэлт танилтын
аргын хувьд тохируулга хаагдаагүй эсэхийг шалгаарай.
security/cyrus-sasl2-г
суулгасны дараа /usr/local/lib/sasl2/Sendmail.conf-г
(байхгүй бол үүсгээрэй) засварлаж дараах мөрийг нэмэх хэрэгтэй:
pwcheck_method: saslauthd
Дараа нь security/cyrus-sasl2-saslauthd-г
суулгаж дараах мөрийг нэмэхийн тулд /etc/rc.conf-г засварлана:
saslauthd_enable="YES"
тэгээд эцэст нь saslauthd дэмонг эхлүүлнэ:
&prompt.root; /usr/local/etc/rc.d/saslauthd start
Энэ дэмон нь таны FreeBSD passwd мэдээллийн
баазаас нэвтрэлт таниулахын тулд sendmail-ийн хувьд
зуучлагч болдог. Энэ нь SMTP нэвтрэлт танилт ашиглах хэрэгтэй
хэрэглэгч бүрийн хувьд шинэ хэрэглэгчийн нэрс болон нууц үгсийг үүсгэх шаардлагагүй
болгож нэвтрэлт болон захидлын нууц үгийг өөрчлөлгүйгээр хэвээр байлгадаг юм.
Одоо /etc/make.conf-г засварлаад дараах мөрүүдийг нэмэх хэрэгтэй:
SENDMAIL_CFLAGS=-I/usr/local/include/sasl -DSASL
SENDMAIL_LDFLAGS=-L/usr/local/lib
SENDMAIL_LDADD=-lsasl2
Эдгээр мөрүүд нь sendmail-д
cyrus-sasl2 руу эмхэтгэх үед холбоос
хийхэд шаардлагатай зөв тохиргооны сонголтуудыг өгөх болно.
sendmail-ийг суулгахаас өмнө
cyrus-sasl2 суусан байгаа
эсэхийг баталгаажуулаарай.
Дараах тушаалуудыг ажиллуулж sendmail-г дахин эмхэтгэнэ:
&prompt.root; cd /usr/src/lib/libsmutil
&prompt.root; make cleandir && make obj && make
&prompt.root; cd /usr/src/lib/libsm
&prompt.root; make cleandir && make obj && make
&prompt.root; cd /usr/src/usr.sbin/sendmail
&prompt.root; make cleandir && make obj && make && make install
/usr/src тийм ч ихээр өөрчлөгдөөгүй бөгөөд
хэрэгцээтэй хуваалцдаг сангууд байгаа тохиолдолд sendmail-ийн эмхэтгэлт
ямар нэгэн асуудалгүй хийгдэх ёстой.
sendmail эмхэтгэгдэж дахин суулгагдсаны
дараа өөрийн /etc/mail/freebsd.mc
файлыг (аль эсвэл өөрийн .mc файл болгож ашигладаг тэр файлыг. Дахин давтагдахгүй
байхын тулд олон администраторууд &man.hostname.1;-ээс гарах гаралтыг ашиглан .mc файлаа
болгон сонгодог) засварлах хэрэгтэй. Эдгээр мөрүүдийг нэмэх хэрэгтэй:
dnl set SASL options
TRUST_AUTH_MECH(`GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN')dnl
define(`confAUTH_MECHANISMS', `GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN')dnl
Хэрэглэгчдийн нэвтрэлт танилтын хувьд sendmail-д
байдаг өөр аргуудыг эдгээр тохируулгууд нь тохируулдаг. Хэрэв та pwcheck-с
өөр аргыг ашиглахыг хүсэж байгаа бол хамт ирсэн баримтаас үзнэ үү.
Эцэст нь /etc/mail дотор байхдаа
&man.make.1;-г ажиллуулна. Энэ нь таны шинэ .mc
файлыг ажиллуулж freebsd.cf гэгдэх (өөрийн .mc
файлд зориулж ашигласан тэр) .cf файлыг үүсгэх болно.
Дараа нь make install restart тушаалыг
ашиглах хэрэгтэй. Энэ нь файлыг sendmail.cf руу
хуулж sendmail-г зөв ажиллуулах болно.
Энэ процессийн тухай дэлгэрэнгүй мэдээллийг /etc/mail/Makefile
файлаас лавлана уу.
Хэрэв бүгд зөв явсан бол та өөрийн нэвтрэх мэдээллийг захидлын клиент уруугаа
оруулж тест захидал илгээж чадах ёстой. Илүү судлахын тулд
sendmail-ийн -г
13 болгон тохируулж /var/log/maillog файлд
алдаа гарах эсэхийг харах хэрэгтэй.
SMTP нэвтрэлт танилттай холбоотой дэлгэрэнгүй
мэдээллийг sendmail хуудаснаас үзнэ үү.
Марк
Силвэр
Хамтран бичилцсэн
Шагдарын
Нацагдорж
Орчуулсан
Хэрэглэгчийн захидал дамжуулагчид
Хэрэглэгчийн захидал дамжуулагч
Mail User Agent (MUA) буюу хэрэглэгчийн
захидал дамжуулагч гэдэг нь захиаг илгээх болон хүлээн авах
зориулалттай програмууд байдаг. Мөн цаашилбал хоорондоо холбогдож
захидал
чулуудацгааснаар хэрэглэгчдийн
ажлыг түргэтгэж амарчилж чаддагаараа
MUA нар нь илүү хүчирхэг болж байгаа билээ.
&os; нь өөртөө маш олон захиа дамжуулагч програмуудыг
дэмждэг бөгөөд FreeBSD портын цуглуулгаас
та суулгах боломжтой.
Хэрэглэгчид магадгүй график дүрслэлтэй
evolution эсвэл
balsa, мөн консол дээр тулгуурлаж ажилладаг
програмууд болох mutt, pine
эсвэл mail, үгүй бол том байгууллагуудад ихэнхдээ
хэрэглэгддэг вэб харуулалттай захиа үзэгч зэргүүдээс сонгон хэрэглэх
боломж буй.
mail
&man.mail.1; бол &os;-н хэрэглэгчийн хэрэглэж болох
анхдагч захиа дамжуулагч програм юм. Энэ нь
консол дээр ажилладаг бөгөөд текст хэлбэрийн захиануудыг
дамжуулах болон хүлээж авах бүх ерөнхий гүйцэтгэлийг санал болгодог ч
зарим хавсаргасан файлуудтай ажиллахад зарим хүчин чадал нь
дутмаг бөгөөд зөвхөн дотоод захианы хайрцган дээр ажилладаг.
Хэдийгээр mail гуай
анхнаасаа POP эсвэл
IMAP серверүүдийг дэмждэггүй боловч
эдгээр сервер дээрх захианы хайрцгуудыг өөрийнхөө дотоод
mbox файл уруу
fetchmail програмыг ашиглан
хуулж чаддаг. fetchmail-н талаар энэ бүлэгт
сүүлд танилцуулах болно ().
Захиа хүлээж авах болон илгээхийн тулд консол дээр
ердөө дараах жишээний дагуу
mail тушаал өгөхөд л хангалттай:
&prompt.user; mail
Хэрэглэгч бүрд зориулсан
/var/mail доторх
захианы хайрцаг нь mail хэрэгслээр уншигддаг.
Хэрэв захианы хайрцаг хоосон байвал ямар ч захиа алга байна гэсэн
мэдэгдэл харуулаад энэ хэрэгсэл гардаг. Захианы хайрцаг доторх
захиа уншигдах үед энэ хэрэгслийн харуулах нүүр хэсэг ажиллаж эхлэн
захиануудыг жагсаалт болгож харуулдаг. Дараах маягаар захианууд нь
автоматаар дугаарлагдаж харуулагддаг:
Mail version 8.1 6/6/93. Type ? for help.
"/var/mail/marcs": 3 messages 3 new
>N 1 root@localhost Mon Mar 8 14:05 14/510 "test"
N 2 root@localhost Mon Mar 8 14:05 14/509 "user account"
N 3 root@localhost Mon Mar 8 14:05 14/509 "sample"
Захиануудыг одоо t
захианы-дугаар гэж тушаал өгснөөр тухайн
дугаартай захиаг уншина. Доорх жишээнд эхний захиаг уншиж харуулав:
& t 1
Message 1:
From root@localhost Mon Mar 8 14:05:52 2004
X-Original-To: marcs@localhost
Delivered-To: marcs@localhost
To: marcs@localhost
Subject: test
Date: Mon, 8 Mar 2004 14:05:52 +0200 (SAST)
From: root@localhost (Charlie Root)
This is a test message, please reply if you receive it.
Дээрх жишээн дээр харуулснаар t
товч дарж уншссан захианы толгой хэсгийг бүтнээр нь харуулж байна.
Захианы үндсэн жагсаалт уруу буцаж очихын тулд h
товчлуур хэрэглэгддэг.
Хэрэв захианд хариулж бичих тохиолдол гарвал
mail-н
R эсвэл r товчнуудыг ашигладаг.
R товч нь
mail-д зөвхөн илгээсэн хүнд нь хариулж бичихийг
зааж өгдөг байхад r товч нь илгээсэн хүнээс гадна мөн
өөр бусад хүлээн авагчид уруу илгээх боломж өгдөг. Та мөн энэ
тушаалуудын ард нь захианы дугаар бичиж өгөн тухайн оноосон захианд
хариулт бичиж болно. Ингэж хариулж бичих үйлдэл хийх үед
захианы хамгийн сүүлд нэг . гэсэн цэгтэй мөр
нэмэгддэгийг доорх жишээнээс харна уу:
& R 1
To: root@localhost
Subject: Re: test
Thank you, I did get your email.
.
EOT
Шинэ захиа илгээхийн тулд m
товч хэрэглэгддэг бөгөөд энэ товчлуурын араас хүлээн авах хүний
захианы хаягийг бичиж өгдөг. Олон хаяг бичигдэх тохиолдолд
захианы хаяг бүр , гэсэн таслал тэмдгээр
тусгаарлагддаг. Дараа нь захианы гарчгийг бичиж сүүлд нь
захиагаа бичдэг. Захианы төгсгөл хэсгийг
тусдаа нэг мөрөнд . гэж цэг оруулж өгснөөр
захиаг дуусгадаг.
& mail root@localhost
Subject: I mastered mail
Now I can send and receive email using mail ... :)
.
EOT
mail хэрэгсэл дотор
? товчлуур дарснаар ямар ч үед
тусламж мэдээллийг харуулж болдог бөгөөд мөн &man.mail.1;-н
гарын авлаганд илүү дэлгэрэнгүй мэдээллийг харах боломж бий.
Өмнө тайлбарлаж байсны дагуу &man.mail.1; хэрэгсэл нь
анхнаасаа хавсралт файлтай ажиллах зориулалттай хийгдээгүй болохоор
жаахан ядуувтар хэрэглэгддэг. Сүүлийн үеийн захидал дамжуулагчид
болох
mutt нь хавсралт файлтай арай ухаалаг
ажилладаг. Гэхдээ та заавал mail-г хэрэглэмээр
байгаа бол converters/mpack порт танд хэрэг болох
байх аа.
mutt
mutt бол жижигхэн боловч
маш хүчтэй захидал дамжуулагч бөгөөд дараах аятайхан шинж чанаруудыг
өөртөө агуулсан байдаг нь:
Захиануудтай давхар зэрэг ажиллах
Захианд нууцлалын хувиргалт хийх болон цахим гарын үсэг зурахад зориулагдсан PGP дэмжлэгтэй
MIME дэмжлэгтэй
Maildir дэмжлэгтэй
Дурын өөрчлөлт хийх боломжтой.
Эдгээр шинж чанаруудын ачаар
mutt нь хамгийн өргөн
тархсан хэрэглэгчийн захидал дамжуулагч болж чадсан юм. хаягнаас
mutt-н тухай дэлгэрэнгүй мэдээллийг харна уу.
mutt-н тогтвортой хувилбарыг
mail/mutt портоос суулгаж болох бөгөөд
хэрэв яг одоо хөгжүүлж буй хувилбарыг нь суулгахыг хүсвэл mail/mutt-devel портоос суулгаарай.Портоо
суулгасны дараа mutt-г эхлүүлэхдээ
дараах тушаалыг өгдөг:
&prompt.user; mutt
mutt нь хэрэглэгчийн
захианы хайрцгийг автоматаар /var/mail сангаас уншиж
хэрэв дотор нь захиа байвал харуулдаг. Хэрэв ямар ч захиа байхгүй
байвал хэрэглэгчээс тушаал оруулахыг
mutt хүлээх болно.
Доорх жишээнд mutt-н захидал
харуулалтыг үзүүлэв:
Захиаг уншихын тулд
сумтай товчоор захидлыг сонгож Enter товч дарна.
mutt-н захидал хэрхэн дэлгэж харуулсныг
доорх зурган дээр харуулав:
&man.mail.1; хэрэгсэлтэй ижилхэн
mutt нь мөн зөвхөн илгээсэн хүнд
нь юм уу эсвэл олон хүлээн авагч уруу хариулт бичиж болдог.
Зөвхөн илгээсэн хүнд нь хариу бичихийн тулд
r товч дарна. Захиа илгээсэн хүнийг нь оруулаад
бүлэг хүмүүс рүү захиа хариулж бичихийн тулд g
товч дардаг.
mutt нь захиа бичих болон
хариулахын тулд
&man.vi.1; програмыг ашиглан захиа засварлалт хийлгэдэг.
Гэхдээ өөрийн эхлэл сан дотроо .muttrc
файл үүсгэж
editor хувьсагч үүсгэх эсвэл
EDITOR гэсэн орчны хувьсагч үүсгэж өөрийн дуртай
засварлагчаа зааж өгч бас болно.
хаягнаас та
mutt-н талаар хэрхэн тохируулж болох
дэлгэрэнгүй зааврыг харна уу.
Шинэ захиа бичихийн тулд
m товч хэрэглэнэ. Гарчгийг оруулсны дараа
&man.vi.1; програмыг mutt ажиллуулж
захиагаа бичих боломж олгодог. Захиаг бичиж дууссаны дараа
vi програмаас хадгалаад гарсны дараа
илгээх захиаг mutt програм нэгтгэж
харуулдаг. Захиагаа илгээхдээ y товч дарна.
Илгээхийн өмнөх нэгтгэсэн харуулалтыг дор зурганд үзүүлье:
mutt нь өөртөө мөн тусламжийн
мэдээлэлтэй өгөөд ? товч дарж харуулагдана.
Дэлгэцийн дээд хэсэгт ямар товч дарж болох тухай тайлбар
мэдээлэл харуулаастай байдаг.
pine
pine програмыг эхлэн
хэрэглэгчдэд зориулж үүсгэсэн бөгөөд нэмэлт шинж чанаруудыг
агуулсан байдаг.
pine-н өмнөх хувилбаруудад
алсаас холбогдсон халдагчид тусгай кодыг хэрэглэгч маягаар
холбогдон захиа маягаар илгээж уг аюултай кодыг гүйцэтгэж болдог
аюултай нүх байжээ. Эдгээр
мэдэгдсэн хүндрэлүүд нь засагдсан
боловч
pine-ы програмын аюулгүйн хамгаалалт
загвар нь тун сул болохоор &os;-н аюулаас хамгаалагч нөхдүүд
уг програмд өөр онгорхой нүх бий гэж итгэдэг юм байна.
Та өөртөө гарах эрсдэлийг тооцож мэдэж байгаа бол
pine-г суулгаарай.
pine-н одоогийн хөгжүүлж байгаа
хувилбарыг mail/pine4 портоос суулгана.
Порт суугдсаны дараа
pine-г дараах тушаалаар эхлүүлдэг:
&prompt.user; pine
Анх удаагаа pine ажиллах үедээ
мэндчилгээ болон товч заавар харуулаад pine
зохиосон хүмүүст мэдээлэх журмын нэргүй захиа илгээхийг хүсдэг.
Тэр нэргүй захиаг илгээхийн тулд Enter товч дарах
эсвэл мөн E товч дарж нэргүй захиа илгээх хэсгээс
хадгалахгүй гардаг. Мэндчилгээний хуудас дараах маягаар харагддаг:
Хэрэглэгчдэд дараа нь сумтай товчоор сонгож болдог
үндсэн цэс харуулагддаг.
Үндсэн цэс дотор шинэ захиа бичих, захиа агуулсан сан доторхоо
харах, мөн хаяг хадгалалтаа зохицуулах зэрэг боломж байдаг.
Доорх зурагт эдгээр боломжуудын цэсийг харуулсан үндсэн
цэсийг үзүүлэв.
pine-р нээгдсэн үндсэн сан бол
inbox гэсэн нэртэй сан байдаг.
Захианы жагсаалтыг харахын тулд
I товч дарах, эсвэл MESSAGE INDEX
цэсийг сонгоно:
Захианы санд буй захиануудыг жагсааж харуулсны дараа
сумтай товчоор сонгож
Enter товч дарж уншина.
Доорх зурган дээр
pine дээр энгийн захиаг
харуулав. Дэлгэцийн доод хэсэгт лавлах болгож гарын товчлууруудыг
харуулдаг. Жишээ нь r товч дарснаар одоогийн
харуулж байгаа захианд хариу бичнэ.
pine дээр захианд хариу бичих үед
pico засварлагч хэрэглэгддэг
бөгөөд энэ засварлагч нь pine-тай
хамт суугддаг. pico хэрэгсэл нь
захиа бичихэд маш энгийн бөгөөд &man.vi.1; эсвэл &man.mail.1; зэргийг
ашиглагчдыг бодвол шинэ хэрэглэгчид рүү илүү дөхүүлсэн байдаг.
Хариулт захиагаа бичиж дуусаад
CtrlX
товч дарж илгээдэг. Илгээхийн өмнө
pine танаас лавлаж асуух болно.
Үндсэн цэснээс SETUP гэж сонгосноор
pine програмыг та хүссэнээрээ өөрчлөх
боломжтой.
хаягаас дэлгэрэнгүй мэдээллийг харна уу.
Марк
Силвэр
Хувь нэмэр болгон оруулсан
Цагаанхүүгийн
Ганболд
Орчуулсан
fetchmail-г ашиглах нь
fetchmail
fetchmail нь хэрэглэгчдэд
алсын IMAP болон POP
серверүүдээс захидал автоматаар татан авч локал захидлын хайрцгуудад
хадгалах боломжийг олгодог, өргөн боломжтой,
IMAP болон POP
клиент юм. Тэдгээр захидлын хайрцгуудад дараа нь хандахад илүү хялбар
байдаг. fetchmail-г
mail/fetchmail портыг
ашиглан суулгаж болох бөгөөд төрөл бүрийн боломжуудыг санал болгодгоос
заримыг дурдвал:
POP3,
APOP, KPOP,
IMAP, ETRN болон
ODMR протоколуудын дэмжлэг.
SMTP-г ашиглан захидал дамжуулах чадвар.
Энэ нь шүүлт хийх, дамжуулалт хийх болон хэвийн ажиллахын тулд хуурамч дүр
үзүүлэх боломжийг олгодог.
Шинэ захидлуудыг байнга шалгахын тулд дэмон горимоор ажиллуулж болно.
Олон захидлын хайрцгуудыг хүлээн авч тэдгээрийг тохиргооноос хамааран
өөр локал хэрэглэгчүүд рүү дамжуулж чаддаг.
fetchmail-ийн бүх боломжуудыг
тайлбарлах нь энэ баримтын хүрээнээс гадуур боловч зарим нэг үндсэн
боломжуудыг тайлбарлах болно. fetchmail
хэрэгсэл нь зөв ажиллахын тулд .fetchmailrc
гэгддэг тохиргооны файлыг шаарддаг. Энэ файл нь серверийн мэдээлэл
болон нэвтрэх итгэмжлэлүүдийг агуулдаг. Энэ файлын агуулгын мэдрэмтгий
чанараас болоод энэ файлыг зөвхөн эзэмшигч нь уншиж чаддаг байхаар болгон дараах
тушаал ашиглаж хийхийг зөвлөдөг:
&prompt.user; chmod 600 .fetchmailrc
Дараах .fetchmailrc файл нь
ганц хэрэглэгчийн захидлын хайрцгийг POP ашиглан татаж
авах жишээ юм. Энэ нь fetchmail-г
joesoap хэрэглэгчийн нэр болон
XXX нууц үгийг ашиглан example.com руу холбогдыг зааж байна. Энэ жишээ нь
joesoap хэрэглэгчийг локал систем дэх
хэрэглэгч гэж бас үздэг.
poll example.com protocol pop3 username "joesoap" password "XXX"
Дараах жишээ нь олон POP
болон IMAP серверүүд рүү холбогдож
шаардлагатай тохиолдолд өөр локал хэрэглэгчид рүү дахин чиглүүлж байна:
poll example.com proto pop3:
user "joesoap", with password "XXX", is "jsoap" here;
user "andrea", with password "XXXX";
poll example2.net proto imap:
user "john", with password "XXXXX", is "myth" here;
fetchmail хэрэгслийг
туг болон түүний дараа .fetchmailrc файлд
жагсаагдсан серверүүдийг байнга шалгах тэр хугацааг (секундээр) зааж өгөн
дэмон горимд ажиллуулж болдог. Дараах жишээ нь fetchmail-г
600 секунд бүр шалгахаар тохируулж байна:
&prompt.user; fetchmail -d 600
fetchmail-ийн тухай
дэлгэрэнгүй мэдээллийг хаягаас олж болно.
Марк
Силвэр
Хувь нэмэр болгон оруулсан
Цагаанхүүгийн
Ганболд
Орчуулсан
procmail-г ашиглах нь
procmail
procmail хэрэгсэл нь ирж байгаа захидлыг
шүүхэд хэрэглэгддэг гайхамшигтай хүчтэй програм юм. Энэ нь хэрэглэгчдэд
ирж байгаа захидлуудад тааруулж дүрмүүдийг
тодорхойлох
боломжийг олгодог бөгөөд энэ дүрмүүдийг ашиглан тусгай үйлдлүүд хийх эсвэл
захидлыг өөр захидлын хайрцаг ба/эсвэл цахим захидлын хаягууд руу дахин
чиглүүлэх зэрэг ажлуудыг хийж болох юм. procmail-г
mail/procmail порт ашиглан суулгаж
болно. Суулгасны дараа үүнийг MTA-уудтай цуг ажиллахаар
тохируулж болно; дэлгэрэнгүй мэдээллийг өөрийн MTA-ийн
баримтаас лавлана уу. Мөн procmail-н
боломжуудыг ашиглаж байгаа хэрэглэгчийн гэрийн сан дахь .forward
файлд дараах мөрийг нэмж өгч болно:
"|exec /usr/local/bin/procmail || exit 75"
Дараах хэсэг нь procmail-ийн зарим үндсэн
дүрмүүдийг үзүүлэх бөгөөд тэдгээрийн юу хийдэг талаар товч тайлбар өгөх болно.
Эдгээр дүрмүүд болон бусдууд нь .procmailrc
файлд хийгдсэн байх ёстой бөгөөд энэ файл нь хэрэглэгчийн гэрийн санд
байрлах ёстой.
Эдгээр дүрмүүдийн ихэнхийг &man.procmailex.5;-ийн гарын авлагын хуудаснаас
олж болно.
user@example.com-с ирсэн бүх захидлыг
goodmail@example2.com гадаад хаяг уруу дамжуулна:
:0
* ^From.*user@example.com
! goodmail@example2.com
1000 байтаас бага бүх захидлуудыг goodmail@example2.com
гадаад хаяг уруу дамжуулна:
:0
* < 1000
! goodmail@example2.com
alternate@example.com руу илгээсэн бүх захидлыг
alternate гэгдсэн захидлын хайрцагт хийнэ:
:0
* ^TOalternate@example.com
alternate
Spam
сэдэв бүхий бүх захидлыг /dev/null
уруу илгээнэ:
:0
^Subject:.*Spam
/dev/null
Ирж байгаа &os;.org захидлын жагсаалтуудыг
шалгаж жагсаалт бүрийг өөрийнх нь захидлын хайрцаг уруу хийдэг, ашигтай зааврыг доор үзүүлэв:
:0
* ^Sender:.owner-freebsd-\/[^@]+@FreeBSD.ORG
{
LISTNAME=${MATCH}
:0
* LISTNAME??^\/[^@]+
FreeBSD-${MATCH}
}
diff --git a/mn_MN.UTF-8/books/handbook/ppp-and-slip/chapter.sgml b/mn_MN.UTF-8/books/handbook/ppp-and-slip/chapter.sgml
index aa97a033c4..adbc8aed2c 100644
--- a/mn_MN.UTF-8/books/handbook/ppp-and-slip/chapter.sgml
+++ b/mn_MN.UTF-8/books/handbook/ppp-and-slip/chapter.sgml
@@ -1,3128 +1,3124 @@
Жим
Мок
Бүтцийг дахин өөрчлөн зохион байгуулж шинэчилсэн
Цагаанхүүгийн
Ганболд
Орчуулсан
PPP болон SLIP
Ерөнхий агуулга
PPP
SLIP
FreeBSD нь нэг компьютерийг нөгөөтэй холбох хэд хэдэн аргуудтай байдаг.
Dial-up модемоор сүлжээнд эсвэл Интернэтэд холболт хийх юм уу эсвэл
бусдыг өөрөөр чинь дамжихыг зөвшөөрөхийн тулд PPP эсвэл SLIP-г
хэрэглэхийг шаарддаг. Энэ бүлэг эдгээр модем дээр тулгуурласан холбооны
үйлчилгээнүүдийг тохируулах талаар дэлгэрэнгүй тайлбарлах болно.
Энэ бүлгийг уншсаны дараа, та дараах зүйлсийг мэдэх болно:
Хэрэглэгчийн PPP-г хэрхэн тохируулах талаар.
Цөмийн PPP-г хэрхэн тохируулах талаар.
PPPoE-г (PPP over Ethernet
буюу Ethernet дээгүүрх PPP) хэрхэн тохируулах талаар.
PPPoA-г (PPP over ATM
буюу ATM дээгүүрх PPP) хэрхэн тохируулах талаар.
SLIP клиент болон серверийг хэрхэн тохируулж суулгах талаар.
PPP
хэрэглэгчийн PPP
PPP
цөмийн PPP
PPP
Ethernet дээгүүрх
Энэ бүлгийг уншихаасаа өмнө та дараах зүйлсийг гүйцэтгэх хэрэгтэй:
Сүлжээний үндсэн ухагдахуунуудыг мэддэг байх.
Гадагш залгах (dialup) холболт болон PPP ба/эсвэл SLIP-ийн үндэс
болон зорилгыг ойлгосон байх.
Та хэрэглэгчийн PPP болон цөмийн PPP хоёрын хоорондох гол ялгаа нь юу юм
бол гэж гайхаж байж магадгүй юм. Хариулт нь хялбархан: хэрэглэгчийн PPP
нь ирж байгаа болон гарч байгаа өгөгдлийг цөмийн талбарт биш хэрэглэгчийн
талбарт процесс хийдэг. Энэ нь өгөгдлийг цөм болон хэрэглэгчийн талбар
хоёрын хооронд хуулдгаараа зардалтай боловч хамаагүй илүү боломжуудаар
баялаг PPP шийдлийг зөвшөөрдөг. Хэрэглэгчийн PPP нь гаднах ертөнцтэй
холбогдохдоо tun төхөөрөмжийг ашигладаг
бол цөмийн PPP ppp төхөөрөмжийг
ашигладаг.
Энэ бүлэгт хэрэглэгчийн PPP-г pppd зэрэг өөр бусад PPP програм хангамжаас
ялгах шаардлага гарахгүй тохиолдолд ердөө л ppp
гэх болно. Тусгайлан тайлбарлаагүй л бол энэ бүлэгт тайлбарласан бүх тушаалууд нь
root эрхээр ажиллуулагдах ёстой.
Том
Рөүдс
Шинэчилж өргөжүүлсэн
Брайн
Сомерс
Анхлан хувь нэмэр болгон оруулсан
Ник
Клэйтон
Зарим хэсгийг нэмсэн
Дирк
Фромберг
Питер
Чайлдс
Хэрэглэгчийн PPP ашиглах
Хэрэглэгчийн PPP
Таамаглалууд
Энэ баримт нь таныг дараах шаардлагуудыг хангасан гэж тооцдог:
ISP
PPP
PPP ашиглан таны холбогдох Интернэтийн үйлчилгээ үзүүлэгчээс (ISP)
өгсөн бүртгэл.
Танд модем эсвэл өөр төхөөрөмж таны системд холбогдсон байгаа
бөгөөд тэр нь танд өөрийн ISP-тай холбогдохыг зөвшөөрөхөөр зөв
тохируулагдсан байгаа.
Таны ISP-ийн хандах dial-up дугаар(ууд).
PAP
CHAP
UNIX
нэвтрэх нэр
нууц үг
Таны нэвтрэх нэр болон нууц үг. (ердийн &unix; загварын нэвтрэлт
болон нууц үгийн хослол юм уу эсвэл PAP эсвэл CHAP нэвтрэлт болон
нууц үгийн хослол.)
нэрийн сервер
Нэг буюу хэд хэдэн нэрийн серверүүдийн IP хаяг. Хэвийн үед
үүнд зориулан ашиглахаар хоёр IP хаягийг таны ISP танд өгдөг. Хэрэв тэд
танд ядаж ганцыг өгөөгүй бол та enable dns
тушаалыг ppp.conf файлд ашиглавал
ppp нэрийн серверүүдийг танд
тохируулж өгөх болно. Энэ боломж нь DNS-тай тохиролцоог дэмждэг
таны ISP-ийн PPP шийдлээс хамаарах юм.
Дараах мэдээллийг таны ISP өгсөн байж болох боловч энэ нь заавал шаардлагагүй
юм:
Таны ISP-ийн гарцын IP хаяг. Гарц нь таны холбогдох машин бөгөөд
таны анхдагч чиглүүлэлт гэж тохируулагдах
болно. Хэрэв танд энэ мэдээлэл байхгүй бол бид нэгийг орлуулж болох
бөгөөд таны ISP-ийн PPP сервер биднийг холбогдох үед зөв утгыг хэлж
өгөх болно.
Энэ IP дугаар нь ppp-ээр
HISADDR гэгдэнэ.
Таны ашиглах ёстой сүлжээний баг. Хэрэв таны ISP үүнийг өгөөгүй
бол та аюулгүйгээр 255.255.255.255
гэж ашиглаж болно.
статик IP хаяг
Хэрэв таны ISP танд статик IP хаяг болон хостын нэр өгсөн бол та
тэдгээрийг оруулж болно. Үгүй бол бид нөгөө талын өгөх тохирох IP хаягийг
ердөө л зөвшөөрөх болно.
Хэрэв танд шаардлагатай мэдээллийн аль нь ч байхгүй бол өөрийн ISP уруугаа
хандана уу.
Энэ хэсэгт жишээнүүдийн олонхийн үзүүлж байгаа тохиргооны файлуудын
агуулгуудад байгаа мөр бүр дугаарлагдсан байгаа болно. Эдгээр дугаарууд нь
танилцуулга болон хэлэлцүүлэгт туслах зорилгоор зөвхөн ашиглагддаг бөгөөд
яг үнэндээ жинхэнэ файл дээрээ тавигдах ёстой гэсэн үг биш юм.
Tab ашиглан зөв догол хийх болон зайн тэмдэгтүүд нь бас чухал юм.
Автомат PPP тохиргоо
PPPтохиргоо
ppp болон pppd нь
(PPP-ийн цөмийн түвшний шийдэл) /etc/ppp сан
дахь тохиргооны файлуудыг ашигладаг. Хэрэглэгчийн ppp-д зориулсан жишээнүүдийг
/usr/share/examples/ppp/ сангаас олж болно.
ppp-г тохируулах нь таны өөрийн шаардлагуудаас
хамаарч хэд хэдэн файлуудыг засварлахыг танаас шаарддаг. Тэдгээрт юу оруулах нь
таны ISP IP хаягуудыг статикаар өгдөг үү (өөрөөр хэлбэл танд нэг IP хаяг өгөх
бөгөөд зөвхөн тэрийг дандаа ашиглана) эсвэл динамикаар (өөрөөр хэлбэл таны IP хаяг
таныг ISP-даа холбогдох бүрт өөрчлөгддөг) өгдөг үү гэдгээс зарим талаараа
хамаардаг.
PPP болон статик IP хаягууд
PPPстатик IP хаягуудтай цуг
Та /etc/ppp/ppp.conf тохиргооны
файлыг засварлах хэрэгтэй. Энэ нь доорх жишээтэй төстэй харагдах
ёстой.
:-ээр төгссөн мөрүүд эхний баганаас эхэлнэ
(мөрийн эхлэл)— бусад бүх мөрүүдэд доор үзүүлсэн шиг зай эсвэл
tab-аар догол гаргасан байх ёстой.
1 default:
2 set log Phase Chat LCP IPCP CCP tun command
3 ident user-ppp VERSION (built COMPILATIONDATE)
4 set device /dev/cuad0
5 set speed 115200
6 set dial "ABORT BUSY ABORT NO\\sCARRIER TIMEOUT 5 \
7 \"\" AT OK-AT-OK ATE1Q0 OK \\dATDT\\T TIMEOUT 40 CONNECT"
8 set timeout 180
9 enable dns
10
11 provider:
12 set phone "(123) 456 7890"
13 set authname foo
14 set authkey bar
15 set login "TIMEOUT 10 \"\" \"\" gin:--gin: \\U word: \\P col: ppp"
16 set timeout 300
17 set ifaddr x.x.x.x y.y.y.y 255.255.255.255 0.0.0.0
18 add default HISADDR
Мөр 1:
Анхдагч оруулгыг тэмдэглэдэг. Энэ оруулга дахь тушаалууд нь
ppp ажиллах үед автоматаар ажилладаг.
Мөр 2:
Параметрүүдийг бүртгэл хийхийг идэвхжүүлнэ. Тохиргоо
хангалттайгаар ажиллаж байгаа үед бүртгэлийн файлын их хэмжээнээс
сэргийлэхийн тулд энэ мөрийг
set log phase tun
болгох ёстой.
Мөр 3:
PPP-д нөгөө талдаа өөрийгөө хэрхэн таниулахыг хэлж өгдөг.
PPP нь тохиролцож холбоосыг үүсгэх үедээ ямар нэгэн асуудалтай байгаа
эсэхээ таниулсан мэдээллээр нөгөө талаа хангадаг бөгөөд нөгөө талын
администратор иймэрхүү асуудлуудыг судалж байгаа үед энэ нь ашигтай
байж болох юм.
Мөр 4:
Модемийн холбогдсон төхөөрөмжийг тодорхойлдог.
COM1 нь
- /dev/cuad0 (эсвэл
- &os; 5.X дээр /dev/cuaa0)
+ /dev/cuad0
бөгөөд
COM2 нь
- /dev/cuad1 (эсвэл
- /dev/cuaa1) юм.
+ /dev/cuad1 юм.
Мөр 5:
Таны холбогдох хурдыг заадаг. Хэрэв 115200 ажиллахгүй
бол (ямар ч шинэ модемтой энэ нь болох ёстой)
38400-гаар оролдож үзээрэй.
Мөр 6 & 7:
PPPхэрэглэгчийн PPP
Залгах мөр. Хэрэглэгчийн PPP нь &man.chat.8; програмын
адил хүлээгээд илгээх зарчмыг ашигладаг. Энэ хэлний боломжуудын тухай
мэдээллийг гарын авлагын хуудаснаас лавлана уу.
Энэ тушаал нь уншигдахад хялбар байх зорилгоор дараагийн
мөрөнд үргэлжилж байгааг анзаараарай. Хэрэв мөрийн сүүлийн
тэмдэгт ``\'' байвал ppp.conf
файл дахь ямар ч тушаал ийм байж болох юм.
Мөр 8:
Энэ холбоосонд зориулж сул зогсох хугацааг тохируулна. 180
секунд нь анхдагч байна, тэгэхээр энэ мөр нь цэвэр гоо сайхны зүйл юм.
Мөр 9:
Локал танигчийн тохиргоог бататгахын тулд нөгөө талаасаа асуухыг
PPP-д хэлнэ. Хэрэв та локал нэрийн серверийг ажиллуулах бол энэ
мөрийг тайлбар болгох юм уу эсвэл арилгах ёстой.
Мөр 10:
Уншихад хялбар байх зорилгоор хоосон мөр байна. PPP нь
хоосон мөрүүдийг орхидог.
Мөр 11:
provider
гэж нэрлэгдсэн үзүүлэгчид
зориулсан оруулгыг тодорхойлдог. Үүнийг өөрийн ISP-ийн
нэрээр сольж болох юм. Ингэсний дараа та холболтыг эхлүүлэхийн
тулд гэж ашиглаж болох юм.
Мөр 12:
Энэ үзүүлэгчийн хувьд утасны дугаарыг тохируулдаг. Олон утасны
дугаарыг тодорхойлох хоёр цэг (:) юм уу эсвэл
хоолой тэмдэгтийг (|) тусгаарлагч болгон ашиглан
зааж өгч болно. Хоёр тусгаарлагчийн ялгаа &man.ppp.8;-д тайлбарлагдсан
байдаг. Дүгнэж хэлэхэд хэрэв та дугааруудыг ээлжлэн ашиглах бол тодорхойлох
цэгийг ашиглана. Хэрэв та эхний дугаар уруу эхлээд үргэлж залгахыг хүсэж
байгаа бөгөөд зөвхөн эхний дугаар нь амжилтгүй болсон тохиолдолд бусад дугааруудыг
ашиглахыг хүсэж байгаа бол хоолой тэмдэгтийг ашиглаарай. Утасны дугааруудыг
тэр чигээр нь үзүүлсэн шиг үргэлж хаалтанд хийх хэрэгтэй.
Хэрэв та утасны дугаар дээр зай ашиглахаар бол утасны дугаарыг хаалтанд
(") хийх ёстой. Ингэхгүй бол энэ нь энгийн боловч баригдашгүй
алдаанд хүргэж болох юм.
Мөр 13 & 14:
Хэрэглэгчийн нэр болон нууц үгийг тодорхойлно. &unix;
загварын нэвтрэлт хүлээх мөрийг ашиглан холбогдох үед эдгээр
утгууд нь set login тушаалаар
\U болон \P хувьсагчуудыг ашиглан хийгддэг. PAP эсвэл CHAP
ашиглан холбогдож байгаа үед эдгээр утгууд нь нэвтрэлт танилт
хийгдэхэд хэрэглэгддэг.
Мөр 15:
PAP
CHAP
Хэрэв та PAP эсвэл CHAP ашиглаж байгаа бол нэвтрэлт энэ
үед байхгүй байх бөгөөд энэ мөр нь тайлбар болгогдох юм уу эсвэл
арилгагдсан байх ёстой. Илүү дэлгэрэнгүй мэдээллийг
PAP болон CHAP
нэвтрэлт танилт холбоосоос үзнэ үү.
Нэвтрэлтийн мөр нь залгах мөр шиг чалчихтай төсөөтэй зарчимтай
байдаг. Энэ жишээн дээр нэвтрэх сесс нь доор дурдсантай адил үйлчилгээний
хувьд уг мөр ажиллаж байна:
J. Random Provider
login: foo
password: bar
protocol: ppp
Та энэ скриптийг өөрийн хэрэгцээндээ тааруулан өөрчлөх
хэрэгтэй болно. Энэ скриптийг эхний удаа бичиж байхдаа та
яриа хүссэнээр үргэлжилж байгаа эсэхийг тодорхойлж чадахаар
байхын тулд chat
буюу чалчих бүртгэлийг
идэвхжүүлсэн эсэхээ баталгаажуулах хэрэгтэй.
Мөр 16:
timeout
Анхдагч сул зогсох хугацааг (секундээр) холболтод зориулж
тохируулдаг. Энд холболт нь 300 секундын хугацаанд идэвхгүй байвал
автоматаар хаагдах болно. Хэрэв та хугацааны хувьд хэзээ ч дуусахгүй
байхыг хүсвэл энэ утгыг тэг болгох юм уу эсвэл
тушаалын мөрийн тохируулгыг ашиглах хэрэгтэй.
Мөр 17:
ISP
Интерфэйсийн хаягуудыг тохируулна. x.x.x.x
мөрийг таны интернэтийн үйлчилгээ үзүүлэгчийн танд хуваарилсан
IP хаягаар солих шаардлагатай. y.y.y.y
мөрийг таны ISP өөрийн гарцыг (таны холбогдох машин) заасан тэр IP
хаягаар солих шаардлагатай. Хэрэв таны ISP гарцын хаягийг
танд өгөөгүй бол 10.0.0.2/0
гэж ашиглаарай. Хэрэв та таасан
хаягийг
ашиглах хэрэгтэй бол PPP болон динамик IP
хаягууд хэсэгт зориулсан заавруудын дагуу
/etc/ppp/ppp.linkup файлдаа
оруулга үүсгэсэн эсэхээ шалгаарай. Хэрэв энэ мөрийг орхивол
ppp нь
горимд ажиллаж чадахгүй.
Мөр 18:
Өөрийн ISP-ийн гарц уруу анхдагч чиглүүлэлтийг нэмнэ.
HISADDR тусгай үгийг мөр 17 дээр
заасан гарцын хаягаар сольдог. Энэ мөр нь 17-р мөрийн дараа байх
нь чухал бөгөөд тэгэхгүй бол HISADDR нь
эхлэн тохируулагдаж амжихгүй байх юм.
Хэрэв та ppp-г горимд
ажиллуулахыг хүсэхгүй бол энэ мөрийг ppp.linkup
файлд шилжүүлэх ёстой.
Та статик IP хаягтай бөгөөд ppp-г
горимоор ажиллуулж байгаа бол ppp.linkup файлд
оруулга нэмэх шаардлагагүй бөгөөд учир нь таныг холбогдохоос өмнө таны чиглүүлэлтийн
хүснэгтийн оруулгууд нь аль хэдийн зөв байх учраас тэр юм. Гэхдээ та
холболтын дараа програмуудыг ажиллуулах оруулга үүсгэхийг хүсэж болох
юм. Энэ нь sendmail-ийн жишээн дээр сүүлд тайлбарлагдах болно.
Жишээ тохиргооны файлууд нь /usr/share/examples/ppp/
санд байрлана.
PPP болон динамик IP хаягууд
PPPдинамик IP хаягуудтай цуг
IPCP
Хэрэв таны үйлчилгээ үзүүлэгч статик IP хаягуудыг олгодоггүй бол
локал болон алсын хаягууд дээр тохирдог байхаар ppp нь
тохируулагдаж болно. IP хаягийг таах
болон холболтын дараа IP Configuration Protocol (IPCP)
буюу IP тохиргооны протокол ашиглан зөвөөр тохируулахыг
ppp-д зөвшөөрөх замаар үүнийг хийнэ.
ppp.conf тохиргоо нь
дараах өөрчлөлтийн хамтаар
PPP болон статик IP
хаягууд хэсэгтэй адил байна:
17 set ifaddr 10.0.0.1/0 10.0.0.2/0 255.255.255.255
Дахин хэлэхэд мөрийн дугаарыг битгий оруулаарай, энэ нь зөвхөн
лавлагааны зорилгоор байгаа юм. Ядаж нэг хоосон зайгаар
догол гаргах шаардлагатай.
Мөр 17:
/ тэмдэгтийн дараах дугаар нь
ppp-ийн шаардах хаягийн битийн тоо юм. Та өөрийн нөхцөлдөө
тохируулан IP дугааруудыг ашиглахыг хүсэж болох юм, гэхдээ
дээрх жишээнүүд нь үргэлж ажиллах болно.
Сүүлийн нэмэлт өгөгдөл (0.0.0.0)
нь PPP-д 10.0.0.1-ийн оронд 0.0.0.0 хаяг ашиглан
тохиролцоог эхлүүлэхийг хэлж байгаа бөгөөд зарим нэгэн ISP-уудын
хувьд энэ нь шаардлагатай байдаг. Эхний чиглүүлэлтийг
горимд тохируулахад PPP-д
саад болдог учраас set ifaddr
тушаалд 0.0.0.0-г эхний нэмэлт өгөгдөл
болгон битгий ашиглаарай.
Хэрэв та горимд ажиллахгүй байгаа бол
/etc/ppp/ppp.linkup файлд оруулга
үүсгэх хэрэгтэй болно. ppp.linkup нь
холболт тогтсоны дараа ашиглагддаг. Энэ үед ppp
нь интерфэйсийн хаягуудыг олгосон байх бөгөөд одоо чиглүүлэлтийн хүснэгтийн
оруулгуудыг нэмэх боломжтой болсон байх болно:
1 provider:
2 add default HISADDR
Мөр 1:
Холболт тогтоохдоо ppp нь
дараах дүрмүүдийн дагуу ppp.linkup файлд
оруулгыг хайх болно: Эхлээд бидний ppp.conf
файлд ашигласантай адил хаяг/шошготой таарахыг оролдоно.
Хэрэв амжилтгүй болвол бидний гарцын IP хаягийн оруулгыг хайна.
Энэ оруулга нь дөрвөн ширхэг найман битээс тогтох IP загварын
хаяг/шошго юм. Хэрэв бид тэгсэн ч гэсэн оруулга олоогүй байгаа
бол MYADDR оруулгыг хайна.
Мөр 2:
Энэ мөр нь HISADDR уруу заасан
анхдагч чиглүүлэлт нэмэхийг ppp-д хэлж
байна. HISADDR нь IPCP-ээр
тохиролцсоны дагуу гарцын IP хаягаар солигдох болно.
Нарийвчилсан жишээний хувьд
/usr/share/examples/ppp/ppp.conf.sample
болон
/usr/share/examples/ppp/ppp.linkup.sample
файлууд дахь pmdemand оруулгыг харна уу.
Ирж байгаа дуудлагуудыг хүлээн авах
PPPирж байгаа дуудлагуудыг
хүлээн авах
LAN-д холбогдсон машин дээр ирж байгаа дуудлагуудыг хүлээн авахаар
болгож ppp-г тохируулахдаа LAN уруу
пакетуудыг дамжуулахыг хүсэж байгаа эсэхээсээ хамаарч үүнийг шийдэх
ёстой. Хэрэв та ингэхийг хүсэж байгаа бол өөрийн LAN-ий дэд сүлжээнээс
IP хаягийг нөгөө талдаа хуваарилж өгөх хэрэгтэй бөгөөд өөрийн
/etc/ppp/ppp.conf файлд
enable proxy тушаалыг ашиглах хэрэгтэй.
/etc/rc.conf файл доор дурдсаныг агуулж
байгаа эсэхийг бас баталгаажуулах хэрэгтэй:
gateway_enable="YES"
Аль getty?
&man.getty.8; ашиглан dial-up буюу гадагш залгах үйлчилгээнүүдийг
идэвхжүүлэх тухай сайн тайлбарыг Dial-up буюу гадагш
залгах үйлчилгээнүүдэд зориулж FreeBSD-г тохируулах хэсэг өгдөг.
getty-тэй төстэй програм нь
dial-up шугамуудыг бодолцож хийсэн getty-ийн
илүү ухаалаг хувилбар болох mgetty
юм.
mgetty-г ашиглахын давуу тал нь
тэрээр модемуудтай идэвхтэйгээр ярилцдаг
явдал бөгөөд энэ нь юу гэсэн үг вэ гэхээр хэрэв таны порт хаагдсан
бол модем чинь утсанд хариулахгүй гэсэн үг юм.
mgetty-ийн сүүлийн хувилбарууд нь
(0.99beta-аас эхлэн) таны клиентүүдэд скриптгүйгээр таны серверт
хандах хандалтыг зөвшөөрч PPP урсгалуудын автомат илрүүлэлтийг
бас дэмждэг.
mgetty-ийн тухай дэлгэрэнгүй мэдээллийг
Mgetty ба AutoPPP
хаягаас лавлана уу.
PPP зөвшөөрлүүд
ppp тушаалыг
root хэрэглэгчээр хэвийн үед
ажиллуулах ёстой. Гэхдээ хэрэв та ppp-г
доор тайлбарласны адилаар энгийн хэрэглэгчээр серверийн
горимд ажиллуулах боломжтой болгохыг хүсэж байгаа бол
хэрэглэгчийг ppp ажиллуулах зөвшөөрөлтэй
болгож тэдгээрийг /etc/group файлд
network бүлэгт нэмэх ёстой.
Та allow тушаалыг ашиглан тохиргооны файлын
нэг буюу хэд хэдэн хэсгүүдэд хандах боломжийг бас өгөх шаардлагатай
болно:
allow users fred mary
Хэрэв энэ тушаал нь default хэсэгт
хэрэглэгдсэн бол заасан хэрэглэгчдэд бүх зүйл уруу хандах боломжийг
олгоно.
Динамик IP-тай хэрэглэгчдэд зориулсан PPP бүрхүүлүүд
PPP бүрхүүлүүд
доор дурдсаныг агуулсан /etc/ppp/ppp-shell
гэгдэх файлыг үүсгэнэ:
#!/bin/sh
IDENT=`echo $0 | sed -e 's/^.*-\(.*\)$/\1/'`
CALLEDAS="$IDENT"
TTY=`tty`
if [ x$IDENT = xdialup ]; then
IDENT=`basename $TTY`
fi
echo "PPP for $CALLEDAS on $TTY"
echo "Starting PPP for $IDENT"
exec /usr/sbin/ppp -direct $IDENT
Энэ скрипт нь ажиллахаар болсон байх ёстой. Одоо энэ скрипт уруу
ppp-dialup гэгдсэн симболын холбоосыг
дараах тушаалуудыг ашиглан үүсгэх хэрэгтэй:
&prompt.root; ln -s ppp-shell /etc/ppp/ppp-dialup
Та энэ скриптийг өөрийн бүх dialup хэрэглэгчдийн хувьд
бүрхүүл маягаар ашиглах ёстой.
Энэ нь pchilds гэсэн хэрэглэгчийн
нэртэй dialup PPP хэрэглэгчид зориулсан /etc/passwd
файлд байгаа жишээ юм (нууц үгийн файлыг шууд битгий засаарай, &man.vipw.8;-г
ашиглаарай).
pchilds:*:1011:300:Peter Childs PPP:/home/ppp:/etc/ppp/ppp-dialup
Дараах 0 байт файлуудыг агуулсан бүгд бичих боломжтой
/home/ppp санг үүсгэнэ:
-r--r--r-- 1 root wheel 0 May 27 02:23 .hushlogin
-r--r--r-- 1 root wheel 0 May 27 02:22 .rhosts
Энэ нь /etc/motd файлыг үзүүлэхээс
сэргийлдэг.
Статик IP-тай хэрэглэгчдэд зориулсан PPP бүрхүүлүүд
PPP бүрхүүлүүд
Дээр дурдсаны адил ppp-shell файл үүсгээд
статикаар өгөгдсөн IP-тай бүртгэл бүрийн хувьд ppp-shell
уруу симболын холбоос үүсгэнэ.
Жишээ нь хэрэв та fred, sam, болон
mary гэсэн гурван dialup хэрэглэгчтэй бөгөөд
тэдгээрт зориулж /24 CIDR сүлжээнүүдийг чиглүүлж байгаа бол дараах
тушаалыг ажиллуулж болох юм:
&prompt.root; ln -s /etc/ppp/ppp-shell /etc/ppp/ppp-fred
&prompt.root; ln -s /etc/ppp/ppp-shell /etc/ppp/ppp-sam
&prompt.root; ln -s /etc/ppp/ppp-shell /etc/ppp/ppp-mary
Эдгээр хэрэглэгчдийн dialup бүртгэл бүр өөрсдийн бүрхүүлийг
дээр үүсгэсэн симболын холбоос уруу заасан байх ёстой (жишээ нь
mary-ийн бүрхүүл /etc/ppp/ppp-mary
байх ёстой).
Динамик IP-тай хэрэглэгчдэд зориулж ppp.conf-г тохируулах
/etc/ppp/ppp.conf файл доор дурдсантай төстэй
мөрүүдээс тогтох ёстой:
default:
set debug phase lcp chat
set timeout 0
ttyd0:
set ifaddr 203.14.100.1 203.14.100.20 255.255.255.255
enable proxy
ttyd1:
set ifaddr 203.14.100.1 203.14.100.21 255.255.255.255
enable proxy
Догол үүсгэх нь чухал юм.
default: хэсэг нь хэсэг бүрийн хувьд
дуудагддаг. /etc/ttys файлд
идэвхжүүлсэн dialup мөр бүрийн хувьд дээрх ttyd0:-д
зориулсантай төстэй оруулга үүсгэнэ. Динамик хэрэглэгчдэд зориулсан
IP хаягийн цөөрмөөс мөр болгон өөр өөр IP хаяг авах ёстой.
Статик IP-тай хэрэглэгчдэд зориулж ppp.conf-г тохируулах
Дээрх жишээ /usr/share/examples/ppp/ppp.conf
файлын агуулгатай цуг статикаар өгөгдсөн dialup хэрэглэгч
бүрийн хувьд зохих хэсэг нэмэх шаардлагатай. Бид өөрсдийн
fred, sam,
болон mary хэрэглэгчидтэй жишээгээ үргэлжлүүлэх
болно.
fred:
set ifaddr 203.14.100.1 203.14.101.1 255.255.255.255
sam:
set ifaddr 203.14.100.1 203.14.102.1 255.255.255.255
mary:
set ifaddr 203.14.100.1 203.14.103.1 255.255.255.255
/etc/ppp/ppp.linkup файл хэрэв
шаардлагатай бол статик IP-тай хэрэглэгч бүрийн хувьд чиглүүлэлтийн
мэдээллийг бас агуулсан байх ёстой. Доорх мөр нь клиентийн ppp
холбоосоор 203.14.101.0/24
сүлжээнд зориулж чиглүүлэлт нэмэх болно.
fred:
add 203.14.101.0 netmask 255.255.255.0 HISADDR
sam:
add 203.14.102.0 netmask 255.255.255.0 HISADDR
mary:
add 203.14.103.0 netmask 255.255.255.0 HISADDR
mgetty болон AutoPPP
mgetty
AutoPPP
LCP
mgetty-г AUTO_PPP
тохируулга идэвхжүүлсэн байдлаар тохируулж эмхэтгэх нь
mgetty-д PPP холболтуудын LCP шатыг
илрүүлж автоматаар ppp бүрхүүл ажиллуулах боломжийг олгодог.
Гэхдээ анхдагч нэвтрэлт/нууц үгийн дараалал болдоггүй болохоор
PAP аль эсвэл CHAP ашиглан хэрэглэгчдийн нэвтрэлтийг
таних шаардлагатай юм.
Энэ хэсэг нь хэрэглэгч AUTO_PPP
тохируулгатайгаар mgetty-ийн хувилбарыг
(v0.99beta эсвэл хойшх) амжилттайгаар тохируулж эмхэтгэн
суулгасан гэж үздэг.
Таны /usr/local/etc/mgetty+sendfax/login.config
файл доор дурдсаныг агуулсан эсэхийг шалгаарай:
/AutoPPP/ - - /etc/ppp/ppp-pap-dialup
Энэ нь илрүүлсэн PPP холболтууддаа
ppp-pap-dialup скриптийг
ажиллуулахыг mgetty-д хэлнэ.
доор дурдсаныг агуулсан
/etc/ppp/ppp-pap-dialup файлыг
үүсгэнэ (файл ажиллах боломжтой байх ёстой):
#!/bin/sh
exec /usr/sbin/ppp -direct pap$IDENT
/etc/ttys-д идэвхжүүлсэн
dialup мөр бүрийн хувьд тохирох оруулгыг
/etc/ppp/ppp.conf файлд
үүсгэнэ. Энэ нь бидний үүсгэсэн тодорхойлолтуудтай аз жаргалтайгаар
цуг байх болно.
pap:
enable pap
set ifaddr 203.14.100.1 203.14.100.20-203.14.100.40
enable proxy
Энэ аргаар нэвтэрч байгаа хэрэглэгч бүр
/etc/ppp/ppp.secret файлд
хэрэглэгчийн нэр/нууц үгтэй байх шаардлагатай, эсвэл өөр нэг
арга нь /etc/passwd файлаас хэрэглэгчдийг
PAP-аар таньж нэвтрүүлэхийн тулд дараах тохируулгыг хийх явдал
юм.
enable passwdauth
Хэрэв та зарим хэрэглэгчдэд статик IP хаяг өгөхийг хүсвэл
та хаягийг /etc/ppp/ppp.secret
файлд гурав дахь нэмэлт өгөгдөл болгон зааж өгч болно. Жишээнүүдийг
/usr/share/examples/ppp/ppp.secret.sample-с
үзнэ үү.
MS өргөтгөлүүд
DNS
NetBIOS
PPPMicrosoft өргөтгөлүүд
DNS болон NetBIOS нэрийн серверийн хаягуудыг шаардлагын дагуу
хангахаар PPP-г тохируулах боломжтой байдаг.
PPP хувилбар 1.x дээр эдгээр өргөтгөлүүдийг идэвхжүүлэхийн
тулд дараах мөрүүдийг /etc/ppp/ppp.conf
файлын тохирох хэсэгт нэмэх ёстой.
enable msext
set ns 203.14.100.1 203.14.100.2
set nbns 203.14.100.5
PPP хувилбар 2 болон түүнээс хойно гарсан хувилбарын хувьд:
accept dns
set dns 203.14.100.1 203.14.100.2
set nbns 203.14.100.5
Энэ нь анхдагч болон хоёрдох нэрийн серверийн
хаягууд болон NetBIOS нэрийн серверийн хостыг клиентүүдэд хэлнэ.
Хувилбар 2 болон түүнээс дээшхид set dns
мөрийг орхигдуулсан бол PPP нь /etc/resolv.conf
файлд байгаа утгуудыг ашиглах болно.
PAP болон CHAP нэвтрэлт шалгалт
PAP
CHAP
Таны холболтын нэвтрэлт танилтын хэсгийг PAP юм уу эсвэл CHAP нэвтрэлт
танилтын аргуудыг ашиглан хийдэг байхаар зарим ISP-ууд өөрсдийн
системийг тохируулдаг. Хэрэв ийм бол таны ISP нь login:
хүлээх мөрийг таныг холбогдох үед харуулдаггүй бөгөөд PPP нэн даруй
ярьж эхлэх болно.
PAP нь CHAP-аас аюулгүй байдлын хувьд дутуу байдаг бөгөөд
нууц үг нь PAP-аар цэвэр текст маягаар илгээгддэг боловч цуваа шугамаар зөвхөн
дамжуулагддаг болохоор аюулгүй байдал нь нууц үгүүдэд байдаг асуудал шиг биш
байдаг. Эвдлэгчдэд зориулсан сэм чагнах
зай
бараг байдаггүй гэсэн үг юм.
PPP
болон статик IP хаягууд эсвэл PPP болон динамик IP хаягууд хэсгүүдийн
хувьд дараах өөрчлөлтүүдийг хийх ёстой:
13 set authname MyUserName
14 set authkey MyPassword
15 set login
Мөр 13:
Энэ мөр нь таны PAP/CHAP хэрэглэгчийн нэрийг заана.
Та MyUserName-д
зөв утгыг оруулах хэрэгтэй болно.
Мөр 14:
нууц үг
Энэ мөр нь таны PAP/CHAP нууц үгийг заана. Та
MyPassword-д
зөв утгыг оруулах хэрэгтэй болно. Та дараах шиг нэмэлт мөр
нэмэхийг хүсэх юм уу:
16 accept PAP
эсвэл
16 accept CHAP
гэж болно. Ингэснээр үүнийг зориуд тодорхой болгох
юм, гэхдээ PAP болон CHAP-ийг хоюуланг анхдагчаар хүлээн авдаг.
Мөр 15:
Хэрэв та PAP эсвэл CHAP ашиглаж байгаа бол таны ISP
хэвийн үед сервер уруу нэвтрэн орохыг шаарддаггүй. Тийм болохоор та өөрийн
set login
мөрийг хаах ёстой.
Өөрийн ppp тохиргоог явцын дунд шууд өөрчлөх нь
ppp-г ар талд далд ажиллаж байхад түүнтэй
зөвхөн тохирох оношлогооны порт тохируулагдсан тохиолдолд харилцаж болдог.
Үүнийг хийхийн тулд өөрийн тохиргоондоо дараах мөрийг нэмнэ:
set server /var/run/ppp-tun%d DiagnosticPassword 0177
Энэ нь клиентүүдийн хандалтыг зөвшөөрөхийн өмнө тэднээс нууц үгийг
асууж заасан &unix; домэйн сокет дээр сонсохыг PPP-д хэлнэ.
Нэрэн дэх %d нь ашиглагдаж байгаа
tun төхөөрөмжийн дугаараар
солигдоно.
Сокет тохируулагдсаны дараа &man.pppctl.8; програм нь
ажиллаж байгаа програмыг удирдахыг хүсэж байгаа скриптүүдэд
ашиглагдаж болно.
PPP-ийн Network Address Translation буюу Сүлжээний Хаягийн Хөрвүүлэлт боломжийг ашиглах нь
PPPNAT
PPP нь цөмийн divert буюу өөрчлөн дамжуулах боломжуудыг ашиглалгүйгээр
дотоод NAT-ийг ашиглах чадвартай байдаг. /etc/ppp/ppp.conf
файл дахь дараах мөрөөр энэ боломжийг идэвхжүүлж болно:
nat enable yes
Өөрөөр, PPP NAT-ийг тушаалын мөрийн -nat
тохируулгаар идэвхжүүлж болох юм. Мөн /etc/rc.conf
файлын хувьсагч ppp_nat гэж байх бөгөөд энэ нь
анхдагчаар идэвхжүүлэгдсэн байна.
Хэрэв та энэ боломжийг ашиглаж байгаа бол ирж байгаа холболтуудын
цааш дамжуулалтыг идэвхжүүлэх дараах /etc/ppp/ppp.conf
файлын тохируулгуудын ашигтайг харж болох юм:
nat port tcp 10.0.0.2:ftp ftp
nat port tcp 10.0.0.2:http http
эсвэл гадна талд ерөөсөө битгий итгээрэй
nat deny_incoming yes
Системийн сүүлийн тохиргоо
PPPтохиргоо
Та одоо ppp-г тохируулчихлаа, гэхдээ
яг ажиллахад бэлэн болохын өмнө хийх цөөн хэдэн зүйлс бий. Тэдгээр нь
бүгд /etc/rc.conf файлыг засварлуулах
болно.
Энэ файлтай дээрээс доош ажиллахдаа hostname=
мөр тохируулагдсан эсэхийг шалгаарай, өөрөөр хэлбэл:
hostname="foo.example.com"
Хэрэв таны ISP танд статик IP хаяг болон нэр өгсөн бол та энэ нэрийг
хостын нэрэндээ ашиглах нь магадгүй зүйтэй юм.
network_interfaces хувьсагчийг хайгаарай.
Хэрэв та өөрийн системийг ISP уруугаа шаардлага хүсэлтээр залгахаар тохируулахыг
хүсвэл tun0 төхөөрөмжийг жагсаалтад нэмсэн
эсэхээ баталгаажуулаарай, хэрэв тэгж хүсээгүй бол түүнийг устгаарай.
network_interfaces="lo0 tun0"
ifconfig_tun0=
ifconfig_tun0 хувьсагч хоосон байх ёстой
бөгөөд /etc/start_if.tun0 гэж
нэрлэгдсэн файлыг үүсгэх ёстой. Энэ файл нь дараах мөрийг
агуулсан байх ёстой:
ppp -auto mysystem
Энэ скрипт нь сүлжээ тохируулах үед таны ppp дэмонг автомат горимд
эхлүүлэн ажилладаг. Хэрэв та энэ машин гарц болж байгаа LAN-тай бол
сонголтыг ашиглахыг хүсэж болох юм.
Илүү дэлгэрэнгүй мэдээллийг гарын авлагын хуудаснаас
лавлана уу.
Таны /etc/rc.conf файлд чиглүүлэлтийн
програм NO гэж дараах мөрөөр хийгдсэн эсэхийг
шалгаарай:
router_enable="NO"
routed
routed дэмон нь эхлэхгүй байх нь чухал юм.
Учир нь routed нь ppp-ийн
үүсгэсэн анхдагч чиглүүлэлтийн хүснэгтийн оруулгуудыг устгадаг юм.
sendmail_flags мөр
тохируулгыг агуулаагүй эсэхийг шалгах нь магадгүй зүйтэй юм. Тэгэхгүй бол
sendmail нь таны машиныг гадагш залгуулан үргэлж
сүлжээний хайлт хийхийг оролдох болно. Та доор дурдсаныг тохируулж болох юм:
sendmail_flags="-bd"
sendmail
Үүний сул тал нь ppp холбоос тогтсон үед та доор дурдсаныг бичиж
sendmail-ээр захидлын дарааллыг дахин шалгуулж
байх явдал юм:
&prompt.root; /usr/sbin/sendmail -q
Та үүнийг хийхийн тулд ppp.linkup файлд
!bg тушаалыг ашиглахыг хүсэж болох юм:
1 provider:
2 delete ALL
3 add 0 0 HISADDR
4 !bg sendmail -bd -q30m
SMTP
Хэрэв танд энэ таалагдахгүй байгаа бол SMTP урсгалыг хаахын тулд
dfilter
-г тохируулах боломжтой байдаг. Илүү дэлгэрэнгүй
мэдээллийг жишээ файлуудаас лавлана уу.
Одоо машиныг дахин ачаалах л үлдлээ. Дахин ачаалсны дараа та
доор дурдсаныг бичиж:
&prompt.root; ppp
дараа нь PPP сессийг эхлүүлэхийн тулд dial provider
тушаалыг ажиллуулах юм уу эсвэл гадагшаа урсгал байгаа (бөгөөд та
start_if.tun0 скрипт үүсгээгүй) бол сессүүдийг
автоматаар тогтоодгоор ppp-г байлгахыг хүсэж байгаа бол
доор дурдсаныг бичээрэй:
&prompt.root; ppp -auto provider
Дүгнэлт
Дүгнэхэд ppp-г эхний удаа тохируулахад дараах алхмууд шаардлагатай:
Клиент тал:
Таны цөмд tun төхөөрөмж бүтээгдсэн
эсэхийг шалгана.
/dev санд
tunN
төхөөрөмжийн файл байгаа эсэхийг шалгана.
/etc/ppp/ppp.conf файлд
оруулга үүсгэнэ. pmdemand жишээ нь
ихэнх ISP-уудын хувьд хангалттай байх ёстой.
Хэрэв та динамик IP хаягтай бол /etc/ppp/ppp.linkup
файлд оруулга үүсгээрэй.
Өөрийн /etc/rc.conf файлыг
шинэчилнэ.
Хэрэв танд хэрэгцээгээр залгах шаардлага байгаа бол
start_if.tun0 скрипт үүсгээрэй.
Сервер тал:
Таны цөмд tun төхөөрөмж бүтээгдсэн
эсэхийг шалгана.
/dev санд
tunN
төхөөрөмжийн файл байгаа эсэхийг шалгана.
/etc/passwd файлд (&man.vipw.8; програмыг ашиглан)
оруулга үүсгэнэ.
Энэ хэрэглэгчдийн гэрийн санд ppp -direct direct-server
юм уу эсвэл үүнтэй адилыг ажиллуулах хувийн тохиргоог (profile)
үүсгэнэ.
/etc/ppp/ppp.conf файлд оруулга үүсгэнэ.
direct-server жишээ хангалттай байх
ёстой.
/etc/ppp/ppp.linkup файлд оруулга үүсгэнэ.
Өөрийн /etc/rc.conf файлыг шинэчилнэ.
Геннадий Б.
Сорокопуд
Хэсгүүдийг анхлан хувь нэмэр болгон оруулсан
Роберт
Хафф
Цөмийн PPP-г ашиглах
Цөмийн PPP тохируулах
PPPцөмийн PPP
Та өөрийн машин дээр PPP-г тохируулж эхлэхээсээ өмнө
pppd нь
/usr/sbin санд байгаа болон
/etc/ppp сан байгаа эсэхийг шалгаарай.
pppd нь хоёр горимд ажиллах чаддаг:
Клиент
маягаар — та өөрийн машиныг
гаднах ертөнц уруу PPP цуваа холболтоор эсвэл модемийн шугамаар
холбохыг хүсдэг.
PPPсервер
Сервер
маягаар — Таны машин сүлжээн
дээр байгаа бөгөөд бусад компьютеруудыг PPP ашиглан холбоход
хэрэглэгдэнэ.
Аль ч тохиолдол байлаа гэсэн та тохируулгуудын файлыг
(/etc/ppp/options эсвэл
хэрэв та PPP ашиглаж байгаа өөрийн машин дээрээ нэгээс илүү олон хэрэглэгчидтэй бол
~/.ppprc) тохируулах хэрэгтэй
болно.
Та залгаж алсын хосттой холболт тогтоохын тулд
танд бас зарим модем/цуваа програм хангамж
(comms/kermit-г аль болох эрхэмлэх)
хэрэгтэй болно.
Трев
Ройдхауз
Based on information provided by
pppd-г клиент маягаар ашиглах
PPPклиент
Cisco
Дараах /etc/ppp/options файл нь
Cisco терминал серверийн PPP шугам уруу холбогдоход хэрэглэгдэж болох юм.
crtscts # enable hardware flow control
modem # modem control line
noipdefault # remote PPP server must supply your IP address
# if the remote host does not send your IP during IPCP
# negotiation, remove this option
passive # wait for LCP packets
domain ppp.foo.com # put your domain name here
:remote_ip # put the IP of remote PPP host here
# it will be used to route packets via PPP link
# if you didn't specified the noipdefault option
# change this line to local_ip:remote_ip
defaultroute # put this if you want that PPP server will be your
# default router
Холбогдохын тулд:
Kermit
модем
Алсын хост уруу Kermit
(эсвэл өөр бусад модемийн програм) ашиглан залгаж өөрийн хэрэглэгчийн нэр болон нууц үгийг
(эсвэл алсын хост дээр PPP-г идэвхжүүлэхэд шаардлагатай
тэр зүйлийг) оруулна.
Kermit-с гарна (шугамыг таслалгүйгээр).
доор дурдсаныг оруулна:
&prompt.root; /usr/src/usr.sbin/pppd.new/pppd /dev/tty01 19200
Тохирох хурд болон төхөөрөмжийн нэрийг ашиглахаа мартуузай.
Одоо таны компьютер PPP-тэй холбогдлоо. Хэрэв холболт амжилтгүй
болбол та /etc/ppp/options файлд
тохируулгыг нэмж асуудлыг олохын тулд
консолын мэдэгдлүүдийг шалгана.
Дараах /etc/ppp/pppup скрипт нь
бүх 3 алхмыг автомат болгоно:
#!/bin/sh
pgrep -l pppd
pid=`pgrep pppd`
if [ "X${pid}" != "X" ] ; then
echo 'killing pppd, PID=' ${pid}
kill ${pid}
fi
pgrep -l kermit
pid=`pgrep kermit`
if [ "X${pid}" != "X" ] ; then
echo 'killing kermit, PID=' ${pid}
kill -9 ${pid}
fi
ifconfig ppp0 down
ifconfig ppp0 delete
kermit -y /etc/ppp/kermit.dial
pppd /dev/tty01 19200
Kermit
/etc/ppp/kermit.dial нь Kermit
скрипт бөгөөд гадагш залгаж бүх шаардлагатай нэвтрэлт таниулалтыг алсын хост дээр
хийдэг (энэ баримтын төгсгөлд ийм скриптийн жишээ хавсаргагдсан болно).
Дараах /etc/ppp/pppdown скриптийг ашиглаж
PPP шугамыг салгаж болно:
#!/bin/sh
pid=`pgrep pppd`
if [ X${pid} != "X" ] ; then
echo 'killing pppd, PID=' ${pid}
kill -TERM ${pid}
fi
pgrep -l kermit
pid=`pgrep kermit`
if [ "X${pid}" != "X" ] ; then
echo 'killing kermit, PID=' ${pid}
kill -9 ${pid}
fi
/sbin/ifconfig ppp0 down
/sbin/ifconfig ppp0 delete
kermit -y /etc/ppp/kermit.hup
/etc/ppp/ppptest
pppd ажиллаж байгаа эсэхийг шалгахын тулд
/usr/etc/ppp/ppptest-г ажиллуулна. Энэ нь
иймэрхүү харагдах ёстой:
#!/bin/sh
pid=`pgrep pppd`
if [ X${pid} != "X" ] ; then
echo 'pppd running: PID=' ${pid-NONE}
else
echo 'No pppd running.'
fi
set -x
netstat -n -I ppp0
ifconfig ppp0
Модемийг салгаж буцааж залгахын тулд
/etc/ppp/kermit.hup-г ажиллуулна. Энэ нь
доор дурдсаныг агуулах ёстой:
set line /dev/tty01 ; put your modem device here
set speed 19200
set file type binary
set file names literal
set win 8
set rec pack 1024
set send pack 1024
set block 3
set term bytesize 8
set command bytesize 8
set flow none
pau 1
out +++
inp 5 OK
out ATH0\13
echo \13
exit
Энд kermit тушаалын оронд
chat тушаал хэрэглэх өөр арга байна:
Дараах хоёр мөр нь pppd холболтыг
хийхэд хангалттай байдаг.
/etc/ppp/options:
/dev/cuad1 115200
crtscts # enable hardware flow control
modem # modem control line
connect "/usr/bin/chat -f /etc/ppp/login.chat.script"
noipdefault # remote PPP serve must supply your IP address
# if the remote host doesn't send your IP during
# IPCP negotiation, remove this option
passive # wait for LCP packets
domain your.domain # put your domain name here
: # put the IP of remote PPP host here
# it will be used to route packets via PPP link
# if you didn't specified the noipdefault option
# change this line to local_ip:remote_ip
defaultroute # put this if you want that PPP server will be
# your default router
/etc/ppp/login.chat.script:
Дараах нь нэг мөрөнд байх ёстой.
ABORT BUSY ABORT 'NO CARRIER' "" AT OK ATDTphone.number
CONNECT "" TIMEOUT 10 ogin:-\\r-ogin: login-id
TIMEOUT 5 sword: password
Эдгээр нь суулгагдаж зөв болж өөрчлөгдсөний дараа таны хийх ганц зүйл бол
pppd-г иймэрхүү маягаар ажиллуулах явдал юм:
&prompt.root; pppd
pppd-г сервер маягаар ашиглах
/etc/ppp/options файл нь доор дурдсантай төстэйг
агуулах ёстой:
crtscts # Hardware flow control
netmask 255.255.255.0 # netmask (not required)
192.114.208.20:192.114.208.165 # IP's of local and remote hosts
# local ip must be different from one
# you assigned to the Ethernet (or other)
# interface on your machine.
# remote IP is IP address that will be
# assigned to the remote machine
domain ppp.foo.com # your domain
passive # wait for LCP
modem # modem line
Дараах /etc/ppp/pppserv скрипт нь
pppd-г сервер маягаар ажиллахыг
заах болно:
#!/bin/sh
pgrep -l pppd
pid=`pgrep pppd`
if [ "X${pid}" != "X" ] ; then
echo 'killing pppd, PID=' ${pid}
kill ${pid}
fi
pgrep -l kermit
pid=`pgrep kermit`
if [ "X${pid}" != "X" ] ; then
echo 'killing kermit, PID=' ${pid}
kill -9 ${pid}
fi
# reset ppp interface
ifconfig ppp0 down
ifconfig ppp0 delete
# enable autoanswer mode
kermit -y /etc/ppp/kermit.ans
# run ppp
pppd /dev/tty01 19200
Серверийг зогсоохын тулд энэ /etc/ppp/pppservdown
скриптийг ашиглана:
#!/bin/sh
pgrep -l pppd
pid=`pgrep pppd`
if [ "X${pid}" != "X" ] ; then
echo 'killing pppd, PID=' ${pid}
kill ${pid}
fi
pgrep -l kermit
pid=`pgrep kermit`
if [ "X${pid}" != "X" ] ; then
echo 'killing kermit, PID=' ${pid}
kill -9 ${pid}
fi
ifconfig ppp0 down
ifconfig ppp0 delete
kermit -y /etc/ppp/kermit.noans
Дараах Kermit скрипт нь
(/etc/ppp/kermit.ans) таны модем дээр автомат
хариулагчийг нээх/хаах болно. Энэ нь иймэрхүү харагдах ёстой:
set line /dev/tty01
set speed 19200
set file type binary
set file names literal
set win 8
set rec pack 1024
set send pack 1024
set block 3
set term bytesize 8
set command bytesize 8
set flow none
pau 1
out +++
inp 5 OK
out ATH0\13
inp 5 OK
echo \13
out ATS0=1\13 ; change this to out ATS0=0\13 if you want to disable
; autoanswer mode
inp 5 OK
echo \13
exit
/etc/ppp/kermit.dial гэсэн нэртэй скрипт
нь гадагш залгаж алсын хост дээр нэвтрэлт таниулахад хэрэглэгддэг. Та үүнийг
өөрийн хэрэгцээнд зориулан өөрчлөх хэрэгтэй болно. Өөрийн нэвтрэх нэр
болон нууц үгийг энэ скриптэд оруулах хэрэгтэй; та бас оролтын илэрхийллийг
таны модем болон алсын хостоос ирэх хариунуудаас хамааран өөрчлөх хэрэгтэй болно.
;
; put the com line attached to the modem here:
;
set line /dev/tty01
;
; put the modem speed here:
;
set speed 19200
set file type binary ; full 8 bit file xfer
set file names literal
set win 8
set rec pack 1024
set send pack 1024
set block 3
set term bytesize 8
set command bytesize 8
set flow none
set modem hayes
set dial hangup off
set carrier auto ; Then SET CARRIER if necessary,
set dial display on ; Then SET DIAL if necessary,
set input echo on
set input timeout proceed
set input case ignore
def \%x 0 ; login prompt counter
goto slhup
:slcmd ; put the modem in command mode
echo Put the modem in command mode.
clear ; Clear unread characters from input buffer
pause 1
output +++ ; hayes escape sequence
input 1 OK\13\10 ; wait for OK
if success goto slhup
output \13
pause 1
output at\13
input 1 OK\13\10
if fail goto slcmd ; if modem doesn't answer OK, try again
:slhup ; hang up the phone
clear ; Clear unread characters from input buffer
pause 1
echo Hanging up the phone.
output ath0\13 ; hayes command for on hook
input 2 OK\13\10
if fail goto slcmd ; if no OK answer, put modem in command mode
:sldial ; dial the number
pause 1
echo Dialing.
output atdt9,550311\13\10 ; put phone number here
assign \%x 0 ; zero the time counter
:look
clear ; Clear unread characters from input buffer
increment \%x ; Count the seconds
input 1 {CONNECT }
if success goto sllogin
reinput 1 {NO CARRIER\13\10}
if success goto sldial
reinput 1 {NO DIALTONE\13\10}
if success goto slnodial
reinput 1 {\255}
if success goto slhup
reinput 1 {\127}
if success goto slhup
if < \%x 60 goto look
else goto slhup
:sllogin ; login
assign \%x 0 ; zero the time counter
pause 1
echo Looking for login prompt.
:slloop
increment \%x ; Count the seconds
clear ; Clear unread characters from input buffer
output \13
;
; put your expected login prompt here:
;
input 1 {Username: }
if success goto sluid
reinput 1 {\255}
if success goto slhup
reinput 1 {\127}
if success goto slhup
if < \%x 10 goto slloop ; try 10 times to get a login prompt
else goto slhup ; hang up and start again if 10 failures
:sluid
;
; put your userid here:
;
output ppp-login\13
input 1 {Password: }
;
; put your password here:
;
output ppp-password\13
input 1 {Entering SLIP mode.}
echo
quit
:slnodial
echo \7No dialtone. Check the telephone line!\7
exit 1
; local variables:
; mode: csh
; comment-start: "; "
; comment-start-skip: "; "
; end:
Том
Рөүдс
Хувь нэмэр болгон оруулсан
PPP холболтуудын алдааг олж засварлах
PPPалдааг олж засварлах
Энэ хэсэг нь PPP-г модемийн холболтоор ашиглах үед гарч болох
цөөн асуудлуудыг хамрах болно. Жишээ нь магадгүй танд
залгаж холбогдох гэж байгаа систем чинь яг ямар хүлээх мөрүүдийг үзүүлэхийг
мэдэх шаардлагатай байж болох юм. Зарим ISP-ууд
ssword хүлээх мөрийг үзүүлдэг бол зарим нь
password гэж үзүүлэх болно; хэрэв
ppp скрипт нь түүний дагуу бичигдээгүй бол
нэвтрэх оролдлого амжилтгүй болох болно. ppp
холболтуудыг дибаг хийх хамгийн түгээмэл арга бол гараар холбогдох
явдал юм. Дараах мэдээлэл нь алхам алхмаар гар холболтыг танд тайлбарлах
болно.
Төхөөрөмжийн цэгүүдийг шалгана
Хэрэв та өөрийн цөмийг дахин тохируулсан бол
sio төхөөрөмжийг санах хэрэгтэй.
Хэрэв та өөрийн цөмийг тохируулаагүй бол санаа зовох хэрэггүй.
Модем төхөөрөмжийн хувьд dmesg
гаралтыг шалгаарай:
&prompt.root; dmesg | grep sio
Та sio төхөөрөмжүүдийн
талаар тохирох мэдээллүүдийг авах ёстой. Эдгээр нь бидэнд
хэрэгтэй COM портууд юм. Хэрэв таны модем стандарт цуваа
порт шиг ажиллаж байвал та түүнийг sio1,
эсвэл COM2 дээр жагсаагдсан
байхыг харах ёстой. Хэрэв тийм бол та цөмийг дахин бүтээх шаардлагагүй
юм. sio модем sio1 дээр
эсвэл хэрэв та DOS дээр байгаа бол COM2 дээр
таарч байвал таны модемийн төхөөрөмж
- /dev/cuad1 (эсвэл
- &os; 5.X дээр /dev/cuaa1) байх болно.
+ /dev/cuad1 байх болно.
Гараар холбогдох нь
Гараар ppp-г хянаж Интернэтэд холбогдох нь
холболтыг дибаг хийх юм уу эсвэл ердөө л таны
ISP чинь ppp
клиент холболтуудад хэрхэн ханддаг талаар мэдээлэл авахад
хурдан, хялбар, агуу арга байдаг. Тушаалын мөрөөс PPP-г
эхлүүлье. Бидний бүх жишээнүүд дээр бид PPP
ажиллуулж байгаа машины хостын нэрийг example
гэж авч ашиглах болно. Та ppp-г
ppp гэж бичин эхлүүлнэ:
&prompt.root; ppp
Бид одоо ppp-г эхлүүллээ.
ppp ON example> set device /dev/cuad1
Бид өөрсдийн модемний төхөөрөмжийг тохируулна. Энэ тохиолдолд
- cuad1 (эсвэл
- &os; 5.X дээр /dev/cuaa1) болно.
+ cuad1 болно.
ppp ON example> set speed 115200
Холболтын хурдыг тохируулна. Энэ тохиолдолд бид
115,200 kbps-г ашиглаж байна.
ppp ON example> enable dns
Бидний нэр танигчийг тохируулж /etc/resolv.conf
файлд нэрийн серверүүдийн мөрүүдийг нэмэхийг ppp-д
хэлнэ. ppp бидний хостын нэрийг тодорхойлж
чадахгүй байгаа бол бид дараа нь гараараа тохируулж өгч болно.
ppp ON example> term
Модемийг гараар хянаж чадаж байхын тулд Терминал
горимд шилжих хэрэгтэй.
deflink: Entering terminal mode on /dev/cuad1
type '~h' for help
at
OK
atdt123456789
Модемийг эхлүүлэхийн тулд at-г ашиглаж
дараа нь atdt дээр өөрийн ISP-ийн
дугаараа нэмээд залгах процессоо эхлэх хэрэгтэй.
CONNECT
Холболтын баталгаа гарах ёстой, хэрэв бид тоног төхөөрөмжтэй холбоогүй ямар нэг холболтын
асуудлуудтай байх бол энд бид тэдгээрийг шийдэхийг оролдох болно.
ISP Login:myusername
Энд танаас хэрэглэгчийн нэрийг асуух болно, ISP-ээс
өгсөн хэрэглэгчийн нэрийг оруулаад буцахыг дарна.
ISP Pass:mypassword
Энэ удаад нууц үгийг асуух болно, ISP-ээс
өгсөн нууц үгээр хариулах хэрэгтэй. Яг л &os; уруу нэвтрэн ордог
шиг нууц үг нь буцаж дэлгэцэд харагдахгүй.
Shell or PPP:ppp
Таны ISP-ээс хамаараад энэ хүлээх
мөр нь хэзээ ч гарахгүй байж болох юм. Энд биднээс үйлчилгээ үзүүлэгч
дээр бүрхүүл ашиглах эсэх эсвэл ppp
эхлүүлэх эсэхийг асуудаг. Энэ жишээн дээр бид Интернэт холболтыг
хүсэж байгаа болохоор ppp-г ашиглахаар
сонгосон.
Ppp ON example>
Энэ жишээн дээр эхний тохируулга
томоор бичигдсэнийг хараарай. Энэ нь бид ISP-д
амжилттайгаар холбогдсоныг харуулж байна.
PPp ON example>
Бид ISP-д амжилттайгаар
өөрсдийгөө таниулан нэвтэрч заагдсан IP
хаягийг хүлээж байна.
PPP ON example>
Бид IP хаяг дээрээ зөвшилцөж холболтоо
амжилттайгаар хийж дуусгалаа.
PPP ON example>add default HISADDR
Энд бид өөрсдийн анхдагч чиглүүлэлтээ нэмж байна. Бид үүнийг
гаднах ертөнцтэй ярьж эхлэхээсээ өмнө хийх ёстой бөгөөд одоогоор
зөвхөн хийгдсэн холболт нь нөгөө талтайгаа хийгдсэн холболт байгаа
болно. Хэрэв энэ нь байгаа чиглүүлэлтүүдээсээ болоод амжилтгүй
болбол та тохируулгын өмнө
анхаарлын тэмдэг ! тавьж болно.
Өөрөөр та үүнийг жинхэнэ холболт хийхээсээ өмнө тохируулж болох
бөгөөд энэ нь шинэ чиглүүлэлтийг зохих ёсоор тохиролцоно.
Хэрэв бүх зүйл сайн болж өнгөрсөн бол бид одоо идэвхтэй Интернэтийн
холболттой болсон байх бөгөөд үүнийг ар талд CTRL
z хослолоор оруулж болох юм.
Хэрэв та PPP-г ppp
болохыг анзаарах юм бол бид өөрсдийн холболтоо алдсан гэсэн үг юм.
Энэ нь бидний холболтын төлөвийг үзүүлдэг болохоор мэдэхэд илүүдэхгүй
юм. Том P үсэгнүүд нь бид ISP уруу холболттой
байгааг үзүүлэх бөгөөд жижиг p үсэгнүүд нь холболт ямар нэг шалтгаанаар
тасарсныг харуулна. ppp нь зөвхөн эдгээр хоёр
төлөвтэй байдаг.
Дибаг хийх нь
Хэрэв та шууд шугамтай бөгөөд холболт хийж чадахгүй байгаа юм
шиг санагдвал CTS/RTS тоног төхөөрөмжийн урсгалыг
болгон хаах хэрэгтэй.
Энэ нь ялангуяа та PPP хийж чаддаг
терминал серверт холбогдох тохиолдол юм. Энэ тохиолдолд
PPP нь таны холбооны шугам дээр
өгөгдлийг бичихээр оролдох үед өлгөгдөж хэзээ ч ирэхгүй байж болох
CTS юм уу эсвэл Clear To Send буюу Илгээхэд
Цэвэр дохиог хүлээж байж болох юм. Хэрэв та энэ тохируулгыг ашиглах
юм бол тохируулгыг бас хэрэглэх
шаардлагатай. Энэ тохируулга нь зарим нэг параметрүүдийг, ихэнх тохиолдолд
XON/XOFF-г төгсгөлөөс төгсгөлд дамжуулахад тоног төхөөрөмжийн хувьд
хамааралтай байдлыг үгүй хийхийн тулд шаардлагатай байж болох юм.
Энэ тохируулгын талаар дэлгэрэнгүй мэдээллийг болон хэрхэн ашиглагддаг талаар
&man.ppp.8; гарын авлагын хуудаснаас үзнэ үү.
Хэрэв та хуучин модемтой бол
тохируулгыг ашиглах хэрэгтэй болж болох юм. Parity нь анхдагчаар
none буюу байхгүй гэж тохируулагдсан байдаг боловч хуучин модемууд
болон ISP-уудад (урсгалын хувьд их хэмжээгээр ихсэхэд)
алдаа шалгахад хэрэглэгддэг. Compuserve ISP-ийн
хувьд танд энэ тохируулга хэрэгтэй байж болох юм.
PPP нь тушаалын горимд буцахгүй
байж болох юм. Энэ нь ихэвчлэн ISP нь танаас харилцан
тохиролцохыг эхлүүлэхийг хүлээх тохиролцооны алдаа байдаг. Энэ үед
~p тушаалыг ашиглах нь ppp-г тохиргооны мэдээллээ
илгээж эхлэхэд хүргэх болно.
Хэрэв та нэвтрэлт хүлээх мөрийг хэзээ ч авахгүй байгаа бол та магадгүй
дээрх жишээн дээрх &unix; загварын нэвтрэлт танилтын оронд PAP
юм уу эсвэл CHAP нэвтрэлт танилтыг ашиглах
хэрэгтэй байж болох юм. PAP эсвэл CHAP-г
ашиглахын тулд ердөө л дараах тохируулгуудыг PPP-д
терминал горим уруу орохоос өмнө нэмэх хэрэгтэй:
ppp ON example> set authname myusername
Дээр байгаа myusername-г
ISP-с өгөгдсөн хэрэглэгчийн нэрээр солих
шаардлагатай.
ppp ON example> set authkey mypassword
Дээр байгаа mypassword-г
ISP-с өгөгдсөн нууц үгээр солих
шаардлагатай.
Хэрэв та зүгээр холбогдсон мөртлөө ямар ч домэйн нэр
олохгүй байгаа юм шиг байвал &man.ping.8; тушаалыг
IP хаягтай ашиглаж ямар нэг мэдээлэл буцаж
ирж байгаа эсэхийг шалгах хэрэгтэй. Хэрэв та 100 хувийн (100%)
пакетийн алдагдалд орж байвал танд бараг л анхдагч чиглүүлэлт заагдаагүй
байгаа гэсэн үг юм. Холболтын үеэр
тохируулга тохируулагдсан
эсэхийг давхар шалгаарай. Хэрэв та алсын IP
хаяг уруу холбогдож чадаж байвал нэр танигчийн хаяг /etc/resolv.conf
файлд нэмэгдээгүй байх магадлалтай юм. Энэ файл нь иймэрхүү
харагдах ёстой:
domain example.com
nameserver x.x.x.x
nameserver y.y.y.y
Дээр байгаа x.x.x.x болон
y.y.y.y нь таны
ISP-ийн DNS серверүүдийн
IP хаягаар солигдох ёстой. Таныг үйлчилгээнд
эхэлж бүртгүүлэхэд энэ мэдээлэл өгөгдсөн юм уу эсвэл өгөгдөөгүй байж болох
бөгөөд өөрийн ISP уруугаа хурдхан утасдаж
энэ мэдээллийг мэдэж болох юм.
Та өөрийн PPP холболтондоо
зориулж &man.syslog.3;-г бүртгэл бичихээр болгож болно.
Дараах:
!ppp
*.* /var/log/ppp.log
мөрийг /etc/syslog.conf файлд нэмнэ.
Ихэнх тохиолдолд энэ боломж аль хэдийн орсон байдаг.
Жим
Мок
Хувь нэмэр болгон (http://node.to/freebsd/how-tos/how-to-freebsd-pppoe.html хаягаас) оруулсан
Ethernet дээгүүр PPP ашиглах нь (PPPoE)
PPPEthernet дээгүүр
PPPoE
PPP, Ethernet дээгүүр
Энэ хэсэг нь Ethernet дээгүүр PPP (PPPoE)
хэрхэн тохируулах талаар тайлбарлах болно.
Цөмийг тохируулах нь
Одоо PPPoE-д зориулсан цөмийн тохиргоо шаардлагатай байхаа больжээ.
Хэрэв шаардлагатай netgraph-ийн дэмжлэг цөмд бүтээгдээгүй бол энэ нь
динамикаар ppp-ээр дуудагдах болно.
ppp.conf файлыг тохируулах
Энд ажилладаг ppp.conf
файлын жишээ байна:
default:
set log Phase tun command # you can add more detailed logging if you wish
set ifaddr 10.0.0.1/0 10.0.0.2/0
name_of_service_provider:
set device PPPoE:xl1 # replace xl1 with your Ethernet device
set authname YOURLOGINNAME
set authkey YOURPASSWORD
set dial
set login
add default HISADDR
ppp-г ажиллуулах
root хэрэглэгчээр та доор дурдсаныг ажиллуулж болно:
&prompt.root; ppp -ddial name_of_service_provider
ppp-г ачаалах үед эхлүүлэх
доор дурдсаныг өөрийн /etc/rc.conf файлд нэмнэ:
ppp_enable="YES"
ppp_mode="ddial"
ppp_nat="YES" # if you want to enable nat for your local network, otherwise NO
ppp_profile="name_of_service_provider"
PPPoE үйлчилгээний хаягийг ашиглах
Заримдаа өөрийн холболтыг хийхийн тулд үйлчилгээний хаягийг ашиглах
шаардлагатай болж болох юм. Үйлчилгээний хаягууд нь өгөгдсөн сүлжээнд
залгагдсан өөр өөр PPPoE серверүүдийг ялгахын тулд хэрэглэгддэг.
Таны ISP-ээс өгсөн баримтад шаардлагатай үйлчилгээний хаягийн мэдээлэл
байх ёстой. Хэрэв та ийм мэдээлэл олоогүй бол өөрийн ISP-ийн техникийн
дэмжлэг үзүүлэгч ажилтнаас асуугаарай.
Хамгийн сүүлд та Портын цуглуулгад
байх Архирах Оцон шувуу
PPPoE хаягт санал болгосон аргыг туршиж болох юм. Гэхдээ
энэ нь таны модемийг буцаан програмчилж ажиллагаагүй болгож магадгүй
болохоор үүнийг хийхээсээ өмнө дахин бодоорой. Таны үйлчилгээ үзүүлэгчийн
модемтой цуг ирсэн програмыг ердөө л суулгаарай. Дараа нь програмаас
System цэсд хандаарай. Таны тохиргооны нэр
тэнд жагсаагдсан байх ёстой. Энэ нь ихэвчлэн ISP
гэж байдаг.
Тохиргооны нэр (үйлчилгээний хаяг) нь ppp.conf
файл дахь PPPoE тохиргооны оруулгад set device
тушаалын үйлчилгээ үзүүлэгч хэсэг болон ашиглагдах болно (бүрэн мэдээллийг
&man.ppp.8; гарын авлагын хуудаснаас үзнэ үү). Энэ нь иймэрхүү
харагдах ёстой:
set device PPPoE:xl1:ISP
xl1-г өөрийн Ethernet картны
зөв төхөөрөмжөөр солихоо мартуузай.
ISP гэснийг дээрх дөнгөж
олсон тохиргоогоор солихоо мартуузай.
Нэмэлт мэдээллийг доорх хаягуудаас үзнэ үү:
Рено Валдурагийн DSL дээр
FreeBSD-ээр арай хямд өргөн зурвас ашиглах (Cheaper
Broadband with FreeBSD on DSL).
Удо Эрделхоффийн
Nutzung von T-DSL und T-Online mit FreeBSD
(Герман хэл дээр).
&tm.3com; HomeConnect ADSL Хос Холбоос Модемтой PPPoE
Энэ модем нь RFC 2516
(Л. Мамакос, К. Лидл, Ж. Эвартс,
Д. Каррел, Д. Симоне, болон Р. Вийлэр нарын бичсэн
PPP-г Ethernet дээгүүр (PPPoE) дамжуулах арга
) стандартыг дагадаггүй. Харин Ethernet хүрээнүүдийн
хувьд пакетийн төрлийн өөр кодуудыг ашигладаг. Хэрэв та үүнийг
PPPoE-ийн тодорхойлолтыг мөрдөх ёстой гэж бодож байгаа бол
3Com уруу
гомдоллоно уу.
Энэ төхөөрөмжтэй FreeBSD-г холбогдох боломжтой болгохын тулд
sysctl тохируулагдах ёстой. /etc/sysctl.conf
файлыг шинэчилж ачаалалтын үед энэ нь автоматаар хийгдэж болно:
net.graph.nonstandard_pppoe=1
эсвэл дараах тушаалаар нэн даруй хийгдэж болно:
&prompt.root; sysctl net.graph.nonstandard_pppoe=1
Харамсалтай нь энэ нь системийн дагуух тохиргоо болохоор
хэвийн PPPoE клиент эсвэл сервер болон
&tm.3com; HomeConnect ADSL
модемтой нэгэн зэрэг холбогдох боломжгүй болох юм.
ATM дээгүүр PPP (PPPoA) ашиглах
PPPATM дээгүүр
PPPoA
PPP, ATM дээгүүр
Дараах нь ATM дээгүүр PPP-г (PPPoA) хэрхэн тохируулах талаар тайлбарлана.
PPPoA нь Европийн DSL үзүүлэгчдийн дунд алдартай сонголт болдог.
Alcatel &speedtouch; USB-тэй PPPoA-г ашиглах нь
Энэ төхөөрөмжийн PPPoA дэмжлэг нь FreeBSD-д порт хэлбэрээр
байдаг. Учир нь үүний firmware Alcatel-ийн лицензийн
гэрээгээр түгээгддэг бөгөөд FreeBSD-ийн үндсэн системтэй цуг
чөлөөтэй түгээгдэж болдоггүй.
Програм хангамжийг суулгахын тулд ердөө л Портуудын цуглуулгыг ашиглана.
net/pppoa портыг суулгаад
түүнтэй хамт ирсэн заавруудыг дагаарай.
Олон USB төхөөрөмжүүдийн адил Alcatel-ийн &speedtouch; USB нь
зөв ажиллахын тулд хост компьютераас firmware татах хэрэгтэй болдог.
&os; дээр энэ дамжуулалт нь төхөөрөмж USB порт уруу холбогдсон үед хийгдэхээр
болгож энэ процессийг автоматчилах боломжтой. Энэ автомат firmware дамжуулалтыг
идэвхжүүлэхийн тулд дараах мэдээллийг /etc/usbd.conf
файлд нэмж болох юм. Энэ файлыг root
хэрэглэгчээр засварлах шаардлагатай.
device "Alcatel SpeedTouch USB"
devname "ugen[0-9]+"
vendor 0x06b9
product 0x4061
attach "/usr/local/sbin/modem_run -f /usr/local/libdata/mgmt.o"
usbd USB дэмонг идэвхжүүлэхийн тулд
дараах мөрийг /etc/rc.conf файлд
нэмнэ:
usbd_enable="YES"
Эхлүүлэхэд залгадаг байхаар ppp-г
тохируулах боломжтой байдаг. Үүнийг хийхийн тулд дараах мөрүүдийг
/etc/rc.conf файлд нэмнэ.
Ахин хэлэхэд энэ процедурын хувьд та root
хэрэглэгчээр нэвтрэн орох хэрэгтэй болно.
ppp_enable="YES"
ppp_mode="ddial"
ppp_profile="adsl"
Үүнийг зөв ажиллуулахын тулд та net/pppoa
порттой цуг ирсэн ppp.conf файлыг ашиглах
хэрэгтэй болно.
mpd ашиглах нь
Та төрөл бүрийн үйлчилгээнүүдэд ялангуяа PPTP үйлчилгээнүүдэд
холбогдохын тулд mpd-г ашиглаж болно.
Та mpd-г Портуудын цуглуулга
net/mpd сангаас
олж болно. Олон ADSL модемууд нь модем болон компьютерийн
хооронд PPTP хоолой үүсгэгдсэн байхыг шаарддаг бөгөөд тийм модемийн
нэг нь Alcatel &speedtouch; Home юм.
Та эхлээд портоо суулгах ёстой бөгөөд дараа нь өөрийн шаардлага болон
үйлчилгээ үзүүлэгчийн тохиргоонуудад тааруулан mpd-г
тохируулж болно. Порт нь жишээ тохиргооны файлуудыг байрлуулдаг бөгөөд
эдгээр нь PREFIX/etc/mpd/-д
сайн баримтжуулагдсан байдаг. Энд нэг юмыг тэмдэглэх хэрэгтэй.
PREFIX гэдэг нь таны портууд
суулгагдсан сан бөгөөд анхдагчаар /usr/local/
байдаг. mpd-г тохируулах бүрэн заавар
порт суулгагдсаны дараа HTML хэлбэрээр орсон байдаг. Энэ нь
PREFIX/share/doc/mpd/
санд байрладаг. Энд mpd-ээр ADSL
үйлчилгээнд холбогдох жишээ тохиргоо байна. Тохиргоо нь хоёр файлаас
тогтох бөгөөд эхний mpd.conf нь ийм байна:
default:
load adsl
adsl:
new -i ng0 adsl adsl
set bundle authname username
set bundle password password
set bundle disable multilink
set link no pap acfcomp protocomp
set link disable chap
set link accept chap
set link keep-alive 30 10
set ipcp no vjcomp
set ipcp ranges 0.0.0.0/0 0.0.0.0/0
set iface route default
set iface disable on-demand
set iface enable proxy-arp
set iface idle 0
open
Таны ISP-тай холбогдон өөрийгөө таниулан нэвтрэх хэрэглэгчийн нэр.
Таны ISP-тай холбогдон өөрийгөө таниулан нэвтрэх нууц үг.
mpd.links файл нь таны хийхийг хүссэн холбоос эсвэл
холбоосуудын тухай мэдээллийг агуулдаг. Дээрх жишээнд тохирох харгалзах жишээ
mpd.links файлыг доор үзүүлэв:
adsl:
set link type pptp
set pptp mode active
set pptp enable originate outcall
set pptp self 10.0.0.1
set pptp peer 10.0.0.138
Таны mpd ашиглах
&os; компьютерийн IP хаяг.
Таны ADSL модемийн IP хаяг. Alcatel
&speedtouch; Home-ийн хувьд энэ хаяг нь анхдагчаар 10.0.0.138 байна.
Дараах тушаалыг root-ээр ажиллуулж
холболтыг хялбараар эхлүүлэх боломжтой байдаг:
&prompt.root; mpd -b adsl
Та холболтын төлөвийг дараах тушаалаар харж болно:
&prompt.user; ifconfig ng0
ng0: flags=88d1<UP,POINTOPOINT,RUNNING,NOARP,SIMPLEX,MULTICAST> mtu 1500
inet 216.136.204.117 --> 204.152.186.171 netmask 0xffffffff
&os; дээр ADSL үйлчилгээнд холбогдохын тулд mpd-г
ашиглахыг зөвлөдөг юм.
pptpclient ашиглах нь
Мөн бусад PPPoA үйлчилгээнүүдэд FreeBSD-ээр холбогдохын тулд
net/pptpclient
ашиглах боломжтой байдаг.
net/pptpclient-г ашиглан
DSL үйлчилгээнд холбогдохын тулд порт болон багцыг суулгаад өөрийн
/etc/ppp/ppp.conf файлыг засварлана.
Эдгээр үйлдлүүдийг хийж гүйцэтгэхийн тулд та root
болсон байх ёстой. ppp.conf файлын
жишээ хэсгийг доор үзүүлэв. ppp.conf-ийн
тохируулгуудын тухай илүү мэдээллийг ppp
гарын авлагын хуудас &man.ppp.8;-с лавлана уу.
adsl:
set log phase chat lcp ipcp ccp tun command
set timeout 0
enable dns
set authname username
set authkey password
set ifaddr 0 0
add default HISADDR
DSL үйлчилгээ үзүүлэгчтэй холбогдох таны бүртгэлийн
хэрэглэгчийн нэр.
Таны бүртгэлийн нууц үг.
Та өөрийн бүртгэлийн нууц үгийг ppp.conf
файлд цэвэр текст хэлбэрээр тавих ёстой болохоор энэ файлын агуулгыг
хэн ч уншиж чадахгүй болгосон эсэхээ шалгах хэрэгтэй. Дараах сери
тушаалууд нь энэ файлыг зөвхөн root
бүртгэлээр уншигдахаар болгох юм. Дэлгэрэнгүй мэдээллийг
&man.chmod.1; болон &man.chown.8; гарын авлагын хуудаснуудаас
лавлана уу.
&prompt.root; chown root:wheel /etc/ppp/ppp.conf
&prompt.root; chmod 600 /etc/ppp/ppp.conf
Энэ нь PPP сессэд зориулан таны DSL чиглүүлэгч уруу хоолой нээх болно.
Ethernet DSL модемууд нь LAN IP хаягаар урьдчилан тохируулагдсан байдаг
бөгөөд та түүн уруу холбогдоно. Alcatel &speedtouch; Home-ийн
хувьд энэ хаяг нь 10.0.0.138 байна.
Таны чиглүүлэгчийн баримтад төхөөрөмж ямар хаяг ашиглаж байгааг хэлсэн
байх ёстой. Хоолой нээж PPP сесс эхлүүлэхийн тулд дараах тушаалыг
ажиллуулна:
&prompt.root; pptp address adsl
Та өмнөх тушаалын төгсгөлд &
тэмдгийг
нэмэхийг хүсэж болох юм. Ингэхгүй бол pptp нь
танд тушаал хүлээх мөрийг буцаадаггүй.
tun виртуал хоолой төхөөрөмж нь
pptp болон ppp
процессуудын хоорондох харилцаанд зориулан үүсгэгдэх болно. Тушаал хүлээх
мөрөнд буцаж ирснийхээ дараа юм уу эсвэл pptp нь
холболтыг баталгаажуулсны дараа та хоолойг ингэж шалгаж болно:
&prompt.user; ifconfig tun0
tun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1500
inet 216.136.204.21 --> 204.152.186.171 netmask 0xffffff00
Opened by PID 918
Хэрэв та холбогдож чадахгүй байгаа бол өөрийн чиглүүлэгчийн тохиргоог
шалгаарай. Энэ нь ихэвчлэн telnet
юм уу эсвэл вэб хөтчөөр хандах боломжтой байдаг. Хэрэв та холбогдож
чадахгүй хэвээр байвал pptp тушаалын
гаралт болон ppp бүртгэлийн
файл /var/log/ppp.log-оос ямар нэг
сэжүүр байгаа эсэхийг шалгах хэрэгтэй.
Сатоши
Асами
Анхлан хувь нэмэр болгон оруулсан
Гай
Хэлмер
Зарим хэсгийг оруулсан
Пьеро
Серини
SLIP ашиглах
SLIP
SLIP клиент тохируулах
SLIPклиент
Дараах нь FreeBSD машиныг SLIP-д зориулан статик хост сүлжээн дээр тохируулах
нэг арга юм. Динамикаар хостын нэрийг өгөхийн тулд (таныг залгаж холбогдох болгонд
таны хаяг өөрчлөгддөг) танд илүү төвөгтэй тохируулга хэрэгтэй болох байх.
Эхлээд таны модем аль цуваа портод холбогдсоныг тодорхойлно. Олон хүн
/dev/modem гэх зэргээр жинхэнэ төхөөрөмжийн нэр
- /dev/cuadN (эсвэл &os; 5.X дээр /dev/cuaaN)
+ /dev/cuadN
уруугаа заасан симболын холбоосыг тохируулдаг. Энэ нь модемийг өөр порт уруу
шилжүүлэх шаардлагатай болсон тохиолдолд жинхэнэ төхөөрөмжийн нэрийг хийсвэрлэх
боломжийг танд олгож байгаа юм. Бүх системийн дагуу /etc
дэх олон файлууд болон .kermrc файлуудыг засварлах
шаардлагатай болох үед энэ нь нэлээн ярвигтай болж ирдэг!
- /dev/cuad0 (эсвэл &os; 5.X дээр /dev/cuaa0) нь
- COM1, cuad1 (эсвэл /dev/cuaa1) нь
+ /dev/cuad0 нь
+ COM1, cuad1 нь
COM2, гэх мэт.
Өөрийн цөмийн тохиргооны файлд дараах нь байгаа эсэхийг шалгаарай:
device sl
Энэ нь GENERIC цөмд орсон байдаг бөгөөд
та түүнийг устгаагүй л бол энэ нь асуудал биш юм.
Зөвхөн нэг удаа хийх зүйлс
Өөрийн гэр машин, гарц болон нэрийн серверүүдийг өөрийн
/etc/hosts файлд нэмнэ. Биднийх
иймэрхүү харагдах болно:
127.0.0.1 localhost loghost
136.152.64.181 water.CS.Example.EDU water.CS water
136.152.64.1 inr-3.CS.Example.EDU inr-3 slip-gateway
128.32.136.9 ns1.Example.EDU ns1
128.32.136.12 ns2.Example.EDU ns2
5.0-с өмнөх FreeBSD хувилбарууд дээрх /etc/host.conf
файлд hosts мөр нь bind
мөрөөс өмнө байгаа эсэхийг шалгаарай. FreeBSD 5.0-с хойш
систем нь харин /etc/nsswitch.conf-г
ашигладаг бөгөөд энэ файлын мөрөнд
dns-с өмнө files
байгаа эсэхийг шалгаарай. Эдгээр параметрүүдгүй бол сонин зүйлс
болж магадгүй юм.
/etc/rc.conf файлыг засна.
Дараах мөрийг засварлаж өөрийн хостын нэрийг тохируулна:
hostname="myname.my.domain"
Таны машины Интернэтийн бүрэн хостын нэрийг энд тавих ёстой.
анхдагч чиглүүлэлт
Дараах мөрийг өөрчилж анхдагч чиглүүлэлт:
defaultrouter="NO"
гэдгийг:
defaultrouter="slip-gateway"
болгоно.
доор дурдсаныг агуулсан /etc/resolv.conf файл
үүсгэнэ:
domain CS.Example.EDU
nameserver 128.32.136.9
nameserver 128.32.136.12
нэрийн сервер
домэйн нэр
Таны харж байгаагаар эдгээр нь нэрийн серверийн хостуудыг
тохируулж байна. Мэдээж жинхэнэ домэйн нэрс болон хаягууд нь
таны орчноос хамаарна.
root болон
toor (нууц үггүй бусад бүртгэлүүдийн) нууц үгийг
тохируулна.
Өөрийн машиныг дахин ачаалж зөв хостын нэртэйгээр ачаалсан
эсэхийг нь шалгаарай.
SLIP холболт хийх нь
SLIPхолболт хийх нь
Залгаад хүлээх мөрөн дээр slip гэж
бичээд өөрийн машины нэр болон нууц үгийг оруулна. Юу оруулах
шаардлагатай нь таны орчноос хамаарна. Хэрэв та Kermit
ашиглаж байгаа бол та иймэрхүү скриптийг ажиллуулахаар оролдож
болно:
# kermit setup
set modem hayes
set line /dev/modem
set speed 115200
set parity none
set flow rts/cts
set terminal bytesize 8
set file type binary
# The next macro will dial up and login
define slip dial 643-9600, input 10 =>, if failure stop, -
output slip\x0d, input 10 Username:, if failure stop, -
output silvia\x0d, input 10 Password:, if failure stop, -
output ***\x0d, echo \x0aCONNECTED\x0a
Мэдээж өөртөө тааруулаад өөрийн хэрэглэгчийн нэр болон
нууц үгийг солих хэрэгтэй. Ингэснийхээ дараа та
Kermit-ийн хүлээх мөрөөс
холбогдохын тулд slip гэж бичих
хэрэгтэй.
Файлын системд хаа нэгтээ өөрийн нууц үгийг цэвэр текстээр
үлдээх нь ерөнхийдөө буруу юм.
Үүнийг хийх нь аз туршсан явдал юм.
Kermit-г тэнд нь үлдээж (та үүнийг
Ctrl
z
хослолоор зогсоож болно) root-ээр
дараах тушаалыг бичнэ:
&prompt.root; slattach -h -c -s 115200 /dev/modem
Хэрэв та чиглүүлэгчийн нөгөө талд байгаа хостууд уруу
ping хийж чадаж байвал та холбогдсон байна!
Хэрэв энэ нь ажиллахгүй байгаа бол slattach
тушаалд нэмэлт өгөгдлийн оронд
-г тавьж оролдоод үзээрэй.
Холболтыг хэрхэн зогсоох вэ
доор дурдсаныг хийж:
&prompt.root; kill -INT `cat /var/run/slattach.modem.pid`
slattach-г зогсооно. Дээр дурдсаныг хийхийн тулд
root байх шаардлагатайг санаарай. Дараа нь
kermit уруугаа (хэрэв та түр зогсоосон бол fg тушаалыг
ажиллуулан) буцаж түүнээс гарна (q).
&man.slattach.8; гарын авлагын хуудсанд
интерфэйсийг зогссон гэж тэмдэглэхийн тулд ifconfig sl0 down
тушаалыг ашиглах ёстой гэсэн байдаг боловч энэ нь
ямар ч өөрчлөлт хийдэггүй юм шиг санагддаг.
(ifconfig sl0 тушаал нь бас үүнтэй
адилыг гаргадаг.)
Заримдаа таны модем зөөгчийг унагахаасаа татгалзаж болох юм. Тийм тохиолдолд
ердөө л дахин kermit-г ажиллуулаад тэгээд түүнээс гарах
хэрэгтэй. Энэ нь ихэвчлэн хоёр дахь оролдлогод болдог.
Алдааг олж засварлах
Хэрэв энэ нь ажиллахгүй байгаа бол &a.net.name; захидлын жагсаалтаас чөлөөтэй
асуугаарай. Одоогоор хүмүүсийн аялж мэдсэн зүйлс гэх юм бол:
slattach тушаалд
эсвэл тохируулгуудыг
ашиглахгүй байх (энэ нь мөхлийн байх ёсгүй, гэхдээ энэ нь зарим хэрэглэгчдийн
асуудлуудыг шийддэг гэж бичсэн байдаг.)
-ийн оронд
тохируулгыг ашиглах (зарим фонтууд дээр ялгааг нь олж харах
хэцүү байж болох юм).
Өөрийн интерфэйсийн төлөвийг харахын тулд ifconfig sl0
тушаалыг ажиллуулж үзээрэй. Жишээ нь та иймэрхүү дүн харж болох юм:
&prompt.root; ifconfig sl0
sl0: flags=10<POINTOPOINT>
inet 136.152.64.181 --> 136.152.64.1 netmask ffffff00
Хэрэв та &man.ping.8; тушаалаас no route to host
мэдэгдлүүдийг авах юм бол таны чиглүүлэлтийн хүснэгтэд асуудал байж
болзошгүй юм. Тухайн үед байгаа чиглүүлэлтүүдийг үзүүлэхийн тулд
netstat -r тушаалыг ашиглаж болно :
&prompt.root; netstat -r
Routing tables
Destination Gateway Flags Refs Use IfaceMTU Rtt Netmasks:
(root node)
(root node)
Route Tree for Protocol Family inet:
(root node) =>
default inr-3.Example.EDU UG 8 224515 sl0 - -
localhost.Exampl localhost.Example. UH 5 42127 lo0 - 0.438
inr-3.Example.ED water.CS.Example.E UH 1 0 sl0 - -
water.CS.Example localhost.Example. UGH 34 47641234 lo0 - 0.438
(root node)
Өмнөх жишээнүүд нь харьцангуй завгүй байгаа системүүдийнх юм.
Таны систем дээрх тоонууд нь сүлжээний ачааллаас хамаарч өөр
өөр байх болно.
SLIP сервер тохируулах нь
SLIPсервер
Энэхүү баримт нь FreeBSD систем дээр SLIP серверийн үйлчилгээнүүдийг
тохируулахад зориулсан зөвлөгөөнүүдийг санал болгодог. Энэ нь юу гэсэн үг вэ
гэхээр алсын SLIP клиентүүдийн нэвтрэлтийн үед холболтуудыг автоматаар эхлүүлэхээр
болгож таны системийг тохируулна гэсэн үг юм.
Шаардлагатай зүйлс
TCP/IP сүлжээ
Энэ баримт нь өөрийн үндсэн чанарын хувьд хэт техникийн учраас тодорхой
мэдлэг шаардах болно. Энэ нь таныг TCP/IP сүлжээний протоколыг тодорхой
хэмжээгээр мэддэг бөгөөд ялангуяа сүлжээ болон цэгийн хаяглалт,
сүлжээний хаягийн багууд, дэд сүлжээ үүсгэх, чиглүүлэлт болон RIP зэрэг чиглүүлэлтийн
протоколуудыг мэддэг гэж тооцдог. SLIP үйлчилгээнүүдийг dial-up сервер дээр
тохируулах нь эдгээр ухагдахуунуудын тухай мэдлэгийг шаарддаг бөгөөд хэрэв та
эдгээрийг мэдэхгүй бол O'Reilly & Associates, Inc-ийн хэвлэсэн
Крэг Хантын TCP/IP Network Administration
буюу TCP/IP сүлжээний удирдлага номыг юм уу эсвэл TCP/IP протоколуудын
тухай Даглас Комерийн номнуудыг уншина уу.
модем
Мөн таныг модемоо суулгаж өөрийн модемоор дамжин нэвтрэх боломжуудыг
зөвшөөрөхөөр тохируулсан байгаа гэж үздэг. Хэрэв та үүнд зориулж өөрийн
системийг бэлдэж амжаагүй байгаа бол dialup үйлчилгээнүүдийн тохиргооны тухай
мэдээллийг хэсгээс үзнэ үү.
Та бас цуваа портын төхөөрөмжийн драйверийн тухай мэдээлэл болон модемууд дээр
нэвтрэлтүүдийг хүлээн авахаар болгож системийг тохируулах тухай мэдээллийг
&man.sio.4; болон &man.ttys.5;, &man.gettytab.5;,
&man.getty.8;, & &man.init.8; гарын авлагын хуудаснуудаас шалгахыг
хүсэж болох юм. Цуваа портын параметрүүдийг
(шууд холбогдсон цуваа интерфэйсүүдийн хувьд clocal зэрэг)
тохируулах тухай мэдээллийг &man.stty.1; гарын авлагын хуудаснаас үзнэ үү.
Түргэн дүгнэлт
FreeBSD-г SLIP сервер болгон ашиглах ердийн тохиргоонд дараах маягаар
ажилладаг: SLIP сервер нь таны FreeBSD SLIP сервер системийг гадагш залгуулдаг
бөгөөд /usr/sbin/sliplogin-ийг тусгай хэрэглэгчийн
бүрхүүл болгон ашигладаг тусгай SLIP нэвтрэх ID-аар нэвтэрдэг.
sliplogin програм нь тусгай хэрэглэгчийн хувьд таарах
мөрийг олохын тулд /etc/sliphome/slip.hosts файлыг
гүйлгэн үздэг бөгөөд хэрэв олсон бол цуваа шугамыг байгаа SLIP
интерфэйс уруу холбож дараа нь SLIP интерфэйсийг тохируулахын тулд
/etc/sliphome/slip.login бүрхүүлийн скриптийг
ажиллуулдаг.
SLIP серверийн нэвтрэлтийн жишээ
Жишээ нь хэрэв SLIP хэрэглэгчийн ID нь Shelmerg
байсан бол /etc/master.passwd файл дахь
Shelmerg-ийн оруулга иймэрхүү байж болох
юм:
Shelmerg:password:1964:89::0:0:Guy Helmer - SLIP:/usr/users/Shelmerg:/usr/sbin/sliplogin
Shelmerg нэвтрэх үед
sliplogin нь таарах хэрэглэгчийн ID-тай
мөрийг /etc/sliphome/slip.hosts
файлаас хайх болно, жишээ нь /etc/sliphome/slip.hosts
файлд дараах мөр байж болох юм:
Shelmerg dc-slip sl-helmer 0xfffffc00 autocomp
sliplogin тушаал нь тэр таарах мөрийг
олох бөгөөд цуваа шугамыг дараачийн байгаа SLIP интерфэйс уруу
залгаж дараа нь /etc/sliphome/slip.login-ийг
иймэрхүүгээр ажиллуулна:
/etc/sliphome/slip.login 0 19200 Shelmerg dc-slip sl-helmer 0xfffffc00 autocomp
Хэрэв бүгд зүгээр болж өнгөрвөл /etc/sliphome/slip.login
нь өөрийгөө залгасан (дээрх жишээн дээр slip.login уруу
өгөгдсөн жагсаалтан дахь эхний параметр болох SLIP интерфэйс 0)
SLIP интерфэйсийн хувьд ifconfig
тушаалыг ажиллуулж локал IP хаяг (dc-slip),
алсын IP хаяг (sl-helmer), SLIP интерфэйсийн
сүлжээний баг (0xfffffc00) болон
бусад нэмэлт тугнуудыг (autocomp) тохируулдаг.
Хэрэв ямар нэг зүйл буруу болвол sliplogin нь
ихэвчлэн /var/log/messages уруу бүртгэх
syslogd дэмон боломжоор дамжуулан
боломжийн мэдээллийн чанартай мэдэгдлүүдийг ихэвчлэн бүртгэдэг.
(&man.syslogd.8; болон &man.syslog.conf.5;-ийн гарын авлагын
хуудаснуудыг үзнэ үү. /etc/syslog.conf-ийг шалгаж
syslogd-ийн юу бүртгэдэг болон хаана
бүртгэдгийг харна уу).
Цөмийн тохиргоо
цөмтохиргоо
SLIP
&os;-ийн анхдагч цөм (GENERIC) нь
SLIP (&man.sl.4;) дэмжлэгтэй цуг ирдэг; тухайлан өөрчилсөн цөмийн
хувьд бол та өөрийн цөмийн тохиргооны файлдаа дараах мөрийг нэмэх
хэрэгтэй:
device sl
Анхдагчаар таны &os; машин пакетуудыг урагш дамжуулахгүй байх болно.
Хэрэв та өөрийн SLIP серверийг чиглүүлэгч маягаар ашиглахыг хүсвэл
/etc/rc.conf файлыг засварлах хэрэгтэй болох
бөгөөд gateway_enable хувьсагчийн тохиргоог
болгож өөрчлөх хэрэгтэй.
Та дараа нь шинэ тохиргоогоо ашиглахын тулд дахин ачаалах
хэрэгтэй.
FreeBSD-ийн цөмийг тохируулах талаар бичсэн -с
өөрийн цөмийг дахин тохируулах талаар лавлана уу.
Sliplogin тохиргоо
Урьд нь дурдаж байсны дагуу /usr/sbin/sliplogin файлын
тохиргооны хэсэг болох гурван файл /etc/sliphome санд
байдаг (sliplogin-ий талаар мэдээллийг
&man.sliplogin.8; гарын авлагын хуудаснаас үзнэ үү). Эдгээрт
SLIP хэрэглэгчид болон тэдгээрийн холбоотой IP хаягуудыг тодорхойлдог
slip.hosts файл, SLIP интерфэйсийг ихэвчлэн тохируулдаг
slip.login файл, болон (нэмэлт)
цуваа холболт төгссөн үед slip.login-ий
нөлөөллүүдийг буцаадаг slip.logout
файл ордог.
slip.hosts тохиргоо
/etc/sliphome/slip.hosts нь
өөр хоорондоо зайгаар тусгаарлагдсан хамгийн багаар бодоход
дөрвөн хэсгээс тогтох мөрүүдээс тогддог:
SLIP хэрэглэгчийн нэвтрэх ID
SLIP холбоосын локал хаяг (SLIP серверийн хувьд локал)
SLIP холбоосын алсын хаяг
Сүлжээний баг
Локал болон алсын хаягууд нь хостын нэрс (
/etc/nsswitch.conf файлд заасан
таны тодорхойлолтуудаас хамаарч /etc/hosts
файлаар юм уу эсвэл домэйн нэрний үйлчилгээгээр IP болон
танигддаг) байж болох бөгөөд сүлжээний баг нь
/etc/networks-аас хийгдэх хайлтаар
танигдах нэр байж болно. Жишээ систем дээр
/etc/sliphome/slip.hosts нь
иймэрхүү харагдана:
#
# login local-addr remote-addr mask opt1 opt2
# (normal,compress,noicmp)
#
Shelmerg dc-slip sl-helmerg 0xfffffc00 autocomp
Мөрийн төгсгөлд нэг буюу хэд хэд тохируулгууд байна:
— толгойн шахалт байхгүй
— толгойнуудыг шахна
— алсын тал толгойнуудыг шахахыг зөвшөөрөх
бол хийнэ
— ICMP пакетуудыг хаана
(таны урсгалыг дүүргэхийн оронд ping
пакетууд
хаягдах болно)
SLIP
TCP/IP сүлжээ
Таны SLIP холбоосуудын локал болон алсын хаягуудын сонголт
та TCP/IP дэд сүлжээг тусгайлан зориулах уу эсвэл өөрийн SLIP
сервер дээрээ proxy ARP
-г
(энэ нь жинхэнэ
proxy ARP биш боловч үүнийг
тайлбарлахын тулд энэ хэсэгт энэ ухагдахуун ашиглагдах болно)
ашиглах уу гэдгээс хамаарна. Хэрэв та аль аргыг сонгохдоо
эсвэл IP хаягуудыг хэрхэн зааж өгөхдөө эргэлзэж байгаа бол
SLIP-ийн шаардлагатай зүйлс ()
хэсэгт дурдсан TCP/IP-ийн номнууд ба/эсвэл өөрийн
IP сүлжээний удирдагчаас лавлана уу.
Та өөрийн SLIP клиентүүдийн хувьд тусдаа дэд сүлжээг ашиглах бол
та өөрийн өгөгдсөн IP сүлжээний дугаараас дэд сүлжээний дугаарыг
хуваарилж өөрийн SLIP клиент бүрийн IP дугааруудыг тэр дэд сүлжээнээс
зааж өгөх хэрэгтэй болно. Дараа нь өөрийн хамгийн ойрын чиглүүлэгч
дээр SLIP серверээрээ дамжуулан SLIP дэд сүлжээ уруу
статик чиглүүлэлт тохируулах хэрэгтэй болох болов уу.
Ethernet
Өөрөөр, хэрэв та proxy ARP
аргыг ашиглах бол
та өөрийн SLIP клиентийн IP хаягуудыг өөрийн SLIP серверийн
Ethernet дэд сүлжээнээс олгох хэрэгтэй болох бөгөөд та бас
SLIP серверийн ARP хүснэгт дэх proxy-ARP оруулгуудыг удирдахын
тулд &man.arp.8;-г ашиглахаар болгож өөрийн
/etc/sliphome/slip.login болон
/etc/sliphome/slip.logout скриптүүдийг
тохируулах хэрэгтэй болно.
slip.login тохиргоо
Ердийн /etc/sliphome/slip.login файл
иймэрхүү харагдана:
#!/bin/sh -
#
# @(#)slip.login 5.1 (Berkeley) 7/1/90
#
# generic login file for a slip line. sliplogin invokes this with
# the parameters:
# 1 2 3 4 5 6 7-n
# slipunit ttyspeed loginname local-addr remote-addr mask opt-args
#
/sbin/ifconfig sl$1 inet $4 $5 netmask $6
Энэ slip.login файл нь ердөө л
тохирох SLIP интерфэйсийн хувьд ifconfig-г
локал ба алсын хаягууд болон SLIP интерфэйсийн сүлжээний багтайгаар
ажиллуулдаг.
Хэрэв та proxy ARP
аргыг ашиглахаар шийдсэн бол
(өөрийн SLIP клиентүүдийн хувьд тусдаа дэд сүлжээг ашиглахын оронд)
таны /etc/sliphome/slip.login файл
иймэрхүү харагдах ёстой:
#!/bin/sh -
#
# @(#)slip.login 5.1 (Berkeley) 7/1/90
#
# generic login file for a slip line. sliplogin invokes this with
# the parameters:
# 1 2 3 4 5 6 7-n
# slipunit ttyspeed loginname local-addr remote-addr mask opt-args
#
/sbin/ifconfig sl$1 inet $4 $5 netmask $6
# Answer ARP requests for the SLIP client with our Ethernet addr
/usr/sbin/arp -s $5 00:11:22:33:44:55 pub
Энэ slip.login файл дахь
arp -s $5 00:11:22:33:44:55 pub тушаал нь
SLIP серверийн ARP хүснэгтэд ARP оруулгыг үүсгэдэг.
Ethernet дэх өөр IP цэг SLIP клиентийн IP хаягтай ярилцахыг
хүсэх үед энэ ARP оруулга нь SLIP серверийг SLIP серверийн Ethernet
MAC хаягаар хариулахад хүргэдэг.
EthernetMAC хаяг
Дээрх жишээг ашиглаж байхдаа Ethernet MAC хаягийг (00:11:22:33:44:55) өөрийн системийн
Ethernet картын MAC хаягаар солисон эсэхээ шалгаарай. Тэгэхгүй бол
таны proxy ARP
чинь мэдээж ажиллахгүй!
Та өөрийн SLIP серверийн Ethernet MAC хаягийг
netstat -i тушаалыг ажиллуулан
гарсан үр дүнгээс нь харан олж болох юм; гарсан үр дүнгийн
хоёр дахь мөр иймэрхүү харагдах ёстой:
ed0 1500 <Link>0.2.c1.28.5f.4a 191923 0 129457 0 116
Энэ нь системийн Ethernet MAC хаяг нь
00:02:c1:28:5f:4a гэдгийг
үзүүлж байгаа юм — netstat -i
тушаалаар өгөгдсөн Ethernet MAC хаяг дахь цэгүүд нь
тодорхойлох хоёр цэгээр солигдох ёстой бөгөөд &man.arp.8;-ийн
хүсдэг хэлбэр уруу хаягийг хөрвүүлэхийн тулд ганц оронтой
16-тын тоо бүрийн өмнө тэг нэмэх ёстой. Ашиглалтын тухай
бүрэн мэдээллийг &man.arp.8; гарын авлагын хуудаснаас
үзнэ үү.
/etc/sliphome/slip.login болон
/etc/sliphome/slip.logout файлыг үүсгэж
байхдаа execute
буюу ажиллуулах битийг (өөрөөр хэлбэл chmod 755
/etc/sliphome/slip.login /etc/sliphome/slip.logout)
тавих ёстой, тэгэхгүй бол sliplogin тушаал түүнийг
ажиллуулж чадахгүй байх болно.
slip.logout тохиргоо
/etc/sliphome/slip.logout нь
заавал хатуу чангаар хэрэгтэй биш (та proxy ARP
хийгээгүй л бол) боловч та үүнийг үүсгэхийг хүсвэл энд үндсэн
slip.logout
скриптийн жишээ байна:
#!/bin/sh -
#
# slip.logout
#
# logout file for a slip line. sliplogin invokes this with
# the parameters:
# 1 2 3 4 5 6 7-n
# slipunit ttyspeed loginname local-addr remote-addr mask opt-args
#
/sbin/ifconfig sl$1 down
Хэрэв та proxy ARP
ашиглаж байгаа бол
SLIP клиентийн хувьд ARP оруулгыг устгах
/etc/sliphome/slip.logout файлтай
байхыг хүсэж болох юм:
#!/bin/sh -
#
# @(#)slip.logout
#
# logout file for a slip line. sliplogin invokes this with
# the parameters:
# 1 2 3 4 5 6 7-n
# slipunit ttyspeed loginname local-addr remote-addr mask opt-args
#
/sbin/ifconfig sl$1 down
# Quit answering ARP requests for the SLIP client
/usr/sbin/arp -d $5
arp -d $5 тушаал нь ARP оруулгыг
устгаж SLIP клиент нэвтрэх үед proxy ARP
slip.login нэмэгддэг.
/etc/sliphome/slip.logout файлыг
үүсгэснийхээ дараа ажиллуулах битийг тавьсан эсэхээ шалгаарай
(өөрөөр хэлбэл chmod 755
/etc/sliphome/slip.logout).
Чиглүүлэлтийн эргэцүүллүүд
SLIP
чиглүүлэлт
Хэрэв та өөрийн SLIP клиентүүд болон таны бусад сүлжээний хоорондох
(болон магадгүй Интернэт хоорондох) чиглүүлэлтийн пакетуудын хувьд
proxy ARP
аргыг ашиглахгүй байгаа бол өөрийн SLIP
клиентүүдийн дэд сүлжээг өөрийн SLIP серверээр дамжуулан чиглүүлэхийн
тулд өөрийн хамгийн ойрын анхдагч чиглүүлэгчид(үүдэд) статик чиглүүлэлтүүдийг
нэмэх хэрэгтэй болж болох юм.
Статик чиглүүлэлтүүд
статик чиглүүлэлтүүд
Өөрийн хамгийн ойрын чиглүүлэгчүүдэд статик чиглүүлэлтүүдийг
нэмэх нь яршигтай байж болох юм (эсвэл хэрэв та тэгж хийх зөвшөөрөлгүй бол
боломжгүй байх юм...). Та өөрийн байгууллагадаа олон
чиглүүлэгчтэй бол Cisco болон Proteon-ий хийсэн зарим чиглүүлэгчүүд нь
зөвхөн SLIP дэд сүлжээ уруу статик чиглүүлэлттэй байхаар тохируулагдсан
байх шаардлагагүй байж болох бөгөөд бас аль статик чиглүүлэлтүүд нь
бусад чиглүүлэгчүүдэд хэлж байгааг хэлж өгөх хэрэгтэй болох юм.
Тийм болохоор статик чиглүүлэлт дээр тулгуурласан чиглүүлэлтийг
ажиллуулахад зарим нэг чадамж болон алдаа олж засварлах/тааруулах
чадвар хэрэгтэй болж болох юм.
&gated; ажиллуулах нь
&gated;
&gated; нь одоо хувийн програм
хангамж болсон бөгөөд дахиж эх кодын хамт нийтэд хүртээмжтэй байхаа больсон
(илүү мэдээлэл &gated;
вэб хуудсанд бий). Зөвхөн хуучин хувилбарыг ашигласан хэвээр байгаа
нөхдүүдэд зориулж нийцтэй байдлыг нь хангахын тулд энэ хэсэг нь байгаа
юм.
Толгой өвтгөм статик чиглүүлэлтүүдтэй адил өөр нэг сонголт нь
өөрийн FreeBSD SLIP сервер дээр &gated;-г
суулгаж таны SLIP дэд сүлжээний талаар бусад чиглүүлэгчүүдэд хэлэхийн тулд
зохих чиглүүлэлтийн протоколуудыг (RIP/OSPF/BGP/EGP) ашиглахаар болгон тохируулах
явдал юм. Та өөрийн &gated;-г
тохируулахын тулд /etc/gated.conf
файлыг бичих хэрэгтэй болно; энд зохиогчийн FreeBSD SLIP сервер дээр
ашигласантай төстэй жишээ байна:
#
# gated configuration file for dc.dsu.edu; for gated version 3.5alpha5
# Only broadcast RIP information for xxx.xxx.yy out the ed Ethernet interface
#
#
# tracing options
#
traceoptions "/var/tmp/gated.output" replace size 100k files 2 general ;
rip yes {
interface sl noripout noripin ;
interface ed ripin ripout version 1 ;
traceoptions route ;
} ;
#
# Turn on a bunch of tracing info for the interface to the kernel:
kernel {
traceoptions remnants request routes info interface ;
} ;
#
# Propagate the route to xxx.xxx.yy out the Ethernet interface via RIP
#
export proto rip interface ed {
proto direct {
xxx.xxx.yy mask 255.255.252.0 metric 1; # SLIP connections
} ;
} ;
#
# Accept routes from RIP via ed Ethernet interfaces
import proto rip interface ed {
all ;
} ;
RIP
Дээрх жишээ gated.conf файл
нь SLIP дэд сүлжээ xxx.xxx.yy-ий
тухай чиглүүлэлтийн мэдээллийг RIP ашиглан Ethernet дээр
цацаж байна. Хэрэв та ed драйвераас
өөр Ethernet драйвер ашиглаж байгаа бол
ed интерфэйсийг өөрийнхөөрөө
өөрчлөх хэрэгтэй болно. Энэ жишээ файл нь бас
&gated;-ийн ажиллагааг
дибаг хийх зорилгоор /var/tmp/gated.output
файл уруу бүртгэл хөтлөхөөр тохируулсан байна. Хэрэв
&gated; таны хувьд зөв ажиллаж байгаа бол
та мэдээж мөрдөх тохируулгуудыг хааж болно. Та
xxx.xxx.yy-ийг өөрийн SLIP дэд
сүлжээний хаягаар солих хэрэгтэй болно (proto direct
хэсэг дэх сүлжээний багийг (mask) бас солихоо мартуузай).
&gated;-г өөрийн систем дээрээ суулгаж тохируулсныхаа
дараа routed-ийн оронд
&gated;-ийг ажиллуулахаар FreeBSD-ийн
эхлүүлэх скриптүүдэд хэлж өгөх хэрэгтэй болно. Үүнийг хийх хамгийн хялбар арга бол
/etc/rc.conf файлд router болон
router_flags хувьсагчуудыг тохируулах явдал юм.
Тушаалын мөрийн параметрүүдийн тухай мэдээллийг &gated;-ийн
гарын авлагын хуудаснаас үзнэ үү.
diff --git a/mn_MN.UTF-8/books/handbook/serialcomms/chapter.sgml b/mn_MN.UTF-8/books/handbook/serialcomms/chapter.sgml
index 984900ad34..65331f59af 100644
--- a/mn_MN.UTF-8/books/handbook/serialcomms/chapter.sgml
+++ b/mn_MN.UTF-8/books/handbook/serialcomms/chapter.sgml
@@ -1,2847 +1,2815 @@
Цагаанхүүгийн
Ганболд
Орчуулсан
Цуваа холбоонууд
Ерөнхий агуулга
цуваа холбоонууд
&unix; нь цуваа холбоонуудад зориулсан дэмжлэгтэй үргэлж байсаар ирсэн.
Тухайлбал хамгийн анхны &unix; машинууд хэрэглэгчийн оролт болон гаралтын
хувьд цуваа шугамууд дээр тулгуурладаг байсан. Дундаж терминал
нь
секундэд 10 тэмдэгт дамжих цуваа хэвлэгч болон гараас тогтдог байсан тэр үеэс хойш
юмс асар их өөрчлөгдсөөр ирсэн юм. Энэ бүлэг нь FreeBSD дээр цуваа холбоонуудыг
ашиглах зарим аргуудаас дурдах болно.
Энэ бүлгийг уншсаны дараа, та дараах зүйлсийг мэдэх болно:
Өөрийн FreeBSD системд терминалуудыг хэрхэн холбох
талаар.
Алсын хостууд уруу хэрхэн модемоор залгаж холбогдох
талаар.
Алсын хэрэглэгчдийг модемоор таны систем уруу
нэвтрэхийг хэрхэн зөвшөөрөх талаар.
Цуваа консолоос өөрийн системийг хэрхэн
ачаалах талаар.
Энэ бүлгийг уншихаасаа өмнө та дараах зүйлсийг гүйцэтгэх хэрэгтэй:
Шинэ цөмийг хэрхэн тохируулан суулгах талаар мэдэх ().
&unix; зөвшөөрлүүд болон процессуудыг ойлгох ().
FreeBSD дээр ашиглахыг хүсэж байгаа
цуваа тоног төхөөрөмжийн (модем эсвэл олон порттой карт) техникийн гарын авлагад
хандаж болохоор байх.
Танилцуулга
Ухагдахуунууд
bits-per-second
bps
Bits per Second буюу секундэд дамжуулах бит —
өгөгдөл дамжих хурд
DTE
DTE
Data Terminal Equipment буюу Өгөгдлийн Терминал Төхөөрөмж —
жишээ нь таны компьютер
DCE
DCE
Data Communications Equipment буюу Өгөгдлийн Холбоонуудын Төхөөрөмж — таны модем
RS-232
RS-232C кабелиуд
Тоног төхөөрөмжийн цуваа холбоонуудад зориулсан EIA стандарт
Холбоонуудын өгөгдлийн хурдны талаар ярихдаа энэ хэсэг baud
гэсэн ухагдахууныг ашигладаггүй. Baud нь тодорхой хугацаанд хийгдсэн цахилгааны
төлвийн шилжилтүүдийн тоог хэлдэг бол bps
(bits per second
буюу секундэд дамжуулах бит) нь хэрэглэгдэх зөв
ойлголт юм (энэ нь ямар ч байсан хэцүү зөрүүд хүмүүст тийм ч яршиг төвөг болдоггүй
юм шиг санагддаг).
Кабелиуд болон Портууд
Өөрийн FreeBSD систем уруу модем эсвэл терминалыг холбохын тулд
танд компьютер дээр чинь цуваа порт болон өөрийн цуваа төхөөрөмж уруу холбох зөв кабель
хэрэгтэй болно. Хэрэв та өөрийн тоног төхөөрөмжтэй болон шаардагдах кабельтай
аль хэдийн танил болсон бол энэ хэсгийг айлгүйгээр орхиж болно.
Кабелиуд
Хэд хэдэн өөр өөр төрлийн цуваа кабелиуд байдаг. Бидний
зорилгод нийцэх хоёр хамгийн нийтлэг төрөл бол null-модем болон стандарт
(straight буюу шууд
) RS-232 кабелиуд юм. Таны тоног
төхөөрөмжийн баримт шаардлагатай кабелийн төрлийг тайлбарлах
ёстой.
Null-модем кабелиуд
null-модем кабель
Null-модем кабель нь Signal Ground
буюу Газар дохио
зэрэг зарим дохионуудыг шууд нэвтрүүлдэг боловч зарим дохионуудыг
шилжүүлдэг. Жишээ нь нэг талын Transmitted Data
буюу Дамжигдсан Өгөгдөл зүү нь нөгөө талын Received Data
буюу Хүлээн авсан Өгөгдөл зүү уруу ордог.
Та бас өөрийн null-модем кабелийг терминалуудтай ажиллахаар болгож
болно (өөрөөр хэлбэл чанарын зорилгоор). Энэ хүснэгт нь RS-232C
дохионууд болон
DB-25 холбогч дээрх зүүний тоонуудыг харуулж байна. Мөн стандарт нь
шууд холбогдох 1-р зүүг 1-р зүү Protective Ground
буюу Хамгаалалтын Газар шугам уруу дууддаг боловч энэ нь ихэвчлэн орхигддог.
Зарим терминалууд 2, 3 болон 7-р зүүнүүдийг зөвхөн ашиглахад зүгээр
ажилладаг бол бусдууд нь доор дурдсан жишээнүүдээс өөр тохиргоонуудыг
шаарддаг.
DB-25-аас DB-25 Null-Модем кабель
Дохио
Зүү #
Зүү #
Дохио
SG
7
холбогдох
7
SG
TD
2
холбогдох
3
RD
RD
3
холбогдох
2
TD
RTS
4
холбогдох
5
CTS
CTS
5
холбогдох
4
RTS
DTR
20
холбогдох
6
DSR
DTR
20
холбогдох
8
DCD
DSR
6
холбогдох
20
DTR
DCD
8
холбогдох
20
DTR
Одоо үед нийтлэг байдаг өөр хоёр схемийг энд үзүүлэв.
DB-9-өөс DB-9 Null-Модем кабель
Дохио
Зүү #
Зүү #
Дохио
RD
2
холбогдох
3
TD
TD
3
холбогдох
2
RD
DTR
4
холбогдох
6
DSR
DTR
4
холбогдох
1
DCD
SG
5
холбогдох
5
SG
DSR
6
холбогдох
4
DTR
DCD
1
холбогдох
4
DTR
RTS
7
холбогдох
8
CTS
CTS
8
холбогдох
7
RTS
DB-9-өөс DB-25 Null-Модем кабель
Дохио
Зүү #
Зүү #
Дохио
RD
2
холбогдох
2
TD
TD
3
холбогдох
3
RD
DTR
4
холбогдох
6
DSR
DTR
4
холбогдох
8
DCD
SG
5
холбогдох
7
SG
DSR
6
холбогдох
20
DTR
DCD
1
холбогдох
20
DTR
RTS
7
холбогдох
5
CTS
CTS
8
холбогдох
4
RTS
Нэг талд байгаа нэг зүү нь нөгөө талын хос зүү уруу холбогдох
бол тэдгээрийн холбогч дээр хос зүүний хооронд нэг богино утсаар
болон урт утсаар нөгөө ганц зүү уруу холбон ихэвчлэн шийдсэн
байдаг.
Дээрх дизайнууд нь хамгийн нийтлэг юм шиг санагддаг. Өөр хувилбарууд
дээр (RS-232 Made Easy номонд тайлбарласнаар)
SG нь SG уруу, TD нь RD уруу, RTS болон CTS нь DCD уруу, DTR нь
DSR уруу болон эсрэгээр холбогддог.
Стандарт RS-232C кабелиуд
RS-232C кабелиуд
Стандарт цуваа кабель нь RS-232C дохионуудыг бүгдийг нь шууд
нэвтрүүлдэг. Өөрөөр хэлбэл кабелийн нэг талын Transmitted Data
буюу
Дамжигдсан Өгөгдөл зүү нь нөгөө талын Transmitted Data
буюу
Дамжигдсан Өгөгдөл зүү уруу ордог. Энэ нь модемийг таны FreeBSD систем уруу болон
зарим нэг тохирох терминалиуд уруу холбоход хэрэглэгдэх кабелийн
төрөл юм.
Портууд
Цуваа портууд нь өгөгдлийг FreeBSD хост компьютер болон терминалын хооронд
дамжуулах төхөөрөмжүүд юм. Энэ хэсэг нь ямар төрлийн портууд байдаг болон
FreeBSD дээр тэдгээрт хэрхэн ханддагийг тайлбарлах болно.
Портуудын төрлүүд
Хэд хэдэн төрлийн портууд байдаг. Та кабелийг худалдаж авах юм уу эсвэл
хийхээсээ өмнө энэ нь таны терминал болон FreeBSD систем дээрх портуудад
таарах эсэхийг шалгах хэрэгтэй.
Ихэнх терминалууд DB-25 портуудтай байдаг. FreeBSD ажиллаж байгаа PC-үүд зэрэг
персонал компьютерууд нь DB-25 эсвэл DB-9 портуудтай байдаг. Хэрэв та
PC дээрээ олон порттой цуваа карттай бол танд RJ-12 эсвэл RJ-45 портууд
байж болох юм.
Тоног төхөөрөмжтэй цуг ирсэн баримтаас ашиглах портын төрлийн тодорхойлолтыг
үзнэ үү. Портыг нүдээрээ харж шалгах нь бас үр дүнгээ өгдөг.
Портын нэрс
FreeBSD дээр цуваа порт бүрт /dev сан дахь
оруулгаар та ханддаг. Хоёр өөр төрлийн оруулга байдаг:
Call-in буюу дуудагдах портууд нь
/dev/ttydN
гэгддэг бөгөөд N нь тэгээс эхлэх портын
дугаар юм. Ерөнхийдөө дуудагдах портыг терминалуудад зориулж
ашигладаг. Data carrier detect (DCD) буюу өгөгдлийн зөөгч илрүүлэх
дохиог зөв ажиллахыг цуваа шугам батлахыг дуудагдах портууд нь шаарддаг.
Call-out буюу дуудах портууд нь
/dev/cuadN
гэгддэг. Дуудах портуудыг терминалуудад зориулж ихэвчлэн ашигладаггүй,
зөвхөн модемуудад зориулж ашигладаг. Цуваа кабель эсвэл терминал нь
зөөгчийг илрүүлэх дохиог дэмждэггүй бол та дуудах портуудыг ашиглаж
болох юм.
-
- Дуудах портууд нь &os; 5.X болон түүнээс хуучин дээр
- /dev/cuaaN
- гэж нэрлэгддэг.
Хэрэв та терминалыг эхний цуваа порт уруу (&ms-dos; дээр COM1)
холбосон бол терминалд хандахдаа /dev/ttyd0 гэж
ашиглах болно. Хэрэв терминал нь хоёр дахь цуваа порт дээр байгаа бол
(бас COM2 гэгддэг) /dev/ttyd1
гэх мэтээр ашиглах ёстой.
Цөмийн тохиргоо
FreeBSD нь анхдагчаар дөрвөн цуваа портыг дэмждэг. &ms-dos;-ийн
ертөнцөд эдгээр нь COM1,
COM2,
COM3, болон
COM4 гэгддэг. FreeBSD нь одоогоор
BocaBoard 1008 болон 2016 зэрэг дүлий
олон порттой цуваа
интерфэйс картууд болон Digiboard болон Stallion Technologies-ийн хийдэг
илүү ухаалаг олон порттой картуудыг дэмждэг. Гэхдээ анхдагч цөм нь зөвхөн
стандарт COM портуудыг хайдаг.
Таны цуваа портуудыг таны цөм таньж байгаа эсэхийг харахын тулд
цөмийг ачаалж байх үед мэдэгдлүүдийг үзэх хэрэгтэй эсвэл цөмийн ачаалалтын
мэдэгдлүүдийг дахин харуулах /sbin/dmesg
тушаалыг ашиглах хэрэгтэй. Ялангуяа sio
тэмдэгтүүдээр эхэлсэн мэдэгдлүүдийг хайгаарай.
sio орсон мэдэгдлүүдийг
харахын тулд дараах тушаалыг ашиглана:
&prompt.root; /sbin/dmesg | grep 'sio'
Жишээ нь дөрвөн цуваа порттой систем дээр эдгээр нь цуваа порттой холбоотой
цөмийн ачаалалтын мэдэгдлүүд юм:
sio0 at 0x3f8-0x3ff irq 4 on isa
sio0: type 16550A
sio1 at 0x2f8-0x2ff irq 3 on isa
sio1: type 16550A
sio2 at 0x3e8-0x3ef irq 5 on isa
sio2: type 16550A
sio3 at 0x2e8-0x2ef irq 9 on isa
sio3: type 16550A
Хэрэв таны цөм бүх цуваа портуудыг чинь танихгүй байгаа бол
та өөрийн цөмийг /boot/device.hints файлд
тохируулах хэрэгтэй байж болох юм. Та өөртөө байхгүй төхөөрөмжүүдийн
хувьд тэдгээр мөрүүдийг тайлбар болгох эсвэл бүрмөсөн арилгаж
болох юм.
Цуваа портууд болон олон порттой хавтангийн тохиргооны талаар дэлгэрэнгүй мэдээллийг
&man.sio.4; гарын авлагын хуудаснаас лавлана уу.
Өөр хувилбарын FreeBSD дээр урьд нь ашиглаж байсан тохиргооны файл та ашиглаж байгаа
бол болгоомжтой байгаарай, учир нь төхөөрөмжийн тугууд болон синтакс хувилбарууд
хооронд өөрчлөгдсөн байдаг.
IO_COM1 порт нь 0x3f8 хаяг дээрх
портод зориулагдсан орлуулалт юм, IO_COM2 нь 0x2f8-ийн
IO_COM3 нь 0x3e8-ийн
IO_COM4 нь 0x2e8-ийн орлуулалт юм.
Эдгээр хаягууд нь цуваа портуудын нэлээн түгээмэл портын хаягууд бөгөөд 4,3, 5 болон 9
тасалдлууд нь нэлээн түгээмэл тасалдал хүсэх шугамнууд юм. Ердийн цуваа портууд нь
ISA-bus бүхий PC-үүд дээр тасалдлуудыг хуваалцаж чаддаггүйг
бас санаарай (олон порттой хавтангууд нь өөр дээрээ хавтан дээр бүх 16550A-уудад нэг эсвэл хоёр тасалдал
хүсэх шугамуудыг хуваалцахыг зөвшөөрдөг бичил схемүүдтэй байдаг).
Төхөөрөмжийн Тусгай файлууд
Цөм дэх ихэнх төхөөрөмжүүдэд төхөөрөмжийн тусгай файлууд
ын
тусламжтайгаар ханддаг бөгөөд эдгээр файлууд нь /dev
санд байдаг. sio төхөөрөмжид
/dev/ttydN
(dial-in буюу гаднаас залгах) болон /dev/cuadN
(call-out буюу дуудах) төхөөрөмжүүдийн тусламжтай ханддаг. FreeBSD нь
бас эхлүүлэх төхөөрөмжүүд
- (&os; 6.X дээр /dev/ttydN.init болон
- /dev/cuadN.init,
- &os; 5.X дээр /dev/ttyidN болон
- /dev/cuaiaN)
+ (/dev/ttydN.init болон
+ /dev/cuadN.init)
болон түгжих төхөөрөмжүүдтэй
- (&os; 6.X дээр /dev/ttydN.lock болон
- /dev/cuadN.lock,
- &os; 5.X дээр /dev/ttyldN болон
- /dev/cualaN)
+ (/dev/ttydN.lock болон
+ /dev/cuadN.lock)
байдаг. Эхлүүлэх төхөөрөмжүүд нь
урсгалын хяналтдаа RTS/CTS
дохиоллыг ашигладаг модемийн crtscts зэрэг
холбооны портын параметрүүдийг порт нээгдэх бүрт
эхлүүлж тохируулахад хэрэглэгддэг. Түгжих төхөөрөмжүүд нь
хэрэглэгчид болон програмуудын зарим нэг параметрүүдийг өөрчлөхөөс сэргийлэхийн тулд
портууд дээр тугуудыг түгжихэд хэрэглэгддэг. Терминалын тохиргоонууд, түгжих болон
эхлүүлэх төхөөрөмжүүд болон терминалын тохируулгуудыг тохируулах талаар
дэлгэрэнгүй мэдээллийг &man.termios.4;, &man.sio.4;, болон &man.stty.1;
гарын авлагын хуудаснуудаас үзнэ үү.
Цуваа портын тохиргоо
ttyd
cuad
ttydN (эсвэл
cuadN) төхөөрөмж нь
таны өөрийн програмууддаа зориулж нээхийг хүсэх ердийн төхөөрөмж юм. Процесс
төхөөрөмжийг онгойлгоход энэ нь терминалын I/O тохиргоонуудын анхдагч олонлогтой
байх болно. Та эдгээр тохиргоонуудыг дараах тушаалаар үзэж болно
&prompt.root; stty -a -f /dev/ttyd1
Энэ төхөөрөмжид тохиргоонуудыг өөрчлөхөд төхөөрөмжийг хаах хүртэл тохиргоонууд нь
идэвхтэй байдаг. Дахин онгойлгоход энэ нь анхдагч тохиргоо уруугаа буцдаг.
Анхдагч олонлогт өөрчлөлтүүдийг хийхийн тулд та онгойлгоод
эхний төлөвт
төхөөрөмжийн тохиргоонуудыг тааруулж
болно. Жишээ нь ttyd5-ийн хувьд анхдагчаар
горим, 8 бит холбоо, болон
урсгалын хяналтыг идэвхжүүлэхийн тулд доор дурдсаныг бичнэ:
&prompt.root; stty -f /dev/ttyd5.init clocal cs8 ixon ixoff
rc файлууд
rc.serial
Цуваа төхөөрөмжүүдийн системийн дагуух эхлүүлэлт нь
/etc/rc.d/serial файлаар хянагддаг. Энэ файл нь
цуваа төхөрөмжүүдийн анхдагч тохиргоонуудад нөлөөлдөг.
Програм зарим тохиргоонуудыг өөрчлөхөөс сэргийлэхийн тулд
түгжих төлөвт
төхөөрөмжид тохиргоо хийнэ. Жишээ нь
ttyd5-ийн хурдыг 57600 bps
болгож түгжихийн тулд доор дурдсаныг бичнэ:
&prompt.root; stty -f /dev/ttyd5.lock 57600
Одоо програм ttyd5-ийг онгойлгож портын хурдыг
өөрчлөхийг оролдоход хурд нь 57600 bps-с хөдлөхгүй
байх болно.
Мэдээж та эхний төлөвт болон түгжих төлөвт төхөөрөмжүүдийг зөвхөн
root бүртгэл бичдэгээр болгох хэрэгтэй.
Шон
Келли
Хувь нэмэр болгон оруулсан
Терминалууд
терминалууд
Терминалууд нь таныг компьютерийнхаа консол дээр байхгүй үед эсвэл сүлжээнд
холбогдоогүй байхад амархан, үнэ хямд аргаар FreeBSD систем уруу хандах
боломжийг олгодог. Энэ хэсэг нь терминалуудыг FreeBSD-тэй хэрхэн ашиглах
талаар тайлбарлана.
Терминалуудын хэрэглээ болон төрлүүд
Анхдагч &unix; системүүдэд консол байгаагүй юм. Харин компьютерийн цуваа
портуудад холбогдсон терминалуудаар хүмүүс нэвтрэн ороод програмууд ажиллуулдаг
байсан байна. Энэ нь зөвхөн текст орчны ажил хийхийн тулд модем болон терминал
програм хангамж ашиглан алсын системд залган орохтой бараг төстэй юм.
Одоогийн PC-үүд нь өндөр чанарын графикуудыг үзүүлж чадах консолуудтай
боловч цуваа порт дээр нэвтрэх сесс үүсгэх чадвар өнөөгийн бараг бүх
&unix; загварын үйлдлийн системд байдаг бөгөөд FreeBSD ч бас үүний нэгэн
адил юм. Ашиглагдаагүй байгаа цуваа портод холбогдсон терминалыг ашиглан
та нэвтрэн орж дурын текст програмыг консол эсвэл X цонхны систем дээр
xterm цонхонд ажиллуулдаг байсан шигээр ажиллуулж
болох юм.
Бизнесийн хэрэглэгчийн хувьд та FreeBSD системд олон терминалуудыг
холбож тэдгээрийг өөрийн ажилтнуудынхаа ширээний компьютерууд дээр байрлуулж
болох юм. Гэрийн хэрэглэгчийн хувьд хуучин IBM PC эсвэл &macintosh; зэрэг
нөөц компьютер нь FreeBSD ажиллуулж байгаа илүү хүчтэй компьютерт холбогдсон
терминал болж болох юм. Та ганц хэрэглэгчийн байсан компьютерийг хүчирхэг олон
хэрэглэгчийн систем болгон хувиргаж болох юм.
FreeBSD-ийн хувьд гурван төрлийн терминал байдаг:
Дүлий терминалууд
Терминал маягаар ажиллаж байгаа PC-үүд
X терминалууд
Дараах дэд хэсгүүд нь дээрх төрлүүдийг тайлбарлах болно.
Дүлий терминалууд
Дүлий терминалууд нь таныг компьютерууд уруу цуваа шугамуудаар холбогдохыг
зөвшөөрөх тусгайлсан тоног төхөөрөмж юм. Тэдгээрийг дүлий
гэдэг
бөгөөд тэдгээр нь зөвхөн текст харуулах, илгээх, болон хүлээж авах хангалттай
тооцооллын хүчин чадалтай учраас тэр юм. Та тэдгээр дээр ямар ч програм
ажиллуулж чадахгүй. Текст засварлагчууд, эмхэтгэгчид, цахим захидал, тоглоомууд
гэх зэргүүдийг ажиллуулах хүчин чадал бүхий таны компьютерт тэдгээрийг
холбодог.
Digital Equipment Corporation-ий VT-100 болон Wyse-ийн WY-75
зэрэг олон үйлдвэрлэгчдийн хийсэн дүлий терминалуудын хэдэн зуун төрөл байдаг.
Бараг бүх төрөл FreeBSD-тэй цуг ажиллана. Зарим нэг өндөр чанартай терминалууд
график үзүүлж чаддаг боловч эдгээр дэвшилтэт боломжуудыг зөвхөн цөөн хэдэн
програм хангамжийн багцууд ашиглаж чаддаг.
Ажилтнууд нь X цонхны системийн зэрэг график програмуудад хандах шаардлагагүй
ажлын орчинд дүлий терминалууд нь түгээмэл байдаг.
Терминал маягаар ажиллаж байгаа PC-үүд
Хэрэв дүлий терминал нь текст
харуулах, илгээж хүлээн авах чадвартай байдаг бол ямар ч нөөц персонал компьютер
дүлий терминал болж чадна. Танд зөв кабель болон компьютер дээр ажиллах зарим нэг
терминал эмуляц хийх програм хангамж хоёр л хэрэгтэй
болох юм.
Ийм тохиргоо гэрт их нийтлэг байдаг. Жишээ нь хэрэв таны гэр бүлийн хүн FreeBSD
системийн чинь консол дээр завгүй ажиллаж байвал та FreeBSD систем уруу терминал
маягаар холбосон арай хүчин чадал багатай персонал компьютер дээрээс
зарим нэг текст орчны ажил зэрэг хийж байж болох юм.
&os;-ийн үндсэн системд цуваа холболтоор ажиллахад хэрэглэж болох
хамгийн багаар бодоход хоёр хэрэгсэл байдаг: энэ нь &man.cu.1; болон &man.tip.1;
юм.
&os; ажиллаж байгаа клиент систем дээрээс өөр системийн цуваа холболт уруу
холбогдохын тулд та дараах тушаалыг ашиглаж болно:
&prompt.root; cu -l serial-port-device
Энд байгаа serial-port-device
нь таны системийн
цуваа портод зориулагдсан тусгай төхөөрөмжийн файлын нэр юм. Эдгээр төхөөрөмжийн
- файлууд нь 6.0 хувилбараас хуучин &os;-ийн хувьд
- /dev/cuaaN
- гэгддэг бөгөөд 6.0 болон сүүлийн хувилбаруудад
- /dev/cuadN
+ файлууд нь /dev/cuadN
гэж нэрлэгддэг.
Төхөөрөмжийн N
-хэсэг нь цуваа портын дугаарыг
илэрхийлнэ.
&os; дээр төхөөрөмжийн дугаарууд нь нэгээс биш тэгээс эхэлдэг
(жишээ нь &ms-dos;-оос үүдэлтэй системүүд дээр байдаг шиг
биш). Энэ нь юу гэсэн үг вэ гэхээр &ms-dos; дээр тулгуурласан
системүүдийн COM1 гэж нэрлэдэг порт
&os; дээр ихэвчлэн /dev/cuad0
гэгддэг.
Зарим хүмүүс портын цуглуулгад байдаг өөр програмууд ашиглахыг
илүүд үздэг. Портуудад &man.cu.1; болон &man.tip.1;-тэй
төстэй ажилладаг comms/minicom зэрэг
цөөнгүй хэдэн хэрэгслүүд байдаг.
X терминалууд
X терминалууд нь хамгийн төвөгтэй терминалуудын нэг юм. Цуваа порт уруу
холбогдохын оронд тэдгээр нь ихэвчлэн Ethernet зэрэг сүлжээнд холбогддог.
Зөвхөн текст орчны програмуудад зориулагдсан биш тэдгээр нь харин X програм үзүүлж
чаддаг.
Энэ сэдвийг гүйцэд хамарч бүрэн бүтэн байлгах үүднээс бид X терминалуудыг
танилцуулж байна. Гэхдээ энэ бүлэг X терминалуудыг суулгах, тохируулах болон
тэдгээрийн хэрэглээг тайлбарлахгүй.
Тохиргоо
Энэ хэсэг нь терминал дээр нэвтрэх сесс идэвхжүүлэхийн тулд өөрийн FreeBSD систем
дээр таныг юу тохируулах хэрэгтэйг тайлбарлах болно. Энэ нь цуваа
порт дэмжихээр өөрийн цөмийг таныг аль хэдийн тохируулсан байгаа гэж үздэг. Цуваа
порт уруу терминал холбогдсон бөгөөд таныг тэр терминал уруу холбогдсон байгаа
гэж тооцдог.
init процесс нь бүх процессийн хяналт болон
системийн эхлүүлэх үе дэх эхний тохиргоог хариуцдагийг -с
санах хэрэгтэй. init-ийн хийдэг үйлдлүүдийн нэг нь
/etc/ttys файлыг уншиж байгаа терминалууд
дээр getty процессийг эхлүүлэх явдал юм.
getty процесс нь нэвтрэх нэрийг уншиж
login програмыг ажиллуулахыг хариуцдаг.
Тиймээс өөрийн FreeBSD системийн хувьд терминалуудыг тохируулахын
тулд root хэрэглэгчээр дараах алхмуудыг гүйцэтгэх
хэрэгтэй:
/dev сан дахь оруулгад зориулж
/etc/ttys файлд хэрэв байхгүй бол
цуваа портын мөрийг нэмнэ.
/usr/libexec/getty нь порт дээр
ажиллахыг зааж /etc/gettytab файлаас
тохирох getty төрлийг
тохируулах хэрэгтэй.
Анхдагч терминалын төрлийг заана.
Портыг on
болгоно.
Порт secure
байх ёстой эсэхийг заана.
init тушаалаар
/etc/ttys файлыг дахин уншуулна.
Нэмэлт алхам болгож хоёрдугаар алхам дээр та өөр getty
төрлийг хэрэглээнд зориулан /etc/gettytab-д
оруулан үүсгэж болох юм. Энэ бүлэг нь үүнийг хэрхэн хийхийг тайлбарлахгүй бөгөөд
дэлгэрэнгүй мэдээллийг &man.gettytab.5; болон &man.getty.8; гарын
авлагын хуудаснуудаас үзэхийг зөвлөж байна.
/etc/ttys уруу оруулгууд нэмэх нь
/etc/ttys файл нь нэвтрэлтүүдийг зөвшөөрөхийг хүссэн
таны FreeBSD систем дээрх бүх портуудыг жагсаадаг. Жишээ нь эхний виртуал консол
ttyv0 нь энэ файлд өөрийн оруулгатай байна. Та энэ оруулгыг
ашиглан консол дээр нэвтрэн орж чадна. Энэ файл нь бас бусад виртуал консолууд, цуваа портууд,
болон псевдо tty-уудын оруулгуудыг бас агуулдаг. Хатуугаар холбогдсон терминалын хувьд
цуваа портын /dev оруулгыг /dev
хэсэггүйгээр (жишээ нь /dev/ttyv0 нь ttyv0
гэж жагсаагдах болно) жагсаадаг.
Анхдагч FreeBSD суулгац нь /etc/ttys файлыг
эхний дөрвөн цуваа портын дэмжлэгтэйгээр агуулдаг: ttyd0-с
ttyd3 хооронд байна. Хэрэв та терминалыг эдгээр
портуудын аль нэгэнд холбож байгаа бол өөр оруулга нэмэх шаардлагагүй юм.
/etc/ttys уруу терминалын оруулгууд нэмэх нь
Бид системд хоёр терминал холбохыг хүслээ гэж бодъё: Wyse-50
болон VT-100 терминалыг эмуляц хийх Procomm
терминал програм хангамжийг ажиллуулж байгаа хуучин 286 IBM PC-г
терминал маягаар ашиглая. Бид Wyse-ийг хоёр дахь цуваа порт уруу
холбож 286-г зургаа дахь цуваа порт уруу холбоё (олон порттой цуваа картын
порт). /etc/ttys файл дахь харгалзах
оруулгууд нь иймэрхүү байна:
ttyd1 "/usr/libexec/getty std.38400" wy50 on insecure
ttyd5 "/usr/libexec/getty std.19200" vt100 on insecure
Эхний талбар нь ихэвчлэн /dev-д байгаа
терминалын тусгай файлын нэрийг заадаг.
Хоёр дахь талбар нь энэ мөрийн хувьд ажиллах тушаал бөгөөд
ихэвчлэн &man.getty.8; байдаг. getty нь
эхлүүлж шугамыг нээн хурдыг тохируулан хэрэглэгчийн нэрийг асууж
&man.login.1; програмыг ажиллуулдаг.
getty програм нь нэг (нэмэлт) параметр
getty төрлийг өөрийн тушаалын мөрөнд
хүлээн авдаг. getty төрөл нь
терминалын шугам дахь bps хурд болон parity зэрэг шинжүүдийг
тохируулдаг. getty програм нь
эдгээр шинжүүдийг /etc/gettytab файлаас
уншдаг.
/etc/gettytab файл нь хуучин болон
шинэ терминалын шугамнуудад зориулсан олон мөрүүдийг агуулдаг.
Бараг бүх тохиолдолд std текстээр эхэлсэн
оруулгууд нь hardwired буюу хатуугаар холбогдсон терминалуудын
хувьд ажилладаг. Эдгээр оруулгууд нь parity-г орхидог.
110-аас 115200 хүртэл bps хурд болгоны хувьд std
оруулга байдаг. Мэдээж та өөрийнхөө оруулгыг энэ файлд нэмж болно.
&man.gettytab.5; гарын авлагын хуудас илүү дэлгэрэнгүй мэдээллийг
өгөх болно.
getty төрлийг
/etc/ttys файлд тохируулахдаа
терминал дахь холбооны тохируулгууд таарч байгаа эсэхийг
шалгаарай.
Бидний жишээн дээр Wyse-50 нь parity ашиглахгүй бөгөөд
38400 bps хурдаар холбогдоно. 286 PC нь parity
ашиглахгүй бөгөөд 19200 bps хурдаар холбогдоно.
Гурав дахь талбар нь тэр tty шугам уруу ихэвчлэн холбогдсон байдаг
терминалын төрөл юм. Хэрэглэгч нь бараг л дурын терминалын төрөл эсвэл
програм хангамжаар утасдан холбогдож болох учир dial-up портуудын хувьд
unknown эсвэл dialup
төрөл энэ талбарт ихэвчлэн ашиглагддаг. Хатуугаар холбогдсон терминалуудын
хувьд терминалын төрөл өөрчлөгдөхгүй учраас та энэ талбарт
&man.termcap.5; мэдээллийн баазаас жинхэнэ терминалын төрлийг
тавьж болно.
Бидний жишээн дээр Wyse-50 нь жинхэнэ терминалын төрлийг ашиглах
бол Procomm ажиллуулж байгаа
286 PC нь VT-100-г эмуляц хийхээр тохируулагдах болно.
Дөрөв дэх талбар нь порт идэвхтэй байх ёстой эсэхийг заадаг.
Энд on гэж тавихад init
процесс хоёр дахь талбар дахь програм getty-г
ажиллуулах болно. Хэрэв та энэ талбарт off гэж
тавьбал getty үгүй болж порт дээр
нэвтрэлт байхгүй болно.
Сүүлийн талбар нь порт аюулгүй эсэхийг заахад хэрэглэгддэг.
Портыг secure буюу аюулгүй болгох нь root
бүртгэлийг (эсвэл хэрэглэгчийн ID 0 бүхий дурын бүртгэлийг) тэр портоос
нэвтрэхийг зөвшөөрч хангалттай итгэнэ гэсэн үг юм. Insecure буюу
аюулгүй биш портууд нь root нэвтрэлтүүдийг
зөвшөөрдөггүй. Insecure буюу аюулгүй биш порт дээр хэрэглэгчид нь
эрхгүй бүртгэлүүдээс нэвтрэн орж супер хэрэглэгчийн эрхүүдийг
авахын тулд &man.su.1; эсвэл өөр төстэй арга замыг ашиглах
ёстой юм.
Түгжээтэй хаалганы цаана байгаа терминалын хувьд ч гэсэн
insecure
тохируулгыг ашиглах нь хамгийн зөв зүйтэй
юм. Хэрэв танд супер хэрэглэгчийн зөвшөөрлүүд хэрэгтэй бол
нэвтрэн ороод su тушаалыг ашиглах нь
их амархан байдаг.
/etc/ttys-г init тушаалаар
дахин уншуулах
/etc/ttys файлд шаардлагатай өөрчлөлтүүдийг
хийсний дараа init процесс уруу өөрийн тохиргооных нь файлыг
дахин уншуулахын тулд SIGHUP (hangup) дохиог илгээх хэрэгтэй. Жишээ нь:
&prompt.root; kill -HUP 1
init нь үргэлж систем дээр ажиллаж байгаа эхний
процесс байдаг учир энэ нь үргэлж PID 1-тэй байна.
Хэрэв бүгд зөв тохируулагдаж бүх кабелиуд нь байх ёстой газраа байж
терминалууд нь ассан байгаа бол терминал бүр дээр getty
процесс ажиллаж байх ёстой бөгөөд та энэ үед өөрийн терминалууд
дээр нэвтрэлт хүлээх мөрүүдийг харах ёстой.
Өөрийн холболтод гарсан алдааг олж засварлах нь
Нягт нямбай анхаарал хандуулсан байлаа ч гэсэн терминалыг тохируулж
байх явцад алдаа гарч буруутаж болох юм. Энд шинж тэмдгүүдийн жагсаалт
болон зарим нэг санал болгосон засваруудыг үзүүлэв.
Нэвтрэлт хүлээх мөр гарч ирэхгүй байх
Терминал холбогдсон бөгөөд ассан байгаа эсэхийг шалгана. Энэ нь хэрэв
терминал маягаар ажиллаж байгаа персонал компьютер бол зөв цуваа порт дээр
терминал эмуляц хийх програм хангамж ажиллуулж байгаа эсэхийг
шалгаарай.
Кабель терминал болон FreeBSD компьютерт сайн холбогдсон эсэхийг
шалгах хэрэгтэй. Энэ нь зөв төрлийн кабель болохыг баталгаажуулж үзээрэй.
Терминал болон FreeBSD нь bps хурд болон parity тохиргоонууд дээр
тохирч байгаа эсэхийг шалгаарай. Хэрэв та видео дэлгэцийн терминалтай бол
хар цагаан болон тод байдлын хяналтууд таарсан эсэхийг үзээрэй. Хэрэв энэ нь
хэвлэх терминал бол цаас болон бэх сайн эсэхийг шалгаарай.
getty процесс ажиллаж терминалд үйлчилж
байгаа эсэхийг үзнэ. Жишээ нь ажиллаж байгаа getty
процессуудын жагсаалтыг ps тушаалаар авахын тулд
доор дурдсаныг бичнэ:
&prompt.root; ps -axww|grep getty
Та терминалын хувьд түүний оруулгыг харах ёстой. Жишээ нь
дараах дэлгэц нь getty нь хоёр дахь
цуваа порт ttyd1 дээр ажиллаж
/etc/gettytab файлд
std.38400 гэсэн оруулгыг ашиглаж
байгааг харуулж байна:
22189 d1 Is+ 0:00.03 /usr/libexec/getty std.38400 ttyd1
Хэрэв ямар ч getty процесс ажиллахгүй
байгаа бол /etc/ttys файлд та портыг
идэвхжүүлсэн эсэхээ шалгаарай. Мөн ttys
файлыг өөрчилснийхөө дараа kill -HUP 1
тушаалыг ажиллуулахаа мартуузай.
Хэрэв getty процесс ажиллаж байгаа боловч
терминал нь нэвтрэлт хүлээх мөрийг харуулахгүй байгаа, эсвэл энэ нь
хүлээх мөрийг үзүүлж байгаа боловч танд бичихийг зөвшөөрөхгүй байгаа бол
таны терминал эсвэл кабель тоног төхөөрөмжийн handshaking буюу
харилцан зохицож холбогдох горимыг дэмжихгүй байна гэсэн үг юм.
/etc/ttys файл дахь оруулгыг
std.38400-с 3wire.38400
уруу болгож үзээрэй (/etc/ttys файлыг өөрчилснийхөө
дараа kill -HUP 1 тушаалыг ажиллуулахаа
мартуузай). 3wire оруулга нь std-тэй
төстэй боловч тоног төхөөрөмжийн handshaking хийдэггүй.
Магадгүй та хурдыг багасгаж эсвэл 3wire-г
ашиглаж байхдаа буфер дүүрэхээс сэргийлж
програм хангамжийн урсгалын хяналтыг идэвхжүүлэх
хэрэгтэй байж болох юм.
Нэвтрэлт хүлээх мөрийн оронд хог гарч ирвэл
Терминал болон FreeBSD нь bps хурд болон parity тохиргоонууд дээр тохирч
байгаа эсэхийг шалгана. Зөв getty төрлийг
ашиглаж байгаа эсэхийг баталгаажуулж getty
процессуудыг шалгах хэрэгтэй. Хэрэв үгүй бол /etc/ttys-г
засварлаж kill -HUP 1 тушаалыг ажиллуулна.
Тэмдэгтүүд хоёр удаа гарах; бичих үед нууц үг гарах
Терминалыг (эсвэл терминал эмуляц хийх програм хангамжийг)
half duplex
эсвэл local echo
горимоос full duplex
уруу шилжүүлнэ.
Гай
Хэлмер
Хувь нэмэр болгон оруулсан
Шон
Келли
Нэмсэн
Dial-in буюу гаднаас залгах үйлчилгээ
dial-in үйлчилгээ
Өөрийн FreeBSD системийг dial-in буюу гаднаас залгах үйлчилгээнд
зориулж тохируулах нь терминалууд холбохтой маш төстэй бөгөөд ялгаатай
тал нь та терминалуудын оронд модемуудтай ажиллах юм.
Гадаад, Дотоод модемууд
Гадаад модемууд нь dial-up буюу гадагш залгахад илүү тохиромжтой
байдаг, учир нь гадаад модемууд нь хувирдаггүй RAM-д хадгалагдах параметрүүдээр
хагас тогтмолоор ихэвчлэн тохируулагдсан байж болдог бөгөөд тэдгээр нь ихэвчлэн
чухал RS-232 дохионуудын төлөвийг үзүүлдэг гэрлийн заагчтай байдаг.
Анивчих гэрлүүд нь гийчдийн сэтгэлийг татахаас гадна гэрлүүд нь бас модем зөв ажиллаж
байгаа эсэхийг харахад их ашигтай байдаг.
Дотоод модемуудад ихэвчлэн хувирдаггүй RAM байдаггүй болохоор тэдгээрийн
тохиргоо зөвхөн DIP шилжүүлэгчдийг тохируулснаар хязгаарлагдаж болох юм.
Хэрэв таны дотоод модем ямар нэг дохио заагч гэрэлтэй бол системийн гадар
байгаа нөхцөлд харахад хүнд байх байсан болов уу.
Модемууд болон Кабелууд
модем
Хэрэв та гадаад модем ашиглаж байгаа бол танд мэдээж зөв кабель
хэрэгтэй болно. Хэвийн бүх дохионууд холбогдсон байхад стандарт RS-232C цуваа
кабель хангалттай байх ёстой:
Дохионы нэрс
Товчлолууд
Нэрс
RD
Received Data буюу Хүлээн авсан өгөгдөл
TD
Transmitted Data буюу Дамжуулсан өгөгдөл
DTR
Data Terminal Ready буюу Өгөгдлийн терминал бэлэн
DSR
Data Set Ready буюу Өгөгдлийн олонлог бэлэн
DCD
Data Carrier Detect буюу Өгөгдлийн зөөгч илрүүлэх (RS-232-ийн Хүлээн авсан Шугамын Дохио Илрүүлэгч)
SG
Signal Ground буюу Дохио газар
RTS
Request to Send буюу Илгээх хүсэлт
CTS
Clear to Send буюу Илгээхэд цэвэр
2400 bps хурдаас дээш урсгалын хяналтад
RTS болон CTS дохионууд
FreeBSD-д хэрэгтэй байдаг. Мөн хэзээ дуудлага хүлээн авсан эсвэл шугам таслагдсаныг мэдэх
CD дохио болон сесс бүрэн гүйцэд болсны дараа модемийг
дахин тохируулах DTR дохионууд хэрэгтэй байдаг.
Зарим кабелиуд нь бүх хэрэгцээтэй дохионуудгүйгээр холбогдсон байдаг болохоор
шугам таслагдах үед нэвтрэх сесс байхгүй болохгүй байх зэрэг асуудлууд хэрэв танд байгаа бол
таны кабель асуудалтай байж болох юм.
Бусад &unix; төст үйлдлийн системүүдийн адил FreeBSD нь
хэзээ дуудлагыг хүлээн авсан эсвэл шугам хэзээ таслагдсан болон дуудлагын дараа
модемийг тасалж дахин тохируулахыг мэдэх тоног төхөөрөмжийн дохионуудыг
ашигладаг. FreeBSD нь модем уруу тушаалуудыг илгээх эсвэл модемоос
төлвийн тайлангуудыг харахаас зайлсхийдэг. Хэрэв та модемуудыг
PC дээр тулгуурласан мэдээ тавих системүүд уруу холбохыг мэддэг бол
энэ нь болхи санагдаж магадгүй юм.
Цуваа интерфэйсийн эргэцүүллүүд
FreeBSD нь NS8250-, NS16450-, NS16550-, болон NS16550A-дээр
тулгуурласан EIA RS-232C (CCITT V.24) холбооны интерфэйсүүдийг дэмждэг.
8250 болон 16450 интерфэйсүүд нь ганц тэмдэгтийн буфертай байдаг. 16550
төхөөрөмж нь системийн ажиллагааг илүү сайн болгох 16 тэмдэгтийн буфертай
байдаг. (Цэвэр 16550 дахь алдаанууд нь 16 тэмдэгтийн буферийн хэрэглээнээс
зайлсхийдэг, тиймээс хэрэв боломжтой бол 16550A-г ашиглаарай). Ганц тэмдэгтийн
буфер бүхий төхөөрөмжүүд нь 16 тэмдэгтийн буфер бүхий төхөөрөмжүүдээс илүү
ажил үйлдлийн системээс шаарддаг учраас 16550A-дээр тулгуурласан цуваа
интерфэйс картуудыг эрхэмлэх нь зүйтэй юм. Хэрэв систем олон идэвхтэй
цуваа портуудтай бол эсвэл их ачаалалтай бол 16550A-дээр тулгуурласан картууд
нь бага алдааны түвшин бүхий холбоонуудад илүү зохицдог.
Түргэн дүгнэлт
getty
Терминалуудтай адил init нь
гаднаас залгах холболтуудын хувьд тохируулсан цуваа порт бүрийн хувьд
getty процессийг ажиллуулдаг. Жишээ нь
хэрэв модем /dev/ttyd0 уруу
залгагдсан бол ps ax тушаал ингэж
харуулж болох юм:
4850 ?? I 0:00.09 /usr/libexec/getty V19200 ttyd0
Хэрэглэгч модемийн шугам залгаад модем холбогдох үед
CD (Carrier Detect буюу Зөөгч Илрүүлэгч) шугамыг
модем гаргаж харуулна. Цөм зөөгч илрүүлэгдсэнийг мэдэж getty-ийн
порт нээхийг гүйцээнэ. getty нь login:
хүлээх мөрийг заагдсан эхний шугамын хурдаар илгээдэг. getty нь
зөвшөөрөгдсөн тэмдэгтүүд хүлээн авагдсан эсэхийг мэдэхийн тулд харж байдаг
бөгөөд ердийн тохиргоонд хэрэв энэ нь хог олох юм бол (модемийн холболтын хурд
getty-ийн хурднаас өөр байгаагаас магадгүй болоод)
getty нь боломжийн тэмдэгтүүд хүлээж автлаа
шугамын хурдуудыг тааруулахыг оролдох болно.
/usr/bin/login
Хэрэглэгч өөрийн нэвтрэх нэрийг оруулсны дараа getty
тушаал хэрэглэгчийн нууц үгийг асууж нэвтрэлтийг гүйцээн хэрэглэгчийн бүрхүүлийг
эхлүүлдэг /usr/bin/login тушаалыг
ажиллуулдаг.
Тохиргооны файлууд
/etc санд гурван системийн тохиргооны
файл байдаг бөгөөд өөрийн FreeBSD системд dial-up буюу гадагш
залгах боломжийг олгохын тулд та магадгүй засварлах хэрэгтэй болно.
Эхний /etc/gettytab нь
/usr/libexec/getty демоны тохиргооны
мэдээллийг агуулдаг.
Хоёр дахь /etc/ttys
нь getty процессуудын ажиллах tty
төхөөрөмжүүдэд юу байх ёстойг /sbin/init тушаалд хэлж өгөх
мэдээллийг агуулдаг.
Сүүлд нь порт эхлүүлэх тушаалуудыг та /etc/rc.d/serial
скриптэд байрлуулж болно.
&unix; дээр dial-up модемуудын талаар санаа бодлын хоёр сургууль байдаг.
Нэг бүлэг нь алсын хэрэглэгч ямар ч хурдаар залгасан байсан гэсэн локал компьютераас
модемд холбогдсон RS-232 интерфэйс түгжигдсэн хурдаар ажиллахаар өөрсдийн
модемууд болон системүүдийг тохируулах дуртай байдаг. Энэ тохиргооны ашигтай
тал нь алсын хэрэглэгч системийн нэвтрэлт хүлээх мөрийг үргэлж нэн даруй хардаг
явдал юм. Сул тал нь систем хэрэглэгчийн өгөгдлийн жинхэнэ хурдыг мэддэггүй
явдал бөгөөд Emacs зэрэг бүрэн дэлгэцийн програмууд нь
удаан холболтуудын хувьд хариултыг сайжруулахын тулд өөрийн дэлгэц будах аргуудаа
тааруулахгүй байх болно.
Нөгөө нэг сургууль нь өөрсдийн модемуудынхаа RS-232 интерфэйсийн хурдыг
алсын компьютерийн холболтын хурд дээр тулгуурлан өөрчилдгөөр тохируулдаг.
Жишээ нь модем уруу хийгдэх V.32bis (14.4 Kbps) холболтууд нь
модемийг өөрийн RS-232 интерфэйсийг 19.2 Kbps хурдаар ажиллуулах
бол 2400 bps холболтууд нь модемийн RS-232 интерфэйсийг 2400 bps
хурд дээр ажиллуулдаг. getty нь тухайн ямар нэг
модемийн холболтын хурдны тайлагналтыг ойлгодоггүй учраас getty
тушаал нь login: мэдэгдлийг эхний хурдан дээр
өгдөг бөгөөд хариултаас ирэх тэмдэгтүүдийг харж байдаг. Хэрэв хэрэглэгч хог
харвал тэдгээр нь танигдах хүлээх мөрийг хартлаа Enter
товчлуурыг дарах ёстой гэдгээ мэдэж байгаа гэж тооцдог. Хэрэв өгөгдлийн хурд
таарахгүй бол getty нь хэрэглэгчийн бичсэн болгоныг
хог
гэж харах бөгөөд дараагийн хурдыг оролдож
login: хүлээх мөрийг дахин өгдөг. Энэ процедур
дотор муухайрах түвшинд хүртэл үргэлжилж болох боловч хэрэглэгч зөв хүлээх мөрийг харах
хүртэл ихэвчлэн ганц хоёр товчлуур даруулдаг. Мэдээж энэ нэвтрэлтийн дараалал нь
түрүүчийн locked-speed буюу түгжигдсэн хурд
тай адил
цэвэр байдаггүй боловч бага хурдтай холболтон дээр байх хэрэглэгчийн хувьд бүрэн дэлгэцийн
програмуудаас илүү сайн интерактив хариултыг хүлээн авах ёстой юм.
Энэ хэсэг нь тэнцвэртэй тохиргооны мэдээллийг өгөхийг оролдох боловч
модемийн өгөгдлийн хурд холболтын хурдыг дагах тал уруу илүү хазайсан байгаа
болно.
/etc/gettytab
/etc/gettytab
/etc/gettytab нь &man.getty.8;-ийн
тохиргооны мэдээллийн &man.termcap.5; загварын файл юм. Файлын
хэлбэр болон боломжуудын жагсаалтын тухай бүрэн мэдээллийг &man.gettytab.5;
гарын авлагын хуудаснаас үзнэ үү.
Locked-speed буюу түгжигдсэн хурд тохиргоо
Хэрэв та өөрийн модемийн өгөгдлийн холбоонуудын хурдыг тухайн нэг
хурдан дээр түгжиж байгаа бол магадгүй /etc/gettytab файлд
ямар нэг өөрчлөлт хийх шаардлагагүй юм.
Matching-speed буюу таарах хурд тохиргоо
Өөрийн модемд зориулж ашиглахыг хүссэн хурдны талаар getty-д
мэдээлэл өгөхийн тулд /etc/gettytab файлд та
оруулга тохируулах хэрэгтэй болно. Хэрэв та 2400 bps модемтой бол
байгаа D2400 оруулгыг магадгүй ашиглаж болох
юм.
#
# Fast dialup terminals, 2400/1200/300 rotary (can start either way)
#
D2400|d2400|Fast-Dial-2400:\
:nx=D1200:tc=2400-baud:
3|D1200|Fast-Dial-1200:\
:nx=D300:tc=1200-baud:
5|D300|Fast-Dial-300:\
:nx=D2400:tc=300-baud:
Хэрэв та илүү хурдтай модемтой бол /etc/gettytab
файлд магадгүй оруулга нэмэх хэрэгтэй болж болох юм; энд
интерфэйсийн дээд хурд нь 19.2 Kbps бүхий 14.4 Kbps модемд
зориулан таны ашиглах оруулга байна:
#
# Additions for a V.32bis Modem
#
um|V300|High Speed Modem at 300,8-bit:\
:nx=V19200:tc=std.300:
un|V1200|High Speed Modem at 1200,8-bit:\
:nx=V300:tc=std.1200:
uo|V2400|High Speed Modem at 2400,8-bit:\
:nx=V1200:tc=std.2400:
up|V9600|High Speed Modem at 9600,8-bit:\
:nx=V2400:tc=std.9600:
uq|V19200|High Speed Modem at 19200,8-bit:\
:nx=V9600:tc=std.19200:
Энэ нь 8 бит, parity байхгүй холболтуудад хүргэнэ.
Дээрх жишээ нь холболтын хурдаа 19.2 Kbps
(V.32bis холболтын хувьд) гэж эхлүүлж дараа нь 9600 bps (V.32-ийн хувьд),
2400 bps, 1200 bps, 300 bps, гэж оролдоод
19.2 Kbps хурд уруу буцах болно. Холбооны хурдны тойролт нь
nx= (next table
буюу дараагийн
хүснэгт) боломжтой цуг хийгдсэн байдаг. Мөр бүр нь өгөгдлийн тухайн хурдны
хувьд стандарт
тохиргоонуудын үлдсэнийг авахын тулд
tc= (table continuation
буюу
хүснэгтийн үргэлжлэл) оруулгыг ашигладаг.
Хэрэв та 28.8 Kbps модемтой ба/эсвэл та 14.4 Kbps модем
дээр шахалтын давуу талыг авахыг хүсвэл 19.2 Kbps-ээс илүү холбооны
хурдыг ашиглах хэрэгтэй юм. Энд 57.6 Kbps-ээс эхлэх
gettytab оруулгын жишээ байна:
#
# Additions for a V.32bis or V.34 Modem
# Starting at 57.6 Kbps
#
vm|VH300|Very High Speed Modem at 300,8-bit:\
:nx=VH57600:tc=std.300:
vn|VH1200|Very High Speed Modem at 1200,8-bit:\
:nx=VH300:tc=std.1200:
vo|VH2400|Very High Speed Modem at 2400,8-bit:\
:nx=VH1200:tc=std.2400:
vp|VH9600|Very High Speed Modem at 9600,8-bit:\
:nx=VH2400:tc=std.9600:
vq|VH57600|Very High Speed Modem at 57600,8-bit:\
:nx=VH9600:tc=std.57600:
Хэрэв та удаан CPU-тэй эсвэл ачаалал ихтэй системтэй бөгөөд
16550A дээр тулгуурласан цуваа портуудтай бол 57.6 Kbps хурд
дээр та sio silo
гэсэн алдаанууд хүлээн авч болох юм.
/etc/ttys
/etc/ttys
/etc/ttys файлын тохиргоо
хэсэгт яригдсан байгаа.
Модемуудын тохиргоо төстэй боловч бид өөр терминалын төрлийг заахын тулд
getty уруу өөр нэмэлт өгөгдлүүдийг дамжуулах ёстой.
Түгжигдсэн хурдтай болон таарах хурдтай тохиргоонуудын ерөнхий хэлбэр нь
иймэрхүү байна:
ttyd0 "/usr/libexec/getty xxx" dialup on
Дээрх мөрний эхнийх нь энэ оруулгад зориулсан төхөөрөмжийн тусгай
файл юм — ttyd0 нь /dev/ttyd0
гэсэн үг бөгөөд үүнийг getty харж байдаг.
Хоёр дахь "/usr/libexec/getty
xxx"
(xxx нь эхний
gettytab боломжоор солигдоно) нь энэ төхөөрөмж дээр
init-ийн ажиллуулах процесс юм. Гурав дахь
dialup гэдэг нь терминалын анхдагч төрөл юм.
Дөрөв дэх параметр on гэдэг нь init-д
шугам ажиллагаатай гэдгийг заана. Тав дахь параметр secure
байж болох боловч энэ нь зөвхөн физикийн хувьд аюулгүй терминалуудад (системийн
консолд) ашиглагдах ёстой юм.
Анхдагч терминалын төрөл нь (дээрх жишээний dialup)
локал тохируулгуудаас хамаарна. dialup нь dial-up шугамууд
дээрх уламжлалт терминалын анхдагч төрөл бөгөөд хэрэглэгчид нь өөрсдийн нэвтрэх
скриптүүдийг терминал dialup байгаа үед мэдэхээр өөрчилж өөрсдийн
терминалын төрлийг автоматаар тааруулж болох юм. Гэхдээ зохиогч өөрийн сайт дээр
анхдагч терминалын төрлөө vt102 гэх нь хялбар болохыг
олсон бөгөөд хэрэглэгчид өөрсдийн алсын системүүд дээрээ ердөө л VT102 эмуляцыг
ашигладаг болохоор тэр юм.
Та /etc/ttys файлд өөрчлөлтүүд хийснийхээ
дараа init процессод файлыг дахин уншуулахын тулд
HUP дохиог илгээж болох юм. Та дараах тушаалыг
ашиглаж
&prompt.root; kill -HUP 1
дохио илгээж болно. Хэрэв та анх удаагаа системийг тохируулж байгаа бол
өөрийн модем(үүд)ийг зөв тохируулж init
уруу дохиолохоос өмнө холбогдох хүртэл хүлээхийг хүсэж болох юм.
Locked-speed буюу түгжигдсэн хурд тохиргоо
Түгжигдсэн хурд тохиргооны хувьд таны ttys
оруулга getty уруу өгөгдөх тогтмол хурд бүхий
оруулгатай байх хэрэгтэй. Портын хурд нь 19.2 Kbps
гэж түгжигдсэн модемийн хувьд ttys оруулга нь
иймэрхүү харагдаж болох юм:
ttyd0 "/usr/libexec/getty std.19200" dialup on
Хэрэв таны модем өөр хурдан дээр түгжигдсэн бол
std.19200-ийн оронд
std.speed-ийн
хувьд тохирох утгыг тавьж солиорой. Та /etc/gettytab-д
жагсаагдсан зөв төрлийг ашигласан эсэхээ шалгаарай.
Matching-speed буюу таарах хурд тохиргоо
Таарах хурд тохиргоон дээр таны ttys
оруулга нь /etc/gettytab дахь
тохирох зөв auto-baud
(sic) оруулгаас
авах хэрэгтэй болдог. Жишээ нь хэрэв та дээрх санал
болгосон оруулгыг 19.2 Kbps-ээс (V19200 эхлэх
цэгийг агуулах gettytab оруулга) эхлэх таарах хурд
бүхий модемийн хувьд нэмсэн бол таны ttys
оруулга иймэрхүү харагдах болно:
ttyd0 "/usr/libexec/getty V19200" dialup on
/etc/rc.d/serial
rc files
rc.serial
V.32, V.32bis, болон V.34 зэрэг өндөр хурдтай модемууд
тоног төхөөрөмжийн (RTS/CTS) урсгал хяналтыг
ашиглах хэрэгтэй. Та модемийн портуудын хувьд FreeBSD цөмд
тоног төхөөрөмжийн урсгалын хяналтын тугийг тохируулахын тулд
stty тушаалуудыг /etc/rc.d/serial
файлд нэмж болно.
Жишээ нь гаднаас залгах болон гадагш залгах эхний төхөөрөмжүүдийн
хувьд цуваа порт #1 дээр crtscts гэсэн
termios-ийн тугийг тохируулахын тулд
дараах мөрүүдийг /etc/rc.d/serial
файлд нэмж болох юм:
# Serial port initial configuration
stty -f /dev/ttyd1.init crtscts
stty -f /dev/cuad1.init crtscts
Модемийн тохиргоонууд
Хэрэв та хувирдаггүй RAM-д параметрүүд нь тогтмолоор тохируулагдсан байж болох
модемтой бол параметрүүдийг тохируулахын тулд та терминал програм (&ms-dos; дээр
Telix эсвэл FreeBSD дээр tip гэх мэт) ашиглах
хэрэгтэй болно. Эхний хурдтай адил холболтын хурдыг ашиглан модем уруу холбогдохын
тулд getty нь доор дурдсан шаардлагуудтай таарахын тулд
модемийн хувирдаггүй RAM-ийг хэрэглэж тохируулах болно:
Холбогдох үед CD шалгагдана
Үйлдлийн хувьд DTR шалгагдана; DTR-ийг
хаях нь шугамыг салгаж модемийг дахин тохируулахад хүргэнэ
CTS нь өгөгдлийн урсгалын хяналтыг дамжуулсан
XON/XOFF урсгалын хяналтыг хаана
RTS нь өгөгдлийн урсгалын хяналтыг хүлээн авсан
Чимээгүй горим (үр дүнгийн кодууд байхгүй)
Тушаалын цуурай байхгүй
Аль тушаалууд ба/эсвэл DIP шилжүүлэгчийн тохиргоонуудыг та өгөх ёстой
болохыг олохын тулд өөрийн модемийн баримтыг уншина уу.
Жишээ нь &usrobotics; &sportster; 14,400 хурдтай гадаад модем
дээр дээрх параметрүүдийг тохируулахын тулд эдгээр тушаалуудыг модемд өгч
болох юм:
ATZ
AT&C1&D2&H1&I0&R2&W
V.42bis ба/эсвэл MNP5 шахалтыг ашиглах зэрэг модемийн бусад тохиргоонуудыг
тааруулахын тулд та бас энэ боломжийг ашиглахыг хүсэж болох юм.
&usrobotics; &sportster; 14,400 хурдтай гадаад модем нь тохируулах хэрэгтэй
DIP шилжүүлэгчүүдтэй бас байдаг; бусад модемуудын хувьд та эдгээр тохируулгуудыг
жишээ болгон ашиглаж болох юм:
Шилжүүлэгч 1: ДЭЭШ — DTR Хэвийн
Шилжүүлэгч 2: N/A буюу Байхгүй (Үр дүнгийн үгэн кодууд/Үр дүнгийн тоон кодууд)
Шилжүүлэгч 3: ДЭЭШ — Үр дүнгийн дарах/хориглох кодууд
Шилжүүлэгч 4: ДООШ — Цуурай байхгүй, холбогдоогүй үеийн тушаалууд
Шилжүүлэгч 5: ДЭЭШ — Автомат хариулна
Шилжүүлэгч 6: ДЭЭШ — Зөөгч илрүүлэлт хэвийн
Шилжүүлэгч 7: ДЭЭШ — NVRAM анхдагчуудыг ачаалах
Шилжүүлэгч 8: N/A буюу Байхгүй (Ухаалаг Горим/Дүлий Горим)
Хэрэв getty тушаал нь
login: хүлээх мөрийг тушаалын горимд байгаа модем уруу
андуурч өгсөн бөгөөд модем нь тушаалыг цуурайтуулан буцааж эсвэл үр дүнгийн
кодыг буцаахад үүсч болох асуудлуудаас сэргийлэхийн тулд үр дүнгийн кодууд нь
dial-up модемуудын хувьд хаагдсан/дарагдсан байх ёстой. Энэ дараалал нь
getty болон модемийн хооронд сунасан, тэнэг
ярианд хүргэж болох юм.
Locked-speed буюу түгжигдсэн хурд тохиргоо
Түгжигдсэн хурд тохиргооны хувьд та модемийг холболтын хурдаас хамааралгүйгээр
модемоос компьютер хүртэлх өгөгдлийн хурдыг тогтмолоор байлгахаар тохируурах
хэрэгтэй. &usrobotics; &sportster; 14,400 хурдтай гадаад модем дээр
эдгээр тушаалууд нь модемоос компьютер хүртэлх өгөгдлийн хурдыг тушаалуудыг
ажиллуулах хурд дээр түгжих болно:
ATZ
AT&B1&W
Matching-speed буюу таарах хурд тохиргоо
Хувьсах хурд тохиргооны хувьд ирж байгаа дуудлагын хурдтай ижил байлгаж
өөрийн цуваа портын өгөгдлийн хурдыг тааруулахын тулд та өөрийн модемийг
тохируулах хэрэгтэй болно. &usrobotics; &sportster; 14,400 хурдтай
гадаад модем дээр эдгээр тушаалууд нь модемийн алдаа засварлах өгөгдлийн хурдыг
тушаалуудыг ажиллуулах хурд дээр түгжих боловч цуваа портын хурдыг
алдаа засварлахүй холболтуудын хувьд хувьсах байхаар зөвшөөрөх болно:
ATZ
AT&B2&W
Модемийн тохиргоог шалгах нь
Ихэнх өндөр хурдтай модемууд нь модемийн тухайн үеийн үйлдлийн параметрүүдийг
хүн уншиж болохоор үзүүлэх тушаалуудтай байдаг. &usrobotics; &sportster; 14,400 хурдтай
гадаад модемууд дээр ATI5 тушаал хувирдаггүй RAM-д хадгалагдаж
байгаа тохиргоонуудыг харуулдаг. Модемийн үйлдлийн жинхэнэ параметрүүдийг харахын
тулд (модемийн DIP шилжүүлэгчийн тохиргоонууд нөлөөлсөн) ATZ болон
дараа нь ATI4 тушаалуудыг ашиглана.
Хэрэв та өөр загварын модемтой бол өөрийн модемийн тохиргооны
параметрүүдийг хэрхэн давхар шалгах талаар өөрийн модемийн гарын авлагаас
шалгаарай.
Алдааг олж засварлах нь
Өөрийн систем дээр dial-up модемийг шалгахын тулд таны дагах цөөн хэдэн алхмууд
энд байна.
FreeBSD системийг шалгах
Өөрийн модемийг өөрийн FreeBSD системд залгаад системээ ачаалах бөгөөд
хэрэв таны модем төлөв заах гэрлүүдтэй бол системийн консол дээр login:
хүлээх мөр гарч ирэх үед модемийн DTR заагч асаж байгаа эсэхийг
шалгах хэрэгтэй — хэрэв асаж байгаа бол FreeBSD нь тохирох холболтуудын
порт дээр getty-г эхлүүлж модемийг дуудлага хүлээж авахыг
хүлээж байна гэсэн үг юм.
Хэрэв DTR заагч асахгүй бол FreeBSD систем уруу
консолоор нэвтрээд FreeBSD нь зөв порт дээр getty процессийг
ажиллуулахаар оролдож байгаа эсэхийг харахын тулд ps ax
тушаалыг ажиллуулна. Та эдгээртэй төстэй мөрүүдийг процессуудын хамтаар
харах ёстой:
114 ?? I 0:00.10 /usr/libexec/getty V19200 ttyd0
115 ?? I 0:00.10 /usr/libexec/getty V19200 ttyd1
Хэрэв та үүнтэй адил өөр:
114 d0 I 0:00.10 /usr/libexec/getty V19200 ttyd0
мөрийг харсан бөгөөд модем нь дуудлага хүлээж авч амжаагүй байгаа бол
getty нь холболтуудын порт дээр өөрийн онгойлголтыг
бүрэн хийж гүйцсэн гэсэн үг юм. Энэ нь кабелийн асуудал эсвэл буруу тохируулсан модемтой
холбоотой асуудлыг зааж болох юм. Яагаад гэвэл getty
нь CD-г (carrier detect буюу зөөгч илрүүлэх) модемоор
шалгагдтал холболтуудын портуудыг онгойлгож чадахгүй байх ёстой юм.
Хэрэв та хүссэн ttydN
портыг онгойлгохыг хүлээж байгаа ямар нэг getty процессуудыг
харахгүй байгаа бол /etc/ttys файл дахь өөрийн оруулгуудад
алдаа байгаа эсэхийг давхар шалгаарай. Мөн init эсвэл
getty тушаалаас гарсан бүртгэлийн ямар нэг мэдэгдлүүд
асуудлууд байгаа эсэхийг мэдээлсэн эсэхийг харахын тулд бүртгэлийн файл
/var/log/messages-г бас шалгаарай. Хэрэв ямар нэг
мэдэгдлүүд байгаа бол /etc/ttys болон
/etc/gettytab тохиргооны файлуудыг гурав дахин
шалгаарай. Мөн /dev/ttydN зэрэг тохирох төхөөрөмжийн
тусгай файлуудад алдаанууд, оруулгууд дутагдаж байгаа эсэх, эсвэл төхөөрөмжийн
тусгай файлууд дутагдаж байгаа эсэхийг бас шалгаарай.
Гаднаас залгаж үзэх
Систем уруу гаднаас залгаж үзээрэй; 8 битийг parity байхгүйгээр болон
алсын систем дээр 1 зогсох битийг ашигласан эсэхээ шалгаарай.
Хэрэв та хүлээх мөрийг тэр дор нь хүлээж авахгүй бол эсвэл хог хүлээн авсан бол
секунд тутам нэг Enter дараад оролдоод үзээрэй.
Тэгсэн ч гэсэн та login: хүлээх мөрийг хэсэг хугацаа
өнгөрсөн ч гэсэн харахгүй байгаа бол BREAK илгээж
оролдоод үзээрэй. Та залгахдаа өндөр хурдтай модем ашиглаж байгаа бол
модемийн интерфэйсийн хурдыг (жишээ нь &usrobotics; &sportster;
модем дээр AT&B1 тушаал ашиглан) түгжсэнийхээ дараа
дахин залгаад оролдоод үзээрэй.
Хэрэв та тэгсэн ч гэсэн login: хүлээх мөрийг
хүлээн авахгүй байгаа бол /etc/gettytab файлыг
дахин шалгаад доор дурдсаныг давхар шалгаарай
Шугамын хувьд /etc/ttys файлд заагдсан
боломжийн эхний нэр /etc/gettytab дахь
боломжийн нэртэй таарч байгаа эсэх
nx= оруулга бүр gettytab
боломжийн өөр нэртэй таарч байгаа эсэх
tc= оруулга бүр gettytab
боломжийн өөр нэртэй таарч байгаа эсэх
Хэрэв таныг залгахад FreeBSD систем дээрх модем хариулахгүй байгаа бол
DTR шалгагдах үед модем нь утсанд хариулахаар тохируулагдсан
эсэхийг шалгаарай. Хэрэв модем зөв тохируулагдсан юм шиг байвал
DTR шугам шалгагдсан эсэхийг модемийн заагч гэрлүүдийг (гэрлүүдтэй бол)
шалган нягтлаарай.
Хэрэв та бүгдийг хэд хэдэн удаа шалгасан бөгөөд ажиллахгүй хэвээр байгаа бол
завсарлага аваад дараа нь үзээрэй. Хэрэв тэгсэн ч гэсэн ажиллахгүй байгаа бол
та &a.questions; уруу өөрийн модем болон асуудлынхаа талаар цахим захидал
илгээж болох бөгөөд жагсаалтан дахь сайн хүмүүс танд туслахыг оролдох болно.
Dial-out буюу гадагш залгах үйлчилгээ
dial-out үйлчилгээ
Дараах нь таны хостыг модемоор өөр компьютер уруу холбох зааврууд юм.
Энэ нь алсын хосттой терминал сесс үүсгэхэд тохирох юм.
Энэ нь BBS уруу нэвтрэн ороход ашигтай байдаг.
Хэрэв та PPP дээр асуудалтай байгаа бол Интернэт дэх файлыг авахад энэ төрлийн
холболт нь туйлын ашигтай байж болох юм. Хэрэв та ямар нэг зүйл FTP хийх хэрэгтэй
бөгөөд PPP эвдэрсэн бол терминал сесс ашиглан FTP хийж болно. Дараа нь
түүнийг өөрийн машин уруу дамжуулахын тулд zmodem ашиглана.
Миний Hayes модем дэмжигдээгүй байна, би юу хийх вэ?
Жинхэнэдээ бол tip-д зориулсан гарын авлагын
хуудас хуучирсан байгаа. Энгийн Hayes залгагч аль хэдийн цуг бүтээгдсэн байгаа
болно. Өөрийн /etc/remote файлд ердөө л
at=hayes-г ашиглаарай.
Hayes драйвер нь шинэ модемуудын дэвшилтэт боломжуудын заримыг
таних хэмжээний ухаалаг байдаггүй бөгөөд BUSY, NO DIALTONE,
эсвэл CONNECT 115200 зэрэг мэдэгдлүүд нь
түүнийг самууруулах болно. Та tip-ийг хэрэглэхдээ тэдгээр мэдэгдлүүдийг
(ATX0&W-г ашиглаж) хаах хэрэгтэй.
Бас tip-ийн хувьд залгах хугацаа нь 60 секунд байдаг.
Таны модем нь үүнээс багыг ашиглах ёстой бөгөөд тэгэхгүй бол tip холбоонд асуудал
байна гэж үзэх болно. ATS7=45&W гэж үзээрэй.
tip нь Hayes модемуудыг бүрэн гүйцэд
дэмждэггүй. Үүний шийдэл нь /usr/src/usr.bin/tip/tip
сан дахь tipconf.h файлыг засварлах явдал
юм. Танд мэдээж үүнийг хийхийн тулд эх түгээлт байх шаардлагатай.
#define HAYES 0 мөрийг
#define HAYES 1 болгон засварлана. Дараа нь
make хийгээд make install хийнэ.
Түүний дараа бүгд сайхан ажиллах болно.
Эдгээр AT тушаалуудыг би хэрхэн оруулах ёстой вэ?
/etc/remote
Өөрийн /etc/remote файлдаа шууд
гэгддэг оруулгыг хийх хэрэгтэй. Жишээ нь хэрэв таны модем эхний цуваа порт /dev/cuad0-д
холбогдсон бол дараах мөрийг тавьна:
cuad0:dv=/dev/cuad0:br#19200:pa=none
br боломжид таны модемийн дэмждэг хамгийн их bps хурдыг ашиглаарай. Дараа нь
tip cuad0 гэж бичихэд та өөрийн модемд холбогдох
болно.
root хэрэглэгчээр cu-г
дараах маягаар ашиглаарай:
&prompt.root; cu -lline -sspeed
line нь цуваа порт (өөрөөр хэлбэл
/dev/cuad0) бөгөөд
speed нь хурд (өөрөөр хэлбэл
57600) юм. Та AT тушаалуудыг оруулж дуусаад
гарахын тулд ~. дарна.
pn боломжийн @ тэмдэг ажиллахгүй байна!
Утасны дугаарын боломжийн @ тэмдэг нь tip-ийг
/etc/phones файлаас утасны дугаар хайхыг заадаг.
Гэхдээ @ тэмдэг нь бас /etc/remote
зэрэг боломжийн файлуудын тусгай тэмдэгт юм. Үүнийг урагш ташуу зураас ашиглан
оруулж болно:
pn=\@
Тушаалын мөрөн дээр би утасны дугаар уруу хэрхэн залгах вэ?
Өөрийн /etc/remote файлд
ердийн
гэгддэг оруулгыг оруулна. Жишээ нь:
tip115200|Dial any phone number at 115200 bps:\
:dv=/dev/cuad0:br#115200:at=hayes:pa=none:du:
tip57600|Dial any phone number at 57600 bps:\
:dv=/dev/cuad0:br#57600:at=hayes:pa=none:du:
Дараа нь та иймэрхүү зүйлс хийж болно:
&prompt.root; tip -115200 5551234
Хэрэв та cu-г tip-ээс
илүүд үздэг бол ердийн cu оруулгыг ашиглаж:
cu115200|Use cu to dial any number at 115200bps:\
:dv=/dev/cuad1:br#57600:at=hayes:pa=none:du:
дараа нь ингэж бичнэ:
&prompt.root; cu 5551234 -s 115200
Би түүнийг хийх болгондоо bps хурдыг бичих хэрэгтэй юу?
tip1200 эсвэл cu1200-ийн
хувьд оруулгыг хийнэ, гэхдээ br боломжтой тохирох ямар ч bps хурдыг ашиглаж болно.
tip нь боломжийн анхдагч утга бол 1200 bps гэж үздэг.
tip1200 оруулгыг хайдгийн учир нь ийм юм.
Гэхдээ та заавал 1200 bps хурдыг ашиглах шаардлагагүй юм.
Би терминал серверээр хэд хэдэн хостууд уруу ханддаг
Та холбогдох хүртлээ хүлээж CONNECT host гэж
тухай бүрт бичиж байхын оронд tip-ийн cm боломжийг
ашиглаж болно. Жишээ нь /etc/remote файл
дахь эдгээр оруулгууд нь:
pain|pain.deep13.com|Forrester's machine:\
:cm=CONNECT pain\n:tc=deep13:
muffin|muffin.deep13.com|Frank's machine:\
:cm=CONNECT muffin\n:tc=deep13:
deep13:Gizmonics Institute terminal server:\
:dv=/dev/cuad2:br#38400:at=hayes:du:pa=none:pn=5551234:
pain эсвэл muffin хостууд уруу
холбогдохын тулд танд tip pain эсвэл tip
muffin гэж бичих боломжийг олгохоос гадна терминал сервер уруу
орохын тулд tip deep13 гэж бичих боломжийг бас олгоно.
Сайт болгоны хувьд нэгээс их мөрийг tip оролдож чадах уу?
Энэ нь их сургууль хэд хэдэн модемийн шугамуудтай бөгөөд хэдэн мянган оюутнууд
тэдгээрийг ашиглахыг оролдох үед ихэвчлэн гардаг асуудал юм.
Өөрийн их сургуулийн оруулгыг /etc/remote файлд
хийгээд pn боломжийн хувьд @-ийг
ашиглаарай:
big-university:\
:pn=\@:tc=dialout
dialout:\
:dv=/dev/cuad3:br#9600:at=courier:du:pa=none:
Дараа нь их сургуулиудын хувьд утасны дугааруудыг
/etc/phones файлд жагсаана:
big-university 5551111
big-university 5551112
big-university 5551113
big-university 5551114
tip нь жагсаагдсан дарааллаар утас болгоныг
оролдож дараа нь зогсоно. Та оролдлогоо үргэлжлүүлсээр байхын тулд
tip-ийг while давталтад ажиллуулах
хэрэгтэй.
Ctrl
P
хослолыг нэг удаа илгээхийн тулд
Ctrl
P
хослолыг яагаад хоёр удаа дарах хэрэгтэй гэж?
CtrlP нь
анхдагч force буюу хүчлэх
тэмдэгт бөгөөд tip
тушаалд дараагийн тэмдэгт нь үсгэн өгөгдөл гэдгийг хэлэхэд хэрэглэгддэг.
Та хүчлэх тэмдэгтийг дурын тэмдэгт болгон ~s тушаалаар
зааж өгч болно. ~s тушаал нь хувьсагчийг
тохируулах
гэсэн үг юм.
~sforce=single-char
гэж бичээд шинэ мөр авах хэрэгтэй. single-char нь
дурын ганц тэмдэгт юм. Хэрэв та single-char-г
орхих юм бол хүчлэх тэмдэгт нь хоосон тэмдэгт болох бөгөөд та үүнийг
Ctrl2
эсвэл
CtrlSpace
гэж бичин авч болно.
single-char-ийн хувьд боломжийн утга
Shift
Ctrl
6
байж болох бөгөөд энэ нь зөвхөн зарим нэг терминал серверүүдийн хувьд
ашиглагддаг.
Та хүчлэх тэмдэгтийг өөрийн хүссэнээр
$HOME/.tiprc файлд доор дурдсаныг
зааж тохируулж болно:
force=single-char
Гэнэт миний бичсэн болгон том үсгээр гараад байна??
Та
эвдэгдсэн caps-lock товчлуур бүхий хэрэглэгчдэд тусгайлан зориулагдсан
tip-ийн өсгөх тэмдэгт
болох
Ctrl
A
хослолыг дарсан байна. Дээр дурдсаны адил ~s
тушаалыг ашиглан raisechar хувьсагчийг
боломжийн утгаар тохируулах хэрэгтэй. Та үүнийг хүчлэх тэмдэгттэй
адилаар тохируулж болох юм. Өөрөөр хэлбэл хэрэв та эдгээр боломжуудын
аль нэгийг ашиглах бол ингэж болох юм.
Ctrl2
болон
CtrlA
хослолуудыг байнга бичих хэрэгтэй болдог
Emacs хэрэглэгчдэд
яг зориулагдсан жишээ .tiprc файл энд байна:
force=^^
raisechar=^^
^^ нь
ShiftCtrl6
юм.
tip-ээр би яаж файл дамжуулалтуудыг хийх вэ?
Хэрэв та өөр &unix; системтэй харьцаж байвал та ~p (put буюу тавих) болон
~t (take буюу авах) тушаалуудыг ашиглан файлуудыг илгээж хүлээн
авч болно. Эдгээр тушаалууд нь файлуудыг хүлээн авч илгээхийн тулд алсын систем дээр
cat болон echo
тушаалуудыг ажиллуулдаг. Синтакс нь ийм байна:
~p
local-file
remote-file
~t
remote-file
local-file
Алдаа шалгалт байдаггүй учраас магадгүй та zmodem-той адил өөр протокол
ашиглах хэрэгтэй юм.
tip-тэй би zmodem-ийг хэрхэн ажиллуулах вэ?
Файлуудыг хүлээн авахын тулд алсын машин дээр програмыг илгээж эхэлнэ.
Дараа нь тэдгээрийг локалаар хүлээн авч эхлэхийн тулд ~C rz
гэж бичнэ.
Файлуудыг илгээхийн тулд алсын машин дээр програмыг хүлээн авч эхэлнэ. Дараа нь тэдгээрийг
алсын систем уруу илгээхийн тулд ~C sz files
гэж бичнэ.
Казутака
ЁОКОТА
Хойно дурдсан хүний бичсэн баримт дээр тулгуурлан хувь нэмэр болгон оруулсан
Билл
Пол
Бичиг баримтыг бичсэн
Цуваа консолыг тохируулах нь
цуваа консол
Танилцуулга
FreeBSD нь зөвхөн цуваа порт дээр консол маягаар ашиглах дүлий терминал бүхий
систем дээр ачаалах чадвартай байдаг. Ийм тохиргоо нь хоёр ангиллын хүмүүст
ашигтай байх ёстой бөгөөд эдгээр нь гар эсвэл монитор байхгүй машинууд дээр FreeBSD суулгахыг
хүссэн системийн администраторууд болон цөм эсвэл төхөөрөмжийн драйверуудыг
дибаг хийхийг хүссэн хөгжүүлэгчид юм.
-т тайлбарласнаар FreeBSD нь гурван шаттай эхлүүлэгчийг
хэрэглэдэг. Эхний хоёр шат нь ачаалах диск дээрх FreeBSD-ийн зүсмэлийн эхлэл дээр
хадгалагддаг ачаалах блокийн кодод байдаг. Ачаалах блок нь ачаалагч дуудагчийг
(/boot/loader) гурав дахь шатны код болгон дуудаж
ажиллуулдаг.
Цуваа консолыг тохируулахын тулд та ачаалах блокийн код, ачаалагч дуудах код болон
цөмөө тохируулах ёстой болно.
Цуваа консолын тохиргоо, Товч хувилбар
Энэ хэсэг нь таныг анхдагч тохируулга ашиглаж байгаа бөгөөд цуваа консолыг
тохируулах хурдан тоймыг авахыг хүсэж байгаа гэж үздэг.
Цуваа кабелийг COM1 болон хянаж байгаа терминал уруу
холбоно.
Цуваа консол дээр бүх ачаалалтын мэдэгдлүүдийг харахын тулд
супер хэрэглэгчээр нэвтэрснийхээ дараа дараах тушаалыг ажиллуулна:
&prompt.root; echo 'console="comconsole"' >> /boot/loader.conf
/etc/ttys-г засварлаж ttyd0
оруулгын хувьд off гэснийг
on, dialup
гэснийг vt100 болгоно. Ингэхгүй бол
цуваа консолоор холбогдоход нууц үг шаардахгүй бөгөөд
боломжит аюулгүй байдлын цоорхой үүсгэх юм.
Өөрчлөлтүүд идэвхтэй болсон эсэхийг харахын тулд системийг дахин ачаална.
Хэрэв өөр тохиргоо шаардлагатай бол
хэсэгт илүү гүнзгий тохиргооны тайлбар байгаа болно.
Цуваа консолын тохиргоо
Цуваа кабель бэлдэнэ.
null-модем кабель
Танд null-модем кабель эсвэл стандарт цуваа кабель болон null-модем
хувиргагч хэрэгтэй болно. Цуваа кабелиудын тухай хэлэлцүүлгийг
хэсгээс үзнэ үү.
Гарыг салгана.
Ихэнх PC системүүд нь Power-On Self-Test (POST) буюу асаах үеийн
тестийн үеэр гарыг байгаа эсэхийг шалгадаг бөгөөд гар олдохгүй бол
алдаа үүсгэдэг. Зарим машинууд нь гар байхгүйг чангаар мэдээлж
залгагдтал нь цааш ачаалдаггүй.
Хэрэв таны компьютер алдааг мэдээлсэн боловч цааш ачаалах юм бол
та ямар нэг тусгай зүйл хийх шаардлагагүй юм. (Phoenix BIOS суулгагдсан
зарим машинууд нь ердөө л Keyboard failed
гэж мэдээлээд хэвийнээр цааш ачаалах болно.)
Хэрэв таны компьютер гар залгалгүйгээр ачаалахаас татгалзвал энэ алдааг
авч үзэлгүйгээр орхихоор болгож та BIOS-оо тохируулах хэрэгтэй болно
(хэрэв болдог бол). Үүнийг хэрхэн хийх талаар дэлгэрэнгүйг өөрийн эх хавтангийн
гарын авлагаас лавлана уу.
BIOS-ийн тохиргоон дээр гараа Not installed
буюу
суулгагдаагүй гэж тохируулна. Тэгсэн ч гэсэн та өөрийн гарыг ашиглаж чадах
болно. Үүний хийж байгаа зүйл нь BIOS-д асах үед гарыг шалгахгүй
гэж хэлж өгч байгаа юм. Таны BIOS гар байхгүй үед гомдоллохгүй байх
ёстой. Та энэ тугийг Not installed
гэж тохируулсан байлаа
ч гэсэн гараа залгаатай хэвээр орхиж болох бөгөөд гар ажилласан хэвээр
байх болно.
Хэрэв таны систем &ps2; хулганатай бол та бас өөрийн гарны адил
хулганаа бас салгах шаардлагатай байж болох юм. Учир нь юу вэ гэвэл
&ps2; хулгана нь гартай цуг зарим тоног төхөөрөмжийг хуваалцдаг бөгөөд
хулганаа залгаатай орхих нь гар шалгагчийг гар байсаар байгаа гэж
бодоход хүргэн хуурч болох юм. AMI BIOS бүхий
Gateway 2000 Pentium 90 MHz систем ингэдэг гэж
яригддаг. Ерөнхийдөө хулгана нь гаргүйгээр олигтой ажиллахгүй
болохоор энэ нь асуудал биш юм.
Дүлий терминалыг COM1 уруу залгана
(sio0).
Хэрэв танд дүлий терминал байхгүй бол та хуучин PC/XT-г модемийн
програмтай цуг, эсвэл өөр &unix; хайрцаг дээр цуваа портыг ашиглаж болох юм.
Хэрэв танд COM1 (sio0)
байхгүй бол түүнтэй болох хэрэгтэй. Одоогоор ачаалах блокуудыг дахин
эмхэтгэлгүйгээр ачаалах блокуудын хувьд COM1-с
өөр портыг сонгох арга байхгүй. Хэрэв та COM1-г
өөр төхөөрөмжид ашиглаж байгаа бол та тэр төхөөрөмжөө түр зуур салгаад
FreeBSD эхлүүлж ажиллуулсныхаа дараа шинэ ачаалах блок болон цөмийг
суулгах хэрэгтэй болно. (COM1 нь
файл/тооцоолох/терминал сервер дээр байдаг гэж үздэг; хэрэв танд
COM1 нь үнэхээр өөр зүйлд хэрэгтэй байгаа
(бөгөөд та тэр өөр зүйлээ COM2
(sio1) уруу шилжүүлж чадахгүй байгаа))
бол та магадгүй эхлээд энэ бүх зүйл дээр бүр санаа зовох шаардлагагүй
байж болох юм.)
Таны цөмийн тохиргооны файлд COM1-ийн
(sio0) хувьд тохирох тугууд тохируулагдсан
эсэхийг шалгаарай.
Холбоотой тугууд нь:
0x10
Энэ нэгжид зориулан консолын дэмжлэгийг идэвхжүүлнэ. Энэ туг
тохируулагдаагүй бол бусад тугууд нь орхигддог. Одоогоор хамгийн ихдээ
нэг нэгж консолын дэмжлэгтэй байж болдог; Энэ туг тохируулагдсан
эхнийхийг (тохиргооны файлын дарааллаар) эрхэмлэдэг. Энэ тохируулга
нь ганцаараа цуваа портыг консол болгодоггүй. Дараах тугийг тохируулах
юм уу эсвэл энэ тугтай цуг доор тайлбарласан тохируулгыг
ашиглана.
0x20
Доор тайлбарласан тохируулга байгаа
эсэхээс үл хамаарч энэ нэгжийг консол болгоно (өөр илүү эрхтэй консол байхгүй
тохиолдолд). 0x20 туг нь
тугтай цуг ашиглагдах ёстой.
0x40
Энэ нэгжийг (0x10-тай цуг)
нөөцөлж хэвийн хандалтад энэ нэгжийг байхгүй
болгоно. Та энэ тугийг цуваа консол маягаар ашиглахыг хүсэж
байгаа цуваа портын нэгждээ тохируулах ёсгүй юм. Энэ тугны
цорын ганц хэрэглээ нь алсаас цөмийг дибаг хийхэд нэгжийг
зориулах явдал юм. Алсаас дибаг хийх талаар илүү мэдээллийг
Хөгжүүлэгчийн Гарын Авлагаас үзнэ үү.
Жишээ:
device sio0 at isa? port IO_COM1 flags 0x10 irq 4
Илүү дэлгэрэнгүйг &man.sio.4; гарын авлагын хуудаснаас үзнэ үү.
Хэрэв тугнууд тохируулагдаагүй бол UserConfig-г (өөр консол дээр)
ажиллуулах юм уу эсвэл цөмийг дахин эмхэтгэх хэрэгтэй.
Ачаалах төхөөрөмж дээр a хуваалтын
root санд boot.config файлыг үүсгэнэ.
Энэ файл нь системийг та хэрхэн ачаалахыг хүсэж байгааг ачаалах блокийн кодод
зааварлах болно. Цуваа консолыг идэвхжүүлэхийн тулд танд дараах
нэг буюу хэд хэдэн тохируулгууд хэрэгтэй болно—хэрэв та олон тохируулгуудыг
хүсэж байгаа бол бүгдийг нэг мөрт оруулах хэрэгтэй:
Дотоод болон цуваа консолуудыг харилцан сольно. Та үүнийг ашиглан
консол төхөөрөмжүүдийг сольж шилжүүлж болно. Жишээ нь хэрэв та
дотоод (видео) консолоос ачаалах бол ачаалагч дуудагч болон
цөмд өөрийн консолын төхөөрөмждөө цуваа портыг ашиглуулахаар чиглүүлэх
тохируулгыг ашиглаж болох юм. Мөн өөрөөр
хэрэв та цуваа портоос ачаалах бол ачаалагч дуудагч болон
цөмд видео дэлгэцийг консол маягаар харин хэрэглүүлэхийн тулд
тохируулгыг ашиглаж болох юм.
Ганц болон хоёр консолын тохиргоонуудыг сольно. Ганц тохиргоон дээр
дээрх тохиргооны төлвөөс хамаарч консол нь
дотоод консол (видео дэлгэц) байх юм уу эсвэл цуваа порт байх болно.
Хоёр консолын тохиргоон дээр видео дэлгэц болон цуваа порт нь хоёулаа
тохиргооны төлвөөс үл хамааран консол болох
юм. Гэхдээ хоёр консолын тохиргоо нь зөвхөн ачаалах блок ажиллаж байх
үед идэвхтэй байхыг санаарай. Ачаалагч дуудагч хяналтыг авсны дараа
тохируулгаар заагдсан консол нь цорын ганц
консол болох юм.
Ачаалах блокоор гарыг шалгуулна. Хэрэв гар олдоогүй бол
болон тохируулгууд
автоматаар тохируулагдана.
Зайны шаардлагаас болоод ачаалах блокуудын одоогийн
хувилбарт тохируулга нь зөвхөн
өргөтгөсөн гарнуудыг олох чадвартай байдаг. 101 товчлуураас
бага товчлууруудтай (ба F11 болон F12 товчлууруудгүй) гарнууд нь
олдохгүй байж болох юм. Зарим нэг зөөврийн компьютерууд
дээрх гарнууд нь энэ хязгаарлалтаас болоод зөвөөр олдохгүй байж
болох юм. Хэрэв та ийм системтэй бол
тохируулга ашиглахаа болих хэрэгтэй юм. Харамсалтай нь
энэ асуудлыг тойрон гарах арга зам байдаггүй.
Консолио автоматаар сонгохын тулд тохируулгыг
ашиглах юм уу эсвэл цуваа консолыг идэвхжүүлэхийн тулд
тохируулгыг ашиглана.
Та &man.boot.8;-д тайлбарласны адил бас бусад тохируулгуудыг
оруулж болох юм.
-с бусад тохируулгууд нь ачаалагч дуудагчид
(/boot/loader) дамжуулагддаг. Ачаалагч
дуудагч нь зөвхөн тохируулгын төлөвийг шалгаж
дотоод видео эсвэл цуваа портын аль нь консол болох ёстойг тодорхойлох
болно. Энэ нь хэрэв та /boot.config файлд
тохируулгыг тохируулаад гэхдээ
тохируулгыг тохируулаагүй бол та цуваа портыг
зөвхөн ачаалах блокийн үед консол болгон ашиглаж болно гэсэн үг юм;
ачаалагч дуудагч нь дотоод видео дэлгэцийг консол маягаар ашиглах болно.
Машиныг ачаална.
Та өөрийн FreeBSD хайрцгийг эхлүүлэх үед ачаалах блокууд нь
/boot.config файлын агуулгуудыг консол
уруу гаргаж харуулах болно. Жишээ нь:
/boot.config: -P
Keyboard: no
Хоёр дахь мөр нь /boot.config файлд
тохируулгыг зөвхөн тавьсан тохиолдолд
гарах бөгөөд гар байгаа/байхгүйг заадаг. Эдгээр мэдэгдлүүд нь
/boot.config файл дахь тохируулгаас
хамаараад цуваа эсвэл дотоод консол уруу, эсвэл хоёулан уруу гардаг.
Тохируулгууд
Мэдэгдлүүд гарах газар
байхгүй
дотоод консол
цуваа консол
цуваа болон дотоод консолууд
цуваа болон дотоод консолууд
, гар байна
дотоод консол
, гар байхгүй
цуваа консол
Дээрх мэдэгдлүүдийн дараа ачаалах блокууд нь ачаалагч дуудагчийг дуудахаас
өмнө болон бусад дараа дараагийн мэдэгдлүүд консол дээр хэвлэгдэхээс өмнө
бага хэмжээний завсарлага (пауз) авах болно. Хэвийн нөхцөлд танд ачаалах
блокуудыг тасалдуулах хэрэггүй боловч та бүх зүйлс зөв тохируулагдсаныг
баталгаажуулахын тулд ингэхийг хүсэж болох юм.
Ачаалах процессийг тасалдуулахын тулд консол дээр Enter-с
өөр дурын товчлуурыг дарах хэрэгтэй. Ачаалах блокууд нь дараа нь танаас дараачийн
чинь үйлдлийг асуух болно. Та одоо иймэрхүү мэдэгдэл харах ёстой:
>> FreeBSD/i386 BOOT
Default: 0:ad(0,a)/boot/loader
boot:
Дээрх мэдэгдэл цуваа эсвэл дотоод консол дээр эсвэл хоёулан дээр
гарч байгаа эсэхийг /boot.config файлд
хийсэн тохируулгуудынхаа дагуу шалгаарай. Хэрэв мэдэгдэл зөв
консол дээр гарч байвал ачаалах процессийг үргэлжлүүлэхийн тулд
Enter дараарай.
Хэрэв та цуваа консолыг хүсэж байгаа боловч цуваа терминал дээр
хүлээх мөрийг харахгүй байгаа бол таны тохиргоонд ямар нэг зүйл буруу
байна. Тэр хооронд та ачаалах блокт (ба дараа нь ачаалагч дуудагч болон
цөмд) цуваа портыг консолд зориулан сонгуулахыг хэлэхийн тулд
гэж бичээд Enter эсвэл Return (боломжтой бол)
дараарай. Систем ачаалсны дараа юу буруу болсныг буцаж шалгаарай.
Ачаалагч дуудагч дуудагдсаны дараа та ачаалах процессийн гурав дахь
шатанд байгаа бол ачаалагч дуудагчид зохих орчны хувьсагчуудыг тохируулж
дотоод консол болон цуваа консолын хооронд та шилжиж чадсан хэвээр байх
болно. -г үзнэ үү.
Дүгнэлт
Энэ хэсэгт хэлэлцсэн төрөл бүрийн тохиргоонуудын дүгнэлт болон
эцсийн дүнд консол сонгогдсон тухай мэдээлэл энд байна.
Тохиолдол 1: Та sio0-д зориулж тугуудыг 0x10
болгож тохируулна
device sio0 at isa? port IO_COM1 flags 0x10 irq 4
/boot.config дахь тохируулгууд
Ачаалах блокуудын үеийн консол
Ачаалагч дуудагчийн үеийн консол
Цөм дэх консол
юу ч байхгүй
дотоод
дотоод
дотоод
цуваа
цуваа
цуваа
цуваа болон дотоод
дотоод
дотоод
цуваа болон дотоод
цуваа
цуваа
, гар байна
дотоод
дотоод
дотоод
, гар байхгүй
цуваа болон дотоод
цуваа
цуваа
Тохиолдол 2: Та sio0-д зориулж тугуудыг 0x30
болгож тохируулна
device sio0 at isa? port IO_COM1 flags 0x30 irq 4
/boot.config дахь тохируулгууд
Ачаалах блокуудын үеийн консол
Ачаалагч дуудагчийн үеийн консол
Цөм дэх консол
юу ч байхгүй
дотоод
дотоод
цуваа
цуваа
цуваа
цуваа
цуваа болон дотоод
дотоод
цуваа
цуваа болон дотоод
цуваа
цуваа
, гар байна
дотоод
дотоод
цуваа
, гар байхгүй
цуваа болон дотоод
цуваа
цуваа
Цуваа консолд зориулсан зааврууд
Цуваа портын хурдыг илүү хурдан болгох
Анхдагчаар цуваа портын тохируулгууд нь 9600 baud, 8
бит, parity байхгүй, ба 1 зогсох бит бүхий байна. Хэрэв та анхдагч консолын
хурдыг өөрчлөхийг хүсвэл танд дараах сонголтууд байна:
Ачаалах блокуудыг консолын шинэ хурд заагдсан
BOOT_COMCONSOLE_SPEED хувьсагчтай цуг
дахин эмхэтгэнэ. Шинэ ачаалах блокуудыг бүтээж суулгах талаар
дэлгэрэнгүй заавруудыг -с
үзнэ үү.
Хэрэв цуваа консол нь тохируулгатайгаар
ачаалахаас өөр аргаар тохируулагдсан бол эсвэл цөмийн ашиглаж байгаа
цуваа консол нь ачаалах блокуудын ашиглаж байгаагаас өөр бол
та дараах тохируулгыг цөмийн тохиргооны файлдаа бас нэмж шинэ цөмөө
эмхэтгэх ёстой юм:
options CONSPEED=19200
Цөмийн ачаалах тохируулгыг ашиглана.
тушаалын мөрийн тохируулга нь
/boot.config файлд нэмэгдэж болно.
/boot.config файлд хэрхэн тохируулгууд
нэмэх тухай тайлбар болон дэмжигдсэн тохируулгуудын талаар
&man.boot.8; гарын авлагын хуудаснаас үзнэ үү.
Өөрийн /boot/loader.conf файлд
comconsole_speed тохируулгыг
идэвхжүүлнэ.
Энэ тохируулга нь /boot/loader.conf
файлд бас console,
boot_serial, болон
boot_multicons тохируулагдсан эсэхээс
хамаардаг. Цуваа консолын хурдыг өөрчлөх
comconsole_speed тохируулгын хэрэглээний
жишээ энд байна:
boot_multicons="YES"
boot_serial="YES"
comconsole_speed="115200"
console="comconsole,vidconsole"
-
- 6.1-RELEASE-с өмнөх &os; хувилбарууд нь
- /boot/loader.conf файлд
- эсвэл comconsole_speed
- тохируулгыг дэмждэггүй учраас хэрэв та ийм хувилбарын &os; ашиглаж байгаа
- бол ачаалах блокуудыг дахин эмхэтгэх хэрэгтэй болох юм.
-
Консолд зориулж sio0-с өөр цуваа портыг
ашиглах
sio0-с өөр портыг консолд ашиглах нь
зарим нэг дахин эмхэтгэлтийг шаарддаг. Та ямар ч шалтгаанаар байлаа гэсэн
өөр цуваа портыг ашиглахыг хүсвэл доор дурдсан шигээр ачаалах блокууд,
ачаалагч дуудагч болон цөмийг дахин эмхэтгэх хэрэгтэй.
Цөмийн эхийг авна. ( бүлгийг үзнэ үү)
/etc/make.conf файлыг засварлаж
BOOT_COMCONSOLE_PORT хувьсагчийг
ашиглахыг хүсэж байгаа портынхоо хаягаар (0x3F8, 0x2F8, 0x3E8 эсвэл
0x2E8) тохируулна. Зөвхөн sio0-с
sio3 (COM1-с
COM4) хүртэлх портууд ашиглагдаж болно;
олон порттой цуваа картууд ажиллахгүй. Тасалдлын тохируулга
шаардлагагүй.
Тусгайлсан цөмийн тохиргооны файл үүсгээд ашиглахыг хүсэж байгаа
портынхоо хувьд тохирох тугуудыг нэмээрэй. Жишээ нь хэрэв та
sio1 (COM2)
портыг консол болгохыг хүсэж байгаа бол:
device sio1 at isa? port IO_COM2 flags 0x10 irq 3
эсвэл
device sio1 at isa? port IO_COM2 flags 0x30 irq 3
Бусад цуваа портуудын хувьд консолын тугууд тохируулагдах ёсгүй.
Ачаалах блокууд болон ачаалагч дуудагчийг дахин эмхэтгээд суулгана:
&prompt.root; cd /sys/boot
&prompt.root; make clean
&prompt.root; make
&prompt.root; make install
Цөмийг дахин бүтээж суулгана.
Ачаалах блокуудыг ачаалах диск уруу &man.bsdlabel.8;-ийн
тусламжтай бичээд шинэ цөмөөс ачаална.
Цуваа шугамнаас DDB дибаг хийгч уруу орох
Хэрэв та цуваа консолоос цөмийг дибаг хийгч уруу орохыг хүсвэл
(алсаас хийх шинжилгээнд ашиг тустай байдаг боловч хэрэв та цуваа порт дээр
алдаатай BREAK үүсгэсэн бол энэ нь аюултай байдаг!) та өөрийн цөмийг дараах
тохируулгуудтай эмхэтгэх шаардлагатай:
options BREAK_TO_DEBUGGER
options DDB
Цуваа консол дээр нэвтрэлт хүлээх мөр гаргаж авах
Энэ нь шаардлагатай биш боловч та одоо цуваа шугамаар ачаалалтын мэдэгдлүүдийг
харж цөмийн дибаг хийх сесс уруу орж чадаж байгаа юм чинь та цуваа шугамаар
нэвтрэлт хүлээх мөрийг авахыг хүсэж болох юм.
Энд хэрхэн үүнийг хийх талаар байна.
/etc/ttys файлыг засварлагчаар
онгойлгоод дараах мөрүүдийг олно:
ttyd0 "/usr/libexec/getty std.9600" unknown off secure
ttyd1 "/usr/libexec/getty std.9600" unknown off secure
ttyd2 "/usr/libexec/getty std.9600" unknown off secure
ttyd3 "/usr/libexec/getty std.9600" unknown off secure
ttyd0-с ttyd3 хүртэлх
нь COM1-с COM4
хүртэлхтэй тохирно. Хүссэн порт дээрээ off гэснийг
on болгож өөрчилнө. Хэрэв та цуваа портын хурдыг өөрчилсөн
бол тухайн үеийн тохиргоотой тааруулахын тулд std.9600-г
өөрчлөх хэрэгтэй болно, өөрөөр хэлбэл std.19200 гэх
мэт.
Та бас терминалын төрлийг unknown гэдгээс
өөрийн цуваа терминалын жинхэнэ төрлөөр солихыг хүсэж болох юм.
Файлыг засварласны дараа та энэ өөрчлөлтийг идэвхжүүлэхийн тулд
kill -HUP 1 хийх ёстой.
Ачаалагч дуудагчаас консолыг өөрчлөх
Өмнөх хэсгүүд нь ачаалах блокуудыг тохируулан цуваа консолыг хэрхэн тохируулах
талаар тайлбарлалаа. Энэ хэсэг нь ачаалагч дуудагч дээр зарим нэг тушаалууд болон
орчны хувьсагчуудыг оруулж консолыг тохируулах талаар үзүүлэх болно.
Ачаалах блокийн дараа ачаалах процессийн гурав дахь шатан дээр ачаалагч дуудагч
ажиллах үед ачаалагч дуудагч дахь тохиргоонууд нь ачаалах блок дахь тохиргоонуудыг
дарж ажиллах болно.
Цуваа консол тохируулах
Та ачаалагч дуудагч болон цөмд цуваа консолыг ашиглуулахын тулд
- /boot/loader.rc файлд зөвхөн нэг мөр бичээд
+ /boot/loader.conf файлд зөвхөн нэг мөр бичээд
амархан зааж өгч болно:
set console="comconsole"
Энэ нь өмнөх хэсэгт хэлэлцсэн ачаалах блок дахь тохиргоонуудаас
үл хамааран идэвхжих болно.
Та цуваа консол дээр ачаалалтын мэдэгдлүүдийг аль болох эрт харахын тулд
- дээрх мөрийг /boot/loader.rc файлынхаа
+ дээрх мөрийг /boot/loader.conf файлынхаа
хамгийн эхний мөр болгон оруулах нь зүйтэй юм.
Үүнтэй адилаар та дотоод консолоо ингэж зааж өгч болно:
set console="vidconsole"
Хэрэв та ачаалагч дуудагчийн орчны хувьсагч console-г
тохируулахгүй бол ачаалагч болон дараа нь цөм ачаалах блок дахь
тохируулгаар заагдсан тэр консолыг ашиглах
болно.
- 3.2 болон түүнээс хойшх хувилбаруудад та консолыг
- /boot/loader.rc файлд биш харин
+ Консолыг
/boot/loader.conf.local юм уу
эсвэл /boot/loader.conf файлд
- зааж өгнө. Энэ аргаар бол таны /boot/loader.rc
- файл иймэрхүү харагдана:
-
- include /boot/loader.4th
-start
-
- Дараа нь /boot/loader.conf.local
- файлыг үүсгээд дараах мөрийг оруулна.
-
- console=comconsole
-
- эсвэл
-
- console=vidconsole
+ зааж өгч болно.
Дэлгэрэнгүй мэдээллийг &man.loader.conf.5;-с үзнэ үү.
Одоогоор ачаалагч дуудагчид ачаалах блок дахь
тохируулгатай адил тохируулга байдаггүй
бөгөөд гар байгаа эсэхээс хамаарч дотоод консол ба цуваа консолыг
автоматаар сонгох бэлтгэл байдаггүй юм.
Консолд зориулж sio0-с өөр цуваа портыг
ашиглах
Та цуваа консолд зориулж sio0-с өөр
цуваа портыг ашиглахын тулд ачаалагч дуудагчийг дахин эмхэтгэх хэрэгтэй.
хэсэгт тайлбарласан процедурыг
дагаарай.
Анхаарах зүйлс
Гол санаа нь график тоног төхөөрөмж эсвэл гар залгагдсан байхыг шаарддаггүй
тийм зориулагдсан серверүүдийг тохируулах боломжийг хүмүүст зөвшөөрөх явдал юм.
Ихэнх системүүд нь гаргүйгээр ачаалах боломжийг танд олгох боловч харамсалтай нь
график хувиргагчгүйгээр танд ачаалахыг зөвшөөрдөггүй нэлээн хэдэн системүүд байдаг.
AMI BIOS-уудтай машинуудыг график хувиргагч суулгалгүйгээр ачаалдаг болгож
тохируулж болдог. Ингэхийн тулд ердөө л CMOS тохиргоон дахь graphics adapter
тохируулгыг Not installed
болгож өөрчилнө.
Гэхдээ олон машинууд энэ тохируулгыг дэмждэггүй бөгөөд та систем дээрээ
ямар ч дэлгэцийн тоног төхөөрөмж байхгүй бол машин ачаалахаас татгалзах болно.
Ийм машинуудад та ямар нэг төрлийн график карт (хогийн хар цагаан хавтан байсан ч
гэсэн болно) залгаж орхих хэрэгтэй болох боловч заавал дэлгэц залгах шаардлагагүй юм.
Та бас AMI BIOS суулгахыг оролдож болох юм.
diff --git a/mn_MN.UTF-8/books/handbook/vinum/chapter.sgml b/mn_MN.UTF-8/books/handbook/vinum/chapter.sgml
index b001ddd681..d28acacd8b 100644
--- a/mn_MN.UTF-8/books/handbook/vinum/chapter.sgml
+++ b/mn_MN.UTF-8/books/handbook/vinum/chapter.sgml
@@ -1,1374 +1,1311 @@
Грег
Лихэй
Анхлан бичсэн
Цагаанхүүгийн
Ганболд
Орчуулсан
Vinum Эзлэхүүн Менежер
Ерөнхий агуулга
Та ямар ч дискнүүдтэй байсан гэсэн үргэлж ямар нэгэн болзошгүй асуудлууд байсаар байдаг:
Тэдгээр дискнүүд нь хэтэрхий жижиг байж болох юм.
Тэдгээр дискнүүд нь хэтэрхий удаан байж болох юм.
Тэдгээр дискнүүд нь хэтэрхий найдваргүй байж болох юм.
Эдгээр асуудлуудыг шийдэх төрөл бүрийн шийдлүүд санал болгогдсон бөгөөд
хийж гүйцэтгэгдсэн болно. Иймэрхүү асуудлууд гаргахгүйгээр зарим хэрэглэгчдийн өөрсдийгээ хамгаалах нэг
арга нь олон болон нөөц дискнүүдийг заримдаа ашиглах явдал юм.
Үндсэн FreeBSD систем нь тоног төхөөрөмжөөр дэмжигдсэн RAID системүүдэд зориулсан
төрөл бүрийн картууд болон хянагчуудыг дэмжихээс гадна виртуал диск хөтчүүдийг хийдэг блок
төхөөрөмжийн драйвер Vinum Эзлэхүүн Менежерийг агуулдаг.
Vinum нь эдгээр гурван асуудлыг шийддэг
Эзлэхүүн Менежер гэж нэрлэгддэг виртуал
дискний драйвер юм. Vinum нь уян хатан чанар, ажиллагаа болон найдвартай байдлыг уламжлалт
диск хадгалалтаас илүүтэй хангадаг бөгөөд RAID-0, RAID-1 болон RAID-5 загваруудыг
дангаар нь болон хослолынх нь хувьд шийддэг.
Энэ бүлэг нь уламжлалт диск хадгалалтын болзошгүй асуудлуудыг тоймлон өгүүлэх бөгөөд
Vinum Эзлэхүүн Менежерийн талаар танилцуулах болно.
FreeBSD 5-аас эхлэн Vinum-ийг GEOM архитектурт ()
тааруулан оруулахын тулд анхдагч санаанууд, нэр томъёо болон
диск дээрх мета өгөгдлийг нь хадгалан дахин бичсэн юм. Энэхүү дахин бичилт нь
gvinum (GEOM vinum-д зориулсан)
гэгддэг. Дараах баримт нь шийдлийн хувилбаруудаас үл хамааран
Vinum-ийг хийсвэр нэр маягаар ихэвчлэн хэрэглэх
болно. Ямар ч тушаалыг одоо ажиллуулахдаа gvinum
тушаалыг ашиглах ёстой бөгөөд цөмийн модулийн нэр нь vinum.ko
geom_vinum.ko болж өөрчлөгдсөнөөс гадна
төхөөрөмжийн бүх цэгүүд /dev/vinum дотор биш
/dev/gvinum дотор байрласан байгаа. FreeBSD 6-аас
эхлэн хуучин Vinum шийдэл нь үндсэн кодонд байхаа аль хэдийн больсон
байна.
Дискнүүд хэтэрхий жижиг
Vinum
RAID
програм хангамж
Дискнүүд нь хэмжээний хувьд улам томорсоор байгаагийн адил бас
өгөгдлийн хадгалалтын шаардлагууд ч бас тийм болсоор байна. Ихэнх тохиолдолд
танд өөрт чинь байгаа дискнүүдээс илүү том файлын систем хэрэгтэй болж магадгүй юм.
Энэ асуудал нь арван жилийн өмнөх шиг тийм хурц асуудал биш болсон боловч
одоо болтол байгааг нь хүлээн зөвшөөрөхөөс өөр аргагүй юм. Зарим системүүд нь үүнийг
өөрийнхөө өгөгдлийг хэд хэдэн дискнүүд дээр хадгалах хийсвэр төхөөрөмж үүсгэн шийддэг
байна.
Хандалтын тагларалтууд
Орчин үеийн системүүдэд маш өндөр зэрэгцээ хандлагаар өгөгдөлд хандах
хэрэгцээ байнга гардаг. Жишээ нь том FTP эсвэл HTTP серверүүд нь
олон мянган зэрэгцээ сессүүдтэй ажиллаж чаддаг ба ихэнх дискнүүдийн тогтвортой дамжуулах
түвшингээс хавьгүй илүү гарсан гадагшаа ертөнц уруу холбогдсон олон 100 Mbit/s-ийн
холболтуудтай байдаг.
Одоогийн диск хөтчүүд өгөгдлийг цуваагаар 70 MB/s хүртэл дамжуулж
чаддаг боловч энэ утга нь бие биенээсээ хамааралгүй олон чөлөөтэй процессууд
хөтчид ханддаг тийм орчинд тийм ч чухал биш юм. Тийм орчинд процессууд нь
тэдгээр утгуудын зөвхөн бутархайгаар хэмжигдэх тооны хурдад хүрч магадгүй юм.
Ийм тохиолдлуудад асуудлыг дискний дэд системийн үүднээс харвал илүү сонирхолтой
байх болно: энд чухал параметр нь дэд системд үзүүлж байгаа дамжуулалтын ачаалал бөгөөд
өөрөөр хэлбэл дамжуулалтад оролцож байгаа хөтчүүдийг эзэлж байгаа дамжуулалтын
тэр хугацаа юм.
Аль ч дискний дамжуулалтын үед хөтөч нь толгойнуудаа эхлээд байрлуулж
унших толгойн доор эхний сектор шалгагдан өнгөрөхийг хүлээж дараа нь
дамжуулалтыг гүйцэтгэх ёстой. Эдгээр үйлдлүүд нь atomic буюу хуваагдашгүй,
салгагдашгүй үйлдлүүд гэж ойлгогддог: тэдгээрийг тасалдуулах нь ямар ч утгагүй
юм.
Ердийн 10 kB-ийн дамжуулалтыг
авч үзье: өндөр ажиллагаатай одоо үеийн дискнүүд нь толгойнуудаа дунджаар
3.5 ms-д байрлуулж чаддаг. Хамгийн хурдан хөтчүүд 15,000 rpm
хурдаар эргэдэг, тийм болохоор дундаж эргэх хожимдол нь (хувьсгалын хагас)
2 ms болох юм. 70 MB/s үед дамжуулалт нь өөрөө
150 μs болох бөгөөд байрлуулах хугацаатай харьцуулахад бараг
юу ч биш юм. Ийм тохиолдолд үр дүнтэй дамжуулах түвшин нь 1 MB/s-с
бага зэрэг илүү түвшин уруу буурах бөгөөд мэдээж энэ нь дамжуулах хэмжээнээс
ихээхэн хамааралтай байна.
Энэ асуудлын уламжлалт, мэдээжийн шийдэл нь илүү ээрүүлүүд
юм: нэг том диск ашиглахын оронд энэ нь нийт хадгалалтын хэмжээ нь адилхан
хэд хэдэн арай жижиг дискнүүдийг ашиглах явдал юм. Диск бүр нь тус тусдаа
байрлуулах болон дамжуулах үйлдлийг хийж чадах бөгөөд ингэснээр үр дүнтэй
дамжуулах чанар нь ашигласан дискний тоотой ойролцоо хүчин зүйлээр нэмэгдэх
болно.
Дамжуулалтын чанарын яг тодорхой сайжруулалт нь мэдээж оролцсон дискнүүдийн
тооноос бага байна: хөтөч бүр нь зэрэгцээ дамжуулж чадах боловч хүсэлтүүд нь
хөтчүүдийн дагуу тэнцүү түгээгдэхийг батлах аргагүй юм. Нэг хөтөч дээрх
ачаалал нь нөгөө дээрхээс илүү өндөр байх нь зайлшгүй юм.
диск нийлүүлэлт
Vinum
нийлүүлэлт
Дискнүүд дээрх ачааллын тэнцүү байдал нь хөтчүүдийн дагуу өгөгдлүүд
хуваалцдаг арга замаас маш ихээр хамаардаг. Дараах хэлэлцүүлэг дээр
дискний хадгалалтыг номны хуудас шигээр дугаараар нь хандаж болох
маш олон тооны өгөгдлийн секторууд гэж ойлгох нь тохиромжтой юм.
Хамгийн мэдээжийн арга бол том номыг аваад жижиг хэсгүүд болгон урахын
оронд виртуал дискийг физик дискнүүдийн хэмжээтэйгээр дараалсан
секторуудын бүлгүүд болгон хувааж энэ маягаар тэдгээрийг хадгалах
явдал юм. Энэ аргыг concatenation буюу нийлүүлэлт
гэж нэрлэдэг бөгөөд дискнүүд нь ямар нэгэн тусгайлсан хэмжээний харилцаанууд
шаарддаггүйгээрээ давуу талтай юм. Виртуал диск дэх хандалт өөрийн хаягийн
талбараар тэнцүү тархсан үед энэ нь сайн ажилладаг. Хандалт нь жижиг талбарт
төвлөрсөн үед сайжруулалт тийм ч сайн мэдэгддэггүй.
нь хадгалалтын нэгжүүд нийлүүлэгдсэн
зохион байгуулалтад хуваарилагдаж байгаа дарааллыг үзүүлж байна.
Нийлүүлэгдсэн зохион байгуулалт
диск судал үүсгэх
Vinum
судал үүсгэх
RAID
Өөр нэг тааруулалт нь хаягийн талбарыг арай жижиг, тэнцүү хэмжээтэй
бүрэлдэхүүн хэсэгт хувааж тэдгээрийг цуваагаар өөр төхөөрөмжүүд дээр
хадгалах явдал юм. Жишээ нь эхний 256 сектор эхний диск дээр,
дараагийн 256 сектор нь дараагийн диск дээр гэх мэтчилэн байх юм.
Сүүлийн дискэнд хүрсний дараа процесс дискнүүдийг дүүртэл давтагдана.
Энэ тааруулалтыг striping буюу судал үүсгэх
эсвэл RAID-0 гэж нэрлэдэг.
RAID нь Redundant
Array of Inexpensive Disks буюу Хямд дискнүүдийн Нөөц Массив
бөгөөд гэмтэл даах чадварын төрөл бүрийн хэлбэрүүдийг санал болгодог бөгөөд
гэхдээ сүүлийн ойлголт нь зарим талаараа төөрөгдүүлмээр юм: энэ нь ямар ч нөөцийн
боломжийг хангадаггүй. .
Судал үүсгэх нь зарим талаараа өгөгдлийг олохын тулд илүү чармайлт шаарддаг бөгөөд
олон дискнүүдийн дагуу тархсан дамжуулалтад нэмэлт I/O ачаалал үүсгэж болох боловч
энэ нь бас тогтмол ачааллыг илүүтэйгээр дискнүүдийн дагуу хангаж өгдөг.
нь хадгалалтын нэгжүүд судалчлагдсан
зохион байгуулалтад хуваарилагдаж байгаа дарааллыг үзүүлж байна.
Судалчлагдсан зохион байгуулалт
Өгөгдлийн бүрэн бүтэн байдал
Одоогийн дискнүүд дэх сүүлийн асуудал нь найдваргүй байдал юм.
Диск хөтчүүдийн найдвартай байдал сүүлийн хэдэн жилийн дотор асар ихээр
нэмэгдсэн боловч тэдгээр нь сервер унах гол шалтгааны нэг бүрэлдэхүүн хэсэг
хэвээр байсаар байна. Ингэсэн тохиолдолд гарах үр дүн нь сүйрлийн
байж болох юм: ажиллагаагүй болсон дискний хөтчийг сольж шинэ диск уруугаа
өгөгдлийг сэргээх нь хэдэн өдөр болж болох юм.
диск толин тусгал үүсгэх
Vinum
толин тусгал үүсгэх
RAID-1
Уламжлалт замаар энэ асуудлыг толин тусгал үүсгэх
аргаар өгөгдлийн хоёр хуулбарыг өөр физик тоног төхөөрөмж дээр хадгалж шийддэг.
RAID түвшингүүд бий болсноор энэ техник нь бас
RAID түвшин 1 буюу RAID-1
гэж нэрлэгддэг. Эзлэхүүн уруу хийгдэх бичилт хоёр байрлал уруу хийгддэг; уншилт нь
алинаас нь ч хийгдсэн болдог, хэрэв нэг хөтөч нь ажиллахгүй болбол өгөгдөл нөгөө
хөтөч дээр бас байж байх юм.
Толин тусгал үүсгэх нь хоёр асуудалтай байдаг:
Үнэ. Энэ нь нөөцгүй шийдлийн нэгэн адил хоёр дахин их дискний
хадгалалт шаарддаг.
Ажиллагааны нөлөөлөл. Бичилтүүд нь хоёр хөтчүүдэд хоёуланд нь
хийгддэг, тиймээс тэдгээр нь толин тусгал хийгдээгүй эзлэхүүний
зурвасын өргөнөөс хоёр дахин ихийг эзэлдэг. Уншилтууд нь харин
ажиллагааны хувьд асуудалгүй байдаг: тэд илүү хурдан юм шиг
харагддаг.
RAID-5
Өөр нэг шийдэл нь RAID түвшингүүд 2, 3, 4 болон
5-д хийгдсэн parity юм.
Эдгээрээс RAID-5 нь хамгийн сонирхолтой байдаг.
Энэ нь Vinum-д хийгдсэн бөгөөд судал бүрийн нэг блокийг өөр блокуудын parity-д
зориулдаг судалчлагдсан зохион байгуулалтын нэг хувилбар юм.
RAID-5 plex нь Vinum-д хийгдсэн бөгөөд
судалчлагдсан plex-ийн нэгэн адил боловч энэ нь судал бүр дэх parity блокуудыг
оруулан RAID-5-г шийдвэрлэдэг.
RAID-5-ийн шаарддагаар энэ parity блокийн
байрлал нь нэг судлаас дараагийнх уруу өөрчлөгддөг. Өгөгдлийн блокууд дахь
тоонууд нь блокийн харьцангуй дугааруудыг илэрхийлдэг.
RAID-5 зохион байгуулалт
Толин тусгал үүсгэхтэй харьцуулахад RAID-5 нь
хамаагүй бага хадгалалтын зай шаарддагаараа давуу талтай юм. Унших хандалт нь
судалчлагдсан зохион байгуулалтуудын адил байдаг боловч бичих хандалт нь
хамаагүй удаан ойролцоогоор унших хурдны 25% байдаг. Хэрэв нэг хөтөч ажиллагаагүй
болбол массив нь доройтсон горимд үргэлжлэн ажиллах болно: үлдсэн хандаж болох
хөтчүүдийн аль нэгнээс уншилт хэвийн үргэлжлэх боловч ажиллагаагүй болсон
хөтчөөс хийгдэх уншилт бүх үлдсэн хөтчүүдийн харгалзах блокоос дахин тооцоологдох
болно.
Vinum обьектууд
Эдгээр асуудлуудыг шийдэхийн тулд Vinum нь обьектийн дөрвөн түвшний
шатлалыг шийддэг:
Хамгийн харагддаг обьект нь volume буюу эзлэхүүн
гэгддэг виртуал диск юм. Эзлэхүүнүүд нь гол нь &unix; диск хөтчүүдийн
нэгэн адил өмчүүдтэй боловч зарим нэг жижиг ялгаанууд байдаг.
Тэдэнд хэмжээний хязгаарлалтууд байхгүй.
Эзлэхүүнүүд нь тус бүр нь эзлэхүүний нийт хаягийн талбарыг илэрхийлдэг
plex-үүдээс бүрддэг. Тиймээс шатлал дахь
энэ түвшин нь нөөцийг хангадаг. Plex-үүдийг толин тусгал хийгдсэн
массив дахь тус бүртээ ижил өгөгдлийг агуулсан дискнүүд гэж бодох
хэрэгтэй.
Vinum нь &unix; диск хадгалалтын тогтолцоонд оршдог болохоор
&unix; хуваалтуудыг олон диск бүхий plex-үүдийн хувьд бүтээх блок
болгон ашиглах боломжтой, гэхдээ жинхэнэдээ энэ нь хэтэрхий уян хатан
биш болж болох юм: &unix; дискнүүд нь зөвхөн хязгаарлагдмал тооны
хуваалтуудтай байдаг. Ингэхийн оронд харин Vinum нь ганц &unix;
хуваалтыг (хөтөч) subdisks
буюу дэд дискнүүд гэгддэг үргэлжлэн нийлсэн талбаруудад
хуваадаг бөгөөд эдгээр дэд дискнүүдийг plex-үүдэд зориулж бүтээх
блок болгон ашигладаг.
Дэд дискнүүд нь Vinum хөтчүүд дээр,
одоогоор &unix; хуваалтууд дээр оршдог. Vinum хөтчүүд нь
дурын тооны дэд дискнүүдийг агуулж болно. Хөтчийн эхлэл дэх
тохиргоо болон төлвийн мэдээллийг хадгалах зориулалттай жижиг
талбараас бусад хөтчийн бүх хэсэг өгөгдлийн хадгалалтанд
зориулагдана.
Дараах хэсгүүд нь эдгээр обектуудын Vinum-ийн шаарддаг ажиллагааг хангах
аргыг тайлбарлах болно.
Эзлэхүүний хэмжээний саналууд
Plex-үүд нь Vinum тохиргоонд бүх хөтчүүд дээгүүр тархсан олон дэд
дискнүүдийг агуулж болно. Үүний үр дүнд хөтөч бүрийн хэмжээ нь plex-ийн
хэмжээг хязгаарлахгүй, тиймээс эзлэхүүний хэмжээг бас хязгаарлахгүй
юм.
Өгөгдлийн нөөц хадгалалт
Vinum нь олон plex-үүдийг эзлэхүүнд хавсран толин тусгал үүсгэлтийг
хийж гүйцэтгэдэг. Plex бүр эзлэхүүн дэх өгөгдлийн дүрслэл юм. Эзлэхүүн нь
нэгээс найман plex-ийг агуулж болно.
Plex нь эзлэхүүний бүх өгөгдлийг илэрхийлдэг боловч илэрхийллүүдийн
хэсгүүд нь хийгдсэн аргаасаа (plex-ийн хэсгүүдийн хувьд дэд дискнүүдийг
тодорхойлоогүйгээс) болоод эсвэл тохиолдлоор (хөтөч ажиллагаагүй болсноос
болоод) бодитоор байхгүй байх боломжтой юм. Эзлэхүүний хаягийн бүрэн талбарын
хүрээний хувьд хамгийн багаар бодоход нэг plex өгөгдлийг хангаж чаддаг байхад
эзлэхүүн нь бүрэн ажиллагаатай байх юм.
Ажиллагааны асуудлууд
Vinum нь нийлүүлэлт болон судалчлалыг plex түвшинд хийж
гүйцэтгэдэг:
Нийлүүлэгдсэн plex нь харин
дэд диск бүрийн хаягийн талбарыг ашигладаг.
Судалчлагдсан plex нь дэд диск
бүрийн дагуу өгөгдлийг судалчилдаг. Дэд диск бүр бүгд адил
хэмжээтэй байх ёстой бөгөөд нийлүүлэгдсэн plex-ээс ялгахын
тулд хамгийн багаар бодоход хоёр дэд диск байх шаардлагатай.
Аль Plex зохион байгуулалт вэ?
FreeBSD &rel.current;-тэй цуг ирдэг Vinum-ийн хувилбар нь хоёр төрлийн
plex-ийг хийж гүйцэтгэдэг:
Нийлүүлэгдсэн plex-үүд нь хамгийн уян хатан байдаг: тэдгээр нь ямар ч
тооны дэд дискнүүдийг агуулж болох бөгөөд дэд дискнүүд нь өөр өөр урттай
байж болно. Plex-ийг нэмэлт дэд дискнүүд нэмж өргөтгөж болох юм.
Тэдгээр нь судалчлагдсан plex-үүдээс CPU-ийн
хугацааны хувьд багыг шаарддаг, гэхдээ CPU
дээрх нэмэлт ачааллын ялгаа нь хэмжигдэхээр тийм их биш юм. Нөгөө
талаас авч үзэх юм бол тэдгээр нь ганц диск их идэвхитэй бөгөөд бусад нь
сул зогсож байдаг халуун цэгүүдэд хамгийн мэдрэмтгий байдаг.
Судалчлагдсан (RAID-0) plex-үүдийн
хамгийн агуу давуу тал нь тэдгээр plex-үүд нь халуун цэгүүдийг багасгадаг
явдал юм: хамгийн тохиромжтой (256 kB орчим) хэмжээтэйгээр
судлыг сонгосноор та бүрэлдэхүүний хөтчүүд дээрх ачааллыг тэнцүүлж
болох юм. Энэ хандлагын сул талууд нь (бутархайгаар хэмжигдэх)
илүү төвөгтэй код болон дэд дискнүүд дээрх хязгаарлалтууд юм: тэдгээр нь
бүгд ижил хэмжээтэй байх ёстой бөгөөд шинэ дэд дискнүүд нэмж plex-ийг өргөтгөх
нь асар хэцүү учир Vinum нь үүнийг одоогоор хийж гүйцэтгэдэггүй юм.
Vinum нь нэмэлт, амархан хязгаарлалтыг тохоож өгдөг: судалчлагдсан
plex нь хамгийн багаар бодоход хоёр дэд дисктэй байх ёстой, тэгэхгүй
бол үүнийг нийлүүлэгдсэн plex-ээс ялгах боломжгүй юм.
нь plex зохион байгуулалт бүрийн
давуу болон сул талуудыг дүгнэн харуулж байна.
Vinum Plex зохион байгуулалтууд
Plex төрөл
Хамгийн бага дэд дискнүүд
Дэд дискнүүд нэмж болох эсэх
Адил хэмжээтэй байх ёстой
Хэрэглээ
нийлүүлэгдсэн
1
тийм
үгүй
Байрлуулах хамгийн их уян хатан чанар ба боломжийн ажиллагаатай
их хэмжээний өгөгдлийн хадгалалт
судалчлагдсан
2
үгүй
тийм
Маш өндөр зэрэгцээ хандалттай цуг өндөр хурдтай ажиллагаа
Зарим жишээнүүд
Vinum нь хувь системүүдэд мэдэгддэг обьектуудыг тайлбарладаг
тохиргооны мэдээллийн баазын ажиллагааг
хангаж байдаг. Эхлээд хэрэглэгч нэг буюу эсвэл хэд хэдэн тохиргооны
файлуудаас тохиргооны мэдээллийн баазыг &man.gvinum.8; хэрэгсэл
програмын тусламжтайгаар үүсгэдэг. Vinum нь өөрийн тохиргооны
мэдээллийн баазын хуулбарыг диск зүсмэл (Vinum үүнийг
төхөөрөмж гэдэг) бүр дээр өөрийн
хяналтын доор хадгалдаг. Дахин эхлүүлэлт нь зөвөөр Vinum обьект
бүрийн төлвийг сэргээдэг байлгахын тулд төлөв өөрчлөгдөх болгонд
энэхүү мэдээллийн бааз нь шинэчлэгддэг.
Тохиргооны файл
Тохиргооны файл нь Vinum обьектуудыг тайлбарладаг. Энгийн эзлэхүүний
тодорхойлолт ийм байж болох юм:
drive a device /dev/da3h
volume myvol
plex org concat
sd length 512m drive a
Энэ файл нь дөрвөн Vinum обьектийг тайлбарладаг:
drive мөр нь дискний хуваалтыг
(хөтөч) тайлбарлах бөгөөд үүний
байрлал нь түүн доор орших тоног төхөөрөмжтэй харьцангуй
байна. Үүнд a гэж симбол нэр
өгсөн байгаа. Ингэж симбол нэрсийг төхөөрөмжийн нэрсээс
тусад нь салгах нь дискнүүдийг нэг байрлалаас нөгөө уруу
эргэлзээгүйгээр шилжүүлэх боломжийг олгодог.
volume мөр нь эзлэхүүнийг тайлбарлана.
Цорын ганц шаардлагатай шинж чанар нь нэр бөгөөд энэ тохиолдолд
myvol байна.
plex мөр нь plex-ийг тодорхойлдог.
Цорын ганц шаардлагатай параметр нь зохион байгуулалт бөгөөд
энэ тохиолдолд concat болно.
Ямар ч нэр хэрэггүй: систем автоматаар эзлэхүүний нэрэн
дээр .px
дагавар залгаж үүсгэдэг бөгөөд x нь
эзлэхүүн дэх plex-ийн дугаар юм. Тиймээс энэ plex нь
myvol.p0 гэж нэрлэгдэнэ.
sd мөр нь дэд дискийг тайлбарлана.
Хамгийн бага тодорхойлолтууд нь үүнийг хадгалах хөтчийн нэр болон
дэд дискний урт юм. Plex-үүдтэй адил нэр хэрэггүй:
систем автоматаар plex-ийн нэрэн
дээр .sx
дагавар залгаж үүсгэдэг бөгөөд x нь
plex дэх дэд дискний дугаар юм. Тиймээс Vinum нь энэ дэд
дискэнд myvol.p0.s0 гэж нэр
өгдөг.
Энэ файлыг процесс хийсний дараа &man.gvinum.8; дараах үр дүнг
гаргана:
&prompt.root; gvinum -> create config1
Configuration summary
Drives: 1 (4 configured)
Volumes: 1 (4 configured)
Plexes: 1 (8 configured)
Subdisks: 1 (16 configured)
D a State: up Device /dev/da3h Avail: 2061/2573 MB (80%)
V myvol State: up Plexes: 1 Size: 512 MB
P myvol.p0 C State: up Subdisks: 1 Size: 512 MB
S myvol.p0.s0 State: up PO: 0 B Size: 512 MB
Энэ гаралт нь &man.gvinum.8;-ийн хэлбэршүүлэлтийн товч жагсаалтыг харуулж байна.
Энэ нь графикаар зурагт дүрслэгдсэн байна.
Энгийн Vinum эзлэхүүн
Энэ зураг болон дараагийн зураг нь дэд дискнүүд агуулсан plex-үүдийг
агуулсан эзлэхүүнийг харуулж байна. Энэ хялбар жишээн дээр эзлэхүүн нь
нэг plex-ийг агуулах бөгөөд plex нь нэг дэд дискийг агуулж байна.
Энэхүү эзлэхүүн нь хэвшмэл дискний хуваалттай харьцуулахад ямар нэг
тухайлсан давуу чанаргүй юм. Энэ нь ганц plex-ийг агуулах учраас нөөц биш
юм. Plex нь ганц дэд дискнээс тогтох учраас хэвшмэл дискний хуваалттай
харьцуулахад хадгалалт хуваарилалтын хувьд ямар ч ялгаагүй юм.
Дараах хэсгүүд нь төрөл бүрийн илүү сонирхолтой тохиргооны аргуудыг
харуулах болно.
Нэмэгдсэн уян хатан чанар: Толин тусгал үүсгэх
Эзлэхүүний уян хатан чанарыг толин тусгал үүсгэж ихэсгэж болно.
Толин тусгал хийсэн эзлэхүүнийг байрлуулахдаа хөтчийн сүйрэл plex бүрийг унагахгүй
байлгахын тулд plex бүр дэх дэд дискнүүд нь өөр өөр хөтчүүд дээр байгаа эсэхийг
шалгах нь чухал юм. Дараах тохиргоо нь эзлэхүүнийг толин тусгал хийж
байна:
drive b device /dev/da4h
volume mirror
plex org concat
sd length 512m drive a
plex org concat
sd length 512m drive b
Vinum нь өөрийн тохиргооны мэдээллийн бааз дахь бүх обьектуудыг
хянаж байдаг болохоор a хөтчийн тодорхойлолтыг
энэ жишээн дээр дахин зааж өгөх шаардлагагүй юм. Энэ тодорхойлолтыг процесс
хийсний дараа тохиргоо иймэрхүү харагдана:
Drives: 2 (4 configured)
Volumes: 2 (4 configured)
Plexes: 3 (8 configured)
Subdisks: 3 (16 configured)
D a State: up Device /dev/da3h Avail: 1549/2573 MB (60%)
D b State: up Device /dev/da4h Avail: 2061/2573 MB (80%)
V myvol State: up Plexes: 1 Size: 512 MB
V mirror State: up Plexes: 2 Size: 512 MB
P myvol.p0 C State: up Subdisks: 1 Size: 512 MB
P mirror.p0 C State: up Subdisks: 1 Size: 512 MB
P mirror.p1 C State: initializing Subdisks: 1 Size: 512 MB
S myvol.p0.s0 State: up PO: 0 B Size: 512 MB
S mirror.p0.s0 State: up PO: 0 B Size: 512 MB
S mirror.p1.s0 State: empty PO: 0 B Size: 512 MB
зураг нь бүтцийг графикаар
харуулж байна.
Толин тусгал хийгдсэн Vinum эзлэхүүн
Энэ жишээн дээр plex бүр бүрэн 512 MB хаягийн талбарыг
агуулж байна. Өмнөх жишээн дээрх шиг plex бүр зөвхөн ганц дэд дискийг
агуулна.
Ажиллагааг оновчтой болгох
Өмнөх жишээн дээрх толин тусгал хийгдсэн эзлэхүүн нь толин тусгал
хийгдээгүй эзлэхүүнээс илүү сүйрэлд тэсвэртэй боловч ажиллагааны хувьд дутмаг
байдаг: эзлэхүүн уруу хийгдэх бичилт бүр нь нийт дискний зурвасын өргөнөөс илүүтэйгээр
ашиглан хоёр хөтөч хоёулан уруу нь бичилт хийхийг шаарддаг. Ажиллагааны
тооцоонууд нь өөр хандлагыг шаарддаг: толин тусгал үүсгэхийн оронд өгөгдөл нь
аль болох олон диск хөтчүүдийн дагуу судалчлагддаг. Дараах тохиргоо нь
дөрвөн дискний хөтчүүдийн дагуу судалчлагдсан plex бүхий эзлэхүүнийг
харуулж байна:
drive c device /dev/da5h
drive d device /dev/da6h
volume stripe
plex org striped 512k
sd length 128m drive a
sd length 128m drive b
sd length 128m drive c
sd length 128m drive d
Өмнөхийн адил Vinum-д мэдэгдэж байгаа хөтчүүдийг тодорхойлох хэрэггүй
юм. Энэ тодорхойлолтыг процесс хийсний дараа тохиргоо иймэрхүү
байна:
Drives: 4 (4 configured)
Volumes: 3 (4 configured)
Plexes: 4 (8 configured)
Subdisks: 7 (16 configured)
D a State: up Device /dev/da3h Avail: 1421/2573 MB (55%)
D b State: up Device /dev/da4h Avail: 1933/2573 MB (75%)
D c State: up Device /dev/da5h Avail: 2445/2573 MB (95%)
D d State: up Device /dev/da6h Avail: 2445/2573 MB (95%)
V myvol State: up Plexes: 1 Size: 512 MB
V mirror State: up Plexes: 2 Size: 512 MB
V striped State: up Plexes: 1 Size: 512 MB
P myvol.p0 C State: up Subdisks: 1 Size: 512 MB
P mirror.p0 C State: up Subdisks: 1 Size: 512 MB
P mirror.p1 C State: initializing Subdisks: 1 Size: 512 MB
P striped.p1 State: up Subdisks: 1 Size: 512 MB
S myvol.p0.s0 State: up PO: 0 B Size: 512 MB
S mirror.p0.s0 State: up PO: 0 B Size: 512 MB
S mirror.p1.s0 State: empty PO: 0 B Size: 512 MB
S striped.p0.s0 State: up PO: 0 B Size: 128 MB
S striped.p0.s1 State: up PO: 512 kB Size: 128 MB
S striped.p0.s2 State: up PO: 1024 kB Size: 128 MB
S striped.p0.s3 State: up PO: 1536 kB Size: 128 MB
Судалчлагдсан Vinum эзлэхүүн
Энэ эзлэхүүн нь зурагт
үзүүлэгдсэн байгаа. Судлуудын харанхуй байдал plex-ийн хаягийн талбар дахь
байрлалыг илэрхийлнэ: хамгийн цайвар судлууд нь эхлээд байх бөгөөд хамгийн
харанхуйнууд нь сүүлд байна.
Уян хатан чанар ба ажиллагаа
Хангалттай тоног төхөөрөмжийн
тусламжтайгаар стандарт &unix; хуваалтуудтай харьцуулах юм бол нэмэгдсэн
уян хатан чанар болон нэмэгдсэн ажиллагаа аль алиныг нь үзүүлдэг эзлэхүүнүүдийг
бүтээх боломжтой юм. Нийтлэг тохиргооны файл иймэрхүү байж болох
юм:
volume raid10
plex org striped 512k
sd length 102480k drive a
sd length 102480k drive b
sd length 102480k drive c
sd length 102480k drive d
sd length 102480k drive e
plex org striped 512k
sd length 102480k drive c
sd length 102480k drive d
sd length 102480k drive e
sd length 102480k drive a
sd length 102480k drive b
Хоёр дахь plex-ийн дэд дискнүүд нь эхний plex дэхээс хоёр хөтчөөр
ялгаатай: дамжуулалт хоёр хөтчөөр дамжин хийгдсэн ч гэсэн бичилтүүд адил
дэд дискнүүд уруугаа хийгдэхгүй байхыг энэ нь баталгаажуулж өгдөг.
нь энэ эзлэхүүний бүтцийг илэрхийлж
байна.
Толин тусгал хийгдсэн, судалчлагдсан Vinum эзлэхүүн
Обьектийн нэрлэлт
Дээд дурдсаны дагуу Vinum нь анхдагч нэрсийг plex-үүд болон дэд дискнүүдэд
өгдөг боловч тэдгээр нь дарагдан өөрчлөгдөж болох юм. Анхдагч нэрсийг
дарж өөрчлөхийг зөвлөдөггүй: обьектуудыг дурын нэрээр солихыг зөвшөөрдөг
VERITAS эзлэхүүн менежерээс харах юм бол энэ уян хатан чанар нь мэдэгдэхүйц
давуу талыг авч ирдэггүй бөгөөд эндүүрэл үүсгэж болох юм.
Нэрс нь дурын хоосон биш тэмдэгтийг агуулж болох бөгөөд тэмдэгтүүдийг
үсэг, тоо болон доогуур зураас байлгаж хязгаарлахыг зөвлөдөг.
Эзлэхүүнүүд, plex-үүд болон дэд дискнүүд нь 64 тэмдэгт хүртэл урттай
байж болох бөгөөд хөтчүүдийн нэрс 32 тэмдэгт хүртэл урттай байж
болно.
Vinum обьектууд нь /dev/gvinum шатлалд
төхөөрөмжийн цэгүүдийг өгдөг. Дээр үзүүлсэн тохиргоо нь Vinum-ийг
дараах төхөөрөмжийн цэгүүдийг үүсгэхэд хүргэнэ:
Энэ нь зөвхөн уламжлалт Vinum шийдэлд хамаатай.
&man.gvinum.8; болон Vinum дэмоны ашигладаг
харгалзах /dev/vinum/control болон
/dev/vinum/controld хяналтын төхөөрөмжүүд.
Эзлэхүүн бүрийн төхөөрөмжийн оруулгууд. Эдгээр нь Vinum-ийн ашигладаг
гол төхөөрөмжүүд юм. Тэгэхээр дээрх тохиргоо нь
/dev/gvinum/myvol,
/dev/gvinum/mirror,
/dev/gvinum/striped,
/dev/gvinum/raid5 болон
/dev/gvinum/raid10 төхөөрөмжүүдийг
агуулах болно.
Энэ нь зөвхөн уламжлалт Vinum шийдэлд хамаатай.
Хөтөч бүрийн оруулгатай /dev/vinum/drive
сан. Эдгээр оруулгууд нь жинхэнэдээ харгалзах дискний цэгүүд уруу заасан
симболын холбоосууд юм.
Бүх эзлэхүүнүүд нь /dev/gvinum/ дотор
шууд оруулгуудыг авна.
Plex болон дэд диск бүрийн төхөөрөмжийн цэгүүдийг агуулдаг
харгалзах /dev/gvinum/plex болон
/dev/gvinum/sd сангууд.
Жишээ нь дараах тохиргооны файл байлаа гэж үзье:
drive drive1 device /dev/sd1h
drive drive2 device /dev/sd2h
drive drive3 device /dev/sd3h
drive drive4 device /dev/sd4h
volume s64 setupstate
plex org striped 64k
sd length 100m drive drive1
sd length 100m drive drive2
sd length 100m drive drive3
sd length 100m drive drive4
Энэ файлыг процесс хийсний дараа &man.gvinum.8; нь /dev/gvinum
файлд дараах бүтцийг үүсгэдэг:
drwxr-xr-x 2 root wheel 512 Apr 13 16:46 plex
crwxr-xr-- 1 root wheel 91, 2 Apr 13 16:46 s64
drwxr-xr-x 2 root wheel 512 Apr 13 16:46 sd
/dev/vinum/plex:
total 0
crwxr-xr-- 1 root wheel 25, 0x10000002 Apr 13 16:46 s64.p0
/dev/vinum/sd:
total 0
crwxr-xr-- 1 root wheel 91, 0x20000002 Apr 13 16:46 s64.p0.s0
crwxr-xr-- 1 root wheel 91, 0x20100002 Apr 13 16:46 s64.p0.s1
crwxr-xr-- 1 root wheel 91, 0x20200002 Apr 13 16:46 s64.p0.s2
crwxr-xr-- 1 root wheel 91, 0x20300002 Apr 13 16:46 s64.p0.s3
Plex-үүд болон дэд дискнүүд нь тусгайлсан нэрсийг хуваарилах ёсгүй гэж
зөвлөдөг боловч Vinum хөтчүүд нь нэрлэгдсэн байх ёстой. Энэ нь хөтчийг
өөр байрлал уруу зөөж автоматаар таньсан хэвээр байх боломжийг
бүрдүүлдэг. Хөтчийн нэрс 32 тэмдэгт хүртэл урттай байж болно.
Файлын системүүд үүсгэх нь
Эзлэхүүнүүд нь нэг зүйлээс бусдаараа дискнүүдэд ижил юм шиг
системд харагддаг. &unix; хөтчүүдээс ялгаатай нь Vinum эзлэхүүнүүдийг
хуваадаггүй, тиймээс хуваалтын хүснэгтийг агуулдаггүй. Энэ нь зарим нэг
дискний хэрэгслүүдэд ялангуяа &man.newfs.8;-д өөрчлөлт хийхийг шаарддаг.
Урьд нь &man.newfs.8; Vinum-ийн эзлэхүүний нэрийн сүүлийн үсгийг
хуваалт таниулагч гэж тайлбарлахыг оролддог байсан байна. Жишээ нь
дискний хөтөч /dev/ad0a эсвэл
/dev/da2h гэсэн нэртэй байж болох юм.
Эдгээр нэрс нь эхний (0) IDE диск дээрх эхний хуваалт (a)
болон гурав дахь (3) SCSI диск дэх найм дахь хуваалтыг
(h) илэрхийлдэг. Ялгаатай тал нь
Vinum эзлэхүүн нь хуваалтын нэртэй ямар ч холбоогүй нэрээр магадгүй
/dev/gvinum/concat гэж нэрлэгдэж болох
юм.
&man.newfs.8; нь дискний нэрийг тайлбарлах бөгөөд хэрэв ойлгож
чадахгүй бол мэдээлэл үзүүлдэг. Жишээ нь:
&prompt.root; newfs /dev/gvinum/concat
newfs: /dev/gvinum/concat: can't figure out file system partition
Энэ эзлэхүүн дээр файлын систем үүсгэхийн тулд
&man.newfs.8;-г ашиглана:
&prompt.root; newfs /dev/gvinum/concat
5.0-с өмнөх &os; хувилбаруудад &man.newfs.8; нь
нэмэлт -v туг болон хуучин төхөөрөмж нэрлэлтийн схемийг
шаарддаг:
&prompt.root; newfs -v /dev/vinum/concat
Vinum тохируулах нь
GENERIC цөм Vinum-ийг агуулдаггүй. Vinum оруулсан
тусгай цөм бүтээх боломжтой боловч ингэхийг зөвлөдөггүй. Vinum-ийг эхлүүлэх
стандарт арга нь цөмийн модуль (kld) юм. Та бүр
Vinum-д зориулж &man.kldload.8;-г ч ашиглах хэрэггүй: &man.gvinum.8;-г
эхлүүлэхэд энэ нь модуль ачаалагдсан эсэхийг шалгаад хэрэв үгүй бол түүнийг
автоматаар ачаалдаг.
Эхлүүлэлт
Vinum нь тохиргооны мэдээллийг гол нь тохиргооны файлуудад байдаг яг тэр
хэлбэрээр дискний зүсмэлүүд дээр хадгалдаг. Тохиргооны мэдээллийн баазаас унших
үед Vinum тохиргооны файлуудад зөвшөөрөгдөөгүй хэд хэдэн түлхүүр үгнүүдийг
таньдаг. Жишээ нь дискний тохиргоо дараах текстийг агуулж болох юм:
volume myvol state up
volume bigraid state down
plex name myvol.p0 state up org concat vol myvol
plex name myvol.p1 state up org concat vol myvol
plex name myvol.p2 state init org striped 512b vol myvol
plex name bigraid.p0 state initializing org raid5 512b vol bigraid
sd name myvol.p0.s0 drive a plex myvol.p0 state up len 1048576b driveoffset 265b plexoffset 0b
sd name myvol.p0.s1 drive b plex myvol.p0 state up len 1048576b driveoffset 265b plexoffset 1048576b
sd name myvol.p1.s0 drive c plex myvol.p1 state up len 1048576b driveoffset 265b plexoffset 0b
sd name myvol.p1.s1 drive d plex myvol.p1 state up len 1048576b driveoffset 265b plexoffset 1048576b
sd name myvol.p2.s0 drive a plex myvol.p2 state init len 524288b driveoffset 1048841b plexoffset 0b
sd name myvol.p2.s1 drive b plex myvol.p2 state init len 524288b driveoffset 1048841b plexoffset 524288b
sd name myvol.p2.s2 drive c plex myvol.p2 state init len 524288b driveoffset 1048841b plexoffset 1048576b
sd name myvol.p2.s3 drive d plex myvol.p2 state init len 524288b driveoffset 1048841b plexoffset 1572864b
sd name bigraid.p0.s0 drive a plex bigraid.p0 state initializing len 4194304b driveoff set 1573129b plexoffset 0b
sd name bigraid.p0.s1 drive b plex bigraid.p0 state initializing len 4194304b driveoff set 1573129b plexoffset 4194304b
sd name bigraid.p0.s2 drive c plex bigraid.p0 state initializing len 4194304b driveoff set 1573129b plexoffset 8388608b
sd name bigraid.p0.s3 drive d plex bigraid.p0 state initializing len 4194304b driveoff set 1573129b plexoffset 12582912b
sd name bigraid.p0.s4 drive e plex bigraid.p0 state initializing len 4194304b driveoff set 1573129b plexoffset 16777216b
Эндэх мэдээжийн ялгаанууд нь байрлалын тодорхой мэдээлэл болон нэрлэлт
(тэдгээрийн хоёул бас зөвшөөрөгдсөн боловч хэрэглэгчид ашиглахыг хориглосон)
болон түвшингүүд дэх мэдээлэл (хэрэглэгчид байдаггүй) байгаа явдал юм.
Vinum нь тохиргооны мэдээлэл дэх хөтчүүдийн тухай мэдээллийг хадгалдаггүй:
энэ нь Vinum шошготой хуваалтуудын хувьд тохируулагдсан дискний хөтчүүдийг скан хийн
хөтчүүдийг олдог. Энэ нь тэдгээр хөтчүүдэд өөр төрлийн &unix; хөтчийн ID өгсөн байсан ч
Vinum-д хөтчүүдийг зөвөөр таних боломжийг олгодог.
Автомат эхлүүлэлт
Энэ мэдээлэл нь зөвхөн уламжлалт Vinum шийдэлд хамаатай.
Gvinum нь цөмийн модуль ачаалагдсаны дараа
автоматаар эхлүүлдэг боломжийг үргэлж агуулсан байна.
Системийг ачаалахад Vinum-ийг автоматаар эхлүүлэхийн тулд
өөрийн /etc/rc.conf файлд дараах мөр
байгаа эсэхийг шалгаарай:
start_vinum="YES" # set to YES to start vinum
Хэрэв танд /etc/rc.conf файл байхгүй бол
ийм агуулгатай нэгийг үүсгээрэй. Энэ нь системийг эхлэхдээ Vinum
kld-г ачаалуулж тохиргоонд дурдагдсан
обьект бүрийг эхлүүлэхэд хүргэдэг. Энэ нь файлын системүүдийг
холбохоос өмнө хийгддэг учир автоматаар Vinum эзлэхүүнүүд дээр &man.fsck.8;
хийх болон файлын системүүдийг холбох боломжтой юм.
vinum start тушаалаар Vinum-ийг
эхлүүлэхэд Vinum нь аль нэг Vinum хөтчөөс тохиргооны мэдээллийн баазыг
уншдаг. Ердийн тохиолдолд хөтөч бүр тохиргооны мэдээллийн баазын адил хуулбарыг
агуулдаг учир аль хөтөч уншигдах нь хамаагүй юм. Гэхдээ сүйрлийн дараа
Vinum нь аль хөтөч хамгийн сүүлд шинэчлэгдсэнийг тодорхойлж тэр хөтчөөс
тохиргоог унших ёстой. Дараа нь тэр хэрэв шаардлагатай бол хуучин хөтчүүдээс
тохиргоог шинэчилдэг.
Root файлын системийн хувьд Vinum-ийг ашиглах нь
Vinum ашиглан бүрэн толин тусгал хийгдсэн файлын системүүд бүхий
машины хувьд root файлын системийг бас толин тусгал хийх нь зүйтэй.
Ингэж тохируулах нь дурын файлын системийг толин тусгал хийхээс
амаргүй юм, учир нь:
root файлын систем нь ачаалах процессийн нэлээн эхэн үед бэлэн
байж байх шаардлагатай учраас Vinum дэд бүтэц нь энэ үед аль хэдийн бэлэн
болсон байх шаардлагатай.
root файлын системийг агуулсан эзлэхүүн нь бас системийг эхлүүлэх код
болон цөмийг агуулдаг бөгөөд цөм нь хост системийн эх хэрэгслүүд (өөрөөр хэлбэл
PC ангиллын машинууд дээр BIOS) ашиглан уншигдах ёстой. Эдгээр хост системийн
эх хэрэгслүүдэд Vinum-ийн талаар дэлгэрэнгүйг мэдүүлэх ихэвчлэн боломжгүй
байдаг.
Дараах хэсгүүдэд root эзлэхүүн
гэсэн ойлголт
root файлын системийг агуулдаг Vinum эзлэхүүнийг тайлбарлахад голчлон
ашиглагдана. Энэ эзлэхүүний хувьд "root"
гэсэн нэрийг ашиглах нь зүйтэй санаа боловч энэ нь аль ч талаараа заавал
шаардлагатай биш юм. Дараах хэсгүүд дэх бүх тушаалын жишээнүүд нь
энэ нэрийг ашиглах болно.
root файлын системийн хувьд Vinum-ийг аль болох эрт эхлүүлэх нь
Ингэхийн тулд хэд хэдэн арга хэмжээнүүдийг авах хэрэгтэй:
Vinum нь ачаалах үед цөмд бэлэн байх ёстой. Тиймээс
-д тайлбарласан
Vinum-ийг автоматаар эхлүүлэх арга нь энэ асуудлыг шийдэхэд
хэрэглэх боломжгүй бөгөөд start_vinum
параметрийг дараах тохиргоог зохион байгуулсан тохиолдолд тохируулах
ёсгүй. Эхний тохируулга нь Vinum-ийг статикаар цөмд эмхэтгэх
тохируулга байх юм. Тэгэхээр энэ боломж нь үргэлж бэлэн байх боловч
ихэнх тохиолдолд хүсмээр зүйл биш байдаг. /boot/loader
()-аар цөмийг эхлэхээс өмнө
vinum цөмийн модулийг эрт ачаалахаар тохируулах өөр бас нэг
тохируулга байдаг. Ингэхийн тулд дараах мөрийг:
geom_vinum_load="YES"
/boot/loader.conf файл уруу оруулж хийж болно.
Gvinum-ийн хувьд бүх
эхлүүлэлт нь цөмийн модуль ачаалагдсаны дараа
автоматаар хийгддэг учраас дээр тайлбарласан процедур
байхад л хангалттай. Дараах текст нь хуучин тохиргоонуудын
тусын тулд уламжлалт Vinum системийн ажиллагааг баримтжуулж
байна.
Vinum нь root файлын системд эзлэхүүнийг хангах хэрэгтэй байдаг
учир эрт эхлүүлэгдэх ёстой байдаг. Анхдагчаар цөмийн Vinum хэсэг нь
администратор (эсвэл эхлүүлэх скриптүүдийн аль нэг нь)
vinum start тушаал ажиллуулах хүртэл
Vinum эзлэхүүний мэдээллийг агуулсан байж болох хөтчүүдийг
хайдаггүй.
- FreeBSD 5.X болон түүнээс дээшхи хувилбаруудад хэрэгтэй
- алхмуудыг дараах хэсэг тайлбарлах болно. FreeBSD 4.X-д
- шаардлагатай тохируулга нь өөр байх бөгөөд доор -д тайлбарласан байгаа.
+ FreeBSD-д хэрэгтэй
+ алхмуудыг дараах хэсэг тайлбарлах болно.
Дараах мөрийг:
vinum.autostart="YES"
гэж /boot/loader.conf файлд нэмж
Vinum-ийг цөмийн эхлүүлэлтийн хэсэг болон Vinum мэдээллийн хувьд
бүх хөтчүүдийг автоматаар скан хийхийг зааж өгдөг.
Цөмд root файлын системийг хайхыг заах заавал шаардлагагүйг
тэмдэглэе. /boot/loader нь
root төхөөрөмжийн нэрийг /etc/fstab
файлаас хайх бөгөөд энэ мэдээллийг цөмд дамжуулдаг. root файлын
системийг холбох үед өгөгдсөн төхөөрөмжийн нэрээс аль драйвераас
үүнийг дотоод төхөөрөмжийн ID (major/minor дугаар) болгон
хөрвүүлэхийг асуухаа мэддэг.
Vinum дээр тулгуурласан root эзлэхүүнийг эхлүүлэх кодонд хандах
боломжтой болгох нь
Одоогийн FreeBSD эхлүүлэгч нь зөвхөн 7.5KB код байдаг бөгөөд энэ нь
UFS файлын системээс файлуудыг (/boot/loader
зэрэг) уншдагаар хийгдсэн байдаг болохоор Vinum-ийн тохиргооны мэдээллийг
боловсруулж эхлэх эзлэхүүний өөрийнх нь элементүүдийг таньж Vinum-ийн
дотоод бүтцүүдийг түүнд мэдүүлэх нь илт боломжгүй юм. Тиймээс
root файлын системийг агуулдаг стандарт "a"
хуваалтын хуурамч үзэгдлээр эхлүүлэгч кодыг хангах зарим нэгэн
заль мэх шаардлагатай байдаг.
Ингэхийн тулд root эзлэхүүний хувьд дараах шаардлагуудыг хангасан
байх ёстой:
root эзлэхүүн нь судал хийгдээгүй эсвэл RAID-5 хийгдээгүй байх ёстой.
root эзлэхүүн нь нэг plex-ийн хувьд нэгээс илүү нийлүүлэгдсэн дэд
дисктэй байх ёсгүй.
Тус бүрдээ root файлын системийн нэг хуулбарыг агуулсан олон plex
байлгах боломжтой бөгөөд ингэх сонирхолтой байдгийг санаарай.
Гэхдээ эхлүүлэгч процесс нь эдгээр хуулбаруудын зөвхөн нэгийг эхлүүлэгч болон
бүх файлуудыг олохын тулд цөм root файлын системийг өөрийг нь холбох хүртэл
хэрэглэдэг. Дараа нь харгалзах төхөөрөмжийг эхлүүлэх боломжтой болгохын тулд
эдгээр plex-үүдийн доторх ганц дэд диск бүрт өөрсдийн "a"
хуваалтын хуурамч үзэгдэл хэрэгтэй болдог. Эдгээр хуурсан "a"
хуваалт бүр өөрийн төхөөрөмжийн дотор адил офсетэд байрлах нь root эзлэхүүний
plex-үүдийг агуулдаг бусад төхөөрөмжүүдтэй харьцуулах юм бол заавал хэрэгтэй
байдаггүй. Гэхдээ Vinum эзлэхүүнүүдийг толин тусгал хийгдсэн төхөөрөмжүүд нь
тэгш хэмт байхаар эндүүрлээс хамгаалж үүсгэх нь магадгүй зүйтэй санаа байх юм.
Эдгээр "a" хуваалтуудыг root эзлэхүүний хэсгийг
агуулсан төхөөрөмж бүрийн хувьд тохируулахын тулд доор дурдсаныг хийх хэрэгтэй:
Энэ төхөөрөмжийн root эзлэхүүний хэсэг болох дэд дискний байрлал
(төхөөрөмжийн эхэн хэсгээс тодорхой офсетэд) болон хэмжээг
дараах тушаалыг ашиглаж шалгах хэрэгтэй:
&prompt.root; gvinum l -rv root
Vinum офсетүүд болон хэмжээнүүд нь байтаар хэмжигддэг болохыг
санаарай. bsdlabel тушаалд
хэрэглэгддэг блок дугааруудыг олж авахын тулд тэдгээр нь 512-т
хуваагдах ёстой.
Дараах тушаалыг:
&prompt.root; bsdlabel -e devname
гэж root эзлэхүүнд оролцож байгаа төхөөрөмж бүрийн хувьд ажиллуулна.
devname нь зүсмэлийн хүснэгтгүй
дискнүүдийн дискний нэр (da0 гэх зэрэг)
эсвэл зүсмэлийн нэр (ad0s1 гэх зэрэг)
байх ёстой.
Хэрэв төхөөрөмж дээр "a" хуваалт
(Vinum-ийн өмнөх root файлын системийг агуулсан) байх юм бол
энэ нь хандахад боломжтой хэвээр (зөвхөн энэ тохиолдолд) байхын
тулд өөр нэрээр нэрлэгдэх шаардлагатай. Гэхдээ анхдагчаар системийг
эхлүүлэхэд хэрэглэгдэхээ болих юм. Идэвхтэй хуваалтуудын
(одоогоор холбогдсон root файлын систем зэрэг) нэрийг өөрчилж
болохгүй, тийм болохоор үүнийг Fixit
зөөвөрлөгчөөс
эхлүүлэх үед эсвэл (толин тусгал хийгдсэн нөхцөлд) ачаалаагүй байгаа
дискийг эхлээд удирдах хоёр алхамтай процессийн үед ажиллуулах ёстойг
санаарай.
Дараа нь энэ төхөөрөмж дээрх Vinum хуваалтын офсет нь энэ
төхөөрөмжийн харгалзах root эзлэхүүний дэд дискний офсетэд
нэмэгдэх ёстой. Үр дүнд нь гарах утга нь шинэ "a"
хуваалтын хувьд "offset" буюу офсет
утга болно. Энэ хуваалтын хувьд "size" буюу хэмжээ
утгыг дээрх тооцооллоос үгчлэн авч болно. "fstype"
нь 4.2BSD байх ёстой.
"fsize", "bsize",
болон "cpg" утгууд нь байгаа файлын системтэй
таарахаар сонгогдсон байх хэрэгтэй, гэхдээ тэдгээр нь энэ сэдэвт
бараг л чухал биш юм.
Ийм замаар шинэ "a" хуваалт нь
энэ төхөөрөмж дээрх Vinum хуваалтыг дарж байгуулагдана.
Хэрэв Vinum хуваалт нь "vinum"
fstype-г ашиглан зөвөөр тэмдэглэгдсэн бол
bsdlabel тушаал нь зөвхөн энэ даралтыг
зөвшөөрөх болно.
Ингээд боллоо! root эзлэхүүний нэг хуулбартай төхөөрөмж бүр дээр
хуурсан "a" хуваалт одоо бий боллоо.
Үр дүнг дараах тушаалтай төстэй тушаал ашиглан дахин шалгахыг
зөвлөдөг:
&prompt.root; fsck -n /dev/devnamea
Шинэ Vinum root эзлэхүүнийг тохируулах үед идэвхтэй байгаа
root файлын системтэй таардаггүй учир хяналтын мэдээлэл агуулсан бүх
файлууд нь Vinum эзлэхүүн дэх root файлын системд харьцангуй байх ёстойг
санах хэрэгтэй. Тэгэхээр ялангуяа /etc/fstab
болон /boot/loader.conf файлуудыг
бодолцох хэрэгтэй юм.
Дараагийн дахин ачаалалтын дараа эхлүүлэгч нь шинэ Vinum дээр тулгуурласан
root файлын системээс тохирох хяналтын мэдээллийг олж түүний дагуу ажиллах
ёстой. Цөмийн эхлүүлэх процессийн төгсгөлд бүх төхөөрөмжүүд зарлагдсаны
дараа энэ тохиргоог амжилттай болсныг харуулсан алдартай мэдэгдэл иймэрхүү
байдлаар харуулагдана:
Mounting root from ufs:/dev/gvinum/root
Vinum дээр тулгуурласан root тохиргооны жишээ
Vinum root эзлэхүүн тохируулагдсаны дараа
gvinum l -rv root тушаалын үр дүн иймэрхүү
харагдана:
...
Subdisk root.p0.s0:
Size: 125829120 bytes (120 MB)
State: up
Plex root.p0 at offset 0 (0 B)
Drive disk0 (/dev/da0h) at offset 135680 (132 kB)
Subdisk root.p1.s0:
Size: 125829120 bytes (120 MB)
State: up
Plex root.p1 at offset 0 (0 B)
Drive disk1 (/dev/da1h) at offset 135680 (132 kB)
Тэмдэглэх ёстой утгууд нь офсетийн (/dev/da0h
хуваалтын хувьд харьцангуй байна) хувьд 135680
байна. Энэ нь bsdlabel-ийн ойлголтод
265 ширхэг 512 байт диск блок уруу хөрвүүлнэ. Үүнтэй адилаар энэ root
эзлэхүүний хэмжээ нь 245760 512 байт блок юм. Энэ root эзлэхүүний
хоёр дахь хуулбарыг агуулсан /dev/da1h нь
тэгш хэмтэй тохиргоотой байна.
Эдгээр төхөөрөмжийн хувьд bsdlabel нь иймэрхүү харагдана:
...
8 partitions:
# size offset fstype [fsize bsize bps/cpg]
a: 245760 281 4.2BSD 2048 16384 0 # (Cyl. 0*- 15*)
c: 71771688 0 unused 0 0 # (Cyl. 0 - 4467*)
h: 71771672 16 vinum # (Cyl. 0*- 4467*)
Хуурсан "a" хуваалтын
"size" параметр нь дээр харуулсан утгатай
таардаг бол харин "offset" параметр нь
Vinum хуваалт "h" доторх офсет
болон төхөөрөмж (эсвэл зүсмэл) дэх энэ хуваалтын офсетийн нийлбэр болохыг
эндээс харж болно. Энэ нь -д
тайлбарласан асуудлыг тойрон гарахад шаардлагатай ердийн тохиргоо юм.
Мөн бүхэл "a" хуваалт нь энэ төхөөрөмжийн хувьд
бүх л Vinum өгөгдлийг агуулан бүтнээрээ "h" дотор
байхыг эндээс бас харж болно.
Дээрх жишээн дээр бүхэл төхөөрөмж нь Vinum-д зориулагдсан бөгөөд
зөвхөн Vinum тохиргооны хэсэг болохоор зориулагдсан дискний шинэ тохиргоо
учраас Vinum-аас өмнөх root хуваалтын үлдэгдэл байхгүй болохыг санах
хэрэгтэй.
Алдааг олж засварлах нь
Хэрэв ямар нэгэн зүйл болохоо байвал энэ тохиолдолд сэргээх арга хэрэгтэй.
Дараах жагсаалт нь тохиолддог цөөн хэдэн асуудлууд болон шийдлүүдийг
харуулж байна.
Системийн эхлүүлэгч ачаалах боловч систем эхлэхгүй байх
Ямар нэг шалтгаанаар систем нь ачаалахгүй бол эхлүүлэгчийг
10 секундын анхааруулга дээр space товчлуур дарж
тасалдуулж болно. Дуудагчийн хувьсагчуудыг (vinum.autostart зэрэг)
show тушаал ашиглан шалгаж болох бөгөөд
set эсвэл unset тушаалуудыг
ашиглан тохируулж болно.
Хэрэв цөмийн Vinum модуль нь автоматаар дуудагддаг модулиудын
жагсаалтад орж амжаагүй байх юм бол ердийн load geom_vinum
тушаал туслана.
Бэлэн болсныхоо дараа ачаалах процессийг boot -as
тушаалаар үргэлжлүүлж болно. тохируулгууд нь
root файлын системийг холбохыг () асуудаг
бөгөөд ачаалах процессийг root файлын системийг зөвхөн унших эрхээр холбосон
ганц-хэрэглэгчийн горимд () зогсоохыг
цөмөөс хүсдэг. Ийм замаар олон-plex эзлэхүүний зөвхөн нэг plex холбогдсон
байхад plex-үүд хоорондын өгөгдлийн бүрэн бүтэн бус байдлын эрсдэл
гардаггүй.
root файлын системийг холбохыг асуух мөрөн дээр зөв root файлын
системтэй дурын төхөөрөмжийг оруулж болно. Хэрэв
/etc/fstab зөв тохируулагдсан бол анхдагч нь
ufs:/dev/gvinum/root мөртэй төсөөтэй
байх ёстой. Ердийн өөр нэг сонголт нь ufs:da0d
зэрэг Vinum-аас өмнөх root файлын системийг агуулдаг таамаглал хуваалт
байж болох юм. Энд жинхэнэдээ толин тусгал үүсгэгдсэн тохируулгаас болоод
Vinum root төхөөрөмжийн дэд дискнүүд уруу заасан аль нэг хуулбар
"a" хуваалтыг оруулсан бол болгоомжтой байх хэрэгтэй
бөгөөд энэ нь толин тусгал хийгдсэн root төхөөрөмжийн зөвхөн нэгийг
холбох болно. Хэрэв энэ файлын систем нь дараа нь унших бичих эрхтэйгээр
холбогдох бол Vinum root эзлэхүүний бусад plex-(үүд)ийг арилгах
шаардлагатай. Учир нь эдгээр plex-үүд нь бүрэн бүтэн бус өгөгдлийг
зөөвөрлөх болно.
Зөвхөн анхдагч эхлүүлэгч дуудах
Хэрэв /boot/loader дуудагдахгүй байгаа
боловч анхдагч эхлүүлэгч дуудагдаж байвал (ачаалах процесс эхэлсний дараа
дэлгэцийн зүүн багана дээр ганц зураас харагддаг) энэ үед анхдагч
эхлүүлэгчийг тасалдуулах оролдлогыг space товчлуур
ашиглан хийж болно. Энэ нь эхлүүлэгчийг хоёрдугаар алхам дээр зогсоох
бөгөөд -с үзнэ үү. Энд
"a"-с дээр шилжүүлэгдсэн өмнөх root файлын
системийг агуулсан өөр хуваалтаас ачаалах оролдлого хийж болох
юм.
Юу ч ачаалахгүй болж эхлүүлэгч сүйрэх
Энэ тохиолдол нь хэрэв эхлүүлэгчийг Vinum суулгацаар устгасан
бол тохиолддог. Харамсалтай нь одоогоор Vinum нь санамсаргүйгээр
зөвхөн 4 KB хэмжээг чөлөөтэйгөөр өөрийн хуваалтын эхэнд өөрийн Vinum
толгойн мэдээллийг бичиж эхлэхээсээ өмнө үлдээдэг. Гэхдээ нэгдүгээр алхам
ба хоёрдугаар эхлүүлэгчид, тэдгээрийн хооронд суулгагдсан bsdlabel нь
одоогоор 8 KB-г шаарддаг. Хэрэв Vinum хуваалт нь ачаалагдах боломжтой
гэгдэж байгаа зүсмэл эсвэл диск дотор 0 офсетэд эхэлсэн бол Vinum нь
эхлүүлэгчийг устгана.
Үүнтэй адилаар хэрэв дээрх тохиолдол сэргээгдсэн бол,
жишээ нь Fixit
зөөвөрлөгчөөс ачаалагдаж
эхлүүлэгч нь -д тайлбарласны дагуу
дахин суулгагдсан бол эхлүүлэгч нь Vinum толгойг устгах бөгөөд
Vinum нь өөрийн диск(үүд)ийг дахиж олохгүй байх болно. Яг жинхэнэдээ
Vinum-ийн тохиргооны өгөгдөл эсвэл Vinum-ийн эзлэхүүнүүд дэх
өгөгдөл нь энэ үед устгагддаггүй бөгөөд бүх өгөгдлийг яг адилхан
Vinum тохиргооны өгөгдлийг дахин оруулснаар сэрээх боломжтой боловч
ийм тохиолдлыг засварлах нь их хэцүү байдаг. Vinum толгой болон системийн
эхлүүлэгчийг давхцуулахгүй байлгахын тулд бүхэл Vinum хуваалтыг
хамгийн багаар бодоход 4 KB-аар шилжүүлэх хэрэгтэй болно.
-
-
- FreeBSD 4.X-ийн ялгаанууд
-
- FreeBSD 4.X дээр Vinum-ийг автоматаар бүх дискнүүдийг скан хийлгэх
- зарим дотоод функцууд байдаггүй бөгөөд root төхөөрөмжийн дотоод ID-г танидаг
- код нь /dev/vinum/root зэрэг нэртэй автоматаар
- ажиллаж чадахаар ухаалаг байдаггүй. Тийм болохоор энд арай өөр байна.
-
- Аль дискнүүдийг скан хийхийг /boot/loader.conf
- файл дахь доор дурдсантай төстэй мөрийг ашиглан Vinum-д зааж өгөх
- ёстой:
-
- vinum.drives="/dev/da0 /dev/da1"
-
- Дурдагдсан бүх хөтчүүд Vinum өгөгдлийг агуулах боломжтой байдаг нь
- чухал юм. Vinum нь хүчинтэй Vinum толгойнуудын хувьд нэрлэгдсэн хөтчүүдийн
- бүх хуваалтууд болон зүсмэлүүдийг скан хийдэг учир илүү олон
- хөтчүүд жагсаагдсан ч гэсэн тэр нь хор хөнөөлтэй биш бөгөөд зүсмэл ба/эсвэл хуваалтыг
- заавал тодорхой заах хэрэггүй юм.
-
- root файлын системийн нэрийг боловсруулахад хэрэглэгддэг дэг журмууд болон
- төхөөрөмжийн ID-н (major/minor дугаар) үүсэл нь зөвхөн
- /dev/ad0s1a зэрэг классик
- төхөөрөмжийн нэртэй ажиллаж чаддагаар бэлтгэгдсэн байдаг учир тэдгээр нь
- /dev/vinum/root зэрэг root эзлэхүүний нэртэй
- ухаалгаар ажиллаж чаддаггүй. Ийм шалтгаанаар өөрийн эхлүүлэлтийн үед root
- төхөөрөмжийн ID-г авдаг цөмийн дотоод параметрийг Vinum нь өөрөө урьдчилан
- тохируулах хэрэгтэй байдаг. vinum.root
- дуудагчийн хувьсагчид root эзлэхүүний нэрийг дамжуулж үүнийг хүсэж
- болдог. Үүнийг хийдэг /boot/loader.conf дахь
- оруулга нь иймэрхүү харагдана:
-
- vinum.root="root"
-
- Цөмийн эхлүүлэлт нь root төхөөрөмжийг холбохоор хайхыг оролдох үедээ
- цөмийн зарим модулиуд үүнд зориулж цөмийн параметрийг аль хэдийн урьдчилан
- эхлүүлсэн эсэхийг хардаг. Хэрэв тийм бөгөөд
- root төхөөрөмж гэгдэж байгаа төхөөрөмж нь драйверийн major дугаартай
- дамжуулсан мөрний ("vinum" бидний тохиолдолд)
- root төхөөрөмжийн нэрээс мэдэгдэн таарч байвал энэ нь өөрөө мэдэхийг
- оролдохын оронд урьдчилан хуваарилагдсан төхөөрөмжийн ID-г ашиглах
- болно. Ийм замаар ердийн автомат эхлүүлэлтийн үед энэ нь Vinum root
- эзлэхүүнийг root файлын системд зориулж үргэлжлэн холбож
- чадах юм.
-
- Гэхдээ boot -a тушаал нь
- root төхөөрөмжийн нэрийг гараар оруулахыг асуун хүсэж байх үед
- энэ журам нь тэрхүү оруулсан Vinum эзлэхүүнд ханддаг нэрийг жинхэнэдээ
- боловсруулан гаргаж чадахгүй хэвээр байдгийг тэмдэглэх ёстой.
- Vinum төхөөрөмж уруу хандаагүй дурын төхөөрөмжийн нэрийг оруулсан бол
- урьдчилан хуваарилагдсан root параметрийн major дугаар болон
- өгөгдсөн нэрнээс мэдэгдсэн драйверийн хоорондох таарахгүй байдал нь
- энэ журмыг ердийн боловсруулагч уруу оруулах бөгөөд
- ufs:da0d гэх зэргээр оруулахад хүссэнээр ажиллах
- болно. Хэрэв энэ нь амжилтгүй болбол боловсруулагдаж чадахгүй болохоор
- ufs:vinum/root гэх мэтээр дахин оруулах
- боломжгүй болох юм. Үүнээс гарах арга нь дахин ачаалж дараа нь эхнээс нь
- дахин эхлэх явдал юм. (askroot
тушаал хүлээх мөрөнд
- эхний /dev/-г үргэлж орхигдуулж болно.)
-