doc/mn_MN.UTF-8/books/handbook/advanced-networking/chapter.sgml
Giorgos Keramidas 740dc5bf20 Import a new translation of our Handbook, to the Mongolian language.
The work, for this FreeBSD Handbook translation, has been done by:

  * Bayanzul Lodoisamba, baynaa@yahoo.com
  * Ganbold Tsagaankhuu, ganbold@micom.mng.net
  * Natsagdorj Shagdar, natsag2000@yahoo.com

More documents are in the works, by the Mongolian FreeBSD doc
team, and Ganbold will be acting as a liaison between them and
the CVS tree for now.

Note that I haven't attached this to the toplevel doc/Makefile
yet, to make sure that it builds correctly on the FreeBSD cluster
before I make it auto-build by our doc tinderboxen.

Submitted by:   Ganbold Tsagaankhuu
2007-04-11 10:51:20 +00:00

4583 lines
267 KiB
Text
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!--
The FreeBSD Mongolian Documentation Project
Original revision 1.389
$FreeBSD$
-->
<chapter id="advanced-networking">
<chapterinfo>
<authorgroup>
<author>
<firstname>Цагаанхүүгийн</firstname>
<surname>Ганболд</surname>
<contrib>Орчуулсан </contrib>
<affiliation>
<address><email>tsgan@hotmail.com</email></address>
</affiliation>
</author>
</authorgroup>
</chapterinfo>
<title>Сүлжээний нэмэлт ойлголтууд</title>
<sect1 id="advanced-networking-synopsis">
<title>Ерөнхий агуулга</title>
<para>Энэ бүлэг нь хэд хэдэн сүлжээний дэвшилтэт нэмэлт сэдвүүдийг хамрах
болно.</para>
<para>Энэ бүлгийг уншсаны дараа, та дараах зүйлсийг мэдэх болно:</para>
<itemizedlist>
<listitem>
<para>Гарцууд болон чиглүүлэлтүүдийн үндсүүд.</para>
</listitem>
<listitem>
<para>IEEE 802.11 болон &bluetooth; төхөөрөмжүүдийг хэрхэн суулгах талаар.</para>
</listitem>
<listitem>
<para>FreeBSD-г гүүр болгож хэрхэн тохируулах талаар.</para>
</listitem>
<listitem>
<para>Дискгүй машин дээр сүлжээгээр ачаалахыг хэрхэн тохируулах талаар.</para>
</listitem>
<listitem>
<para>Сүлжээний хаягийн хөрвүүлэлтийг хэрхэн тохируулах талаар.</para>
</listitem>
<listitem>
<para>PLIP-ээр хоёр компьютерийг хэрхэн холбох талаар.</para>
</listitem>
<listitem>
<para>FreeBSD машин дээр IPv6-г хэрхэн тохируулах талаар.</para>
</listitem>
<listitem>
<para>ATM-ийг хэрхэн тохируулах талаар.</para>
</listitem>
</itemizedlist>
<para>Энэ бүлгийг уншихаасаа өмнө та дараах зүйлсийг гүйцэтгэх хэрэгтэй:</para>
<itemizedlist>
<listitem>
<para><filename>/etc/rc</filename> скриптүүдийн үндсүүдийг ойлгосон байх.</para>
</listitem>
<listitem>
<para>Сүлжээний үндсэн ухагдахуудын талаар мэдлэгтэй байх.</para>
</listitem>
<listitem>
<para>Шинэ FreeBSD цөм хэрхэн тохируулж суулгах талаар мэдэх
(<xref linkend="kernelconfig">).</para>
</listitem>
<listitem>
<para>Нэмэлт гуравдагч талуудын хийсэн програм хангамжийг хэрхэн
суулгах талаар мэдэх (<xref linkend="ports">).</para>
</listitem>
</itemizedlist>
</sect1>
<sect1 id="network-routing">
<sect1info>
<authorgroup>
<author>
<firstname>Коранф</firstname>
<surname>Грайфон</surname>
<contrib>Хувь нэмэр болгон оруулсан </contrib>
</author>
</authorgroup>
</sect1info>
<title>Гарцууд болон Чиглүүлэлтүүд</title>
<indexterm><primary>чиглүүлэлт хийх</primary></indexterm>
<indexterm><primary>гарц</primary></indexterm>
<indexterm><primary>дэд сүлжээ</primary></indexterm>
<para>Сүлжээгээр нэг машин нөгөө машиныг олж чаддаг байхын тулд нэгээс нөгөө
уруу хэрхэн хүрэхийг тайлбарласан арга замууд байх ёстой. Үүнийг
<firstterm>routing</firstterm> буюу <firstterm>чиглүүлэлт хийх</firstterm>
гэдэг. <quote>Чиглүүлэлт</quote> нь <quote>destination буюу зорьсон газар</quote> болон
<quote>гарц</quote> хаягийн хослолоор тодорхойлогддог. Хэрэв та энэ
<quote>зорьсон газар</quote> уруу очихоор оролдож байгаа бол
энэ <quote>гарц</quote>аар холбогдоно гэж энэ хослол нь зааж байгаа юм.
Гурван төрлийн зорьсон газар байдаг: эдгээр нь хостууд, дэд сүлжээнүүд болон
<quote>анхдагч</quote> юм. <quote>Анхдагч чиглүүлэлт</quote> нь
аль ч чиглүүлэлтэд хамаарахгүй бол ашиглагддаг. Бид анхдагч чиглүүлэлтийн
талаар дараа нь арай дэлгэрэнгүй ярилцах болно. Бас гурван төрлийн гарц байдаг:
эдгээр нь хостууд, интерфэйсүүд (бас <quote>links</quote> буюу холбоосууд гэгддэг)
болон Ethernet тоног төхөөрөмжийн хаягууд (MAC хаягууд) юм.
</para>
<sect2>
<title>Жишээ</title>
<para>Чиглүүлэлтийн өөр ойлголтуудыг үзүүлэхийн тулд бид <command>netstat</command>-ийн
дараах жишээг ашиглах болно:</para>
<screen>&prompt.user; <userinput>netstat -r</userinput>
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</screen>
<indexterm><primary>анхдагч чиглүүлэлт</primary></indexterm>
<para>Эхний хоёр мөр нь анхдагч чиглүүлэлт (бид үүнийг <link
linkend="network-routing-default">дараагийн хэсэг</link>т
авч үзэх болно) болон <hostid>localhost</hostid> чиглүүлэлтийг заана.</para>
<indexterm><primary>loopback төхөөрөмж</primary></indexterm>
<para>Энэ чиглүүлэлтийн хүснэгтийн заасан <literal>localhost</literal>-д зориулж
ашиглах интерфэйс (<literal>Netif</literal> багана) нь
<devicename>lo0</devicename> бөгөөд энэ нь бас loopback буюу буцах
интерфэйс гэгддэг. Энэ нь уг очих газрын хувьд бүх урсгалыг LAN уруу илгээхийн оронд
дотооддоо үлдээнэ гэж хэлж байгаа бөгөөд энэ нь хаанаас эхэлсэн тэндээ буцаж
очих учраас тэр юм.</para>
<indexterm>
<primary>Ethernet</primary>
<secondary>MAC хаяг</secondary>
</indexterm>
<para>Дараагийн байгаа зүйл бол <hostid role="mac">0:e0:</hostid>-с
эхэлсэн хаягууд юм. Эдгээр нь Ethernet тоног төхөөрөмжийн хаягууд бөгөөд
бас MAC хаягууд гэгддэг. FreeBSD нь локал Ethernet дээр байгаа
ямар ч хостуудыг (жишээн дээрх <hostid>test0</hostid>) автоматаар
таньж тэр хостод зориулж шууд түүн уруу <devicename>ed0</devicename>
Ethernet интерфэйсээр гарахаар чиглүүлэлт нэмдэг. Энэ төрлийн
чиглүүлэлттэй холбоотой хугацаа (<literal>Expire</literal> багана)
байдаг бөгөөд энэ нь заасан хугацаанд тэр хостоос бид нар юу ч сонсохгүй үед
ашиглагддаг. Ийм явдал болоход энэ хост уруу заагдсан чиглүүлэлт автоматаар
устгагдах болно. Эдгээр хостууд нь RIP (Routing Information Protocol
буюу чиглүүлэлтийн мэдээллийн протокол) гэгддэг арга замаар танигддаг бөгөөд энэ нь
хамгийн богино замыг тодорхойлсны үндсэн дээр локал хостууд уруу очих чиглүүлэлтийг
олдог.</para>
<indexterm><primary>дэд сүлжээ</primary></indexterm>
<para>FreeBSD нь бас локал дэд сүлжээнд зориулж дэд сүлжээний чиглүүлэлтүүдийг
нэмдэг (<hostid role="ipaddr">10.20.30.255</hostid> нь
<hostid role="ipaddr">10.20.30</hostid> дэд сүлжээний цацах хаяг бөгөөд
<hostid role="domainname">example.com</hostid> нь тэр дэд сүлжээтэй холбоотой
домений нэр юм). <literal>link#1</literal> тэмдэглэгээ нь машин дахь
эхний Ethernet картыг заана. Та тэдгээрт зориулж ямар ч нэмэлт интерфэйс
заагдаагүйг харах болно.</para>
<para>Эдгээр бүлгүүд (локал сүлжээний хостууд болон локал дэд сүлжээнүүд) нь
автоматаар <application>routed</application> гэгддэг демоноор
тохриуулагдсан чиглүүлэлтүүдтэй байна. Хэрэв энэ нь ажиллахгүй байгаа бол
зөвхөн статикаар тодорхойлогдсон (өөрөө хэлбэл илэрхий оруулж өгсөн)
чиглүүлэлтүүд байх болно.</para>
<para><literal>host1</literal> мөр нь бидний хостыг зааж байгаа бөгөөд
түүнийг Ethernet хаягаар нь мэддэг. Бид илгээж байгаа хост болохоор FreeBSD нь
Ethernet интерфэйсээр илгээхийн оронд loopback буюу буцах интерфэйсийг
(<devicename>lo0</devicename>) ашиглахаа мэддэг.</para>
<para>Хоёр <literal>host2</literal> мөрүүд нь биднийг &man.ifconfig.8;
alias буюу өөр нэр ашиглах үед (Ethernet-ийн талаарх хэсгээс бид үүнийг яагаад хийдгийг
үзээрэй) учирч болзошгүй зүйлийн жишээ юм. <devicename>lo0</devicename>
интерфэйсийн дараа байгаа <literal>=&gt;</literal> тэмдэг нь бид зөвхөн
loopback буюу буцах интерфэйсийг ашиглаад зогсохгүй (энэ хаяг нь бас локал хостыг хэлж
байгаа болохоор) энэ нь ялангуяа alias буюу өөр нэр гэдгийг хэлж байгаа юм.
Ийм чиглүүлэлтүүд нь alias-ийг дэмждэг хост дээр зөвхөн харагдана; локал сүлжээн
дэх бусад бүх хостууд ийм чиглүүлэлтүүдийнхээ хувьд ердөө л <literal>link#1</literal>
мөртэй байна.</para>
<para>Төгсгөлийн мөр (очих дэд сүлжээ <hostid role="ipaddr">224</hostid>) нь
multicast-тай ажиллаж байгаа бөгөөд үүнийг өөр хэсэгт авч үзэх болно.</para>
<para>Төгсгөлд нь чиглүүлэлт бүрийн төрөл бүрийн шинж чанаруудыг <literal>Flags</literal>
баганаас харж болно. Эдгээр тугуудын зарим болон тэдгээрийн харгалзах утга санаануудыг
доорх богино хүснэгтээр харуулав:</para>
<informaltable frame="none" pgwide="1">
<tgroup cols="2">
<colspec colwidth="1*">
<colspec colwidth="4*">
<tbody>
<row>
<entry>U</entry>
<entry>Up: Чиглүүлэлт идэвхтэй байна.</entry>
</row>
<row>
<entry>H</entry>
<entry>Host: Чиглүүлэлтийн очих газар нь ганц хост байна.</entry>
</row>
<row>
<entry>G</entry>
<entry>Gateway: Энэ очих газарт зориулж бүгдийг энэ алсын систем уруу
илгээх бөгөөд алсын систем нь тэндээсээ хаашаа илгээхээ олох болно.</entry>
</row>
<row>
<entry>S</entry>
<entry>Static: Энэ чиглүүлэлт нь системээр автоматаар үүсгэгдсэн биш
гараар тохируулагдсан.</entry>
</row>
<row>
<entry>C</entry>
<entry>Clone: Бидний холбогдож байгаа машины хувьд энэ чиглүүлэлт
дээр үндэслэн шинэ чиглүүлэлт үүсгэдэг. Энэ төрлийн чиглүүлэлт нь ихэвчлэн
локал сүлжээнүүдэд ашиглагддаг.</entry>
</row>
<row>
<entry>W</entry>
<entry>WasCloned: Локал сүлжээний (Clone) чиглүүлэлт дээр
үндэслэн автоматаар тохируулагдсан чиглүүлэлтийг заана.</entry>
</row>
<row>
<entry>L</entry>
<entry>Link: Чиглүүлэлт нь Ethernet тоног төхөөрөмжтэй
холбоотой зүйлийг хамрана.</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</sect2>
<sect2 id="network-routing-default">
<title>Анхдагч чиглүүлэлтүүд</title>
<indexterm><primary>анхдагч чиглүүлэлт</primary></indexterm>
<para>Локал систем нь алсын хост уруу холболт хийх хэрэгтэй үед мэдэгдэж байгаа зам
байгаа эсэхийг тодорхойлохын тулд энэ нь чиглүүлэлтийн хүснэгтээс шалгадаг. Хэрэв алсын
хост нь бидний хэрхэн хүрэхийг нь мэдэх (клон хийгдсэн чиглүүлэлтүүд) дэд сүлжээнд
байгаа бол систем тэр интерфэйсээр холбогдож болох эсэхийг шалгадаг.</para>
<para>Хэрэв бүх мэдэгдэж байгаа зам амжилтгүй болвол системд сүүлчийн ганц
сонголт <quote>анхдагч</quote> чиглүүлэлт үлдэнэ. Энэ чиглүүлэлт нь гарц чиглүүлэлтийн
тусгай төрөл (системд ихэвчлэн ганц байдаг) бөгөөд тугнуудын талбартаа үргэлж
<literal>c</literal> гэж тэмдэглэгдсэн байдаг. Локал сүлжээн дэх хостын хувьд
энэ гарц нь машины гадаад ертөнц уруу шууд холбогдох зүйлээр (PPP холболт, DSL,
кабел modem, T1, эсвэл өөр сүлжээний интерфэйсээр) тохируулагддаг.</para>
<para>Хэрэв та өөрөө гаднах ертөнц уруу гарц маягаар ажиллаж байгаа машины хувьд анхдагч
чиглүүлэлтийг тохируулж байгаа бол анхдагч чиглүүлэлт нь таны Интернетийн Үйлчилгээ
Үзүүлэгчийн (ISP) сайт дахь гарц машин болох юм.</para>
<para>Анхдагч чиглүүлэлтүүдийн жишээг харцгаая. Энэ нь нийтлэг тохиргоо юм:</para>
<mediaobject>
<imageobject>
<imagedata fileref="advanced-networking/net-routing">
</imageobject>
<textobject>
<literallayout class="monospaced">
[Local2] &lt;--ether--&gt; [Local1] &lt;--PPP--&gt; [ISP-Serv] &lt;--ether--&gt; [T1-GW]
</literallayout>
</textobject>
</mediaobject>
<para><hostid>Local1</hostid> болон
<hostid>Local2</hostid> хостууд нь таны сайтад байна.
<hostid>Local1</hostid> нь ISP уруу dial-up PPP холболтоор
холбогдсон. Энэ PPP сервер компьютер нь дотоод сүлжээгээр
өөр нэг гарц компьютер уруу гадаад интерфэйсээр ISP-ийн Интернет өгч байгаа уруу
холбогдсон байна.</para>
<para>Таны машин бүрийн хувьд анхдагч чиглүүлэлтүүд нь ийм болно:</para>
<informaltable frame="none" pgwide="1">
<tgroup cols="3">
<thead>
<row>
<entry>Хост</entry>
<entry>Анхдагч Гарц</entry>
<entry>Интерфэйс</entry>
</row>
</thead>
<tbody>
<row>
<entry>Local2</entry>
<entry>Local1</entry>
<entry>Ethernet</entry>
</row>
<row>
<entry>Local1</entry>
<entry>T1-GW</entry>
<entry>PPP</entry>
</row>
</tbody>
</tgroup>
</informaltable>
<para>Түгээмэл асуулт нь <quote>Бид яагаад <hostid>Local1</hostid>-ийн хувьд
түүний холбогдсон ISP-ийн серверийн оронд <hostid>T1-GW</hostid>-г анхдагч гарц гэж
тохируулсан бэ?</quote> гэсэн асуулт юм.</para>
<para>PPP интерфэйс нь өөрийн талын холболтондоо ISP-ийн локал сүлжээн дэх хаягийг ашиглаж
байгаа болохоор ISP-ийн локал сүлжээн дэх бусад дурын машинуудад зориулсан чиглүүлэлт
автоматаар үүсгэгдэх болно гэдгийг санаарай. Ийм учраас та <hostid>T1-GW</hostid>
машин уруу хэрхэн хүрэхээ аль хэдийн мэдэж байгаа болохоор ISP-ийн сервер уруу урсгал
илгээх дундын алхам шаардлагагүй юм.</para>
<para>Өөрийн локал сүлжээний хувьд <hostid
role="ipaddr">X.X.X.1</hostid> хаягийг гарц хаяг болгож ашиглах нь
түгээмэл байдаг. Тэгэхээр (адил жишээг ашиглаад) хэрэв таны локал C ангилалын
хаягийн талбар <hostid role="ipaddr">10.20.30</hostid> байсан бөгөөд
таны ISP <hostid role="ipaddr">10.9.9</hostid>-г ашиглаж байгаа бол
анхдагч чиглүүлэлтүүд нь ийм байна:</para>
<informaltable frame="none" pgwide="1">
<tgroup cols="2">
<thead>
<row>
<entry>Хост</entry>
<entry>Анхдагч Чиглүүлэлт</entry>
</row>
</thead>
<tbody>
<row>
<entry>Local2 (10.20.30.2)</entry>
<entry>Local1 (10.20.30.1)</entry>
</row>
<row>
<entry>Local1 (10.20.30.1, 10.9.9.30)</entry>
<entry>T1-GW (10.9.9.1)</entry>
</row>
</tbody>
</tgroup>
</informaltable>
<para>Та <filename>/etc/rc.conf</filename> файлын тусламжтай
анхдагч чиглүүлэлтийг хялбараар тодорхойлж болно. Бидний жишээн дээр
<hostid>Local2</hostid> машин дээр бид дараах мөрийг
<filename>/etc/rc.conf</filename> файлд нэмсэн:</para>
<programlisting>defaultrouter="10.20.30.1"</programlisting>
<para>Үүнийг шууд тушаалын мөрөөс &man.route.8; тушаалаар хийж бас
болно:</para>
<screen>&prompt.root; <userinput>route add default 10.20.30.1</userinput></screen>
<para>Сүлжээний чиглүүлэлтийн хүснэгтүүдийг гараар удирдах талаар дэлгэрэнгүй
мэдээллийг &man.route.8; гарын авлагын хуудаснаас лавлана уу.</para>
</sect2>
<sect2>
<title>Хос гэртэй хостууд</title>
<indexterm><primary>хос гэртэй хостууд</primary></indexterm>
<para>Өөр бас нэг тохиргооны төрлийг бид хэлэлцэх ёстой бөгөөд энэ нь хоёр өөр сүлжээн
дээр байгаа хостын тухай юм. Техникийн хувьд гарц болж байгаа дурын машин
(дээрх жишээн дээр PPP холболтыг ашиглах нь) хос гэртэй хост гэж тооцогддог.
Гэхдээ үнэндээ энэ ухагдахуун нь хоёр дотоод сүлжээнд байгаа машиныг хэлэхэд
зөвхөн ашиглагддаг.</para>
<para>Нэг тохиолдолд машин нь хоёр Ethernet карттай бөгөөд карт бүр
тусдаа дэд сүлжээний хаягтай байна. Өөрөөр, машин нь зөвхөн нэг Ethernet
карттай бөгөөд &man.ifconfig.8; alias хийлт буюу өөр нэрийг ашигладаг байж
болно. Эхнийх нь физикийн хувьд тусдаа хоёр Ethernet сүлжээ ашиглагдаж
байгаа үед хэрэглэгдэх бөгөөд сүүлийх нь ганц физик сүлжээний сегмент байгаа боловч
логикийн хувьд хоёр тусдаа дэд сүлжээнүүд байгаа үед хэрэглэгддэг.</para>
<para>Аль ч тохиолдолд энэ машин нь нөгөө дэд сүлжээ уруу хүрэх тодорхойлогдсон гарц
(гаднаас ирэх чиглүүлэлт) гэдгийг дэд сүлжээ бүр мэддэг байхаар чиглүүлэлтийн хүснэгтүүд
тохируулагддаг. Хоёр дэд сүлжээний хооронд чиглүүлэгч маягаар ажиллах
машинтай энэ тохиргоо нь бид аль нэг тал уруу эсвэл хоёр талын хоюулангийн хувьд
пакет шүүгч буюу галт хана дээр тулгуурласан аюулгүй байдлын шийдлийг хийх
шаардлагатай үед ихэвчлэн хэрэглэгддэг.</para>
<para>Хоёр интерфэйсийн хооронд пакетуудыг дамжуулдаг байхаар энэ машиныг
байлгахыг хэрэв та хүсвэл энэ боломжийг идэвхжүүлэхийг FreeBSD-д хэлэх
хэрэгтэй. Үүнийг хэрхэн хийх талаар дэлгэрэнгүйг дараагийн хэсгээс үзнэ үү.</para>
</sect2>
<sect2 id="network-dedicated-router">
<title>Чиглүүлэгч бүтээх нь</title>
<indexterm><primary>чиглүүлэгч</primary></indexterm>
<para>Сүлжээний чиглүүлэгч нь ердөө л нэг интерфэйсээс нөгөө интерфэйс уруу пакетуудыг
дамжуулдаг систем юм. Интернетийн стандартууд болон сайн инженерчлэлийн туршлага нь
үүнийг FreeBSD дээр анхдагчаар идэвхжүүлсэн байхаас FreeBSD төслийг сэргийлдэг.
&man.rc.conf.5; дахь дараах хувьсагчийг <literal>YES</literal> болгон
өөрчилснөөр та энэ боломжийг идэвхжүүлж болно:</para>
<programlisting>gateway_enable=YES # Set to YES if this host will be a gateway</programlisting>
<para>Энэ тохируулга нь &man.sysctl.8;-ийн хувьсагч <varname>net.inet.ip.forwarding</varname>-г
<literal>1</literal> болгоно. Хэрэв та чиглүүлэлтийг түр зуур зогсоох хэрэгтэй
бол үүнийг түр зуур <literal>0</literal> болгож тохируулж болно.</para>
<para>Урсгалыг хааш нь илгээхээ мэдэхийн тулд таны шинэ чиглүүлэгчид чиглүүлэлтүүд
хэрэгтэй болно. Хэрэв таны сүлжээ хангалттай хялбар байх юм бол статик
чиглүүлэлтүүд ашиглаж болно. FreeBSD нь стандарт BSD чиглүүлэлтийн демон
&man.routed.8; програмтай бас ирдэг. Энэ нь RIP (1 ба 2-р хувилбар) болон
IRDP протоколуудыг дэмждэг. BGP v4, OSPF v2 болон бусад төвөгтэй
чиглүүлэлтийн протоколуудын дэмжлэгийг <filename role="package">net/zebra</filename>
багц хангадаг. <application>&gated;</application> зэрэг арилжааны
бүтээгдэхүүнүүд бас илүү төвөгтэй сүлжээний чиглүүлэлтийн шийдлүүдэд
зориулагдсан байдаг.</para>
<indexterm><primary>BGP</primary></indexterm>
<indexterm><primary>RIP</primary></indexterm>
<indexterm><primary>OSPF</primary></indexterm>
</sect2>
<sect2>
<sect2info>
<authorgroup>
<author>
<firstname>Аль</firstname>
<surname>Хоанг</surname>
<contrib>Хувь нэмэр болгон оруулсан </contrib>
</author>
</authorgroup>
</sect2info>
<!-- Feb 2004 -->
<title>Статик чиглүүлэлтүүдийг тохируулах нь</title>
<sect3>
<title>Гар тохиргоо</title>
<para>Бид дараах сүлжээтэй байна гэж төсөөлье:</para>
<mediaobject>
<imageobject>
<imagedata fileref="advanced-networking/static-routes">
</imageobject>
<textobject>
<literallayout class="monospaced">
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
</literallayout>
</textobject>
</mediaobject>
<para>Энэ тохиолдолд <hostid>RouterA</hostid> нь Интернет уруу
гарах чиглүүлэгч маягаар ажиллаж байгаа бидний &os; машин байна.
Энэ нь анхдагч чиглүүлэлтээ <hostid role="ipaddr">10.0.0.1</hostid>
гэж тохируулсан бөгөөд ингэснээр гаднах ертөнц уруу холбогдох боломжийг
олгоно. Бид <hostid>RouterB</hostid> нь зөв тохируулагдсан бөгөөд
хаа явах хэрэгцээтэй газраа хэрхэн хүрэхээ мэддэг гэж үзэх болно. (Энэ нь
зураг дээр хялбар юм. Ердөө л <hostid>RouterB</hostid> дээр <hostid
role="ipaddr">192.168.1.1</hostid>-г гарц болгон анхдагч чиглүүлэлт
нэмнэ.)</para>
<para>Хэрэв бид <hostid>RouterA</hostid>-ийн чиглүүлэлтийн хүснэгтийг
харвал доорхтой төстэйг харах болно:</para>
<screen>&prompt.user; <userinput>netstat -nr</userinput>
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</screen>
<para>Энэ үеийн чиглүүлэлтийн хүснэгттэй байхад <hostid>RouterA</hostid> нь
бидний Internal Net 2 буюу дотоод сүлжээ 2 уруу хүрч чадахгүй байх болно.
Энэ нь <hostid role="ipaddr">192.168.2.0/24</hostid>-ийн хувьд
чиглүүлэлтгүй байна. Үүнийг арилгах нэг арга нь гараар чиглүүлэлт нэмэх явдал юм.
Дараах тушаал нь <hostid>RouterA</hostid>-ийн чиглүүлэлтийн хүснэгтэд
<hostid role="ipaddr">192.168.1.2</hostid>-г дараагийн зөрлөг (hop)
болгон ашиглан Internal Net 2 сүлжээг нэмэх болно:</para>
<screen>&prompt.root; <userinput>route add -net 192.168.2.0/24 192.168.1.2</userinput></screen>
<para>Одоо <hostid>RouterA</hostid> нь <hostid role="ipaddr">192.168.2.0/24</hostid>
сүлжээн дэх дурын хост уруу хүрч чадна.</para>
</sect3>
<sect3>
<title>Байнгын тохиргоо</title>
<para>Дээрх жишээ нь ажиллаж байгаа систем дээр статик чиглүүлэлтийг
тохируулахад төгс төгөлдөр юм. Гэхдээ нэг асуудал нь таны &os; машин
дахин ачаалахад чиглүүлэлтийн мэдээлэл үлдэхгүй байх явдал юм.
Статик чиглүүлэлтийг байнга байлгахын тулд түүнийг <filename>/etc/rc.conf</filename>
файлд нэмнэ:</para>
<programlisting># Add Internal Net 2 as a static route
static_routes="internalnet2"
route_internalnet2="-net 192.168.2.0/24 192.168.1.2"</programlisting>
<para><literal>static_routes</literal> тохиргооны хувьсагч нь
зайгаар тусгаарлагдсан үгнүүдийн жагсаалт юм. Үг бүр чиглүүлэлтийн нэрийг
заана. Бидний жишээн дээр <literal>static_routes</literal> мөрөнд
бид зөвхөн нэг үгтэй байна. Энэ нь <replaceable>internalnet2</replaceable>
юм. Бид дараа нь &man.route.8; тушаалд өгөх бүх тохиргооны нэмэлт өгөгдлүүдийг
<literal>route_<replaceable>internalnet2</replaceable></literal>
гэгдсэн тохиргооны хувьсагчийн хамтаар нэмнэ. Бидний жишээний хувьд бид ийм
тушаал ашиглаж болно:</para>
<screen>&prompt.root; <userinput>route add -net 192.168.2.0/24 192.168.1.2</userinput></screen>
<para>тэгэхээр бидэнд <literal>"-net 192.168.2.0/24 192.168.1.2"</literal> хэрэгтэй.</para>
<para>Дээр дурдсанаар бид <literal>static_routes</literal> мөрөнд нэгээс
илүү үгс оруулж болно. Энэ нь бидэнд олон статик чиглүүлэлтүүд үүсгэх боломжийг
олгоно. Дараах мөрүүд нь <hostid role="ipaddr">192.168.0.0/24</hostid> болон <hostid
role="ipaddr">192.168.1.0/24</hostid> сүлжээний хувьд статик чиглүүлэлтүүдийг
санаандаа төсөөлсөн чиглүүлэгч дээрээ нэмж байгаа жишээг үзүүлж байна:</para>
<programlisting>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"</programlisting>
</sect3>
</sect2>
<sect2>
<title>Чиглүүлэлтийн тархалт</title>
<indexterm><primary>чиглүүлэлтийн тархалт</primary></indexterm>
<para>Бид гаднах ертөнц уруу чиглэсэн өөрсдийн чиглүүлэлтүүдийг хэрхэн тодорхойлох
талаар ярилцсан боловч гаднах ертөнц хэрхэн биднийг олох талаар хэлэлцээгүй билээ.</para>
<para>Чиглүүлэлтийн хүснэгтүүдийг тухайн нэг хаягийн талбарын (бидний жишээн дээр
C ангилалын дэд сүлжээ) бүх урсгал тэр сүлжээний тухайн нэг хост уруу илгээгдэж тэр нь
пакетуудыг дотогшоо дамжуулдагаар тохируулж болно гэдгийг бид мэдэж байгаа билээ.</para>
<para>Та өөрийн сайтдаа заагдсан хаягийн талбарыг авах үед таны үйлчилгээ үзүүлэгч
өөрсдийн чиглүүлэлтийн хүснэгтүүдийг таны дэд сүлжээнд зориулагдсан бүх урсгал
таны PPP холбоосоор таны сайт уруу илгээгддэгээр тохируулах болно. Гэхдээ улс даяар
байх бусад сайтууд таны ISP уруу илгээхээ яаж мэдэх вэ?</para>
<para>Бүх заагдсан хаягийн талбаруудыг хянаж Интернэтийн үндсэн сүлжээ уруу холбогдох
холболтын цэгийг тодорхойлдог систем (тараагдсан DNS-ийн мэдээлэлтэй бараг адил)
байдаг. <quote>Backbone</quote> буюу <quote>гол нуруу (үндсэн сүлжээ)</quote>
нь улс даяар болон дэлхий даяар Интернетийн урсгалыг зөөвөрлөж байдаг гол шугамнууд
юм. Гол нуруу машин бүр мастер хүснэгтүүдийн хуулбартай байдаг бөгөөд эдгээр хүснэгтүүд нь
тухайн нэг сүлжээнд зориулсан урсгалыг онцгой гол нуруу зөөвөрлөгч уруу чиглүүлж
тэндээсээ доош бусад үйлчилгээ үзүүлэгчдээр дамжин таны сүлжээнд хүрдэг.</para>
<para>Үндсэн (гол нуруу) сайтууд уруу зарлаж тэдгээр нь таны сайтын хувьд холболтын цэг
(буюу орох зам) гэж тодорхойлох нь таны үйлчилгээ үзүүлэгчийн үүрэг юм. Үүнийг чиглүүлэлтийн
тархалт гэж нэрлэдэг.</para>
</sect2>
<sect2>
<title>Алдааг олж засварлах</title>
<indexterm>
<primary><command>traceroute</command></primary>
</indexterm>
<para>Заримдаа чиглүүлэлтийн тархалт асуудалтай бөгөөд зарим нэгэн сайтууд өөр уруу
чинь холбогдож чадахгүй байж болно. Чиглүүлэлт хаана ажиллахгүй болж байгааг
олоход тус болох магадгүй хамгийн ашигтай тушаал нь &man.traceroute.8; тушаал
юм. Хэрэв та алсын машин уруу холбогдож чадахгүй юм шиг байвал (өөрөөр хэлбэл
&man.ping.8; амжилтгүй болвол) энэ нь бас адил ашигтай байдаг.</para>
<para>&man.traceroute.8; тушаалыг таны холбогдохыг оролдож байгаа алсын
хостын нэртэй ажиллуулдаг. Энэ нь гарц хостуудыг оролдлого хийж байгаа замын
хамтаар харуулдаг бөгөөд эцсийн хост уруу хүрэх юм уу эсвэл холболтын асуудлаас болоод
эцсийн хост уруугаа хүрэлгүйгээр ажиллаж дуусдаг.</para>
<para>Дэлгэрэнгүй мэдээллийг &man.traceroute.8;-ийн гарын авлагын хуудаснаас
үзнэ үү.</para>
</sect2>
<sect2>
<title>Multicast чиглүүлэлт хийх</title>
<indexterm>
<primary>multicast чиглүүлэлт хийх</primary>
</indexterm>
<indexterm>
<primary>цөмийн тохируулгууд</primary>
<secondary>MROUTING</secondary>
</indexterm>
<para>FreeBSD нь multicast програмууд болон multicast чиглүүлэлтийг
угаасаа дэмждэг. Multicast програмууд нь FreeBSD-ийн ямар нэг тусгай
тохиргоо шаарддаггүй; програмууд нь шууд л ажилладаг. Multicast
чиглүүлэлт нь дэмжлэгийг цөмд эмхэтгэхийг шаарддаг:</para>
<programlisting>options MROUTING</programlisting>
<para>Мөн multicast чиглүүлэлтийн демон &man.mrouted.8; нь
туннелууд болон <acronym>DVMRP</acronym>-г үүсгэхээр
<filename>/etc/mrouted.conf</filename> файлын тусламжтай
тохируулагдсан байх ёстой. Multicast тохиргооны талаарх дэлгэрэнгүй
мэдээллийг &man.mrouted.8;-ийн гарын авлагын хуудаснаас олж
болно.</para>
</sect2>
</sect1>
<sect1 id="network-wireless">
<sect1info>
<authorgroup>
<author>
<othername>Loader</othername>
</author>
<author>
<firstname>Марк</firstname>
<surname>Фонвил</surname>
</author>
<author>
<firstname>Мюррэй</firstname>
<surname>Стөүкли</surname>
</author>
</authorgroup>
</sect1info>
<title>Утасгүй сүлжээ</title>
<indexterm><primary>утасгүй сүлжээ</primary></indexterm>
<indexterm>
<primary>802.11</primary>
<see>утасгүй сүлжээ</see>
</indexterm>
<sect2>
<title>Утасгүй сүлжээний үндсүүд</title>
<para>Ихэнх утасгүй сүлжээнүүд нь IEEE 802.11 стандартууд дээр үндэслэсэн
байдаг. Үндсэн утасгүй сүлжээ нь 2.4GHz юм уу эсвэл 5GHz-ийн зурваст
цацдаг радио долгионоор холбогддог олон станцуудаас тогтдог (энэ нь орон
нутгаас хамаарч өөр өөр байдаг бөгөөд 2.3GHz-с 4.9GHz-ийн хүрээнд холбоог
идэвхжүүлэхээр өөрчлөгдөж байгаа).</para>
<para>802.11 сүлжээ нь хоёр аргаар зохион байгуулагддаг:
<emphasis>дэд бүтцийн горим</emphasis>д нэг станц мастер маягаар ажиллаж
бусад станцууд нь түүнтэй холбогддог; энэ сүлжээг BSS гэдэг бөгөөд мастер
станц нь хандалтын цэг (access point)(AP) гэгддэг. BSS-т бүх холбоо AP-р
дамждаг; нэг станц өөр нэг утасгүй станцтай холбоо тогтоохыг хүссэн байсан ч гэсэн
мэдэгдлүүд нь AP-р дамжих ёстой байдаг. Хоёр дахь хэлбэрийн сүлжээнд
мастер байдаггүй бөгөөд станцууд нь шууд холбогддог. Энэ сүлжээний хэлбэрийг
IBSS гэдэг бөгөөд бас <emphasis>ad-hoc сүлжээ</emphasis> гэгддэг.</para>
<para>802.11 сүлжээнүүд нь 2.4GHz-ийн зурваст IEEE 802.11 болон 802.11b
стандартуудаар тодорхойлогдсон протоколуудыг ашиглан эхлэн хийгдэж байсан.
Эдгээр тодорхойлолтууд нь ажиллах давтамжууд, хүрээ хийх болон дамжуулах хурд
(холболт төрөл бүрийн хурдаар хийгдэж болно) зэрэг MAC давхаргын үзүүлэлтүүдийг
агуулдаг. Сүүлд 802.11a стандарт нь өөр дохионы арга замууд болон илүү өндөр дамжуулах
хурдууд зэрэг 5GHz-ийн зурвасын ажиллагааг тодорхойлсон билээ. Мөн дараа нь
802.11b сүлжээнүүдтэй буцаж нийцтэй байхаар 802.11a дохионы хэрэглээ болон
2.4GHz-ийн зурваст дамжуулах арга замуудыг идэвхжүүлж 802.11g стандарт
тодорхойлогдсон байна.</para>
<para>Суурь болсон дамжуулах техникүүдээс гадна 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-д шаардагддаггүй, учир нь үүнийг хуучин тоног төхөөрөмж дээр хийхэд
тооцооллын хувьд өртөгтэй гэж үздэг.)</para>
<para>Дээрх протоколын стандартуудаас гадна мэдэж байх өөр нэг чухал стандарт
бол 802.11e юм. Энэ нь 802.11 сүлжээнд видео дамжуулах, IP дээгүүрх
дуу (VoIP) зэрэг мультимедиа хэрэглээнүүдэд шаардлагатай протоколуудыг
тодорхойлдог. 802.11i-тай адил 802.11e нь үйлдвэрлэлийн бүлгээс
802.11e-ийн дэд олонлог гэж тодорхойлсон, 802.11e-г батлахыг хүлээж байх
хугацаанд мультимедиа хэрэглээнүүдийг идэвхжүүлэхэд ашиглаж болох
WME (сүүлд WMM) гэгдсэн урьдчилсан тодорхойлолт байдаг.
802.11e болон WME/WMM-ийн талаар мэдэх ёстой хамгийн чухал зүйл нь
утасгүй сүлжээний зэрэглэл тогтоогдсон урсгалын хэрэглээг Quality of Service
(QoS) буюу үйчилгээний чанарын протоколууд болон өргөтгөсөн зөөвөрлөгчийн
хандалтын протоколуудын тусламжтайгаар идэвхжүүлдэг явдал юм. Эдгээр
протоколуудын зөв шийдэл нь өгөгдлийн өндөр хурдтай тэсрэлт болон зэрэглэл
тогтоогдсон урсгалыг идэвхжүүлдэг.</para>
<para>6.0 хувилбараас эхлээд &os; нь 802.11a, 802.11b, болон 802.11g-г
ашиглан ажилладаг сүлжэнүүдийг дэмждэг. WPA болон 802.11i аюулгүй байдлын
протоколууд нь адилхан (11a, 11b, болон 11g-тэй цуг) дэмжигдсэн байдаг
бөгөөд WME/WMM протоколуудын шаарддаг QoS болон урсгалын зэрэглэлт нь
хязгааргүй тооны утасгүй төхөөрөмжүүдэд дэмжигдсэн байдаг.</para>
</sect2>
<sect2 id="network-wireless-basic">
<title>Үндсэн тохируулга</title>
<sect3>
<title>Цөмийн тохиргоо</title>
<para>Утасгүй сүлжээг ашиглахын тулд танд утасгүй сүлжээний карт болон
цөмийг тохирох утасгүй сүлжээний дэмжлэгтэйгээр тохируулах хэрэгтэй
болно. Сүүлийнх нь олон модулиудад хуваагддаг. Тэгэхээр танд
зөвхөн өөрийнхөө ашиглах програм хангамжийг тохируулах хэрэгтэй болох
юм.</para>
<para>Танд эхлээд хэрэг болох зүйл нь утасгүй сүлжээний төхөөрөмж
юм. Хамгийн түгээмэл хэрэглэгддэг төхөөрөмжүүд нь Atheros-ийн
хийдэг хэсгүүдийг ашигладаг төхөөрөмжүүд байдаг. Эдгээр төхөөрөмжүүд нь
&man.ath.4; драйвераар дэмжигддэг бөгөөд <filename>/boot/loader.conf</filename>
файлд дараах мөрийг нэмэхийг шаарддаг:</para>
<programlisting>if_ath_load="YES"</programlisting>
<para>Atheros драйвер нь гурван тусдаа хэсэгт хуваагддаг: эдгээр нь зөв драйвер
(&man.ath.4;), бичил схемийн функцүүдийг зохицуулдаг, тоног төхөөрөмжийн
дэмжлэгийн давхарга (&man.ath.hal.4;), болон хүрээнүүдийг дамжуулахын
тулд хэд хэдэн боломжит хурдуудаас (энд ath_rate_sample) сонгох алгоритм юм.
Та энэ дэмжлэгийг модул хэлбэрээр дуудах үед түүнтэй хамааралтай зүйлс
автоматаар зохицуулагдах болно. Хэрэв танд Atheros төхөөрөмжийн оронд
өөр төхөөрөмж байгаа бол та тэр төхөөрөмжид зориулсан модулийг сонгох юм,
өөрөөр хэлбэл:</para>
<programlisting>if_wi_load="YES"</programlisting>
<para>гэж Intersil Prism хэсгүүд дээр суурилсан төхөөрөмжүүдийн
хувьд хийж өгнө (&man.wi.4; driver).</para>
<note>
<para>Энэ баримтын үлдсэн хэсэгт бид &man.ath.4; төхөөрөмжийг ашиглах
бөгөөд жишээнүүд дээрх төхөөрөмжийн нэр таны тохиргооны дагуу
өөрчлөгдөх ёстой. Байгаа утасгүй драйверуудын жагсаалтыг
&man.wlan.4; гарын авлагын хуудасны эхнээс олж болно. Таны
утасгүй төхөөрөмжид зориулагдсан &os;-ийн драйвер байхгүй бол магадгүй
&windows; драйверийг <link
linkend="config-network-ndis">NDIS</link>
драйверийн гүйцэтгэл хялбаршуулагчийн тусламжтай шууд ашиглаж
болох юм.</para>
</note>
<para>Төхөөрөмжийн драйверийг тохируулсныхаа дараа та драйверийн шаарддаг
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; дэмжлэг
ерөөсөө хэрэггүй. Эдгээр модулиудыг ачаалах үед дуудахын тулд дараах мөрүүдийг
<filename>/boot/loader.conf</filename> файлд нэмнэ:</para>
<programlisting>wlan_wep_load="YES"
wlan_ccmp_load="YES"
wlan_tkip_load="YES"</programlisting>
<para>Системийн эхлүүлэх тохиргооны файлд (өөрөөр хэлбэл
<filename>/boot/loader.conf</filename>) ийм мэдээлэлтэйгээр та өөрийн
&os; хайрцгийг дахин ачаалах хэрэгтэй. Хэрэв та өөрийн машиныг дахин ачаалахыг
хүсэхгүй байгаа бол та модулиудыг &man.kldload.8;-ийн тусламжтайгаар
гараар дуудаж болно.</para>
<note>
<para>Хэрэв та модулиудыг ашиглахыг хүсэхгүй байгаа бол дараах мөрүүдийг өөрийн
цөмийн тохиргооны файлд нэмж эдгээр драйверуудыг цөмд эмхэтгэж болно:</para>
<programlisting>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</programlisting>
<para>Цөмийн тохиргооны файлдаа ийм мэдээлэлтэйгээр цөмөө дахин эмхэтгээд
өөрийн &os; машиныг дахин ачаалах хэрэгтэй.</para>
</note>
<para>Систем ассаны дараа ачаалах үеийн мэдэгдлүүдэд үүнтэй адил
утасгүй төхөөрөмжийн талаарх зарим мэдээллийг олж болно:</para>
<screen>ath0: &lt;Atheros 5212&gt; 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</screen>
</sect3>
</sect2>
<sect2>
<title>Дэд бүтцийн горим</title>
<para>Дэд бүтцийн горим буюу BSS горим нь ихэвчлэн ашиглагддаг горим юм.
Энэ горимд утасгүй хандалтын цэгүүд нь утастай сүлжээнд холбогдсон байдаг.
Утасгүй сүлжээ бүр өөрийн нэртэй байдаг бөгөөд энэ нэр нь сүлжээний SSID
гэгддэг. Утасгүй клиентүүд нь утасгүй хандалтын цэгүүдэд холбогддог.</para>
<sect3>
<title>&os; клиентүүд</title>
<sect4>
<title>Хандалтын цэгүүдийг хэрхэн олох вэ</title>
<para>Сүлжээнүүдийг хайхын тулд <command>ifconfig</command>
тушаалыг ашиглана. Энэ хүсэлт нь хэсэг хором болж болох бөгөөд
боломжтой утасгүй давтамж бүр уруу шилжиж, байгаа хандалтын
цэгүүдийг шалгахыг системээс шаарддаг. Зөвхөн супер хэрэглэгч
ийм хайлт эхлүүлж чадна:</para>
<screen>&prompt.root; <userinput>ifconfig <replaceable>ath0</replaceable> up scan</userinput>
SSID BSSID CHAN RATE S:N INT CAPS
dlinkap 00:13:46:49:41:76 6 54M 29:0 100 EPS WPA WME
freebsdap 00:11:95:c3:0d:ac 1 54M 22:0 100 EPS WPA</screen>
<note>
<para>Та хайлт хийхээсээ өмнө интерфэйсээ <option>up</option> болгож
тэмдэглэх ёстой. Дараа дараагийн хайлтын хүсэлтүүд интерфэйсийг
up болгож тэмдэглэхийг шаарддаггүй.</para>
</note>
<para>Хайлтын хүсэлтийн гаралт олсон BSS/IBSS сүлжээ бүрийг
харуулдаг. Сүлжээний нэр <literal>SSID</literal>-с
гадна хандалтын цэгийн MAC хаяг болох <literal>BSSID</literal>-г
бид харах болно. <literal>CAPS</literal> талбар нь сүлжээ бүрийн
төрөл болон тэнд ажиллаж байгаа станцуудын боломжуудыг заана:</para>
<variablelist>
<varlistentry>
<term><literal>E</literal></term>
<listitem>
<para>Extended Service Set (ESS) буюу өргөтгөсөн үйлчилгээний олонлог.
Станц нь дэд бүтцийн сүлжээний хэсэг гэдгийг харуулна
(IBSS/ad-hoc сүлжээтэй харьцуулах юм бол ).</para>
</listitem>
</varlistentry>
<varlistentry>
<term><literal>I</literal></term>
<listitem>
<para>IBSS/ad-hoc сүлжээ. Станц нь ad-hoc сүлжээний хэсэг гэдгийг
харуулна (ESS сүлжээтэй харьцуулах юм бол).</para>
</listitem>
</varlistentry>
<varlistentry>
<term><literal>P</literal></term>
<listitem>
<para>Хувийн нууц. BSS-ийн дотор солилцож байгаа өгөгдлийн бүх
хүрээнүүдэд өгөгдлийн нууц байдал шаардлагатай байдаг. Энэ BSS нь
бусадтай солилцох өгөгдлийн хүрээнүүдийг шифрлэх/буцаах
WEP, TKIP эсвэл AES-CCMP зэрэг криптограф ашиглахыг станцаас
шаарддаг гэсэн үг юм.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><literal>S</literal></term>
<listitem>
<para>Богино оршил (preamble). Сүлжээ богино оршлуудыг
(802.11b өндөр хурд/DSSS PHY-д тодорхойлогдсоноор богино
оршил нь урт оршилд ашиглагддаг 128 бит талбартай харьцуулах юм бол
56 бит sync талбарыг хэрэглэдэг) ашиглаж байгааг харуулдаг.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><literal>s</literal></term>
<listitem>
<para>Богино слот (ангархай) хугацаа. 802.11g сүлжээ хуучин
(802.11b) станцууд байхгүй байгаа учраас богино слот хугацааг
хэрэглэж байгааг харуулна.</para>
</listitem>
</varlistentry>
</variablelist>
<para>Мэдэгдэж байгаа сүлжээнүүдийн одоогийн жагсаалтыг бас доорх
тушаалаар харуулж болно:</para>
<screen>&prompt.root; <userinput>ifconfig <replaceable>ath0</replaceable> list scan</userinput></screen>
<para>Энэ мэдээллийг автоматаар хувиргагчаар (adapter) эсвэл гараар
<option>scan</option> хүсэлтийн тусламжтай шинэчилж болно.
Хуучин өгөгдөл кэшээс автоматаар арилгагдах болохоор хэсэг хугацаа
өнгөрсний дараа нэмэлт хайлтууд хийхгүй л бол энэ жагсаалт багасаж
болох юм.</para>
</sect4>
<sect4>
<title>Үндсэн тохиргоонууд</title>
<para>Энэ хэсэгт &os; дээр утасгүй сүлжээний хувиргагчийг шифрлэлтгүйгээр
хэрхэн ажиллуулахыг харуулсан энгийн жишээг үзүүлнэ. Эдгээр ойлголтуудыг
мэддэг болсныхоо дараа өөрийнхөө утасгүй сүлжээг тохируулахдаа
<link linkend="network-wireless-wpa">WPA</link>-г ашиглахыг
бид тууштай зөвлөж байна.</para>
<para>Утасгүй сүлжээг тохируулах гурван үндсэн алхам байдаг: эдгээрт хандалтыг цэгийг
сонгох, өөрийн станцийг таниулж нэвтрүүлэх, болон IP хаягийг тохируулах
багтана. Дараах хэсэг алхам бүрийг хэлэлцэнэ.</para>
<sect5>
<title>Хандалтын цэгийг сонгох нь</title>
<para>Ихэнх тохиолдолд систем өөртөө бүтээгдсэн гүнзгийрүүлэн шалгах аргаа
(heuristic) ашиглан хандалтын цэгийг сонгохыг нь зөвшөөрөх хангалттай байдаг.
Таныг интерфэйсийг up гэж тэмдэглэх үед энэ нь анхдагч байх бөгөөд хэрэв
үгүй бол интерфэйсийг <filename>/etc/rc.conf</filename> файлд
жагсаан тохируулна, өөрөөр хэлбэл:</para>
<programlisting>ifconfig_ath0="DHCP"</programlisting>
<para>Хэрэв олон хандалтын цэгүүд байгаа бөгөөд та тухайн нэгийг сонгохыг
хүсвэл түүнийг SSID-аар нь сонгож болно:</para>
<programlisting>ifconfig_ath0="ssid <replaceable>your_ssid_here</replaceable> DHCP"</programlisting>
<para>Адил SSID-тай олон хандалтын цэгүүд байгаа орчинд (роуминг-ийг
(тэнүүчлэх) хялбар болгохын тулд ихэвчлэн хийдэг) аль нэг тухайн
төхөөрөмж уруу холбогдох шаардлагатай болж болох юм. Энэ тохиолдолд
та хандалтын цэгийн BSSID-ийг зааж өгч бас болох юм (та бас SSID-ийг
үлдээж болно):</para>
<programlisting>ifconfig_ath0="ssid <replaceable>your_ssid_here</replaceable> bssid <replaceable>xx:xx:xx:xx:xx:xx</replaceable> DHCP"</programlisting>
<para>Системийн хайлт хийх давтамжуудын олонлогийг хязгаарлах зэрэг хандалтын
цэгийн сонголтыг шаардах өөр аргууд байдаг.Та олон зурвасын
утасгүй сүлжээний карттай байх тохиолдолд энэ нь ашигтай байдаг. Ийм
тохиолдолд бүх боломжит сувгуудыг хайх нь цаг хугацаа шаардсан
ажил байдаг. Ажиллагааг тухайн нэг зурвас дээр хязгаарлахын тулд
<option>mode</option> параметрийг та ашиглаж болно, өөрөөр
хэлбэл:</para>
<programlisting>ifconfig_ath0="mode <replaceable>11g</replaceable> ssid <replaceable>your_ssid_here</replaceable> DHCP"</programlisting>
<para>нь картыг 2.4GHz давтамжуудын хувьд тодорхойлогдсон 802.11g горимд
картыг ажиллуулах бөгөөд бусад 5GHz-ийн сувгуудыг авч үзэхгүй байх
болно. Үүнийг хийх өөр нэг арга нь ажиллагааг тухайн нэг давтамжид
түгжих <option>channel</option> параметр болон
хайлт хийхдээ сувгуудын жагсаалтыг заах <option>chanlist</option>
параметрийг ашиглах явдал юм. Эдгээр параметрүүдийн талаарх дэлгэрэнгүй
мэдээллийг &man.ifconfig.8; гарын авлагын хуудаснаас лавлана уу.</para>
</sect5>
<sect5>
<title>Нэвтрэлт танилт</title>
<para>Хандалтын цэгийг сонгосны дараа таны станц өгөгдөл дамжуулахаа
өмнө өөрийгөө таниулан нэвтрэх хэрэгтэй. Нэвтрэлт танилт хэд хэдэн
аргаар хийгдэж болно. Ашиглагддаг хамгийн түгээмэл схем бол
нээлттэй нэвтрэлт танилт гэгддэг бөгөөд энэ нь дурын станц сүлжээнд нэгдэж
холбогдохыг зөвшөөрдөг. Энэ нь эхний удаа утасгүй сүлжээг тохируулж байхдаа
тестийн зорилгоор таны ашиглах ёстой нэвтрэлт танилт юм. Бусад
схемүүд нь өгөгдлийн урсгал эхлэхээс өмнө криптограф мэдээлэл
солилцоо хийгдэхийг шаарддаг; урьдчилсан хуваалцсан түлхүүрүүд эсвэл
нууц үгс ашиглах эсвэл RADIUS зэрэг арын үйлчилгээнүүдийг ашигладаг
илүү төвөгтэй схемүүд зэргийг дурдаж болно. Ихэнх хэрэглэгчид
нээлттэй нэвтрэлт танилт ашиглах бөгөөд энэ нь анхдагч тохиргоо
байдаг. Дараагийн хамгийн түгээмэл тохируулга бол WPA-PSK бөгөөд энэ нь
бас WPA Personal гэгддэг. Энэ тохируулга <link
linkend="network-wireless-wpa-wpa-psk">доор</link> тайлбарлагдсан
байгаа.</para>
<note>
<para>Хэрэв танд хандалтын цэгт зориулсан &apple; &airport; Extreme дээр
суурилсан үндсэн станц байгаа бол WEP түлхүүртэй хамт хуваалцсан түлхүүрийг
тохируулах хэрэгтэй болж болох юм. Үүнийг <filename>/etc/rc.conf</filename>
файл эсвэл &man.wpa.supplicant.8; програмыг ашиглан хийж болно.
Хэрэв та ганц &airport; үндсэн станцтай бол хандалтыг иймэрхүүгээр хийж
өгч болно:</para>
<programlisting>ifconfig_ath0="authmode shared wepmode on weptxkey <replaceable>1</replaceable> wepkey <replaceable>01234567</replaceable> DHCP"</programlisting>
<para>Ерөнхийдээ хуваалцсан түлхүүр бүхий нэвтрэлт танилтыг
ашиглахаас зайлсхийх хэрэгтэй, яагаад гэвэл WEP түлхүүрийн
материалыг их хүчилсэн хэлбэрээр ашигладаг нь түлхүүрийг
эвдэх боломжийг илүү амархан болгодог. Хэрэв WEP ашиглагдах
ёстой бол (өөрөөр хэлбэл хуучин төхөөрөмжтэй нийцтэй байх үүднээс)
WEP-ийг <literal>open</literal> буюу нээлттэй нэвтрэлт
танилттай цуг ашиглах нь зүйтэй юм. WEP-ийн талаар дэлгэрэнгүй
мэдээллийг <xref
linkend="network-wireless-wep">-с олж болно.</para>
</note>
</sect5>
<sect5>
<title>DHCP-ээр IP хаяг авах</title>
<para>Хандалтын цэгийг сонгож нэвтрэлт танилтын параметрүүдийг тохируулсны
дараа холбогдохын тулд та IP хаяг авах хэрэгтэй болно. Та өөрийн утасгүй
IP хаягийг ихэвчлэн DHCP-ээр авах болно. Ингэхийн тулд ердөө л
<filename>/etc/rc.conf</filename> файлыг засварлаж
дээрх жишээн дээр үзүүлсэн шиг өөрийн төхөөрөмжийн тохиргоонд зориулж
<literal>DHCP</literal> гэж нэмж өгнө:</para>
<programlisting>ifconfig_ath0="DHCP"</programlisting>
<para>Энэ хүрэхэд та утасгүй интерфэйсээ ажиллуулахад бэлэн байх болно:</para>
<screen>&prompt.root; <userinput>/etc/rc.d/netif start</userinput></screen>
<para>Интерфэйс ажиллаж эхэлсний дараа <devicename>ath0</devicename>
интерфэйсийн төлөвийг үзэхийн тулд <command>ifconfig</command>
тушаалыг ашиглана:</para>
<screen>&prompt.root; <userinput>ifconfig <replaceable>ath0</replaceable></userinput>
ath0: flags=8843&lt;UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST&gt; 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</screen>
<para><literal>status: associated</literal> мөр нь
таныг утасгүй сүлжээнд (бидний тохиолдолд <literal>dlinkap</literal>
сүлжээ уруу) холбогдсон гэдгийг харуулж байна.
<literal>bssid 00:13:46:49:41:76</literal> хэсэг нь
таны хандалтын цэгийн MAC хаяг юм; <literal>authmode</literal> мөр нь
холболт шифрлэгдээгүй гэдгийг танд харуулж байна
(<literal>OPEN</literal>).</para>
</sect5>
<sect5>
<title>Статик IP хаяг</title>
<para>DHCP серверээс IP хаяг авч чадахгүй тохиолдолд тогтмол IP хаяг
та тавьж болно. Дээр үзүүлсэн <literal>DHCP</literal> гэсэн
түлхүүр үгийг хаягийн мэдээллээр солих хэрэгтэй. Хандалтын цэгийг
сонгохдоо хэрэглэсэн бусад параметрүүдийг үлдээхээ мартуузай:</para>
<programlisting>ifconfig_ath0="inet <replaceable>192.168.1.100</replaceable> netmask <replaceable>255.255.255.0</replaceable> ssid <replaceable>your_ssid_here</replaceable>"</programlisting>
</sect5>
<sect4 id="network-wireless-wpa">
<title>WPA</title>
<para>WPA (Wi-Fi Protected Access буюу Wi-Fi Хамгаалагдсан Хандалт) нь
<link linkend="network-wireless-wep">WEP</link>-ийн
сул тал болон зөв нэвтрэлт танилтын дутмаг байдлыг арилгах зорилгоор
802.11 сүлжээнүүдэд цуг ашиглагддаг аюулгүй байдлын протокол
юм. WPA нь 802.1X нэвтрэлт танилтын протоколыг хөшүүрэгддэг бөгөөд өгөгдлийн
бүрэн бүтэн байдалд зориулж WEP-ийн оронд хэд хэдэн шифрүүдийн
нэгийг ашигладаг. WPA-ийн шаарддаг цорын ганц шифр бол TKIP
(Temporary Key Integrity Protocol) бөгөөд энэ нь
бүрэн бүтэн байдал шалгалт, хуурамч үйлдлийг илрүүлэлт болон илрүүлсэн
халдлагуудад хариулахад зориулсан арга хэмжээнүүдийг WEP-ийн ашигладаг
үндсэн RC4 шифрт нэмэн өргөтгөсөн шифр юм. TKIP нь хуучин тоног төхөөрөмж дээр
зөвхөн програм хангамжийн өөрчлөлттэйгээр ажиллахаар хийгдсэн;
энэ нь аюулгүй байдлыг сайжруулдаг боловч хадлагаас бүрэн гүйцэд
хамгаалж чаддаггүй. WPA нь TKIP-г орлуулж AES-CCMP шифрийг
бас заадаг бөгөөд боломжтой тохиолдолд үүнийг хэрэглэхийг
урьтал болгодог; энэ тодорхойлолтод WPA2 (эсвэл RSN) гэсэн
ухагдахуун нийтлэг ашиглагддаг.</para>
<para>WPA нь нэвтрэлт танилт болон шифрлэлтийн протоколуудыг
тодорхойлдог. Нэвтрэлт танилт нь хоёр техникийн аль нэгээр
ихэвчлэн хийгддэг: 802.1X болон RADIUS зэрэг арын
нэвтрэлт танилтын үйлчилгээгээр эсвэл урьдчилан хуваалцсан нууц үг
ашиглан станц болон хандалтын хооронд хамгийн багаар мэдээлэл солилцох
(handshake) замаар хийгддэг. Эхнийх нь ихэвчлэн WPA Enterprise,
сүүлийнх нь WPA Personal гэгддэг. Ихэнх хүмүүс утасгүй сүлжээнд
зориулж арын RADIUS сервер тохируулдаггүй учир WPA-PSK нь
WPA-д зориулсан хамгийн түгээмэл тохиолддог тохиргоо юм.</para>
<para>Утасгүй холболтын хяналт болон нэвтрэлт танилт (түлхүүрийн
тохиролцоо эсвэл сервертэй хийх нэвтрэлт танилт) нь
&man.wpa.supplicant.8; хэрэгслээр хийгддэг. Энэ програм нь
ажиллахын тулд <filename>/etc/wpa_supplicant.conf</filename>
тохиргооны файл шаарддаг. Энэ файлын талаар дэлгэрэнгүй
мэдээллийг &man.wpa.supplicant.conf.5; гарын авлагын хуудаснаас
олж болно.</para>
<sect5 id="network-wireless-wpa-wpa-psk">
<title>WPA-PSK</title>
<para>WPA-PSK нь бас WPA Personal гэгддэг бөгөөд өгөгдсөн нууц үгээс үүсгэгдсэн
pre-shared key буюу (PSK) урьдчилан хуваалцсан түлхүүр дээр суурилдаг
бөгөөд утасгүй сүлжээнд мастер түлхүүр болон ашиглагддаг. Энэ нь
утасгүй хэрэглэгч бүр адил түлхүүрийг хуваалцана гэсэн үг юм.
WPA-PSK нь нэвтрэлт танилтын сервер хэрэглэх боломжгүй эсвэл шаардлагагүй
жижиг сүлжээнүүдэд зориулагдсан юм.</para>
<warning>
<para>Хангалттай урт, төрөл бүрийн тэмдэгтүүдээс бүтсэн, таах буюу/эсвэл халдах
боломжгүй хэцүү нууц үгсийг үргэлж ашиглах хэрэгтэй.</para>
</warning>
<para>Эхний алхам нь <filename>/etc/wpa_supplicant.conf</filename>
файлыг өөрийн сүлжээний SSID болон урьдчилан хуваалцсан түлхүүрээр
тохируулах явдал юм:</para>
<programlisting>network={
ssid="freebsdap"
psk="freebsdmall"
}</programlisting>
<para>Дараа нь бид <filename>/etc/rc.conf</filename> файлд
утасгүй төхөөрөмжийн тохиргоо WPA-аар хийгдэж IP хаяг DHCP-ээс
авагдана гэдгийг зааж өгнө:</para>
<programlisting>ifconfig_ath0="WPA DHCP"</programlisting>
<para>Дараа нь бид интерфэйсийг босгож ажиллуулна:</para>
<screen>&prompt.root; <userinput><filename>/etc/rc.d/netif</filename> start</userinput>
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&lt;UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST&gt; 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</screen>
<para>Эсвэл та үүнийг гараар <link
linkend="network-wireless-wpa-wpa-psk">дээрх</link>
<filename>/etc/wpa_supplicant.conf</filename> ашиглан
хийж дараахийг ажиллуулж болно:</para>
<screen>&prompt.root; <userinput>wpa_supplicant -i <replaceable>ath0</replaceable> -c /etc/wpa_supplicant.conf</userinput>
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]</screen>
<para>Дараагийн үйлдэл нь DHCP серверээс IP хаяг авахын тулд
<command>dhclient</command> тушаалыг ажиллуулах явдал
юм:</para>
<screen>&prompt.root; <userinput>dhclient <replaceable>ath0</replaceable></userinput>
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; <userinput>ifconfig <replaceable>ath0</replaceable></userinput>
ath0: flags=8843&lt;UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST&gt; 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</screen>
<note>
<para>Хэрэв <filename>/etc/rc.conf</filename> файл нь
<literal>ifconfig_ath0="DHCP"</literal> мөртэй тохируулагдсан
бол <command>dhclient</command> тушаалыг гараар ажиллуулах
шаардлагагүй, <command>dhclient</command> тушаал нь
түлхүүрүүдийг <command>wpa_supplicant</command> гаргаж
авсны дараа ажиллах болно.</para>
</note>
<para>DHCP-ийн хэрэглээ боломжгүй тохиолдолд <command>wpa_supplicant</command>
станцыг таниулж нэвтрүүлсний дараа та статик IP хаяг
тохируулж болно:</para>
<screen>&prompt.root; <userinput>ifconfig <replaceable>ath0</replaceable> inet <replaceable>192.168.0.100</replaceable> netmask <replaceable>255.255.255.0</replaceable></userinput>
&prompt.root; <userinput>ifconfig <replaceable>ath0</replaceable></userinput>
ath0: flags=8843&lt;UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST&gt; 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</screen>
<para>DHCP сервер ашиглагдаагүй үед та анхдагч гарц болон
нэрийн серверийг гараар бас тохируулах хэрэгтэй болно:</para>
<screen>&prompt.root; <userinput>route add default <replaceable>your_default_router</replaceable></userinput>
&prompt.root; <userinput>echo "nameserver <replaceable>your_DNS_server</replaceable>" &gt;&gt; /etc/resolv.conf</userinput></screen>
</sect5>
<sect5 id="network-wireless-wpa-eap-tls">
<title>EAP-TLS-тэй WPA</title>
<para>WPA-г ашиглах хоёр дахь арга нь 802.1X арын нэвтрэлт танилтын
сервертэй цуг ашиглах явдал бөгөөд энэ тохиолдолд WPA-г
урьдчилан хуваалцсан түлхүүр бүхий аюулгүй байдлын хувьд арай дутуу WPA-Personal-с
ялгахын тулд WPA-Enterprise гэдэг. WPA-Enterprise дахь
нэвтрэлт танилт нь EAP (Extensible Authentication Protocol
буюу өргөтгөсөн нэвтрэлт танилтын протокол) дээр суурилдаг.</para>
<para>EAP нь шифрлэлтийн аргагүй ирдэг бөгөөд харин шифрлэгдсэн туннелийн
дотор EAP-ийг суулгахаар шийдсэн байдаг. EAP нэвтрэлт танилтын аргуудын
олон төрлүүд бүтээгдсэн бөгөөд хамгийн түгээмэл аргууд нь EAP-TLS, EAP-TTLS
болон EAP-PEAP юм.</para>
<para>EAP-TLS (EAP with Transport Layer Security) нь
<ulink url="http://www.wi-fi.org/">Wi-Fi alliance</ulink>-аас
хамгийн түрүүнд батламжлагдсан EAP арга бөгөөд утасгүй ертөнц дэх
маш сайн дэмжигдсэн нэвтрэлт танилтын протокол юм. EAP-TLS нь
ажиллахын тулд гурван сертификат шаарддаг: эдгээр нь CA сертификат (бүх машин
дээр суулгагдсан), таны нэвтрэлт танилтын серверт зориулсан сертификат,
утасгүй клиент бүрд зориулсан клиентийн сертификат юм. Энэ
EAP арга дээр нэвтрэлт танилтын сервер болон утасгүй клиент нь
өөр өөрсдийн сертификатыг бие биендээ үзүүлж нэг нэгнийгээ
танин нэвтрүүлдэг бөгөөд тэд эдгээр сертификатыг танай байгууллагын
сертификатын удирдлага (CA) олгож баталгаажуулсан болохыг
шалгадаг.</para>
<para>Урьдын адил тохиргоог <filename>/etc/wpa_supplicant.conf</filename>
файлаар хийнэ:</para>
<programlisting>network={
ssid="freebsdap" <co id="co-tls-ssid">
proto=RSN <co id="co-tls-proto">
key_mgmt=WPA-EAP <co id="co-tls-kmgmt">
eap=TLS <co id="co-tls-eap">
identity="loader" <co id="co-tls-id">
ca_cert="/etc/certs/cacert.pem" <co id="co-tls-cacert">
client_cert="/etc/certs/clientcert.pem" <co id="co-tls-clientcert">
private_key="/etc/certs/clientkey.pem" <co id="co-tls-pkey">
private_key_passwd="freebsdmallclient" <co id="co-tls-pwd">
}</programlisting>
<calloutlist>
<callout arearefs="co-tls-ssid">
<para>Энэ талбар нь сүлжээний нэрийг заана
(SSID).</para>
</callout>
<callout arearefs="co-tls-proto">
<para>Энд бид RSN (IEEE 802.11i) протоколыг ашиглана, өөрөөр хэлбэл,
WPA2.</para>
</callout>
<callout arearefs="co-tls-kmgmt">
<para><literal>key_mgmt</literal> мөр нь бидний ашиглах
түлхүүр удирдах протоколыг заана. Бидний тохиолдолд энэ нь EAP
нэвтрэлт танилтыг ашиглаж байгаа WPA юм:
<literal>WPA-EAP</literal>.</para>
</callout>
<callout arearefs="co-tls-eap">
<para>Энэ талбарт бид өөрсдийн холболтдоо зориулж EAP
аргыг заана.</para>
</callout>
<callout arearefs="co-tls-id">
<para><literal>identity</literal> талбар нь EAP-ийг таниулах
мөрийг агуулна.</para>
</callout>
<callout arearefs="co-tls-cacert">
<para><literal>ca_cert</literal> талбар нь CA сертификат
файлын замыг заана. Энэ файл нь серверийн сертификатыг шалгахад
хэрэгтэй.</para>
</callout>
<callout arearefs="co-tls-clientcert">
<para><literal>client_cert</literal> шугам клиентийн
сертификатын файлын замыг өгнө. Энэ сертификат нь сүлжээний
утасгүй клиент бүрийн хувьд давтагдашгүй байна.</para>
</callout>
<callout arearefs="co-tls-pkey">
<para><literal>private_key</literal> талбар нь
клиентийн сертификатын хувийн түлхүүрийн файлын замын нэр
юм.</para>
</callout>
<callout arearefs="co-tls-pwd">
<para><literal>private_key_passwd</literal> талбар нь
хувийн түлхүүрийн нэвтрэх үгийг агуулдаг.</para>
</callout>
</calloutlist>
<para>Тэгээд дараах мөрийг
<filename>/etc/rc.conf</filename> файлд нэмнэ:</para>
<programlisting>ifconfig_ath0="WPA DHCP"</programlisting>
<para>Дараагийн алхам нь <filename>rc.d</filename> боломжийн
тусламжтай интерфэйсийг босгож ажиллуулах явдал юм:</para>
<screen>&prompt.root; <userinput>/etc/rc.d/netif start</userinput>
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&lt;UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST&gt; 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</screen>
<para>Урьд нь үзүүлсний адил интерфэйсийг гараар <command>wpa_supplicant</command> болон
<command>ifconfig</command> тушаалуудаар босгох боломжтой
байдаг.</para>
</sect5>
<sect5 id="network-wireless-wpa-eap-ttls">
<title>EAP-TTLS-тэй WPA</title>
<para>EAP-TLS-тэй байхад нэвтрэлт танилтын сервер болон клиентэд
сертификат хэрэгтэй бол EAP-TTLS-тэй (EAP-Tunneled
Transport Layer Security) байхад клиентийн сертификат
нэмэлт сонголт байдаг. Энэ арга нь зорчигчид клиент талдаа
сертификатгүй байсан ч гэсэн нууцлаг SSL туннел үүсгэж чаддаг
зарим нэг аюулгүй вэб сайтуудын хийдэгтэй ойролцоо байдаг.
EAP-TTLS нь нэвтрэлт танилтын өгөгдлийг аюулгүй тээвэрлэхэд
зориулж шифрлэгдсэн TLS туннелийг ашиглах болно.</para>
<para>Тохиргоог <filename>/etc/wpa_supplicant.conf</filename>
файлаар хийнэ:</para>
<programlisting>network={
ssid="freebsdap"
proto=RSN
key_mgmt=WPA-EAP
eap=TTLS <co id="co-ttls-eap">
identity="test" <co id="co-ttls-id">
password="test" <co id="co-ttls-passwd">
ca_cert="/etc/certs/cacert.pem" <co id="co-ttls-cacert">
phase2="auth=MD5" <co id="co-ttls-pha2">
}</programlisting>
<calloutlist>
<callout arearefs="co-ttls-eap">
<para>Энэ талбарт бид өөрийн холболтондоо зориулж
EAP аргыг дурдана.</para>
</callout>
<callout arearefs="co-ttls-id">
<para><literal>identity</literal> талбар нь шифрлэгдсэн TLS
туннел доторх EAP нэвтрэлт танилтад зориулсан таниулах мөрийг
агуулна.</para>
</callout>
<callout arearefs="co-ttls-passwd">
<para><literal>password</literal> талбар нь EAP нэвтрэлт
танилтад зориулсан нэвтрэх үгийг агуулна.</para>
</callout>
<callout arearefs="co-ttls-cacert">
<para><literal>ca_cert</literal> талбар нь CA сертификатын
файлын замын нэрийг заана. Энэ файл нь серверийн сертификатыг
шалгахад хэрэгтэй байдаг.</para>
</callout>
<callout arearefs="co-ttls-pha2">
<para>Энэ талбарт бид шифрлэгдсэн TLS туннелд ашиглагдсан
нэвтрэлт танилтын аргыг заана. Бидний тохиолдолд MD5-Challenge-тай
цуг EAP ашиглагдаж байна. <quote>inner authentication</quote>
дотоод нэвтрэлт танилт үе нь ихэвчлэн <quote>phase2</quote> буюу хоёрдугаар
үе гэгддэг.</para>
</callout>
</calloutlist>
<para>Дараах мөрийг та <filename>/etc/rc.conf</filename> файлд
бас нэмэх хэрэгтэй:</para>
<programlisting>ifconfig_ath0="WPA DHCP"</programlisting>
<para>Дараагийн алхам бол интерфэйсийг босгож ажиллуулах явдал юм:</para>
<screen>&prompt.root; <userinput>/etc/rc.d/netif start</userinput>
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&lt;UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST&gt; 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</screen>
</sect5>
<sect5 id="network-wireless-wpa-eap-peap">
<title>EAP-PEAP-тэй WPA</title>
<para>PEAP (Protected EAP) нь EAP-TTLS-ийн өөр нэг хувилбар хэлбэрээр
байхаар хийгдсэн юм. Хоёр төрлийн PEAP арга байдаг бөгөөд хамгийн
түгээмэл нь PEAPv0/EAP-MSCHAPv2 юм. Энэ баримтын үлдсэн хэсэгт
PEAP ухагдахууныг тэр EAP аргыг хэлэхдээ хэрэглэх болно. PEAP нь
EAP-TLS-ийн дараа ордог хамгийн их ашиглагддаг EAP стандарт юм,
өөрөөр хэлбэл хэрэв та төрөл бүрийн OS-үүд холилдсон сүлжээтэй бол
PEAP нь EAP-TLS-ийн дараа орох хамгийн ихээр дэмжигдсэн стандарт
байх юм.</para>
<para>PEAP нь EAP-TLS-тэй төстэй байдаг: энэ нь клиент болон
нэвтрэлт танилтын серверийн хооронд нэвтрэлт танилтын
мэдээллийн солилцоог хамгаалах шифрлэгдсэн туннел үүсгэн
клиентүүдийг танин нэвтрүүлэхийн тулд сервер талын сертификатыг
ашигладаг. Аюулгүй байдлын ухагдахуун дахь EAP-TTLS болон PEAP-ийн
хоорондох ялгаа нь PEAP нэвтрэлт танилт хэрэглэгчийн нэрийг
цэвэр текст хэлбэрээр, зөвхөн нууц үгийг шифрлэгдсэн TLS туннелээр
цацдаг явдал юм. EAP-TTLS нь хэрэглэгчийн нэр болон нууц үгт
зориулж TLS туннелийг ашиглах болно.</para>
<para>Бид <filename>/etc/wpa_supplicant.conf</filename> файлыг
засварлаж EAP-PEAP-тэй холбоотой тохируулгуудыг нэмэх хэрэгтэй болно:</para>
<programlisting>network={
ssid="freebsdap"
proto=RSN
key_mgmt=WPA-EAP
eap=PEAP <co id="co-peap-eap">
identity="test" <co id="co-peap-id">
password="test" <co id="co-peap-passwd">
ca_cert="/etc/certs/cacert.pem" <co id="co-peap-cacert">
phase1="peaplabel=0" <co id="co-peap-pha1">
phase2="auth=MSCHAPV2" <co id="co-peap-pha2">
}</programlisting>
<calloutlist>
<callout arearefs="co-peap-eap">
<para>Энэ талбарт бид өөрийн холболтондоо зориулж EAP аргыг
ашиглахаа дурдана.</para>
</callout>
<callout arearefs="co-peap-id">
<para><literal>identity</literal> талбар нь шифрлэгдсэн TLS
туннел доторх EAP нэвтрэлт танилтад зориулсан таниулах мөрийг
агуулна.</para>
</callout>
<callout arearefs="co-peap-passwd">
<para><literal>password</literal> талбар нь EAP нэвтрэлт
танилтад зориулсан нэвтрэх үгийг агуулна.</para>
</callout>
<callout arearefs="co-peap-cacert">
<para><literal>ca_cert</literal> талбар нь CA сертификатын
файлын замын нэрийг заана. Энэ файл нь серверийн сертификатыг
шалгахад хэрэгтэй байдаг.</para>
</callout>
<callout arearefs="co-peap-pha1">
<para>Энэ талбар нь нэвтрэлт танилтын (TLS туннел) эхний үед
зориулсан параметрүүдийг агуулна. Ашигласан нэвтрэлт танилтын
серверээс хамаараад нэвтрэлт танилтанд зориулж тусгай хаяг/шошгыг
зааж өгөх хэрэгтэй болно. Ихэнх тохиолдолд хаяг/шошго нь
<quote>клиентийн EAP шифрлэлт</quote> байх бөгөөд үүнийг
<literal>peaplabel=0</literal> гэж тохируулна.
Илүү мэдээллийг &man.wpa.supplicant.conf.5;
гарын авлагын хуудаснаас олж болно.</para>
</callout>
<callout arearefs="co-peap-pha2">
<para>Энэ талбарт бид шифрлэгдсэн TLS туннелд ашиглагдсан
нэвтрэлт танилтын аргыг заана. PEAP-ийн хувьд энэ нь
<literal>auth=MSCHAPV2</literal> байна.</para>
</callout>
</calloutlist>
<para>Дараахийг <filename>/etc/rc.conf</filename> файлд
нэмэх ёстой:</para>
<programlisting>ifconfig_ath0="WPA DHCP"</programlisting>
<para>Дараа нь бид интерфэйсийг босгож ажиллуулж болно:</para>
<screen>&prompt.root; <userinput>/etc/rc.d/netif start</userinput>
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&lt;UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST&gt; 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</screen>
</sect5>
</sect4>
<sect4 id="network-wireless-wep">
<title>WEP</title>
<para>WEP (Wired Equivalent Privacy) нь анхдагч 802.11 стандартын
хэсэг юм. Үүнд ямар ч нэвтрэлт танилтын арга байхгүй, энэ нь хандалт
хяналтын зөвхөн сул хэлбэр бөгөөд хялбар эвдэх боломжтой байдаг.</para>
<para>WEP-ийг <command>ifconfig</command> тушаалаар
тохируулж болно:</para>
<screen>&prompt.root; <userinput>ifconfig <replaceable>ath0</replaceable> inet <replaceable>192.168.1.100</replaceable> netmask <replaceable>255.255.255.0</replaceable> ssid my_net \
wepmode on weptxkey 3 wepkey 3:0x3456789012</userinput></screen>
<itemizedlist>
<listitem>
<para><literal>weptxkey</literal> нь дамжуулалтад
ямар WEP түлхүүр ашиглахыг хэлж байна. Энд бид гурав дахь
түлхүүрийг ашиглаж байна. Энэ нь хандалтын цэг дэх тохиргоотой
таарах ёстой.</para>
</listitem>
<listitem>
<para><literal>wepkey</literal> нь сонгогдсон WEP түлхүүрийг
тохируулахыг хэлнэ. Энэ нь <replaceable>index:key</replaceable>
хэлбэрийн байх ёстой бөгөөд индекс өгөгдөөгүй бол түлхүүр
<literal>1</literal> тохируулагдана. Энэ нь хэрэв бид
эхний түлхүүрээс өөр түлхүүрүүдийг ашиглах бол индексийг тохируулах
хэрэгтэй гэсэн үг юм.</para>
<note>
<para>Та <literal>0x3456789012</literal>-г
хандалтын цэг дээр ашиглахаар тохируулсан түлхүүрээр
солих ёстой.</para>
</note>
</listitem>
</itemizedlist>
<para>Цаашхи мэдээллийг &man.ifconfig.8; гарын авлагын
хуудаснаас унших нь зүйтэй юм.</para>
<para><command>wpa_supplicant</command> хэрэгслийг өөрийн утасгүй
интерфэйсийг WEP-тэй тохируулахын тулд бас ашиглаж болно.
Дараах мөрийг <filename>/etc/wpa_supplicant.conf</filename>
файлд нэмж дээрх жишээг тохируулж болно:</para>
<programlisting>network={
ssid="my_net"
key_mgmt=NONE
wep_key3=3456789012
wep_tx_keyidx=3
}</programlisting>
<para>Дараа нь:</para>
<screen>&prompt.root; <userinput>wpa_supplicant -i <replaceable>ath0</replaceable> -c /etc/wpa_supplicant.conf</userinput>
Trying to associate with 00:13:46:49:41:76 (SSID='dlinkap' freq=2437 MHz)
Associated with 00:13:46:49:41:76</screen>
</sect4>
</sect3>
</sect2>
<sect2>
<title>Ad-hoc горим</title>
<para>IBSS горим буюу бас ad-hoc гэгддэг горим нь цэгээс цэгт холбогдох холболтуудад
зориулагдан хийгдсэн. Жишээ нь <hostid>A</hostid> машин болон <hostid>B</hostid>
машины хооронд ad-hoc сүлжээ үүсгэхийн тулд бид ердөө л хоёр IP хаяг болон SSID
сонгох хэрэгтэй болно.</para>
<para><hostid>A</hostid> машин дээр:</para>
<screen>&prompt.root; <userinput>ifconfig <replaceable>ath0</replaceable> inet <replaceable>192.168.0.1</replaceable> netmask <replaceable>255.255.255.0</replaceable> ssid <replaceable>freebsdap</replaceable> mediaopt adhoc</userinput>
&prompt.root; <userinput>ifconfig <replaceable>ath0</replaceable></userinput>
ath0: flags=8843&lt;UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST&gt; 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 &lt;adhoc&gt; (autoselect &lt;adhoc&gt;)
status: associated
ssid freebsdap channel 2 bssid 02:11:95:c3:0d:ac
authmode OPEN privacy OFF txpowmax 36 protmode CTS bintval 100</screen>
<para><literal>adhoc</literal> параметр нь интерфэйс IBSS горимд ажиллаж
байгааг харуулж байна.</para>
<para><hostid>B</hostid> машин дээр бид <hostid>A</hostid> машиныг
илрүүлж чадах ёстой:</para>
<screen>&prompt.root; <userinput>ifconfig <replaceable>ath0</replaceable> up scan</userinput>
SSID BSSID CHAN RATE S:N INT CAPS
freebsdap 02:11:95:c3:0d:ac 2 54M 19:0 100 IS</screen>
<para>Гаралт дээрх <literal>I</literal> нь <hostid>A</hostid>
машин ad-hoc горимд байгааг батална. Бид одоо <hostid>B</hostid>-г
өөр IP хаягтайгаар тохируулах хэрэгтэй:</para>
<screen>&prompt.root; <userinput>ifconfig <replaceable>ath0</replaceable> inet <replaceable>192.168.0.2</replaceable> netmask <replaceable>255.255.255.0</replaceable> ssid <replaceable>freebsdap</replaceable> mediaopt adhoc</userinput>
&prompt.root; <userinput>ifconfig <replaceable>ath0</replaceable></userinput>
ath0: flags=8843&lt;UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST&gt; 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 &lt;adhoc&gt; (autoselect &lt;adhoc&gt;)
status: associated
ssid freebsdap channel 2 bssid 02:11:95:c3:0d:ac
authmode OPEN privacy OFF txpowmax 36 protmode CTS bintval 100</screen>
<para><hostid>A</hostid> болон <hostid>B</hostid> нь одоо
мэдээлэл солилцоход бэлэн боллоо.</para>
</sect2>
<sect2>
<title>Алдааг олж засварлах</title>
<para>Хэрэв та утасгүй сүлжээндээ асуудалтай байгаа бол асуудлыг олж
засварлахад туслах хэд хэдэн алхмууд байдаг.</para>
<itemizedlist>
<listitem>
<para>Хайлт хийж байхдаа та хандалтын цэгийг олж харахгүй байгаа бол
та өөрийн утасгүй төхөөрөмжөө тодорхой хэдэн сувгууд дээр
хязгаарлаж тохируулаагүй эсэхээ шалгаарай.</para>
</listitem>
<listitem>
<para>Хэрэв та хандалтын цэгт холбогдож чадахгүй байгаа бол таны станцын
тохиргоо хандалтын цэгийн аль нэгтэй тохирч байгаа эсэхийг шалгаарай.
Үүнд нэвтрэлт танилтын схем болон аюулгүй байдлын протоколууд
хамаарна. Өөрийн тохиргоогоо аль болох хялбаршуулах хэрэгтэй.
Хэрэв та WPA эсвэл WEP зэрэг аюулгүй байдлын протоколыг
ашиглаж байгаа бол хандалтын цэгийг нээлттэй нэвтрэлт танилтад зориулж
ямар нэгэн аюулгүй байдлын хамгаалалтгүй тохируулж урсгал
дамжиж байгаа эсэхийг үзэх хэрэгтэй.</para>
</listitem>
<listitem>
<para>Хандалтын цэгт холбогдсоныхоо дараа &man.ping.8; зэрэг
хялбар хэрэгслүүдийг ашиглаад ямар ч аюулгүй байдлын тохиргоог
оношлож болно.</para>
<para><command>wpa_supplicant</command> нь илүү дибаг хийх
дэмжлэгтэй байдаг; үүнийг <option>-dd</option> сонголттой
гараар ажиллуулж системийн бүртгэлүүдийг шалгах хэрэгтэй.</para>
</listitem>
<listitem>
<para>Мөн олон доод түвшний дибаг хийх хэрэгслүүд бас байдаг. Та
802.11 протоколын дэмжлэг давхаргад дибаг мэдэгдлүүдийг
<filename>/usr/src/tools/tools/net80211</filename> дахь
<command>wlandebug</command> програмыг ашиглан идэвхжүүлж
болно. Жишээ нь:</para>
<screen>&prompt.root; <userinput>wlandebug -i <replaceable>ath0</replaceable> +scan+auth+debug+assoc</userinput>
net.wlan.0.debug: 0 =&gt; 0xc80000&lt;assoc,auth,scan&gt;</screen>
<para>тушаал нь хандалтын цэгүүдийг хайх болон холбоог зохион байгуулах
802.11 протоколын мэдээлэл солилцоонуудыг хийхтэй холбоотой
консолийн мэдэгдлүүдийг идэвхжүүлэхэд ашиглагдаж болох юм.</para>
<para>802.11 давхаргын арчилж байдаг олон ашигтай статистикууд бас
байдаг; эдгээр мэдээллүүдийг <command>wlanstats</command>
хэрэгсэл харуулах болно. Эдгээр статистикууд нь 802.11 давхаргаар
танигдсан бүх алдаануудыг таних ёстой. Гэхдээ 802.11 давхаргаас доош
орших төхөөрөмжийн драйверууд дээр танигдсан зарим алдаанууд нь
харуулагдахгүй байж болохыг санаарай. Төхөөрөмжтэй холбоотой
асуудлуудыг оношлохын тулд та драйверийн баримтаас лавлах хэрэгтэй юм.</para>
</listitem>
</itemizedlist>
<para>Хэрэв дээрх мэдээлэл асуудлыг тодруулахад тань туслахгүй байгаа бол
дээрх хэрэгслүүдээс гарсан гаралтыг оруулж асуудлынхаа тайланг илгээгээрэй.</para>
</sect2>
</sect1>
<sect1 id="network-bluetooth">
<sect1info>
<authorgroup>
<author>
<firstname>Пав</firstname>
<surname>Лукистник</surname>
<contrib>Бичсэн </contrib>
<affiliation>
<address><email>pav@FreeBSD.org</email></address>
</affiliation>
</author>
</authorgroup>
</sect1info>
<title>Bluetooth</title>
<indexterm><primary>Bluetooth</primary></indexterm>
<sect2>
<title>Танилцуулга</title>
<para>Bluetooth нь 10 метрийн дотор 2.4 GHz давтамжийн лицензжүүлээгүй
зурваст ажиллах хувийн сүлжээнүүд үүсгэхэд зориулагдсан утасгүй технолог юм.
Сүлжээнүүд нь үүрэн утас, гарын цахим жижиг хэрэгслүүд, болон зөөврийн
компьютерууд зэрэг зөөврийн төхөөрөмжүүдээс ad-hoc ихэвчлэн бүрдүүлдэг.
Бусад түгээмэл утасгүй технологиудаас ялгаатай тал нь Wi-Fi, Bluetooth нь
илүү өндөр түвшний үйлчилгээний хувийн тохиргоонуудыг санал болгодог, өөрөөр
хэлбэл FTP-тэй адил файлын серверүүд, файл түлхэх, дуу дамжуулалт,
цуваа шугамын эмуляц зэрэг олныг дурдаж болно.</para>
<para>&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-ийн хэрэглээг тайлбарлах
болно.</para>
</sect2>
<sect2>
<title>Төхөөрөмжид залгах нь</title>
<para>Анхдагчаар Bluetooth төхөөрөмжийн драйверууд нь цөмийн модул хэлбэрээр
байдаг. Төхөөрөмжийг залгахаасаа өмнө та драйверийг цөмд дуудаж ачаалах хэрэгтэй
болно:</para>
<screen>&prompt.root; <userinput>kldload ng_ubt</userinput></screen>
<para>Хэрэв Bluetooth төхөөрөмж системийг эхлүүлэх явцад системд байх юм бол
<filename>/boot/loader.conf</filename> файлаас модулийг дуудна:</para>
<programlisting>ng_ubt_load="YES"</programlisting>
<para>Өөрийн USB dongle-ийг залга. Консол (эсвэл syslog) дээр дараахьтай төстэй
гаралт гарж ирэх болно:</para>
<screen>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</screen>
<note>
<para>Bluetooth стек нь &os; 6.0 болон 5.5-аас өмнөх &os; 5.X
хувилбарууд дээр гараар эхлүүлэгдэх ёстой. Энэ нь &os; 5.5, 6.1 болон түүнээс
шинэ хувилбарууд дээр &man.devd.8;-ээс автоматаар хийгддэг.</para>
<para><filename>/usr/share/examples/netgraph/bluetooth/rc.bluetooth</filename>-г
<filename>/etc/rc.bluetooth</filename> гэх мэт ямар нэг тохиромжтой газар хуулах хэрэгтэй.
Энэ скрипт ньь Bluetooth стекийг эхлүүлэх болон зогсооход хэрэглэгддэг. Төхөөрөмжийг
салгахаасаа өмнө стекийг зогсоох нь зөв байдаг, гэхдээ энэ нь (ихэвчлэн) сүйрлийн биш
байдаг. Стекийг эхлүүлж байхад дараахьтай төстэй гаралтыг та хүлээн авах
болно:</para>
<screen>&prompt.root; <userinput>/etc/rc.bluetooth start ubt0</userinput>
BD_ADDR: 00:02:72:00:d4:1a
Features: 0xff 0xff 0xf 00 00 00 00 00
&lt;3-Slot&gt; &lt;5-Slot&gt; &lt;Encryption&gt; &lt;Slot offset&gt;
&lt;Timing accuracy&gt; &lt;Switch&gt; &lt;Hold mode&gt; &lt;Sniff mode&gt;
&lt;Park mode&gt; &lt;RSSI&gt; &lt;Channel quality&gt; &lt;SCO link&gt;
&lt;HV2 packets&gt; &lt;HV3 packets&gt; &lt;u-law log&gt; &lt;A-law log&gt; &lt;CVSD&gt;
&lt;Paging scheme&gt; &lt;Power control&gt; &lt;Transparent SCO data&gt;
Max. ACL packet size: 192 bytes
Number of ACL packets: 8
Max. SCO packet size: 64 bytes
Number of SCO packets: 8</screen>
</note>
</sect2>
<indexterm><primary>HCI</primary></indexterm>
<sect2>
<title>Host Controller Interface (HCI) буюу Хостын Хянагчийн Интерфэйс</title>
<para>Host Controller Interface (HCI) буюу Хостын Хянагчийн Интерфэйс нь
үндсэн зурвасын хянагч болон холболтын менежерт тушаалын интерфэйсийг,
тоног төхөөрөмжийн төлөв болон хяналтын регистерүүдэд хандалтыг өгдөг байна.
Энэ интерфэйс нь Bluetooth-ийн үндсэн зурвасын боломжуудад хандах нэгэн
хэвийн аргыг олгодог. Хост дээрх HCI давхарга нь өгөгдөл болон тушаалуудыг
Bluetooth тоног төхөөрөмж дээрх HCI firmware-тэй солилцдог.
Хостийн Хянагчийн Тээврийн Давхаргын (өөрөөр хэлбэл физик шугам) драйвер нь
HCI давхаргуудад нэг нь нөгөөдөө мэдээлэл солилцох боломжоор хангаж
өгдөг.</para>
<para><emphasis>hci</emphasis> төрлийн ганц Netgraph цэг ганц Bluetooth
төхөөрөмжийн хувьд үүсдэг. HCI цэг нь Bluetooth төхөөрөмжийн драйверийн цэгт
(доош) болон L2CAP цэгт (дээш) ихэвчлэн холбогддог. Бүх HCI үйлдлүүд нь
төхөөрөмжийн драйверийн цэг дээр биш HCI цэг дээр хийгдэх ёстой. HCI цэгийн
анхдагч нэр нь <quote>devicehci</quote> юм. Илүү дэлгэрэнгүй
мэдээллийг &man.ng.hci.4; гарын авлагын хуудаснаас лавлана уу.</para>
<para>Хамгийн нийтлэг ажлуудын нэг нь RF-ийн ойр Bluetooth төхөөрөмжүүдийг
олох явдал юм. Энэ үйлдлийг <emphasis>inquiry</emphasis> буюу
лавлагаа гэдэг. Лавлагаа болон бусад HCI-тэй холбоотой үйлдлүүд нь
&man.hccontrol.8; хэрэгслээр хийгддэг. Доорхи жишээ нь ойр орчим ямар
Bluetooth төхөөрөмжүүд байгааг хэрхэн олохыг харуулж байна. Та төхөөрөмжүүдийн
жагсаалтыг хэдхэн секундэнд авах ёстой. Алсын төхөөрөмж нь
<emphasis>илрүүлэгдэх</emphasis> горимд байгаа тохиолдолд лавлагаанд зөвхөн
хариулах болно гэдгийг санаарай.</para>
<screen>&prompt.user; <userinput>hccontrol -n ubt0hci inquiry</userinput>
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]</screen>
<para><literal>BD_ADDR</literal> нь Bluetooth төхөөрөмжийн
сүлжээний картад байдаг MAC хаягууд шиг давтагдашгүй хаяг юм. Энэ хаяг нь
төхөөрөмжтэй холбогдоход цаашид хэрэг болдог. BD_ADDR-т хүн уншиж
болохоор нэр өгөх боломжтой байдаг. <filename>/etc/bluetooth/hosts</filename>
файл нь мэдэгдэж байгаа Bluetooth хостуудын талаарх мэдээллийг
агуулдаг. Дараах жишээ нь алсын төхөөрөмжид өгсөн хүн уншиж болохоор нэрийг
хэрхэн авч болохыг үзүүлж байна:</para>
<screen>&prompt.user; <userinput>hccontrol -n ubt0hci remote_name_request 00:80:37:29:19:a4</userinput>
BD_ADDR: 00:80:37:29:19:a4
Name: Pav's T39</screen>
<para>Хэрэв та лавлагааг алсын Bluetooth төхөөрөмж дээр хийх юм бол энэ нь
таны компьютерийг <quote>your.host.name (ubt0)</quote> хэлбэрээр
олох болно. Локал төхөөрөмжид өгсөн нэрийг ямар ч үед өөрчилж болно.</para>
<para>Bluetooth систем нь цэгээс-цэгт-хүрэх (point-to-point)
эсвэл цэгээс-олон-цэгт-хүрэх (point-to-multipoint) холболтын боломжийг олгодог.
Цэгээс-олон-цэгт-хүрэх (point-to-multipoint) холболтод холболт нь
хэд хэдэн Bluetooth төхөөрөмжүүдийн хооронд хуваалцан хэрэглэгддэг. Дараах
жишээ нь локал төхөөрөмжийн хувьд идэвхтэй үндсэн зурвасын холболтуудын
жагсаалтыг хэрхэн авахыг үзүүлж байна:</para>
<screen>&prompt.user; <userinput>hccontrol -n ubt0hci read_connection_list</userinput>
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</screen>
<para><emphasis>connection handle</emphasis> буюу <emphasis>холболтын гар</emphasis>
нь үндсэн зурвасын холболтыг дуусгах шаардлагатай үед ашигтай байдаг.
Үүнийг гараар хийхийг ерөнхийдөө шаарддаггүйг санаарай. Стек нь идэвхгүй байгаа
үндсэн зурвасын холболтуудыг автоматаар дуусгах болно.</para>
<screen>&prompt.root; <userinput>hccontrol -n ubt0hci disconnect 41</userinput>
Connection handle: 41
Reason: Connection terminated by local host [0x16]</screen>
<para>HCI тушаалуудын бүрэн жагсаалыг <command>hccontrol help</command>
гэж лавлана уу. HCI тушаалуудын ихэнх нь супер хэрэглэгчийн зөвшөөрлүүдийг
шаарддаггүй.</para>
</sect2>
<indexterm><primary>L2CAP</primary></indexterm>
<sect2>
<title>Logical Link Control and Adaptation Protocol (L2CAP) буюу
Логик Холболтын Хяналт ба Тааруулах Протокол</title>
<para>Логик Холболтын Хяналт ба Тааруулах Протокол (L2CAP) нь
холболт дээр тулгуурласан болон холболтгүй (connection-oriented and
connectionless) өгөгдлийн үйлчилгээнүүдийг протокол олон хуваагдах (multiplex)
чадвар болон сегмент болгож дахин цуглуулах үйлдэлтэй цуг дээд түвшний
протоколуудад хангаж өгдөг. L2CAP нь уртаараа 64 килобайт хүртэл хэмжээний
L2CAP пакетуудыг дамжуулж хүлээн авахыг өндөр түвшний протоколууд болон
програмуудад зөвшөөрдөг.</para>
<para>L2CAP нь <emphasis>сувгууд</emphasis> гэсэн ойлголт дээр тулгуурладаг.
Суваг нь үндсэн зурвасын холболт дээрх логик холболт юм. Суваг бүр ганц протоколд
олноос нэг уруу чиглэсэн загвараар уягдсан байдаг. Олон сувгууд нэг протоколд
уягдаж болдог боловч нэг сувгийг олон протоколд уяж болдоггүй. Суваг дээр
хүлээн авсан L2CAP пакет бүр зохих дээд түвшний протокол уруу чиглүүлэгддэг.
Олон сувгууд нь нэг үндсэн зурвасын холболтыг хуваалцаж болно.</para>
<para><emphasis>l2cap</emphasis> төрлийн ганц Netgraph цэг ганц Bluetooth
төхөөрөмжийн хувьд үүсгэгддэг. L2CAP цэг нь Bluetooth HCI цэг (доош) болон
Bluetooth сокетуудад (дээш) ихэвчлэн холбогддог. Илүү дэлгэрэнгүй мэдээллийг
&man.ng.l2cap.4; гарын авлагын хуудаснаас лавлана уу.</para>
<para>Ашигтай тушаал бол бусад хэрэгслүүд уруу ping хийхэд хэрэглэгддэг
&man.l2ping.8; тушаал юм. Зарим нэг Bluetooth шийдлүүд нь тэдэн уруу
илгээсэн бүх өгөгдлийг буцаахгүй байж болох учраас дараах жишээн дээрх
<literal>0 bytes</literal> гэдэг нь хэвийн юм.</para>
<screen>&prompt.root; <userinput>l2ping -a 00:80:37:29:19:a4</userinput>
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</screen>
<para>&man.l2control.8; хэрэгсэл нь L2CAP цэгүүд дээр төрөл бүрийн үйлдлүүдийг
хийдэг. Энэ жишээ нь логик холболтуудын (сувгууд) жагсаалт болон локал төхөөрөмжийн
хувьд үндсэн зурвасын жагсаалтыг хэрхэн авахыг үзүүлж байна:</para>
<screen>&prompt.user; <userinput>l2control -a 00:02:72:00:d4:1a read_channel_list</userinput>
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; <userinput>l2control -a 00:02:72:00:d4:1a read_connection_list</userinput>
L2CAP connections:
Remote BD_ADDR Handle Flags Pending State
00:07:e0:00:0b:ca 41 O 0 OPEN</screen>
<para>Өөр нэг оношлогооны хэрэгсэл бол &man.btsockstat.1; юм. Энэ нь
&man.netstat.1;-ийн хийдэгтэй төстэйг хийдэг, гэхдээ зөвхөн Bluetooth сүлжээтэй
холбоотой өгөгдлийн бүтцүүдийн хувьд хийдэг. Доорхи жишээ нь дээрх &man.l2control.8;-ийн
нэгэн адил логик холболтыг харуулж байна.</para>
<screen>&prompt.user; <userinput>btsockstat</userinput>
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</screen>
</sect2>
<indexterm><primary>RFCOMM</primary></indexterm>
<sect2>
<title>RFCOMM Протокол</title>
<para>RFCOMM протокол нь L2CAP протоколын дээгүүр цуваа портуудыг эмуляц хийх
боломжийг хангадаг. Энэ протокол нь ETSI стандарт TS 07.10 дээр суурилсан юм.
RFCOMM нь RS-232 (EIATIA-232-E) цуваа портуудын 9 замыг эмуляц хийх нэмэлт
бэлтгэл бүхий ердийн тээвэрлэх протокол юм. RFCOMM протокол нь хоёр Bluetooth
төхөөрөмжийн хооронд 60 хүртэлх зэрэг холболтуудыг (RFCOMM сувгууд)
дэмждэг.</para>
<para>RFCOMM-ийн хувьд өөр өөр төхөөрөмжүүд (холбооны төгсгөлийн цэгүүд)
дээр ажиллаж байгаа хоёр програм болон тэдгээрийн хоорондын холбооны сегмент
холбооны бүрэн замд ордог. RFCOMM нь төхөөрөмжүүд дээр байгаа цуваа портуудыг ашигладаг
програмуудад зориулагдсан юм. Холбооны сегмент нь нэг төхөөрөмжөөс нөгөө уруу
холбогдсон (шууд холболт) Bluetooth холбоос юм.</para>
<para>RFCOMM нь шууд холболтын үед төхөөрөмжүүдийн хоорондох холболт
эсвэл сүлжээний хувьд төхөөрөмж болон модемийн хоорондох холболтод зөвхөн
санаа тавьдаг. RFCOMM нь нэг талдаа Bluetooth утасгүй технологийг ашиглаж
холбогддог бөгөөд нөгөө талдаа утастай интерфэйсээр хангадаг модулиуд зэрэг бусад
тохиргоонуудыг дэмждэг.</para>
<para>&os; дээр RFCOMM протокол нь Bluetooth сокетуудын давхаргад хийгддэг.</para>
</sect2>
<indexterm><primary>хослох</primary></indexterm>
<sect2>
<title>Төхөөрөмжүүдийг хослох</title>
<para>Анхдагчаар Bluetooth холбоонд нэвтрэлт танилт хийгддэггүй бөгөөд ямар ч
төхөөрөмж ямар ч төхөөрөмжтэй ярилцаж чаддаг. Bluetooth төхөөрөмж (жишээ нь
үүрэн утас) тухайн нэг үйлчилгээг (жишээ нь Dial-Up үйлчилгээ) хангахын тулд
нэвтрэлт танилтыг шаарддаг байхаар байж болно. Bluetooth нэвтрэлт танилт нь
хэвийн үед <emphasis>PIN кодуудаар</emphasis> хийгддэг. Хоёр төхөөрөмжийн
хувьд хэрэглэгч адил PIN кодыг оруулах шаардлагатай. Хэрэглэгч PIN код оруулсны
дараа хоёр төхөөрөмж <emphasis>холболтын түлхүүр</emphasis> үүсгэнэ.
Түүний дараа холболтын түлхүүр нь уг төхөөрөмжүүд дээрээ эсвэл байнгын хадгалалтад
хадгалагдаж болно. Дараагийн удаа хоёр төхөөрөмж нь урьд нь үүсгэсэн холболтын
түлхүүрээ ашиглах болно. Энэ тайлбарласан процедурыг <emphasis>pairing</emphasis>
буюу <emphasis>хослох</emphasis> гэж нэрлэдэг. Ямар нэг төхөөрөмж холболтын
түлхүүрийг гээх юм бол хослолтыг дахин хийх ёстой.</para>
<para>&man.hcsecd.8; демон нь бүх Bluetooth нэвтрэлт танилтын хүсэлтүүдтэй
ажиллах үүрэгтэй. Анхдагч тохиргооны файл нь
<filename>/etc/bluetooth/hcsecd.conf</filename> юм. Дурын <quote>1234</quote>
гэж тохируулагдсан PIN кодтой үүрэн утасны жишээ хэсгийг доор үзүүлэв:</para>
<programlisting>device {
bdaddr 00:80:37:29:19:a4;
name "Pav's T39";
key nokey;
pin "1234";
}</programlisting>
<para>PIN код дээр хязгаарлалт байдаггүй (уртаас гадна). Зарим төхөөрөмжүүдэд
(жишээ нь Bluetooth чихэвчнүүд) тогтмол PIN код цуг бүтээгдсэн байж болох юм.
<option>-d</option> тохируулга нь &man.hcsecd.8; демонг нүүрэнд үлдэж
ажиллахыг заадаг бөгөөд ингэснээр юу болж байгааг харах боломжтой юм.
Хослолыг хүлээн авч алсын төхөөрөмж уруу Bluetooth холболт эхлүүлэхээр
алсын төхөөрөмжийг тохируулна. Алсын төхөөрөмж нь хослол хийлтийг хүлээн авсан гэдгээ
хэлж PIN код хүсэх ёстой. <filename>hcsecd.conf</filename> файлд
байгаатай адил PIN код оруулаарай. Одоо таны PC болон алсын төхөөрөмж
хосолсон байна. Өөрөөр та хослол хийлтийг алсын төхөөрөмж дээр эхлүүлж болно.</para>
<para>&os; 5.5, 6.1 болон түүнээс шинэ хувилбаруудад <application>hcsecd</application>-г
систем эхлэхэд автоматаар эхлүүлэхийн тулд дараах мөрийг <filename>/etc/rc.conf</filename>
файлд нэмэн хийж болно:</para>
<programlisting>hcsecd_enable="YES"</programlisting>
<para><application>hcsecd</application> демоны гаралтын жишээг доор
үзүүлэв:</para>
<programlisting>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</programlisting>
</sect2>
<indexterm><primary>SDP</primary></indexterm>
<sect2>
<title>Service Discovery Protocol (SDP) буюу Үйлчилгээ Илрүүлэх Протокол</title>
<para>Service Discovery Protocol (SDP) буюу Үйлчилгээ Илрүүлэх Протокол нь
сервер програмуудын үзүүлдэг үйлчилгээнүүдийн байгаа эсэх болон тэдгээр
үйлчилгээнүүдийн шинж чанаруудыг илрүүлэх боломжийг клиент програмуудад олгодог.
Үйлчилгээний шинж чанарууд нь санал болгосон үйлчилгээний төрөл эсвэл ангилал болон
үйлчилгээг хэрэглэхэд шаардагдах арга зам юм уу эсвэл протоколын мэдээллийг
агуулдаг.</para>
<para>SDP-д SDP сервер болон SDP клиентийн хоорондох холбоо ордог. Сервер нь
сервертэй холбоотой үйлчилгээнүүдийн шинж чанаруудыг тайлбарладаг үйлчилгээний
бичлэгүүдийн жагсаалтыг арчилж байдаг. Үйлчилгээний бичлэг бүр ганц үйлчилгээний
талаарх мэдээллийг агуулдаг. SDP серверийн арчилж байдаг үйлчилгээний бичлэгээс
клиент SDP хүсэлт илгээн мэдээллийг авч болно. Хэрэв клиент эсвэл клиенттэй
холбоотой програм нь үйлчилгээг ашиглахаар шийдвэл үйлчилгээг хэрэглэхийн тулд
үйлчилгээ үзүүлэгч уруу тусдаа холболт нээх ёстой. SDP нь үйлчилгээнүүд болон
тэдгээрийн шинж чанаруудыг илрүүлэх арга замаар хангадаг боловч тэдгээр үйлчилгээнүүдийг
хэрэглэх арга замуудаар хангадаггүй юм.</para>
<para>Хэвийн үед SDP клиент нь үйлчилгээнүүдийн зарим хүссэн онцгой шинжүүд дээр тулгуурлан
үйлчилгээнүүдийг хайдаг. Гэхдээ үйлчилгээнүүдийн талаар урьд нь ямар ч мэдээлэл байхгүй
байхад SDP серверийн үйлчилгээний бичлэгүүдээр тайлбарлагдсан үйлчилгээнүүдийн ямар
төрлүүд байгааг олохыг хүсэх үеүүд байдаг. Санал болгосон дурын үйлчилгээнүүдийг
хайх процесс нь <emphasis>browsing</emphasis> буюу <emphasis>үзэх</emphasis>
гэгддэг.</para>
<para>Bluetooth SDP сервер &man.sdpd.8; болон тушаалын мөрийн клиент
&man.sdpcontrol.8; нь стандарт &os; суулгацад орсон байдаг. Дараах жишээ нь
SDP үзэх хүсэлтийг хэрхэн хийж байгаа харуулж байна.</para>
<screen>&prompt.user; <userinput>sdpcontrol -a 00:01:03:fc:6e:ec browse</userinput>
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
</screen>
<para>... гэх мэт байна. Үйлчилгээ болгон шинж чанаруудтай байгааг анхаараарай
(жишээ нь RFCOMM суваг). Үйлчилгээнээс хамаараад та зарим нэг шинж чанаруудын
талаар тэмдэглэгээ хийж авах хэрэгтэй болж болох юм. Зарим Bluetooth шийдлүүд нь
үйлчилгээ үзэх боломжийг дэмждэггүй бөгөөд хоосон жагсаалт буцааж болох юм.
Энэ тохиолдолд тодорхой үйлчилгээг хайх боломжтой байдаг. Доорхи жишээ нь
OBEX-ийн Обьект Түлхэх (OPUSH) үйлчилгээг хэрхэн хайхыг үзүүлж байна:</para>
<screen>&prompt.user; <userinput>sdpcontrol -a 00:01:03:fc:6e:ec search OPUSH</userinput></screen>
<para>&os; дээр Bluetooth клиентүүдэд үйлчилгээнүүдийг санал болохдоо
&man.sdpd.8; серверийн тусламжтайгаар хийдэг. &os; 5.5, 6.1 болон
түүнээс дээш хувилбарууд дээр <filename>/etc/rc.conf</filename> файлд
дараах мөрийг нэмж болно:</para>
<programlisting>sdpd_enable="YES"</programlisting>
<para>Дараа нь <application>sdpd</application> демонийг ингэж эхлүүлж болно:</para>
<screen>&prompt.root; <userinput>/etc/rc.d/sdpd start</userinput></screen>
<para>&os; 6.0, болон 5.5-аас өмнөх &os; 5.X хувилбар дээр <application>sdpd</application>
нь системийг эхлүүлэх скриптүүдэд хийгдээгүй байдаг. Үүнийг гараар ажиллуулах ёстой:</para>
<screen>&prompt.root; <userinput>sdpd</userinput></screen>
<para>Алсын клиентүүдэд Bluetooth үйлчилгээг үзүүлэхийг хүссэн локал серверийн
програм нь үйлчилгээг SDP демонд бүртгэх болно. Ийм програмуудын нэг нь
&man.rfcomm.pppd.8; юм. Эхэлснийхээ дараа энэ нь Bluetooth LAN үйлчилгээг
локал SDP демонд бүртгэх болно.</para>
<para>Локал SDP серверт бүртгэсэн үйлчилгээнүүдийн жагсаалтыг локал хяналтын сувгаар
SDP-ийн үзэх хүсэлтийг илгээн авч болно:</para>
<screen>&prompt.root; <userinput>sdpcontrol -l browse</userinput></screen>
</sect2>
<sect2>
<title>Dial-Up сүлжээ (DUN) ба PPP ашиглах Сүлжээний Хандалт (LAN) хувийн тохиргоонууд</title>
<para>Dial-Up сүлжээ (DUN) хувийн тохиргоо нь модемууд болон үүрэн утаснуудтай
ихэвчлэн ашиглагддаг. Энэ хувийн тохиргоонд хамаарах тохиолдлуудыг
доор дурдав:</para>
<itemizedlist>
<listitem><para>үүрэн утас эсвэл модемийг компьютер дээрээ
Интернетийн хандалтын сервер уруу залгаж холбогдох юм уу эсвэл
бусад dial-up үйлчилгээнүүдэд хэрэглэхээр утасгүй модем маягаар ашиглах;</para></listitem>
<listitem><para>үүрэн утас эсвэл модемийг компьютер дээрээ
өгөгдлийн дуудлагуудыг хүлээн авахад ашиглах.</para></listitem>
</itemizedlist>
<para>PPP ашиглах Сүлжээний Хандалт (LAN) хувийн тохиргоо дараах тохиолдлуудад
ашиглагдаж болно:</para>
<itemizedlist>
<listitem><para>Ганц Bluetooth төхөөрөмжид зориулсан LAN хандалт;
</para></listitem>
<listitem><para>Олон Bluetooth төхөөрөмжид зориулсан LAN хандалт;
</para></listitem>
<listitem><para>PC-ээс PC уруу (цуваа кабелийн эмуляцаар PPP сүлжээ
ашиглан).</para></listitem>
</itemizedlist>
<para>&os; дээр энэ хоёр хувийн тохиргоо нь &man.ppp.8; болон
&man.rfcomm.pppd.8; програмуудаар хийгддэг. &man.rfcomm.pppd.8; нь
RFCOMM Bluetooth холболтыг PPP-ийн ажиллаж чадах ямар нэгэн зүйл болгож хувиргадаг
гүйцэтгэл хялбаршуулагч юм. Аль ч хувийн тохиргоог ашиглахаасаа өмнө
<filename>/etc/ppp/ppp.conf</filename> файлд шинэ PPP хаяг
үүсгэгдсэн байх ёстой. Жишээнүүдийн талаар &man.rfcomm.pppd.8; гарын
авлагаас лавлана уу.
</para>
<para>Дараах жишээн дээр &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;-г ашиглаарай.</para>
<screen>&prompt.root; <userinput>rfcomm_pppd -a 00:80:37:29:19:a4 -c -C dun -l rfcomm-dialup</userinput></screen>
<para>PPP ашиглах Сүлжээний Хандалтын (LAN) үйлчилгээг хангахын тулд
&man.sdpd.8; сервер ажиллаж байх ёстой. LAN клиентүүдэд зориулсан
шинэ оруулгууд <filename>/etc/ppp/ppp.conf</filename> файлд
үүсгэгдсэн байх ёстой. Жишээнүүдийн талаар &man.rfcomm.pppd.8;
гарын авлагын хуудаснаас лавлана уу. Төгсгөлд нь RFCOMM PPP серверийг
зөв RFCOMM сувгийн дугаар дээр эхлүүлнэ. RFCOMM PPP сервер нь
Bluetooth LAN үйлчилгээг локал SDP демонд автоматаар бүртгэх болно.
Доорх жишээ нь RFCOMM PPP серверийг хэрхэн эхлүүлэхийг үзүүлж байна.</para>
<screen>&prompt.root; <userinput>rfcomm_pppd -s -C 7 -l rfcomm-server</userinput></screen>
</sect2>
<indexterm><primary>OBEX</primary></indexterm>
<sect2>
<title>OBEX Object Push (OPUSH) буюу OBEX Обьект Түлхэх хувийн тохиргоо</title>
<para>OBEX нь хөдөлгөөнт төхөөрөмжүүдийн хооронд энгийн файл дамжуулалт хийхэд
зориулагдсан өргөн ашиглагддаг протокол юм. Үүний гол хэрэглээ нь хэт ягаан туяаны
холбоо бөгөөд зөөврийн компьютерууд эсвэл PDA-уудын хооронд ердийн файл
дамжуулахад, нэрийн хуудас эсвэл цагалбарыг үүрэн утас болон PIM програмуудтай
бусад төхөөрөмжүүдийн хооронд илгээхэд хэрэглэгддэг.</para>
<para>OBEX сервер болон клиент нь гуравдагч талын багц <application>obexapp</application>
хэлбэрээр хийгдсэн байдаг бөгөөд энэ нь <filename role="package">comms/obexapp</filename>
порт хэлбэрээр байдаг.</para>
<para>OBEX клиент нь OBEX серверт обьектуудыг түлхэж оруулах буюу/эсвэл татахад хэрэглэгддэг.
Обьект нь жишээ нь нэрийн хуудас юм уу эсвэл уулзалт байж болно. OBEX клиент нь
алсын төхөөрөмжөөс SDP-ээр RFCOMM сувгийн дугаарыг авч болно. RFCOMM сувгийн
дугаарын оронд үйлчилгээний нэрийг зааж үүнийг хийж болно. Дэмжигдсэн үйлчилгээний
нэрсэд: IrMC, FTRN, болон OPUSH ордог. RFCOMM сувгийг дугаар болгон зааж
өгөх боломжтой байдаг. Төхөөрөмжийн мэдээллийн обьектийг үүрэн утаснаас татаж
авч байгаа болон шинэ обьектийг (нэрийн хуудас) утасны сан уруу хийж байгаа
OBEX сессийн жишээг доор үзүүлэв.</para>
<screen>&prompt.user; <userinput>obexapp -a 00:80:37:29:19:a4 -C IrMC</userinput>
obex&gt; get telecom/devinfo.txt devinfo-t39.txt
Success, response: OK, Success (0x20)
obex&gt; put new.vcf
Success, response: OK, Success (0x20)
obex&gt; di
Success, response: OK, Success (0x20)</screen>
<para>OBEX-ийн Обьект Түлхэх үйлчилгээг хангахын тулд &man.sdpd.8; сервер
ажиллаж байх ёстой. Бүх ирж байгаа обьектууд хадгалагдах root хавтас үүсгэгдэх
ёстой. root сангийн анхдагч зам нь <filename>/var/spool/obex</filename>
байна. Төгсгөлд нь OBEX серверийг зөв RFCOMM сувгийн дугаар дээр эхлүүлнэ.
OBEX сервер нь OBEX-ийн Обьект Түлхэх үйлчилгээг локал SDP демонд автоматаар
бүртгүүлэх болно. Доорх жишээ нь OBEX серверийг хэрхэн эхлүүлэхийг харуулж байна.</para>
<screen>&prompt.root; <userinput>obexapp -s -C 10</userinput></screen>
</sect2>
<sect2>
<title>Serial Port Profile (SPP) буюу Цуваа портын хувийн тохиргоо</title>
<para>Serial Port Profile (SPP) буюу Цуваа портын хувийн тохиргоо нь Bluetooth
төхөөрөмжүүдэд RS232 (эсвэл түүнтэй төстэй) цуваа кабелийн эмуляц хийхийг зөвшөөрдөг.
Энэ хувийн тохиргоонд хамаатай тохиолдол нь кабелийн оронд виртуал цуваа портын
хийсвэрлэлтийн тусламжтай Bluetooth-ийг ашигладаг хуучин програмуудтай харьцдаг.</para>
<para>&man.rfcomm.sppd.1; хэрэгсэл нь цуваа портын хувийн тохиргоог хийдэг.
Псевдо tty нь виртуал цуваа портын хийсвэрлэлт болон ашиглагддаг. Доорх жишээ нь
алсын төхөөрөмжийн цуваа портын үйлчилгээ уруу хэрхэн холбогдохыг харуулж байна.
Та RFCOMM сувгийг заах шаардлагагүйг санаарай - &man.rfcomm.sppd.1; нь
алсын төхөөрөмжөөс SDP-ээр авч чаддаг. Хэрэв та үүнийг дарж өөрчлөхийг хүсвэл
тушаалын мөрөнд RFCOMM сувгийг зааж өгөх хэрэгтэй.</para>
<screen>&prompt.root; <userinput>rfcomm_sppd -a 00:07:E0:00:0B:CA -t /dev/ttyp6</userinput>
rfcomm_sppd[94692]: Starting on /dev/ttyp6...</screen>
<para>Холбогдсоны дараа псевдо tty нь цуваа порт шиг ашиглагдаж болно:</para>
<screen>&prompt.root; <userinput>cu -l ttyp6</userinput></screen>
</sect2>
<sect2>
<title>Алдааг олж засварлах</title>
<sect3>
<title>Алсын төхөөрөмж холбогдож чадахгүй байх</title>
<para>Зарим нэг хуучин Bluetooth төхөөрөмжүүд нь үүрэг шилжүүлэлтийг дэмждэггүй.
Анхдагчаар &os; нь шинэ холболтыг хүлээн авахдаа үүргийг өөрчилж мастер болохыг
оролддог. Үүнийг дэмждэггүй төхөөрөмжүүд нь холбогдож чаддаггүй. Шинэ холболт
хийгдэхэд үүрэг шилжүүлэлт хийгддэгийг санаарай. Тийм учраас алсын төхөөрөмжөөс
үүрэг шилжүүлэлтийг дэмждэг эсэхийг нь асуух боломжгүй юм. Локал тал дээрээ
үүрэг шилжүүлэлтийг хаах HCI тохируулга байдаг:</para>
<screen>&prompt.root; <userinput>hccontrol -n ubt0hci write_node_role_switch 0</userinput></screen>
</sect3>
<sect3>
<title>Ямар нэгэн юм буруу болоод байна, би яг юу болоод байгааг харж болох уу?</title>
<para>Тиймээ, та харж болно. <filename role="package">comms/hcidump</filename> порт
хэлбэрээр байдаг гуравдагч талын багц <application>hcidump</application>-г ашиглана.
<application>hcidump</application> хэрэгсэл нь &man.tcpdump.1;-тай төстэй.
Энэ нь Bluetooth пакетуудын агуулгыг терминал дээр харуулж Bluetooth пакетуудыг
файл уруу гаргахад хэрэглэгдэж болно.</para>
</sect3>
</sect2>
</sect1>
<sect1 id="network-bridging">
<sect1info>
<authorgroup>
<author>
<firstname>Стив</firstname>
<surname>Питерсон</surname>
<contrib>Бичсэн </contrib>
</author>
</authorgroup>
</sect1info>
<title>Гүүр</title>
<sect2>
<title>Танилцуулга</title>
<indexterm><primary>IP дэд сүлжээ</primary></indexterm>
<indexterm><primary>гүүр</primary></indexterm>
<para>Заримдаа нэг физик сүлжээг (Ethernet сегмент зэрэг)
IP дэд сүлжээнүүд үүсгэж сегментүүдийг хооронд нь чиглүүлэгчээр
цугт нь холбож ашиглалгүйгээр хоёр тусдаа сүлжээний сегмент болгох нь ашигтай
байдаг. Ийм маягаар хоёр сүлжээг хооронд нь холбодог төхөөрөмжийг
<quote>bridge</quote> буюу <quote>гүүр</quote> гэдэг.
Хоёр сүлжээний интерфэйс карттай FreeBSD систем гүүр маягаар ажиллаж
чаддаг.</para>
<para>Гүүр нь өөрийн сүлжээний интерфэйс бүрийн төхөөрөмжийн MAC давхаргын
хаягуудыг (Ethernet хаягууд) сурч ажилладаг. Түүний эх болон төгсгөл нь
зөвхөн өөр өөр сүлжээнд байгаа тохиолдолд хоёр сүлжээний хооронд
урсгалыг дамжуулдаг.</para>
<para>Олон талаараа гүүр нь маш цөөн порттой Ethernet шилжүүлэгчтэй адил
юм.</para>
</sect2>
<sect2>
<title>Гүүр хийхэд тохирох тохиолдлууд</title>
<para>Өнөөдөр гүүр ашиглагддаг хоёр нийтлэг тохиолдол байдаг.</para>
<sect3>
<title>Сегмент дээр урсгал их байх</title>
<para>Эхний тохиолдол нь таны физик сүлжээний сегмент урсгалаар хэт ачаалагдсан
бөгөөд сүлжээг дэд сүлжээ болгон хувааж тэдгээрийг чиглүүлэгчээр
холбохыг та ямар нэгэн шалтгаанаар хүсэхгүй байгаа тохиолдол юм.</para>
<para>Редакцийн болон Үйлдвэрлэлийн хэлтсүүд нэг дэд сүлжээнд байгаа сонингийн
газрыг авч үзье. Редакцийн хэрэглэгчид нь бүгдээрээ файлын үйлчилгээндээ
<hostid>A</hostid> серверийг, Үйлдвэрлэлийн хэрэглэгчид нь
<hostid>B</hostid> сервер дээр байна. Ethernet сүлжээ нь бүх хэрэглэгчдийг
холбоход хэрэглэгддэг бөгөөд сүлжээний өндөр ачаалал сүлжээг удаашруулж буй.</para>
<para>Хэрэв Редакцийн хэрэглэгчид нь сүлжээний нэг сегментэд, Үйлдвэрлэлийн
хэрэглэгчид өөр нэг сегментэд тусгаарлагдвал хоёр сүлжээний сегмент нь
гүүрээр холбогдож болох юм. Гүүрийн зөвхөн <quote>нөгөө</quote> талын
интерфэйс уруу чиглэсэн сүлжээний урсгал тэр сүлжээ уруу илгээгдэх бөгөөд ингэснээр
сүлжээний сегмент бүр дэх ачаалал багасах юм.</para>
</sect3>
<sect3>
<title>Шүүх/урсгал хэлбэржүүлэх галт хана</title>
<indexterm><primary>галт хана</primary></indexterm>
<indexterm><primary>NAT</primary></indexterm>
<para>Хоёр дахь нийтлэг тохиолдол бол сүлжээний хаягийн хөрвүүлэлтгүй (NAT)
галт ханын ажиллагаа шаардлагатай тохиолдол юм.</para>
<para>Үүний жишээ нь DSL юм уу эсвэл ISDN-ээр ISP уруугаа холбогдсон
жижиг компани юм. Тэд 13 ширхэг гаднаас хандах боломжтой IP хаягийг
өөрсдийн ISP-ээс авдаг бөгөөд сүлжээндээ 10 PC-тэй. Энэ тохиолдолд
чиглүүлэгч дээр тулгуурласан галт хана нь дэд сүлжээний асуудлуудаас болоод
төвөгтэй байна.</para>
<indexterm><primary>чиглүүлэгч</primary></indexterm>
<indexterm><primary>DSL</primary></indexterm>
<indexterm><primary>ISDN</primary></indexterm>
<para>Гүүр дээр тулгуурласан галт ханыг тохируулж тэдний DSL/ISDN чиглүүлэгчийн
замд ямар нэгэн IP хаяглалтын асуудалгүйгээр тавьж болно.</para>
</sect3>
</sect2>
<sect2>
<title>Гүүрийг тохируулах</title>
<sect3>
<title>Сүлжээний интерфэйс картын сонголт</title>
<para>Гүүр нь ажиллахын тулд хамгийн багадаа хоёр сүлжээний карттай
байхыг шаарддаг. Харамсалтай нь бүх сүлжээний интерфэйс картууд
гүүрийг дэмждэггүй. Дэмжигдсэн картуудын талаарх дэлгэрэнгүй
мэдээллийг &man.bridge.4;-с уншина уу.</para>
<para>Үргэлжлүүлэхээсээ өмнө хоёр сүлжээний картаа суулгаад тест хийх
хэрэгтэй.</para>
</sect3>
<sect3>
<title>Цөмийн тохиргооны өөрчлөлтүүд</title>
<indexterm>
<primary>цөмийн тохируулгууд</primary>
<secondary>BRIDGE</secondary>
</indexterm>
<para>Гүүрийн цөмийн дэмжлэгийг идэвхжүүлэхийн тулд дараах:</para>
<programlisting>options BRIDGE</programlisting>
<para>мөрийг өөрийн цөмийн тохиргооны файлдаа нэмээд цөмөө дахин бүтээнэ.</para>
</sect3>
<sect3>
<title>Галт ханын дэмжлэг</title>
<indexterm><primary>галт хана</primary></indexterm>
<para>Хэрэв та гүүрийг галт хана маягаар ашиглахыг төлөвлөж байгаа бол
<literal>IPFIREWALL</literal> тохируулгыг бас нэмэх хэрэгтэй.
Гүүрийг галт хана хэлбэрээр тохируулах ерөнхий мэдээллийг
<xref linkend="firewalls"> хэсгээс уншина уу.</para>
<para>Хэрэв та IP биш пакетуудыг (ARP зэрэг) гүүрээр дамжин урсахыг
зөвшөөрөх хэрэгтэй бол гурван тохируулга байдаг. Эхнийх нь дараах тохируулгыг
цөмдөө нэмээд дахин бүтээх явдал юм:<para>
<programlisting>option IPFIREWALL_DEFAULT_TO_ACCEPT</programlisting>
<para>Хоёр дахь нь галт ханын төрлөө <filename>rc.conf</filename> файлд
<quote><literal>open</literal></quote> буюу нээлттэй гэж тохируулах явдал юм:</para>
<programlisting>firewall_type="open"</programlisting>
<para>Эдгээр тохируулгууд нь галт ханыг бүр мөсөн харагдуулахгүй болгодгийг
тэмдэглэе; дурын пакет эсвэл холболт анхдагчаар зөвшөөрөгдөх болно.
Энэ нь галт ханын дүрмийн олонлогт нэлээн өөрчлөлтүүдийг шаардаж болох юм.</para>
<para>Гурав дахь тохируулга нь дараахийг &man.ipfw.8; дүрмэнд нэмэх
явдал юм:</para>
<screen>&prompt.root; <userinput>ipfw add allow mac-type arp layer2</userinput></screen>
<para>Эсвэл үүнийг тухайн үеийн галт ханын дүрмийн олонлогт нэмнэ. Энэ дүрэм нь
&man.arp.8; пакетуудыг нэвтэрхийг идэвхтэйгээр зөвшөөрдөг учраас түүнийг
аль болох эхэнд шалгуулахын тулд дүрмийн олонлогийн эхэн хэсэгтэй ойролцоо тавих ёстой юм.</para>
</sect3>
<sect3>
<title>Урсгал хэлбэржүүлэх дэмжлэг</title>
<para>Хэрэв та гүүрийг урсгал хэлбэржүүлэгч маягаар ашиглахыг хүсвэл
өөрийн цөмийн тохиргоондоо <literal>DUMMYNET</literal> тохируулгыг
нэмэх хэрэгтэй болно. Дэлгэрэнгүй мэдээллийг &man.dummynet.4;-с
уншина уу.</para>
</sect3>
</sect2>
<sect2>
<title>Гүүрийг идэвхжүүлэх</title>
<para>Гүүрийг ажиллаж байх үед идэвхжүүлэхийн тулд дараах:</para>
<programlisting>net.link.ether.bridge.enable=1</programlisting>
<para>мөрийг <filename>/etc/sysctl.conf</filename> файлд, заагдсан интерфэйсүүд дээр гүүрийг идэвхжүүлэхийн тулд:</para>
<programlisting>net.link.ether.bridge.config=<replaceable>if1</replaceable>,<replaceable>if2</replaceable></programlisting>
<para>мөрийг нэмнэ (<replaceable>if1</replaceable> болон
<replaceable>if2</replaceable>-г өөрийн хоёр сүлжээний интерфэйсийн
нэрсээр солиорой). Хэрэв та гүүрээр дамжсан пакетуудыг &man.ipfw.8;-оор
шүүхийг хүсвэл дараах:</para>
<programlisting>net.link.ether.bridge.ipfw=1</programlisting>
<para>мөрийг бас нэмэх хэрэгтэй.</para>
<para>&os;&nbsp;5.2-RELEASE-с өмнөх хувилбаруудын хувьд дараах мөрүүдийг ашиглана:</para>
<programlisting>net.link.ether.bridge=1
net.link.ether.bridge_cfg=<replaceable>if1</replaceable>,<replaceable>if2</replaceable>
net.link.ether.bridge_ipfw=1</programlisting>
</sect2>
<sect2>
<title>Бусад мэдээлэл</title>
<para>Хэрэв та гүүр уруу сүлжээнээс &man.ssh.1; хийж чаддаг байхыг хүсэж байгаа бол
аль нэг сүлжээний карт дээр IP хаяг тавих нь зүйтэй юм. Хоёр карт дээр хоюулан дээр нь
хаяг олгохыг зөвшөөрөх нь буруу юм.</para>
<para>Хэрэв та сүлжээндээ олон гүүртэй бол аль ч хоёр ажлын станцын хооронд нэгээс илүү
зам байх ёсгүй юм. Техникийн хэллэгээр бол энэ нь spanning tree link management
буюу сунан тогтох модны холбоосын удирдлагын дэмжлэг байдаггүй гэсэн үг юм.</para>
<para>Гүүр нь ялангуяа нэг сегментээс нөгөө сегмент уруу урсах урсгалын хувьд
таны &man.ping.8;-ийн хугацаанд хоцрогдол нэмж болох юм.</para>
</sect2>
</sect1>
<sect1 id="network-diskless">
<sect1info>
<authorgroup>
<author>
<firstname>Жан-Франсуа</firstname>
<surname>Докье</surname>
<contrib>Шинэчилсэн </contrib>
</author>
</authorgroup>
<authorgroup>
<author>
<firstname>Алекс</firstname>
<surname>Дюпре</surname>
<contrib>Дахин зохион байгуулж өргөтгөсөн </contrib>
</author>
</authorgroup>
</sect1info>
<title>Дискгүй ажиллагаа</title>
<indexterm><primary>дискгүй ажлын станц</primary></indexterm>
<indexterm><primary>дискгүй ажиллагаа</primary></indexterm>
<para>FreeBSD машин сүлжээгээр ачаалан локал дискгүйгээр <acronym>NFS</acronym>
сервер дээр холбогдсон файлын системүүд ашиглаад ажиллаж чаддаг. Стандарт тохиргооны
файлуудаас өөр системийн өөрчлөлт шаардлагагүй. Ийм системийг харьцангуй хялбараар
тохируулж болдог. Учир нь шаардлагатай бүх элементүүд бэлэн байдаг:</para>
<itemizedlist>
<listitem>
<para>Цөмийг сүлжээгээр ачаалах хоёр боломжит арга хамгийн багаар бодоход
байдаг:</para>
<itemizedlist>
<listitem>
<para><acronym>PXE</acronym>: &intel;-ийн Preboot eXecution
Environment буюу ачаалалт хийгдэхээс өмнөх ажиллуулах орчны систем нь
зарим сүлжээний картууд эсвэл эх хавтангуудад цуг бүтээгдсэн байдаг
ухаалаг ачаалах ROM-ийн нэг хэлбэр юм. Илүү дэлгэрэнгүйг
&man.pxeboot.8;-с үзнэ үү.</para>
</listitem>
<listitem>
<para><application>Etherboot</application>
порт (<filename role="package">net/etherboot</filename>) нь
цөмийг сүлжээгээр ачаалах ROM хийгдэх боломжтой код үүсгэдэг.
Код нь сүлжээний картан дээр ачаалах ROM уруу шарагдсан байх юм уу эсвэл
локал уян (эсвэл хатуу) дискийн хөтчөөс эсвэл ажиллаж байгаа &ms-dos;
системээс дуудагдахаар байдаг. Олон сүлжээний карт дэмжигдсэн
байгаа.</para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para>Жишээ скрипт (<filename>/usr/share/examples/diskless/clone_root</filename>)
нь сервер дээр ажлын станцын root файлын системийг үүсгэх болон түүний ажиллагааг хангах
үйлдлийг хөнгөвчилдөг. Скрипт нь магадгүй жижиг өөрчлөлтийг шаардаж болох боловч
энэ нь таныг хурдан эхлүүлэх болно.</para>
</listitem>
<listitem>
<para>Дискгүй системийн эхлүүлэлтийг илрүүлж дэмжих стандарт системийн эхлүүлэгч
файлууд <filename>/etc</filename> санд байдаг.</para>
</listitem>
<listitem>
<para>swap хийх хэрэв шаардлагатай бол <acronym>NFS</acronym> файл эсвэл
локал диск уруу хийж болох юм.</para>
</listitem>
</itemizedlist>
<para>Дискгүй ажлын станцуудыг тохируулах олон арга байдаг. Олон элементүүд үүнд
хамрагддаг бөгөөд өөрийн сонирхлоор ихэнхийг нь өөрчилж болно. Дараах нь
бүрэн системийг тохируулах талаарх хувилбаруудыг тайлбарлах болно. Ингэхдээ
стандарт FreeBSD эхлүүлэх скриптүүдтэй хялбар, нийцтэй байхыг чухалчлах
болно. Тайлбарласан систем нь дараах шинжүүдтэй байна:</para>
<itemizedlist>
<listitem>
<para>Дискгүй ажлын станцууд нь хуваалцсан, зөвхөн уншигдах
<filename>/</filename> файлын систем болон хуваалцсан, зөвхөн уншигдах
<filename>/usr</filename>-г ашигладаг.</para>
<para>root файлын систем нь зөвхөн дискгүй ажиллагаатай холбоотой эсвэл
тэдгээрийн харьяалагдах ажлын станцтай холбоотой зарим тохиргооны
файлууд нь өөрчлөгдсөн стандарт FreeBSD root-ийн (ихэвчлэн серверийн)
хуулбар юм.</para>
<para>Бичигдэх боломжтой байх root-ийн хэсэг нь &man.md.4; файлын
системээр дээр тавигддаг (overlaid). Систем дахин ачаалахад хийгдсэн
өөрчлөлтүүд алга болох болно.</para>
</listitem>
<listitem>
<para>Цөм дамжуулагдаж <application>Etherboot</application> эсвэл
<acronym>PXE</acronym>-ийн аль нэгээр дуудагддаг бөгөөд зарим тохиолдолд
зөвхөн аль нэг аргыг ашиглахыг шаардаж болох юм.</para>
</listitem>
</itemizedlist>
<caution><para>Тайлбарласны дагуу энэ систем нь аюултай юм. Энэ нь сүлжээний
хамгаалагдсан талбарт байх ёстой бөгөөд бусад хостуудаас хандахааргүй
байх ёстой.</para>
</caution>
<para>Энэ хэсгийн бүх мэдээллийг &os; 5.2.1-RELEASE ашиглан тест хийсэн болно.</para>
<sect2>
<title>Үндсэн мэдээлэл</title>
<para>Дискгүй ажлын станцуудыг тохируулах нь харьцангуй амархан боловч алдаанд
өртөх хандлагатай байдаг. Хэд хэдэн шалтгаанаас болоод эдгээрийг заримдаа
оношлох төвөгтэй байдаг. Жишээ нь:</para>
<itemizedlist>
<listitem>
<para>Эмхэтгэлтийн үеийн тохируулгууд нь ажиллах үед өөрөөр ажиллахыг
тодорхойлж болох юм.</para>
</listitem>
<listitem>
<para>Алдааны мэдэгдлүүд нь ихэвчлэн нуугдмал эсвэл бүр байхгүй ч
байж болно.</para>
</listitem>
</itemizedlist>
<para>Энд гарч болзошгүй асуудлуудыг шийдэхэд үндсэн арга замуудын зарим нэг
мэдлэгийг ашиглах нь маш ашигтай байдаг.</para>
<para>Амжилттайгаар эхлүүлэхийн тулд хэд хэдэн үйлдлүүдийг хийх хэрэгтэй:</para>
<itemizedlist>
<listitem>
<para>Машин өөрийн IP хаяг, ажиллах файлын нэр, серверийн нэр, root зам
зэрэг эхний параметрүүдийг авах хэрэгтэй. Үүнийг <acronym>DHCP</acronym> эсвэл
BOOTP протоколуудыг ашиглан хийдэг. <acronym>DHCP</acronym> нь
BOOTP-ийн нийцтэй өргөтгөл бөгөөд адил портын дугаарууд болон үндсэн
пакетийн хэлбэршүүлэлтийг ашигладаг.</para>
<para>Зөвхөн BOOTP ашиглахаар системийг тохируулах боломжтой.
&man.bootpd.8; серверийн програм нь үндсэн &os; системд орсон
байдаг.</para>
<para>Гэхдээ <acronym>DHCP</acronym> нь BOOTP-ээс хэд хэдэн давуу
талтай байдаг (илүү сайхан тохиргооны файлууд, <acronym>PXE</acronym>
ашиглах боломж, дискгүй ажиллагаатай шууд холбоогүй бусад олон давуу талууд)
бөгөөд бид голчлон <acronym>DHCP</acronym> тохиргоог боломжтой бол
&man.bootpd.8; ашиглан таарах жишээнүүдтэй нь хамт тайлбарлах болно.
Жишээ тохиргоо нь <application>ISC DHCP</application> програм
хангамжийн багцыг (тест сервер дээр 3.0.1.r12 хувилбар суулгагдсан)
ашиглах болно.</para>
</listitem>
<listitem>
<para>Машин нь нэг буюу хэд хэдэн програмуудыг локал санах ой уруугаа дамжуулах
хэрэгтэй болно. <acronym>TFTP</acronym> юм уу эсвэл <acronym>NFS</acronym>
ашиглагдана. <acronym>TFTP</acronym> болон <acronym>NFS</acronym>-ийн
сонголтыг хэд хэдэн газар эмхэтгэх үеийн тохируулгаар хийдэг. Алдааний түгээмэл
эх үүсвэр нь буруу протоколд зориулж файлын нэрүүдийг заах явдал юм:
<acronym>TFTP</acronym> нь сервер дээрх ганц сангаас бүх файлуудыг
ихэвчлэн дамжуулдаг бөгөөд энэ сантай харьцангуй файлын нэрсийг хүлээдэг.
<acronym>NFS</acronym>-д файлын туйлын (абсолют) замууд хэрэгтэй
байдаг.
</para>
</listitem>
<listitem>
<para>Боломжит дундын эхлүүлэх програмууд болон цөм нь эхлэн тохируулагдаж ажиллах
шаардлагатай. Энд хэд хэдэн чухал хувилбарууд байдаг:</para>
<itemizedlist>
<listitem>
<para><acronym>PXE</acronym> нь &os;-ийн гурав дахь шатны дуудагчийн
өөрчлөгдсөн хувилбар болох &man.pxeboot.8;-ийг ачаална. &man.pxeboot.8; нь
системийг эхлүүлэхэд шаардлагатай ихэнх параметрүүдийг авч хяналтыг дамжуулахаасаа
өмнө тэдгээрийг цөмийн орчинд үлдээх болно. Энэ тохиолдолд
<filename>GENERIC</filename> цөмийг ашиглах боломжтой.</para>
</listitem>
<listitem>
<para><application>Etherboot</application> нь бага бэлтгэлтэйгээр
цөмийг шууд ачаалах болно. Та цөмийг тусгай тохируулгуудтай бүтээх
хэрэгтэй болно.</para>
</listitem>
</itemizedlist>
<para><acronym>PXE</acronym> болон <application>Etherboot</application>
нь адилхан ажиллана; гэхдээ цөмүүд нь &man.loader.8;-ийн тэдэнд зориулж
илүү ажил хийх боломжийг олгодог болохоор <acronym>PXE</acronym> нь
зохимжтой арга юм.</para>
<para>Хэрэв таны <acronym>BIOS</acronym> болон сүлжээний картууд нь
<acronym>PXE</acronym>-г дэмждэг бол та үүнийг ашиглах
хэрэгтэй байж болох юм.</para>
</listitem>
<listitem>
<para>Эцэст нь машин өөрийн файлын системүүдэд хандах хэрэгтэй болно.
<acronym>NFS</acronym> нь бүх тохиолдолд хэрэглэгдэнэ.</para>
</listitem>
</itemizedlist>
<para>&man.diskless.8; гарын авлагын хуудсыг бас үзнэ үү.</para>
</sect2>
<sect2>
<title>Тохируулах зааврууд</title>
<sect3>
<title><application>ISC DHCP</application> ашиглах тохиргоо</title>
<indexterm>
<primary>DHCP</primary>
<secondary>дискгүй ажиллагаа</secondary>
</indexterm>
<para><application>ISC DHCP</application> сервер BOOTP болон
<acronym>DHCP</acronym> хүсэлтүүдэд хариулж чаддаг.</para>
<para><application>ISC DHCP 3.0</application> нь үндсэн системийн
хэсэг биш юм. Та эхлээд <filename role="package">net/isc-dhcp3-server</filename>
порт юм уу эсвэл тохирох багцыг суулгах хэрэгтэй.</para>
<para><application>ISC DHCP</application> суулгагдсаны дараа
ажиллахын тулд тохиргооны файл хэрэгтэй болно (ихэвчлэн
<filename>/usr/local/etc/dhcpd.conf</filename> гэж
нэрлэгддэг). Доор <hostid>margaux</hostid> хост <application>Etherboot</application>-ийг
ашигласан ба <hostid>corbieres</hostid> хост <acronym>PXE</acronym>-г ашиглаж байгаа
тайлбар хийгдсэн жишээ байна:</para>
<programlisting>
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; <co id="co-dhcp-host-name">
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; <co id="co-dhcp-next-server">
filename "/data/misc/kernel.diskless"; <co id="co-dhcp-filename">
option root-path "192.168.4.4:/data/misc/diskless"; <co id="co-dhcp-root-path">
}
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";
}
}
</programlisting>
<calloutlist>
<callout arearefs="co-dhcp-host-name"><para>Энэ тохируулга нь
<literal>host</literal> зарлалтууд дахь утгыг дискгүй хостын
хувьд хостын нэр болгон илгээхийг <application>dhcpd</application>-д
хэлнэ. Өөр нэг арга нь <literal>option host-name
<replaceable>margaux</replaceable></literal> мөрийг
<literal>host</literal> зарлалтуудын дотор нэмэх явдал юм.</para>
</callout>
<callout arearefs="co-dhcp-next-server"><para>
<literal>next-server</literal> тохируулга нь дуудагч эсвэл цөмийн
файлыг дуудахад зориулж <acronym>TFTP</acronym> эсвэл
<acronym>NFS</acronym> серверийг ашиглахыг зааж өгнө (анхдагчаар
<acronym>DHCP</acronym> сервер байгаа хостыг ашиглана).</para>
</callout>
<callout arearefs="co-dhcp-filename"><para>
<literal>filename</literal> тохируулга нь <application>Etherboot</application>
эсвэл <acronym>PXE</acronym>-ийн дараагийн ажиллуулах алхамд дуудах
файлыг тодорхойлно. Үүнийг ашиглах дамжуулалтын аргын дагуу заасан байх
ёстой. <application>Etherboot</application>-ийг
<acronym>NFS</acronym> эсвэл <acronym>TFTP</acronym>
ашиглахаар эмхэтгэж болно. &os; порт нь <acronym>NFS</acronym>-ийг
анхдагчаар тохируулдаг. <acronym>PXE</acronym> нь
<acronym>TFTP</acronym>-г ашигладаг. Энд яагаад харьцангуй файлын
нэр хэрэглэгддэгийн учир нь тэр юм (энэ нь <acronym>TFTP</acronym>
серверийн тохиргооноос хамаарах боловч ерөнхийдөө нэлээн энгийн байх болно).
<acronym>PXE</acronym> нь цөмийг биш бас <filename>pxeboot</filename>-г
дууддаг. &os; CD-ROM
<filename role="directory">/boot</filename> сангаас
<filename>pxeboot</filename>-ийг дуудах зэрэг бусад сонирхолтой боломжууд
байдаг (&man.pxeboot.8; нь <filename>GENERIC</filename> цөмийг
ачаалж чаддаг бөгөөд энэ нь алсын CD-ROM-с ачаалахын тулд <acronym>PXE</acronym>-г
ашиглах боломжтой болгодог юм).</para>
</callout>
<callout arearefs="co-dhcp-root-path"><para>
<literal>root-path</literal> тохируулга нь root файлын систем хүрэх
замыг энгийн <acronym>NFS</acronym> бичлэгээр тодорхойлдог.
<acronym>PXE</acronym> ашиглаж байгаа үед цөмийн тохиргоо BOOTP-г идэвхжүүлээгүй
байхад хостын IP-г орхигдуулах боломжтой байдаг. <acronym>NFS</acronym>
сервер дараа нь <acronym>TFTP</acronym> сервертэй адил
болох болно.</para>
</callout>
</calloutlist>
</sect3>
<sect3>
<title>BOOTP ашиглах тохиргоо</title>
<indexterm>
<primary>BOOTP</primary>
<secondary>дискгүй ажиллагаа</secondary>
</indexterm>
<para>Энд <application>bootpd</application>-ийн адил тохиргоо
(нэг клиент болгож багасгасан) байна. Үүнийг <filename>/etc/bootptab</filename>
файлаас олж болно.</para>
<para>BOOTP-г ашиглахын тулд <application>Etherboot</application>-ийг
анхдагч биш тохируулга <literal>NO_DHCP_SUPPORT</literal>-тойгоор
эмхэтгэх ёстой бөгөөд <acronym>PXE</acronym>-д <acronym>DHCP</acronym>
<emphasis>хэрэгтэй</emphasis> гэдгийг санаарай. <application>bootpd</application>-ийн
цорын ганц илэрхий давуу тал бол үндсэн системд орсон байдаг явдал юм.</para>
<programlisting>
.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
</programlisting>
</sect3>
<sect3>
<title>Ачаалах програмыг <application>Etherboot</application>-ээр бэлдэх</title>
<indexterm>
<primary>Etherboot</primary>
</indexterm>
<para><ulink url="http://etherboot.sourceforge.net">Etherboot-ийн вэб сайт</ulink>
нь Линукс системд голчлон зориулагдсан боловч ашигтай мэдээлэл агуулсан
<ulink url="http://etherboot.sourceforge.net/doc/html/userman/t1.html">
өргөтгөсөн баримт</ulink>ыг агуулдаг. Дараах нь FreeBSD систем дээр
<application>Etherboot</application>-г хэрхэн ашиглах талаар
тайлбарлах болно.</para>
<para>Та эхлээд <filename
role="package">net/etherboot</filename> багц юм уу эсвэл портыг
суулгах ёстой.</para>
<para><application>Etherboot</application>-ийн тохиргоог
<application>Etherboot</application>-ийн эх байгаа сан дахь
<filename>Config</filename> файлыг засварлаж (өөрөөр хэлбэл
<acronym>NFS</acronym>-ийн оронд <acronym>TFTP</acronym>-г
ашиглахын тулд) өөрчилж болно.</para>
<para>Бидний тохиргооны хувьд бид ачаалах уян дискийг ашиглах болно.
Бусад аргуудын хувьд (PROM, эсвэл &ms-dos; програм)
<application>Etherboot</application>-ийн баримтаас лавлана уу.</para>
<para>Ачаалах уян дискийг хийхийн тулд <application>Etherboot</application>
суулгасан машин дээрх хөтөч уруугаа уян дискээ хийгээд <application>Etherboot</application>
мод дахь <filename>src</filename> сан уруу болгож одоогийн сангаа солиод
дараахийг бичнэ:</para>
<screen>
&prompt.root; <userinput>gmake bin32/<replaceable>devicetype</replaceable>.fd0</userinput>
</screen>
<para><replaceable>devicetype</replaceable> нь дискгүй ажлын
станц дахь Ethernet картын төрлөөс хамаарна.
Зөв <replaceable>devicetype</replaceable> буюу төхөөрөмжийн
төрлийг тодорхойлохын тулд тэр сан дахь <filename>NIC</filename>
файлд хандана.</para>
</sect3>
<sect3>
<title><acronym>PXE</acronym>-ээр ачаалах</title>
<para>Анхдагчаар &man.pxeboot.8; дуудагч нь <acronym>NFS</acronym>-ээр
цөмийг дууддаг. <filename>/etc/make.conf</filename> файлд
<literal>LOADER_TFTP_SUPPORT</literal> тохируулга заахын оронд
<acronym>TFTP</acronym>-г ашиглахаар эмхэтгэгдэж болно.
Заавруудын талаар <filename>/usr/share/examples/etc/make.conf</filename>
файл дахь тайлбаруудыг үзнэ үү.</para>
<para>Цуваа консол дискгүй машин тохируулахад ашигтай байж болох
<filename>make.conf</filename> файлын өөр хоёр тохируулга байдаг: эдгээр нь
<literal>BOOT_PXELDR_PROBE_KEYBOARD</literal>, болон
<literal>BOOT_PXELDR_ALWAYS_SERIAL</literal> юм.</para>
<para>Машин эхлэхэд <acronym>PXE</acronym>-г ашиглахын тулд та өөрийн
<acronym>BIOS</acronym>-ийн тохируулгаас <literal>Boot from network</literal>
буюу <literal>Сүлжээнээс ачаалах</literal> сонголтыг сонгох юм
уу эсвэл PC-г эхлүүлж байх үед функцийн товчлуурыг дарах хэрэгтэй.</para>
</sect3>
<sect3>
<title><acronym>TFTP</acronym> болон <acronym>NFS</acronym> серверүүдийг тохируулах</title>
<indexterm>
<primary>TFTP</primary>
<secondary>дискгүй ажиллагаа</secondary>
</indexterm>
<indexterm>
<primary>NFS</primary>
<secondary>дискгүй ажиллагаа</secondary>
</indexterm>
<para>Хэрэв та <acronym>TFTP</acronym> ашиглахаар тохируулсан
<acronym>PXE</acronym> юм уу эсвэл <application>Etherboot</application>-г
ашиглаж байгаа бол файл сервер дээрээ <application>tftpd</application>-г
идэвхжүүлэх хэрэгтэй:</para>
<procedure>
<step>
<para><application>tftpd</application>-д зориулж файлууд байх
сан үүсгэнэ, өөрөөр хэлбэл <filename>/tftpboot</filename>.</para>
</step>
<step>
<para>Энэ мөрийг өөрийн
<filename>/etc/inetd.conf</filename> файлд нэмнэ:</para>
<programlisting>tftp dgram udp wait root /usr/libexec/tftpd tftpd -l -s /tftpboot</programlisting>
<note><para>Зарим нэгэн <acronym>PXE</acronym> хувилбарууд нь
<acronym>TFTP</acronym>-ийн <acronym>TCP</acronym> хувилбарыг
хүсдэг байна. Энэ тохиолдолд <literal>dgram udp</literal> мөрийг
<literal>stream tcp</literal> болгон сольж хоёр дахь мөрийг
нэмнэ.</para>
</note>
</step>
<step>
<para><application>inetd</application>-д өөрийн тохиргооны файлаа
дахин уншихыг хэлээрэй. Энэ тушаалыг зөв ажиллуулахын тулд
<filename>/etc/rc.conf</filename> файлд
<option>inetd_enable="YES"</option> тохируулга заагдсан
байх ёстой:</para>
<screen>&prompt.root; <userinput>/etc/rc.d/inetd restart</userinput></screen>
</step>
</procedure>
<para>Та <filename>tftpboot</filename> санг серверийнхээ хаана ч
байрлуулж болно. <filename>inetd.conf</filename> болон
<filename>dhcpd.conf</filename> файлууд дээрээ байрлалаа
заасан эсэхээ шалгаарай.</para>
<para>Аль ч тохиолдолд та бас <acronym>NFS</acronym>-ээ идэвхжүүлж
<acronym>NFS</acronym> сервер дээрээ тохирох файлын системээ экспорт хийх
хэрэгтэй юм.</para>
<procedure>
<step>
<para>Үүнийг <filename>/etc/rc.conf</filename>-д нэмнэ:</para>
<programlisting>nfs_server_enable="YES"</programlisting>
</step>
<step>
<para>Дараахийг <filename>/etc/exports</filename> файл уруу нэмж
дискгүй root сан байгаа файлын системээ экспорт хийнэ (эзлэхүүний холбох
цэгийг тааруулж <replaceable>margaux corbieres</replaceable>
гэснийг дискгүй ажлын станцуудын нэрсээр солих хэрэгтэй):</para>
<programlisting><replaceable>/data/misc</replaceable> -alldirs -ro <replaceable>margaux corbieres</replaceable></programlisting>
</step>
<step>
<para><application>mountd</application>-д өөрийн тохиргооны файлаа
дахин уншихыг хэлнэ. Хэрэв та эхний шатандаа <acronym>NFS</acronym>-г
<filename>/etc/rc.conf</filename> файлд идэвхжүүлэх хэрэгтэй
болсон бол харин дахин ачаалахыг хүсэж болох юм.</para>
<screen>&prompt.root; <userinput>/etc/rc.d/mountd restart</userinput></screen>
</step>
</procedure>
</sect3>
<sect3>
<title>Дискгүй цөмийг бүтээх</title>
<indexterm>
<primary>дискгүй ажиллагаа</primary>
<secondary>цөмийн тохиргоо</secondary>
</indexterm>
<para>Хэрэв <application>Etherboot</application>-г ашиглаж байгаа
бол дискгүй клиентдээ зориулж дараах тохируулгуудтайгаар (ердийн тохируулгуудын хамтаар)
цөмийн тохиргооны файл үүсгэх хэрэгтэй:</para>
<programlisting>
options BOOTP # Use BOOTP to obtain IP address/hostname
options BOOTP_NFSROOT # NFS mount root file system using BOOTP info
</programlisting>
<para>Та бас <literal>BOOTP_NFSV3</literal>,
<literal>BOOT_COMPAT</literal> болон <literal>BOOTP_WIRED_TO</literal>
(<filename>NOTES</filename> файлаас лавлана уу) тохируулгуудыг ашиглахыг хүсэж болох
юм.</para>
<para>Эдгээр тохируулгуудын нэрс нь уламжлалт бөгөөд тэдгээр нь яг үнэндээ
<acronym>DHCP</acronym> болон BOOTP-ийн өөр хэрэглээг цөм дотор идэвхжүүлдэг
болохоор нэлээн төөрөгдөлд хүргэж болох юм (зөвхөн BOOTP эсвэл <acronym>DHCP</acronym>-ийн
хэрэглээг ашиглахаар болгох бас боломжтой байдаг).</para>
<para>Цөмийг бүтээж (<xref linkend="kernelconfig">-г үзнэ үү),
<filename>dhcpd.conf</filename> файлд заасан байрлал уруу
хуулах хэрэгтэй.</para>
<note>
<para><acronym>PXE</acronym>-г ашиглаж байгаа үед дээрх тохируулгуудтайгаар
цөмийг бүтээх нь заавал шаардлагагүй (хэдийгээр зөвлөдөг боловч).
Тэдгээрийг идэвхжүүлэх нь цөмийг эхлүүлэх явцад илүү олон <acronym>DHCP</acronym>
хүсэлтүүдийг үүсгэж шинэ утгууд болон зарим тусгай тохиолдлуудад &man.pxeboot.8;-ийн
авсан утгуудын хооронд нийцэмжгүй байдлын жижиг эрсдэл гаргахад хүргэдэг.
Тэдгээрийг ашиглахын давуу тал нь буруу нөлөөллөөс болоод хостын нэр тохируулагддаг
явдал юм. Үгүй бол та хостын нэрийг өөр аргаар, жишээ нь клиентэд тусгайлан зориулсан
<filename>rc.conf</filename> файлд тохируулах хэрэгтэй болно.</para>
</note>
<note>
<para><application>Etherboot</application>-ээр дуудагдах боломжтой
байхын тулд цөмд төхөөрөмжийн бяцхан зааврууд эмхэтгэгдсэн байх хэрэгтэй
байдаг. Ингэхдээ та дараах тохируулгыг тохиргооны файлдаа тохируулах
болно (<filename>NOTES</filename> тохиргооны тайлбаруудын файлыг
үзнэ үү):</para>
<programlisting>hints "GENERIC.hints"</programlisting>
</note>
</sect3>
<sect3>
<title>Root файлын системийг бэлдэх</title>
<indexterm>
<primary>root файлын систем</primary>
<secondary>дискгүй ажиллагаа</secondary>
</indexterm>
<para>Дискгүй ажлын станцад зориулж <filename>dhcpd.conf</filename>
файлд <literal>root-path</literal> гэж жагсаагдсан байрлалд
root файлын системийг та үүсгэх хэрэгтэй.</para>
<sect4>
<title>root-ийг суурьшуулахын тулд <command>make world</command> тушаал ашиглах</title>
<para>Энэ арга нь хурдан байх бөгөөд бүрэн онгон системийг (зөвхөн root файлын
систем биш) <envar>DESTDIR</envar> уруу суулгах болно.
Та дараах скриптийг л өрдөө ажиллуулах хэрэгтэй болно:</para>
<programlisting>#!/bin/sh
export DESTDIR=/data/misc/diskless
mkdir -p ${DESTDIR}
cd /usr/src; make buildworld &amp;&amp; make buildkernel
cd /usr/src/etc; make distribution</programlisting>
<para>Үүнийг хийсний дараа танд өөрийнхөө хэрэгцээний дагуу
<envar>DESTDIR</envar>-д байрлуулагдсан өөрийн
<filename>/etc/rc.conf</filename> болон
<filename>/etc/fstab</filename> файлуудаа өөрчлөн тохируулах
шаардлага гарч болох юм.</para>
</sect4>
</sect3>
<sect3>
<title>Swap-ийг тохируулах</title>
<para>Шаардлагатай бол сервер дээр байрласан swap файлд
<acronym>NFS</acronym>-ээр хандаж болно.</para>
<sect4>
<title><acronym>NFS</acronym> Swap</title>
<para>Цөм нь ачаалах үед <acronym>NFS</acronym> swap-ийг
идэвхжүүлэхийг дэмждэггүй. Бичигдэх файлын системийг холбож
swap файлыг үүсгэн идэвхжүүлэх замаар эхлүүлэх скриптүүдээр
swap нь идэвхжүүлэгдэх ёстой. Зохих хэмжээ бүхий swap файлыг
үүсгэхдээ та ингэж хийж болно:</para>
<screen>&prompt.root; <userinput>dd if=/dev/zero of=<replaceable>/path/to/swapfile</replaceable> bs=1k count=1 oseek=<replaceable>100000</replaceable></userinput></screen>
<para>Үүнийг идэвхжүүлэхийн тулд та дараах мөрийг өөрийн
<filename>rc.conf</filename> файлд нэмэх хэрэгтэй:</para>
<programlisting>swapfile=<replaceable>/path/to/swapfile</replaceable></programlisting>
</sect4>
</sect3>
<sect3>
<title>Бусад асуудлууд</title>
<sect4>
<title>Зөвхөн уншигдах <filename>/usr</filename> сантайгаар ажиллах</title>
<indexterm>
<primary>дискгүй ажиллагаа</primary>
<secondary>/usr зөвхөн уншигдах</secondary>
</indexterm>
<para>Хэрэв дискгүй ажлын станц нь X-ийг ажиллуулахаар тохируулагдсан бол
анхдагчаар <filename>/usr</filename>-т алдааны бүртгэлийг
хийдэг <application>XDM</application> тохиргооны файлыг
та тааруулах хэрэгтэй болно.</para>
</sect4>
<sect4>
<title>FreeBSD биш сервер ашиглах</title>
<para>root файлын системд зориулсан сервер нь FreeBSD-г ажиллуулаагүй бол
та FreeBSD машин дээр root файлын систем үүсгээд хэрэгтэй байрлал
уруу нь <command>tar</command> эсвэл <command>cpio</command> тушаал
ашиглан хуулах хэрэгтэй болно.</para>
<para>Энэ тохиолдолд бүхэл тооны их/бага (major/minor) хэмжээнүүдийн ялгаанаас
болоод <filename>/dev</filename> дахь тусгай файлуудад заримдаа
асуудал гардаг. Энэ асуудлын шийдэл нь FreeBSD биш серверээс
уг санг экспорт хийж энэ сангаа FreeBSD машин дээр холбон хэрэглэгчийн
хувьд төхөөрөмжийн цэгүүдийг харагдахгүйгээр (transparently) хуваарилахын тулд
&man.devfs.5;-ийг ашиглах явдал юм.</para>
</sect4>
</sect3>
</sect2>
</sect1>
<sect1 id="network-isdn">
<title>ISDN</title>
<indexterm>
<primary>ISDN</primary>
</indexterm>
<para>ISDN технолог болон тоног төхөөрөмжийн талаарх мэдээллийн сайн эх үүсвэр нь
<ulink url="http://www.alumni.caltech.edu/~dank/isdn/">Дан Кегелийн ISDN
хуудас</ulink> юм.</para>
<para>ISDN-ий талаарх хялбар заавруудыг доор дурдав:</para>
<itemizedlist>
<listitem>
<para>Хэрэв та Европд амьдарч байгаа бол ISDN картын хэсгийг та магадгүй
шалгахыг хүсэж болох юм.</para>
</listitem>
<listitem>
<para>Хэрэв та Интернет уруу Интернетийн үйлчилгээ үзүүлэгчтэй
dial-up-аар байнгын бишээр холбогдохдоо ISDN-ийг голчлон хэрэглэхээр төлөвлөж байгаа
бол та Терминал Хувиргагчдыг үзэж болох юм. Хэрэв та үйлчилгээ үзүүлэгчдээ солих бол
энэ нь асуудлууд хамгийн багатайгаар хамгийн уян хатан чанарыг танд өгөх болно.</para>
</listitem>
<listitem>
<para>Хэрэв та хоёр LAN-ийг хооронд нь холбож байгаа бол эсвэл Интернет уруу
зориулагдсан ISDN холболтоор холбогдож байгаа бол зориулагдсан чиглүүлэгч/гүүр
сонголтыг бодолцож болох юм.</para>
</listitem>
</itemizedlist>
<para>Аль шийдлийг сонгохыг тодорхойлоход чухал хүчин зүйл нь өртөг юм. Дараах сонголтуудыг
хамгийн бага өртөгтэйгээс нь эхлээд хамгийн их өртөгтэй хүртэл жагсаав.</para>
<sect2 id="network-isdn-cards">
<sect2info>
<authorgroup>
<author>
<firstname>Хелмут</firstname>
<surname>Михаелис</surname>
<contrib>Хувь нэмэр болгон оруулсан </contrib>
</author>
</authorgroup>
</sect2info>
<title>ISDN картууд</title>
<indexterm>
<primary>ISDN</primary>
<secondary>картууд</secondary>
</indexterm>
<para>FreeBSD-ийн ISDN шийдэл нь идэвхгүй картыг ашиглаад зөвхөн
DSS1/Q.931 (буюу Euro-ISDN) стандартыг дэмждэг. Firmware нь
бас бусад дохионы протоколуудыг дэмждэг зарим идэвхтэй картуудыг
дэмждэг; энэ нь бас хамгийн эхэнд дэмжигдсэн Primary Rate (PRI) буюу
Анхдагч Хурд бүхий ISDN картыг оруулдаг.</para>
<para><application>isdn4bsd</application> програм хангамж нь
бусад ISDN чиглүүлэгчүүдтэй түүхий HDLC дээгүүрх IP юм уу эсвэл
синхрон PPP: өөрчлөн засварласан &man.sppp.4; драйвер
<literal>isppp</literal>-тэй цөмийн PPP юм уу эсвэл хэрэглэгчийн талбарын &man.ppp.8;
ашиглан холбогдох боломжийг олгодог. Хэрэглэгчийн талбарын &man.ppp.8; ашиглан
хоёр буюу түүнээс дээш ISDN B-сувгуудын суваг холболтыг (channel bonding)
хийх боломжтой байдаг. Утас хариулагч машины хэрэглээ бас байдаг
байдаг бөгөөд бас програм хангамжийн 300 baud модем зэрэг олон хэрэгслүүд
байдаг.</para>
<para>FreeBSD дээр дэмжигдсэн зарим PC ISDN картуудын тоо өсөн нэмэгдэж байгаа
бөгөөд энэ нь бүх л Европ болон дэлхийн бусад олон хэсэгт амжилттайгаар ашиглагдаж
байгаа мэдээллүүд байдаг.</para>
<para>Дэмжигдсэн идэвхгүй (пассив) 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 зэрэг зарим нэгэн
үйлдвэрлэгчээс хамааралтай бичил схем бүхий картууд ордог.</para>
<para>Одоогоор идэвхтэй дэмжигдсэн ISDN картууд нь AVM B1
(ISA болон PCI) BRI картууд болон AVM T1 PCI PRI картууд юм.</para>
<para><application>isdn4bsd</application>-ийн баримтын талаар
өөрийн FreeBSD систем дээрээ <filename>/usr/share/examples/isdn/</filename>
сангаас эсвэл бяцхан зөвлөгөө, алдааны мэдээлэл болон <ulink
url="http://people.FreeBSD.org/~hm/">isdn4bsd
гарын авлага</ulink> зэрэг илүү баримтыг заасан
<ulink url="http://www.freebsd-support.de/i4b/">isdn4bsd-ийн эх хуудас isdn4bsd</ulink>
хаягаас үзээрэй.</para>
<para>Хэрэв та өөр ISDN протокол, одоогоор дэмжигдээгүй байгаа ISDN PC картад
зориулж дэмжлэг нэмэх эсвэл <application>isdn4bsd</application>-ийг өргөжүүлэх
сонирхолтой байгаа бол &a.hm;-тай холбоо барина уу.</para>
<para><application>isdn4bsd</application>-ийн суулгалт, тохиргоо болон
алдааг олж засварлах талаарх асуултуудад зориулагдсан &a.isdn.name;
захидлын жагсаалт байдаг.</para>
</sect2>
<sect2>
<title>ISDN Терминал Хувиргагчид</title>
<para>Терминал хувиргагчид (TA) нь модемууд нь ердийн утасны шугамд зориулагдсан байдаг
шиг ISDN-ий хувьд зориулагдсан байдаг.</para>
<indexterm><primary>модем</primary></indexterm>
<para>Ихэнх TA нь стандарт Hayes модемийн AT тушаалын олонлогийг ашигладаг бөгөөд
модемийг шууд солих зориулалтаар ашиглаж болно.</para>
<para>TA нь ерөнхийдөө модемтой адил ажилладаг. Ялгаатай тал нь холболт болон
дамжуулах хурдны хувьд таны хуучин модемоос хамаагүй хурдан байдаг явдал юм.
Та модемийн тохиргоотой яг адил <link linkend="ppp">PPP</link>-г
тохируулах хэрэгтэй болно. Цуваа хурдыг хамгийн өндрөөр аль болох тавьсан эсэхээ
шалгаарай.</para>
<indexterm><primary>PPP</primary></indexterm>
<para>TA-г ашиглахын гол давуу тал нь динамик PPP-ээр хийж болдогтой адил Интернетийн
үйлчилгээ үзүүлэгчтэй холбогдох явдал юм. IP хаягийн хэмжээ өдөр ирэх тутам багасч байгаа
өнөө үед ихэнх үйлчилгээ үзүүлэгчид танд статик IP өгөх хүсэлгүй байдаг. Ихэнх зориулагдсан
чиглүүлэгчид динамик IP хуваарилалттай зохицож чаддаггүй.</para>
<para>TA-уудын боломжууд болон холболтын тогтвортой байдалд зориулан таны ажиллуулж байдаг
PPP демонд TA-ууд нь бүрэн найддаг. Хэрэв та PPP-г аль хэдийн тохируулсан бол энэ нь
FreeBSD машин дээр модемийг ашиглаж байгаад ISDN уруу хялбараар сайжруулах боломжийг
олгодог. Гэхдээ танд тулгарсан PPP програм дээр байсан асуудлууд бас хэвээр үлдэх
болно.</para>
<para>Хэрэв та максимум тогтвортой байдлыг хүсэж байгаа бол <link
linkend="userppp">хэрэглэгчийн талбарын PPP</link> биш цөмийн <link
linkend="ppp">PPP</link> тохируулгыг ашиглаарай.</para>
<para>Дараах TA-ууд нь FreeBSD-тэй ажилладаг:</para>
<itemizedlist>
<listitem>
<para>Motorola BitSurfer болон Bitsurfer Pro</para>
</listitem>
<listitem>
<para>Adtran</para>
</listitem>
</itemizedlist>
<para>Ихэнх бусад TA-ууд нь магадгүй бас ажиллах байх. TA үйлдвэрлэгчид нь
өөрсдийнхөө бүтээгдэхүүнийг стандарт модемийн AT тушаалын олонлогийн ихэнхийг
хүлээн авч чаддагаар хийхийг оролддог.</para>
<para>Гадаад TA-ийн жинхэнэ асуудал нь модемуудын адил таны компьютер дээр
сайн цуваа карт хэрэгтэй явдал юм.</para>
<para>Та цуваа төхөөрөмжүүдийн талаарх дэлгэрэнгүй ойлголт болон асинхрон ба
синхрон цуваа портуудын ялгаануудын талаар <ulink
url="&url.articles.serial-uart;/index.html">FreeBSD Цуваа Тоног
Төхөөрөмж</ulink>ийн заавраас унших шаардлагатай.</para>
<para>Стандарт PC цуваа порт (асинхрон) дээр ажиллаж байгаа TA нь таныг
128&nbsp;Kbs холболттой байсан ч гэсэн 115.2&nbsp;Kbs хурдаар хязгаарладаг.
ISDN-ий чаддаг 128&nbsp;Kbs хурдыг бүрэн ашиглахын тулд та TA-г синхрон
цуваа карт уруу шилжүүлэх шаардлагатай.</para>
<para>Дотоод TA худалдан авч синхрон/асинхрон асуудлаас тойрон гарчлаа гэж
битгий тэнэгтээрэй. Дотоод TA-ууд нь ердөө л өөр дээрээ бүтээгдсэн стандарт PC цуваа
портын бичил схемтэй байдаг. Энэ нь ердөө л өөр цуваа кабел худалдан авч өөр хоосон
цахилгаан сокет олох асуудлыг хөнгөвчилдөг.</para>
<para>TA-тэй синхрон карт нь ядаж дангаараа зориулагдсан чиглүүлэгчтэй адил хурдан
байдаг бөгөөд түүнийг энгийн FreeBSD хайрцаг удирдаж байгаа нь магадгүй илүү уян хатан
юм.</para>
<para>Синхрон карт/TA болон зориулагдсан чиглүүлэгчийн алийг сонгох нь голчлон сүсэг бишрэлийн
асуудал байдаг. Энэ талаар зарим хэлэлцүүлэг захидлын жагсаалтуудаар явагдсан байгаа.
Бүрэн хэлэлцүүлгийг <ulink url="&url.base;/search/index.html">архивууд</ulink>аас
хайхыг бид санал болгож байна.</para>
</sect2>
<sect2>
<title>Зориулагдсан ISDN Гүүрнүүд/Чиглүүлэгчид</title>
<indexterm>
<primary>ISDN</primary>
<secondary>зориулагдсан гүүрнүүд/чиглүүлэгчид</secondary>
</indexterm>
<para>ISDN гүүрнүүд эсвэл чиглүүлэгчид нь зөвхөн FreeBSD эсвэл бусад
үйлдлийн системийн хувьд биш юм. Чиглүүлэлт болон гүүр хийх технологийн
талаар илүү дэлгэрэнгүй тайлбарыг сүлжээний ямар нэг номноос үзнэ үү.</para>
<para>Энэ хэсгийн хувьд чиглүүлэгч болон гүүр гэсэн ухагдахуунууд нь харилцан
солигдож ашиглагдана.</para>
<para>Доод зэрэглэлийн ISDN чиглүүлэгчид/гүүрнүүдийн үнэ багасаж байгаа
болохоор энэ нь улам илүү түгээмэл сонголт болох юм. ISDN чиглүүлэгч нь
таны локал Ethernet сүлжээ уруу шууд залгагддаг жижиг хайрцаг байдаг
бөгөөд бусад гүүр/чиглүүлэгчтэй хийх өөрийн холболтоо удирддаг. Энэ нь
PPP болон бусад түгээмэл протоколуудын тусламжтай холболт хийх өөртөө
цуг бүтээгдсэн програм хангамжтай байдаг.</para>
<para>Чиглүүлэгч нь бүрэн ISDN холболтыг ашиглах болохоор стандарт TA-аас
хамаагүй илүү хурдан дамжуулах боломжийг олгодог.</para>
<para>ISDN чиглүүлэгчид болон гүүрнүүдийн гол асуудал нь үйлдвэрлэгчид
хоорондын харилцан ажиллах боломж асуудал хэвээр байгаа явдал юм.
Хэрэв та Интернетийн үйлчилгээ үзүүлэгчтэй холбогдохоор төлөвлөж байгаа бол
тэд нартай өөрийн хэрэгцээний талаар хэлэлцэх нь зүйтэй юм.</para>
<para>Хэрэв та өөрийн гэрийн LAN-ийг оффисийн LAN-тай холбох зэргээр хоёр LAN
сегментийг хооронд нь холбохоор төлөвлөж байгаа бол энэ нь хамгийн хялбар
ажиллагаа багатай шийдэл юм. Та холболт хийгдэх гэж байгаа хоёр талдаа
хоюуланд нь зориулан төхөөрөмж авах болохоор холболт ажиллах тал дээр
итгэлтэй байж болно.</para>
<para>Жишээ нь гэрийн компьютер эсвэл салбар оффисийн сүлжээг гол оффисийн
сүлжээтэй холбохын тулд дараах тохируулгыг ашиглаж болно:</para>
<example>
<title>Салбар оффис эсвэл Гэрийн сүлжээ</title>
<indexterm><primary>10 base 2</primary></indexterm>
<para>Сүлжээ нь 10 base 2
Ethernet (<quote>thinnet</quote>) сүлжээний шугаман хэлбэрийг
ашиглана. Шаардлагатай бол чиглүүлэгчийг сүлжээний кабельтай
AUI/10BT хувиргагчаар холбоно.</para>
<mediaobject>
<imageobject>
<imagedata fileref="advanced-networking/isdn-bus">
</imageobject>
<textobject>
<literallayout class="monospaced">---Sun workstation
|
---FreeBSD box
|
---Windows 95
|
Stand-alone router
|
ISDN BRI line</literallayout>
</textobject>
<textobject>
<phrase>10 Base 2 Ethernet</phrase>
</textobject>
</mediaobject>
<para>Хэрэв таны гэр/салбар оффис нь зөвхөн нэг компьютер бол та зориулагдсан
чиглүүлэгчийг холбохын тулд эрчилсэн хос зөрсөн кабелийг (twisted pair crossover
cable) ашиглаж болно.</para>
</example>
<example>
<title>Гол оффис эсвэл бусад LAN</title>
<indexterm><primary>10 base T</primary></indexterm>
<para>Сүлжээ нь 10 base T Ethernet
(<quote>Twisted Pair</quote>) сүлжээний од хэлбэрийг
ашиглана.</para>
<mediaobject>
<imageobject>
<imagedata fileref="advanced-networking/isdn-twisted-pair">
</imageobject>
<textobject>
<literallayout class="monospaced"> -------Novell Server
| H |
| ---Sun
| |
| U ---FreeBSD
| |
| ---Windows 95
| B |
|___---Stand-alone router
|
ISDN BRI line</literallayout>
</textobject>
<textobject>
<phrase>ISDN Сүлжээний зураг</phrase>
</textobject>
</mediaobject>
</example>
<para>Ихэнх чиглүүлэгчид/гүүрнүүдийн нэг том давуу тал нь <emphasis>нэг зэрэг</emphasis>
2 тусдаа сайт уруу 2 <emphasis>тусдаа чөлөөтэй</emphasis> PPP холболтуудтай
байх боломжийг олгодог явдал юм. Хоёр цуваа порттой тусгай (ихэвчлэн үнэтэй) загваруудыг
тооцохгүй бол энэ нь ихэнх TA-ууд дээр дэмжигдээгүй байдаг. Үүнийг суваг холболт (channel
bonding), MPP зэрэгтэй андуурч болохгүй.</para>
<para>Жишээ нь хэрэв та оффис дээрээ зориулагдсан ISDN холболттой бөгөөд
түүнийг чагнахыг хүсэж байгаа боловч өөр нэг ISDN шугам авахыг хүсэхгүй байгаа
бол энэ нь маш ашигтай боломж байж болох юм. Оффист байгаа чиглүүлэгч нь
Интернет уруу хийх зориулагдсан B сувгийн холболтыг (64&nbsp;Kbps) удирдаж
тусдаа өгөгдлийн холболтод зориулж өөр B сувгийг ашиглаж чадна. Хоёр дахь
B суваг нь гаднаас залгах, гадагш залгах юм уу эсвэл илүү өргөн зурвасд зориулж
эхний B сувагтай цуг динамикаар холболт (bonding) хийхэд (MPP зэрэг)
ашиглагдаж болно.</para>
<indexterm><primary>IPX/SPX</primary></indexterm>
<para>Ethernet гүүр нь зөвхөн IP урсгал биш бас өөр илүүг дамжуулах боломжийг танд
олгодог. Та IPX/SPX эсвэл өөрийн ашигладаг бусад протоколуудынхаа алийг ч бас илгээж
болох юм.</para>
</sect2>
</sect1>
<sect1 id="network-natd">
<sect1info>
<authorgroup>
<author>
<firstname>Шерн</firstname>
<surname>Ли</surname>
<contrib>Хувь нэмэр болгон оруулсан </contrib>
</author>
</authorgroup>
</sect1info>
<title>Network Address Translation буюу Сүлжээний Хаягийн Хөрвүүлэлт</title>
<sect2 id="network-natoverview">
<title>Тойм</title>
<indexterm>
<primary><application>natd</application></primary>
</indexterm>
<para>FreeBSD-ийн Network Address Translation буюу Сүлжээний Хаягийн Хөрвүүлэлтийн демон нь
&man.natd.8; гэгддэг бөгөөд ирж байгаа түүхий IP пакетуудыг хүлээн авч эх хаягийг
локал машиныхаар сольж эдгээр пакетуудыг гарч байгаа IP пакетийн урсгалд буцааж
дахин оруулдаг. &man.natd.8; нь өгөгдлийг буцаан хүлээн авахад өгөгдлийн анхын байрлалыг
тодорхойлж чаддаг байхаар эхлэл IP хаяг болон портыг өөрчилж түүнийг анхлан хүсэгчид буцааж
дамжуулдаг.</para>
<indexterm><primary>Интернетийн холболт хуваалцах</primary></indexterm>
<indexterm><primary>NAT</primary></indexterm>
<para>NAT-ийн хамгийн түгээмэл хэрэглээ бол Интернетийн холболт хуваалцах гэгддэгийг
хийж гүйцэтгэх явдал юм.</para>
</sect2>
<sect2 id="network-natsetup">
<title>Анхны тохируулга</title>
<para>IP хаягийн хэмжээ багасаж байгаа болон кабел эсвэл DSL зэрэг өндөр хурдны хэрэглэгчийн
шугамууд ашиглах хэрэглэгчдийн тоо ихэссэнээс болоод хүмүүст Интернетийн холболт хуваалцах шийдлийн
хэрэгцээ нэмэгдэх болсон билээ. Хэд хэдэн компьютеруудыг шууд нэг холболтоор холбох чадвар болон
IP хаяг нь &man.natd.8;-г боломжийн сонголт болгодог.</para>
<para>Хамгийн түгээмэл тохиолдол нь хэрэглэгч кабел эсвэл DSL шугаманд нэг IP хаягтай холбогдсон
машинтай бөгөөд LAN-аар дамжуулан хэд хэдэн компьютеруудад Интернетийн хандалт өгөхийн тулд
энэ холбогдсон нэг компьютераа ашиглахыг хүсдэг явдал юм.</para>
<para>Үүнийг хийхийн тулд Интернет дэх FreeBSD машин нь гарц маягаар ажиллах ёстой.
Энэ гарц машин нь хоёр NIC-тэй байх ёстой&mdash;нэг нь Интернетийн чиглүүлэгч уруу холбогдохын
тулд, нөгөөх нь LAN уруу холбогдохын тулд ашиглагдах ёстой. LAN дахь бүх машинууд нь
холбох төхөөрөмж (hub) юм уу эсвэл шилжүүлэгчээр (switch) холбогдсон байна.</para>
<note>
<para>&os; гарцаар LAN-ийг Интернеттэй холбох олон арга замууд байдаг.
Энэ жишээ нь хамгийн багаар бодоход хоёр NIC-тэй гарцыг зөвхөн тайлбарлах
болно.</para>
</note>
<mediaobject>
<imageobject>
<imagedata fileref="advanced-networking/natd">
</imageobject>
<textobject>
<literallayout class="monospaced"> _______ __________ ________
| | | | | |
| Hub |-----| Client B |-----| Router |----- Internet
|_______| |__________| |________|
|
____|_____
| |
| Client A |
|__________|</literallayout>
</textobject>
<textobject>
<phrase>Network Layout</phrase>
</textobject>
</mediaobject>
<para>Үүнтэй адил тохиргоог Интернетийн холболтыг хуваалцахын тулд түгээмэл
ашигладаг. <acronym>LAN</acronym> машинуудын нэг нь Интернетэд
холбогдсон. Бусад машинууд нь тэр <quote>гарц</quote> машинаар
Интернетэд ханддаг.</para>
</sect2>
<sect2 id="network-natdkernconfiguration">
<indexterm>
<primary>цөм</primary>
<secondary>тохиргоо</secondary>
</indexterm>
<title>Тохиргоо</title>
<para>Дараах тохируулгууд цөмийн тохиргооны файлд байх ёстой:</para>
<programlisting>options IPFIREWALL
options IPDIVERT</programlisting>
<para>Мөн нэмэлтээр дараах нь бас тохиромжтой байж болох юм:</para>
<programlisting>options IPFIREWALL_DEFAULT_TO_ACCEPT
options IPFIREWALL_VERBOSE</programlisting>
<para>Дараах нь <filename>/etc/rc.conf</filename> файлд байх ёстой:</para>
<programlisting>gateway_enable="YES" <co id="co-natd-gateway-enable">
firewall_enable="YES" <co id="co-natd-firewall-enable">
firewall_type="OPEN" <co id="co-natd-firewall-type">
natd_enable="YES"
natd_interface="<replaceable>fxp0</replaceable>" <co id="co-natd-natd-interface">
natd_flags="" <co id="co-natd-natd-flags"></programlisting>
<calloutlist>
<callout arearefs="co-natd-gateway-enable">
<para>Машиныг гарц маягаар ажиллахыг тохируулна.
<command>sysctl net.inet.ip.forwarding=1</command> тушаалыг ажиллуулах
нь бас адил үр дүнтэй.</para>
</callout>
<callout arearefs="co-natd-firewall-enable">
<para><filename>/etc/rc.firewall</filename> файл дахь галт ханын
дүрмүүдийг ачаалах үед идэвхжүүлнэ.</para>
</callout>
<callout arearefs="co-natd-firewall-type">
<para>Энэ нь урьдчилан тодорхойлсон байдаг бүгдийг оруулахыг зөвшөөрдөг галт ханын
дүрмийн олонлогийг заана. Нэмэлт төрлүүдийн талаар
<filename>/etc/rc.firewall</filename> файлаас үзнэ үү.</para>
</callout>
<callout arearefs="co-natd-natd-interface">
<para>Аль интерфэйс пакетуудыг нэвтрүүлэн дамжуулахыг заана
(Интернетэд холбогдсон интерфэйс).</para>
</callout>
<callout arearefs="co-natd-natd-flags">
<para>Ачаалах үед &man.natd.8;-д дамжуулах нэмэлт тохиргооны сонголтууд.</para>
</callout>
</calloutlist>
<para>Өмнөх тохируулгуудыг <filename>/etc/rc.conf</filename> файлд
тодорхойлсноор <command>natd -interface fxp0</command> тушаалыг
ачаалах үед ажиллуулна. Үүнийг гараар бас ажиллуулж болно.</para>
<note>
<para>Их олон сонголтуудыг дамжуулах бол &man.natd.8;-д зориулж тохиргооны
файлыг ашиглаж бас болно. Энэ тохиолдолд дараах мөрийг
<filename>/etc/rc.conf</filename> файлд нэмж тохиргооны файлыг
тодорхойлох шаардлагатай:</para>
<programlisting>natd_flags="-f /etc/natd.conf"</programlisting>
<para><filename>/etc/natd.conf</filename> файл нь тохиргооны сонголтуудын
жагсаалтыг нэг мөрөнд нэгийг байхаар агуулдаг. Жишээ нь дараах хэсгийн хувьд
доорх файлыг ашиглах болно:</para>
<programlisting>redirect_port tcp 192.168.0.2:6667 6667
redirect_port tcp 192.168.0.3:80 80</programlisting>
<para>Тохиргооны файлын талаарх дэлгэрэнгүй мэдээллийг &man.natd.8;
гарын авлагын хуудасны <option>-f</option> тохируулгын талаар
бичсэнээс лавлана уу.</para>
</note>
<para>LAN-ий ард байгаа машин болон интерфэйс бүр <ulink
url="ftp://ftp.isi.edu/in-notes/rfc1918.txt">RFC 1918</ulink>-д
тодорхойлогдсон хувийн сүлжээний хаягаас заагдсан IP хаягтай,
<application>natd</application> машины дотоод IP хаягийг анхдагч
гарц болгон заасан байх ёстой.</para>
<para>Жишээ нь LAN-ий цаана байгаа клиент <hostid>A</hostid> болон
<hostid>B</hostid> нь <hostid
role="ipaddr">192.168.0.2</hostid> болон <hostid
role="ipaddr">192.168.0.3</hostid> гэсэн IP хаягтай байх бол
natd машины LAN интерфэйс нь <hostid
role="ipaddr">192.168.0.1</hostid> гэсэн IP хаягтай байна.
Клиент <hostid>A</hostid> болон <hostid>B</hostid>-ийн анхдагч
гарц <application>natd</application> машины <hostid
role="ipaddr">192.168.0.1</hostid>-ээр тохируулагдах
ёстой. <application>natd</application> машины гадаад
буюу Интернетийн интерфэйс нь &man.natd.8;-г ажиллуулахын тулд
ямар нэгэн тусгайлсан өөрчлөлтийг шаарддаггүй.</para>
</sect2>
<sect2 id="network-natdport-redirection">
<title>Порт дахин чиглүүлэлт</title>
<para>&man.natd.8;-ийн сул тал нь LAN клиентүүдэд Интернетээс хандах боломжгүй
байдаг. LAN дахь клиентүүд нь гаднах ертөнц уруу чиглэсэн гадагшаа холболтуудыг
хийж чадах боловч ирж байгааг хүлээн авч чаддаггүй. LAN клиент машинуудын аль нэгэн
дээр Интернетийн үйлчилгээнүүдийг ажиллуулахыг оролдох үед энэ нь асуудал үүсгэдэг.
Үүнийг тойрох хялбар арга бол <application>natd</application> машины
сонгосон Интернетийн портуудыг LAN клиент уруу дахин чиглүүлэх явдал юм.
</para>
<para>Жишээ нь <hostid>A</hostid> клиент дээр IRC сервер,
<hostid>B</hostid> клиент дээр вэб сервер ажиллаж байна гэж үзье. Эдгээр нь
зөв ажиллахын тулд 6667 (IRC) болон 80 (вэб) портууд дээр хүлээн авсан холболтууд нь
тохирох машинууд уруу дахин чиглүүлэгдэх ёстой юм.
</para>
<para>&man.natd.8; уруу <option>-redirect_port</option> тохируулга зохих
сонголтуудтай дамжуулагдах ёстой. Зөв бичих дүрэм нь ийм байна:</para>
<programlisting> -redirect_port proto targetIP:targetPORT[-targetPORT]
[aliasIP:]aliasPORT[-aliasPORT]
[remoteIP[:remotePORT[-remotePORT]]]</programlisting>
<para>Дээрх жишээний хувьд нэмэлт өгөгдөл нь ийм байх ёстой:</para>
<programlisting> -redirect_port tcp 192.168.0.2:6667 6667
-redirect_port tcp 192.168.0.3:80 80</programlisting>
<para>
Энэ нь зөв <emphasis>tcp</emphasis> портуудыг LAN клиент машинууд уруу дахин
чиглүүлэх болно.
</para>
<para><option>-redirect_port</option> нэмэлт өгөгдлийг порт тус бүрийг
заахад ашиглахаас гадна бас бүлэг портуудыг заахад хэрэглэж болно. Жишээ нь
<replaceable>tcp
192.168.0.2:2000-3000 2000-3000</replaceable> нь 2000-аас 3000 хүртэлх
портууд дээр хүлээн авсан бүх холболтуудыг <hostid>A</hostid> клиентийн
2000-аас 3000 хүртэлх портууд уруу дахин чиглүүлэх болно.</para>
<para>Эдгээр тохируулгуудыг &man.natd.8;-г шууд ажиллуулж байх үед
<filename>/etc/rc.conf</filename> файлд
<literal>natd_flags=""</literal> тохируулга дотор оруулж
ашиглаж болохоос гадна тохиргооны файлын тусламжтай дамжуулж
болно.</para>
<para>Тохиргооны сонголтуудын талаар &man.natd.8;-с лавлана уу</para>
</sect2>
<sect2 id="network-natdaddress-redirection">
<title>Хаяг дахин чиглүүлэлт</title>
<indexterm><primary>хаяг дахин чиглүүлэлт</primary></indexterm>
<para>Хаягийн дахин чиглүүлэлт нь хэд хэдэн IP хаягууд байгаа бөгөөд тэдгээр нь
нэг машин дээр байх ёстой үед ашигтай байдаг. Үүнийг ашиглаад
&man.natd.8; нь өөрийн LAN клиент бүрдээ өөрийн гадаад IP хаягуудыг
өгч чаддаг. Дараа нь &man.natd.8; нь LAN клиентүүдээс ирэх гадагш
чиглэсэн пакетуудыг зөв гадаад IP хаягаас болгон дахин бичиж тухайн IP хаяг
дээр ирж байгаа бүх урсгалыг тохирох LAN клиент уруу дахин чиглүүлдэг.
Энэ нь бас статик NAT гэж нэрлэгддэг. Жишээ нь <hostid role="ipaddr">128.1.1.1</hostid>,
<hostid role="ipaddr">128.1.1.2</hostid>, болон
<hostid role="ipaddr">128.1.1.3</hostid> гэсэн IP хаягууд нь
<application>natd</application> гарц машинд харьяалагдаж байна
гэж үзье. <hostid role="ipaddr">128.1.1.1</hostid> нь
<application>natd</application> гарц машины гадаад IP хаяг болон
ашиглагдаж болох бол <hostid role="ipaddr">128.1.1.2</hostid> болон
<hostid role="ipaddr">128.1.1.3</hostid> нь <hostid>A</hostid> болон
<hostid>B</hostid> LAN клиентүүд уруу буцааж дамжуулагдахаар байж болно.</para>
<para><option>-redirect_address</option> бичлэг нь дараах маягийн байна:</para>
<programlisting>-redirect_address localIP publicIP</programlisting>
<informaltable frame="none" pgwide="1">
<tgroup cols="2">
<tbody>
<row>
<entry>localIP</entry>
<entry>LAN клиентийн дотоод IP хаяг.</entry>
</row>
<row>
<entry>publicIP</entry>
<entry>LAN клиентэд тохирох гадаад IP хаяг.</entry>
</row>
</tbody>
</tgroup>
</informaltable>
<para>Энэ жишээний хувьд энэхүү нэмэлт өгөгдөл нь ингэж уншигдаж болно:</para>
<programlisting>-redirect_address 192.168.0.2 128.1.1.2
-redirect_address 192.168.0.3 128.1.1.3</programlisting>
<para><option>-redirect_port</option> тохируулгын нэгэн адил эдгээр
нэмэлт өгөгдлүүдийг <filename>/etc/rc.conf</filename> файлын
<literal>natd_flags=""</literal> тохируулгад хийж өгч болохоос
гадна тохиргооны файлаар дамжуулж болно. Хаягийн дахин чиглүүлэлт дээр
тухайн нэг IP хаяг дээр хүлээн авсан бүх өгөгдөл дахин чиглүүлэгддэг учраас
портын дахин чиглүүлэлт шаардлагагүй байдаг.</para>
<para><application>natd</application> машины гадаад IP хаягууд нь идэвхтэй байж
гадаад интерфэйсийн нэрээр нэрлэгдсэн байх ёстой. Үүнийг хийхийн тулд &man.rc.conf.5;-г
үзнэ үү.</para>
</sect2>
</sect1>
<sect1 id="network-plip">
<title>Parallel Line IP (PLIP) буюу Зэрэгцээ Шугамын IP</title>
<indexterm><primary>PLIP</primary></indexterm>
<indexterm>
<primary>Parallel Line IP</primary>
<see>PLIP</see>
</indexterm>
<para>PLIP нь параллель буюу зэрэгцээ портуудын хооронд TCP/IP ажиллуулах
боломж олгодог. Энэ нь сүлжээний картгүй машинууд дээр эсвэл зөөврийн компьютер
дээр суулгахад ашигтай байдаг. Энэ хэсэгт бид дараах зүйлсийг хэлэлцэх
болно:</para>
<itemizedlist>
<listitem>
<para>Зэрэгцээ (laplink) кабелийг хийх.</para>
</listitem>
<listitem>
<para>PLIP-ээр хоёр компьютерийг холбох.</para>
</listitem>
</itemizedlist>
<sect2 id="network-create-parallel-cable">
<title>Зэрэгцээ кабелийг хийх</title>
<para>Та зэрэгцээ кабелийг ихэнх компьютерийн хангамжийн дэлгүүрээс худалдан
авч болно. Хэрэв та тэгж чадахгүй бол эсвэл та зүгээр л яаж хийгддэгийг мэдэхийг
хүсэж байгаа бол дараах хүснэгт нь ердийн зэрэгцээ хэвлэгчийн кабелаас
тийм кабел хэрхэн хийхийг харуулж байна.</para>
<table frame="none">
<title>Сүлжээнд зориулж зэрэгцээ кабел хийх нь</title>
<tgroup cols="5">
<thead>
<row>
<entry>A-нэр</entry>
<entry>A-Төгсгөл</entry>
<entry>B-Төгсгөл</entry>
<entry>Тайлбар</entry>
<entry>Post/Bit</entry>
</row>
</thead>
<tbody>
<row>
<entry><literallayout>DATA0
-ERROR</literallayout></entry>
<entry><literallayout>2
15</literallayout></entry>
<entry><literallayout>15
2</literallayout></entry>
<entry>Өгөгдөл</entry>
<entry><literallayout>0/0x01
1/0x08</literallayout></entry>
</row>
<row>
<entry><literallayout>DATA1
+SLCT</literallayout></entry>
<entry><literallayout>3
13</literallayout></entry>
<entry><literallayout>13
3</literallayout></entry>
<entry>Өгөгдөл</entry>
<entry><literallayout>0/0x02
1/0x10</literallayout></entry>
</row>
<row>
<entry><literallayout>DATA2
+PE</literallayout></entry>
<entry><literallayout>4
12</literallayout></entry>
<entry><literallayout>12
4</literallayout></entry>
<entry>Өгөгдөл</entry>
<entry><literallayout>0/0x04
1/0x20</literallayout></entry>
</row>
<row>
<entry><literallayout>DATA3
-ACK</literallayout></entry>
<entry><literallayout>5
10</literallayout></entry>
<entry><literallayout>10
5</literallayout></entry>
<entry>Strobe</entry>
<entry><literallayout>0/0x08
1/0x40</literallayout></entry>
</row>
<row>
<entry><literallayout>DATA4
BUSY</literallayout></entry>
<entry><literallayout>6
11</literallayout></entry>
<entry><literallayout>11
6</literallayout></entry>
<entry>Өгөгдөл</entry>
<entry><literallayout>0/0x10
1/0x80</literallayout></entry>
</row>
<row>
<entry>GND</entry>
<entry>18-25</entry>
<entry>18-25</entry>
<entry>GND</entry>
<entry>-</entry>
</row>
</tbody>
</tgroup>
</table>
</sect2>
<sect2 id="network-plip-setup">
<title>PLIP-ийг тохируулах</title>
<para>Эхлээд та laplink кабел олж авах хэрэгтэй.
Дараа нь хоёр компьютер хоюулаа &man.lpt.4; драйверийн
дэмжлэгтэй цөмтэй эсэхийг шалгаарай:</para>
<screen>&prompt.root; <userinput>grep lp /var/run/dmesg.boot</userinput>
lpt0: &lt;Printer&gt; on ppbus0
lpt0: Interrupt-driven port</screen>
<para>Зэрэгцээ порт нь тасалдлаар удирдагддаг порт байх ёстой
бөгөөд та өөрийн <filename>/boot/device.hints</filename>
файлдаа доорхитой төстэй мөрүүдтэй байх ёстой:</para>
<programlisting>hint.ppc.0.at="isa"
hint.ppc.0.irq="7"</programlisting>
<para>Дараа нь цөмийн тохиргооны файлд <literal>device plip</literal>
мөр байгаа эсэх эсвэл цөмийн <filename>plip.ko</filename> модуль
дуудагдсан эсэхийг шалгана. Аль ч тохиолдолд таныг &man.ifconfig.8; ашиглан
үзүүлэх үед зэрэгцээ сүлжээний интерфэйс гарч ирэх ёстой:</para>
<screen>&prompt.root; <userinput>ifconfig plip0</userinput>
plip0: flags=8810&lt;POINTOPOINT,SIMPLEX,MULTICAST&gt; mtu 1500</screen>
<para>Компьютер бүрийн зэрэгцээ интерфэйс уруу laplink кабелаа
залгана.</para>
<para>Сүлжээний интерфэйсийн өгөгдлүүдийг хоёр талын хоюулан дээр
<username>root</username> хэрэглэгчээр тохируулна. Жишээ нь хэрэв та
<hostid>host1</hostid> хостыг өөр <hostid>host2</hostid> машинтай
холбохыг хүсвэл:</para>
<programlisting> host1 &lt;-----&gt; host2
IP Address 10.0.0.1 10.0.0.2</programlisting>
<para><hostid>host1</hostid> дээрх интерфэйсийг дараахийг хийж тохируулна:</para>
<screen>&prompt.root; <userinput>ifconfig plip0 10.0.0.1 10.0.0.2</userinput></screen>
<para><hostid>host2</hostid> дээрх интерфэйсийг дараахийг хийж тохируулна:</para>
<screen>&prompt.root; <userinput>ifconfig plip0 10.0.0.2 10.0.0.1</userinput></screen>
<para>Та одоо ажилладаг холболттой болсон байх ёстой. Дэлгэрэнгүй мэдээллийг
&man.lp.4; болон &man.lpt.4; гарын авлагын хуудаснуудаас уншина уу.</para>
<para>Та хоёр хостыг хоюуланг нь <filename>/etc/hosts</filename> файлд
нэмэх хэрэгтэй:</para>
<programlisting>127.0.0.1 localhost.my.domain localhost
10.0.0.1 host1.my.domain host1
10.0.0.2 host2.my.domain</programlisting>
<para>Холболт ажиллаж байгааг баталгаажуулахын тулд хост бүр уруу очоод
нөгөө тал уруу ping хийнэ. Жишээ нь <hostid>host1</hostid> дээр:</para>
<screen>&prompt.root; <userinput>ifconfig plip0</userinput>
plip0: flags=8851&lt;UP,POINTOPOINT,RUNNING,SIMPLEX,MULTICAST&gt; mtu 1500
inet 10.0.0.1 --&gt; 10.0.0.2 netmask 0xff000000
&prompt.root; <userinput>netstat -r</userinput>
Routing tables
Internet:
Destination Gateway Flags Refs Use Netif Expire
host2 host1 UH 0 0 plip0
&prompt.root; <userinput>ping -c 4 host2</userinput>
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</screen>
</sect2>
</sect1>
<sect1 id="network-ipv6">
<sect1info>
<authorgroup>
<author>
<firstname>Аарон</firstname>
<surname>Каплан</surname>
<contrib>Анхлан бичсэн </contrib>
</author>
</authorgroup>
<authorgroup>
<author>
<firstname>Том</firstname>
<surname>Рөүдс</surname>
<contrib>Дахин бүтцийг өөрчилж нэмсэн </contrib>
</author>
</authorgroup>
<authorgroup>
<author>
<firstname>Брэд</firstname>
<surname>Дэйвис</surname>
<contrib>Өргөтгөсөн </contrib>
</author>
</authorgroup>
</sect1info>
<title>IPv6</title>
<para>IPv6 (бас IPng <quote>IP next generation</quote> буюу дараа үеийн IP гэгддэг) нь
олонд танигдсан IP протоколын (бас <acronym>IPv4</acronym> гэгддэг) шинэ хувилбар юм.
Одоогийн бусад *BSD системүүдийн адил FreeBSD нь KAME IPv6 лавлагаа шийдлийг
агуулдаг. Тэгэхээр таны FreeBSD систем таныг IPv6-г туршихад хэрэгтэй бүхнийг агуулсан
байдаг. Энэ хэсэг нь IPv6-г тохируулж ажиллуулах талаар анхаарлаа хандуулах болно.</para>
<para>1990 оны эхэн үеэс хүмүүс IPv4-ийн хаягийн хэмжээ хурдацтай багасаж
байгааг мэдэх болсон. Интернетийн өсөлтийн хурдаас хамаараад хоёр гол асуудал
гарч ирсэн:</para>
<itemizedlist>
<listitem>
<para>Хаяггүй болж эхэлсэн. RFC1918 хувийн хаягийн талбар
(<hostid role="ipaddr">10.0.0.0/8</hostid>,
<hostid role="ipaddr">172.16.0.0/12</hostid>, болон
<hostid role="ipaddr">192.168.0.0/16</hostid>) болон
Network Address Translation (<acronym>NAT</acronym>) буюу
Сүлжээний хаягийн хөрвүүлэлтийг ашигладаг болсон болохоор өнөөдөр энэ нь
тийм ч чухал асуудал байхаа больсон.</para>
</listitem>
<listitem>
<para>Чиглүүлэгчийн хүснэгтийн оруулгууд хэтэрхий ихсэж байгаа явдал.
Энэ нь өнөөдөр асуудал хэвээр байгаа билээ.</para>
</listitem>
</itemizedlist>
<para>IPv6 нь эдгээр асуудлууд болон өөр бусад олныг шийддэг:</para>
<itemizedlist>
<listitem>
<para>128 битийн хаягийн талбар. Өөрөөр хэлбэл онолын хувьд
340,282,366,920,938,463,463,374,607,431,768,211,456 хаяг байна.
Энэ нь манай гариг дээрх нэг квадрат метр бүрт ойролцоогоор 6.67 * 10^27 IPv6 хаяг
байна гэсэн үг юм.</para>
</listitem>
<listitem>
<para>Чиглүүлэгчүүд нь зөвхөн сүлжээний нийлбэр хаягуудыг өөрсдийн чиглүүлэлтийн
хүснэгтүүдэд хадгалах бөгөөд ингэснээр чиглүүлэлтийн хүснэгтийн дундаж хэмжээг
8192 хүртэл бууруулдаг.</para>
</listitem>
</itemizedlist>
<para>IPv6-ийн бусад ашигтай олон боломжууд бас байдаг, тэдгээрээс дурдвал:</para>
<itemizedlist>
<listitem>
<para>Хаягийн автомат тохиргоо (<ulink
url="http://www.ietf.org/rfc/rfc2462.txt">RFC2462</ulink>)</para>
</listitem>
<listitem>
<para>Anycast хаягууд (<quote>one-out-of many</quote> буюу олноос ганц)</para>
</listitem>
<listitem>
<para>Зайлшгүй шаардлагатай (mandatory) multicast хаягууд</para>
</listitem>
<listitem>
<para>IPsec (IP security буюу нууцлаг)</para>
</listitem>
<listitem>
<para>Хялбаршуулсан толгойн бүтэц</para>
</listitem>
<listitem>
<para>Хөдөлгөөнт <acronym>IP</acronym></para>
</listitem>
<listitem>
<para>IPv6-to-IPv4 шилжилтийн арга замууд</para>
</listitem>
</itemizedlist>
<para>Дэлгэрэнгүй мэдээллийн талаар доорхоос үзнэ үү:</para>
<itemizedlist>
<listitem>
<para><ulink url="http://playground.sun.com/pub/ipng/html/ipng-main.html">playground.sun.com</ulink>
дэх IPv6-ийн талаарх тойм </para>
</listitem>
<listitem>
<para><ulink url="http://www.kame.net">KAME.net</ulink></para>
</listitem>
<listitem>
<para><ulink url="http://www.6bone.net">6bone.net</ulink></para>
</listitem>
</itemizedlist>
<sect2>
<title>IPv6 хаягуудын талаарх суурь мэдээлэл</title>
<para>IPv6 хаягуудын өөр өөр төрлүүд байдаг: Unicast, Anycast, болон
Multicast.</para>
<para>Unicast хаягууд нь бидний мэддэг хаягууд юм. Unicast хаяг уруу илгээсэн
пакет нь яг тэр хаягт харгалзах интерфэйс дээр ирдэг.</para>
<para>Anycast хаягуудыг unicast хаягуудаас ялгах боломжгүй байдаг боловч
тэдгээр нь бүлэг интерфэйсүүдийг хаягладаг. Anycast хаяг уруу чиглэсэн пакет
хамгийн ойрын (чиглүүлэгчийн хэмжилтийн хувьд) интерфэйс дээр ирэх болно.
Anycast хаягуудыг зөвхөн чиглүүлэгчид ашиглаж болох юм.</para>
<para>Multicast хаягууд нь бүлэг интерфэйсүүдийг таньдаг. Multicast хаяг уруу
чиглэсэн пакет нь multicast бүлэгт харьяалагдах бүх интерфэйсүүд дээр
ирэх болно.</para>
<note><para>IPv4 цацах (broadcast) хаяг (ихэвчлэн <hostid role="ipaddr">xxx.xxx.xxx.255</hostid>) нь
IPv6-ийн multicast хаягуудаар илэрхийлэгддэг.</para></note>
<table frame="none">
<title>Нөөц IPv6 хаягууд</title>
<tgroup cols="4">
<thead>
<row>
<entry>IPv6 хаяг</entry>
<entry>Prefixlength буюу угтварын урт (битээр)</entry>
<entry>Тайлбар</entry>
<entry>Тэмдэглэл</entry>
</row>
</thead>
<tbody>
<row>
<entry><hostid role="ip6addr">::</hostid></entry>
<entry>128 бит</entry>
<entry>тодорхойлогдоогүй</entry>
<entry>харьцуулбал IPv4 дэх <hostid role="ipaddr">0.0.0.0</hostid></entry>
</row>
<row>
<entry><hostid role="ip6addr">::1</hostid></entry>
<entry>128 бит</entry>
<entry>loopback буюу буцах хаяг</entry>
<entry>харьцуулбал IPv4 дэх <hostid role="ipaddr">127.0.0.1</hostid></entry>
</row>
<row>
<entry><hostid
role="ip6addr">::00:xx:xx:xx:xx</hostid></entry>
<entry>96 бит</entry>
<entry>суулгагдсан IPv4</entry>
<entry>Бага 32 бит нь IPv4 хаяг юм. Бас
<quote>IPv4 нийцтэй IPv6 хаяг</quote>
гэгддэг</entry>
</row>
<row>
<entry><hostid
role="ip6addr">::ff:xx:xx:xx:xx</hostid></entry>
<entry>96 бит</entry>
<entry>IPv4-р илэрхийлэгдсэн IPv6 хаяг</entry>
<entry>Бага 32 бит нь IPv4 хаяг юм.
IPv6-г дэмждэггүй хостуудад зориулсан.</entry>
</row>
<row>
<entry><hostid role="ip6addr">fe80::</hostid> - <hostid
role="ip6addr">feb::</hostid></entry>
<entry>10 бит</entry>
<entry>link-local</entry>
<entry>харьцуулбал IPv4 дэх loopback буюу буцах хаяг</entry>
</row>
<row>
<entry><hostid role="ip6addr">fec0::</hostid> - <hostid
role="ip6addr">fef::</hostid></entry>
<entry>10 бит</entry>
<entry>site-local</entry>
<entry>&nbsp;</entry>
</row>
<row>
<entry><hostid role="ip6addr">ff::</hostid></entry>
<entry>8 бит</entry>
<entry>multicast</entry>
<entry>&nbsp;</entry>
</row>
<row>
<entry><hostid role="ip6addr">001</hostid> (хоёртын системээр)</entry>
<entry>3 бит</entry>
<entry>глобал unicast</entry>
<entry>Бүх глобал unicast хаягууд нь энэ цөөрмөөс заагдана.
Эхний 3 бит нь <quote>001</quote> байна.</entry>
</row>
</tbody>
</tgroup>
</table>
</sect2>
<sect2>
<title>IPv6 хаягуудыг унших нь</title>
<para>Дүрмийн дагуу ийм хэлбэртэй байна: <hostid role="ip6addr">x:x:x:x:x:x:x:x</hostid> хэлбэрийн
байх бөгөөд <quote>x</quote> бүр нь 16 битийн арван зургаат утга байна. Жишээ нь
<hostid role="ip6addr">FEBC:A574:382B:23C1:AA49:4592:4EFE:9982</hostid></para>
<para>Хаяг нь ихэнхдээ дандаа тэгүүдээс тогтох урт дэд хэсгүүдээс тогтож болох бөгөөд хаягийн тийм
хэсгийг <quote>::</quote> гэж хураангуйлж болно. Дөрвөн арван зургаат тооны
гурав хүртэлх эхний <quote>0</quote>-үүдийг орхиж бас болно.
Жишээ нь <hostid role="ip6addr">fe80::1</hostid> нь дүрэмд заасан хэлбэрээр бол
<hostid role="ip6addr">fe80:0000:0000:0000:0000:0000:0000:0001</hostid> байна.</para>
<para>Гурав дахь хэлбэр нь сүүлийн 32 бит хэсгийг бидний мэддэг (аравтын) IPv4
загварын цэгүүдээр <quote>.</quote> тусгаарлаж бичих явдал юм.
Жишээ нь <hostid role="ip6addr">2002::10.0.0.1</hostid> нь
(арван зургаатын) дүрэмд зааснаар
<hostid role="ip6addr">2002:0000:0000:0000:0000:0000:0a00:0001</hostid>
болох бөгөөд үүнийг бас <hostid role="ip6addr">2002::a00:1</hostid>
гэж бичиж болох юм.</para>
<para>Энэ хүртэл уншигч дараахийг ойлгож чадаж байх ёстой:</para>
<screen>&prompt.root; <userinput>ifconfig</userinput></screen>
<programlisting>rl0: flags=8943&lt;UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST&gt; 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</programlisting>
<para><hostid role="ip6addr">fe80::200:21ff:fe03:8e1%rl0</hostid> нь
автоматаар тохируулагдсан link-local хаяг юм. Энэ нь MAC хаягаас автомат тохиргооны
хэсэг болон үүсгэгддэг.</para>
<para>IPv6 хаягуудын бүтцийн талаарх дэлгэрэнгүй мэдээллийг
<ulink url="http://www.ietf.org/rfc/rfc3513.txt">RFC3513</ulink> хаягаас
үзнэ үү.</para>
</sect2>
<sect2>
<title>Холбогдох нь</title>
<para>Одоогоор бусад IPv6 хостууд болон сүлжээнүүдтэй холбогдох дөрвөн арга байдаг:</para>
<itemizedlist>
<listitem>
<para>Туршилтын 6bone уруу нэгдэх</para>
</listitem>
<listitem>
<para>Өөрийн дээд үйлчилгээ үзүүлэгчээсээ IPv6 сүлжээ авах. Зааврын талаар өөрийн
Интернетийн үйлчилгээ үзүүлэгчтэйгээ ярилцах хэрэгтэй.</para>
</listitem>
<listitem>
<para>6-аас-4 уруу туннел хийх (<ulink
url="http://www.ietf.org/rfc/rfc3068.txt">RFC3068</ulink>)</para>
</listitem>
<listitem>
<para>Хэрэв та dial-up холболт дээр байгаа бол
<filename role="package">net/freenet6</filename> портыг ашиглах
хэрэгтэй.</para>
</listitem>
</itemizedlist>
<para>Энд бид 6bone уруу хэрхэн холбогдох талаар ярилцах болно. Учир нь энэ нь одоогоор
хамгийн түгээмэл арга юм.</para>
<para>Эхлээд <ulink url="http://www.6bone.net/">6bone</ulink> сайтад орж
үзээд өөртөө хамгийн ойр байгаа 6bone холболтыг олох хэрэгтэй. Хариуцаж байгаа
хүн уруу нь бичээд ялимгүй аз байвал танд өөрийн холболтыг хэрхэн тохируулах талаар заавруудыг
өгөх болно. Энэ нь ихэвчлэн GRE (gif) туннел тохируулахад хүргэдэг.</para>
<para>Энд &man.gif.4; туннелийг тохируулах нийтлэг жишээ байна:</para>
<screen>&prompt.root; <userinput>ifconfig gif0 create</userinput>
&prompt.root; <userinput>ifconfig gif0</userinput>
gif0: flags=8010&lt;POINTOPOINT,MULTICAST&gt; mtu 1280
&prompt.root; <userinput>ifconfig gif0 tunnel <replaceable>MY_IPv4_ADDR MY_IPv4_REMOTE_TUNNEL_ENDPOINT_ADDR</replaceable></userinput>
&prompt.root; <userinput>ifconfig gif0 inet6 alias <replaceable>MY_ASSIGNED_IPv6_TUNNEL_ENDPOINT_ADDR MY_IPv6_REMOTE_TUNNEL_ENDPOINT_ADDR</replaceable></userinput></screen>
<para>Дээд талын 6bone цэгээс авсан мэдээллээр томоор бичсэн үгнүүдийг солино.</para>
<para>Энэ нь туннел үүсгэнэ. Туннел ажиллаж байгаа эсэхийг шалгаж
<hostid role="ip6addr">ff02::1%gif0</hostid> уруу &man.ping6.8; хийж үзэх
хэрэгтэй. Та хоёр ping хариулт хүлээн авах ёстой.</para>
<note><para>Хэрэв таны сонирхлыг <hostid role="ip6addr">ff02:1%gif0</hostid> хаяг татсан бол
энэ нь multicast хаяг юм. <literal>%gif0</literal> нь <devicename>gif0</devicename>
сүлжээний интерфэйс дэх multicast хаягийг ашиглахыг хэлж байна. Бид multicast хаяг уруу <command>ping</command>
хийж байгаа болохоор туннелийн нөгөө тал ч бас хариулах ёстой.</para></note>
<para>Одоо өөрийн дээш холбогдсон 6bone холбоос уруу чиглүүлэлт тохируулах нь
шулуухан байх ёстой:</para>
<screen>&prompt.root; <userinput>route add -inet6 default -interface gif0</userinput>
&prompt.root; <userinput>ping6 -n <replaceable>MY_UPLINK</replaceable></userinput></screen>
<screen>&prompt.root; <userinput>traceroute6 www.jp.FreeBSD.org</userinput>
(3ffe:505:2008:1:2a0:24ff:fe57:e561) from 3ffe:8060:100::40:2, 30 hops max, 12 byte packets
1 atnet-meta6 14.147 ms 15.499 ms 24.319 ms
2 6bone-gw2-ATNET-NT.ipv6.tilab.com 103.408 ms 95.072 ms *
3 3ffe:1831:0:ffff::4 138.645 ms 134.437 ms 144.257 ms
4 3ffe:1810:0:6:290:27ff:fe79:7677 282.975 ms 278.666 ms 292.811 ms
5 3ffe:1800:0:ff00::4 400.131 ms 396.324 ms 394.769 ms
6 3ffe:1800:0:3:290:27ff:fe14:cdee 394.712 ms 397.19 ms 394.102 ms</screen>
<para>Энэхүү гаралт нь машинаас машинд өөр өөр байх болно. Одоо та IPv6 сайт
<ulink url="http://www.kame.net">www.kame.net</ulink> уруу хүрч бүжиглэж байгаа яст мэлхийг
харж чадаж байх ёстой &mdash; <filename role="package">x11/kdebase3</filename>,
эсвэл <filename role="package">www/epiphany</filename>-ийн хэсэг болох
<application>Konqueror</application>, <filename role="package">www/mozilla</filename>
зэрэг IPv6 идэвхжүүлэгдсэн хөтөчтэй байхад ингэх боломжтой.</para>
</sect2>
<sect2>
<title>IPv6 ертөнц дэх DNS</title>
<para>IPv6-д зориулсан хоёр төрлийн DNS бичлэг байдаг. IETF нь A6 бичлэгийг
хуучин, хэрэгцээнээс гарсан гэж зарласан. AAAA бичлэгүүд нь одоо стандарт
болсон байгаа.</para>
<para>AAAA бичлэгүүдийг ашиглах нь амархан. Өөрийн хостын нэрийг дөнгөж авсан шинэ
IPv6 хаягт зааж дараахийг:</para>
<programlisting>MYHOSTNAME AAAA MYIPv6ADDR</programlisting>
<para>өөрийн анхдагч бүсийн DNS файл уруу нэмж өгнө. Та өөрийн <acronym>DNS</acronym>
бүсүүдийг удирддаггүй бол өөрийн <acronym>DNS</acronym> үйлчилгээ үзүүлэгчээс
асуух хэрэгтэй. <application>bind</application> (8.3 ба 9 хувилбар)
болон <filename role="package">dns/djbdns</filename>-ийн (IPv6 засвартай)
одоогийн хувилбарууд AAAA бичлэгүүдийг дэмждэг.</para>
</sect2>
<sect2>
<title><filename>/etc/rc.conf</filename> файлд хэрэгцээтэй өөрчлөлтүүдийг хийх нь</title>
<sect3>
<title>IPv6 клиентийн тохиргоонууд</title>
<para>Эдгээр тохиргоонууд нь таны LAN-д байх машиныг чиглүүлэгч биш клиент маягаар
ажиллуулахаар тохируулахад танд туслах болно. Таны интерфэйсийг ачаалах үед автоматаар
&man.rtsol.8;-оор тохируулуулахын тулд таны нэмэх ёстой зүйл бол дараах мөр юм:</para>
<programlisting>ipv6_enable="YES"</programlisting>
<para><hostid role="ip6addr">
2001:471:1f11:251:290:27ff:fee0:2093</hostid> зэрэг
IP хаягийг өөрийн <devicename>fxp0</devicename> интерфэйсд
статикаар өгөхийн тулд дараахийг нэмнэ:</para>
<programlisting>ipv6_ifconfig_fxp0="2001:471:1f11:251:290:27ff:fee0:2093"</programlisting>
<para><hostid role="ip6addr">2001:471:1f11:251::1</hostid> анхдагч
чиглүүлэгчийг зааж өгөхдөө дараахийг <filename>/etc/rc.conf</filename>
файлд нэмнэ:</para>
<programlisting>ipv6_defaultrouter="2001:471:1f11:251::1"</programlisting>
</sect3>
<sect3>
<title>IPv6 чиглүүлэгч/гарцын тохиргоонууд</title>
<para>Энэ нь <ulink url="http://www.6bone.net/">6bone</ulink> зэрэг
таны туннелийн үйлчилгээ үзүүлэгчийн өгсөн чиглэлүүдийг авч тэдгээрийг дахин ачаалсан ч
гэсэн үлдэхээр болгож тохиргоо болгон хөрвүүлэхэд танд туслах болно. Эхлүүлэх үед
өөрийн туннелийг сэргээхийн тулд доорхтой төстэйг <filename>/etc/rc.conf</filename>
файлд ашиглана:</para>
<para>Тохируулах Ердийн Туннел хийх интерфэйсүүдийг жагсаана. Жишээ нь
<devicename>gif0</devicename>:</para>
<programlisting>gif_interfaces="gif0"</programlisting>
<para><replaceable>MY_IPv4_ADDR</replaceable> гэсэн локал төгсгөлтэй
интерфэйсийг <replaceable>REMOTE_IPv4_ADDR</replaceable> гэсэн алсын төгсгөл
уруу тохируулахын тулд:</para>
<programlisting>gifconfig_gif0="<replaceable>MY_IPv4_ADDR REMOTE_IPv4_ADDR</replaceable>"</programlisting>
<para>Өөрийн IPv6 туннелийн төгсгөл болгон ашиглахаар таны зааж өгсөн IPv6
хаягийг хамааруулахын тулд дараахийг нэмнэ:</para>
<programlisting>ipv6_ifconfig_gif0="<replaceable>MY_ASSIGNED_IPv6_TUNNEL_ENDPOINT_ADDR</replaceable>"</programlisting>
<para>Тэгээд таны хийх зүйл чинь IPv6-д зориулж анхдагч чиглүүлэлт тохируулах
явдал юм. Энэ нь IPv6 туннелийн нөгөө тал байх болно:</para>
<programlisting>ipv6_defaultrouter="<replaceable>MY_IPv6_REMOTE_TUNNEL_ENDPOINT_ADDR</replaceable>"</programlisting>
</sect3>
<sect3>
<title>IPv6 туннелийн тохиргоонууд</title>
<para>Хэрэв сервер нь таны бусад сүлжээ болон гадаад ертөнцийн хооронд
IPv6-г чиглүүлэх бол дараах <filename>/etc/rc.conf</filename>
тохируулга бас хэрэгтэй болно:</para>
<programlisting>ipv6_gateway_enable="YES"</programlisting>
</sect3>
</sect2>
<sect2>
<title>Чиглүүлэгчийн зарлалт ба Хостын автомат тохиргоо</title>
<para>Энэ хэсэг нь IPv6 анхдагч чиглүүлэлтийг зарлахын тулд &man.rtadvd.8;-г
тохируулахад тань туслах болно.</para>
<para>&man.rtadvd.8;-г идэвхжүүлэхийн тулд таны <filename>/etc/rc.conf</filename>
файлд дараах тохиргоо хэрэгтэй болно:</para>
<programlisting>rtadvd_enable="YES"</programlisting>
<para>IPv6 чиглүүлэгчийн төлөөлөлт хийгдэх интерфэйсийг заах нь чухал юм. Жишээ нь
&man.rtadvd.8;-д <devicename>fxp0</devicename>-г ашиглахыг хэлж өгөхийн
тулд дараахийг нэмнэ:</para>
<programlisting>rtadvd_interfaces="fxp0"</programlisting>
<para>Одоо бид <filename>/etc/rtadvd.conf</filename> тохиргооны
файл үүсгэх ёстой. Энд жишээ байна:</para>
<programlisting>fxp0:\
:addrs#1:addr="2001:471:1f11:246::":prefixlen#64:tc=ether:</programlisting>
<para><devicename>fxp0</devicename>-г өөрийн ашиглах интерфэйсээр солих
хэрэгтэй.</para>
<para>Дараа нь <hostid role="ip6addr">2001:471:1f11:246::</hostid>-г
өөрийн хуваарилалтын угтвараар солиорой.</para>
<para>Хэрэв та <hostid role="netmask">/64</hostid> дэд сүлжээг зориулсан
бол өөр бусад ямар ч өөрлөлт хийх хэрэггүй. Хэрэв тийм биш бол та
<literal>prefixlen#</literal> буюу угтварын уртыг зөв утгаар өөрчлөх шаардлагатай.</para>
</sect2>
</sect1>
<sect1 id="network-atm">
<sect1info>
<authorgroup>
<author>
<firstname>Харти</firstname>
<surname>Брандт</surname>
<contrib>Хувь нэмэр болгон оруулсан </contrib>
</author>
</authorgroup>
</sect1info>
<title>Asynchronous Transfer Mode (ATM) буюу Асинхрон Дамжуулах Горим</title>
<sect2>
<title>ATM дээгүүр классик IP тохируулах нь (PVC-нүүд)</title>
<para>Classical IP over ATM (<acronym>CLIP</acronym>) буюу
ATM дээгүүрх классик IP нь Asynchronous Transfer Mode (ATM)
буюу Асинхрон Дамжуулах Горимыг IP-тай ашиглах хамгийн энгийн
арга юм. Энэ нь switched буюу шилжүүлэгдсэн (SVC-нүүд) ба permanent буюу
байнгын (PVC-нүүд) холболтуудтай ашиглагдаж болдог. Энэ хэсэг нь
сүлжээн дээр тулгуурласныг PVC-нүүд дээр хэрхэн тохируулах талаар
тайлбарладаг.</para>
<sect3>
<title>Бүрэн тор хэлбэрийн тохиргоонууд</title>
<para><acronym>CLIP</acronym>-ийг PVC-нүүдтэй тохируулах эхний арга нь
машин бүрийг сүлжээн дэх бусад машин бүртэй зориулагдсан PVC-ээр холбох явдал
юм. Үүнийг тохируулах хялбар байдаг боловч их олон тооны машинууд дээр
бүтэшгүй байдаг. Энэ жишээ нь сүлжээнд бидэнд дөрвөн машин байгаа бөгөөд
машин бүр <acronym role="Asynchronous Transfer Mode">ATM</acronym>
сүлжээнд <acronym role="Asynchronous Transfer Mode">ATM</acronym>
хувиргагч картын тусламжтай холбогдсон гэж үздэг. Эхний алхам нь IP хаягууд болон
машинуудын хооронд <acronym role="Asynchronous
Transfer Mode">ATM</acronym> холболтуудыг төлөвлөх явдал юм.
Бид дараахийг ашиглана:</para>
<informaltable frame="none" pgwide="1">
<tgroup cols="2">
<colspec colwidth="1*">
<colspec colwidth="1*">
<thead>
<row>
<entry>Хост</entry>
<entry>IP хаяг</entry>
</row>
</thead>
<tbody>
<row>
<entry><hostid>hostA</hostid></entry>
<entry><hostid role="ipaddr">192.168.173.1</hostid></entry>
</row>
<row>
<entry><hostid>hostB</hostid></entry>
<entry><hostid role="ipaddr">192.168.173.2</hostid></entry>
</row>
<row>
<entry><hostid>hostC</hostid></entry>
<entry><hostid role="ipaddr">192.168.173.3</hostid></entry>
</row>
<row>
<entry><hostid>hostD</hostid></entry>
<entry><hostid role="ipaddr">192.168.173.4</hostid></entry>
</row>
</tbody>
</tgroup>
</informaltable>
<para>Бүрэн тор хэлбэрийн сүлжээг бүтээхийн тулд машинуудын хослол бүрийн хооронд
нэг ATM холболт бидэнд хэрэгтэй:</para>
<informaltable frame="none" pgwide="1">
<tgroup cols="2">
<colspec colwidth="1*">
<colspec colwidth="1*">
<thead>
<row>
<entry>Машинууд</entry>
<entry>VPI.VCI хослол</entry>
</row>
</thead>
<tbody>
<row>
<entry><hostid>hostA</hostid> - <hostid>hostB</hostid></entry>
<entry>0.100</entry>
</row>
<row>
<entry><hostid>hostA</hostid> - <hostid>hostC</hostid></entry>
<entry>0.101</entry>
</row>
<row>
<entry><hostid>hostA</hostid> - <hostid>hostD</hostid></entry>
<entry>0.102</entry>
</row>
<row>
<entry><hostid>hostB</hostid> - <hostid>hostC</hostid></entry>
<entry>0.103</entry>
</row>
<row>
<entry><hostid>hostB</hostid> - <hostid>hostD</hostid></entry>
<entry>0.104</entry>
</row>
<row>
<entry><hostid>hostC</hostid> - <hostid>hostD</hostid></entry>
<entry>0.105</entry>
</row>
</tbody>
</tgroup>
</informaltable>
<para>Холболтын төгсгөл бүр дэх VPI болон VCI утгууд нь мэдээж ялгаатай
байх боловч амархан байлгах үүднээс бид тэдгээрийг адил гэж үзнэ. Дараа нь
бид ATM интерфэйсүүдийг хост бүр дээр тохируулах хэрэгтэй болно:</para>
<screen>hostA&prompt.root; <userinput>ifconfig hatm0 192.168.173.1 up</userinput>
hostB&prompt.root; <userinput>ifconfig hatm0 192.168.173.2 up</userinput>
hostC&prompt.root; <userinput>ifconfig hatm0 192.168.173.3 up</userinput>
hostD&prompt.root; <userinput>ifconfig hatm0 192.168.173.4 up</userinput></screen>
<para>Ингэхдээ бүх хостууд дээр ATM интерфэйс нь <devicename>hatm0</devicename>
гэж үзэх болно. Одоо PVC-нүүд нь <hostid>hostA</hostid> дээр тохируулагдах
шаардлагатай (бид тэдгээрийг ATM шилжүүлэгч дээр аль хэдийн тохируулагдсан гэж
үзнэ, үүнийг хэрхэн хийхийг шилжүүлэгчийн гарын авлагаас лавлах хэрэгтэй).</para>
<screen>hostA&prompt.root; <userinput>atmconfig natm add 192.168.173.2 hatm0 0 100 llc/snap ubr</userinput>
hostA&prompt.root; <userinput>atmconfig natm add 192.168.173.3 hatm0 0 101 llc/snap ubr</userinput>
hostA&prompt.root; <userinput>atmconfig natm add 192.168.173.4 hatm0 0 102 llc/snap ubr</userinput>
hostB&prompt.root; <userinput>atmconfig natm add 192.168.173.1 hatm0 0 100 llc/snap ubr</userinput>
hostB&prompt.root; <userinput>atmconfig natm add 192.168.173.3 hatm0 0 103 llc/snap ubr</userinput>
hostB&prompt.root; <userinput>atmconfig natm add 192.168.173.4 hatm0 0 104 llc/snap ubr</userinput>
hostC&prompt.root; <userinput>atmconfig natm add 192.168.173.1 hatm0 0 101 llc/snap ubr</userinput>
hostC&prompt.root; <userinput>atmconfig natm add 192.168.173.2 hatm0 0 103 llc/snap ubr</userinput>
hostC&prompt.root; <userinput>atmconfig natm add 192.168.173.4 hatm0 0 105 llc/snap ubr</userinput>
hostD&prompt.root; <userinput>atmconfig natm add 192.168.173.1 hatm0 0 102 llc/snap ubr</userinput>
hostD&prompt.root; <userinput>atmconfig natm add 192.168.173.2 hatm0 0 104 llc/snap ubr</userinput>
hostD&prompt.root; <userinput>atmconfig natm add 192.168.173.3 hatm0 0 105 llc/snap ubr</userinput></screen>
<para>Мэдээж хэрэг UBR-с бусад урсгалын хэлэлцээнүүд хэрэв ATM хувиргагч тэдгээрийг
дэмждэг бол ашиглагдаж болно. Энэ тохиолдолд урсгалын хэлэлцээний нэр нь урсгалын
нэмэлт өгөгдлүүдийн дараа орж байна. &man.atmconfig.8; хэрэгсэлд зориулсан
тусламжийг дараах тушаалыг ашиглан:</para>
<screen>&prompt.root; <userinput>atmconfig help natm add</userinput></screen>
<para>авч болох бөгөөд эсвэл &man.atmconfig.8; гарын авлагаас авч болно.</para>
<para>Үүнтэй адил тохиргоог <filename>/etc/rc.conf</filename>
ашиглан бас хийж болно. <hostid>hostA</hostid>-ийн хувьд энэ нь
иймэрхүү харагдана:</para>
<programlisting>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"</programlisting>
<para>Бүх <acronym>CLIP</acronym> чиглүүлэлтүүдийн тухайн үеийн төлвийг дараах
тушаалаар авч болно:</para>
<screen>hostA&prompt.root; <userinput>atmconfig natm show</userinput></screen>
</sect3>
</sect2>
</sect1>
</chapter>
<!--
Local Variables:
mode: sgml
sgml-declaration: "../chapter.decl"
sgml-indent-data: t
sgml-omittag: nil
sgml-always-quote-attributes: t
sgml-parent-document: ("../book.sgml" "part" "chapter")
End:
-->
<!-- LocalWords: config mnt www -->