5085 lines
286 KiB
Text
5085 lines
286 KiB
Text
<!--
|
||
The FreeBSD Mongolian Documentation Project
|
||
|
||
Original revision 1.118
|
||
|
||
$FreeBSD$
|
||
-->
|
||
|
||
<chapter id="network-servers">
|
||
<chapterinfo>
|
||
<authorgroup>
|
||
<author>
|
||
<firstname>Мюррей</firstname>
|
||
<surname>Стөүкли</surname>
|
||
<contrib>Дахин зохион байгуулсан </contrib>
|
||
</author>
|
||
</authorgroup>
|
||
<authorgroup>
|
||
<author>
|
||
<firstname>Лодойсамбын</firstname>
|
||
<surname>Баянзул</surname>
|
||
<contrib>Орчуулсан </contrib>
|
||
</author>
|
||
</authorgroup>
|
||
<!-- 23 July 2004 -->
|
||
</chapterinfo>
|
||
|
||
<title>Сүлжээний орчны Серверүүд</title>
|
||
|
||
<sect1 id="network-servers-synopsis">
|
||
<title>Ерөнхий агуулга</title>
|
||
|
||
<para>Энэ бүлэгт &unix; системүүдэд өргөн хэрэглэгддэг, сүлжээний орчинд ажилладаг
|
||
зарим нэг үйлчилгээнүүдийн талаар авч үзнэ. Бид тэдгээр үйлчилгээнүүдийг хэрхэн
|
||
суулгах, тохируулах, турших болон үйлчилгээг хариуцах талаар үзэх болно.
|
||
Танд зориулж жишээ тохиргооны файлуудыг мөн оруулж өгсөн байгаа.</para>
|
||
|
||
<para>Энэ бүлгийг уншсаны дараа, та дараах зүйлсийг мэдэх болно:</para>
|
||
|
||
<itemizedlist>
|
||
|
||
<listitem>
|
||
<para><application>inetd</application> дэмоныг хэрхэн удирдах.</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>Сүлжээний орчны файл системийг хэрхэн зохион байгуулах.</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>Хэрэглэгчийн бүртгэлийг хуваалцах сүлжээний орчны мэдээллийн серверийг хэрхэн зохион байгуулах.</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>DHCP ашиглан автоматаар сүлжээний тохиргоог хэрхэн хийх.</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>Домэйн нэрийн серверийг хэрхэн зохион байгуулах.</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para><application>Apache</application> HTTP Серверийг хэрхэн зохион байгуулах.</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>File Transfer Protocol буюу Файл Дамжуулах Протокол(FTP) Серверийг хэрхэн зохион байгуулах.</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para><application>Samba</application> ашиглан &windows; хэрэглэгчдэд зориулсан
|
||
файл болон хэвлэгч серверийг хэрхэн зохион байгуулах.</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>NTP протокол ашиглан цаг болон өдрийг тохируулах хийгээд цагийн серверийг хэрхэн зохион байгуулах.</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>How to configure the standard logging daemon,
|
||
<command>syslogd</command>, to accept logs from remote
|
||
hosts.</para>
|
||
</listitem>
|
||
|
||
</itemizedlist>
|
||
|
||
<para>Энэ бүлгийг уншихаасаа өмнө, та дараах шаардлагыг хангасан байх хэрэгтэй:</para>
|
||
|
||
<itemizedlist>
|
||
<listitem>
|
||
<para><filename>/etc/rc</filename> скриптүүдийн үндсийг ойлгосон байх.</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>Сүлжээний үндсэн нэр томъёоллыг мэддэг байх.</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>Гуравдагч этгээдийн програмыг(<xref linkend="ports">) хэрхэн нэмж суулгахыг мэддэг байх.</para>
|
||
</listitem>
|
||
|
||
</itemizedlist>
|
||
</sect1>
|
||
|
||
<sect1 id="network-inetd">
|
||
<sect1info>
|
||
<authorgroup>
|
||
<author>
|
||
<firstname>Шерн</firstname>
|
||
<surname>Лий</surname>
|
||
<contrib>Хувь нэмрээ оруулсан </contrib>
|
||
</author>
|
||
</authorgroup>
|
||
<authorgroup>
|
||
<author>
|
||
<contrib>&os; 6.1-RELEASE-д зориулж шинэчилсэн </contrib>
|
||
<othername>&os; Баримтжуулах Төсөл</othername>
|
||
</author>
|
||
</authorgroup>
|
||
<authorgroup>
|
||
<author>
|
||
<firstname>Лодойсамбын</firstname>
|
||
<surname>Баянзул</surname>
|
||
<contrib>Орчуулсан </contrib>
|
||
</author>
|
||
</authorgroup>
|
||
</sect1info>
|
||
|
||
<title><application>inetd</application> <quote>Супер-Сервер</quote></title>
|
||
|
||
<sect2 id="network-inetd-overview">
|
||
<title>Ерөнхий агуулга</title>
|
||
|
||
<para>&man.inetd.8; нь олон тооны үйлчилгээний сүлжээний холболтыг удирддаг тул
|
||
заримдаа түүнийг <quote>Интернэт Супер-Сервер</quote> гэж нэрлэх нь бий.
|
||
Гаднаас үүсч буй холболтыг <application>inetd</application> хүлээн авч, аль програмтай холбогдохыг
|
||
тодорхойлон, тухайн процессийг салаалуулж, сокетийг түүн рүү чиглүүлнэ (програмын стандарт оролт,
|
||
гаралт болон алдааны дескриптороор үйлчилгээний сокетийг өгнө). Байнга ашиглагддаггүй үйлчилгээний хувьд
|
||
<application>inetd</application>-г ажиллуулах нь бүх дэмонг дангаар бие-даах горимд ажиллуулсантай
|
||
харьцуулахад системийн нийт ачааллыг бууруулж өгдөг. </para>
|
||
|
||
<para>Голчлон, <application>inetd</application> нь бусад дэмонуудыг салаалуулахад хэрэглэгддэг
|
||
боловч <application>chargen</application>, <application>auth</application>,
|
||
ба <application>daytime</application> гэх мэт нилээд олон ердийн протоколуудыг шууд зохицуулан ажиллуулж чадна.</para>
|
||
|
||
<para>Энэ хэсэгт <application>inetd</application>-н үндсэн тохиргоог тушаалын мөрний тохируулгаар,
|
||
мөн <filename>/etc/inetd.conf</filename> тохиргооны файлаар хэрхэн хийхийг үзэх болно.</para>
|
||
</sect2>
|
||
|
||
<sect2 id="network-inetd-settings">
|
||
<title>Тохиргоо</title>
|
||
|
||
<para><application>inetd</application> нь &man.rc.8; системээр эхлүүлэгдэнэ.
|
||
<literal>inetd_enable</literal> тохируулгын анхдагч утга нь <literal>NO</literal> бөгөөд,
|
||
системийг суулгах явцад хэрэглэгчийн зааж өгсний дагуу <application>sysinstall</application>
|
||
програмын тусламжтай идэвхжүүлж болно.</para>
|
||
|
||
<programlisting>inetd_enable="YES"</programlisting>
|
||
|
||
<para>эсвэл</para>
|
||
|
||
<programlisting>inetd_enable="NO"</programlisting>
|
||
|
||
<para>гэсэн мөрийг <filename>/etc/rc.conf</filename>
|
||
файл дотор байрлуулснаар <application>inetd</application>-г систем ачаалахад
|
||
эхэлдэг болгож болно. Доор дурдсан:</para>
|
||
|
||
<programlisting>/etc/rc.d/inetd rcvar</programlisting>
|
||
|
||
<para>тушаалыг өгөн одоо идэвхтэй байгаа
|
||
тохиргоог харж болно.</para>
|
||
|
||
<para>Дээр нь, <literal>inetd_flags</literal> тохируулгаар дамжуулан
|
||
<application>inetd</application> програмд тушаалын мөрнөөс өөр бусад тохируулгуудыг
|
||
зааж өгч болно.</para>
|
||
</sect2>
|
||
|
||
<sect2 id="network-inetd-cmdline">
|
||
<title>Тушаалын мөрний тохируулгууд</title>
|
||
|
||
<para>Ихэнх сервер дэмоны нэгэн адил, <application>inetd</application> нь
|
||
түүнийг өөрчлөн тохируулахад зориулагдсан олон тооны тохируулгуудын хамт ирдэг.
|
||
Тохируулгуудыг бүрнээр жагсаан бичвэл:</para>
|
||
|
||
<para><command>inetd</command> <option>[-d] [-l] [-w] [-W] [-c maximum] [-C rate] [-a address | hostname]
|
||
[-p filename] [-R rate] [-s maximum] [configuration file]</option></para>
|
||
|
||
<para><filename>/etc/rc.conf</filename> файл доторх
|
||
<literal>inetd_flags</literal> тохируулгыг ашиглан
|
||
эдгээр тохируулгуудыг <application>inetd</application>-д дамжуулна.
|
||
Анхдагч байдлаар, <literal>inetd_flags</literal> нь <literal>-wW -C 60</literal> гэсэн
|
||
утгыг авсан байх ба энэ нь <application>inetd</application>-ны үйлчилгээнүүдийн хувьд
|
||
TCP wrapping буюу TCP-ийн дундын хяналтыг идэвхжүүлэх ба нэг IP хаягнаас аль нэг үйлчилгээнд
|
||
нэг минутанд 60-аас дээш удаа хүсэлт тавих боломжгүй болгоно.</para>
|
||
|
||
<para>Хэдийгээр бид гаднаас хэтэрхий олон
|
||
тооны хандалт хийгдэж байгаа үед тохируулгаар түүнийг хэрхэн хязгаарлахыг
|
||
доор үзүүлж байгаа ч, анхлан суралцагчдад зөвлөхөд
|
||
эдгээр параметрүүдийг ихэвчлэн өөрчлөх шаардлагагүй байдаг.
|
||
Тохируулгуудын бүрэн жагсаалтыг &man.inetd.8; заавар хуудаснаас үзнэ үү.</para>
|
||
|
||
<variablelist>
|
||
<varlistentry>
|
||
<term>-c maximum</term>
|
||
|
||
<listitem>
|
||
<para>Үйлчилгээг нэгэн зэрэг хамгийн ихдээ хэдэн удаа дуудаж болохыг заана; Анхдагч утга нь хязгааргүй.
|
||
Үйлчилгээ тус бүрээр <option>max-child</option> параметрийн тусламжтай
|
||
утгыг дарж өөрчилж болно.</para>
|
||
</listitem>
|
||
</varlistentry>
|
||
|
||
<varlistentry>
|
||
<term>-C rate</term>
|
||
|
||
<listitem>
|
||
<para>Үйлчилгээг нэг IP хаягнаас нэг минутын дотор хамгийн ихдээ хэдэн удаа
|
||
дуудаж болохыг заана; Анхдагч утга нь хязгааргүй.
|
||
Үйлчилгээ тус бүрээр <option>max-connections-per-ip-per-minute</option> параметрийн тусламжтай
|
||
утгыг дарж өөрчилж болно.</para>
|
||
</listitem>
|
||
</varlistentry>
|
||
|
||
<varlistentry>
|
||
<term>-R rate</term>
|
||
|
||
<listitem>
|
||
<para>Үйлчилгээг нэг минутын дотор хамгийн ихдээ хэдэн удаа дуудаж болохыг заана;
|
||
Анхдагч утга нь 256. 0-г тавьснаар хязгааргүй болгоно.</para>
|
||
</listitem>
|
||
</varlistentry>
|
||
|
||
<varlistentry>
|
||
<term>-s maximum</term>
|
||
|
||
<listitem>
|
||
<para>Үйлчилгээг нэг IP хаягнаас хамгийн ихдээ хэдэн удаа
|
||
дуудаж болохыг заана; Анхдагч утга нь хязгааргүй.
|
||
Үйлчилгээ тус бүрээр <option>max-child-per-ip</option> параметрийн тусламжтай
|
||
утгыг дарж өөрчилж болно.</para>
|
||
</listitem>
|
||
</varlistentry>
|
||
</variablelist>
|
||
</sect2>
|
||
|
||
<sect2 id="network-inetd-conf">
|
||
<!-- XXX This section isn't very clear, and could do with some lovin' -->
|
||
<title><filename>inetd.conf</filename></title>
|
||
|
||
<para><application>inetd</application>-г <filename>/etc/inetd.conf</filename>
|
||
файлын тусламжтай тохируулна.</para>
|
||
|
||
<para><filename>/etc/inetd.conf</filename> файлд өөрчлөлт хийсний дараа,
|
||
<application>inetd</application>-р тохиргооны файлыг дахин уншуулахдаа
|
||
дараах тушаалыг өгнө:</para>
|
||
|
||
<example id="network-inetd-reread">
|
||
<title><application>inetd</application>-н тохиргооны файлыг дахин ачаалах нь</title>
|
||
|
||
<screen>&prompt.root; <userinput>/etc/rc.d/inetd reload</userinput></screen>
|
||
</example>
|
||
|
||
<para>Тохиргооны файлын мөр бүр тусдаа дэмонг заана.
|
||
Файл доторх тайлбарууд нь мөрийн эхэнд <quote>#</quote> тэмдэгтэй байна.
|
||
<filename>/etc/inetd.conf</filename> файл доторх бичлэгүүдийн формат дараах
|
||
байдалтай байна:</para>
|
||
|
||
<programlisting>service-name
|
||
socket-type
|
||
protocol
|
||
{wait|nowait}[/max-child[/max-connections-per-ip-per-minute[/max-child-per-ip]]]
|
||
user[:group][/login-class]
|
||
server-program
|
||
server-program-arguments</programlisting>
|
||
|
||
<para>IPv4 ашигладаг &man.ftpd.8; дэмоны хувьд жишээ бичлэг дараах байдалтай байж болно:</para>
|
||
|
||
<programlisting>ftp stream tcp nowait root /usr/libexec/ftpd ftpd -l</programlisting>
|
||
|
||
<variablelist>
|
||
<varlistentry>
|
||
<term>service-name</term>
|
||
|
||
<listitem>
|
||
<para>Тухайн дэмоны үйлчилгээний нэрийг заана.
|
||
Энэ нь <filename>/etc/services</filename> файл дотор бичигдсэн үйлчилгээнүүдийн нэг
|
||
байх ёстой бөгөөд аль портон дээр сонсохыг <application>inetd</application>-д хэлж өгнө.
|
||
Хэрэв шинэ үйлчилгээ үүсгэсэн бол түүнийг заавал <filename>/etc/services</filename> файл
|
||
дотор нэмсэн байх ёстой.</para>
|
||
</listitem>
|
||
</varlistentry>
|
||
|
||
<varlistentry>
|
||
<term>socket-type</term>
|
||
|
||
<listitem>
|
||
<para><literal>stream</literal>,
|
||
<literal>dgram</literal>, <literal>raw</literal>, эсвэл <literal>seqpacket</literal> эдгээрийн нэг байна.
|
||
<literal>stream</literal>-г холболтон дээр үндэслэсэн TCP дэмонуудын хувьд хэрэглэдэг бол,
|
||
<literal>dgram</literal>-г <acronym>UDP</acronym> протоколоор ажилладаг дэмонуудын хувьд хэрэглэнэ.</para>
|
||
</listitem>
|
||
</varlistentry>
|
||
|
||
<varlistentry>
|
||
<term>protocol</term>
|
||
|
||
<listitem>
|
||
<para>Доор дурдсанаас нэг нь байна:</para>
|
||
|
||
<informaltable frame="none" pgwide="1">
|
||
<tgroup cols="2">
|
||
<thead>
|
||
<row>
|
||
<entry>Протокол</entry>
|
||
<entry>Тайлбар</entry>
|
||
</row>
|
||
</thead>
|
||
<tbody>
|
||
<row>
|
||
<entry>tcp, tcp4</entry>
|
||
<entry>TCP IPv4</entry>
|
||
</row>
|
||
<row>
|
||
<entry>udp, udp4</entry>
|
||
<entry>UDP IPv4</entry>
|
||
</row>
|
||
<row>
|
||
<entry>tcp6</entry>
|
||
<entry>TCP IPv6</entry>
|
||
</row>
|
||
<row>
|
||
<entry>udp6</entry>
|
||
<entry>UDP IPv6</entry>
|
||
</row>
|
||
<row>
|
||
<entry>tcp46</entry>
|
||
<entry>TCP IPv4 ба v6 хоёул</entry>
|
||
</row>
|
||
<row>
|
||
<entry>udp46</entry>
|
||
<entry>UDP IPv4 ба v6 хоёул</entry>
|
||
</row>
|
||
</tbody>
|
||
</tgroup>
|
||
</informaltable>
|
||
</listitem>
|
||
</varlistentry>
|
||
|
||
<varlistentry>
|
||
<term>{wait|nowait}[/max-child[/max-connections-per-ip-per-minute[/max-child-per-ip]]]</term>
|
||
|
||
<listitem>
|
||
<para><option>wait|nowait</option> нь <application>inetd</application>-р дуудагдсан
|
||
дэмон өөрийн сокетийг удирдаж чадах эсэхийг заана.
|
||
<option>dgram</option> төрлийн сокет дэмоны хувьд <option>wait</option> тохируулгыг
|
||
хэрэглэх ёстой байдаг бол, ихэвчлэн олон урсгалтай байдаг
|
||
<option>stream</option> сокет дэмоны хувьд <option>nowait</option> тохируулгыг хэрэглэх
|
||
хэрэгтэй байдаг. <option>wait</option> нь ихэвчлэн олон сокетийг нэг дэмонд
|
||
шилжүүлэн өгдөг бол, <option>nowait</option> нь шинээр үүссэн сокет тус бүрт
|
||
харгалзуулан хүүхэд дэмонг салаалуулан үүсгэдэг.</para>
|
||
|
||
<para><application>inetd</application>-ийн салаалуулан үүсгэж
|
||
болох хамгийн их хүүхэд дэмоны тоог <option>max-child</option>
|
||
тохируулгын тусламжтай зааж өгч болно. Хэрэв
|
||
тухайн дэмоны ажиллаж болох тохиолдлыг 10-р хязгаарлах бол,
|
||
<option>nowait</option>-н ард <literal>/10</literal> гэж бичнэ.
|
||
<literal>/0</literal> нь хүүхдийн тоог хязгаарлахгүй гэсэн утгатай.</para>
|
||
|
||
<para><option>max-child</option>-с гадна, нэг газраас тухайн дэмонтой
|
||
үүсгэж байгаа холболтын тоог хязгаарладаг өөр хоёр
|
||
тохируулгыг хэрэглэж болно.
|
||
<option>max-connections-per-ip-per-minute</option> нь тухайн ямар нэг IP хаягнаас
|
||
нэг минутанд үүсгэж болох холболтын тоог хязгаарлана,
|
||
жишээлбэл: 10 гэсэн утга нь тухайн ямар нэг IP хаягнаас
|
||
нэг минутын дотор тухайн үйлчилгээнд холбогдохоор оролдох
|
||
оролдлогын тоог 10-р хязгаарлана. <option>max-child-per-ip</option> нь
|
||
Тухайн ямар нэг IP хаяг дээр үүсгэгдсэн хүүхдийн тоог хязгаарлана.
|
||
Эдгээр тохируулгууд нь санаатай болон санамсаргүйгээр нөөцийг
|
||
хэтрүүлэн хэрэглэх, мөн Үйлчилгээг Зогсоох (DoS) халдлагаас хамгаалахад
|
||
хэрэгтэй байдаг.</para>
|
||
|
||
<para>Хэрэглэхдээ, <option>wait</option> ба <option>nowait</option>
|
||
хоёрын аль нэгийг заавал хэрэглэх ёстой. Харин <option>max-child</option>,
|
||
<option>max-connections-per-ip-per-minute</option> ба
|
||
<option>max-child-per-ip</option> тохируулгуудыг сонгон хэрэглэж болно.</para>
|
||
|
||
<para>Stream төрлийн олон урсгалтай дэмоны хувьд, <option>max-child</option>,
|
||
<option>max-connections-per-ip-per-minute</option> эсвэл <option>max-child-per-ip</option> хязгаарлалтуудын
|
||
алийг ч хэрэглэхгүй тохиолдолд ердөө: <literal>nowait</literal> байна.</para>
|
||
|
||
<para>Дээрхтэй адил дэмон, 10 хүүхэд дэмоны хязгаарлалттай бол: <literal>nowait/10</literal> байна.</para>
|
||
|
||
<para>Мөн адил дэмон, 10 хүүхэд дэмоны хязгаарлалттай,
|
||
минутанд нэг IP хаягнаас үүсгэх холболтын тоог 20-р хязгаарлах бол:
|
||
<literal>nowait/10/20</literal> болно.</para>
|
||
|
||
<para>Эдгээр тохируулгуудыг &man.fingerd.8; дэмоны анхдагч тохиргоон дээр
|
||
жишээ болгон харвал:</para>
|
||
|
||
<programlisting>finger stream tcp nowait/3/10 nobody /usr/libexec/fingerd fingerd -s</programlisting>
|
||
|
||
<para>Эцэст нь, 100 хүүхдийн хязгаарлалттай, нэг IP хаягнаас үүсэх холболтын
|
||
тоог 5-р хязгаарласан дэмоны жишээг авбал: <literal>nowait/100/0/5</literal> байх юм.</para>
|
||
</listitem>
|
||
</varlistentry>
|
||
|
||
<varlistentry>
|
||
<term>user</term>
|
||
|
||
<listitem>
|
||
<para>Энд тухайн дэмон ямар хэрэглэгчийн нэрээр ажиллахыг зааж өгнө.
|
||
Ихэвчлэн дэмонууд <username>root</username> хэрэглэгчийн нэр дээр ажилладаг.
|
||
Аюулгүй байдлын үүднээс, зарим серверүүд <username>daemon</username>, эсвэл
|
||
хамгийн бага эрхтэй <username>nobody</username> хэрэглэгчийн нэр дээр ажиллах нь
|
||
элбэг байдаг.</para>
|
||
</listitem>
|
||
</varlistentry>
|
||
|
||
<varlistentry>
|
||
<term>server-program</term>
|
||
|
||
<listitem>
|
||
<para>Энд гаднаас холболт хүлээн авахад ажиллуулах дэмоны
|
||
бүрэн замыг зааж өгнө. Хэрэв энэ дэмон <application>inetd</application>-р удирдагдсан
|
||
дотоод үйлчилгээ бол <option>internal</option> тохируулгыг хэрэглэх хэрэгтэй.</para>
|
||
</listitem>
|
||
</varlistentry>
|
||
|
||
<varlistentry>
|
||
<term>server-program-arguments</term>
|
||
|
||
<listitem>
|
||
<para>Үүнийг <option>server-program</option>-тай хамт, <literal>argv[0]</literal>-с эхлэн
|
||
програмын аргументыг зааж өгөх байдлаар хэрэглэнэ. Хэрэв командын
|
||
мөрөнд <command>mydaemon -d</command> гэсэн байдлаар хэрэглэдэг бол, <option>server-program-arguments</option>-н
|
||
утга <literal>mydaemon -d</literal> байна. Дахин хэлэхэд, хэрэв тухайн дэмон дотоод үйлчилгээний
|
||
нэг бол <option>internal</option>-г энд мөн хэрэглэнэ үү.</para>
|
||
</listitem>
|
||
</varlistentry>
|
||
</variablelist>
|
||
</sect2>
|
||
|
||
<sect2 id="network-inetd-security">
|
||
<title>Аюулгүй байдал</title>
|
||
|
||
<para>Үйлдлийн системийг суулгах үед хийсэн сонголтуудаас хамааран
|
||
<application>inetd</application>-н үйлчилгээнүүдийн ихэнх нь
|
||
идэвхтэй болсон байдаг. Хэрэв хэрэглэх
|
||
онцын шаардлага байхгүй бол тэдгээрийг идэвхгүй болгоно уу.
|
||
<filename>/etc/inetd.conf</filename> файл дотор, идэвхгүй болгох гэж
|
||
байгаа демоныхоо харгалзах мөрийн урд <quote>#</quote>
|
||
тэмдгийг тавьж өгнө. Дараа нь <link linkend="network-inetd-reread">inetd-н тохиргоог дахин
|
||
ачаална</link>. <application>fingerd</application> зэрэг зарим дэмонууд гадны халдагчид
|
||
хэрэгтэй мэдээллийг түгээж байдаг тул тэдгээр үйлчилгээг бүрмөсөн хааж
|
||
болох юм.</para>
|
||
|
||
<para>Зарим дэмонууд аюулгүй байдлыг бодолцолгүйгээр бүтээгдсэн
|
||
байдаг ба холболт тогтоох харьцангуй урт болзоот хугацаатай, эсвэл болзоот
|
||
хугацааг огт зааж өгөөгүй байдаг. Энэ нь халдагчид тодорхой дэмон уруу холболт
|
||
тогтоох хүсэлтийг олон дахин илгээж, нөөцийг дуусгах замаар системд халдах
|
||
боломжийг олгодог. Хэрэв ямар нэг дэмоны хувьд үүссэн холболтын тоо
|
||
хэтэрхий олон байвал <option>max-connections-per-ip-per-minute</option>,
|
||
<option>max-child</option> эсвэл <option>max-child-per-ip</option> тохиргооны
|
||
тусламжтайгаар хязгаарлалт хийх нь оновчтой байдаг.</para>
|
||
|
||
<para>Анхдагч байдлаар TCP-ийн дундын хяналт (гүйцэтгэл хялбаршуулалт) идэвхтэй байдаг.
|
||
<application>inetd</application>-р дуудагдсан дэмонуудын хувьд TCP хязгаарлалтыг хэрхэн
|
||
тавих талаар дэлгэрэнгүй мэдээллийг &man.hosts.access.5;
|
||
заавар хуудаснаас үзнэ үү.</para>
|
||
</sect2>
|
||
|
||
<sect2 id="network-inetd-misc">
|
||
<title>Элдэв зүйлс</title>
|
||
|
||
<para><application>daytime</application>,
|
||
<application>time</application>,
|
||
<application>echo</application>,
|
||
<application>discard</application>,
|
||
<application>chargen</application>, ба <application>auth</application> бүгд
|
||
<application>inetd</application>-н дотоод үйлчилгээнүүд юм.</para>
|
||
|
||
<para><application>auth</application> үйлчилгээ нь
|
||
сүлжээний орчинд, тодорхойлолт өгөх үйлчилгээ үзүүлдэг
|
||
бөгөөд тодорхой түвшинд тохиргоо хийх боломжтой байдаг бол
|
||
бусад үйлчилгээнүүдийг зөвхөн идэвхтэй эсвэл идэвхгүй болгох
|
||
боломжтой.</para>
|
||
|
||
<para>Дээрх үйлчилгээнүүдийн талаар бүрэн дүүрэн мэдээллийг &man.inetd.8; заавар хуудаснаас
|
||
үзнэ үү.</para>
|
||
</sect2>
|
||
</sect1>
|
||
|
||
<sect1 id="network-nfs">
|
||
<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>Сүлжээний Файлын Систем (NFS)</title>
|
||
|
||
<indexterm><primary>NFS</primary></indexterm>
|
||
<para>FreeBSD дээр дэмжигддэг олон файлын системүүдийн нэг бол
|
||
Network File System буюу Сүлжээний Файлын Систем юм, мөн <acronym role="Network
|
||
File System">NFS</acronym> гэж нэрлэнэ. <acronym role="Network File
|
||
System">NFS</acronym> нь сүлжээний орчинд файл болон санг
|
||
бусадтай хуваалцах боломжийг олгодог. <acronym role="Network File System">NFS</acronym>-г
|
||
хэрэглэн, хэрэглэгчид болон програмууд алслагдсан систем рүү
|
||
дотоод файл руу хандаж байгаатай адилаар хандах боломжтой.</para>
|
||
|
||
<para><acronym>NFS</acronym>-н тэмдэглүүштэй давуу талуудаас дурдвал:</para>
|
||
|
||
<itemizedlist>
|
||
<listitem>
|
||
<para>Өргөн хэрэглэгддэг өгөгдлийг нэгтгэн нэг машин дээр
|
||
байрлуулж, түүнд алсаас хандах боломжтой болсноор
|
||
дотоод машинууд илүү бага диск хэрэглэх болно. </para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>Хэрэглэгчийн хувьд сүлжээнд байгаа машин бүр дээр тус
|
||
тусдаа гэрийн сантай байх шаардлагагүй болно.
|
||
Гэрийн санг нэг удаа <acronym>NFS</acronym> сервер дээр үүсгээд
|
||
түүнийгээ сүлжээгээр дамжин хэрэглэх боломжтой.</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>Уян диск, CDROM болон &iomegazip; төхөөрөмжүүдийг сүлжээний
|
||
бусад машинууд хэрэглэх боломжтой болно.
|
||
Ингэснээр сүлжээнд хэрэглэгдэх зөөвөрлөх боломжтой
|
||
хадгалах төхөөрөмжүүдийн тоог багасгана.</para>
|
||
</listitem>
|
||
</itemizedlist>
|
||
|
||
<sect2>
|
||
<title><acronym>NFS</acronym> хэрхэн ажилладаг вэ</title>
|
||
|
||
<para><acronym>NFS</acronym> нь үндсэн хоёр хэсгээс бүрдэнэ:
|
||
сервер болон нэг ба түүнээс дээш тооны харилцагч. Сервер машин дээр
|
||
хадгалагдаж байгаа өгөгдөл рүү харилцагч алсаас хандана.
|
||
Дээрх үйлдлийг зөв гүйцэтгэхийн тулд нилээд хэдэн процессийн
|
||
тохиргоог хийж, ажиллуулсан байх ёстой.</para>
|
||
|
||
<para>Сервер дээр дараах дэмонууд ажиллаж байх ёстой:</para>
|
||
<indexterm>
|
||
<primary>NFS</primary>
|
||
<secondary>сервер</secondary>
|
||
</indexterm>
|
||
<indexterm>
|
||
<primary>файл сервер</primary>
|
||
<secondary>UNIX харилцагчид</secondary>
|
||
</indexterm>
|
||
|
||
<indexterm>
|
||
<primary><application>rpcbind</application></primary>
|
||
</indexterm>
|
||
<indexterm>
|
||
<primary><application>mountd</application></primary>
|
||
</indexterm>
|
||
<indexterm>
|
||
<primary><application>nfsd</application></primary>
|
||
</indexterm>
|
||
|
||
<informaltable frame="none" pgwide="1">
|
||
<tgroup cols="2">
|
||
<colspec colwidth="1*">
|
||
<colspec colwidth="3*">
|
||
|
||
<thead>
|
||
<row>
|
||
<entry>Дэмон</entry>
|
||
<entry>Тайлбар</entry>
|
||
</row>
|
||
</thead>
|
||
<tbody>
|
||
<row>
|
||
<entry><application>nfsd</application></entry>
|
||
<entry><acronym>NFS</acronym> харилцагчдаас ирэх
|
||
хүсэлтийг хүлээн авах <acronym>NFS</acronym> дэмон.</entry>
|
||
</row>
|
||
<row>
|
||
<entry><application>mountd</application></entry>
|
||
<entry>&man.nfsd.8;-с дамжиж ирсэн хүсэлтийг гүйцэтгэгч
|
||
<acronym>NFS</acronym> холбох дэмон.</entry>
|
||
</row>
|
||
<row>
|
||
<entry><application>rpcbind</application></entry>
|
||
<entry>Энэ дэмоны тусламжтай <acronym>NFS</acronym>
|
||
харилцагчид <acronym>NFS</acronym> сервер аль портон дээр
|
||
ажиллаж байгааг олж мэднэ.</entry>
|
||
</row>
|
||
</tbody>
|
||
</tgroup>
|
||
</informaltable>
|
||
|
||
<para>Харилцагч <application>nfsiod</application> гэсэн дэмонг мөн
|
||
ажиллуулж болно. <application>nfsiod</application> дэмон
|
||
<acronym>NFS</acronym> серверээс ирэх хүсэлтийг гүйцэтгэнэ.
|
||
Ингэх нь системийг хэвийн, алдаагүй ажиллуулахад зайлшгүй
|
||
шаардлагагүй боловч зарим үзүүлэлтүүдийг сайжруулдаг тул нэмэлт
|
||
байдлаар хэрэглэж болно. Дэлгэрэнгүй мэдээллийг
|
||
&man.nfsiod.8; хуудаснаас үзнэ үү.</para>
|
||
</sect2>
|
||
|
||
<sect2 id="network-configuring-nfs">
|
||
<title><acronym>NFS</acronym>-н тохиргоог хийх</title>
|
||
<indexterm>
|
||
<primary>NFS</primary>
|
||
<secondary>тохиргоо</secondary>
|
||
</indexterm>
|
||
|
||
<para><acronym>NFS</acronym>-н тохиргоог хийх нь харьцангуй
|
||
амархан. Ажиллах ёстой процессуудыг системтэй хамт автоматаар
|
||
асдаг болгохын тулд <filename>/etc/rc.conf</filename> файлыг бага зэрэг
|
||
өөрчлөхөд хангалттай.</para>
|
||
|
||
<para><acronym>NFS</acronym> сервер дээрх <filename>/etc/rc.conf</filename> файл дотор
|
||
дараах тохируулгууд идэвхжсэн байгаа эсэхийг шалгана уу:</para>
|
||
|
||
<programlisting>rpcbind_enable="YES"
|
||
nfs_server_enable="YES"
|
||
mountd_flags="-r"</programlisting>
|
||
|
||
<para><application>mountd</application> нь <acronym>NFS</acronym> серверийг
|
||
идэвхжүүлсэн тохиолдолд өөрөө автоматаар ажиллана.</para>
|
||
|
||
<para>Харилцагч талд, <filename>/etc/rc.conf</filename> файл дотор
|
||
дараах тохируулга идэвхтэй байгаа эсэхийг шалгана уу:</para>
|
||
|
||
<programlisting>nfs_client_enable="YES"</programlisting>
|
||
|
||
<para><filename>/etc/exports</filename> файл дотор
|
||
<acronym>NFS</acronym> ямар файл системүүдийг экспорт
|
||
хийхийг (заримдаа <quote>хуваалцах</quote> гэж мөн нэрлэнэ) зааж өгнө.
|
||
<filename>/etc/exports</filename> файлын мөр бүр нь нэг файл системд харгалзана.
|
||
Энэ файл системд хандах эрхтэй машинуудыг заахаас гадна,
|
||
ямар тохируулгаар хандахыг мөн зааж өгч болно. Энэ файл дотор бичигдэж
|
||
болох нилээд олон ийм тохируулгууд байгаа хэдий ч, бид тэдгээрээс
|
||
зөвхөн заримыг нь энд авч үзэх болно. Та бусад тохируулгуудын
|
||
талаар &man.exports.5; заавар хуудаснаас уншиж мэднэ үү.</para>
|
||
|
||
<para>Доор <filename>/etc/exports</filename> файлаас хэдэн жишээ мөрийг үзүүлэв:</para>
|
||
|
||
<indexterm>
|
||
<primary>NFS</primary>
|
||
<secondary>экспортлох жишээ</secondary>
|
||
</indexterm>
|
||
|
||
<para>Дараах жишээн дээрээс файл системийг
|
||
хэрхэн экспортлох санааг олж авах болно. Тохируулгууд нь
|
||
таны сүлжээний тохиргоо, нөхцөл байдлаас шалтгаалан
|
||
өөр байхыг анхаарна уу. Жишээ нь, <filename>/cdrom</filename> гэсэн санг
|
||
3 машин руу экспортлохын тулд дараах байдалтай бичнэ. Жишээн дээрх
|
||
3 машин сервертэй адил домэйн нэртэй, эсвэл таны <filename>/etc/hosts</filename>
|
||
файл дотор тодорхойлогдсон гэж үзсэн болно. <option>-ro</option> туг нь
|
||
экспортлогдож буй файл системийг зөвхөн унших боломжтой
|
||
болохыг заана. Энэ тугийг тавьснаар алсаас хандаж буй машин
|
||
энэ файл систем дээр ямар нэг өөрчлөлт хийх боломжгүй болно.</para>
|
||
|
||
<programlisting>/cdrom -ro host1 host2 host3</programlisting>
|
||
|
||
<para>Дараах жишээн дээр <filename>/home</filename> санг
|
||
IP хаягаар нь зааж өгсөн 3 машин руу экспортолж байна.
|
||
Ингэж IP хаягаар нь зааж өгөх нь дотоод сүлжээндээ
|
||
<acronym>DNS</acronym> сервер ажиллуулаагүй үед их хэрэгтэй байдаг.
|
||
Эсвэл <filename>/etc/hosts</filename> файл дотор дотоод хостуудын
|
||
нэрийг тохируулж болно; &man.hosts.5; хэсгийг дахин үзнэ үү.
|
||
<option>-alldirs</option> гэсэн туг нь дэд сангуудыг
|
||
холболтын цэг байхыг зөвшөөрч өгдөг. Өөрөөр хэлбэл,
|
||
дэд сангуудыг холболгүй орхиж, харилцагч зөвхөн өөрийн
|
||
хэрэгцээтэй байгаа сангаа холбохыг зөвшөөрнө гэсэн үг юм.</para>
|
||
|
||
<programlisting>/home -alldirs 10.0.0.2 10.0.0.3 10.0.0.4</programlisting>
|
||
|
||
<para>Дараах жишээн дээр <filename>/a</filename> санг
|
||
хоёр өөр домэйноос 2 харилцагч хандаж болохоор
|
||
экспортолж байна. <option>-maproot=root</option> гэсэн туг нь
|
||
алслагдсан систем дээрх <username>root</username> хэрэглэгч
|
||
экспортлогдсон файл систем дээр <username>root</username> эрхээр
|
||
бичихийг зөвшөөрнө. Хэрэв <literal>-maproot=root</literal> тугийг тусгайлан зааж өгөөгүй бол,
|
||
хэдий алслагдсан систем дээрх хэрэглэгч <username>root</username> эрхтэй ч
|
||
экспортлогдсон файл систем дээр бичих эрхгүй болно.</para>
|
||
|
||
<programlisting>/a -maproot=root host.example.com box.example.org</programlisting>
|
||
|
||
<para>Харилцагч экспортлогдсон файл систем рүү хандахын
|
||
тулд эрх нь байх ёстой. Тухайн харилцагч <filename>/etc/exports</filename>
|
||
файл дотор бүртгэлтэй эсэхийг шалгаарай.</para>
|
||
|
||
<para><filename>/etc/exports</filename> файл дотор мөр болгон нь
|
||
нэг файл системийг нэг хост руу экспортлох мэдээллийг
|
||
төлөөлнө. Алслагдсан хост аль нэг файл системийн хувьд
|
||
зөвхөн ганц удаа л тодорхойлогдсон байх ёстой ба үүнд харгалзах
|
||
ганцхан анхдагч бичлэг байж болно. Жишээ нь, <filename>/usr</filename> нь
|
||
нэг файл систем гэж бодъё. <filename>/etc/exports</filename> файл доторх
|
||
дараах бичлэгүүд нь буруу юм:</para>
|
||
|
||
<programlisting># Invalid when /usr is one file system
|
||
/usr/src client
|
||
/usr/ports client</programlisting>
|
||
|
||
<para>Учир нь <filename>/usr</filename> гэсэн файл системийг <hostid>client</hostid>
|
||
гэсэн хост руу экспортолсон хоёр бичлэг байна. Энэ тохиолдолд
|
||
дараах форматаар бичвэл зөв болно:</para>
|
||
|
||
<programlisting>/usr/src /usr/ports client</programlisting>
|
||
|
||
<para>Нэг хост руу экспортлогдож байгаа файл системийн хувьд
|
||
шинжүүдийг бүгдийг нэг мөрөнд жагсаан бичих ёстой.
|
||
Харилцагчийг зааж өгөөгүй мөрүүдийг энгийн хост гэж үзнэ.
|
||
Энэ нь файл системийг экспортлох боломжийг хязгаарлана,
|
||
гэвч энэ нь ихэнх хүмүүст хүнд асуудал биш байдаг.</para>
|
||
|
||
<para>Дараагийн жишээн дээр <filename>/usr</filename> ба <filename>/exports</filename>
|
||
гэсэн дотоод файл системийг экспортолсон байна:</para>
|
||
|
||
<programlisting># Export src and ports to client01 and client02, but only
|
||
# client01 has root privileges on it
|
||
/usr/src /usr/ports -maproot=root client01
|
||
/usr/src /usr/ports client02
|
||
# The client machines have root and can mount anywhere
|
||
# on /exports. Anyone in the world can mount /exports/obj read-only
|
||
/exports -alldirs -maproot=root client01 client02
|
||
/exports/obj -ro</programlisting>
|
||
|
||
<para><filename>/etc/exports</filename> файл дотор гарсан
|
||
өөрчлөлтүүдийг хүчинтэй болгохын тулд,
|
||
өөрчлөлт орсон тухай бүрд <application>mountd</application> дэмонг
|
||
албадан <filename>/etc/exports</filename>-г дахин уншуулах хэрэгтэй болдог.
|
||
Үүний тулд эсвэл HUP дохиог ажиллаж байгаа дэмонд өгөх хэрэгтэй:</para>
|
||
|
||
<screen>&prompt.root; <userinput>kill -HUP `cat /var/run/mountd.pid`</userinput></screen>
|
||
|
||
<para>эсвэл <command>mountd</command> &man.rc.8; скриптийг зохих параметрийн
|
||
хамт ажиллуулах хэрэгтэй:</para>
|
||
|
||
<screen>&prompt.root; <userinput>/etc/rc.d/mountd onereload</userinput></screen>
|
||
|
||
<para>rc скриптийг хэрэглэх зааврыг <xref linkend="configtuning-rcd"> хэсгээс
|
||
үзнэ үү.</para>
|
||
|
||
<para>Бас нэг боломж нь, FreeBSD-г эхнээс нь ачаалж, бүх процессийг дахин
|
||
эхлүүлэх юм. Гэвч үүний тулд заавал системийг дахин ачаалах шаардлага байхгүй.
|
||
<username>root</username> эрхээр дараах тушаалуудыг өгснөөр зөвхөн хэрэгтэй процессуудаа
|
||
дахин эхлүүлэх боломжтой.</para>
|
||
|
||
<para><acronym>NFS</acronym> сервер дээр:</para>
|
||
|
||
<screen>&prompt.root; <userinput>rpcbind</userinput>
|
||
&prompt.root; <userinput>nfsd -u -t -n 4</userinput>
|
||
&prompt.root; <userinput>mountd -r</userinput></screen>
|
||
|
||
<para><acronym>NFS</acronym> харилцагч дээр:</para>
|
||
|
||
<screen>&prompt.root; <userinput>nfsiod -n 4</userinput></screen>
|
||
|
||
<para>Одоо алсын файл системийг холбоход бэлэн боллоо.
|
||
Доорх жишээнүүд дээр серверийн нэрийг <hostid>server</hostid>,
|
||
харилцагчийн нэрийг <hostid>client</hostid> гэж авсан болно.
|
||
Хэрэв та алсын файл системийг зөвхөн түр хугацаагаар холбох гэж байгаа
|
||
эсвэл тохиргоогоо шалгах гэж байгаа бол, харилцагч талд
|
||
<username>root</username> эрхээр дараах тушаалыг өгөхөд хангалттай:</para>
|
||
<indexterm>
|
||
<primary>NFS</primary>
|
||
<secondary>холболт</secondary>
|
||
</indexterm>
|
||
<screen>&prompt.root; <userinput>mount server:/home /mnt</userinput></screen>
|
||
|
||
<para>Энэ тушаалыг өгснөөр та сервер талд байгаа <filename>/home</filename>
|
||
гэсэн санг харилцагч талд байгаа <filename>/mnt</filename> сантай
|
||
холбох болно. Хэрэв бүх зүйл зөв тохируулагдсан бол, та харилцагч талын
|
||
<filename>/mnt</filename> сан дотор орж сервер дээр байгаа файлуудыг
|
||
харж чадах ёстой.</para>
|
||
|
||
<para>Хэрэв систем шинээр ачаалах бүрд ямар нэг алсын
|
||
файл системийг холбох хүсэлтэй байгаа бол,
|
||
түүнийгээ <filename>/etc/fstab</filename> файл дотор нэмж бичих хэрэгтэй.
|
||
Жишээ нь:</para>
|
||
|
||
<programlisting>server:/home /mnt nfs rw 0 0</programlisting>
|
||
|
||
<para>Боломжит бүх сонголтуудын талаар &man.fstab.5; заавар хуудаснаас үзнэ үү.</para>
|
||
</sect2>
|
||
|
||
<sect2>
|
||
<title>Цоожлолт</title>
|
||
|
||
<para>Зарим програмууд (ж.н. <application>mutt</application>)
|
||
зөв ажиллахын тулд файл цоожлолтыг шаарддаг.
|
||
<acronym>NFS</acronym>-н хувьд, <application>rpc.lockd</application>-г
|
||
файл цоожлолтонд хэрэглэж болно. Түүнийг идэвхжүүлэхийн тулд,
|
||
сервер болон харилцагч талд хоёуланд нь <filename>/etc/rc.conf</filename>
|
||
файл дотор дараах мөрүүдийг нэмж өгөх хэрэгтэй
|
||
(<acronym>NFS</acronym> сервер болон харилцагч талуудыг аль хэдийн тохируулчихсан
|
||
гэж үзэв):</para>
|
||
|
||
<programlisting>rpc_lockd_enable="YES"
|
||
rpc_statd_enable="YES"</programlisting>
|
||
|
||
<para>Програмыг дараах байдалтай эхлүүлнэ:</para>
|
||
|
||
<screen>&prompt.root; <userinput>/etc/rc.d/lockd start</userinput>
|
||
&prompt.root; <userinput>/etc/rc.d/statd start</userinput></screen>
|
||
|
||
<para>Хэрэв <acronym>NFS</acronym> харилцагч болон <acronym>NFS</acronym>
|
||
сервер талуудын хооронд жинхэнэ файл цоожлолт хийгдэх
|
||
шаардлагагүй бол, <acronym>NFS</acronym> харилцагч талд &man.mount.nfs.8;-д
|
||
<option>-L</option> тохируулгыг өгөн дотоод цоожлолт хийлгэж болно.
|
||
Дэлгэрэнгүй мэдээллийг &man.mount.nfs.8; заавар хуудаснаас үзнэ үү.</para>
|
||
</sect2>
|
||
|
||
<sect2>
|
||
<title>Практик хэрэглээ</title>
|
||
|
||
<para><acronym>NFS</acronym> нь олон практик хэрэглээтэй. Хамгийн элбэг
|
||
тохиолддог хэрэглээг доор жагсаав:</para>
|
||
|
||
<indexterm>
|
||
<primary>NFS</primary>
|
||
<secondary>хэрэглээ</secondary>
|
||
</indexterm>
|
||
<itemizedlist>
|
||
<listitem>
|
||
<para>Олон машиныг нэг CDROM эсвэл төхөөрөмжийг дундаа
|
||
хэрэглэдэг байхаар зохион байгуулах. Энэ нь нэг програмыг
|
||
олон машин дээр суулгах хамгийн хямд, хялбар арга юм.</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>Том сүлжээний хувьд, бүх хэрэглэгчдийн гэрийн санг хадгалдаг
|
||
төвлөрсөн <acronym>NFS</acronym> серверийг тохируулах. Эдгээр гэрийн сангуудыг
|
||
дараа нь сүлжээний орчинд экспортолсноор хэрэглэгчид аль машин дээр
|
||
ажиллаж буйгаас үл хамааран өөрийн нэг л сан дотор ажиллах боломжтой
|
||
болно.</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>Олон машин дундаа нэг <filename>/usr/ports/distfiles</filename>
|
||
сантай байх. Ийм замаар, нэг портыг олон машин дээр суулгах
|
||
хэрэгтэй үед машин бүр дээр эх файлыг татаж авалгүйгээр хурдан суулгах
|
||
боломжтой болно.</para>
|
||
</listitem>
|
||
</itemizedlist>
|
||
</sect2>
|
||
|
||
<sect2 id="network-amd">
|
||
<sect2info>
|
||
<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>
|
||
</sect2info>
|
||
<title><application>amd</application>-р автоматаар холбох нь</title>
|
||
|
||
<indexterm><primary>amd</primary></indexterm>
|
||
<indexterm><primary>автоматаар холбогч дэмон</primary></indexterm>
|
||
|
||
<para>&man.amd.8; (автоматаар холбогч дэмон)
|
||
нь алсын файл системийн файл эсвэл санд хэрэглэгч
|
||
хандах тухай бүрт уг файл системийг автоматаар холбодог.
|
||
Хэсэг хугацааны туршид идэвхгүй байгаа файл системийг
|
||
<application>amd</application> мөн автоматаар салгана. <application>amd</application>-г
|
||
хэрэглэснээр <filename>/etc/fstab</filename> дотор бичигддэг байнгын
|
||
холболтоос гадна, холболт хийх боломжийг олгодог.</para>
|
||
|
||
<para><application>amd</application> нь өөрийгөө, <filename>/host</filename> ба <filename>/net</filename>
|
||
сангууд дээр NFS сервер байдлаар холбож ажиллах бөгөөд эдгээр
|
||
сангууд доторх файлд хандах үед, <application>amd</application>
|
||
харгалзах алсын холболтыг хайж олоод автоматаар холбох болно.
|
||
<filename>/net</filename> нь экспортлогдсон файл системийг
|
||
IP хаягаар нь холбоход, харин <filename>/host</filename> нь
|
||
хост нэрээр нь холбоход хэрэглэгдэнэ.</para>
|
||
|
||
<para><filename>/host/foobar/usr</filename> сан доторх
|
||
файлд хандана гэдэг нь <application>amd</application>-г
|
||
<hostid>foobar</hostid> гэсэн хост дээр экспортлогдсон <filename>/usr</filename>
|
||
санг холбохын зааж өгнө.</para>
|
||
|
||
<example>
|
||
<title>Экспортыг <application>amd</application>-р холбох</title>
|
||
|
||
<para>Алсын хост дээр байгаа боломжит холболтуудын
|
||
жагсаалтыг <command>showmount</command> тушаалын тусламжтай харж болно.
|
||
Жишээлбэл, <hostid>foobar</hostid> нэртэй хостын экспортыг харахын тулд:</para>
|
||
|
||
<screen>&prompt.user; <userinput>showmount -e foobar</userinput>
|
||
Exports list on foobar:
|
||
/usr 10.10.10.0
|
||
/a 10.10.10.0
|
||
&prompt.user; <userinput>cd /host/foobar/usr</userinput></screen>
|
||
</example>
|
||
|
||
<para>Жишээн дээр үзүүлснээр <command>showmount</command> нь <filename>/usr</filename>-г
|
||
экспортлогдсон болохыг харуулж байна. <filename>/host/foobar/usr</filename> сан
|
||
дотор ороход, <application>amd</application> нь <hostid>foobar</hostid> гэсэн хост нэрийг
|
||
тайлахыг оролдох ба заасан санг холбоно.</para>
|
||
|
||
<para><application>amd</application>-г эхлэл скриптүүдээр эхлүүлж болох ба
|
||
үүний тулд <filename>/etc/rc.conf</filename> файл дотор дараах мөрийг нэмэх хэрэгтэй:</para>
|
||
|
||
<programlisting>amd_enable="YES"</programlisting>
|
||
|
||
<para>Мөн, <application>amd</application> програмд <varname>amd_flags</varname> тохируулгын
|
||
тусламжтай тугуудыг өгч болно. <varname>amd_flags</varname>-н анхдагч утга нь:</para>
|
||
|
||
<programlisting>amd_flags="-a /.amd_mnt -l syslog /host /etc/amd.map /net /etc/amd.map"</programlisting>
|
||
|
||
<para><filename>/etc/amd.map</filename> файл дотор экспортуудыг холбох анхдагч
|
||
тохируулгуудыг зааж өгсөн байна. <filename>/etc/amd.conf</filename> файл дотор
|
||
<application>amd</application>-н илүү дээд түвшний чанаруудыг тодорхойлж өгнө.</para>
|
||
|
||
<para>Дэлгэрэнгүй мэдээллийг &man.amd.8; ба &man.amd.conf.5; заавар хуудаснаас
|
||
үзнэ үү.</para>
|
||
</sect2>
|
||
|
||
<sect2 id="network-nfs-integration">
|
||
<sect2info>
|
||
<authorgroup>
|
||
<author>
|
||
<firstname>Жон</firstname>
|
||
<surname>Линд</surname>
|
||
<contrib>Хувь нэмрээ оруулсан </contrib>
|
||
</author>
|
||
</authorgroup>
|
||
<authorgroup>
|
||
<author>
|
||
<firstname>Лодойсамбын</firstname>
|
||
<surname>Баянзул</surname>
|
||
<contrib>Орчуулсан </contrib>
|
||
</author>
|
||
</authorgroup>
|
||
|
||
</sect2info>
|
||
<title>Бусад системтэй нэгтгэхэд тохиолдох асуудлууд</title>
|
||
|
||
<para>ISA PC системд зориулсан зарим Ethernet адаптерууд
|
||
учир дутагдалтай байдгаас сүлжээний орчинд ажиллахад, тэр дундаа
|
||
NFS-тэй ажиллахад нилээд асуудалтай байдаг.
|
||
Энэ асуудал зөвхөн FreeBSD-д тохиолддоггүй боловч FreeBSD систем үүнд нилээд
|
||
өртөмтгий байдаг.</para>
|
||
|
||
<para>Энэ асуудал нь (FreeBSD) PC системийг өндөр үзүүлэлттэй машинуудтай (жишээлбэл,
|
||
Silicon Graphics, Inc., ба Sun Microsystems, Inc компаниудын хийсэн)
|
||
сүлжээнд холбох үед бараг үргэлж тохиолддог. NFS холболт хийхэд асуудалгүй,
|
||
зарим үйлдлүүдийг хийхэд амжилттай байх боловч, гаднаас ирж явж байгаа
|
||
хүсэлтүүдийг боловсруулж чадаж байгаа хэдий ч сервер гэнэт харилцагчид
|
||
хариу өгөхгүй болдог. Энэ асуудал мөн харилцагчийн хувьд, харилцагч
|
||
FreeBSD систем эсвэл ажлын машин байхаас үл шалтгаалан тохиолдоно.
|
||
Ихэнх системийн хувьд, нэгэнт ийм асуудалд орсон бол харилцагч талыг
|
||
ном ёсных нь дагуу унтраах боломжгүй болдог. Ганц авдаг арга хэмжээ бол системийг
|
||
хүчээр унтрааж асаах юм. Учир нь, NFS-н энэ асуудал одоо хир нь шийдэгдээгүй
|
||
байна.</para>
|
||
|
||
<para>Хэдийгээр <quote>зөв</quote> шийдэл бол
|
||
FreeBSD системд тохирох илүү өндөр үзүүлэлттэй, илүү багтаамжтай
|
||
Ethernet адаптерийг олж авах боловч,
|
||
боломжит ажиллагааг хангахын тулд нэг арга байна.
|
||
Хэрэв FreeBSD систем нь <emphasis>сервер</emphasis> бол, харилцагч талаас
|
||
холболт хийхдээ <option>-w=1024</option> тохируулгыг оруулж өгөх явдал юм.
|
||
Хэрэв FreeBSD систем нь <emphasis>харилцагч</emphasis> бол, NFS файл системтэй
|
||
холбогдохдоо <option>-r=1024</option> тохируулгыг хэрэглэх юм.
|
||
Эдгээр тохируулгуудыг автомат холболтын хувьд
|
||
<filename>fstab</filename> бичлэгийн дөрөв дэх талбарыг ашиглан,
|
||
гар аргаар холболт хийх бол &man.mount.8; тушаалын <option>-o</option>
|
||
параметрыг ашиглан зааж өгч болно.</para>
|
||
|
||
<para>NFS сервер болон харилцагчид өөр өөр сүлжээнд
|
||
байхад гардаг өөр нэг асуудлыг энэ асуудалтай
|
||
хольж хутгах тохиолдол байдгийг энд дурдах нь зүйтэй болов уу.
|
||
Хэрэв тийм бол, чиглүүлэгчид шаардлагатай <acronym>UDP</acronym>
|
||
мэдээллийг дамжуулж чадаж байгаа эсэхийг
|
||
<emphasis>нягталж</emphasis> үзээрэй. Үгүй бол, өөр юу ч хийлээ гээд
|
||
та үр дүнд хүрч чадахгүй.</para>
|
||
|
||
<para>Дараах жишээн дээр, <hostid>fastws</hostid> нь өндөр үзүүлэлттэй
|
||
ажлын машины хост (интерфэйс) нэр, <hostid>freebox</hostid> нь
|
||
бага үзүүлэлттэй Ethernet адаптертай FreeBSD системийн
|
||
нэр юм. Мөн, <filename>/sharedfs</filename> нь экспортлогдох гэж байгаа NFS
|
||
файл систем (&man.exports.5;-г үз), ба <filename>/project</filename> нь
|
||
харилцагч талын экспортлогдсон файл системийг холбох цэг байх болно.
|
||
Аль ч тохиолдолд, <option>hard</option> эсвэл <option>soft</option> ба <option>bg</option>
|
||
зэрэг нэмэлт тохируулгууд таны хувьд хэрэгтэй байж болох юм.</para>
|
||
|
||
<para>FreeBSD системийг (<hostid>freebox</hostid>) <hostid>freebox</hostid> дээр
|
||
<filename>/etc/fstab</filename> дотор харилцагч байдлаар зааж өгөх жишээ:</para>
|
||
|
||
<programlisting>fastws:/sharedfs /project nfs rw,-r=1024 0 0</programlisting>
|
||
|
||
<para><hostid>freebox</hostid> дээр гараар холбохдоо:</para>
|
||
|
||
<screen>&prompt.root; <userinput>mount -t nfs -o -r=1024 fastws:/sharedfs /project</userinput></screen>
|
||
|
||
<para>FreeBSD системийг (<hostid>freebox</hostid>) <hostid>fastws</hostid> дээр
|
||
<filename>/etc/fstab</filename> дотор сервер байдлаар зааж өгөх жишээ:</para>
|
||
|
||
<programlisting>freebox:/sharedfs /project nfs rw,-w=1024 0 0</programlisting>
|
||
|
||
<para><hostid>fastws</hostid> дээр гараар холбохдоо:</para>
|
||
|
||
<screen>&prompt.root; <userinput>mount -t nfs -o -w=1024 freebox:/sharedfs /project</userinput></screen>
|
||
|
||
<para>Бараг бүх 16-битийн Ethernet адаптерийн хувьд
|
||
унших ба бичих хэмжээн дээр дээрх байдлаар хязгаарлалт
|
||
хийлгүйгээр ажиллах боломжтой байдаг.</para>
|
||
|
||
<para>Сонирхсон улсуудад толилуулахад, дээрх алдаа гарахад
|
||
чухам юу тохиолддог, яагаад засагдах боломжгүй болох талаар
|
||
дор тайлбарлав. NFS нь голчлон 8 K (хэдийгээр илүү бага хэмжээтэй
|
||
хэсэг дээр ажиллаж чадах боловч) хэмжээтэй <quote>блок</quote>ууд дээр
|
||
ажилладаг. Хамгийн урт Ethernet пакет 1500 байт орчим байх ба,
|
||
NFS <quote>блок</quote> нь хэд хэдэн Ethernet пакетуудад хуваагдах
|
||
хэрэгтэй болдог. Дээд түвшний програмын хувьд
|
||
энэ нь нэг нэгж хэвээр байх ба хүлээж аваад, нийлүүлээд, бататгал
|
||
хийхэд ч мөн нэг нэгж хэвээр байдаг. Өндөр үзүүлэлттэй ажлын машинууд
|
||
NFS нэгжийг бүрдүүлж байгаа тэдгээр пакетуудыг стандартад
|
||
заасны дагуу аль болох ойрхон ойрхон, нэг нэгээр нь цувуулж
|
||
гаргана. Жижиг, бага багтаамжтай картууд дээр, дээд түвшний програмд
|
||
дамжуулахаас өмнө сүүлийн пакет нь өмнөх пакетаа дарснаар
|
||
тухайн нэгжийг буцааж нийлүүлж, бататгах боломжгүй болно.
|
||
Үүнээс болж, ажлын машины болзоот хугацаа дуусаж бүхэл бүтэн 8 K
|
||
нэгжийг дахин дамжуулах болно. Энэ үйл ажиллагаа дахин дахин хязгааргүй
|
||
давтагдах болно.</para>
|
||
|
||
<para>Нэгжийн хэмжээг Ethernet пакетийн хэмжээнээс бага
|
||
байлгаснаар, бид Ethernet пакет тус бүрийг бататгаж
|
||
мухардалд орохоос сэргийлж чадна.</para>
|
||
|
||
<para>Өндөр үзүүлэлттэй ажлын машинууд PC систем рүү өгөгдлийг
|
||
цацсаар байх үед давхцал үүссээр байх боловч, илүү сайн карт
|
||
ашигласнаар NFS <quote>нэгж</quote>ийн хувьд заавал тийм давхцал үүсэх
|
||
албагүй болно. Давхцал үүссэн тохиолдолд, түүнд өртсөн нэгжийг
|
||
дахин дамжуулах ба түүнийг хүлээн авч, нийлүүлж, бататгах боломж өндөртэй.</para>
|
||
</sect2>
|
||
</sect1>
|
||
|
||
<sect1 id="network-nis">
|
||
<sect1info>
|
||
<authorgroup>
|
||
<author>
|
||
<firstname>Билл</firstname>
|
||
<surname>Свингл</surname>
|
||
<contrib>Бичсэн </contrib>
|
||
</author>
|
||
</authorgroup>
|
||
<authorgroup>
|
||
<author>
|
||
<firstname>Эрик</firstname>
|
||
<surname>Огрен</surname>
|
||
<contrib>Сайжруулсан </contrib>
|
||
</author>
|
||
<author>
|
||
<firstname>Удо</firstname>
|
||
<surname>Эрделхофф</surname>
|
||
</author>
|
||
</authorgroup>
|
||
<authorgroup>
|
||
<author>
|
||
<firstname>Лодойсамбын</firstname>
|
||
<surname>Баянзул</surname>
|
||
<contrib>Орчуулсан </contrib>
|
||
</author>
|
||
</authorgroup>
|
||
</sect1info>
|
||
<title>Сүлжээний Мэдээллийн Систем (NIS/YP)</title>
|
||
|
||
<sect2>
|
||
<title>Энэ юу вэ?</title>
|
||
<indexterm><primary>NIS</primary></indexterm>
|
||
<indexterm><primary>Solaris</primary></indexterm>
|
||
<indexterm><primary>HP-UX</primary></indexterm>
|
||
<indexterm><primary>AIX</primary></indexterm>
|
||
<indexterm><primary>Linux</primary></indexterm>
|
||
<indexterm><primary>NetBSD</primary></indexterm>
|
||
<indexterm><primary>OpenBSD</primary></indexterm>
|
||
|
||
<para><acronym role="Network Information System">NIS</acronym>,
|
||
нь Network Information Services буюу Сүлжээний Мэдээллийн Үйлчилгээнүүд
|
||
гэсэн үгийн товчлол бөгөөд &unix; (анхандаа &sunos;) системүүдийн
|
||
удирдлагыг төвлөрүүлэх зорилгоор Sun Microsystems анх хөгжүүлсэн.
|
||
Одоо энэ салбарын үндсэн стандарт болжээ; бүх гол &unix; төрлийн системүүд
|
||
(&solaris;, HP-UX, &aix;, Линукс, NetBSD, OpenBSD, FreeBSD, гэх мэт) <acronym role="Network Information
|
||
System">NIS</acronym>-г дэмждэг.</para>
|
||
|
||
<indexterm><primary>шар хуудас</primary><see>NIS</see></indexterm>
|
||
|
||
<para><acronym role="Network Information System">NIS</acronym> анх Yellow Pages буюу Шар Хуудас
|
||
гэсэн нэртэй байсан боловч худалдааны тэмдгийн асуудлаас болж
|
||
Sun нэрийг нь сольсон. Хуучин нэр (ба yp) нь одоо хир нь хэрэглэгдсээр байдаг.</para>
|
||
|
||
<indexterm>
|
||
<primary>NIS</primary>
|
||
<secondary>домэйнууд</secondary>
|
||
</indexterm>
|
||
|
||
<para>Энэ нь RPC дээр үндэслэсэн, нэг NIS домэйнд байгаа
|
||
бүлэг машинууд дундаа адилхан тохиргооны файлтай боломжийг
|
||
олгодог харилцагч/сервер систем юм. Үүний тусламжтай
|
||
системийн администратор NIS харилцагч системийг
|
||
зайлшгүй байх үндсэн тохиргоотойгоор үүсгэх, тохиргооны өгөгдлийг
|
||
нэг дор нэмэх, хасах, өөрчлөх зэрэг үйлдлүүдийг хийх
|
||
боломжтой болдог.</para>
|
||
|
||
<indexterm><primary>Windows NT</primary></indexterm>
|
||
|
||
<para>Энэ нь &windowsnt;-н домэйн системтэй төстэй.
|
||
Хэдийгээр тэдгээрийн дотоод ажиллагаа нь ердөө ч адилхан биш боловч
|
||
үндсэн үүргийг нь адилтгаж болох юм.</para>
|
||
</sect2>
|
||
|
||
<sect2>
|
||
<title>Таны мэдэж байх ёстой Нэр томъёо/Процессууд</title>
|
||
|
||
<para>NIS сервер эсвэл NIS харилцагч байдлаар ажилладаг NIS-г FreeBSD дээр
|
||
зохион байгуулахын тулд нилээд хэдэн нэр томъёо, чухал хэрэглэгчийн
|
||
процессуудтай та тааралдах болно:</para>
|
||
|
||
<indexterm>
|
||
<primary><application>rpcbind</application></primary>
|
||
</indexterm>
|
||
<indexterm>
|
||
<primary><application>portmap</application></primary>
|
||
</indexterm>
|
||
|
||
<informaltable frame="none" pgwide="1">
|
||
<tgroup cols="2">
|
||
<colspec colwidth="1*">
|
||
<colspec colwidth="3*">
|
||
|
||
<thead>
|
||
<row>
|
||
<entry>Нэр томъёо</entry>
|
||
<entry>Тайлбар</entry>
|
||
</row>
|
||
</thead>
|
||
<tbody>
|
||
<row>
|
||
<entry>NIS домэйн нэр</entry>
|
||
|
||
<entry>NIS мастер сервер болон түүний бүх харилцагчид
|
||
(түүний зарц серверийг оруулаад) бүгд NIS домэйн нэртэй байна.
|
||
&windowsnt;-н домэйн нэртэй адилаар, NIS домэйн нэр <acronym>DNS</acronym>-тэй
|
||
ямар ч хамаагүй.</entry>
|
||
</row>
|
||
<row>
|
||
<entry><application>rpcbind</application></entry>
|
||
|
||
<entry><acronym>RPC</acronym>-г (Remote Procedure Call буюу Алсын Процедур Дуудах, NIS-н
|
||
ашигладаг сүлжээний протокол) идэвхтэй байлгахын тулд заавал ажиллаж
|
||
байх ёстой. Хэрэв <application>rpcbind</application> ажиллахгүй бол,
|
||
NIS сервер ажиллуулах, NIS харилцагч болох боломжгүй.</entry>
|
||
</row>
|
||
<row>
|
||
<entry><application>ypbind</application></entry>
|
||
|
||
<entry>NIS харилцагчийг NIS сервертэй <quote>холбоно</quote>.
|
||
NIS домэйн нэрийг системээс авч, <acronym>RPC</acronym> ашиглан сервертэй холбоно.
|
||
<application>ypbind</application> нь NIS орчны харилцагч-серверийн харилцааны цөм нь болж
|
||
өгдөг; Хэрэв харилцагчийн машин дээр <application>ypbind</application> үхвэл,
|
||
NIS сервер рүү хандах боломжгүй болно.</entry>
|
||
</row>
|
||
<row>
|
||
<entry><application>ypserv</application></entry>
|
||
<entry>Зөвхөн NIS сервер дээр ажиллаж байх ёстой;
|
||
энэ бол NIS сервер процесс өөрөө юм. Хэрэв &man.ypserv.8; үхвэл,
|
||
сервер NIS хүсэлтэд хариу өгөх боломжгүй болно (магадгүй,
|
||
түүний үүргийг үргэлжлүүлэх зарц сервер байгаа байх). Зарим
|
||
NIS-н хувьд (FreeBSD-гийх биш), анх холбогдож байсан сервер байхгүй болбол
|
||
өөр сервертэй холбоо тогтоохыг оролддоггүй хувилбарууд байдаг.
|
||
Ихэнхдээ, ийм үед ганц тус болох зүйл бол сервер процессийг
|
||
дахин эхлүүлэх (эсвэл серверийг бүхлээр нь), эсвэл харилцагч талын
|
||
<application>ypbind</application> процессийг дахин эхлүүлэх юм.</entry>
|
||
</row>
|
||
<row>
|
||
<entry><application>rpc.yppasswdd</application></entry>
|
||
<entry>Зөвхөн NIS эзэн сервер дээр ажиллаж байх ёстой өөр
|
||
нэг процесс; Энэ дэмон NIS харилцагч нарыг өөрсдийн нэвтрэх үгийг
|
||
солих боломжийг олгоно. Хэрэв энэ дэмон ажиллахгүй бол,
|
||
хэрэглэгчид NIS эзэн сервер рүү нэвтэрч орон тэнд нэвтрэх үгээ солих
|
||
хэрэгтэй болно.</entry>
|
||
</row>
|
||
</tbody>
|
||
</tgroup>
|
||
</informaltable>
|
||
<!-- XXX Missing: rpc.ypxfrd (not important, though) May only run
|
||
on the master -->
|
||
|
||
</sect2>
|
||
|
||
<sect2>
|
||
<title>Хэрхэн ажилладаг вэ?</title>
|
||
|
||
<para>NIS орчинд гурван төрлийн хост байна:
|
||
эзэн сервер, зарц сервер, ба харилцагч. Серверүүд нь
|
||
хостуудын тохиргооны мэдээллийг хадгалсан агуулахын үүргийг
|
||
гүйцэтгэнэ. Эзэн сервер энэ мэдээллийн бүрэн эрхтэй хуулбарыг
|
||
хадгалж байдаг бол, зарц сервер нь энэ мэдээллийн хуулбарыг
|
||
нөөцөнд хадгалж байдаг. Серверүүд харилцагчдыг эдгээр мэдээллээр
|
||
хангана.</para>
|
||
|
||
<para>Олон файлд байгаа мэдээллийг энэ маягаар хуваалцаж хэрэглэнэ.
|
||
<filename>master.passwd</filename>, <filename>group</filename>, ба <filename>hosts</filename> гэсэн файлуудыг
|
||
ихэвчлэн NIS тусламжтай хуваалцана. Эдгээр файлд байдаг мэдээлэл
|
||
харилцагч талын нэг процессод хэрэгтэй боллоо гэхэд түүнийг өөрийн дотоодоос
|
||
хайхын оронд түүнд оноогдсон NIS серверээс асуулга хийнэ.</para>
|
||
|
||
<sect3>
|
||
<title>Машины төрөл</title>
|
||
|
||
<itemizedlist>
|
||
<indexterm>
|
||
<primary>NIS</primary>
|
||
<secondary>эзэн сервер</secondary>
|
||
</indexterm>
|
||
<listitem>
|
||
<para><emphasis>NIS эзэн сервер</emphasis>. Энэ сервер, &windowsnt;-н анхдагч
|
||
домэйн сервер хянагчийн нэг адил, NIS харилцагчдын хэрэгцээний бүх файлуудыг
|
||
агуулсан байна. <filename>passwd</filename>, <filename>group</filename> ба NIS харилцагчийн хэрэглэх
|
||
бусад олон файлууд эзэн сервер дээр байна.</para>
|
||
|
||
<note><para>Нэг машин нэгээс олон NIS домэйны хувьд NIS эзэн
|
||
сервер байж болно. Гэхдээ, энд бид бага хэмжээний NIS орчны талаар
|
||
ярилцах тул энэ талаар энд үзэхгүй.</para></note>
|
||
</listitem>
|
||
<indexterm>
|
||
<primary>NIS</primary>
|
||
<secondary>зарц сервер</secondary>
|
||
</indexterm>
|
||
<listitem>
|
||
<para><emphasis>NIS зарц сервер</emphasis>. &windowsnt;-н нөөц домэйн хянагчтай адилаар,
|
||
NIS зарц сервер нь NIS эзэн серверийн өгөгдлийн файлын хуулбарыг хадгална.
|
||
NIS зарц серверүүд нь нөөцөнд байдаг. Тэдгээр нь мөн эзэн серверийн
|
||
ачааллыг хуваалцаж байдаг: NIS Харилцагчид нь хамгийн түрүүнд хариу өгсөн
|
||
серверт холбогдох ба үүний тоонд зарц серверүүд ч бас орно.</para>
|
||
</listitem>
|
||
<indexterm>
|
||
<primary>NIS</primary>
|
||
<secondary>харилцагч</secondary>
|
||
</indexterm>
|
||
<listitem>
|
||
<para><emphasis>NIS харилцагч</emphasis>. NIS харилцагч нь ихэнх
|
||
&windowsnt; ажлын машины адилаар, NIS серверт шалгуулж (эсвэл &windowsnt; ажлын
|
||
машины хувьд &windowsnt; домэйн хянагчид) нэвтэрнэ.</para>
|
||
</listitem>
|
||
</itemizedlist>
|
||
</sect3>
|
||
</sect2>
|
||
|
||
<sect2>
|
||
<title>NIS/YP-г хэрэглэх нь</title>
|
||
|
||
<para>Энэ хэсэгт жишээ NIS орчныг үүсгэх болно.</para>
|
||
|
||
<sect3>
|
||
<title>Төлөвлөх</title>
|
||
|
||
<para>Та өөрийгөө нэгэн их сургуулийн жижигхэн лабораторын
|
||
администратор гэж бод. Энэ лаб 15 FreeBSD машинаас бүрдэх ба
|
||
одоогоор төвлөрсөн удирдлага байхгүй; машин бүр өөрийн
|
||
<filename>/etc/passwd</filename> ба <filename>/etc/master.passwd</filename> файлуудтай. Эдгээр файлуудыг
|
||
адилхан байлгахын тулд гараараа зөөж тавьдаг; одоогийн байдлаар лабораторид шинэ
|
||
хэрэглэгч нэмэхийн тулд, бүх 15 машин дээр нэг бүрчлэн <command>adduser</command>
|
||
тушаалыг оруулах хэрэгтэй байгаа. Мэдээж үүнийг өөрчлөх хэрэгтэй,
|
||
иймээс та лабораторидоо NIS хэрэглэхээр боллоо. Машинуудаасаа хоёрыг
|
||
нь сервер болгохоор сонгож авлаа.</para>
|
||
|
||
<para>Тиймээс, лабораторын тохиргоо дараах байдалтай байна:</para>
|
||
|
||
<informaltable frame="none" pgwide="1">
|
||
<tgroup cols="3">
|
||
<thead>
|
||
<row>
|
||
<entry>Машины нэр</entry>
|
||
<entry>IP хаяг</entry>
|
||
<entry>Машины үүрэг</entry>
|
||
</row>
|
||
</thead>
|
||
<tbody>
|
||
<row>
|
||
<entry><hostid>ellington</hostid></entry>
|
||
<entry><hostid role="ipaddr">10.0.0.2</hostid></entry>
|
||
<entry>NIS эзэн</entry>
|
||
</row>
|
||
<row>
|
||
<entry><hostid>coltrane</hostid></entry>
|
||
<entry><hostid role="ipaddr">10.0.0.3</hostid></entry>
|
||
<entry>NIS зарц</entry>
|
||
</row>
|
||
<row>
|
||
<entry><hostid>basie</hostid></entry>
|
||
<entry><hostid role="ipaddr">10.0.0.4</hostid></entry>
|
||
<entry>Факультетийн ажлын машин</entry>
|
||
</row>
|
||
<row>
|
||
<entry><hostid>bird</hostid></entry>
|
||
<entry><hostid role="ipaddr">10.0.0.5</hostid></entry>
|
||
<entry>Харилцагч машин</entry>
|
||
</row>
|
||
<row>
|
||
<entry><hostid>cli[1-11]</hostid></entry>
|
||
<entry><hostid role="ipaddr">10.0.0.[6-17]</hostid></entry>
|
||
<entry>Бусад харилцагч машинууд</entry>
|
||
</row>
|
||
</tbody>
|
||
</tgroup>
|
||
</informaltable>
|
||
|
||
<para>Хэрэв та NIS зураглалыг анх удаа хийж байгаа бол,
|
||
хаанаас эхлэхээ эхлээд сайн бодох хэрэгтэй. Сүлжээ чинь ямар ч
|
||
хэмжээтэй байж болно, гол нь хэд хэдэн сонголт хийх хэрэгтэй.</para>
|
||
|
||
<sect4>
|
||
<title>NIS Домэйн Нэрийг сонгох нь</title>
|
||
|
||
<indexterm>
|
||
<primary>NIS</primary>
|
||
<secondary>домэйннэр</secondary>
|
||
</indexterm>
|
||
<para>Өөрийн тань байнга хэрэглэдэг <quote>домэйн нэр</quote> байж болохгүй.
|
||
Залруулж хэлбэл <quote>NIS домэйн нэр</quote> байх ёстой. Харилцагч мэдээлэл
|
||
олж авахын тулд хүсэлтээ цацах үед NIS домэйн нэрийг хэрэглэнэ.
|
||
Үүгээр нэг сүлжээнд байгаа олон серверүүд хэн нь хэний асуултанд хариулах
|
||
ёстойгоо мэдэж авна. NIS домэйн нэрийг хоорондоо ямар нэг байдлаар
|
||
хамаатай бүлэг хостын нэр гэж ойлгож болно.</para>
|
||
|
||
<para>Зарим байгууллагууд өөрийн Интернэтийн домэйн нэрийг
|
||
NIS домэйн нэрээр хэрэглэх нь байдаг. Энэ нь сүлжээний ямар нэг асуудлыг
|
||
задлан шинжлэх явцад түвэг удах тул энэ аргыг зөвлөдөггүй. NIS домэйн нэр нь
|
||
сүлжээний орчинд цор ганц байх ёстой бөгөөд төлөөлж байгаа бүлэг машинаа онцолсон
|
||
нэр байвал дөхөм байдаг. Жишээлбэл, Acme Inc. компаний Урлагийн хэлтэс <quote>acme-art</quote>
|
||
гэсэн NIS домэйнтой байж болох юм. Бид өөрсдийн жишээндээ <literal>test-domain</literal> гэсэн
|
||
домэйн нэрийг авлаа.</para>
|
||
|
||
<indexterm><primary>SunOS</primary></indexterm>
|
||
<para>Гэвч, зарим үйлдлийн системүүд (цохон дурдвал &sunos;)
|
||
өөрийн NIS домэйн нэрийг Интернэт домэйн нэрээр хэрэглэдэг.
|
||
Хэрэв таны сүлжээний нэг болон түүнээс дээш тооны машин
|
||
ийм асуудалтай бол, та Интернэт домэйн нэрээ NIS домэйндоо хэрэглэх
|
||
<emphasis>ёстой</emphasis>.</para>
|
||
</sect4>
|
||
|
||
<sect4>
|
||
<title>Серверт тавигдах шаардлагууд</title>
|
||
|
||
<para>NIS серверт зориулсан машин сонгон авахдаа
|
||
анхаарах хэд хэдэн зүйлс бий. NIS-тэй холбоотой нэг учир дутагдалтай
|
||
зүйл бол харилцагчдын серверээс хамаарах хамаарал юм. Хэрэв
|
||
харилцагч өөрийн NIS домэйныг асуухаар сервертэй холбогдож чадахгүй бол,
|
||
тэр машин ашиглагдах боломжгүй болдог. Хэрэглэгч болон бүлгийн мэдээлэл
|
||
дутуугаас ихэнх системүүд түр хугацаанд зогсдог. Тиймээс, дахин дахин
|
||
асааж унтраалгаад байхааргүй, эсвэл туршилтад хэрэглэгдэхээр
|
||
машиныг сонгох хэрэгтэй. NIS сервер нь тусдаа, зөвхөн NIS серверт зориулагдсан
|
||
машин байх ёстой. Хэрэв ачаалал багатай сүлжээнд ажиллаж байгаа бол,
|
||
NIS серверийг өөр үйлчилгээ ажиллаж байгаа машин дээр тавьж болох талтай.
|
||
Хамгийн гол нь NIS сервер чинь ажиллахгүй болбол, <emphasis>бүх</emphasis> NIS харилцагчид чинь
|
||
мөн ажиллахгүй болохыг санаарай.</para>
|
||
</sect4>
|
||
</sect3>
|
||
|
||
<sect3>
|
||
<title>NIS Серверүүд</title>
|
||
|
||
<para>Бүх NIS мэдээлэл он цагийн дарааллаараа
|
||
NIS эзэн сервер дээр хадгалагдаж байдаг.
|
||
Энэ мэдээллийг хадгалж байгаа өгөгдлийн санг NIS буулгалт гэж нэрлэнэ.
|
||
FreeBSD-д, эдгээр буулгалтууд <filename>/var/yp/[domainname]</filename> файл дотор байрлана.
|
||
<filename>[domainname]</filename> нь NIS домэйн нэр болно. Нэг NIS сервер хэд хэдэн
|
||
домэйныг зэрэг агуулж чадах тул домэйн тус бүрт зориулсан хэд хэдэн
|
||
ийм сан байж болно. Домэйн бүр өөрийн гэсэн буулгалтуудтай байна.</para>
|
||
|
||
<para>NIS эзэн болон зарц серверүүд бүх NIS хүсэлтийг <command>ypserv</command> дэмоны
|
||
тусламжтай удирдаж явуулна. <command>ypserv</command> нь NIS харилцагч нараас
|
||
ирж буй хүсэлтийг хүлээн авч, домэйныг хөрвүүлэн, уг домэйн нэрд харгалзах
|
||
өгөгдлийн файлын замыг хайж олоод, өгөгдлийг буцаан харилцагчид дамжуулах үүрэгтэй.</para>
|
||
|
||
<sect4>
|
||
<title>NIS Эзэн Серверийг зохион байгуулах нь</title>
|
||
<indexterm>
|
||
<primary>NIS</primary>
|
||
<secondary>серверийн тохиргоо</secondary>
|
||
</indexterm>
|
||
<para>Эзэн NIS серверийг зохион байгуулах нь харьцангуй
|
||
ойлгомжтой. FreeBSD нь бэлэн NIS суучихсан ирдэг. Зөвхөн <filename>/etc/rc.conf</filename>
|
||
файл дотор дараах мөрүүдийг нэмэхэд л хангалттай, үлдсэнийг нь
|
||
FreeBSD таны өмнөөс хийгээд өгөх болно.</para>
|
||
|
||
<procedure>
|
||
<step>
|
||
<para><programlisting>nisdomainname="test-domain"</programlisting>
|
||
Энэ мөр сүлжээ асахад (жишээ нь, систем дахин ачаалсны дараа)
|
||
NIS домэйн нэрийг <literal>test-domain</literal> болгоно.</para>
|
||
</step>
|
||
<step>
|
||
<para><programlisting>nis_server_enable="YES"</programlisting>
|
||
Энэ мөр нь сүлжээ асахад NIS сервер процессуудыг
|
||
асаахыг хэлж өгнө.</para>
|
||
</step>
|
||
<step>
|
||
<para><programlisting>nis_yppasswdd_enable="YES"</programlisting>
|
||
Энэ мөр нь <command>rpc.yppasswdd</command> дэмонг идэвхжүүлнэ. Дээр хэлсэнчлэн,
|
||
энэ дэмон нь харилцагч машин дээрээс хэрэглэгч өөрийн NIS нэвтрэх
|
||
үгийг солих боломжтой болгодог.</para>
|
||
</step>
|
||
</procedure>
|
||
|
||
<note>
|
||
<para>Таны NIS тохиргооноос хамааран, нэмэлт мөрүүдийг оруулах
|
||
хэрэгтэй болж магадгүй. <link
|
||
linkend="network-nis-server-is-client">NIS сервер мөртлөө давхар NIS
|
||
харилцагч серверийн тухай хэсгээс</link>, доор, дэлгэрэнгүй
|
||
мэдээллийг авна уу.</para>
|
||
</note>
|
||
|
||
<para>Одоо, супер хэрэглэгчийн эрхээр <command>/etc/netstart</command>
|
||
тушаалыг өгөх л үлдлээ. Энэ нь таны <filename>/etc/rc.conf</filename> файл дотор
|
||
тодорхойлж өгсөн утгуудыг ашиглан бүх зүйлсийг таны өмнөөс
|
||
хийх болно.</para>
|
||
</sect4>
|
||
|
||
<sect4>
|
||
<title>NIS Буулгалтуудыг эхлүүлэх нь</title>
|
||
<indexterm>
|
||
<primary>NIS</primary>
|
||
<secondary>буулгалтууд</secondary>
|
||
</indexterm>
|
||
<para><emphasis>NIS буулгалтууд</emphasis> нь өгөгдлийн сангийн
|
||
файлууд бөгөөд <filename>/var/yp</filename> сан дотор хадгалагдана.
|
||
Тэдгээрийг NIS эзэн серверийн <filename>/etc</filename> сан дотор байгаа
|
||
<filename>/etc/master.passwd</filename> файлаас бусад тохиргооны файлуудаас үүсгэдэг.
|
||
Энэ нь их учиртай. Мэдээж та өөрийн <username>root</username> болон удирдах
|
||
эрхтэй дансуудынхаа нэвтрэх үгийг NIS домэйн дахь бүх сервер дээр
|
||
тарааж тавих хүсэлгүй байгаа биз дээ. Тиймээс,
|
||
NIS буулгалтуудыг эхлүүлэхийн өмнө, дараах зүйлсийг хийх хэрэгтэй:</para>
|
||
|
||
<screen>&prompt.root; <userinput>cp /etc/master.passwd /var/yp/master.passwd</userinput>
|
||
&prompt.root; <userinput>cd /var/yp</userinput>
|
||
&prompt.root; <userinput>vi master.passwd</userinput></screen>
|
||
|
||
<para>Системийн дансуудад хамаарах мөрүүдийг (<username>bin</username>,
|
||
<username>tty</username>, <username>kmem</username>,
|
||
<username>games</username>, гэх мэт), мөн NIS харилцагч дээр тарааж
|
||
тавих хүсэлгүй байгаа дансуудад хамаарах мөрүүдийг (жишээлбэл
|
||
<username>root</username> ба бусад UID 0 (супер хэрэглэгчийн) дансууд) бүгдийг
|
||
устгах хэрэгтэй.</para>
|
||
|
||
<note><para><filename>/var/yp/master.passwd</filename> файл бүлгийн болон нийтийн хувьд
|
||
унших эрхгүй (600 төлөв) байгааг нягтална уу! Шаардлагатай бол
|
||
<command>chmod</command> тушаалыг хэрэглээрэй.</para></note>
|
||
|
||
<indexterm><primary>Tru64 UNIX</primary></indexterm>
|
||
|
||
<para>Дээр дурдсаныг гүйцэтгэж дууссаны дараа,
|
||
сая NIS буулгалтуудыг эхлүүлнэ! FreeBSD нь танд үүнийг хийж өгөх
|
||
<command>ypinit</command> нэртэй скриптийг (холбогдох заавар хуудаснаас
|
||
дэлгэрэнгүй мэдээллийг авна уу) агуулж байдаг.
|
||
Энэ скрипт ихэнх &unix; үйлдлийн системд байдаг боловч,
|
||
заримд нь байхгүй байх тохиолдол бий.
|
||
Digital UNIX/Compaq Tru64 UNIX дээр энэ скрипт <command>ypsetup</command> гэсэн
|
||
нэртэй байдаг. Бид NIS эзэн серверийн хувьд буулгалтуудыг
|
||
үүсгэж байгаа тул <command>ypinit</command> тушаалыг <option>-m</option>
|
||
тохируулгын хамт өгнө. Дээрх алхмуудыг бүгдийг хийсний дараа,
|
||
NIS буулгалтуудыг үүсгэхдээ дараах тушаалыг өгнө:</para>
|
||
|
||
<screen>ellington&prompt.root; <userinput>ypinit -m test-domain</userinput>
|
||
Server Type: MASTER Domain: test-domain
|
||
Creating an YP server will require that you answer a few questions.
|
||
Questions will all be asked at the beginning of the procedure.
|
||
Do you want this procedure to quit on non-fatal errors? [y/n: n] <userinput>n</userinput>
|
||
Ok, please remember to go back and redo manually whatever fails.
|
||
If you don't, something might not work.
|
||
At this point, we have to construct a list of this domains YP servers.
|
||
rod.darktech.org is already known as master server.
|
||
Please continue to add any slave servers, one per line. When you are
|
||
done with the list, type a <control D>.
|
||
master server : ellington
|
||
next host to add: <userinput>coltrane</userinput>
|
||
next host to add: <userinput>^D</userinput>
|
||
The current list of NIS servers looks like this:
|
||
ellington
|
||
coltrane
|
||
Is this correct? [y/n: y] <userinput>y</userinput>
|
||
|
||
[..output from map generation..]
|
||
|
||
NIS Map update completed.
|
||
ellington has been setup as an YP master server without any errors.</screen>
|
||
|
||
<para><command>ypinit</command> нь <filename>/var/yp/Makefile.dist</filename>-с
|
||
<filename>/var/yp/Makefile</filename>-г үүсгэсэн байх ёстой.
|
||
Үүсэхдээ, энэ файл таныг ганц NIS сервертэй орчинд
|
||
зөвхөн FreeBSD машинуудтай ажиллаж байна гэж үзнэ.
|
||
<literal>test-domain</literal> нь зарц сервертэй тул,
|
||
та <filename>/var/yp/Makefile</filename> файлыг засах хэрэгтэй:</para>
|
||
|
||
<screen>ellington&prompt.root; <userinput>vi /var/yp/Makefile</userinput></screen>
|
||
|
||
<para>Доорх мөрийг далдлах хэрэгтэй</para>
|
||
|
||
<programlisting>NOPUSH = "True"</programlisting>
|
||
|
||
<para>(хэрэв далдлагдаагүй бол).</para>
|
||
</sect4>
|
||
|
||
<sect4>
|
||
<title>NIS Зарц Серверийг зохион байгуулах нь</title>
|
||
<indexterm>
|
||
<primary>NIS</primary>
|
||
<secondary>зарц сервер</secondary>
|
||
</indexterm>
|
||
<para>NIS зарц серверийг зохион байгуулах нь
|
||
эзэн серверийг зохион байгуулахаас ч хялбар байдаг.
|
||
Зарц сервер рүү нэвтэрч ороод түрүүн хийсэн шигээ
|
||
<filename>/etc/rc.conf</filename> файлыг засах хэрэгтэй.
|
||
Ганц ялгаа нь <command>ypinit</command> тушаалыг өгөхдөө
|
||
<option>-s</option> тохируулгыг өгнө. <option>-s</option> тохируулга нь
|
||
NIS эзэн серверийн нэрийг хамт оруулахыг шаардах тул бидний
|
||
тушаалын мөр дараах байдалтай байна:</para>
|
||
|
||
<screen>coltrane&prompt.root; <userinput>ypinit -s ellington test-domain</userinput>
|
||
|
||
Server Type: SLAVE Domain: test-domain Master: ellington
|
||
|
||
Creating an YP server will require that you answer a few questions.
|
||
Questions will all be asked at the beginning of the procedure.
|
||
|
||
Do you want this procedure to quit on non-fatal errors? [y/n: n] <userinput>n</userinput>
|
||
|
||
Ok, please remember to go back and redo manually whatever fails.
|
||
If you don't, something might not work.
|
||
There will be no further questions. The remainder of the procedure
|
||
should take a few minutes, to copy the databases from ellington.
|
||
Transferring netgroup...
|
||
ypxfr: Exiting: Map successfully transferred
|
||
Transferring netgroup.byuser...
|
||
ypxfr: Exiting: Map successfully transferred
|
||
Transferring netgroup.byhost...
|
||
ypxfr: Exiting: Map successfully transferred
|
||
Transferring master.passwd.byuid...
|
||
ypxfr: Exiting: Map successfully transferred
|
||
Transferring passwd.byuid...
|
||
ypxfr: Exiting: Map successfully transferred
|
||
Transferring passwd.byname...
|
||
ypxfr: Exiting: Map successfully transferred
|
||
Transferring group.bygid...
|
||
ypxfr: Exiting: Map successfully transferred
|
||
Transferring group.byname...
|
||
ypxfr: Exiting: Map successfully transferred
|
||
Transferring services.byname...
|
||
ypxfr: Exiting: Map successfully transferred
|
||
Transferring rpc.bynumber...
|
||
ypxfr: Exiting: Map successfully transferred
|
||
Transferring rpc.byname...
|
||
ypxfr: Exiting: Map successfully transferred
|
||
Transferring protocols.byname...
|
||
ypxfr: Exiting: Map successfully transferred
|
||
Transferring master.passwd.byname...
|
||
ypxfr: Exiting: Map successfully transferred
|
||
Transferring networks.byname...
|
||
ypxfr: Exiting: Map successfully transferred
|
||
Transferring networks.byaddr...
|
||
ypxfr: Exiting: Map successfully transferred
|
||
Transferring netid.byname...
|
||
ypxfr: Exiting: Map successfully transferred
|
||
Transferring hosts.byaddr...
|
||
ypxfr: Exiting: Map successfully transferred
|
||
Transferring protocols.bynumber...
|
||
ypxfr: Exiting: Map successfully transferred
|
||
Transferring ypservers...
|
||
ypxfr: Exiting: Map successfully transferred
|
||
Transferring hosts.byname...
|
||
ypxfr: Exiting: Map successfully transferred
|
||
|
||
coltrane has been setup as an YP slave server without any errors.
|
||
Don't forget to update map ypservers on ellington.</screen>
|
||
|
||
<para>Одоо <filename>/var/yp/test-domain</filename> нэртэй сан
|
||
үүссэн байх ёстой. NIS эзэн серверийн буулгалтуудын хуулбарууд
|
||
энэ сан дотор байх ёстой. Эдгээр файлууд шинэчлэгдэж
|
||
байгаа эсэхийг нягтлаж байх хэрэгтэй.
|
||
Таны зарц серверийн <filename>/etc/crontab</filename> доторх дараах мөрүүд
|
||
үүнийг хийх болно:</para>
|
||
|
||
<programlisting>20 * * * * root /usr/libexec/ypxfr passwd.byname
|
||
21 * * * * root /usr/libexec/ypxfr passwd.byuid</programlisting>
|
||
|
||
<para>Энэ хоёр мөр нь зарц сервер өөрийн буулгалтуудыг
|
||
эзэн сервертэй ижилхэн байлгахыг хүчилнэ. Хэдийгээр
|
||
эдгээр мөрүүдийг заавал хэрэглэх шаардлагагүй боловч,
|
||
эзэн сервер өөрийх нь NIS буулгалтад гарсан өөрчлөлтүүд
|
||
зарц серверүүдийн хувьд дамжигдсан эсэхийг шалгадаг,
|
||
нэвтрэх үгийн тухай мэдээлэл нь системийн хувьд амин чухал зэргээс
|
||
дээрх шинэчлэлтийг хүчлэх нь зүгээр.</para>
|
||
|
||
<para>Одоо, зарц сервер талд мөн <command>/etc/netstart</command> тушаалыг өгч
|
||
NIS серверийг ажиллуулна.</para>
|
||
</sect4>
|
||
</sect3>
|
||
|
||
<sect3>
|
||
<title>NIS Харилцагчид</title>
|
||
|
||
<para>NIS харилцагч нь <command>ypbind</command> дэмоны тусламжтай
|
||
тодорхой нэг NIS сервертэй холбоо тогтооно. <command>ypbind</command>
|
||
системийн анхдагч домэйныг шалгах ба (<command>domainname</command> тушаалаар
|
||
өгөгдсөн), дотоод сүлжээнд RPC хүсэлтийг цацаж эхлэнэ.
|
||
Эдгээр хүсэлтүүд нь <command>ypbind</command>-н холбоо тогтоох гэж байгаа
|
||
домэйн нэрийг зааж өгнө. Хэрэв тухайн домэйнд
|
||
үйлчлэхээр тохируулагдсан сервер дээрх хүсэлтийг
|
||
хүлээн авбал, <command>ypbind</command>-д хариу өгөх ба хариуг хүлээж авсан
|
||
тал серверийн хаягийг тэмдэглэж авна. Хэрэв хэд хэдэн сервер
|
||
хариу өгсөн бол (нэг эзэн ба хэд хэдэн зарц), <command>ypbind</command>
|
||
хамгийн түрүүнд хариу өгсөн серверийг сонгон авна. Түүнээс хойш,
|
||
харилцагч өөрийн бүх NIS хүсэлтүүдээ тэр сервер рүү явуулна.
|
||
<command>ypbind</command> нь хааяа сервер амьд байгаа эсэхийг нягтлахын тулд
|
||
<quote>ping</quote> хийж үзнэ. Хэрэв хангалттай хугацааны дотор хариу хүлээж
|
||
аваагүй бол, <command>ypbind</command> энэ домэйнтой холбоо тасарлаа гэж үзээд
|
||
өөр сервер олохын тулд хүсэлтээ цацаж эхэлнэ.</para>
|
||
|
||
<sect4>
|
||
<title>NIS Харилцагчийг зохион байгуулах</title>
|
||
<indexterm>
|
||
<primary>NIS</primary>
|
||
<secondary>харилцагчийг тохируулах нь</secondary>
|
||
</indexterm>
|
||
<para>FreeBSD машин дээр NIS харилцагчийг зохион байгуулах нь
|
||
нилээд хялбар байдаг.</para>
|
||
|
||
<procedure>
|
||
<step>
|
||
<para><filename>/etc/rc.conf</filename> файлыг нээгээд, NIS
|
||
домэйн нэрийг зааж өгөх ба сүлжээ асах үед <command>ypbind</command>-г
|
||
ажиллуулдаг болгохын тулд дараах мөрүүдийг нэмж бичнэ:</para>
|
||
|
||
<programlisting>nisdomainname="test-domain"
|
||
nis_client_enable="YES"</programlisting>
|
||
</step>
|
||
|
||
<step>
|
||
<para>NIS серверээс хэрэгтэй нэвтрэх үгүүдийг импортолж
|
||
авахын тулд <filename>/etc/master.passwd</filename> файл дотор байгаа
|
||
бүх хэрэглэгчийн дансыг устгаад, файлын төгсгөлд
|
||
дараах мөрийг нэмэхийн тулд <command>vipw</command> тушаалыг
|
||
ашиглана:</para>
|
||
|
||
<programlisting>+:::::::::</programlisting>
|
||
|
||
<note>
|
||
<para>Энэ мөр нь NIS серверийн нэвтрэх үгийн буулгалтад
|
||
байгаа хүчинтэй хэрэглэгчид данс олгоно. Энэ мөрийг өөрчлөх замаар
|
||
NIS харилцагчийг хэд хэдэн янзаар тохируулж болно. Дэлгэрэнгүй
|
||
мэдээллийг доорх <link linkend="network-netgroups">netgroups
|
||
section</link> хэсгээс үзнэ үү. Цааш гүнзгийрүүлэн судлах хүсэлтэй бол
|
||
<literal>NFS ба NIS-г удирдах нь</literal> тухай O'Reilly-н номыг үзнэ үү.</para>
|
||
</note>
|
||
|
||
<note>
|
||
<para>Дор хаяж нэг дотоод эрхийг (өөрөөр хэлбэл NIS-с импортолж аваагүй)
|
||
<filename>/etc/master.passwd</filename> файл дотор авч үлдэх хэрэгтэй.
|
||
Энэ данс <groupname>wheel</groupname> бүлгийн гишүүн байх ёстой. Хэрэв NIS дээр ямар нэг
|
||
асуудал гарлаа гэхэд энэ эрхээр алсаас нэвтрэн орж, <username>root</username> болоод
|
||
асуудлыг шийдвэрлэх болно.</para>
|
||
</note>
|
||
</step>
|
||
|
||
<step>
|
||
<para>NIS серверээс бүх бүлгүүдийг импортолж авахын тулд
|
||
дараах мөрийг <filename>/etc/group</filename> файлд нэмнэ:</para>
|
||
|
||
<programlisting>+:*::</programlisting>
|
||
</step>
|
||
</procedure>
|
||
|
||
<para>Үүний дараа, <command>ypcat passwd</command> тушаалыг өгч
|
||
NIS серверийн passwd буулгалтыг харж чадаж байх ёстой.</para>
|
||
</sect4>
|
||
</sect3>
|
||
</sect2>
|
||
|
||
<sect2>
|
||
<title>NIS-н Аюулгүй байдал</title>
|
||
|
||
<para>Ер нь ямар ч алсын хэрэглэгчийн хувьд өөрийн чинь
|
||
домэйн нэрийг мэдэж байвал RPC хүсэлтийг &man.ypserv.8;-д явуулж
|
||
NIS буулгалтыг харах боломжтой. Ийм төрлийн зөвшөөрөгдөөгүй
|
||
үйлдлээс сэргийлэхийн тулд &man.ypserv.8; нь зөвхөн зааж өгсөн хостуудаас
|
||
ирсэн хандалтыг зөвшөөрдөг <quote>securenets</quote> гэсэн функцыг агуулж
|
||
байдаг. Систем анх ачаалахад, &man.ypserv.8; нь securenets-н мэдээллийг
|
||
<filename>/var/yp/securenets</filename> гэсэн файлаас ачаална.</para>
|
||
|
||
<note>
|
||
<para>Энэ замыг <option>-p</option> тохируулгаар зааж өгөх ба янз бүр байж болно.
|
||
Энэ файлд сүлжээг сүлжээний багийн хамт зайгаар тусгаарлан
|
||
оруулж өгсөн байна. <quote>#</quote> тэмдгээр эхэлсэн мөрүүд нь тайлбар болно.
|
||
Жишээ securenets файл дараах байдалтай байна:</para>
|
||
</note>
|
||
|
||
<programlisting># allow connections from local host -- mandatory
|
||
127.0.0.1 255.255.255.255
|
||
# allow connections from any host
|
||
# on the 192.168.128.0 network
|
||
192.168.128.0 255.255.255.0
|
||
# allow connections from any host
|
||
# between 10.0.0.0 to 10.0.15.255
|
||
# this includes the machines in the testlab
|
||
10.0.0.0 255.255.240.0</programlisting>
|
||
|
||
<para>Хэрэв &man.ypserv.8;-н хүсэлт хүлээж авсан хаяг
|
||
эдгээр дүрмүүдийн аль нэгэнд тохирч байвал хүсэлтийг
|
||
ердийн байдлаар боловсруулна. Хэрэв энэ хаяг ямар ч дүрмэнд
|
||
тохирохгүй байвал, хүсэлтийг үл анхаарах бөгөөд
|
||
анхааруулах бичлэгийг бүртгэлд нэмнэ. Хэрэв
|
||
<filename>/var/yp/securenets</filename> гэсэн файл байхгүй бол,
|
||
<command>ypserv</command> нь гаднаас ирсэн бүх хүсэлтийг хүлээн авна.</para>
|
||
|
||
<para><command>ypserv</command> програм нь Wietse Venema-н <application>TCP Wrapper</application> багцыг
|
||
дэмждэг. Энэ нь администраторуудын хувьд <filename>/var/yp/securenets</filename>-ны оронд
|
||
<application>TCP Wrapper</application>-н тохиргооны файлыг хандалтыг хянахад хэрэглэх
|
||
боломжтой болгодог.</para>
|
||
|
||
<note>
|
||
<para>Хэдийгээр эдгээр хандалтыг хянах механизмууд нь
|
||
аюулгүй байдлыг адил түвшинд хангах боловч,
|
||
хоёул <quote>IP залилах</quote> халдлагад өртөмтгий байдаг. NIS-тэй холбоотой
|
||
бүх урсгалыг галт хана дээрээ хааж өгөх хэрэгтэй.</para>
|
||
|
||
<para><filename>/var/yp/securenets</filename> хэрэглэж байгаа серверүүд
|
||
хуучин TCP/IP дээр ажиллаж байгаа зүй ёсны NIS харилцагчид үйлчилж
|
||
чадахгүй байж магадгүй. Учир нь, тэдгээр нь өргөн цацалт хийхдээ
|
||
хост битүүдийг бүгдийг тэглэдэг ба өргөн цацалтын хаягийг тооцоолохдоо
|
||
дэд сүлжээний багийг таньж чаддаггүй болно. Хэдийгээр эдгээр асуудлуудыг
|
||
харилцагчийн тохиргоог өөрчилснөөр шийдэж болох боловч,
|
||
бусад асуудлууд нь харилцагчийн системийг цааш ашиглах боломжгүй эсвэл
|
||
<filename>/var/yp/securenets</filename>-г болиулах шаардлагатай болдог.</para>
|
||
|
||
<para>Ийм хуучин TCP/IP дээр ажилладаг сервер дээр
|
||
<filename>/var/yp/securenets</filename>-г хэрэглэх нь үнэхээр хэрэггүй бөгөөд
|
||
сүлжээний ихэнх хэсэгт NIS-г ашиглах боломжгүй байдаг.</para>
|
||
|
||
<indexterm><primary>TCP Wrapper-ууд</primary></indexterm>
|
||
<para><application>TCP Wrapper</application> багцыг ашиглах нь
|
||
NIS серверийн хоцролтыг ихэсгэдэг. Энэ нэмэлт саатал нь
|
||
харилцагчийн програм дээр ялангуяа ачаалал ихтэй сүлжээнд,
|
||
эсвэл удаан NIS сервертэй бол хүлээх хугацаа дуусахад хүргэх талтай.
|
||
Хэрэв таны харилцагч систем чинь дээрх шинж тэмдгүүдийн аль нэгийг
|
||
агуулж байгаа бол та энэ харилцагч системээ NIS зарц сервер болгож өөрчлөн
|
||
хүчээр өөрөөсөө өөртөө холбогдохоор тохируулах хэрэгтэй.</para>
|
||
</note>
|
||
</sect2>
|
||
|
||
<sect2>
|
||
<title>Зарим хэрэглэгчдийн нэвтрэхийг хаах</title>
|
||
|
||
<para>Манай лабораторын жишээн дээр, <hostid>basie</hostid> нэртэй нэг
|
||
машин байгаа. Энэ машиныг зөвхөн багш нар хэрэглэх ёстой.
|
||
Бид энэ машиныг NIS домэйн дотроос гаргахыг хүсэхгүй байгаа, дээр нь
|
||
эзэн NIS сервер дээр байгаа <filename>passwd</filename> файл нь
|
||
багш нар болон оюутнуудын дансыг хоёуланг агуулж байгаа.
|
||
Бид одоо яах ёстой вэ?</para>
|
||
|
||
<para>NIS өгөгдлийн сан дотор бүртгэл нь байгаа ч, зарим
|
||
хэрэглэгчдийг тухайн машин руу нэвтрэхийг хаах нэг арга байна.
|
||
Үүний тулд <literal>-<replaceable>username</replaceable></literal> гэсэн мөрийг
|
||
харилцагч машин дээр <filename>/etc/master.passwd</filename> файлын төгсгөлд нэмэх
|
||
хэрэгтэй. Энд <replaceable>username</replaceable> гэдэг нь
|
||
нэвтрэхийг нь хаах гэж байгаа хэрэглэгчийн нэр юм.
|
||
Дээрх үйлдлийг хийхдээ <command>vipw</command>-г ашиглахыг зөвлөж байна.
|
||
<command>vipw</command> нь <filename>/etc/master.passwd</filename> файл дотор хийгдсэн өөрчлөлтийг
|
||
хянах бөгөөд өөрчлөлт хийж дууссаны дараа нэвтрэх үгийн санг автоматаар
|
||
дахин үүсгэж өгдөг. Жишээ нь, хэрэв бид <username>bill</username> гэсэн хэрэглэгчийг
|
||
<hostid>basie</hostid> хост дээр нэвтрэхийг хаахыг хүсэж байгаа бол:</para>
|
||
|
||
<screen>basie&prompt.root; <userinput>vipw</userinput>
|
||
<userinput>[add -bill to the end, exit]</userinput>
|
||
vipw: rebuilding the database...
|
||
vipw: done
|
||
|
||
basie&prompt.root; <userinput>cat /etc/master.passwd</userinput>
|
||
|
||
root:[password]:0:0::0:0:The super-user:/root:/bin/csh
|
||
toor:[password]:0:0::0:0:The other super-user:/root:/bin/sh
|
||
daemon:*:1:1::0:0:Owner of many system processes:/root:/sbin/nologin
|
||
operator:*:2:5::0:0:System &:/:/sbin/nologin
|
||
bin:*:3:7::0:0:Binaries Commands and Source,,,:/:/sbin/nologin
|
||
tty:*:4:65533::0:0:Tty Sandbox:/:/sbin/nologin
|
||
kmem:*:5:65533::0:0:KMem Sandbox:/:/sbin/nologin
|
||
games:*:7:13::0:0:Games pseudo-user:/usr/games:/sbin/nologin
|
||
news:*:8:8::0:0:News Subsystem:/:/sbin/nologin
|
||
man:*:9:9::0:0:Mister Man Pages:/usr/share/man:/sbin/nologin
|
||
bind:*:53:53::0:0:Bind Sandbox:/:/sbin/nologin
|
||
uucp:*:66:66::0:0:UUCP pseudo-user:/var/spool/uucppublic:/usr/libexec/uucp/uucico
|
||
xten:*:67:67::0:0:X-10 daemon:/usr/local/xten:/sbin/nologin
|
||
pop:*:68:6::0:0:Post Office Owner:/nonexistent:/sbin/nologin
|
||
nobody:*:65534:65534::0:0:Unprivileged user:/nonexistent:/sbin/nologin
|
||
+:::::::::
|
||
-bill
|
||
|
||
basie&prompt.root;</screen>
|
||
</sect2>
|
||
|
||
<sect2 id="network-netgroups">
|
||
<sect2info>
|
||
<authorgroup>
|
||
<author>
|
||
<firstname>Удо</firstname>
|
||
<surname>Эрделхофф</surname>
|
||
<contrib>Хувь нэмрээ оруулсан </contrib>
|
||
</author>
|
||
</authorgroup>
|
||
<authorgroup>
|
||
<author>
|
||
<firstname>Лодойсамбын</firstname>
|
||
<surname>Баянзул</surname>
|
||
<contrib>Орчуулсан </contrib>
|
||
</author>
|
||
</authorgroup>
|
||
</sect2info>
|
||
|
||
<title>Netgroups-г Хэрэглэх нь</title>
|
||
<indexterm><primary>netgroups</primary></indexterm>
|
||
|
||
<para>Цөөхөн тооны машин эсвэл хэрэглэгчийн хувьд
|
||
тусгай дүрэм хэрэгтэй үед өмнөх хэсэгт дурдсан аргыг
|
||
хэрэглэх нь илүү тохиромжтой. Харин том сүлжээний хувьд
|
||
зарим хэрэглэгчийн чухал машин руу нэвтрэх эрхийг хаахаа мартах,
|
||
эсвэл бүх машиныг нэг бүрчлэн гараараа тохируулж өгөх, өөрөөр хэлбэл
|
||
NIS-н <emphasis>төвлөрсөн</emphasis> удирдлага гэсэн гол санааг ашиглаж чадахгүй байх
|
||
тохиолдлууд <emphasis>гарах болно</emphasis>.</para>
|
||
|
||
<para>NIS-г хөгжүүлэгчид энэ асуудлыг шийдэхийн тулд
|
||
<emphasis>netgroups</emphasis> буюу сүлжээний бүлгүүд гэсэн шинэ зүйлийг бий болгожээ.
|
||
Түүний зорилго болон семантикийг &unix; файл системийн
|
||
жирийн бүлэгтэй дүйцүүлж болох юм. Гол ялгаанууд нь гэвэл
|
||
тоон дугаар байхгүй, мөн сүлжээний бүлгийг тодорхойлж өгөхдөө
|
||
хэрэглэгч болон өөр сүлжээний бүлгийг оруулж болдог.</para>
|
||
|
||
<para>Сүлжээний бүлэг нь хэдэн зуун хэрэглэгч болон машинтай
|
||
том, төвөгтэй сүлжээтэй ажиллахад зориулж бүтээгдсэн юм.
|
||
Нэг талаар, хэрэв та үнэхээр тийм том сүлжээнд ажиллаж байгаа бол
|
||
энэ нь Сайн Зүйл юм. Харин нөгөө талаас, энэ байдал нь
|
||
жижигхэн сүлжээнд хялбар жишээн дээр сүлжээний бүлгийг тайлбарлах
|
||
бараг боломжгүй болгож байна. Энэ хэсгийн үлдсэн хэсэгт хэрэглэж
|
||
байгаа жишээн дээр энэ асуудлыг харуулахыг оролдлоо.</para>
|
||
|
||
<para>NIS-г лабораторидоо нэвтрүүлсэн тань танай удирдлагуудын
|
||
анхаарлыг татсан гэж бодьё. Одоо оюутны хотхон дотор байгаа
|
||
бусад машиныг NIS домэйнд оруулж өргөтгөх ажлыг хийхийг танд
|
||
даалгажээ. Дараах хоёр хүснэгтэнд шинээр нэмэх хэрэглэгч болон
|
||
машины нэрийг товч тайлбарын хамт үзүүллээ.</para>
|
||
|
||
<informaltable frame="none" pgwide="1">
|
||
<tgroup cols="2">
|
||
<thead>
|
||
<row>
|
||
<entry>Хэрэглэгчийн нэр</entry>
|
||
<entry>Тайлбар</entry>
|
||
</row>
|
||
</thead>
|
||
|
||
<tbody>
|
||
<row>
|
||
<entry><username>alpha</username>, <username>beta</username></entry>
|
||
<entry>IT хэлтсийн ердийн ажилчид</entry>
|
||
</row>
|
||
|
||
<row>
|
||
<entry><username>charlie</username>, <username>delta</username></entry>
|
||
<entry>IT хэлтсийн шинэ дагалдан</entry>
|
||
</row>
|
||
|
||
<row>
|
||
<entry><username>echo</username>, <username>foxtrott</username>, <username>golf</username>, ...</entry>
|
||
<entry>бусад ердийн ажилчид</entry>
|
||
</row>
|
||
|
||
<row>
|
||
<entry><username>able</username>, <username>baker</username>, ...</entry>
|
||
<entry>дадлагажигчид</entry>
|
||
</row>
|
||
</tbody>
|
||
</tgroup>
|
||
</informaltable>
|
||
|
||
<informaltable frame="none" pgwide="1">
|
||
<tgroup cols="2">
|
||
<thead>
|
||
<row>
|
||
<entry>Машины нэр</entry>
|
||
<entry>Тайлбар</entry>
|
||
</row>
|
||
</thead>
|
||
|
||
<tbody>
|
||
<row>
|
||
<!-- Names taken from "Good Omens" by Neil Gaiman and Terry
|
||
Pratchett. Many thanks for a brilliant book. -->
|
||
|
||
<entry><hostid>war</hostid>, <hostid>death</hostid>,
|
||
<hostid>famine</hostid>,
|
||
<hostid>pollution</hostid></entry>
|
||
<entry>Таны хамгийн чухал серверүүд. Зөвхөн IT хэлтсийн
|
||
ажилчид л нэвтрэх эрхтэй.</entry>
|
||
</row>
|
||
<row>
|
||
<!-- gluttony was omitted because it was too fat -->
|
||
|
||
<entry><hostid>pride</hostid>, <hostid>greed</hostid>,
|
||
<hostid>envy</hostid>, <hostid>wrath</hostid>,
|
||
<hostid>lust</hostid>, <hostid>sloth</hostid></entry>
|
||
<entry>Харьцангуй чухал биш серверүүд. IT хэлтэст харъяалагддаг бүх
|
||
хүмүүс нэвтрэх эрхтэй.</entry>
|
||
</row>
|
||
|
||
<row>
|
||
<entry><hostid>one</hostid>, <hostid>two</hostid>,
|
||
<hostid>three</hostid>, <hostid>four</hostid>,
|
||
...</entry>
|
||
|
||
<entry>Ердийн ажлын машинууд. Зөвхөн <emphasis>үндсэн</emphasis> ажилчид
|
||
нэвтрэх эрхтэй.</entry>
|
||
</row>
|
||
|
||
<row>
|
||
<entry><hostid>trashcan</hostid></entry>
|
||
<entry>Чухал зүйл байхгүй маш хуучин машин.
|
||
Дадлагажигчид хүртэл нэвтрэх эрхтэй.</entry>
|
||
</row>
|
||
</tbody>
|
||
</tgroup>
|
||
</informaltable>
|
||
|
||
<para>Хэрэв та дээрх хязгаарлалтуудыг
|
||
тус бүрд нь хэрэглэгчийг хаах замаар хийх гэж оролдвол
|
||
бүх машин дээр хаах хэрэглэгч тус бүрийн хувьд
|
||
<literal>-<replaceable>user</replaceable></literal> мөрийг <filename>passwd</filename>
|
||
файл дотор нэмж өгөх ёстой болно. Хэрэв нэг л мөрийг
|
||
нэмэхээ мартвал асуудалд орно гэсэн үг.</para>
|
||
|
||
<para>Энэ байдалд сүлжээний бүлгийг ашиглах нь
|
||
нилээд олон давуу талтай. Хэрэглэгч бүрийг тус тусад нь
|
||
авч үзнэ; нэг хэрэглэгчийг нэг болон түүнээс дээш тооны
|
||
сүлжээний бүлэгт оноож, тухайн сүлжээний бүлгийн бүх гишүүдийн хувьд
|
||
нэвтрэхийг эсвэл зөвшөөрч эсвэл хаана. Хэрэв та шинэ машин нэмбэл,
|
||
зөвхөн сүлжээний бүлгүүдийн хувьд л нэвтрэх эрхийг зааж өгнө. Хэрэв шинэ
|
||
хэрэглэгч нэмбэл, тухайн хэрэглэгчийг нэг болон түүнээс дээш
|
||
тооны сүлжээний бүлэгт нэмэхэд л хангалттай. Эдгээр өөрчлөлтүүд нь нэг
|
||
нэгнээсээ хамааралгүй: <quote>хэрэглэгч ба машины бүх хувилбарт нэмэх...</quote>
|
||
шаардлагагүй болно. Хэрэв та NIS-г анхнаас нь бодлоготой хийх юм бол,
|
||
машинууд руу нэвтрэх эрхийг хянахдаа
|
||
зөвхөн ганцхан тохиргооны файлыг өөрчлөхөд хангалттай.</para>
|
||
|
||
<para>Хамгийн эхний алхам бол NIS сүлжээний бүлгийн буулгалтыг
|
||
эхлүүлэх юм. FreeBSD-н &man.ypinit.8; нь энэ буулгалтыг анхдагч байдлаар
|
||
үүсгэдэггүй, гэвч хэрэв нэгэнт үүсгэчихвэл түүний NIS-тэй ажиллах хэсэг нь
|
||
энэ буулгалт дээр ажиллах чадвартай. Хоосон буулгалт үүсгэхийн тулд:</para>
|
||
|
||
<screen>ellington&prompt.root; <userinput>vi /var/yp/netgroup</userinput></screen>
|
||
|
||
<para>гэж бичээд дараах зүйлсийг нэмж бичнэ. Манай жишээний хувьд,
|
||
бидэнд дор хаяж дөрвөн сүлжээний бүлэг хэрэгтэй: IT ажилчид,
|
||
IT дагалдангууд, ердийн ажилчид болон дадлагажигчид.</para>
|
||
|
||
<programlisting>IT_EMP (,alpha,test-domain) (,beta,test-domain)
|
||
IT_APP (,charlie,test-domain) (,delta,test-domain)
|
||
USERS (,echo,test-domain) (,foxtrott,test-domain) \
|
||
(,golf,test-domain)
|
||
INTERNS (,able,test-domain) (,baker,test-domain)</programlisting>
|
||
|
||
<para><literal>IT_EMP</literal>, <literal>IT_APP</literal> гэх мэт нь сүлжээний бүлгийн
|
||
нэр. Хаалтан дотор байгаа бүлэг нь хэрэглэгч нэмж байгаа нь. Бүлэг доторх
|
||
гурван талбар нь:</para>
|
||
|
||
<orderedlist>
|
||
<listitem>
|
||
<para>Дараах зүйлүүд хүчинтэй байх хостын нэр. Хэрэв хостын нэр зааж өгөхгүй бол,
|
||
бүх хостын хувьд хүчинтэй гэсэн үг. Хэрэв хостын нэр зааж өгвөл,
|
||
та үл ойлгогдох, толгой эргүүлсэн хачин зүйлстэй тулгарах болно.</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>Энэ сүлжээний бүлэгт хамаарах дансны нэр.</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>Тухайн дансны NIS домэйн. Хэрэв та нэгээс олон NIS
|
||
домэйнд харъяалагддаг азгүй залуусын нэг бол,
|
||
өөрийн сүлжээний бүлэгт өөр NIS домэйноос данс импортолж болно.</para>
|
||
</listitem>
|
||
</orderedlist>
|
||
|
||
<para>Эдгээр талбаруудын алинд ч орлуулагддаг тэмдэгт ашиглаж болно.
|
||
Дэлгэрэнгүй мэдээллийг &man.netgroup.5; заавар хуудаснаас үзнэ үү.</para>
|
||
|
||
<note>
|
||
<indexterm><primary>сүлжээний бүлгүүд</primary></indexterm>
|
||
<para>Сүлжээний бүлгүүдийн нэр 8-с дээш тэмдэгт байж
|
||
болохгүй, ялангуяа тухайн NIS домэйнд өөр үйлдлийн системтэй
|
||
машинууд ажиллаж байгаа бол. Нэрүүд нь том жижиг үсгийн ялгаатай;
|
||
сүлжээний бүлгийн нэрийг том үсгээр бичих нь
|
||
хэрэглэгчийн нэр, машины нэр болон сүлжээний бүлгийн нэрийг
|
||
хооронд нь ялгахад хялбар болгодог.</para>
|
||
|
||
<para>Зарим NIS харилцагчид (FreeBSD-с бусад) олон тооны гишүүдтэй
|
||
сүлжээний бүлэгтэй ажиллаж чаддаггүй. Жишээлбэл,
|
||
&sunos;-н зарим хуучин хувилбарууд сүлжээний бүлэг
|
||
15-с дээш тооны <emphasis>гишүүн</emphasis>-тэй бол асуудалтай байдаг.
|
||
Энэ хязгаарыг давахын тулд 15 ба түүнээс доош тооны хэрэглэгчтэй
|
||
дэд сүлжээний бүлгүүд үүсгээд, дараа нь эдгээр дэд сүлжээний бүлгүүдээс
|
||
тогтсон жинхэнэ сүлжээний бүлэг үүсгэх замаар үүсгэж болно:</para>
|
||
|
||
<programlisting>BIGGRP1 (,joe1,domain) (,joe2,domain) (,joe3,domain) [...]
|
||
BIGGRP2 (,joe16,domain) (,joe17,domain) [...]
|
||
BIGGRP3 (,joe31,domain) (,joe32,domain)
|
||
BIGGROUP BIGGRP1 BIGGRP2 BIGGRP3</programlisting>
|
||
|
||
<para>Хэрэв танд нэг сүлжээний бүлэгт 225-с дээш хэрэглэгч хэрэгтэй
|
||
бол, дээрх үйлдлийг давтах маягаар цааш үргэлжлүүлж болно.</para>
|
||
</note>
|
||
|
||
<para>Шинээр үүсгэсэн NIS буулгалтаа идэвхжүүлэх болон тараах нь амархан:</para>
|
||
|
||
<screen>ellington&prompt.root; <userinput>cd /var/yp</userinput>
|
||
ellington&prompt.root; <userinput>make</userinput></screen>
|
||
|
||
<para>Ингэснээр <filename>netgroup</filename>,
|
||
<filename>netgroup.byhost</filename> ба
|
||
<filename>netgroup.byuser</filename> гэсэн гурван NIS буулгалт үүсэх болно.
|
||
Дээрх шинэ буулгалтууд идэвхтэй болсон эсэхийг &man.ypcat.1; ашиглан
|
||
шалгаарай:</para>
|
||
|
||
<screen>ellington&prompt.user; <userinput>ypcat -k netgroup</userinput>
|
||
ellington&prompt.user; <userinput>ypcat -k netgroup.byhost</userinput>
|
||
ellington&prompt.user; <userinput>ypcat -k netgroup.byuser</userinput></screen>
|
||
|
||
<para>Эхний тушаалын үр дүн <filename>/var/yp/netgroup</filename> файл доторхтой
|
||
төстэй байх ёстой. Хэрэв та хостоор тусгайлан сүлжээний бүлэг үүсгээгүй бол
|
||
хоёр дахь тушаалын үр дүнд юу ч гарах ёсгүй. Гурав дахь тушаалын
|
||
тусламжтай тухайн хэрэглэгчийн сүлжээний бүлгүүдийн жагсаалтыг
|
||
харахад хэрэглэгдэнэ.</para>
|
||
|
||
<para>Харилцагчийг тохируулахад нилээд хялбар.
|
||
<hostid>war</hostid> нэртэй серверийг тохируулахын тулд, &man.vipw.8;-г
|
||
ажиллуулаад</para>
|
||
|
||
<programlisting>+:::::::::</programlisting>
|
||
|
||
<para>гэсэн мөрийг</para>
|
||
|
||
<programlisting>+@IT_EMP:::::::::</programlisting>
|
||
|
||
<para>гэсэн мөрөөр сольж бичих хэрэгтэй.
|
||
Ингэснээр, зөвхөн <literal>IT_EMP</literal> сүлжээний бүлэгт заагдсан
|
||
хэрэглэгчдийн мэдээлэл <hostid>war</hostid>-н нэвтрэх үгийн санд импортлогдож,
|
||
зөвхөн эдгээр хэрэглэгчид л энэ машин руу нэвтрэх эрхтэй боллоо.</para>
|
||
|
||
<para>Харамсалтай нь, энэ хязгаарлалт нь
|
||
бүрхүүлийн <literal>~</literal> функцад, мөн хэрэглэгчийн нэр ба тоон дугаарыг
|
||
хооронд нь хөрвүүлдэг бүх дэд програмуудад хамаатай. Өөрөөр хэлбэл,
|
||
<command>cd ~<replaceable>user</replaceable></command> тушаал ажиллахгүй,
|
||
<command>ls -l</command> тушаал хэрэглэгчийн нэрийн оронд
|
||
түүний тоон дугаарыг харуулах ба <command>find . -user joe -print</command> тушаал
|
||
<errorname>Тийм хэрэглэгч байхгүй</errorname> гэсэн алдааны мэдээлэл өгч амжилтгүй
|
||
болох болно. Үүнийг засахын тулд, бүх хэрэглэгчдийн бүртгэлийг
|
||
<emphasis>сервер рүү нэвтрэх эрхгүйгээр</emphasis> импортлох хэрэгтэй болно.</para>
|
||
|
||
<para>Үүний тулд өөр нэг мөрийг <filename>/etc/master.passwd</filename> файлд нэмж өгөх хэрэгтэй.
|
||
Энэ мөр нь:</para>
|
||
|
||
<para><literal>+:::::::::/sbin/nologin</literal> гэсэн бичлэгийг агуулж байх ёстой бөгөөд,
|
||
энэ нь <quote>бүх бүртгэлийг импортол, гэхдээ импортлогдож байгаа бүртгэлүүдийн
|
||
бүрхүүлийг <filename>/sbin/nologin</filename>-р соль</quote> гэсэн утгатай. Үүнтэй адилаар
|
||
<literal>passwd</literal> файлын ямар ч талбарыг <filename>/etc/master.passwd</filename> файл дахь анхдагч
|
||
утгыг сольж бичсэнээр өөрчилж болно.</para>
|
||
|
||
<!-- Been there, done that, got the scars to prove it - ue -->
|
||
<warning>
|
||
<para><literal>+:::::::::/sbin/nologin</literal> гэсэн мөр <literal>+@IT_EMP:::::::::</literal> гэсэн мөрийн
|
||
дараа бичигдсэн эсэхийг сайтар нягтлаарай. Үгүй бол, NIS-с импортлогдсон бүх
|
||
хэрэглэгчдийн бүрхүүл <filename>/sbin/nologin</filename> болчихно шүү.</para>
|
||
</warning>
|
||
|
||
<para>Дээрх өөрчлөлтийг хийсний дараа,
|
||
хэрэв IT хэлтэст шинэ ажилчин орвол,
|
||
зөвхөн ганцхан NIS буулгалтыг өөрчлөх боллоо. Чухал бус бусад серверийн хувьд
|
||
ижилхэн арга хэрэглэж, тэдгээрийн өөрийн <filename>/etc/master.passwd</filename> файл дотор байгаа
|
||
хуучин <literal>+:::::::::</literal> мөрийг:</para>
|
||
|
||
<programlisting>+@IT_EMP:::::::::
|
||
+@IT_APP:::::::::
|
||
+:::::::::/sbin/nologin</programlisting>
|
||
|
||
<para>гэсэн мөрөөр сольж бичих хэрэгтэй. Ердийн ажлын машины хувьд:</para>
|
||
|
||
<programlisting>+@IT_EMP:::::::::
|
||
+@USERS:::::::::
|
||
+:::::::::/sbin/nologin</programlisting>
|
||
|
||
<para>байх ёстой. Ингээд бүх зүйл асуудалгүй ажиллах болно.
|
||
Гэтэл хэдэн долоо хоногийн дараа дүрэм, журманд өөрчлөлт орлоо:
|
||
IT хэлтэс дадлагажигч авч эхэллээ. IT хэлтсийн дадлагажигчид
|
||
ердийн ажлын машин болон чухал бус серверүүдэд нэвтрэх эрхтэй;
|
||
IT дагалдангууд гол сервер рүү нэвтрэх эрхтэй болжээ. Одоо <literal>IT_INTERN</literal>
|
||
гэсэн шинэ сүлжээний бүлэг нэмж, энэ бүлэгт шинэ IT дадлагажигчдийг
|
||
нэмээд, энэ өөрчлөлтийг бүх машины тохиргоонд оруулж эхлэх хэрэгтэй...
|
||
Бидний хэлж заншсанаар: <quote>Төвлөрсөн төлөвлөгөөн дээрх алдаа,
|
||
бүх юмыг орвонгоор нь эргүүлнэ</quote>.</para>
|
||
|
||
<para>Энэ мэт тохиолдолуудад NIS-н
|
||
өөр сүлжээний бүлгээс шинэ сүлжээний бүлэг үүсгэх боломж нь тус болно.
|
||
Нэг боломж нь үүрэг дээр үндэслэсэн сүлжээний бүлэг юм.
|
||
Жишээ нь, чухал серверүүд рүү нэвтрэх эрхийг хянахын тулд
|
||
<literal>BIGSRV</literal> гэсэн нэртэй сүлжээний бүлэг үүсгэж болох ба,
|
||
чухал бус серверүүдийн хувьд өөр <literal>SMALLSRV</literal> гэсэн бүрэг үүсгэж,
|
||
<literal>USERBOX</literal> гэсэн гурав дахь бүлгийг ердийн ажлын машинуудад зориулж
|
||
үүсгэж болох юм. Эдгээр сүлжээний бүлэг тус бүр
|
||
дээрх гурван төрлийн машинд нэвтрэх эрхтэй
|
||
сүлжээний бүлгүүдийг агуулна. NIS сүлжээний бүлгийн буулгалт
|
||
дараах байдалтай байна:</para>
|
||
|
||
<programlisting>BIGSRV IT_EMP IT_APP
|
||
SMALLSRV IT_EMP IT_APP ITINTERN
|
||
USERBOX IT_EMP ITINTERN USERS</programlisting>
|
||
|
||
<para>Нэвтрэх эрхийг хязгаарлах энэ арга нь
|
||
ижил төрлийн хязгаарлалттай машинуудыг нэг бүлэг болговол илүү
|
||
үр дүнтэй ажиллана. Харамсалтай нь, заавал тийм байх албагүй.
|
||
Ихэнх тохиолдолд, машин тус бүрээр нэвтрэх эрхийг хязгаарлах
|
||
боломжтой байх шаардлага зайлшгүй тулгардаг.</para>
|
||
|
||
<para>Машин дээр үндэслэсэн сүлжээний бүлэг тодорхойлох нь
|
||
дээрх мэтийн дүрэм журамд өөрчлөлт ороход хэрэглэж болох
|
||
хоёр дахь боломж юм. Энэ тохиолдолд, машин бүрийн
|
||
<filename>/etc/master.passwd</filename> файл дотор <quote>+</quote>-р эхэлсэн хоёр
|
||
мөр бичлэг байна. Эхнийх нь энэ машин руу нэвтрэх эрхтэй дансуудаас бүрдсэн
|
||
сүлжээний бүлгийг нэмж өгнө, хоёр дахь нь бусад дансуудыг
|
||
<filename>/sbin/nologin</filename> бүрхүүлтэйгээр нэмнэ. Сүлжээний бүлгийн нэрийг
|
||
машины нэрийг <quote>БҮХ ҮСГИЙГ ТОМООР</quote> байхаар сонгож авах нь
|
||
тохиромжтой. Өөрөөр хэлбэл, мөрүүд дараах байдалтай харагдах ёстой:</para>
|
||
|
||
<programlisting>+@<replaceable>BOXNAME</replaceable>:::::::::
|
||
+:::::::::/sbin/nologin</programlisting>
|
||
|
||
<para>Бүх машины хувьд дээрх үйлдлийг хийж дууссаны дараа,
|
||
өөрийн <filename>/etc/master.passwd</filename> файлыг дахин өөрчлөх шаардлагагүй болно.
|
||
Бусад бүх өөрчлөлтүүдийг NIS буулгалтыг өөрчилснөөр шийдэх болно. Дээрх асуудалд
|
||
тохирох сүлжээний бүлгийн буулгалтыг зарим нэмэлт өөрчлөлтүүдийн хамт
|
||
дор жишээ болгож үзүүлэв:</para>
|
||
|
||
<programlisting># Define groups of users first
|
||
IT_EMP (,alpha,test-domain) (,beta,test-domain)
|
||
IT_APP (,charlie,test-domain) (,delta,test-domain)
|
||
DEPT1 (,echo,test-domain) (,foxtrott,test-domain)
|
||
DEPT2 (,golf,test-domain) (,hotel,test-domain)
|
||
DEPT3 (,india,test-domain) (,juliet,test-domain)
|
||
ITINTERN (,kilo,test-domain) (,lima,test-domain)
|
||
D_INTERNS (,able,test-domain) (,baker,test-domain)
|
||
#
|
||
# Now, define some groups based on roles
|
||
USERS DEPT1 DEPT2 DEPT3
|
||
BIGSRV IT_EMP IT_APP
|
||
SMALLSRV IT_EMP IT_APP ITINTERN
|
||
USERBOX IT_EMP ITINTERN USERS
|
||
#
|
||
# And a groups for a special tasks
|
||
# Allow echo and golf to access our anti-virus-machine
|
||
SECURITY IT_EMP (,echo,test-domain) (,golf,test-domain)
|
||
#
|
||
# machine-based netgroups
|
||
# Our main servers
|
||
WAR BIGSRV
|
||
FAMINE BIGSRV
|
||
# User india needs access to this server
|
||
POLLUTION BIGSRV (,india,test-domain)
|
||
#
|
||
# This one is really important and needs more access restrictions
|
||
DEATH IT_EMP
|
||
#
|
||
# The anti-virus-machine mentioned above
|
||
ONE SECURITY
|
||
#
|
||
# Restrict a machine to a single user
|
||
TWO (,hotel,test-domain)
|
||
# [...more groups to follow]</programlisting>
|
||
|
||
<para>Хэрэв та хэрэглэгчдийнхээ дансыг удирдахын тулд
|
||
ямар нэг өгөгдлийн санг ашигладаг бол, дээрх буулгалтын эхний
|
||
хэсгийг өгөгдлийн сангийнхаа тайлан бэлтгэх багажуудыг
|
||
ашиглах үүсгэх боломжтой. Энэ замаар, шинэ хэрэглэгчид машинуудад
|
||
хандах эрхийг автоматаар олж авах болно.</para>
|
||
|
||
<para>Эцэст нь анхааруулж хэлэх нэг зүйл байна: Машин дээр үндэслэсэн
|
||
сүлжээний бүлгийг хэрэглэхийг байнга зөвлөхгүй. Хэрэв
|
||
оюутны лабораторид зориулсан, хэдэн арван эсвэл хэдэн зуун
|
||
нэг ижил машинтай ажиллаж байгаа бол, NIS буулгалтыг тодорхой хэмжээнд барьж
|
||
байхын тулд машин дээр үндэслэсэн сүлжээний бүлгийн оронд үүрэг дээр үндэслэсэн
|
||
сүлжээний бүлгийг хэрэглэх хэрэгтэй.</para>
|
||
</sect2>
|
||
|
||
<sect2>
|
||
<title>Санаж явах чухал зүйлс</title>
|
||
|
||
<para>NIS орчинд ороод, өөрөөр хийх ёстой хэд хэдэн зүйлс байна.</para>
|
||
|
||
<itemizedlist>
|
||
<listitem>
|
||
<para>Лабораторид шинэ хэрэглэгч нэмэх бүрдээ
|
||
<emphasis>зөвхөн</emphasis> эзэн NIS серверт нэмэх ёстой,
|
||
ба <emphasis>NIS буулгалтыг заавал дахин үүсгэх ёстой</emphasis>.
|
||
Хэрэв ингэхээ мартвал, шинэ хэрэглэгч эзэн NIS серверээс
|
||
өөр хаашаа ч нэвтэрч чадахгүй болно. Жишээ нь,
|
||
бид <username>jsmith</username> гэсэн шинэ хэрэглэгчийг лабораторид нэмэх боллоо:</para>
|
||
|
||
<screen>&prompt.root; <userinput>pw useradd jsmith</userinput>
|
||
&prompt.root; <userinput>cd /var/yp</userinput>
|
||
&prompt.root; <userinput>make test-domain</userinput></screen>
|
||
|
||
<para><command>pw useradd jsmith</command>-н оронд <command>adduser jsmith</command>-г мөн хэрэглэж болно.</para>
|
||
</listitem>
|
||
<listitem>
|
||
<para><emphasis>Администратор эрхтэй дансуудыг NIS буулгалтад оруулах ёсгүй</emphasis>.
|
||
Администратор эрхээр орох ёсгүй хэрэглэгчдийн машин дээр администратор эрхтэй
|
||
дансууд болон нэвтрэх үгүүдийг тараах хүсэлгүй байгаа биз дээ.</para>
|
||
</listitem>
|
||
<listitem>
|
||
<para><emphasis>NIS эзэн болон зарц серверийн аюулгүй байдлыг хангаж,
|
||
ажиллахгүй байх хугацааг багасгах хэрэгтэй</emphasis>. Хэрэв хэн нэг нь
|
||
серверт нууцаар нэвтэрч, эсвэл унтрааж орхивол хүмүүсийг лабораторын машинууд руу
|
||
нэвтрэх боломжгүй болгож, саад болох болно.</para>
|
||
|
||
<para>Энэ нь ямар ч төвлөрсөн удирдах системийн
|
||
гол сул тал юм. Хэрэв та өөрийн NIS серверийг хамгаалахгүй бол,
|
||
та маш олон ууртай хэрэглэгчидтэй таарах болно шүү!</para>
|
||
</listitem>
|
||
</itemizedlist>
|
||
</sect2>
|
||
|
||
<sect2>
|
||
<title>NIS v1 нийцтэй байдал</title>
|
||
|
||
<para> FreeBSD-н <application>ypserv</application> нь NIS v1 харилцагчдад үйлчлэх
|
||
зарим дэмжигчтэй ирдэг. FreeBSD-н NIS нь зөвхөн NIS v2 протоколыг хэрэглэдэг,
|
||
гэхдээ бусад нь хуучин системүүдтэй нийцтэй ажиллахын тулд
|
||
v1 протоколыг дэмждэг байхаар бүтээгдсэн байдаг.
|
||
Эдгээр системтэй хамт ирсэн <application>ypbind</application> дэмонууд
|
||
хэдийгээр үнэн хэрэг дээрээ хэзээ ч хэрэглэхгүй боловч
|
||
NIS v1 сервертэй холболт үүсгэхийг оролддог (ба
|
||
v2 серверээс хариу хүлээж авсан ч өргөн цацалт хийж
|
||
хайлтаа үргэлжлүүлдэг талтай). Хэдийгээр
|
||
ердийн харилцагчийн хүсэлтийг дэмждэг боловч,
|
||
<application>ypserv</application>-н энэ хувилбар v1 буулгалтыг зөөх хүсэлттэй ажиллаж чадахгүй;
|
||
иймээс, зөвхөн v1 протоколыг дэмждэг хуучин NIS серверүүдтэй
|
||
холбоотойгоор эзэн эсвэл зарц байдлаар ажиллаж чадахгүй.
|
||
Аз болоход, ийм серверийг одоо хэрэглэж байгаа газар байхгүй.</para>
|
||
</sect2>
|
||
|
||
<sect2 id="network-nis-server-is-client">
|
||
<title>NIS Сервер мөртлөө NIS Харилцагч</title>
|
||
|
||
<para> Сервер машин нь мөн NIS харилцагч байдлаар ажилладаг
|
||
олон сервертэй домэйнд <application>ypserv</application>-г ажиллуулахдаа
|
||
анхааралтай байх хэрэгтэй. Ийм серверийг өргөн цацалт хийлгэж,
|
||
өөр нэг сервертэй холбоо тогтоохыг зөвшөөрөхийн оронд өөрөө өөртэй нь
|
||
хүчээр холбох нь ихэвчлэн дээр байдаг. Хэрэв нэг сервер унтарч, бусад
|
||
серверүүд түүнээс хамааралтай байх юм бол хачин алдаанууд гарч болзошгүй.
|
||
Эцэст нь бүх харилцагчдын хүлээх хугацаа дуусаж,
|
||
бүгд өөр сервертэй холбогдохыг оролдох болно. Хэдийгээр бүх серверүүд
|
||
холболтуудаа сэргээж буцаад хэвийн байдалдаа орсон ч, саатлаас болж
|
||
харилцагчид холбогдож чадахгүй хэвээр байх болно.</para>
|
||
|
||
<para>Хостыг ямар нэг сервертэй холбогдохыг
|
||
<command>ypbind</command> тушаалыг <option>-S</option> тугийн хамт ажиллуулж,
|
||
урдаас зааж өгч болно. Хэрэв NIS серверийг дахин ачаалах тоолонд энэ
|
||
тушаалыг гараар оруулах хүсэлгүй байгаа бол, дараах мөрүүдийг
|
||
өөрийн <filename>/etc/rc.conf</filename> файл дотор нэмээрэй:</para>
|
||
|
||
<programlisting>nis_client_enable="YES" # run client stuff as well
|
||
nis_client_flags="-S <replaceable>NIS domain</replaceable>,<replaceable>server</replaceable>"</programlisting>
|
||
|
||
<para>Дэлгэрэнгүй мэдээллийг &man.ypbind.8; заавар хуудаснаас үзнэ үү.</para>
|
||
</sect2>
|
||
|
||
<sect2>
|
||
<title>Нэвтрэх үгийн хэлбэр</title>
|
||
<indexterm>
|
||
<primary>NIS</primary>
|
||
<secondary>нэвтрэх үгийн хэлбэр</secondary>
|
||
</indexterm>
|
||
<para>NIS-г зохион байгуулах явцад ихэвчлэн тохиолддог асуудлуудын нэг бол
|
||
нэвтрэх үгийн хэлбэрийн нийцгүй байдал юм. Хэрэв таны NIS
|
||
сервер DES хувиргалттай нэвтрэх үгийг хэрэглэдэг бол,
|
||
зөвхөн DES хэрэглэдэг харилцагчид үйлчлэх чадвартай. Жишээлбэл,
|
||
хэрэв сүлжээнд чинь &solaris; NIS харилцагчид байгаа бол,
|
||
та бараг л DES хувиргалттай нэвтрэх үг хэрэглэх шаардлагатай гэсэн үг.</para>
|
||
|
||
<para>Таны сервер болон харилцагчид ямар хэлбэрийн нэвтрэх үг хэрэглэдгийг
|
||
шалгахдаа <filename>/etc/login.conf</filename> файлыг үзээрэй. Хэрэв тухайн хост
|
||
DES хувиргалттай нэвтрэх үг хэрэглэдэг бол, <literal>default</literal> буюу анхдагч ангилал
|
||
нь дараах мөрүүдийг агуулсан байх болно:</para>
|
||
|
||
<programlisting>default:\
|
||
:passwd_format=des:\
|
||
:copyright=/etc/COPYRIGHT:\
|
||
[Further entries elided]</programlisting>
|
||
|
||
<para><literal>passwd_format</literal> нь өөр <literal>blf</literal> ба <literal>md5</literal> гэсэн
|
||
утгуудыг авч болно (Blowfish болон MD5 хувиргалттай нэвтрэх үгийн хувьд).</para>
|
||
|
||
<para>Хэрэв та <filename>/etc/login.conf</filename> файлд өөрчлөлт хийсэн бол,
|
||
нэвтрэх чадварын санг дахин үүсгэх шаардлагатай. Үүний тулд дараах тушаалыг
|
||
<username>root</username> эрхээр өгөх хэрэгтэй:</para>
|
||
|
||
<screen>&prompt.root; <userinput>cap_mkdb /etc/login.conf</userinput></screen>
|
||
|
||
<note><para><filename>/etc/master.passwd</filename> файл дотор аль хэдийн үүссэн нэвтрэх үгийн
|
||
хэлбэр нь хэрэглэгч нэвтрэх чадварын сан дахин үүссэнээс хойш анх удаа нэвтрэх
|
||
үгээ солих хүртэл өөрчлөгдөхгүй.</para></note>
|
||
|
||
<para>Мөн, таны сонгосон хэлбэрээр нэвтрэх үгүүдэд
|
||
хувиргалт хийгддэг болгохын тулд,
|
||
<filename>/etc/auth.conf</filename> файл доторх <literal>crypt_default</literal> утга
|
||
таны сонгосон хэлбэрийг хамгийн түрүүнд оруулсан байгаа эсэхийг
|
||
шалгах хэрэгтэй. Жишээ нь, DES хувиргалттай нэвтрэх үгийг хэрэглэх үед:</para>
|
||
|
||
<programlisting>crypt_default = des blf md5</programlisting>
|
||
|
||
<para>&os; дээр тулгуурласан NIS сервер болон харилцагч бүр дээр дээрх
|
||
үйлдлүүдийг хийснээр, нэвтрэх үгийн хэлбэр бүгд таарч байгаа гэдэгт
|
||
санаа амар байж болно. Хэрэв NIS харилцагч дээр нэвтэрч ороход асуудал
|
||
гарвал, асуудлыг тодруулах нэг газар байна.
|
||
Хэрэв та холимог сүлжээний хувьд NIS сервер босгох гэж байгаа бол,
|
||
ихэнх систем дээр зайлшгүй байх хамгийн бага стандарт тул,
|
||
бүх системүүд дээрээ DES ашиглах хэрэгтэйг санаарай.</para>
|
||
</sect2>
|
||
</sect1>
|
||
|
||
<sect1 id="network-dhcp">
|
||
<sect1info>
|
||
<authorgroup>
|
||
<author>
|
||
<firstname>Грег</firstname>
|
||
<surname>Саттер</surname>
|
||
<contrib>Бичсэн </contrib>
|
||
</author>
|
||
</authorgroup>
|
||
<authorgroup>
|
||
<author>
|
||
<firstname>Лодойсамбын</firstname>
|
||
<surname>Баянзул</surname>
|
||
<contrib>Орчуулсан </contrib>
|
||
</author>
|
||
</authorgroup>
|
||
</sect1info>
|
||
<title>Автомат Сүлжээний Тохиргоо (DHCP)</title>
|
||
|
||
<sect2>
|
||
<title>DHCP гэж юу вэ?</title>
|
||
<indexterm>
|
||
<primary>Динамик Хостын Тохиргооны Протокол</primary>
|
||
<see>DHCP</see>
|
||
</indexterm>
|
||
<indexterm>
|
||
<primary>Internet Systems Consortium (ISC)</primary>
|
||
</indexterm>
|
||
|
||
<para>DHCP, Dynamic Host Configuration Protocol буюу Динамик Хостын Тохиргооны Протокол нь
|
||
систем ямар байдлаар сүлжээнд холбогдох,
|
||
тухайн сүлжээнд харилцаанд орохын тулд шаардагдах
|
||
мэдээллийг хэрхэн олж авахыг зааж өгдөг. FreeBSD-н
|
||
6.0-с өмнөх хувилбарууд ISC (Internet Systems Consortium) DHCP харилцагчийг
|
||
(&man.dhclient.8;) хэрэглэдэг.
|
||
Хамгийн сүүлийн хувилбар дээр OpenBSD 3.7-с авсан
|
||
OpenBSD-н <command>dhclient</command>-г хэрэглэдэг. Энэ бүлэгт гарах
|
||
<command>dhclient</command>-р ISC ба OpenBSD DHCP харилцагчийг хоёуланг
|
||
нь төлөөлүүлсэн болно. DHCP серверийн хувьд ISC тархацын
|
||
серверийг авч үзэх болно.</para>
|
||
</sect2>
|
||
|
||
<sect2>
|
||
<title>Энэ хэсэгт авч үзэх зүйлс</title>
|
||
|
||
<para>Энэ хэсэгт ISC ба OpenBSD DHCP харилцагчийн харилцагч талыг бүтээж байгаа элементүүд,
|
||
болон ISC DHCP системийн сервер талыг бүтээж байгаа элементүүдийг хоёуланг нь
|
||
авч үзэх болно. Харилцагч талын програм, <command>dhclient</command>, нь
|
||
FreeBSD-тэй нэгдмэл байдлаар ирдэг бол, сервер талын хэсэг нь
|
||
<filename role="package">net/isc-dhcp3-server</filename> портоос суулгах боломжтой байдлаар ирдэг.
|
||
&man.dhclient.8;, &man.dhcp-options.5;, ба &man.dhclient.conf.5; заавар хуудсууд болон доор өгөгдсөн зөвлөмжүүд
|
||
нь хэрэг болно.</para>
|
||
</sect2>
|
||
|
||
<sect2>
|
||
<title>Хэрхэн ажилладаг вэ?</title>
|
||
<indexterm><primary>UDP</primary></indexterm>
|
||
<para>Харилцагч машин дээр <command>dhclient</command> DHCP харилцагчийг
|
||
ажиллуулахад, тохиргооны мэдээллийг хүссэн хүсэлтийг цацаж эхэлнэ.
|
||
Анхдагч байдлаар, эдгээр хүсэлтүүд нь UDP 68-р портоос гарч, серверийн
|
||
UDP 67 порт руу илгээгдэнэ. Сервер харилцагчид IP хаяг болон сүлжээний баг,
|
||
чиглүүлэгч, DNS серверийн хаяг зэрэг хэрэгтэй мэдээллийг хариу илгээнэ.
|
||
Энэ бүх мэдээллийг DHCP <quote>түрээслэх</quote> хэлбэрээр өгөх ба зөвхөн тодорхой
|
||
хугацааны туршид хүчинтэй байна (DHCP серверийг хариуцагч тохируулж өгсөн байна).
|
||
Ийм байдлаар, сүлжээнд холбогдохоо больсон харилцагчийн ашиглагдаагүй
|
||
IP хаягуудыг автоматаар буцааж авах боломжтой болно.</para>
|
||
|
||
<para>DHCP харилцагч серверээс өргөн мэдээллийг
|
||
авч чадна. Бүрэн жагсаалтыг &man.dhcp-options.5;-с олж үзэж болно.</para>
|
||
</sect2>
|
||
|
||
<sect2>
|
||
<title>FreeBSD-тэй нэгдмэл байдал</title>
|
||
|
||
<para>&os; нь ISC эсвэл OpenBSD DHCP харилцагч,
|
||
<command>dhclient</command>-г өөртэйгөө бүрэн нэгтгэсэн байдаг (&os; хувилбараас хамааран).
|
||
DHCP сервер ажиллаж байгаа сүлжээнд сүлжээний тохиргоог хийх нарийн
|
||
чимхлүүр ажлаас хөнгөвчлөх үүднээс, DHCP харилцагчийг систем суулгагч
|
||
болон үндсэн системийн аль алинд хамт оруулж өгсөн байдаг.
|
||
<command>dhclient</command> нь FreeBSD-н 3.2-с хойших бүх тархацуудад нэгтгэгдсэн байгаа.</para>
|
||
<indexterm>
|
||
<primary><application>sysinstall</application></primary>
|
||
</indexterm>
|
||
|
||
<para><application>sysinstall</application> нь DHCP-г дэмждэг. <application>sysinstall</application>-р
|
||
сүлжээний интерфэйсийг тохируулахад асуудаг хоёр дахь асуулт бол:
|
||
<quote>Та энэ интерфэйсийг DHCP-р тохируулахыг хүсэж байна уу?</quote>.
|
||
Зөвшөөрсөн хариулт өгсөн тохиолдолд <command>dhclient</command>-г ажиллуулах бөгөөд,
|
||
хэрэв амжилттай бол сүлжээний тохиргоо автоматаар хийгдэнэ.</para>
|
||
|
||
<para>Систем ачаалах үед DHCP ашигладаг болгохын тулд,
|
||
хоёр зүйлийг хийх хэрэгтэй:</para>
|
||
<indexterm>
|
||
<primary>DHCP</primary>
|
||
<secondary>шаардлагууд</secondary>
|
||
</indexterm>
|
||
<itemizedlist>
|
||
<listitem>
|
||
<para><devicename>bpf</devicename> төхөөрөмж цөмтэй хамт эмхэтгэгдсэн байх ёстой.
|
||
Үүний тулд, <literal>device bpf</literal> мөрийг цөмийн
|
||
тохиргооны файлд нэмж бичээд цөмийг дахин бүтээх
|
||
хэрэгтэй. Цөмийг бүтээх талаар дэлгэрэнгүй мэдээллийг <xref linkend="kernelconfig">
|
||
хэсгээс авна уу.</para>
|
||
<para><devicename>bpf</devicename> төхөөрөмж нь FreeBSD-н <filename>GENERAL</filename> цөмийн нэг хэсэг
|
||
бөгөөд, DHCP-г ажиллуулахын тулд тусгайлан шинээр цөм бүтээх шаардлагагүй.</para>
|
||
<note>
|
||
<para>Аюулгүй байдлын талаар сэтгэл зовнидог хүмүүст зөвлөхөд,
|
||
<devicename>bpf</devicename> нь пакет шиншлэгчдийг зөв ажиллах боломжийг олгодог
|
||
төхөөрөмж болохыг анхааралдаа авна уу (хэдийгээр тэдгээр програм ажиллахын
|
||
тулд <username>root</username> эрх хэрэгтэй боловч). DHCP-г ашиглахын тулд
|
||
<devicename>bpf</devicename> <emphasis>заавал</emphasis> хэрэгтэй, гэвч хэрэв та аюулгүй байдлыг
|
||
маш ихээр анхааралдаа авдаг бол, зөвхөн хэзээ нэгэн цагт DHCP-г
|
||
ашиглахын тулд <devicename>bpf</devicename>-г цөмд нэмэх хэрэггүй.</para>
|
||
</note>
|
||
</listitem>
|
||
<listitem>
|
||
<para><filename>/etc/rc.conf</filename> файлыг нээгээд дараах мөрийг нэмж бичнэ:</para>
|
||
|
||
<programlisting>ifconfig_fxp0="DHCP"</programlisting>
|
||
|
||
<note>
|
||
<para><xref linkend="config-network-setup">-д тайлбарласан ёсоор,
|
||
<literal>fxp0</literal>-г динамикаар тохируулах гэж байгаа
|
||
интерфэйсийн нэрээр сольж бичнэ.</para>
|
||
</note>
|
||
|
||
<para>Хэрэв таны <command>dhclient</command> өөр газар байгаа бол, эсвэл
|
||
хэрэв та <command>dhclient</command>-г нэмэлт тугуудын хамт ажиллуулах хүсэлтэй бол,
|
||
дараах мөрүүдийг нэмж бичнэ үү (эсвэл шаардлагатай хэсгийг засаж бичнэ үү):</para>
|
||
|
||
<programlisting>dhclient_program="/sbin/dhclient"
|
||
dhclient_flags=""</programlisting>
|
||
</listitem>
|
||
</itemizedlist>
|
||
|
||
<indexterm>
|
||
<primary>DHCP</primary>
|
||
<secondary>сервер</secondary>
|
||
</indexterm>
|
||
<para>DHCP сервер <application>dhcpd</application> нь портуудын цуглуулгад байгаа
|
||
<filename role="package">net/isc-dhcp3-server</filename> портын нэг хэсэг байдлаар ирдэг. Энэ порт нь
|
||
ISC DHCP сервер болон түүний баримтуудыг агуулсан байдаг.</para>
|
||
</sect2>
|
||
|
||
<sect2>
|
||
<title>Файлууд</title>
|
||
<indexterm>
|
||
<primary>DHCP</primary>
|
||
<secondary>тохиргооны файлууд</secondary>
|
||
</indexterm>
|
||
<itemizedlist>
|
||
<listitem><para><filename>/etc/dhclient.conf</filename></para>
|
||
<para><command>dhclient</command> нь <filename>/etc/dhclient.conf</filename> гэсэн тохиргооны
|
||
файлыг шаарддаг. Ихэвчлэн энэ файл зөвхөн тайлбаруудаас бүрдэх ба
|
||
анхдагч утгууд нь харьцангуй өөрчлөх шаардлагагүйгээр өгөгдсөн байдаг.
|
||
Энэ тохиргооны файлыг &man.dhclient.conf.5; заавар хуудсанд тайлбарласан байгаа.</para>
|
||
</listitem>
|
||
|
||
<listitem><para><filename>/sbin/dhclient</filename></para>
|
||
<para><command>dhclient</command> нь статикаар холбогдсон байх ба
|
||
<filename>/sbin</filename> дотор байрлана. &man.dhclient.8; хуудаснаас
|
||
<command>dhclient</command>-н талаар дэлгэрэнгүй мэдээллийг авна уу.</para>
|
||
</listitem>
|
||
|
||
<listitem><para><filename>/sbin/dhclient-script</filename></para>
|
||
<para><command>dhclient-script</command> нь зөвхөн FreeBSD-д байдаг, DHCP харилцагчийг
|
||
тохируулах зориулалттай тусгай скрипт юм. Энэ скриптийг
|
||
&man.dhclient-script.8; заавар хуудсанд тайлбарласан байх ба, ажиллуулахын
|
||
тулд хэрэглэгч ямар нэг засвар хийх шаардлагагүй.</para>
|
||
</listitem>
|
||
|
||
<listitem><para><filename>/var/db/dhclient.leases</filename></para>
|
||
<para>DHCP харилцагч нь түрээсэлж авсан хаягуудаа агуулсан өгөгдлийн
|
||
санг энэ файлд хадгалах бөгөөд бүртгэл маягаар бичдэг. &man.dhclient.leases.5; хэсэгт
|
||
илүү дэлгэрэнгүй тайлбар бий.</para>
|
||
</listitem>
|
||
</itemizedlist>
|
||
</sect2>
|
||
|
||
<sect2>
|
||
<title>Гүнзгийрүүлэн унших</title>
|
||
|
||
<para>DHCP протокол нь бүрэн хэмжээгээр <ulink url="http://www.freesoft.org/CIE/RFC/2131/">RFC 2131</ulink>-д
|
||
тодорхойлогдсон байдаг. Нэмэлт эх үүсвэрүүд <ulink url="http://www.dhcp.org/"></ulink>-д мөн бий.</para>
|
||
</sect2>
|
||
|
||
<sect2 id="network-dhcp-server">
|
||
<title>DHCP Серверийг Суулгах болон Тохируулах</title>
|
||
|
||
<sect3>
|
||
<title>Энэ хэсэгт авч үзэх зүйлс</title>
|
||
|
||
<para>Энэ хэсэгт ISC (Internet Systems Consortium) DHCP серверийг
|
||
ашиглан FreeBSD системийг хэрхэн DHCP сервер байдлаар ажиллуулах
|
||
талаар авч үзэх болно.</para>
|
||
|
||
<para>Сервер нь FreeBSD-н нэг хэсэг байдлаар ирдэггүй бөгөөд
|
||
ийм үйлчилгээ үзүүлэхийн тулд <filename role="package">net/isc-dhcp3-server</filename> портыг
|
||
суулгах хэрэгтэй болдог. Портуудын цуглуулгын хэрхэн ашиглах талаар
|
||
<xref linkend="ports"> хэсгээс дэлгэрэнгүй мэдээллийг авна уу.</para>
|
||
</sect3>
|
||
|
||
<sect3>
|
||
<title>DHCP Серверийг суулгах нь</title>
|
||
<indexterm>
|
||
<primary>DHCP</primary>
|
||
<secondary>суулгах</secondary>
|
||
</indexterm>
|
||
<para>FreeBSD системийг DHCP сервер байдлаар тохируулахын тулд,
|
||
&man.bpf.4; төхөөрөмж цөмд эмхэтгэгдсэн байх ёстой. Үүний тулд,
|
||
цөмийн тохиргооны файл дотор <literal>bpf төхөөрөмж</literal>ийг нэмээд цөмийг дахин
|
||
бүтээх хэрэгтэй. Цөмийг бүтээх талаар дэлгэрэнгүй мэдээллийг
|
||
<xref linkend="kernelconfig"> хэсгээс үзнэ үү.</para>
|
||
|
||
<para><devicename>bpf</devicename> төхөөрөмж нь FreeBSD-н <filename>GENERAL</filename> цөмийн нэг хэсэг бөгөөд,
|
||
DHCP-г ажиллуулахын тулд
|
||
тусгайлан шинээр цөм бүтээх шаардлагагүй.</para>
|
||
<note>
|
||
<para>Аюулгүй байдлын талаар сэтгэл зовнидог хүмүүст зөвлөхөд,
|
||
<devicename>bpf</devicename> нь пакет шиншлэгчдийг зөв ажиллах боломжийг олгодог
|
||
төхөөрөмж болохыг анхааралдаа авна уу (хэдийгээр тэдгээр програм ажиллахын
|
||
тулд <username>root</username> эрх хэрэгтэй боловч). DHCP-г ашиглахын тулд
|
||
<devicename>bpf</devicename> <emphasis>заавал</emphasis> хэрэгтэй, гэвч хэрэв та аюулгүй байдлыг
|
||
маш ихээр анхааралдаа авдаг бол, зөвхөн хэзээ нэгэн цагт DHCP-г
|
||
ашиглахын тулд <devicename>bpf</devicename>-г цөмд нэмэх хэрэггүй.</para>
|
||
</note>
|
||
|
||
<para>Үүний дараа <filename role="package">net/isc-dhcp3-server</filename>
|
||
порттой хамт ирсэн жишээ <filename>dhcpd.conf</filename> файлыг засах хэрэгтэй.
|
||
Анхдагч байдлаар, <filename>/usr/local/etc/dhcpd.conf.sample</filename> гэсэн файл байх ба
|
||
өөрчлөлт хийхийнхээ өмнө энэ файлыг <filename>/usr/local/etc/dhcpd.conf</filename>
|
||
нэртэйгээр хуулж тавих хэрэгтэй.</para>
|
||
</sect3>
|
||
|
||
<sect3>
|
||
<title>DHCP Серверийг тохируулах</title>
|
||
<indexterm>
|
||
<primary>DHCP</primary>
|
||
<secondary>dhcpd.conf</secondary>
|
||
</indexterm>
|
||
<para><filename>dhcpd.conf</filename> нь
|
||
дэд сүлжээ болон хостуудтай холбоотой өгөгдөл зарлалтаас
|
||
бүрдэх ба жишээн дээр тайлбарлавал илүү амархан байх болов уу:</para>
|
||
|
||
<programlisting>option domain-name "example.com";<co id="domain-name">
|
||
option domain-name-servers 192.168.4.100;<co id="domain-name-servers">
|
||
option subnet-mask 255.255.255.0;<co id="subnet-mask">
|
||
|
||
default-lease-time 3600;<co id="default-lease-time">
|
||
max-lease-time 86400;<co id="max-lease-time">
|
||
ddns-update-style none;<co id="ddns-update-style">
|
||
|
||
subnet 192.168.4.0 netmask 255.255.255.0 {
|
||
range 192.168.4.129 192.168.4.254;<co id="range">
|
||
option routers 192.168.4.1;<co id="routers">
|
||
}
|
||
|
||
host mailhost {
|
||
hardware ethernet 02:03:04:05:06:07;<co id="hardware">
|
||
fixed-address mailhost.example.com;<co id="fixed-address">
|
||
}</programlisting>
|
||
|
||
<calloutlist>
|
||
<callout arearefs="domain-name">
|
||
<para>Энэ тохируулга нь анхдагч хайлтын домэйн байдлаар
|
||
харилцагчид өгөх домэйныг заана. Энэ талаар дэлгэрэнгүй мэдээллийг
|
||
&man.resolv.conf.5; хэсгээс үзнэ үү.</para>
|
||
</callout>
|
||
|
||
<callout arearefs="domain-name-servers">
|
||
<para>Энэ тохируулга нь харилцагчийн хэрэглэх ёстой
|
||
DNS серверүүдийг таслалаар холбосон жагсаалт байна.</para>
|
||
</callout>
|
||
|
||
<callout arearefs="subnet-mask">
|
||
<para>Хэрэглэгчид өгөх сүлжээний багийг заана.</para>
|
||
</callout>
|
||
|
||
<callout arearefs="default-lease-time">
|
||
<para>Түрээслэлт (lease) хүчинтэй байх тийм тусгай хугацааг
|
||
харилцагч хүсэж болох юм. Хэрэв харилцагч хүсээгүй бол сервер энд заасан дуусах
|
||
хугацаагаар (секундээр) түрээс хийх болно.</para>
|
||
</callout>
|
||
|
||
<callout arearefs="max-lease-time">
|
||
<para>Серверийн түрээслүүлэх хамгийн дээд хугацааг заана.
|
||
Харилцагч үүнээс урт хугацаагаар түрээслэх хүсэлт тавибал
|
||
хүсэлтийг хүлээж авах боловч зөвхөн <literal>max-lease-time</literal> секундын туршид
|
||
хүчинтэй байна.</para>
|
||
</callout>
|
||
|
||
<callout arearefs="ddns-update-style">
|
||
<para>Түрээслэх болон эргүүлж авахад DHCP сервер
|
||
DNS-г шинэчлэхийг оролдох шаардлагатай эсэхийг зааж өгнө.
|
||
ISC шийдлийн хувьд, энэ тохируулга <emphasis>заавал</emphasis> байх ёстой.</para>
|
||
</callout>
|
||
|
||
<callout arearefs="range">
|
||
<para>Харилцагчид оноох IP хаягуудын хүрээг заана. Энэ хүрээнд багтах
|
||
IP хаягуудыг харилцагчид өгөх болно.</para>
|
||
</callout>
|
||
|
||
<callout arearefs="routers">
|
||
<para>Харилцагчид өгөх анхдагч гарцыг заана.</para>
|
||
</callout>
|
||
|
||
<callout arearefs="hardware">
|
||
<para>Хостын MAC хаягийг заана (ингэснээр DHCP сервер тухайн хостыг
|
||
хүсэлт тавихад таньж чадна).</para>
|
||
</callout>
|
||
|
||
<callout arearefs="fixed-address">
|
||
<para>Хостод тогтмол IP хаяг оноохыг заана.
|
||
Энд хостын нэрийг хэрэглэж болохыг тэмдэглэх хэрэгтэй.
|
||
DHCP сервер IP хаяг түрээслүүлэх
|
||
хариуг өгөхөөс өмнө хост нэрийг тайлах болно.</para>
|
||
</callout>
|
||
</calloutlist>
|
||
|
||
<para><filename>dhcpd.conf</filename> файлыг бичиж дууссаны дараа,
|
||
<filename>/etc/rc.conf</filename> файл дотор DHCP серверийг идэвхжүүлэх хэрэгтэй,
|
||
өөрөөр хэлбэл доорх мөрүүдийг нэмж бичих хэрэгтэй:</para>
|
||
|
||
<programlisting>dhcpd_enable="YES"
|
||
dhcpd_ifaces="dc0"</programlisting>
|
||
|
||
<para><literal>dc0</literal>-г өөрийн тань DHCP сервер DHCP харилцагчдын хүсэлтийг
|
||
хүлээж авах ёстой интерфэйсийн нэрээр (эсвэл интерфэйсүүдийг зайгаар
|
||
тусгаарлан) сольж бичих хэрэгтэй.</para>
|
||
|
||
<para>Дараа нь, доорх тушаалыг өгөн серверийг ажиллуулах хэрэгтэй:</para>
|
||
|
||
<screen>&prompt.root; <userinput>/usr/local/etc/rc.d/isc-dhcpd.sh start</userinput></screen>
|
||
|
||
<para>Серверийнхээ тохиргооны файлд өөрчлөлт оруулах бүрдээ,
|
||
<literal>SIGHUP</literal> дохиог <application>dhcpd</application>-д өгөх нь бусад дэмонуудын
|
||
хувьд тохиргоог дахин дууддаг шиг биш харин тохиргоог дахин
|
||
ачаалах<emphasis>гүй</emphasis> болохыг анхаарах хэрэгтэй. Процессийг зогсоохын
|
||
тулд <literal>SIGTERM</literal> дохиог өгөх хэрэгтэй ба дээрх тушаалыг өгөн дахин эхлүүлэх хэрэгтэй.</para>
|
||
</sect3>
|
||
|
||
<sect3>
|
||
<title>Файлууд</title>
|
||
<indexterm>
|
||
<primary>DHCP</primary>
|
||
<secondary>тохиргооны файлууд</secondary>
|
||
</indexterm>
|
||
<itemizedlist>
|
||
<listitem><para><filename>/usr/local/sbin/dhcpd</filename></para>
|
||
<para><application>dhcpd</application> нь статикаар холбогдсон байх ба
|
||
<filename>/usr/local/sbin</filename> дотор байрлана. Порттой хамт суусан
|
||
&man.dhcpd.8; заавар хуудаснаас <application>dhcpd</application>-н талаар дэлгэрэнгүй мэдээллийг
|
||
авна уу.</para>
|
||
</listitem>
|
||
<listitem><para><filename>/usr/local/etc/dhcpd.conf</filename></para>
|
||
<para><application>dhcpd</application> нь <filename>/usr/local/etc/dhcpd.conf</filename> гэсэн тохиргооны
|
||
файлыг шаарддаг. Энэ файл дотор харилцагчид өгөх бүх мэдээллээс гадна
|
||
серверийн өөрийн үйл ажиллагаатай холбоотой мэдээлэл байх ёстой. Энэ
|
||
тохиргооны файлыг портоос суусан &man.dhcpd.conf.5; заавар хуудсанд тайлбарласан байгаа.</para>
|
||
</listitem>
|
||
|
||
<listitem><para><filename>/var/db/dhcpd.leases</filename></para>
|
||
<para>DHCP сервер нь түрээслүүлсэн хаягуудаа агуулсан
|
||
өгөгдлийн санг энэ файлд хадгалах бөгөөд бүртгэл маягаар бичдэг.
|
||
Портоос суусан &man.dhcpd.leases.5; заавар хуудсанд илүү дэлгэрэнгүй
|
||
тайлбар бий.</para>
|
||
</listitem>
|
||
<listitem><para><filename>/usr/local/sbin/dhcrelay</filename></para>
|
||
<para><application>dhcrelay</application>-г нэг DHCP сервер
|
||
харилцагчаас хүлээн авсан хүсэлтийг өөр сүлжээнд байгаа
|
||
нөгөө DHCP сервер рүү дамжуулдаг, нарийн бүтэцтэй орчинд хэрэглэнэ.
|
||
Хэрэв энэ функцыг ашиглах шаардлагатай бол,
|
||
<filename role="package">net/isc-dhcp3-relay</filename> портыг суулгаарай.
|
||
Порттой хамт ирэх &man.dhcrelay.8; заавар хуудаснаас дэлгэрэнгүй
|
||
мэдээллийг авна уу.</para>
|
||
</listitem>
|
||
</itemizedlist>
|
||
</sect3>
|
||
|
||
</sect2>
|
||
|
||
</sect1>
|
||
|
||
<sect1 id="network-dns">
|
||
<sect1info>
|
||
<authorgroup>
|
||
<author>
|
||
<firstname>Шерн</firstname>
|
||
<surname>Лий</surname>
|
||
<contrib>Хувь нэмрээ оруулсан </contrib>
|
||
</author>
|
||
<author>
|
||
<firstname>Том</firstname>
|
||
<surname>Родес</surname>
|
||
</author>
|
||
<author>
|
||
<firstname>Даниэл</firstname>
|
||
<surname>Гэрзо</surname>
|
||
</author>
|
||
</authorgroup>
|
||
<authorgroup>
|
||
<author>
|
||
<firstname>Лодойсамбын </firstname>
|
||
<surname>Баянзул</surname>
|
||
<contrib>Орчуулсан </contrib>
|
||
</author>
|
||
</authorgroup>
|
||
|
||
</sect1info>
|
||
<title>Домэйн Нэрийн Систем (<acronym>DNS</acronym>)</title>
|
||
|
||
<sect2>
|
||
<title>Удиртгал</title>
|
||
<indexterm><primary>BIND</primary></indexterm>
|
||
|
||
<para>&os; анхдагч байдлаар <acronym>DNS</acronym> протоколын
|
||
хамгийн өргөн хэрэглэгддэг хэрэгжүүлэлт болох BIND (Berkeley
|
||
Internet Name Domain)-н аль нэг хувилбарыг агуулсан байдаг.
|
||
<acronym>DNS</acronym> нь нэрүүдийг <acronym>IP</acronym> хаягууд руу, мөн
|
||
эсрэгээр нь буулгахад хэрэглэгддэг протокол юм.
|
||
Жишээ нь, <hostid role="fqdn">www.FreeBSD.org</hostid>-г асуусан DNS асуулга явуулахад,
|
||
хариуд нь &os; Төсөлийн вэб серверийн <acronym>IP</acronym> хаяг ирэх бол,
|
||
<hostid role="fqdn">ftp.FreeBSD.org</hostid>-н хувьд асуулга явуулахад,
|
||
хариуд нь харгалзах <acronym>FTP</acronym> машины <acronym>IP</acronym> хаяг ирэх болно.
|
||
Яг үүнтэй адилаар эсрэгээр нь хийж болно. Ямар нэг <acronym>IP</acronym>-р асуулга
|
||
явуулахад түүний хост нэрийг олж болно. <acronym>DNS</acronym> хайлт хийхийн тулд
|
||
тухайн системд домэйн нэрийн сервер ажиллаж байх ёстой.</para>
|
||
|
||
<para>&os; нь одоо <acronym>BIND</acronym>9
|
||
<acronym>DNS</acronym> сервер програмын хамт ирдэг болсон.
|
||
Бидний суулгац нь файл системийн шинэчилсэн зохион байгуулалт,
|
||
автомат &man.chroot.8; тохиргоо зэрэг аюулгүй байдлыг дээд зэргээр
|
||
хангах функцүүдтэй ирдэг.</para>
|
||
|
||
<indexterm><primary>DNS</primary></indexterm>
|
||
<para><acronym>DNS</acronym> бол Интернэт дээр тулгуурласан,
|
||
бүрэн эрхт root буюу эх сервер, Top Level Domain буюу Дээд Түвшний Домэйн (<acronym>TLD</acronym>)
|
||
сервер, болон домэйн тус бүрийн мэдээллийг агуулж байдаг
|
||
бусад жижиг нэрийн серверүүдээс бүтсэн нарийн төвөгтэй
|
||
систем юм.</para>
|
||
|
||
<para>BIND одоо
|
||
Internet Systems Consortium
|
||
<ulink url="http://www.isc.org/"></ulink>-н мэдэлд байдаг.</para>
|
||
</sect2>
|
||
|
||
<sect2>
|
||
<title>Нэр Томъёо</title>
|
||
|
||
<para>Энэ баримтыг ойлгохын тулд, <acronym>DNS</acronym>-тэй холбоотой
|
||
зарим нэр томъёог ойлгосон байх шаардлагатай.</para>
|
||
|
||
<indexterm><primary>resolver</primary></indexterm>
|
||
<indexterm><primary>reverse DNS</primary></indexterm>
|
||
<indexterm><primary>root zone</primary></indexterm>
|
||
|
||
<informaltable frame="none" pgwide="1">
|
||
<tgroup cols="2">
|
||
<colspec colwidth="1*">
|
||
<colspec colwidth="3*">
|
||
|
||
<thead>
|
||
<row>
|
||
<entry>Нэр</entry>
|
||
<entry>Тайлбар</entry>
|
||
</row>
|
||
</thead>
|
||
|
||
<tbody>
|
||
<row>
|
||
<entry>Forward буюу Ердийн <acronym>DNS</acronym></entry>
|
||
<entry>Хост нэрийг IP хаяг руу буулгана.</entry>
|
||
</row>
|
||
|
||
<row>
|
||
<entry>Origin буюу Үүсэл</entry>
|
||
<entry>Тухайн бүсийн файлд хамрагдаж байгаа домэйныг заана.</entry>
|
||
</row>
|
||
|
||
<row>
|
||
<entry><application>named</application>, BIND</entry>
|
||
<entry>&os;-н BIND нэрийн серверийг нэрлэх түгээмэл нэршил.</entry>
|
||
</row>
|
||
|
||
<row>
|
||
<entry>Resolver буюу Тайлагч</entry>
|
||
<entry>Машин, бүсийн мэдээллийн талаар нэрийн серверээс асуулга
|
||
явуулахын тулд ашигладаг системийн процесс.</entry>
|
||
</row>
|
||
|
||
<row>
|
||
<entry>Reverse буюу Урвуу <acronym>DNS</acronym></entry>
|
||
<entry><acronym>IP</acronym>
|
||
хаягийг хост нэр рүү буулгана.</entry>
|
||
</row>
|
||
|
||
<row>
|
||
<entry>Root zone буюу Эх бүс</entry>
|
||
|
||
<entry>Интернэт бүсийн шатлалын эхлэл.
|
||
Файл системийн бүх файлууд эх санд харъяалагддаг шиг,
|
||
бүх бүсүүд эх бүсэд харъяалагдана.</entry>
|
||
</row>
|
||
|
||
<row>
|
||
<entry>Zone буюу Бүс</entry>
|
||
<entry>Нэг бүрэн эрхт газраар удирдуулж байгаа
|
||
домэйн, дэд домэйн, эсвэл <acronym>DNS</acronym>-н нэг хэсэг.</entry>
|
||
</row>
|
||
</tbody>
|
||
</tgroup>
|
||
</informaltable>
|
||
|
||
<indexterm>
|
||
<primary>бүсүүд</primary>
|
||
<secondary>жишээнүүд</secondary>
|
||
</indexterm>
|
||
|
||
<para>Бүсүүдийн жишээ:</para>
|
||
|
||
<itemizedlist>
|
||
<listitem>
|
||
<para><hostid>.</hostid> нь баримтад ихэвчлэн эх бүс гэж заагддаг.</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para><hostid>org.</hostid> бол эх бүсийн доорх Top Level Domain буюу
|
||
Дээд Түвшний Домэйн (<acronym>TLD</acronym>).</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para><hostid role="domainname">example.org.</hostid> бол <hostid>org.</hostid> <acronym>TLD</acronym>-н
|
||
доорх бүс.</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para><hostid>1.168.192.in-addr.arpa</hostid> бол <hostid role="ipaddr">192.168.1.*</hostid>
|
||
<acronym>IP</acronym> хаягийн хүрээнд багтаж байгаа бүх <acronym>IP</acronym>
|
||
хаягуудыг агуулсан бүс.</para>
|
||
</listitem>
|
||
</itemizedlist>
|
||
|
||
<para>Хост нэр зүүн тал руугаа явах тусам илүү тодорхой
|
||
болж байгааг та бүхэн анзаарсан байх. Жишээлбэл, <hostid role="domainname">example.org.</hostid>
|
||
нь <hostid>org.</hostid>-с илүү тодорхой, харин <hostid>org.</hostid> нь эх бүсээс
|
||
илүү тодорхой байна. Хост нэрийн зохион байгуулалт нь
|
||
файл системийнхтэй төстэй: <filename class="directory">/dev</filename> директор нь
|
||
эх директорт харъяалагдана, гэх мэт.</para>
|
||
</sect2>
|
||
|
||
<sect2>
|
||
<title>Нэрийн Сервер ажиллуулах Шалтгаанууд</title>
|
||
|
||
<para>Нэрийн Серверүүд ихэвчлэн хоёр янз байна: authoritative буюу бүрэн эрхт нэрийн сервер,
|
||
ба caching буюу түр тогтоогч нэрийн сервер.</para>
|
||
|
||
<para>Бүрэн эрхт нэрийн сервер нь дараах тохиолдлуудад хэрэгтэй:</para>
|
||
|
||
<itemizedlist>
|
||
<listitem>
|
||
<para><acronym>DNS</acronym> мэдээллийг өөртөө агуулж, энэ мэдээллийг нийтэд зарлан,
|
||
ирсэн асуулгуудад бүрэн эрхтэйгээр хариулах хүсэлтэй үед.</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>Бүртгэлтэй домэйны хувьд, жишээлбэл <hostid role="domainname">example.org</hostid>,
|
||
түүний дор орших хост нэрүүдэд <acronym>IP</acronym> хаяг оноож өгөх хэрэгтэй үед.</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>Бүлэг <acronym>IP</acronym> хаягуудад урвуу <acronym>DNS</acronym> мэдээлэл хэрэгтэй үед
|
||
(<acronym>IP</acronym>-с хост нэр рүү).</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>Нөөц эсвэл хоёрдогч нэрийн сервер, зарц гэж нэрлэнэ,
|
||
асуулгуудад хариулуулах шаардлагатай үед.</para>
|
||
</listitem>
|
||
</itemizedlist>
|
||
|
||
<para>Түр тогтоогч нэрийн сервер дараах тохиолдлуудад хэрэгтэй:</para>
|
||
|
||
<itemizedlist>
|
||
<listitem>
|
||
<para>Дотоод <acronym>DNS</acronym> сервер нь асуулгын хариуг
|
||
түр тогтоосноор гадаад нэрийн серверээс илүү хурдан хариу өгч
|
||
байгаа үед.</para>
|
||
</listitem>
|
||
</itemizedlist>
|
||
|
||
<para><hostid role="fqdn">www.FreeBSD.org</hostid>-р асуулга явуулсан үед, тайлагч ихэвчлэн
|
||
үйлчилгээ авдаг <acronym>ISP</acronym>-нхаа нэрийн серверээс асуугаад хариуг олж авна.
|
||
Дотоод, түр тогтоогч <acronym>DNS</acronym> сервер ажиллуулснаар,
|
||
асуулгыг гадаад интернэтээс зөвхөн ганц удаа явуулах бөгөөд,
|
||
хариуг тогтоож авна. Түүнээс хойших асуулгуудад түр тогтоогч нэрийн сервер
|
||
хариулах ба гадагшаа дахин асуулга явуулах шаардлага байхгүй.</para>
|
||
</sect2>
|
||
|
||
<sect2>
|
||
<title>Хэрхэн ажилладаг вэ?</title>
|
||
<para>&os;-д BIND дэмонг <application>named</application> гэж нэрлэнэ.</para>
|
||
|
||
<informaltable frame="none" pgwide="1">
|
||
<tgroup cols="2">
|
||
<thead>
|
||
<row>
|
||
<entry>Файл</entry>
|
||
<entry>Тайлбар</entry>
|
||
</row>
|
||
</thead>
|
||
|
||
<tbody>
|
||
<row>
|
||
<entry>&man.named.8;</entry>
|
||
<entry>BIND дэмон.</entry>
|
||
</row>
|
||
|
||
<row>
|
||
<entry>&man.rndc.8;</entry>
|
||
<entry>Нэрийн серверийг хянах хэрэгсэл.</entry>
|
||
</row>
|
||
|
||
<row>
|
||
<entry><filename class="directory">/etc/namedb</filename></entry>
|
||
<entry>BIND-н бүсийн мэдээлэл хадгалагдаж байгаа сан.</entry>
|
||
</row>
|
||
|
||
<row>
|
||
<entry><filename>/etc/namedb/named.conf</filename></entry>
|
||
<entry>дэмоны тохиргооны файл.</entry>
|
||
</row>
|
||
</tbody>
|
||
</tgroup>
|
||
</informaltable>
|
||
|
||
<para>Тухайн бүс сервер дээр хэрхэн тохируулагдсанаас хамаарч
|
||
энэ бүстэй хамааралтай файлууд <filename class="directory">/etc/namedb</filename>
|
||
директорын <filename class="directory">master</filename>,
|
||
<filename class="directory">slave</filename>, эсвэл <filename class="directory">dynamic</filename>
|
||
гэсэн дэд сангуудад байрлана. Эдгээр файлуудад
|
||
гадны асуулгад хариу болгон өгөх <acronym>DNS</acronym> мэдээллүүд
|
||
байрлана.</para>
|
||
</sect2>
|
||
|
||
<sect2>
|
||
<title>BIND-г ажиллуулах нь</title>
|
||
|
||
<indexterm>
|
||
<primary>BIND</primary>
|
||
<secondary>ажиллуулах</secondary>
|
||
</indexterm>
|
||
|
||
<para>BIND нь анхдагч байдлаар суучихсан ирдэг тул тохируулахад
|
||
хялбар байдаг.</para>
|
||
|
||
<para><application>named</application>-н анхдагч тохиргоо нь
|
||
&man.chroot.8; орчинд ажиллах, тайлагч нэрийн сервер байдлаар хийгдсэн байдаг
|
||
бөгөөд локал IPv4 loopback хаяг (127.0.0.1) дээр ажиллахаар
|
||
хязгаарлагдсан байдаг.
|
||
Энэ тохиргоогоор серверийг ажиллуулахын тулд дараах тушаалыг өгөх хэрэгтэй:</para>
|
||
|
||
<screen>&prompt.root; <userinput>/etc/rc.d/named onestart</userinput></screen>
|
||
|
||
<para><application>named</application> дэмонг систем ачаалах үед
|
||
ажиллуулдаг болгохын тулд <filename>/etc/rc.conf</filename> дотор дараах мөрүүдийг нэмэх
|
||
хэрэгтэй:</para>
|
||
|
||
<programlisting>named_enable="YES"</programlisting>
|
||
|
||
<para>Мэдээж <filename>/etc/namedb/named.conf</filename> файл дотор
|
||
өөр олон тохируулгууд байгаа боловч энэ баримтын мэдлээс халих
|
||
тул энд дурдсангүй. Хэрэв &os; дээрх <application>named</application>-н эхлэл
|
||
тохируулгуудын талаар сонирхож байгаа бол <filename>/etc/defaults/rc.conf</filename>
|
||
дотор байгаа <literal>named_<replaceable>*</replaceable></literal> тугуудыг нэг ороод үзээрэй.
|
||
Мөн &man.rc.conf.5; заавар хуудаснаас тусламж авч болно. <xref linkend="configtuning-rcd">
|
||
хэсгийг уншихад илүүдэхгүй.</para>
|
||
</sect2>
|
||
|
||
<sect2>
|
||
<title>Тохиргооны файлууд</title>
|
||
|
||
<indexterm>
|
||
<primary>BIND</primary>
|
||
<secondary>тохиргооны файлууд</secondary>
|
||
</indexterm>
|
||
|
||
<para><application>named</application>-н тохиргооны файлууд нь
|
||
<filename class="directory">/etc/namedb</filename> директор дотор байрлах ба
|
||
хэрэв хялбар тайлагчаас өөр түвшинд ажиллах хэрэгтэй бол
|
||
ажиллуулахаасаа өмнө тохиргооны файлд засвар хийх хэрэгтэй.
|
||
Ихэнх тохиргоог энэ сан дотор гүйцэтгэнэ.</para>
|
||
|
||
<sect3>
|
||
<title><filename>/etc/namedb/named.conf</filename></title>
|
||
|
||
<programlisting>// $FreeBSD$
|
||
//
|
||
// Refer to the named.conf(5) and named(8) man pages, and the documentation
|
||
// in /usr/share/doc/bind9 for more details.
|
||
//
|
||
// If you are going to set up an authoritative server, make sure you
|
||
// understand the hairy details of how DNS works. Even with
|
||
// simple mistakes, you can break connectivity for affected parties,
|
||
// or cause huge amounts of useless Internet traffic.
|
||
|
||
options {
|
||
// Relative to the chroot directory, if any
|
||
directory "/etc/namedb";
|
||
pid-file "/var/run/named/pid";
|
||
dump-file "/var/dump/named_dump.db";
|
||
statistics-file "/var/stats/named.stats";
|
||
|
||
// If named is being used only as a local resolver, this is a safe default.
|
||
// For named to be accessible to the network, comment this option, specify
|
||
// the proper IP address, or delete this option.
|
||
listen-on { 127.0.0.1; };
|
||
|
||
// If you have IPv6 enabled on this system, uncomment this option for
|
||
// use as a local resolver. To give access to the network, specify
|
||
// an IPv6 address, or the keyword "any".
|
||
// listen-on-v6 { ::1; };
|
||
|
||
// These zones are already covered by the empty zones listed below.
|
||
// If you remove the related empty zones below, comment these lines out.
|
||
disable-empty-zone "255.255.255.255.IN-ADDR.ARPA";
|
||
disable-empty-zone "0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.IP6.ARPA";
|
||
disable-empty-zone "1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.IP6.ARPA";
|
||
|
||
// If you've got a DNS server around at your upstream provider, enter
|
||
// its IP address here, and enable the line below. This will make you
|
||
// benefit from its cache, thus reduce overall DNS traffic in the Internet.
|
||
/*
|
||
forwarders {
|
||
127.0.0.1;
|
||
};
|
||
*/
|
||
|
||
// If the 'forwarders' clause is not empty the default is to 'forward first'
|
||
// which will fall back to sending a query from your local server if the name
|
||
// servers in 'forwarders' do not have the answer. Alternatively you can
|
||
// force your name server to never initiate queries of its own by enabling the
|
||
// following line:
|
||
// forward only;
|
||
|
||
// If you wish to have forwarding configured automatically based on
|
||
// the entries in /etc/resolv.conf, uncomment the following line and
|
||
// set named_auto_forward=yes in /etc/rc.conf. You can also enable
|
||
// named_auto_forward_only (the effect of which is described above).
|
||
// include "/etc/namedb/auto_forward.conf";</programlisting>
|
||
|
||
<para>Тайлбар дээр хэлсэнчлэн
|
||
дээд гарцын түр тогтоогчоос хүртэхийн тулд
|
||
<literal>forwarders</literal>-г идэвхжүүлж болох юм.
|
||
Энгийн үед, нэрийн сервер нь хариултыг олтлоо давталттай байдлаар
|
||
хэд хэдэн нэрийн серверүүдээр дамжин асууна.
|
||
Энэ тохируулгыг идэвхжүүлснээр, дээд гарцынхаа нэрийн серверээс
|
||
(эсвэл зааж өгсөн нэрийн сервер) хамгийн түрүүнд асууж, энэ серверийн
|
||
түр санах ойд байгаа мэдээллээс хүртэхийг эрмэлзэнэ.
|
||
Хэрэв дээд гарцын нэрийн сервер нь олон асуулгад хариулдаг, хурдан үйлчилдэг
|
||
сервер байвал дээрх тохируулгыг идэвхжүүлсний үр ашиг гарна.</para>
|
||
|
||
<warning>
|
||
<para><hostid role="ipaddr">127.0.0.1</hostid> энд ажиллах<emphasis>гүй</emphasis>. Энэ
|
||
<acronym>IP</acronym> хаягийг өөрийн дээд гарцын нэрийн серверээр сольж бичнэ үү.</para>
|
||
</warning>
|
||
|
||
<programlisting> /*
|
||
Modern versions of BIND use a random UDP port for each outgoing
|
||
query by default in order to dramatically reduce the possibility
|
||
of cache poisoning. All users are strongly encouraged to utilize
|
||
this feature, and to configure their firewalls to accommodate it.
|
||
|
||
AS A LAST RESORT in order to get around a restrictive firewall
|
||
policy you can try enabling the option below. Use of this option
|
||
will significantly reduce your ability to withstand cache poisoning
|
||
attacks, and should be avoided if at all possible.
|
||
|
||
Replace NNNNN in the example with a number between 49160 and 65530.
|
||
*/
|
||
// query-source address * port NNNNN;
|
||
};
|
||
|
||
// If you enable a local name server, don't forget to enter 127.0.0.1
|
||
// first in your /etc/resolv.conf so this server will be queried.
|
||
// Also, make sure to enable it in /etc/rc.conf.
|
||
|
||
// The traditional root hints mechanism. Use this, OR the slave zones below.
|
||
zone "." { type hint; file "named.root"; };
|
||
|
||
/* Slaving the following zones from the root name servers has some
|
||
significant advantages:
|
||
1. Faster local resolution for your users
|
||
2. No spurious traffic will be sent from your network to the roots
|
||
3. Greater resilience to any potential root server failure/DDoS
|
||
|
||
On the other hand, this method requires more monitoring than the
|
||
hints file to be sure that an unexpected failure mode has not
|
||
incapacitated your server. Name servers that are serving a lot
|
||
of clients will benefit more from this approach than individual
|
||
hosts. Use with caution.
|
||
|
||
To use this mechanism, uncomment the entries below, and comment
|
||
the hint zone above.
|
||
*/
|
||
/*
|
||
zone "." {
|
||
type slave;
|
||
file "slave/root.slave";
|
||
masters {
|
||
192.5.5.241; // F.ROOT-SERVERS.NET.
|
||
};
|
||
notify no;
|
||
};
|
||
zone "arpa" {
|
||
type slave;
|
||
file "slave/arpa.slave";
|
||
masters {
|
||
192.5.5.241; // F.ROOT-SERVERS.NET.
|
||
};
|
||
notify no;
|
||
};
|
||
zone "in-addr.arpa" {
|
||
type slave;
|
||
file "slave/in-addr.arpa.slave";
|
||
masters {
|
||
192.5.5.241; // F.ROOT-SERVERS.NET.
|
||
};
|
||
notify no;
|
||
};
|
||
*/
|
||
|
||
/* Serving the following zones locally will prevent any queries
|
||
for these zones leaving your network and going to the root
|
||
name servers. This has two significant advantages:
|
||
1. Faster local resolution for your users
|
||
2. No spurious traffic will be sent from your network to the roots
|
||
*/
|
||
// RFC 1912
|
||
zone "localhost" { type master; file "master/localhost-forward.db"; };
|
||
zone "127.in-addr.arpa" { type master; file "master/localhost-reverse.db"; };
|
||
zone "255.in-addr.arpa" { type master; file "master/empty.db"; };
|
||
|
||
// RFC 1912-style zone for IPv6 localhost address
|
||
zone "0.ip6.arpa" { type master; file "master/localhost-reverse.db"; };
|
||
|
||
// "This" Network (RFCs 1912 and 3330)
|
||
zone "0.in-addr.arpa" { type master; file "master/empty.db"; };
|
||
|
||
// Private Use Networks (RFC 1918)
|
||
zone "10.in-addr.arpa" { type master; file "master/empty.db"; };
|
||
zone "16.172.in-addr.arpa" { type master; file "master/empty.db"; };
|
||
zone "17.172.in-addr.arpa" { type master; file "master/empty.db"; };
|
||
zone "18.172.in-addr.arpa" { type master; file "master/empty.db"; };
|
||
zone "19.172.in-addr.arpa" { type master; file "master/empty.db"; };
|
||
zone "20.172.in-addr.arpa" { type master; file "master/empty.db"; };
|
||
zone "21.172.in-addr.arpa" { type master; file "master/empty.db"; };
|
||
zone "22.172.in-addr.arpa" { type master; file "master/empty.db"; };
|
||
zone "23.172.in-addr.arpa" { type master; file "master/empty.db"; };
|
||
zone "24.172.in-addr.arpa" { type master; file "master/empty.db"; };
|
||
zone "25.172.in-addr.arpa" { type master; file "master/empty.db"; };
|
||
zone "26.172.in-addr.arpa" { type master; file "master/empty.db"; };
|
||
zone "27.172.in-addr.arpa" { type master; file "master/empty.db"; };
|
||
zone "28.172.in-addr.arpa" { type master; file "master/empty.db"; };
|
||
zone "29.172.in-addr.arpa" { type master; file "master/empty.db"; };
|
||
zone "30.172.in-addr.arpa" { type master; file "master/empty.db"; };
|
||
zone "31.172.in-addr.arpa" { type master; file "master/empty.db"; };
|
||
zone "168.192.in-addr.arpa" { type master; file "master/empty.db"; };
|
||
|
||
// Link-local/APIPA (RFCs 3330 and 3927)
|
||
zone "254.169.in-addr.arpa" { type master; file "master/empty.db"; };
|
||
|
||
// TEST-NET for Documentation (RFC 3330)
|
||
zone "2.0.192.in-addr.arpa" { type master; file "master/empty.db"; };
|
||
|
||
// Router Benchmark Testing (RFC 3330)
|
||
zone "18.198.in-addr.arpa" { type master; file "master/empty.db"; };
|
||
zone "19.198.in-addr.arpa" { type master; file "master/empty.db"; };
|
||
|
||
// IANA Reserved - Old Class E Space
|
||
zone "240.in-addr.arpa" { type master; file "master/empty.db"; };
|
||
zone "241.in-addr.arpa" { type master; file "master/empty.db"; };
|
||
zone "242.in-addr.arpa" { type master; file "master/empty.db"; };
|
||
zone "243.in-addr.arpa" { type master; file "master/empty.db"; };
|
||
zone "244.in-addr.arpa" { type master; file "master/empty.db"; };
|
||
zone "245.in-addr.arpa" { type master; file "master/empty.db"; };
|
||
zone "246.in-addr.arpa" { type master; file "master/empty.db"; };
|
||
zone "247.in-addr.arpa" { type master; file "master/empty.db"; };
|
||
zone "248.in-addr.arpa" { type master; file "master/empty.db"; };
|
||
zone "249.in-addr.arpa" { type master; file "master/empty.db"; };
|
||
zone "250.in-addr.arpa" { type master; file "master/empty.db"; };
|
||
zone "251.in-addr.arpa" { type master; file "master/empty.db"; };
|
||
zone "252.in-addr.arpa" { type master; file "master/empty.db"; };
|
||
zone "253.in-addr.arpa" { type master; file "master/empty.db"; };
|
||
zone "254.in-addr.arpa" { type master; file "master/empty.db"; };
|
||
|
||
// IPv6 Unassigned Addresses (RFC 4291)
|
||
zone "1.ip6.arpa" { type master; file "master/empty.db"; };
|
||
zone "3.ip6.arpa" { type master; file "master/empty.db"; };
|
||
zone "4.ip6.arpa" { type master; file "master/empty.db"; };
|
||
zone "5.ip6.arpa" { type master; file "master/empty.db"; };
|
||
zone "6.ip6.arpa" { type master; file "master/empty.db"; };
|
||
zone "7.ip6.arpa" { type master; file "master/empty.db"; };
|
||
zone "8.ip6.arpa" { type master; file "master/empty.db"; };
|
||
zone "9.ip6.arpa" { type master; file "master/empty.db"; };
|
||
zone "a.ip6.arpa" { type master; file "master/empty.db"; };
|
||
zone "b.ip6.arpa" { type master; file "master/empty.db"; };
|
||
zone "c.ip6.arpa" { type master; file "master/empty.db"; };
|
||
zone "d.ip6.arpa" { type master; file "master/empty.db"; };
|
||
zone "e.ip6.arpa" { type master; file "master/empty.db"; };
|
||
zone "0.f.ip6.arpa" { type master; file "master/empty.db"; };
|
||
zone "1.f.ip6.arpa" { type master; file "master/empty.db"; };
|
||
zone "2.f.ip6.arpa" { type master; file "master/empty.db"; };
|
||
zone "3.f.ip6.arpa" { type master; file "master/empty.db"; };
|
||
zone "4.f.ip6.arpa" { type master; file "master/empty.db"; };
|
||
zone "5.f.ip6.arpa" { type master; file "master/empty.db"; };
|
||
zone "6.f.ip6.arpa" { type master; file "master/empty.db"; };
|
||
zone "7.f.ip6.arpa" { type master; file "master/empty.db"; };
|
||
zone "8.f.ip6.arpa" { type master; file "master/empty.db"; };
|
||
zone "9.f.ip6.arpa" { type master; file "master/empty.db"; };
|
||
zone "a.f.ip6.arpa" { type master; file "master/empty.db"; };
|
||
zone "b.f.ip6.arpa" { type master; file "master/empty.db"; };
|
||
zone "0.e.f.ip6.arpa" { type master; file "master/empty.db"; };
|
||
zone "1.e.f.ip6.arpa" { type master; file "master/empty.db"; };
|
||
zone "2.e.f.ip6.arpa" { type master; file "master/empty.db"; };
|
||
zone "3.e.f.ip6.arpa" { type master; file "master/empty.db"; };
|
||
zone "4.e.f.ip6.arpa" { type master; file "master/empty.db"; };
|
||
zone "5.e.f.ip6.arpa" { type master; file "master/empty.db"; };
|
||
zone "6.e.f.ip6.arpa" { type master; file "master/empty.db"; };
|
||
zone "7.e.f.ip6.arpa" { type master; file "master/empty.db"; };
|
||
|
||
// IPv6 ULA (RFC 4193)
|
||
zone "c.f.ip6.arpa" { type master; file "master/empty.db"; };
|
||
zone "d.f.ip6.arpa" { type master; file "master/empty.db"; };
|
||
|
||
// IPv6 Link Local (RFC 4291)
|
||
zone "8.e.f.ip6.arpa" { type master; file "master/empty.db"; };
|
||
zone "9.e.f.ip6.arpa" { type master; file "master/empty.db"; };
|
||
zone "a.e.f.ip6.arpa" { type master; file "master/empty.db"; };
|
||
zone "b.e.f.ip6.arpa" { type master; file "master/empty.db"; };
|
||
|
||
// IPv6 Deprecated Site-Local Addresses (RFC 3879)
|
||
zone "c.e.f.ip6.arpa" { type master; file "master/empty.db"; };
|
||
zone "d.e.f.ip6.arpa" { type master; file "master/empty.db"; };
|
||
zone "e.e.f.ip6.arpa" { type master; file "master/empty.db"; };
|
||
zone "f.e.f.ip6.arpa" { type master; file "master/empty.db"; };
|
||
|
||
// IP6.INT is Deprecated (RFC 4159)
|
||
zone "ip6.int" { type master; file "master/empty.db"; };
|
||
|
||
// NB: Do not use the IP addresses below, they are faked, and only
|
||
// serve demonstration/documentation purposes!
|
||
//
|
||
// Example slave zone config entries. It can be convenient to become
|
||
// a slave at least for the zone your own domain is in. Ask
|
||
// your network administrator for the IP address of the responsible
|
||
// master name server.
|
||
//
|
||
// Do not forget to include the reverse lookup zone!
|
||
// This is named after the first bytes of the IP address, in reverse
|
||
// order, with ".IN-ADDR.ARPA" appended, or ".IP6.ARPA" for IPv6.
|
||
//
|
||
// Before starting to set up a master zone, make sure you fully
|
||
// understand how DNS and BIND work. There are sometimes
|
||
// non-obvious pitfalls. Setting up a slave zone is usually simpler.
|
||
//
|
||
// NB: Don't blindly enable the examples below. :-) Use actual names
|
||
// and addresses instead.
|
||
|
||
/* An example dynamic zone
|
||
key "exampleorgkey" {
|
||
algorithm hmac-md5;
|
||
secret "sf87HJqjkqh8ac87a02lla==";
|
||
};
|
||
zone "example.org" {
|
||
type master;
|
||
allow-update {
|
||
key "exampleorgkey";
|
||
};
|
||
file "dynamic/example.org";
|
||
};
|
||
*/
|
||
|
||
/* Example of a slave reverse zone
|
||
zone "1.168.192.in-addr.arpa" {
|
||
type slave;
|
||
file "slave/1.168.192.in-addr.arpa";
|
||
masters {
|
||
192.168.1.1;
|
||
};
|
||
};
|
||
*/</programlisting>
|
||
|
||
<para><filename>named.conf</filename> доторх эдгээр жишээнүүд нь
|
||
ердийн болон урвуу бүсийн зарц бүртгэлүүд болно.</para>
|
||
|
||
<para>Шинэ бүс нэмэхдээ, <filename>named.conf</filename> файл дотор шинэ бүртгэл
|
||
оруулах хэрэгтэй.</para>
|
||
|
||
<para>Жишээ нь, <hostid role="domainname">example.org</hostid> домэйны хувьд
|
||
хамгийн хялбар бүртгэл дараах байдалтай байна:</para>
|
||
|
||
<programlisting>zone "example.org" {
|
||
type master;
|
||
file "master/example.org";
|
||
};</programlisting>
|
||
|
||
<para>Энэ бүс нь эзэн бүс болохыг <option>type</option> илэрхийллээс харж болно.
|
||
Мөн бүсийн мэдээллийг <filename>/etc/namedb/master/example.org</filename> файл дотор агуулж байгааг
|
||
<option>file</option> илэрхийллээс харж болно.</para>
|
||
|
||
<programlisting>zone "example.org" {
|
||
type slave;
|
||
file "slave/example.org";
|
||
};</programlisting>
|
||
|
||
<para>Зарц бүсийн хувьд, тухайн бүсийн хувьд бүсийн мэдээлэл
|
||
эзэн нэрийн серверээс зөөгдөж ирэх ба зааж өгсөн файлд хадгалагдана.
|
||
Эзэн сервер унтарсан эсвэл холбоо тогтоох боломжгүй болбол,
|
||
зарц нэрийн серверт бүсийн мэдээлэл байгаа тул асуулгуудад хариулах
|
||
чадвартай байна.</para>
|
||
</sect3>
|
||
|
||
<sect3>
|
||
<title>Бүсийн Файлууд</title>
|
||
<indexterm>
|
||
<primary>BIND</primary>
|
||
<secondary>бүсийн файлууд</secondary>
|
||
</indexterm>
|
||
|
||
<para><hostid role="domainname">example.org</hostid> домэйны хувьд жишээ эзэн бүсийн файлыг
|
||
дор үзүүлэв (<filename>/etc/namedb/master/example.org</filename> файл):</para>
|
||
|
||
<programlisting>$TTL 3600 ; 1 hour default TTL
|
||
example.org. IN SOA ns1.example.org. admin.example.org. (
|
||
2006051501 ; Serial
|
||
10800 ; Refresh
|
||
3600 ; Retry
|
||
604800 ; Expire
|
||
300 ; Negative Reponse TTL
|
||
)
|
||
|
||
; DNS Servers
|
||
IN NS ns1.example.org.
|
||
IN NS ns2.example.org.
|
||
|
||
; MX Records
|
||
IN MX 10 mx.example.org.
|
||
IN MX 20 mail.example.org.
|
||
|
||
IN A 192.168.1.1
|
||
|
||
; Machine Names
|
||
localhost IN A 127.0.0.1
|
||
ns1 IN A 192.168.1.2
|
||
ns2 IN A 192.168.1.3
|
||
mx IN A 192.168.1.4
|
||
mail IN A 192.168.1.5
|
||
|
||
; Aliases
|
||
www IN CNAME example.org.</programlisting>
|
||
|
||
<para><quote>.</quote> тэмдэгтээр төгссөн хост нэрүүд нь жинхэнэ хост нэрүүд бөгөөд
|
||
<quote>.</quote> тэмдэгтээр төгсөөгүй нэрүүдэд үүсэл залгагдахыг анхаарна уу.
|
||
Жишээлбэл, <literal>ns1</literal> нь <literal>ns1.<replaceable>example.org.</replaceable></literal>-руу
|
||
хөрвүүлэгдэх болно.</para>
|
||
|
||
<para>Бүсийн файл дараах хэлбэртэй байна:</para>
|
||
<programlisting>recordname IN recordtype value</programlisting>
|
||
|
||
<indexterm>
|
||
<primary>DNS</primary>
|
||
<secondary>бичлэгүүд</secondary>
|
||
</indexterm>
|
||
<para>Хамгийн өргөн хэрэглэгддэг DNS бичлэгүүд:</para>
|
||
|
||
<variablelist>
|
||
<varlistentry>
|
||
<term>SOA</term>
|
||
|
||
<listitem><para>start of zone authority буюу бүсийн бүрэн эрхт мэдээллийн эхлэл</para></listitem>
|
||
</varlistentry>
|
||
|
||
<varlistentry>
|
||
<term>NS</term>
|
||
|
||
<listitem><para>бүрэн эрхт нэрийн сервер</para></listitem>
|
||
</varlistentry>
|
||
|
||
<varlistentry>
|
||
<term>A</term>
|
||
|
||
<listitem><para>хостын хаяг</para></listitem>
|
||
</varlistentry>
|
||
|
||
<varlistentry>
|
||
<term>CNAME</term>
|
||
|
||
<listitem><para>хуурамч дүрд өгөх хүлээн зөвшөөрөгдсөн нэр</para></listitem>
|
||
</varlistentry>
|
||
|
||
<varlistentry>
|
||
<term>MX</term>
|
||
|
||
<listitem><para>захидал солилцогч</para></listitem>
|
||
</varlistentry>
|
||
|
||
<varlistentry>
|
||
<term>PTR</term>
|
||
|
||
<listitem><para>домэйн нэрийг заагч (урвуу DNS-д хэрэглэнэ)
|
||
</para></listitem>
|
||
</varlistentry>
|
||
</variablelist>
|
||
|
||
<programlisting>example.org. IN SOA ns1.example.org. admin.example.org. (
|
||
2006051501 ; Serial
|
||
10800 ; Refresh after 3 hours
|
||
3600 ; Retry after 1 hour
|
||
604800 ; Expire after 1 week
|
||
300 ) ; Negative Reponse TTL</programlisting>
|
||
|
||
<variablelist>
|
||
<varlistentry>
|
||
<term><hostid role="domainname">example.org.</hostid></term>
|
||
|
||
<listitem>
|
||
<para>домэйн нэр, мөн энэ бүсийн файлын хувьд үүсэл
|
||
болно.</para>
|
||
</listitem>
|
||
</varlistentry>
|
||
|
||
<varlistentry>
|
||
<term><hostid role="fqdn">ns1.example.org.</hostid></term>
|
||
|
||
<listitem>
|
||
<para>энэ бүсийн гол/бүрэн эрхт нэрийн
|
||
сервер.</para>
|
||
</listitem>
|
||
</varlistentry>
|
||
|
||
<varlistentry>
|
||
<term><literal>admin.example.org.</literal></term>
|
||
|
||
<listitem>
|
||
<para>энэ бүсийг хариуцагч хүн, <quote>@</quote> тэмдэгтийг нь
|
||
орлуулсан цахим захидлын хаяг.
|
||
(<email>admin@example.org</email> нь <literal>admin.example.org</literal> болно)</para>
|
||
</listitem>
|
||
</varlistentry>
|
||
|
||
<varlistentry>
|
||
<term><literal>2006051501</literal></term>
|
||
|
||
<listitem>
|
||
<para>Файлын сериал дугаар. Бүсийн файлд өөрчлөлт оруулах болгонд
|
||
энэ дугаарыг нэмэгдүүлэх шаардлагатай. Одоо цагт ихэнх админууд энэ сериал дугаарыг
|
||
<literal>yyyymmddrr</literal> хэлбэрээр хэрэглэх болсон. <literal>2006051501</literal> гэдэг нь
|
||
хамгийн сүүлд 05/15/2006-нд засвар хийсэн, хамгийн сүүлийн <literal>01</literal> гэдэг нь
|
||
энэ өдөр хийгдсэн хамгийн анхны засвар гэдгийг илтгэнэ. Энэ сериал дугаар
|
||
нь зарц серверүүдэд бүсийн мэдээлэл өөрчлөгдсөн талаар мэдээлэл өгдөг тул их чухал зүйл
|
||
байгаа юм.</para>
|
||
</listitem>
|
||
</varlistentry>
|
||
</variablelist>
|
||
|
||
<programlisting> IN NS ns1.example.org.</programlisting>
|
||
|
||
<para>Энэ бол NS бичлэг. Тухайн бүсийн хувьд бүрэн эрхт хариултыг
|
||
өгч чадах сервер бүрийн хувьд энэ бичлэг байх ёстой.</para>
|
||
|
||
<programlisting>localhost IN A 127.0.0.1
|
||
ns1 IN A 192.168.1.2
|
||
ns2 IN A 192.168.1.3
|
||
mx IN A 192.168.1.4
|
||
mail IN A 192.168.1.5</programlisting>
|
||
|
||
<para>A бичлэг нь машины нэрийг заана. Дээр үзүүлсэнчлэн,
|
||
<hostid role="fqdn">ns1.example.org</hostid> нь <hostid role="ipaddr">192.168.1.2</hostid>-руу буулгагдана.
|
||
</para>
|
||
|
||
<programlisting> IN A 192.168.1.1</programlisting>
|
||
|
||
<para>Энэ мөр нь <hostid role="ipaddr">192.168.1.1</hostid> гэсэн IP хаягийг
|
||
үүсэлд оноож байна, бидний жишээн дээр <hostid role="domainname">example.org</hostid>.</para>
|
||
|
||
<programlisting>www IN CNAME @</programlisting>
|
||
|
||
<para>Хүлээн зөвшөөрөгдсөн нэрийн бичлэг нь машинд хуурамч дүр
|
||
өгөхөд хэрэглэгдэнэ. Энэ жишээн дээр, <hostid>www</hostid> нь
|
||
<hostid role="domainname">example.org</hostid> (<hostid role="ipaddr">192.168.1.1</hostid>) гэсэн домэйн нэртэй
|
||
<quote>master</quote> машины хуурамч дүрийн нэр юм. CNAME-г тухайн хостын нэрийн хувьд
|
||
өөр төрлийн бичлэгтэй хэзээ ч цуг хэрэглэж болохгүй.</para>
|
||
|
||
<indexterm>
|
||
<primary>MX бичлэг</primary>
|
||
</indexterm>
|
||
|
||
<programlisting> IN MX 10 mail.example.org.</programlisting>
|
||
|
||
<para>MX бичлэг нь аль захидлын серверүүд тухайн бүсийн захидлыг
|
||
хүлээж авах үүрэгтэй болохыг зааж өгнө. <hostid role="fqdn">mail.example.org</hostid>
|
||
нь захидлын серверийн хост нэр бөгөөд 10 нь энэ захидлын серверийн
|
||
зэрэглэлийг зааж байна.</para>
|
||
|
||
<para>Нэг бүсэд 10, 20 гэх мэт ялгаатай зэрэглэлтэй
|
||
хэд хэдэн захидлын сервер байж болно. <hostid role="domainname">example.org</hostid>
|
||
домэйн руу захидал явуулах гэж байгаа сервер эхлээд
|
||
хамгийн өндөр зэрэглэлтэй MX сервертэй (хамгийн бага зэрэглэлийн дугаартай), дараа нь дараагийн хамгийн өндөр зэрэглэлтэй
|
||
сервертэй гэх мэтчилэн захидлыг явуулж чадтал дарааллаар нь холбоо тогтооно.</para>
|
||
|
||
<para>in-addr.arpa бүсийн файл (урвуу DNS) нь ижил хэлбэртэй байна. Ганцхан ялгаа нь
|
||
A болон CNAME бичлэгийн оронд PTR бичлэгийг хэрэглэнэ.
|
||
</para>
|
||
|
||
<programlisting>$TTL 3600
|
||
|
||
1.168.192.in-addr.arpa. IN SOA ns1.example.org. admin.example.org. (
|
||
2006051501 ; Serial
|
||
10800 ; Refresh
|
||
3600 ; Retry
|
||
604800 ; Expire
|
||
300 ) ; Negative Reponse TTL
|
||
|
||
IN NS ns1.example.org.
|
||
IN NS ns2.example.org.
|
||
|
||
1 IN PTR example.org.
|
||
2 IN PTR ns1.example.org.
|
||
3 IN PTR ns2.example.org.
|
||
4 IN PTR mx.example.org.
|
||
5 IN PTR mail.example.org.</programlisting>
|
||
|
||
<para>Энэ файлд, жишээ домэйны IP-с хост нэр рүү буулгасан
|
||
зохих шаардлагатай буулгалтуудыг үзүүлсэн байна.</para>
|
||
|
||
<para>PTR бичлэгийн баруун талын бүх нэрс төгссөн байх
|
||
ёстой (өөрөөр хэлбэл <quote>.</quote>-ээр төгссөн
|
||
байна).</para>
|
||
</sect3>
|
||
</sect2>
|
||
|
||
<sect2>
|
||
<title>Түр тогтоогч Нэрийн Сервер (Caching Name Server)</title>
|
||
<indexterm>
|
||
<primary>BIND</primary>
|
||
<secondary>түр тогтоогч нэрийн сервер</secondary>
|
||
</indexterm>
|
||
|
||
<para>Түр тогтоогч нэрийн сервер гэдэг нь
|
||
рекурсив хүсэлтэд хариу өгөх гол үүрэгтэй нэрийн серверийг хэлнэ.
|
||
Ийм төрлийн сервер нь зөвхөн асуулга явуулах бөгөөд
|
||
хариултыг дараа хэрэглэхээр тогтоож авдаг.</para>
|
||
</sect2>
|
||
|
||
<sect2>
|
||
<title>Аюулгүй байдал</title>
|
||
|
||
<para>Хэдийгээр BIND нь хамгийн өргөн хэрэглэгддэг DNS сервер боловч,
|
||
аюулгүй байдалтай холбоотой асуудлууд байнга тулгардаг.
|
||
Гадны халдлагад өртөж болзошгүй аюулгүй байдлын цоорхой заримдаа
|
||
олддог.</para>
|
||
|
||
<para>Хэдийгээр &os; <application>named</application>-г автоматаар &man.chroot.8; орчинд
|
||
оруулдаг боловч; <acronym>DNS</acronym> халдлагад ашиглаж болохуйц
|
||
хэд хэдэн механизмууд байсаар байна.</para>
|
||
|
||
<para><ulink url="http://www.cert.org/">CERT</ulink>-с гаргадаг аюулгүй байдлын
|
||
санамжуудыг уншихыг зөвлөж байна. Мөн &a.security-notifications;-д бүртгүүлж,
|
||
шинээр гарч байгаа Интернэт болон &os;-н аюулгүй байдлын асуудлуудын
|
||
талаар мэдээлэлтэй байхыг зөвлөе.</para>
|
||
|
||
<tip>
|
||
<para>Хэрэв ямар нэгэн асуудал тулгарвал,
|
||
эхийг байнга шинэчилж, <application>named</application>-г шинээр бүтээх нь алдаа болохгүй.</para>
|
||
</tip>
|
||
</sect2>
|
||
|
||
<sect2>
|
||
<title>Гүнзгийрүүлэн унших</title>
|
||
|
||
<para>BIND/<application>named</application> заавар хуудсууд:
|
||
&man.rndc.8; &man.named.8; &man.named.conf.5;</para>
|
||
|
||
<itemizedlist>
|
||
<listitem>
|
||
<para><ulink
|
||
url="https://www.isc.org/software/bind">ISC BIND-н Албан ёсны Хуудас</ulink></para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para><ulink
|
||
url="https://www.isc.org/software/guild">ISC BIND-н Албан ёсны Хэлэлцүүлэг</ulink></para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para><ulink url="http://www.oreilly.com/catalog/dns5/">O'Reilly
|
||
"DNS ба BIND" 5 дахь Хэвлэлт</ulink></para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para><ulink
|
||
url="http://www.rfc-editor.org/rfc/rfc1034.txt">RFC1034
|
||
- Домэйн Нэрүүд - Зарчмууд болон Боломжууд</ulink></para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para><ulink
|
||
url="http://www.rfc-editor.org/rfc/rfc1035.txt">RFC1035
|
||
- Домэйн Нэрүүд - Хэрэгжүүлэлт болон Үзүүлэлтүүд</ulink></para>
|
||
</listitem>
|
||
</itemizedlist>
|
||
</sect2>
|
||
</sect1>
|
||
|
||
<sect1 id="network-apache">
|
||
<sect1info>
|
||
<authorgroup>
|
||
<author>
|
||
<firstname>Мюррей</firstname>
|
||
<surname>Стөүкли</surname>
|
||
<contrib>Хувь нэмрээ оруулсан </contrib>
|
||
</author>
|
||
</authorgroup>
|
||
<authorgroup>
|
||
<author>
|
||
<firstname>Лодойсамбын</firstname>
|
||
<surname>Баянзул</surname>
|
||
<contrib>Орчуулсан </contrib>
|
||
</author>
|
||
</authorgroup>
|
||
</sect1info>
|
||
<title>Apache HTTP Сервер</title>
|
||
|
||
<indexterm><primary>вэб серверүүд</primary>
|
||
<secondary>зохион байгуулах</secondary></indexterm>
|
||
<indexterm><primary>Apache</primary></indexterm>
|
||
|
||
<sect2>
|
||
<title>Удиртгал</title>
|
||
|
||
<para>Дэлхийн хамгийн их ачаалалтай ажилладаг
|
||
зарим вэб сайтууд &os; дээр ажилладаг. Интернэтэд ажиллаж байгаа
|
||
вэб серверүүдийн олонхи нь <application>Apache HTTP Сервер</application>ийг ашиглаж
|
||
байна. <application>Apache</application> програм хангамжийн багц таны FreeBSD суулгах дискэнд
|
||
орсон байгаа. Хэрэв та &os;-г анх суулгахдаа <application>Apache</application>-г хамт
|
||
суулгаагүй бол <filename role="package">www/apache13</filename> эсвэл <filename role="package">www/apache20</filename>
|
||
портоос суулгаж болно.</para>
|
||
|
||
<para><application>Apache</application> нэгэнт амжилттай суусан бол түүнийг тохируулах
|
||
шаардлагатай.</para>
|
||
|
||
<note><para><application>Apache HTTP Server</application>-н 1.3.X хувилбар нь
|
||
&os;-д хамгийн өргөн хэрэглэгддэг тул бид энэ хэсэгт энэ хувилбарыг үзэх болно.
|
||
<application>Apache</application> 2.X-д олон шинэ технологи нэвтэрсэн боловч
|
||
бид энэ талаар энд үзэхгүй. <application>Apache</application> 2.X-н талаар
|
||
дэлгэрэнгүй мэдээллийг <ulink url="http://httpd.apache.org/"></ulink> хаягаар орж үзнэ үү.</para></note>
|
||
|
||
</sect2>
|
||
|
||
<sect2>
|
||
<title>Тохиргоо</title>
|
||
|
||
<indexterm><primary>Apache</primary>
|
||
<secondary>тохиргооны файл</secondary></indexterm>
|
||
|
||
<para>&os; дээрх <application>Apache HTTP Сервер</application>ийн гол тохиргооны файл
|
||
бол <filename>/usr/local/etc/apache/httpd.conf</filename> юм. Энэ файлд,
|
||
&unix;-н текст тохиргооны файлын нэгэн адил тайлбар мөрүүдийн өмнө
|
||
<literal>#</literal> тэмдэгтийг хэрэглэдэг. Бүх боломжит тохируулгуудын
|
||
талаар дэлгэрүүлж тайлбарлах нь энэ номын хүрээнээс халих тул,
|
||
хамгийн их өөрчлөлт хийгддэг директивүүдийг энд авч үзье.</para>
|
||
|
||
<variablelist>
|
||
<varlistentry>
|
||
<term><literal>ServerRoot "/usr/local"</literal></term>
|
||
|
||
<listitem>
|
||
<para>Энэ директив <application>Apache</application> суулгацын
|
||
анхдагч директор шатлалын эхийг зааж өгнө. Хоёртын файлууд
|
||
серверийн эх директорын
|
||
<filename class="directory">bin</filename> ба <filename class="directory">sbin</filename> дэд директоруудад,
|
||
тохиргооны файлууд <filename class="directory">etc/apache</filename> дэд директорт байрлана.</para>
|
||
</listitem>
|
||
</varlistentry>
|
||
|
||
<varlistentry>
|
||
<term><literal>ServerAdmin you@your.address</literal></term>
|
||
|
||
<listitem>
|
||
<para>Сервертэй холбоотой асуудлуудын талаар
|
||
илгээх цахим захидлын хаягийг заана. Энэ хаяг алдааны хуудсууд гэх зэрэг
|
||
сервер талаас автоматаар үүсгэгддэг зарим хуудсууд дээр
|
||
бичигдэх болно.</para>
|
||
</listitem>
|
||
</varlistentry>
|
||
|
||
<varlistentry>
|
||
<term><literal>ServerName www.example.com</literal></term>
|
||
|
||
<listitem>
|
||
<para><literal>ServerName</literal> нь хост дээр тохируулагдсан хост нэрээс
|
||
өөр нэрийг сервертээ өгөх боломжийг танд олгоно (өөрөөр хэлбэл, хостын жинхэнэ
|
||
хост нэрийн оронд <hostid>www</hostid>-г хэрэглэх). Энэ нэрээр таны сервер харилцагч
|
||
нартай харилцах болно.</para>
|
||
</listitem>
|
||
</varlistentry>
|
||
|
||
<varlistentry>
|
||
<term><literal>DocumentRoot "/usr/local/www/data"</literal></term>
|
||
|
||
<listitem>
|
||
<para><literal>DocumentRoot</literal>: Энэ директорт байгаа вэб баримтуудыг
|
||
харилцагч нарт үзүүлэх болно. Анхдагч байдлаар, бүх хүсэлтүүд энэ
|
||
директорт өгөгдөнө. Гэвч симбол холбоосууд болон хуурамч дүрүүдийг
|
||
ашиглан өөр газар руу зааж өгч болно.</para>
|
||
</listitem>
|
||
</varlistentry>
|
||
</variablelist>
|
||
|
||
<para><application>Apache</application>-н тохиргооны файлд ямар нэг
|
||
өөрчлөлт хийхээсээ өмнө нөөц хуулбарыг авч үлдэхээ мартуузай.
|
||
Тохиргоо хийж дууссан бол одоо <application>Apache</application>-г ажиллуулах
|
||
хэрэгтэй.</para>
|
||
|
||
<!-- sect3 for performance tuning directives? maxservers minservers -->
|
||
<!-- etc..?? -->
|
||
|
||
<!-- Advanced configuration section.
|
||
|
||
Performance tuning directives.
|
||
|
||
Log file format -->
|
||
|
||
</sect2>
|
||
|
||
<sect2>
|
||
<title><application>Apache</application>-г ажиллуулах нь</title>
|
||
|
||
<indexterm><primary>Apache</primary>
|
||
<secondary>эхлүүлэх ба зогсоох</secondary></indexterm>
|
||
|
||
<para>Бусад олон сүлжээний орчны серверүүд
|
||
<application>inetd</application> супер серверээс ажилладаг бол,
|
||
<application>Apache</application> тэгдэггүй. Харилцагч вэб хөтчүүдээс
|
||
ирэх HTTP хүсэлтүүдэд хариулахдаа илүү өндөр үзүүлэлттэй ажиллуулахын тулд
|
||
түүнийг бие даан ажилладаг байхаар тохируулсан байдаг.
|
||
Эхлүүлэх, зогсоох болон дахин эхлүүлэх зэрэг үйлдлийг
|
||
аль болох хялбар болгохын тулд бүрхүүлийн скрипт хялбаршуулагч
|
||
хамт ирдэг. <application>Apache</application>-г анх удаа эхлүүлэхийн тулд, дараах
|
||
тушаалыг өгнө:</para>
|
||
|
||
<screen>&prompt.root; <userinput>/usr/local/sbin/apachectl start</userinput></screen>
|
||
|
||
<para>Хүссэн үедээ серверийг дараах тушаалаар зогсооно:</para>
|
||
|
||
<screen>&prompt.root; <userinput>/usr/local/sbin/apachectl stop</userinput></screen>
|
||
|
||
<para>Тохиргооны файлд өөрчлөлт оруулсны дараа,
|
||
серверийг дахин эхлүүлэх шаардлагатай:</para>
|
||
|
||
<screen>&prompt.root; <userinput>/usr/local/sbin/apachectl restart</userinput></screen>
|
||
|
||
<para>Тогтсон холболтуудыг таслалгүйгээр <application>Apache</application>-г
|
||
дахин эхлүүлэхийн тулд дараах тушаалыг өгнө:</para>
|
||
|
||
<screen>&prompt.root; <userinput>/usr/local/sbin/apachectl graceful</userinput></screen>
|
||
|
||
<para>Нэмэлт мэдээллийг &man.apachectl.8; заавар хуудаснаас авна уу.</para>
|
||
|
||
<para>Систем ачаалах үед <application>Apache</application>-г эхлүүлэхийн тулд
|
||
дараах мөрүүдийг <filename>/etc/rc.conf</filename> файлд нэмж бичнэ:</para>
|
||
|
||
<programlisting>apache_enable="YES"</programlisting>
|
||
|
||
<para>буюу эсвэл <application>Apache</application> 2.2-ийн хувьд:</para>
|
||
|
||
<programlisting>apache22_enable="YES"</programlisting>
|
||
|
||
<para>Хэрэв систем ачаалах үед эхэлдэг <application>Apache</application>
|
||
<command>httpd</command> програмд нэмэлт тушаалын мөрний тохируулгуудыг
|
||
оруулах хүсэлтэй бол, дараах мөрийг мөн <filename>rc.conf</filename> файлд
|
||
нэмэх хэрэгтэй:</para>
|
||
|
||
<programlisting>apache_flags=""</programlisting>
|
||
|
||
<para>Одоо таны вэб сервер ажиллаж байна.
|
||
Та өөрийн вэб сайтыг вэб хөтөч дээрээ <literal>http://localhost/</literal>
|
||
хаягийг оруулан харж болно. Энд гарах анхдагч вэб хуудас бол
|
||
<filename>/usr/local/www/data/index.html</filename> юм.</para>
|
||
|
||
</sect2>
|
||
|
||
<sect2>
|
||
<title>Давхар байршуулалт</title>
|
||
|
||
<para><application>Apache</application> нь хоёр төрлийн давхар
|
||
байршуулах үйлчилгээг дэмждэг. Эхнийх нь
|
||
нэр дээр үндэслэсэн давхар байршуулалт юм.
|
||
Нэр дээр үндэслэсэн давхар байршуулалт дээр
|
||
хост нэрийг ялгаж мэдэхдээ харилцагчийн HTTP/1.1 толгойн хэсгийг ашигладаг.
|
||
Иим байдлаар олон өөр домэйнууд нэг IP хаягийг хуваан хэрэглэх
|
||
боломжтой болдог.</para>
|
||
|
||
<para><application>Apache</application> дээр, нэр дээр үндэслэсэн
|
||
давхар байршуулалтыг хэрэглэхийн тулд
|
||
доор дурдсантай төстэй бүртгэлийг <filename>httpd.conf</filename>
|
||
файл дотор нэмж бичих хэрэгтэй:</para>
|
||
|
||
<programlisting>NameVirtualHost *</programlisting>
|
||
|
||
<para>Таны вэб серверийн нэр <hostid role="fqdn">www.domain.tld</hostid>
|
||
бөгөөд <hostid role="fqdn">www.someotherdomain.tld</hostid> нэртэй домэйныг
|
||
давхар байршуулах хүсэлтэй бол, та дараах бүртгэлийг
|
||
<filename>httpd.conf</filename> файлд нэмэх хэрэгтэй болно:</para>
|
||
|
||
<screen><VirtualHost *>
|
||
ServerName www.domain.tld
|
||
DocumentRoot /www/domain.tld
|
||
</VirtualHost>
|
||
|
||
<VirtualHost *>
|
||
ServerName www.someotherdomain.tld
|
||
DocumentRoot /www/someotherdomain.tld
|
||
</VirtualHost></screen>
|
||
|
||
<para>Дээрх хаягуудын оронд хэрэгтэй хаягуудыг, замуудын оронд
|
||
баримтууд байгаа зохих замуудыг сольж бичнэ үү.</para>
|
||
|
||
<para>Давхар хостуудыг зохион байгуулах талаар
|
||
дэлгэрэнгүй мэдээллийг <application>Apache</application>-н албан ёсны баримтжуулалт:
|
||
<ulink url="http://httpd.apache.org/docs/vhosts/"></ulink>-с олж үзнэ үү.</para>
|
||
|
||
</sect2>
|
||
|
||
<sect2>
|
||
<title>Apache Модулиуд</title>
|
||
|
||
<indexterm><primary>Apache</primary>
|
||
<secondary>модулиуд</secondary></indexterm>
|
||
|
||
<para>Үндсэн серверийн үүрэг функцыг сайжруулахын
|
||
тулд бүтээгдсэн <application>Apache</application>-н олон модулиуд байдаг.
|
||
FreeBSD Портуудын Цуглуулга нь <application>Apache</application>-г түүний
|
||
өргөн хэрэглэгддэг зарим модулиудын хамт хялбар суулгах
|
||
боломжийг олгодог.</para>
|
||
|
||
<sect3>
|
||
<title>mod_ssl</title>
|
||
|
||
<indexterm><primary>вэб серверүүд</primary>
|
||
<secondary>аюулгүй</secondary></indexterm>
|
||
<indexterm><primary>SSL</primary></indexterm>
|
||
<indexterm><primary>криптограф</primary></indexterm>
|
||
|
||
<para><application>mod_ssl</application> модуль нь Secure Sockets Layer (SSL v2/v3) ба
|
||
Transport Layer Security (TLS v1) протоколоор дамжуулан өндөр
|
||
нууцлалыг хангахын тулд OpenSSL санг ашигладаг.
|
||
Энэ модуль нь батламж олгодог итгэмжлэгдсэн байгууллагаас
|
||
батламж авахын тулд шаардлагатай бүх зүйлсээр хангадаг тул
|
||
та үүнийг ашиглан &os; дээр аюулгүй вэб сервер ажиллуулж чадна.</para>
|
||
|
||
<para>Хэрэв та <application>Apache</application>-г суулгаж амжаагүй бол,
|
||
<application>mod_ssl</application> модулийг агуулдаг
|
||
<application>Apache</application>-н 1.3.X хувилбарыг <filename role="package">www/apache13-modssl</filename>
|
||
портоос суулгаж болох юм.
|
||
<application>Apache</application> 2.X-н хувьд SSL дэмжлэгийг <filename role="package">www/apache22</filename>
|
||
портоос авч болно. SSL дэмжлэг автоматаар идэвхжсэн байдаг.</para>
|
||
|
||
<!-- XXX add more information about configuring mod_ssl here. -->
|
||
<!-- Generating keys, getting the key signed, setting up your secure -->
|
||
<!-- web server! -->
|
||
</sect3>
|
||
|
||
<sect3>
|
||
<title>Хэлний холболтууд</title>
|
||
|
||
<para>Ихэнх гол скрипт хэлнүүдэд зориулсан Apache-ийн
|
||
модулиуд байдаг. Эдгээр модулиуд нь
|
||
<application>Apache</application>-ийн модулиудыг
|
||
бүхэлд нь скрипт хэл дээр бичих боломжийг ихэвчлэн
|
||
бүрдүүлдэг. Эдгээр нь бас гадаад тайлбарлагчийг эхлүүлэх нэмэлт
|
||
зардал болон димамик вэб сайтуудын хувьд байдаг эхлүүлэх
|
||
хугацааны алдагдлыг тойрон гарах, серверт багтааж хийгдсэн
|
||
байнгын тайлбарлагч болон дараагийн хэсэгт тайлбарлагдсан
|
||
шигээр ихэвчлэн ашиглагддаг.</para>
|
||
</sect3>
|
||
</sect2>
|
||
|
||
<sect2>
|
||
<title>Динамик вэб сайтууд</title>
|
||
|
||
<indexterm><primary>web servers</primary>
|
||
<secondary>dynamic</secondary></indexterm>
|
||
|
||
<para>Сүүлийн 10 жилд, өөрийн ашиг орлогыг нэмэгдүүлэх,
|
||
хүмүүст хүрэх зорилгоор илүү олон компаниуд
|
||
бизнесээ Интернэтээр явуулах болжээ. Энэ нь
|
||
динамик агуулгатай вэб хуудсууд төрөн гарах
|
||
хэрэгцээ шаардлагыг улам нэмэгдүүлсэн. µsoft; гэх мэт зарим компаниуд
|
||
ч өөрийн бүтээгдэхүүнүүдэд тэдгээрээс оруулах болсон хэдий ч,
|
||
нээлттэй эхийн нэгдэл энэ асуудалд хариу өгсөн юм. Динамик вэб агуулгыг
|
||
бий болгох орчин үеийн боломжууд бол Django, Ruby on Rails,
|
||
<application>mod_perl</application> болон
|
||
<application>mod_php</application> юм.</para>
|
||
|
||
<sect3>
|
||
<title>Django</title>
|
||
|
||
<indexterm><primary>Python</primary></indexterm>
|
||
<indexterm><primary>Django</primary></indexterm>
|
||
|
||
<para>Django нь өндөр ажиллагаатай, гоёмсог вэб програмыг
|
||
хурдан бичих боломжийг хөгжүүлэгчдэд олгохоор хийгдсэн,
|
||
BSD лицензтэй тогтолцоо юм. Энэ нь өгөгдлийн төрлүүд
|
||
Python обьект хэлбэрээр хөгжүүлэгддэг байхаар болгосон
|
||
обьектийн харилцааг оноогчтой бөгөөд тэдгээр обьектуудад зориулсан
|
||
хөгжүүлэгчдэд SQL бичих шаардлагагүй болгож өгдөг, баялаг
|
||
динамик өгөгдлийн сангийн хандалтын API-тай юм. Энэ нь бас
|
||
програмын логикийг HTML үзүүлбэрээс тусгаарлах боломжийг
|
||
бүрдүүлэх нэмэлт загварын системтэй байдаг.</para>
|
||
|
||
<para>Django нь <application>mod_python</application>,
|
||
<application>Apache</application>, болон таны сонгосон SQL өгөгдлийн
|
||
сангийн хөдөлгүүрээс хамаардаг. FreeBSD порт нь эдгээр бүх
|
||
хамаарлуудыг тохирсон сонголтуудтай нь танд суулгаж өгөх болно.</para>
|
||
|
||
<example id="network-www-django-install">
|
||
<title>Django-г Apache2, mod_python3, болон PostgreSQL-тэй суулгах нь</title>
|
||
|
||
<screen>&prompt.root; <userinput>cd /usr/ports/www/py-django; make all install clean -DWITH_MOD_PYTHON3 -DWITH_POSTGRESQL</userinput></screen>
|
||
</example>
|
||
|
||
<para>Django болон бусад хамаарлууд суулгагдсаны дараа та
|
||
Django төслийн санг үүсгэх хэрэгтэй бөгөөд өөрийн сайт дээрх
|
||
тухайн URL дээр өөрийн програмыг дуудахын тулд суулгагдсан
|
||
Python тайлбарлагчийг ашиглахаар болгож Apache-г тохируулах хэрэгтэй.</para>
|
||
|
||
<example id="network-www-django-apache-config">
|
||
<title>Django/mod_python-д зориулсан Apache-ийн тохиргоо</title>
|
||
|
||
<para>Та өөрийн вэб програм руу тодорхой URL-уудад зориулсан
|
||
хүсэлтүүдийг дамжуулахаар Apache-г тохируулахын тулд
|
||
apache-ийн <filename>httpd.conf</filename> файлд мөр
|
||
нэмэх шаардлагатай:</para>
|
||
|
||
<screen><Location "/">
|
||
SetHandler python-program
|
||
PythonPath "['/dir/to/your/django/packages/'] + sys.path"
|
||
PythonHandler django.core.handlers.modpython
|
||
SetEnv DJANGO_SETTINGS_MODULE mysite.settings
|
||
PythonAutoReload On
|
||
PythonDebug On
|
||
</Location></screen>
|
||
</example>
|
||
</sect3>
|
||
|
||
<sect3>
|
||
<title>Ruby on Rails</title>
|
||
|
||
<indexterm><primary>Ruby on Rails</primary></indexterm>
|
||
|
||
<para>Ruby on Rails нь бүрэн гүйцэд хөгжүүлэлтийн стекийн
|
||
боломжийг олгодог бөгөөд вэб хөгжүүлэгчдийг хүчирхэг
|
||
програмыг хурдан шуурхай, илүү үр бүтээлтэй бичдэг байхаар
|
||
оновчлогдсон, нээлттэй эхийн вэб тогтолцоо юм. Үүнийг портын
|
||
системээс хялбараар суулгаж болно.</para>
|
||
|
||
<screen>&prompt.root; <userinput>cd /usr/ports/www/rubygem-rails; make all install clean</userinput></screen>
|
||
</sect3>
|
||
|
||
<sect3>
|
||
<title>mod_perl</title>
|
||
|
||
<indexterm>
|
||
<primary>mod_perl</primary>
|
||
<secondary>Perl</secondary>
|
||
</indexterm>
|
||
|
||
<para><application>Apache</application>/Perl нэгтгэх төсөл
|
||
Perl програмчлалын хэл ба <application>Apache HTTP Сервер</application>ийн
|
||
бүх хүч чадлыг нэгтгэсэн юм. <application>mod_perl</application> модулийн
|
||
тусламжтай <application>Apache</application> модулиудыг тэр чигээр нь
|
||
Perl дээр бичих боломжтой. Дээр нь, серверт суулгасан
|
||
шургуу хөрвүүлэгч, гадны хөрвүүлэгч ашиглах илүү ажил болон
|
||
Perl эхлүүлэх хугацааны алдагдлаас зайлсхийж чадсан юм.</para>
|
||
|
||
<para><application>mod_perl</application>-г хэд хэдэн янзаар хэрэглэж болно.
|
||
<application>mod_perl</application>-г хэрэглэж эхлэхээс өмнө
|
||
<application>mod_perl</application> 1.0 зөвхөн <application>Apache</application> 1.3-тай ажилладаг,
|
||
<application>mod_perl</application> 2.0 зөвхөн <application>Apache</application> 2.X-тэй ажилладаг гэдгийг
|
||
санаарай. <application>mod_perl</application> 1.0-г <filename role="package">www/mod_perl</filename> портоос,
|
||
түүний статикаар эмхэтгэсэн хувилбарыг <filename role="package">www/apache13-modperl</filename>
|
||
портоос суулгаж болно. <application>mod_perl</application> 2.0-г
|
||
<filename role="package">www/mod_perl2</filename> портоос суулгаж болно.</para>
|
||
</sect3>
|
||
|
||
<sect3>
|
||
<sect3info>
|
||
<authorgroup>
|
||
<author>
|
||
<firstname>Том</firstname>
|
||
<surname>Рөүдс</surname>
|
||
<contrib>Бичсэн </contrib>
|
||
</author>
|
||
</authorgroup>
|
||
<authorgroup>
|
||
<author>
|
||
<firstname>Лодойсамбын</firstname>
|
||
<surname>Баянзул</surname>
|
||
<contrib>Орчуулсан </contrib>
|
||
</author>
|
||
</authorgroup>
|
||
</sect3info>
|
||
<title>mod_php</title>
|
||
|
||
<indexterm>
|
||
<primary>mod_php</primary>
|
||
<secondary>PHP</secondary>
|
||
</indexterm>
|
||
|
||
<para><acronym>PHP</acronym> буюу <quote>PHP:Hypertext Preprocessor</quote> бол
|
||
вэб хөгжүүлэлтэд тусгайлан тохируулсан, энгийн хэрэглээний
|
||
скрипт хэл юм. <acronym>HTML</acronym> дотор суулгах боломжтой түүний
|
||
синтакс C, &java;, ба Perl-с гаралтай. Энэ нь вэб хөгжүүлэгчдэд
|
||
динамикаар үүсгэгдэх вэб хуудсыг хурдан бичих боломжтой болгох
|
||
үүднээс тэгсэн хэрэг.</para>
|
||
|
||
<para><application>Apache</application> вэб серверийг
|
||
<acronym>PHP</acronym>5-г дэмждэг болгохын тулд, <filename role="package">lang/php5</filename>
|
||
портыг суулгаж эхлэх хэрэгтэй.</para>
|
||
|
||
<para>Хэрэв <filename role="package">lang/php5</filename> портыг
|
||
анх удаа суулгаж байгаа бол, боломжит
|
||
<literal>ТОХИРУУЛГУУД</literal> автоматаар дэлгэцэн дээр гарч ирнэ.
|
||
Хэрэв цэс гарч ирэхгүй бол, өөрөөр хэлбэл
|
||
<filename role="package">lang/php5</filename> портыг өмнө нь хэзээ нэгэн цагт
|
||
суулгаж байсан бол, тохируулгуудын харилцах цонхыг гаргаж ирэхийн тулд
|
||
дараах тушаалыг:</para>
|
||
|
||
<screen>&prompt.root; <userinput>make config</userinput></screen>
|
||
|
||
<para>порт директор дотор өгөх хэрэгтэй.</para>
|
||
|
||
<para>Тохируулгуудын харилцах цонхонд,
|
||
<application>mod_php5</application>-г <application>Apache</application>-н
|
||
ачаалах боломжтой модуль байдлаар бүтээхийн тулд
|
||
<literal>APACHE</literal> тохируулгыг идэвхжүүлнэ.</para>
|
||
|
||
<note>
|
||
<para>Олон сайтууд <acronym>PHP</acronym>4-г янз бүрийн шалтгааны улмаас
|
||
(өөрөөр хэлбэл, нийцтэй байдал эсвэл аль хэдийн үйлчилгээнд гаргачихсан
|
||
вэб програмууд) ашигласаар байна. Хэрэв
|
||
<application>mod_php4</application>-г <application>mod_php5</application>-н оронд ашиглах
|
||
шаардлагатай бол, <filename role="package">lang/php4</filename> портыг ашиглаарай.
|
||
<filename role="package">lang/php4</filename> порт нь <filename role="package">lang/php5</filename> портод
|
||
байдаг тохиргооны болон бүтээх үеийн олон тохируулгуудыг дэмждэг.</para>
|
||
</note>
|
||
|
||
<para>Энэ хэсэг код динамик <acronym>PHP</acronym> програмыг дэмждэг болгоход
|
||
шаардлагатай модулиудыг суулгаж тохируулах болно. Доорх мөрүүд
|
||
<filename>/usr/local/etc/apache/httpd.conf</filename> файл дотор нэмэгдсэн эсэхийг шалгаарай:</para>
|
||
|
||
<programlisting>LoadModule php5_module libexec/apache/libphp5.so</programlisting>
|
||
|
||
<programlisting>AddModule mod_php5.c
|
||
<IfModule mod_php5.c>
|
||
DirectoryIndex index.php index.html
|
||
</IfModule>
|
||
<IfModule mod_php5.c>
|
||
AddType application/x-httpd-php .php
|
||
AddType application/x-httpd-php-source .phps
|
||
</IfModule></programlisting>
|
||
|
||
<para>Үүний дараа, <acronym>PHP</acronym> модулийг ачаалахын тулд,
|
||
дараах тушаалыг өгч серверийг дахин ачаалах хэрэгтэй:</para>
|
||
|
||
<screen>&prompt.root; <userinput>apachectl graceful</userinput></screen>
|
||
|
||
<para>Дараа, <acronym>PHP</acronym>-н хувилбарыг дээшлүүлэх үедээ,
|
||
<command>make config</command> тушаалыг өгөх шаардлагагүй;
|
||
идэвхжүүлсэн <literal>ТОХИРУУЛГУУД</literal> &os; Портуудын
|
||
тогтолцоонд автоматаар хадгалагдсан байгаа.</para>
|
||
|
||
<para>&os;-н <acronym>PHP</acronym> дэмжлэг нь дээд зэргээр
|
||
модульчлагдсан тул үндсэн суулгац нь маш хязгаарлагдмал
|
||
байдаг. <filename role="package">lang/php5-extensions</filename> портыг ашиглан дэмжлэг
|
||
нэмэх нь үнэхээр амархан асуудал. <acronym>PHP</acronym> өргөтгөлийг суулгах явцад,
|
||
энэ порт танд цэсээс тогтсон интерфэйсийг санал болгоно. Өөрөөр,
|
||
өргөтгөлүүдийг нэг нэгээр нь харгалзах портуудаас суулгаж болно.</para>
|
||
|
||
<para>Жишээлбэл, <acronym>PHP</acronym>5-д <application>MySQL</application> өгөгдлийн
|
||
сангийн серверийн дэмжлэгийг нэмэхийн тулд,
|
||
<filename role="package">databases/php5-mysql</filename> портыг суулгахад хангалттай.</para>
|
||
|
||
<para>Ямар нэг өргөтгөл суулгасны дараа,
|
||
тохиргооны өөрчлөлтийг хүчин төгөлдөр болгохын тулд <application>Apache</application>
|
||
серверийг дахин ачаалах шаардлагатайг анхаарна уу:</para>
|
||
|
||
<screen>&prompt.root; <userinput>apachectl graceful</userinput></screen>
|
||
</sect3>
|
||
</sect2>
|
||
</sect1>
|
||
|
||
<sect1 id="network-ftp">
|
||
<sect1info>
|
||
<authorgroup>
|
||
<author>
|
||
<firstname>Мюррей</firstname>
|
||
<surname>Стөүкли</surname>
|
||
<contrib>Хувь нэмрээ оруулсан </contrib>
|
||
</author>
|
||
</authorgroup>
|
||
</sect1info>
|
||
<title>Файл Дамжуулах Протокол (FTP)</title>
|
||
|
||
<indexterm><primary>FTP серверүүд</primary></indexterm>
|
||
|
||
<sect2>
|
||
<title>Удиртгал</title>
|
||
|
||
<para>File Transfer Protocol буюу Файл Дамжуулах Протокол (FTP) нь хэрэглэгчдэд
|
||
<acronym role="File Transfer Protocol">FTP</acronym> серверээс файлыг авах болон тавих хялбар
|
||
замыг бий болгодог. &os; үндсэн систем дотроо <acronym role="File Transfer Protocol">FTP</acronym>
|
||
сервер програм <application>ftpd</application>-г агуулж байдаг. Энэ нь FreeBSD дээр
|
||
<acronym role="File Transfer Protocol">FTP</acronym> серверийг босгох, удирдах ажлыг төвөггүй болгодог.</para>
|
||
</sect2>
|
||
|
||
<sect2>
|
||
<title>Тохиргоо</title>
|
||
|
||
<para>Тохиргоо хийхийн өмнөх хамгийн чухал алхам бол
|
||
ямар дансууд FTP серверт хандах эрхтэй байх вэ гэдгийг шийдэх байдаг.
|
||
Ердийн FreeBSD систем нь янз бүрийн дэмонуудад хэрэглэгддэг
|
||
олон тооны системийн дансуудтай байдаг ба гадны хэрэглэгчид
|
||
эдгээр дансыг ашиглан нэвтрэх ёсгүй. <filename>/etc/ftpusers</filename> файл дотор
|
||
FTP хандалт зөвшөөрөгдөөгүй хэрэглэгчдийн жагсаалтыг хадгална.
|
||
Анхдагч байдлаар, дээр дурдсан системийн дансууд энэ файлд байна.
|
||
FTP хандалтыг зөвшөөрөх ёсгүй өөр хэрэглэгчдийг ч мөн энэ файлд
|
||
нэмж болно.</para>
|
||
|
||
<para>Зарим хэрэглэгчдийн FTP хэрэглэхийг нь бүр болиулчихалгүйгээр,
|
||
зөвхөн зарим нэг эрхийг нь хязгаарлаж бас болно. Үүнийг
|
||
<filename>/etc/ftpchroot</filename> файлын тусламжтай гүйцэтгэж болно.
|
||
Энэ файл дотор FTP хандалтыг нь хязгаарлах хэрэглэгчид болон
|
||
бүлгүүдийн жагсаалт байна. &man.ftpchroot.5; заавар хуудсанд
|
||
бүх мэдээлэл байгаа тул энд дурдсангүй.</para>
|
||
|
||
<indexterm>
|
||
<primary>FTP</primary>
|
||
<secondary>нийтийн</secondary>
|
||
</indexterm>
|
||
|
||
<para>Хэрэв сервертээ нийтийн FTP хандалтыг зөвшөөрөх хүсэлтэй байгаа бол,
|
||
&os; систем дээрээ <username>ftp</username> нэртэй хэрэглэгч нэмэх хэрэгтэй.
|
||
Ингэснээр хэрэглэгчид таны FTP сервер рүү <username>ftp</username> эсвэл
|
||
<username>anonymous</username> гэсэн нэрээр ямар ч нэвтрэх үг шаардагдахгүйгээр
|
||
(тогтсон заншил ёсоор хэрэглэгч цахим шуудангийн хаягаа
|
||
нэвтрэх үгийн оронд хэрэглэх шаардлагатай) нэвтрэн орох болно.
|
||
Нийтийн хэрэглэгч системд орж ирэхэд FTP сервер түүний эрхийг
|
||
зөвхөн <username>ftp</username> хэрэглэгчийн гэрийн сан дотор
|
||
хязгаарлахын тулд &man.chroot.2;-г дуудна.</para>
|
||
|
||
<para>FTP харилцагчдад зориулсан мэндчилгээний үгнүүдийг
|
||
агуулсан хоёр текст файл байдаг. <filename>/etc/ftpwelcome</filename> файл
|
||
дотор байгааг нэвтрэлт хүлээх мөр гарахаас өмнө хэрэглэгчдэд дэлгэцэн дээр
|
||
хэвлэнэ. Амжилттай нэвтэрч орсны дараа <filename>/etc/ftpmotd</filename> файл
|
||
дотор байгааг дэлгэцэн дээр хэвлэнэ. Энэ файлын зам нь
|
||
нэвтэрч орсон орчинтой харьцангуйгаар авсан зам гэдгийг
|
||
анхаарна уу, тиймээс нийтийн хэрэглэгчдийн хувьд
|
||
<filename>~ftp/etc/ftpmotd</filename> файлыг хэвлэх болно.</para>
|
||
|
||
<para>FTP серверийн тохиргоог зохих ёсоор хийсний дараа,
|
||
<filename>/etc/inetd.conf</filename> файл дотор идэвхжүүлэх хэрэгтэй.
|
||
Үүний тулд, <application>ftpd</application> гэсэн мөрний өмнөх <quote>#</quote>
|
||
тэмдэгтийг арилгахад хангалттай:</para>
|
||
|
||
<programlisting>ftp stream tcp nowait root /usr/libexec/ftpd ftpd -l</programlisting>
|
||
|
||
<para><xref linkend="network-inetd-reread"> хэсэгт тайлбарласан ёсоор
|
||
энэ тохиргооны файлд өөрчлөлт оруулсны дараа
|
||
<application>inetd</application>-г дахин ачаалах шаардлагатай. Өөрийн
|
||
систем дээр <application>inetd</application>-г идэвхжүүлэх талаар
|
||
дэлгэрэнгүйг <xref linkend="network-inetd-settings">-с үзнэ үү.</para>
|
||
|
||
<para>Мөн <application>ftpd</application>-ийг дангаар нь ажиллуулахаар
|
||
тохируулж болно. Энэ тохиолдолд <filename>/etc/rc.conf</filename> файлд
|
||
тохирох хувьсагчийг тохируулахад хангалттай байдаг:</para>
|
||
|
||
<programlisting>ftpd_enable="YES"</programlisting>
|
||
|
||
<para>Дээрх хувьсагчийг тохируулсны дараа сервер дараачийн ачаалалт хийхэд
|
||
ажиллах боломжтой болох бөгөөд эсвэл дараах тушаалыг <username>root</username>
|
||
эрхээр ажиллуулан эхлүүлж болно:</para>
|
||
|
||
<screen>&prompt.root; <userinput>/etc/rc.d/ftpd start</userinput></screen>
|
||
|
||
<para>Одоо та дараах тушаалыг өгөн FTP сервер рүү нэвтрэн орж болно:</para>
|
||
|
||
<screen>&prompt.user; <userinput>ftp localhost</userinput></screen>
|
||
|
||
</sect2>
|
||
|
||
<sect2>
|
||
<title>Арчилгаа</title>
|
||
|
||
<indexterm><primary>syslog</primary></indexterm>
|
||
<indexterm><primary>бүртгэлийн файлууд</primary>
|
||
<secondary>FTP</secondary></indexterm>
|
||
|
||
<para><application>ftpd</application> дэмон бүртгэл хөтлөхдөө &man.syslog.3;-г ашигладаг.
|
||
Анхдагч байдлаар, системийн бүртгэлийн дэмон FTP-тэй холбоотой
|
||
зурвасуудыг <filename>/var/log/xferlog</filename> файлд бичнэ. FTP бүртгэлийн файлын
|
||
байршлыг өөрчлөхийн тулд <filename>/etc/syslog.conf</filename> файл дотор, дараах
|
||
мөрийг засах хэрэгтэй:</para>
|
||
|
||
<programlisting>ftp.info /var/log/xferlog</programlisting>
|
||
|
||
<indexterm>
|
||
<primary>FTP</primary>
|
||
<secondary>нийтийн</secondary>
|
||
</indexterm>
|
||
|
||
<para>Нийтийн FTP сервер ажиллуулахад тохиолдох
|
||
болзошгүй асуудлуудын талаар мэдлэгтэй байгаарай.
|
||
Ялангуяа, нийтийн хэрэглэгчдэд файл байршуулахыг
|
||
зөвшөөрөх тухайд сайн бодох хэрэгтэй. Таны FTP сайт
|
||
лицензгүй програм хангамжуудыг наймаалцдаг талбар болох, эсвэл түүнээс ч
|
||
муу зүйл тохиолдохыг үгүйсгэхгүй. Хэрэв нийтийн FTP байршуулалтыг
|
||
зөвшөөрөх шаардлагатай бол, файлуудыг нягталж үзэхээс нааш
|
||
бусад нийтийн хэрэглэгчид тэдгээр файлыг унших эрхгүй байхаар
|
||
тохируулж өгөх хэрэгтэй.</para>
|
||
|
||
</sect2>
|
||
</sect1>
|
||
|
||
<sect1 id="network-samba">
|
||
<sect1info>
|
||
<authorgroup>
|
||
<author>
|
||
<firstname>Мюррей</firstname>
|
||
<surname>Стөүкли</surname>
|
||
<contrib>Хувь нэмрээ оруулсан </contrib>
|
||
</author>
|
||
</authorgroup>
|
||
<authorgroup>
|
||
<author>
|
||
<firstname>Лодойсамбын</firstname>
|
||
<surname>Баянзул</surname>
|
||
<contrib>Орчуулсан </contrib>
|
||
</author>
|
||
</authorgroup>
|
||
</sect1info>
|
||
<title>µsoft.windows; харилцагчдад зориулсан Файл болон Хэвлэх Үйлчилгээ (Samba)</title>
|
||
|
||
<indexterm><primary>Samba сервер</primary></indexterm>
|
||
<indexterm><primary>Microsoft Windows</primary></indexterm>
|
||
<indexterm>
|
||
<primary>файл сервер</primary>
|
||
<secondary>Windows харилцагчид</secondary>
|
||
</indexterm>
|
||
<indexterm>
|
||
<primary>хэвлэх сервер</primary>
|
||
<secondary>Windows харилцагчид</secondary>
|
||
</indexterm>
|
||
|
||
<sect2>
|
||
<title>Ерөнхий Агуулга</title>
|
||
|
||
<para><application>Samba</application> бол µsoft.windows; харилцагчдад
|
||
файл болон хэвлэх үйлчилгээг үзүүлдэг, өргөн хэрэглэгддэг
|
||
нээлттэй эхийн програм хангамжийн багц юм. Ийм төрлийн харилцагчид
|
||
FreeBSD файлын орчинд холбогдож, файлуудыг өөрийн дискэн дээр байгаа юм шиг,
|
||
эсвэл FreeBSD хэвлэгчийг өөрийн дотоод хэвлэгч шиг хэрэглэх боломжтой болдог.</para>
|
||
|
||
<para><application>Samba</application> програм хангамжийн багцууд таны FreeBSD суулгах
|
||
дискэнд орсон байгаа. Хэрэв та анх FreeBSD суулгахдаа
|
||
<application>Samba</application>-г хамт суулгаагүй бол, <filename role="package">net/samba3</filename>
|
||
порт эсвэл багцаас суулгаж болно.</para>
|
||
|
||
<!-- mention LDAP, Active Directory, WinBIND, ACL, Quotas, PAM, .. -->
|
||
|
||
</sect2>
|
||
|
||
<sect2>
|
||
<title>Тохиргоо</title>
|
||
|
||
<para><application>Samba</application>-н анхдагч тохиргооны файл
|
||
<filename>/usr/local/share/examples/samba/smb.conf.default</filename> гэж суугдсан байдаг. Энэ файлыг <filename>/usr/local/etc/smb.conf</filename>
|
||
нэртэй хуулаад, <application>Samba</application>-г ашиглаж
|
||
эхлэхээсээ өмнө өөртөө тааруулан засварлах ёстой.</para>
|
||
|
||
<para><filename>smb.conf</filename> файл нь &windows; харилцагчтай хуваалцах
|
||
хүсэлтэй <quote>файл системийн хэсэг</quote> ба хэвлэгчийн тодорхойлолт гэх зэрэг
|
||
<application>Samba</application>-н ажиллах үеийн тохиргооны мэдээллийг агуулж байдаг.
|
||
<application>Samba</application> багц дотор <filename>smb.conf</filename> файл дээр ажиллах хялбар
|
||
арга замыг хангасан <application>swat</application> нэртэй вэб дээр суурилсан
|
||
хэрэгсэл хамт ирдэг.</para>
|
||
|
||
<sect3>
|
||
<title>Samba-г Вэбээр Удирдах Хэрэгсэл (SWAT)</title>
|
||
|
||
<para>Samba Web Administration Tool буюу Samba-г Вэбээр Удирдах Хэрэгсэл (SWAT)
|
||
нь <application>inetd</application>-н дэмон хэлбэрээр ажиллана.
|
||
Тиймээс, <application>Samba</application>-г <application>swat</application>
|
||
ашиглан тохируулахын өмнө <filename>/etc/inetd.conf</filename> доторх
|
||
дараах мөрийг ил гаргах шаардлагатай:</para>
|
||
|
||
<programlisting>swat stream tcp nowait/400 root /usr/local/sbin/swat swat</programlisting>
|
||
<para><xref linkend="network-inetd-reread"> хэсэгт тайлбарласан ёсоор,
|
||
энэ тохиргооны файлд өөрчлөлт оруулсны дараа
|
||
<application>inetd</application>-ийн тохиргоог дахин ачаалах шаардлагатай.</para>
|
||
|
||
<para><application>swat</application>-г <filename>inetd.conf</filename> дотор идэвхжүүлсний
|
||
дараа, вэб хөтөч ашиглан <ulink url="http://localhost:901"></ulink> хаяганд холбогдоно.
|
||
Та эхлээд системийн <username>root</username> дансаар нэвтэрч орох ёстой.</para>
|
||
|
||
<!-- XXX screenshots go here, loader is creating them -->
|
||
|
||
<para><application>Samba</application>-н тохиргооны үндсэн хуудсанд
|
||
амжилттай нэвтэрч орсон бол, системийн баримтуудаар аялах,
|
||
эсвэл <guimenu>Globals</guimenu> цэсэн дээр дарж тохиргоог хийх боломжтой болно.
|
||
<guimenu>Globals</guimenu> хэсэг <filename>/usr/local/etc/smb.conf</filename> файлын
|
||
<literal>[global]</literal> хэсэгт байгаа хувьсагчдад харгалзана.</para>
|
||
</sect3>
|
||
|
||
<sect3>
|
||
<title>Глобал тохиргоо</title>
|
||
|
||
<para><application>swat</application>-г хэрэглэж байгаа эсвэл
|
||
<filename>/usr/local/etc/smb.conf</filename>-г гараараа засаж байгаа аль нь ч бай,
|
||
<application>Samba</application>-г тохируулах явцад тааралдах хамгийн эхний
|
||
директивууд бол:</para>
|
||
|
||
<variablelist>
|
||
<varlistentry>
|
||
<term><literal>workgroup</literal></term>
|
||
|
||
<listitem>
|
||
<para>Энэ нь сервер рүү хандах компьютеруудын NT Домэйн-Нэр эсвэл
|
||
Ажлын бүлгийн-Нэр.</para>
|
||
</listitem>
|
||
</varlistentry>
|
||
|
||
<varlistentry>
|
||
<term><literal>netbios name</literal></term>
|
||
<indexterm><primary>NetBIOS</primary></indexterm>
|
||
|
||
<listitem>
|
||
<para>Энэ директив <application>Samba</application> серверийн NetBIOS нэрийг заана.
|
||
Анхдагч байдлаар, хостын DNS нэрийн эхний хэсэгтэй адил байна.</para>
|
||
</listitem>
|
||
</varlistentry>
|
||
|
||
<varlistentry>
|
||
<term><literal>серверийн мөр</literal></term>
|
||
|
||
<listitem>
|
||
<para>Энэ директив <command>net view</command> тушаалын хариуд
|
||
гарч ирэх эсвэл зарим сүлжээний хэрэгслүүд дээр энэ серверийг
|
||
төлөөлж гарах мөрийг заана.</para>
|
||
</listitem>
|
||
</varlistentry>
|
||
</variablelist>
|
||
</sect3>
|
||
|
||
<sect3>
|
||
<title>Аюулгүй байдлын Тохиргоо</title>
|
||
|
||
<para><filename>/usr/local/etc/smb.conf</filename> доторх
|
||
хамгийн чухал хоёр тохиргоо бол аюулгүй байдлын загвар,
|
||
болон харилцагчдын нэвтрэх үгийн арын шугамны хэлбэр юм.
|
||
Дараах директивүүд эдгээр тохируулгуудыг хянана:</para>
|
||
|
||
<variablelist>
|
||
<varlistentry>
|
||
<term><literal>security</literal></term>
|
||
|
||
<listitem>
|
||
<para>Энд хамгийн элбэг хэрэглэгддэг хоёр сонголт бол
|
||
<literal>security = share</literal> ба <literal>security = user</literal> юм. Хэрэв танай харилцагч нар
|
||
&os; машин дээр хэрэглэдэг хэрэглэгчийн нэртэй ижил нэрийг ашигладаг бол,
|
||
user түвшний аюулгүй байдлыг сонгохыг хүсэж байж магадгүй. Энэ бол
|
||
аюулгүй байдлын анхдагч бодлого бөгөөд эх үүсвэрт хандахаас өмнө харилцагчийг
|
||
системд нэвтэрч орохыг шаардана.</para>
|
||
|
||
<para>share түвшний аюулгүй байдалд, харилцагчид эх үүсвэрт хандахаас өмнө
|
||
хүчин төгөлдөр хэрэглэгчийн нэр болон нэвтрэх үгээр сервер рүү нэвтрэн орох
|
||
шаардлагагүй байдаг. Энэ бол <application>Samba</application>-н хуучин хувилбаруудын хувьд
|
||
аюулгүй байдлын анхдагч загвар байсан.</para>
|
||
</listitem>
|
||
</varlistentry>
|
||
|
||
<varlistentry>
|
||
<term><literal>passdb backend</literal></term>
|
||
|
||
<indexterm><primary>NIS+</primary></indexterm>
|
||
<indexterm><primary>LDAP</primary></indexterm>
|
||
<indexterm><primary>SQL өгөгдлийн сан</primary></indexterm>
|
||
|
||
<listitem>
|
||
<para><application>Samba</application>-д хэд хэдэн төрлийн
|
||
арын шугамны магадлах загварууд байдаг. Харилцагчдыг
|
||
LDAP, NIS+, SQL өгөгдлийн сан, эсвэл хувиргасан нэвтрэх үгийн файлаар
|
||
магадлаж болно. Анхдагч магадлах арга бол <literal>smbpasswd</literal> бөгөөд
|
||
бид зөвхөн энэ талаар авч үзэх болно.</para>
|
||
</listitem>
|
||
</varlistentry>
|
||
</variablelist>
|
||
|
||
<para>Анхдагч <literal>smbpasswd</literal> арын шугамыг хэрэглэж байгаа гэж үзвэл,
|
||
<application>Samba</application> харилцагчдыг магадлахын тулд
|
||
<filename>/usr/local/private/smbpasswd</filename> файлыг эхлээд үүсгэх ёстой.
|
||
Хэрэв &unix; хэрэглэгчийн эрхээр &windows; харилцагчаас ханддаг байх шаардлагатай бол,
|
||
дараах тушаалыг хэрэглэнэ:</para>
|
||
|
||
<screen>&prompt.root; <userinput>smbpasswd -a username</userinput></screen>
|
||
|
||
<note>
|
||
<para><application>Samba</application> 3.0.23c-аас эхлээд нэвтрэлтийн
|
||
файлуудад зориулсан сан нь <filename class="directory">/usr/local/etc/samba</filename>
|
||
сан юм. Энэ үед санал болгодог арын мэдээллийн сан нь <literal>tdbsam</literal> бөгөөд
|
||
хэрэглэгчийн бүртгэлийг нэмэхийн тулд дараах тушаалыг ашиглах ёстой:</para>
|
||
|
||
<screen>&prompt.root; <userinput><command>pdbedit <option>-a</option> <option>-u</option> <replaceable>username</replaceable></command></userinput></screen>
|
||
</note>
|
||
|
||
<para>Тохируулгуудын талаар нэмэлт мэдээллийг
|
||
<ulink url="http://www.samba.org/samba/docs/man/Samba-HOWTO-Collection/">Албан ёсны Samba HOWTO</ulink>-с олж авна уу.
|
||
Энд цухас дурдсан үндсэн мэдлэгтэйгээр <application>Samba</application>-г ажиллуулж
|
||
эхлэх чадвартай байх ёстой.</para>
|
||
</sect3>
|
||
|
||
</sect2>
|
||
<sect2>
|
||
<title><application>Samba</application>-г Эхлүүлэх нь</title>
|
||
|
||
<para><filename role="package">net/samba3</filename> портод <application>Samba</application>-г
|
||
удирдахад зориулсан шинэ эхлэл скрипт орсон байгаа. Энэ
|
||
скриптийг идэвхжүүлэхийн тулд, өөрөөр хэлбэл энэ скриптийг ашиглан
|
||
<application>Samba</application>-г эхлүүлэх, зогсоох болон дахин эхлүүлдэг болохын тулд,
|
||
<filename>/etc/rc.conf</filename> файл дотор дараах мөрийг нэмж бичих хэрэгтэй:</para>
|
||
|
||
<programlisting>samba_enable="YES"</programlisting>
|
||
|
||
<para>Эсвэл илүү нарийнаар доор дурдсан шиг тохируулж болно:</para>
|
||
|
||
<programlisting>nmbd_enable="YES"</programlisting>
|
||
<programlisting>smbd_enable="YES"</programlisting>
|
||
|
||
<note>
|
||
<para>Ингэснээр мөн <application>Samba</application>-г систем ачаалах үед автоматаар
|
||
эхлүүлдэг болгоно.</para>
|
||
</note>
|
||
|
||
<para>Үүний дараа хүссэн үедээ <application>Samba</application>-г эхлүүлэхийн тулд
|
||
дараах тушаалыг өгөхөд хангалттай:</para>
|
||
|
||
<screen>&prompt.root; <userinput>/usr/local/etc/rc.d/samba start</userinput>
|
||
Starting SAMBA: removing stale tdbs :
|
||
Starting nmbd.
|
||
Starting smbd.</screen>
|
||
|
||
<para>rc скриптийг ашиглах талаар дэлгэрэнгүй мэдээллийг
|
||
<xref linkend="configtuning-rcd"> хэсгээс авна уу.</para>
|
||
|
||
<para><application>Samba</application> нь үнэн хэрэгтээ гурван тусдаа дэмоноос
|
||
тогтоно. <application>nmbd</application> ба <application>smbd</application> дэмонууд
|
||
<filename>samba</filename> скриптээр эхлүүлдэг болохыг та анзаарах болно.
|
||
Хэрэв <filename>smb.conf</filename> дотор winbind нэр тайлах үйлчилгээг идэвхжүүлсэн бол
|
||
<application>winbindd</application> дэмон бас ажиллаж эхэлсэн болохыг харж болно.</para>
|
||
|
||
<para><application>Samba</application>-г хүссэн үедээ зогсоохын тулд дараах тушаалыг өгөхөд
|
||
хангалттай:</para>
|
||
|
||
<screen>&prompt.root; <userinput>/usr/local/etc/rc.d/samba stop</userinput></screen>
|
||
|
||
<para><application>Samba</application> бол µsoft.windows; сүлжээтэй өргөн хүрээнд
|
||
нэгдмэл ажиллах боломжийг олгодог нарийн төвөгтэй програмын цогц юм.
|
||
Энд тайлбарласан үндсэн суулгацаас хальсан функцуудын талаар дэлгэрэнгүй
|
||
мэдээллийг <ulink url="http://www.samba.org"></ulink> хаягаар орж авна уу.</para>
|
||
</sect2>
|
||
|
||
</sect1>
|
||
|
||
<sect1 id="network-ntp">
|
||
<sect1info>
|
||
<authorgroup>
|
||
<author>
|
||
<firstname>Том</firstname>
|
||
<surname>Хөүкинс</surname>
|
||
<contrib>Хувь нэмрээ оруулсан </contrib>
|
||
</author>
|
||
</authorgroup>
|
||
<authorgroup>
|
||
<author>
|
||
<firstname>Лодойсамбын</firstname>
|
||
<surname>Баянзул</surname>
|
||
<contrib>Орчуулсан </contrib>
|
||
</author>
|
||
</authorgroup>
|
||
</sect1info>
|
||
<title>NTP-р Цаг Тааруулах нь</title>
|
||
|
||
<indexterm><primary>NTP</primary></indexterm>
|
||
|
||
<sect2>
|
||
<title>Ерөнхий Агуулга</title>
|
||
|
||
<para>Цаг хугацаа өнгөрөхөд компьютерийн цаг зөрөх хандлагатай байдаг.
|
||
Network Time Protocol буюу Сүлжээний Цагийн Протоколыг(NTP) цагийг зөв байлгах, зөв ажиллуулахад
|
||
хэрэглэдэг.</para>
|
||
|
||
<para>Олон тооны Интернэт үйлчилгээнүүд компьютерийн цагаас хамаарч,
|
||
эсвэл хүртэж ажилладаг. Жишээлбэл, вэб сервер тодорхой цагаас хойш
|
||
өөрчлөлт орсон файлуудыг илгээх хүсэлт хүлээн авсан байж болох юм. Дотоод сүлжээний
|
||
орчинд, нэг файл серверээр үйлчлүүлж байгаа компьютеруудын хувьд
|
||
файлын цагийн тамга дүйж байхын тулд тэдгээрийн цагууд хоорондоо
|
||
тохирч байх ёстой. &man.cron.8; зэрэг үйлчилгээнүүд тодорхой цагт тушаалыг
|
||
гүйцэтгэхийн тулд системийн цагт бүрэн найдаж ажилладаг.</para>
|
||
|
||
<indexterm>
|
||
<primary>NTP</primary>
|
||
<secondary>ntpd</secondary>
|
||
</indexterm>
|
||
<para>FreeBSD &man.ntpd.8; <acronym role="Network Time Protocol">NTP</acronym> серверийн хамт ирдэг.
|
||
&man.ntpd.8; <acronym role="Network Time Protocol">NTP</acronym> нь таны машины цагийг тааруулахын тулд
|
||
бусад <acronym role="Network Time Protocol">NTP</acronym> серверүүдээс асуух эсвэл бусдад цагийн
|
||
мэдээллийг түгээх үйлчилгээг үзүүлдэг.</para>
|
||
</sect2>
|
||
|
||
<sect2>
|
||
<title>Зохимжтой NTP Серверийг Сонгох нь</title>
|
||
|
||
<indexterm>
|
||
<primary>NTP</primary>
|
||
<secondary>серверийг сонгох нь</secondary>
|
||
</indexterm>
|
||
|
||
<para>Цагаа тааруулахын тулд, та нэг болон түүнээс дээш тооны
|
||
<acronym role="Network Time Protocol">NTP</acronym> серверийг хэрэглэх хэрэгтэй болно.
|
||
Танай сүлжээний администратор эсвэл ISP үүнд зориулсан
|
||
NTP сервертэй байж болох юм—тийм эсэхийг тэдний заавраас шалгана уу.
|
||
<ulink url="http://ntp.isc.org/bin/view/Servers/WebHome">нийтэд зориулсан NTP серверүүдийн
|
||
онлайн жагсаалт</ulink>ыг ашиглан өөртөө ойрхон байгаа NTP серверийг
|
||
олно уу. Сонгож авсан серверийнхээ ашиглах журмыг судлаарай.
|
||
Мөн хэрэв шаардлагатай бол зөвшөөрөл аваарай.</para>
|
||
|
||
<para>Таны сонгосон сервер холбогдох боломжгүй,
|
||
эсвэл цаг нь бүрэн итгэж болохооргүй үе гарах тул,
|
||
хоорондоо хамааралгүй хэд хэдэн NTP серверүүдийг сонгох нь хамгийн зөв
|
||
сонголт болдог. &man.ntpd.8; бусад серверээс хүлээн авсан
|
||
хариултуудыг маш ухаалгаар хэрэглэдэг—итгэж болох серверүүдийг
|
||
илүү авч үздэг.</para>
|
||
</sect2>
|
||
|
||
<sect2>
|
||
<title>Өөрийн Машиныг Тохируулах нь</title>
|
||
|
||
<indexterm>
|
||
<primary>NTP</primary>
|
||
<secondary>тохиргоо</secondary>
|
||
</indexterm>
|
||
|
||
<sect3>
|
||
<title>Үндсэн Тохиргоо</title>
|
||
<indexterm><primary>ntpdate</primary></indexterm>
|
||
|
||
<para>Хэрэв та машин асахад цагаа тааруулах хүсэлтэй
|
||
байгаа бол, &man.ntpdate.8;-г ашиглаж болно. Энэ нь олон дахин тааруулах
|
||
шаардлагагүй, ойр ойрхон асааж унтраадаг ширээний компьютерийн
|
||
хувьд зохимжтой байж болох юм. Гэхдээ ихэнх машины хувьд
|
||
&man.ntpd.8;-г ажиллуулах нь зүйтэй.</para>
|
||
|
||
<para>Систем ачаалах үед &man.ntpdate.8;-г ашиглах нь
|
||
&man.ntpd.8; ажиллаж байгаа машинуудын хувьд зөв санаа юм.
|
||
Учир нь &man.ntpd.8; програм нь цагийг алгуур өөрчилдөг байхад,
|
||
&man.ntpdate.8; машины одоогийн цаг болон зөв цагын хооронд
|
||
хир их ялгаа байгааг үл хайхран цагийг тааруулдаг.</para>
|
||
|
||
<para>&man.ntpdate.8;-г систем ачаалах үед идэвхжүүлэхийн тулд,
|
||
<literal>ntpdate_enable="YES"</literal> гэсэн мөрийг <filename>/etc/rc.conf</filename> файлд
|
||
нэмэх хэрэгтэй. Мөн цаг авах гэж байгаа бүх серверүүд болон
|
||
&man.ntpdate.8;-д өгөх тугуудыг <varname>ntpdate_flags</varname>-д зааж өгөх хэрэгтэй.</para>
|
||
</sect3>
|
||
|
||
<sect3>
|
||
<indexterm>
|
||
<primary>NTP</primary>
|
||
<secondary>ntp.conf</secondary>
|
||
</indexterm>
|
||
|
||
<title>Ерөнхий Тохиргоо</title>
|
||
|
||
<para>NTP-г <filename>/etc/ntp.conf</filename> файлын тусламжтай,
|
||
&man.ntp.conf.5;-д заасан хэлбэрээр тохируулна. Доор хялбар жишээг
|
||
үзүүлэв:</para>
|
||
|
||
<programlisting>server ntplocal.example.com prefer
|
||
server timeserver.example.org
|
||
server ntp2a.example.net
|
||
|
||
driftfile /var/db/ntp.drift</programlisting>
|
||
|
||
<para><literal>server</literal> тохируулгаар
|
||
ямар серверүүдийг ашиглахыг заана. Нэг мөрөнд нэг серверийг бичнэ.
|
||
Хэрэв аль нэг серверийг <literal>prefer</literal> гэсэн аргументаар
|
||
онцолсон бол, <hostid
|
||
role="fqdn">ntplocal.example.com</hostid> шиг, тэр серверийг
|
||
бусдаас илүүд үзнэ. Илүүд үзсэн серверээс ирсэн хариу
|
||
бусад серверүүдийн хариунаас мэдэгдэхүйцээр
|
||
зөрж байгаа үед хариуг тоохгүй өнгөрөөнө. Түүнээс бусад тохиолдолд
|
||
бусад серверийн хариуг үл харгалзан тэр серверийн хариуг
|
||
хэрэглэх болно. <literal>prefer</literal> аргументийг ер нь
|
||
өндөр нарийвчлалтай, тусгай цаг хянадаг тоног төхөөрөмж дээр тулгуурласан NTP
|
||
серверийн хувьд хэрэглэнэ.</para>
|
||
|
||
<para><literal>driftfile</literal> тохируулгаар
|
||
ямар файлд системийн цагийн алдах зөрүү утгыг хадгалж байгааг заана.
|
||
&man.ntpd.8; програм энэ утгыг ашиглан цагийн алдсан зөрүүг автоматаар нөхнө.
|
||
Ингэснээр цагийн бүх гадаад эх үүсвэрүүдтэй холбоо тогтоох боломжгүй болсон
|
||
үед, хэсэг хугацааны туршид ч гэсэн цагийг харьцангуй зөв ажиллуулах боломжийг
|
||
олгоно.</para>
|
||
|
||
<para><literal>driftfile</literal> тохируулгаар ямар файлд таны зааж өгсөн
|
||
NTP серверүүдийн өмнөх хариунуудын тухай мэдээллийг
|
||
хадгалж байгааг заана. Энэ файлд NTP-н дотоод үйл ажиллагааны мэдээллийг
|
||
хадгалдаг. Энэ мэдээллийг өөр ямар ч процесс өөрчлөх ёсгүй.</para>
|
||
</sect3>
|
||
|
||
<sect3>
|
||
<title>Өөрийн Сервер рүү Хандах Хандалтыг Хянах нь</title>
|
||
|
||
<para>Анхдагч байдлаар, таны NTP сервер рүү Интернэтэд байгаа бүх хост
|
||
хандах боломжтой. <filename>/etc/ntp.conf</filename> файл дотор
|
||
<literal>restrict</literal> тохируулгаар ямар машинууд таны сервер рүү хандаж болохыг
|
||
хянаж болно.</para>
|
||
|
||
<para>Хэрэв та өөрийн NTP сервер рүү хэнийг ч хандуулахыг хүсэхгүй байгаа бол
|
||
<filename>/etc/ntp.conf</filename> файл дотор дараах мөрийг нэмэх хэрэгтэй:</para>
|
||
|
||
<programlisting>restrict default ignore</programlisting>
|
||
|
||
<note>
|
||
<para>Энэ нь таны серверээс өөрийн чинь локал тохиргоонд жагсаагдсан
|
||
аль ч сервер үрүү хандах боломжийг бас хаана.
|
||
Хэрэв та өөрийн NTP серверийг гадаад NTP сервертэй
|
||
синхрончлох хэрэгтэй бол ямар нэг серверийг зөвшөөрөх
|
||
ёстой. Дэлгэрэнгүй мэдээллийг &man.ntp.conf.5; гарын авлагаас
|
||
үзнэ үү.</para>
|
||
</note>
|
||
|
||
<para>Хэрэв та зөвхөн өөрийн сүлжээнд байгаа машинуудыг
|
||
таны сервертэй цагаа тааруулахыг зөвшөөрөөд, гэхдээ
|
||
таны серверийн тохиргоог өөрчлөх болон тэгш эрхтэй серверүүд шиг
|
||
цагийн мэдээллийг хуваахыг зөвшөөрөхгүй бол дээр дурдсаны оронд:</para>
|
||
|
||
<programlisting>restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap</programlisting>
|
||
|
||
<para>гэсэн мөрийг бичнэ үү. Энд <hostid role="ipaddr">192.168.1.0</hostid> нь таны сүлжээний
|
||
IP хаяг, <hostid role="netmask">255.255.255.0</hostid> нь таны сүлжээний баг болно.</para>
|
||
|
||
<para><filename>/etc/ntp.conf</filename> дотор олон тооны <literal>restrict</literal>
|
||
тохируулгууд байж болно. Илүү дэлгэрэнгүй мэдээллийг &man.ntp.conf.5;-н
|
||
<literal>Хандалтыг Удирдах Дэмжлэг</literal> дэд хэсгээс үзнэ үү.</para>
|
||
</sect3>
|
||
</sect2>
|
||
|
||
<sect2>
|
||
<title>NTP Серверийг Ажиллуулах нь</title>
|
||
|
||
<para>NTP серверийг систем ачаалах үед эхлүүлэхийн тулд,
|
||
<literal>ntpd_enable="YES"</literal> гэсэн мөрийг <filename>/etc/rc.conf</filename> файлд нэмж бичих
|
||
хэрэгтэй. Хэрэв &man.ntpd.8;-д нэмэлт тугуудыг өгөх хүсэлтэй бол,
|
||
<filename>/etc/rc.conf</filename> файлд байгаа <varname>ntpd_flags</varname> параметрийг засах хэрэгтэй.</para>
|
||
|
||
<para>Машиныг дахин ачаалалгүйгээр серверийг эхлүүлэхийн тулд,
|
||
<command>ntpd</command> тушаалыг <filename>/etc/rc.conf</filename>-д заасан
|
||
<varname>ntpd_flags</varname> нэмэлт параметрүүдийн хамтаар өгөх хэрэгтэй. Жишээлбэл:</para>
|
||
|
||
<screen>&prompt.root; <userinput>ntpd -p /var/run/ntpd.pid</userinput></screen>
|
||
</sect2>
|
||
|
||
<sect2>
|
||
<title>ntpd-г Түр зуурын Интернэт Холболттой үед Хэрэглэх нь</title>
|
||
|
||
<para>&man.ntpd.8; програм зөв ажиллахын тулд байнгын Интернэт
|
||
холболт шаардлагагүй. Гэхдээ, хэрэгцээтэй үедээ гадагшаа залгадаг
|
||
тийм төрлийн түр зуурын холболттой бол, NTP трафикийг
|
||
гадагшаа залгах болон холболтыг бариад байхаас сэргийлэх нь чухал.
|
||
Хэрэв та PPP хэрэглэдэг бол, <filename>/etc/ppp/ppp.conf</filename> файл дотор байгаа
|
||
<literal>filter</literal> директивийг ашиглаж болно. Жишээ нь:</para>
|
||
|
||
<programlisting> set filter dial 0 deny udp src eq 123
|
||
# Prevent NTP traffic from initiating dial out
|
||
set filter dial 1 permit 0 0
|
||
set filter alive 0 deny udp src eq 123
|
||
# Prevent incoming NTP traffic from keeping the connection open
|
||
set filter alive 1 deny udp dst eq 123
|
||
# Prevent outgoing NTP traffic from keeping the connection open
|
||
set filter alive 2 permit 0/0 0/0</programlisting>
|
||
|
||
<para>Дэлгэрэнгүй мэдээллийг &man.ppp.8;-н <literal>PACKET FILTERING</literal>
|
||
хэсгээс болон <filename>/usr/share/examples/ppp/</filename>-д байгаа жишээнүүдээс авч болно.</para>
|
||
|
||
<note>
|
||
<para>Зарим Интернэт үйлчилгээ үзүүлэгчид бага дугаартай портуудыг хаасан байдаг бөгөөд
|
||
ингэснээр хариу нь таны машинд хэзээ ч хүрэхгүй болж NTP ажиллахгүй болдог.</para>
|
||
</note>
|
||
</sect2>
|
||
|
||
<sect2>
|
||
<title>Цааших Мэдээлэл</title>
|
||
|
||
<para>NTP серверийн баримтжуулалтыг HTML хэлбэрээр
|
||
<filename>/usr/share/doc/ntp/</filename>-с олж үзэж болно.</para>
|
||
</sect2>
|
||
</sect1>
|
||
|
||
<sect1 id="network-syslogd">
|
||
<sect1info>
|
||
<authorgroup>
|
||
<author>
|
||
<firstname>Том</firstname>
|
||
<surname>Рөүдс</surname>
|
||
<contrib>Хувь нэмэр болгон оруулсан </contrib>
|
||
</author>
|
||
</authorgroup>
|
||
</sect1info>
|
||
|
||
<title><command>syslogd</command> ашиглан алсын хост руу бүртгэх нь</title>
|
||
|
||
<para>Системийн бүртгэлтэй ажиллах нь аюулгүй байдлын болоод системийг
|
||
удирдах ажиллагааны чухал асуудал юм. Хостууд дунд зэргийн эсвэл том
|
||
сүлжээнд тархсан эсвэл тэдгээр нь төрөл бүрийн олон янзын сүлжээний хэсэг
|
||
болсон байх тохиолдолд эдгээр олон хостын бүртгэлийн файлуудыг
|
||
монитор хийх нь ихээхэн төвөгтэй болдог. Энэ тохиолдолд алсаас бүртгэхийг
|
||
тохируулах нь бүх л процессийг илүү тухтай болгодог.</para>
|
||
|
||
<para>Тусгайлан заасан бүртгэх хост руу төвлөрүүлэн бүртгэх нь бүртгэлийн
|
||
файлын удирдлагатай холбоотой зарим хүндрэлүүдийг багасгаж чаддаг.
|
||
&man.syslogd.8; болон &man.newsyslog.8; зэрэг &os;-ийн эх хэрэгслүүдийг
|
||
ашиглан бүртгэлийн файлын цуглуулга, нийлүүлэлт болон багасгалтыг нэг газар тохируулж
|
||
болдог. Дараах жишээ тохиргоонд <hostid role="fqdn">logserv.example.com</hostid>
|
||
гэж нэрлэгдсэн хост <hostid>A</hostid> локал сүлжээнээс бүртгэлийн мэдээллийг
|
||
цуглуулах болно. <hostid role="fqdn">logclient.example.com</hostid> гэж
|
||
нэрлэгдсэн хост <hostid>B</hostid> бүртгэлийн мэдээллийг сервер систем рүү
|
||
дамжуулах болно. Жинхэнэ тохиргоонд эдгээр хостууд зохих дамжуулах болон буцах
|
||
<acronym>DNS</acronym> эсвэл <filename>/etc/hosts</filename> файлд
|
||
оруулгууд шаардана. Тэгэхгүй бол өгөгдлийг сервер хүлээн авахгүй татгалзах
|
||
болно.</para>
|
||
|
||
<sect2>
|
||
<title>Бүртгэлийн серверийн тохиргоо</title>
|
||
|
||
<para>Бүртгэлийн серверүүд нь алсын хостуудаас бүртгэлийн мэдээллийг хүлээн
|
||
авахаар тохируулагдсан машинууд юм. Ихэнх тохиолдолд энэ нь тохиргоог
|
||
хялбар болгох зорилготой бөгөөд зарим тохиолдолд энэ нь удирдлагыг арай
|
||
сайжруулж байгаа хэлбэр байж болох юм. Аль ч шалтгаан байсан гэсэн
|
||
үргэлжлүүлэхээсээ өмнө цөөн хэдэн шаардлагыг дурдъя.</para>
|
||
|
||
<para>Зөв тохируулсан бүртгэлийн сервер дараах хамгийн бага шаардлагыг хангасан
|
||
байх шаардлагатай:</para>
|
||
|
||
<itemizedlist>
|
||
<listitem>
|
||
<para>Клиент болон сервер дээр 514-р порт руу
|
||
<acronym>UDP</acronym>-г дамжуулах боломжийг бүрдүүлэх галт хананы
|
||
дүрэм;</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>Клиент машинаас алсын мэдэгдлүүдийг хүлээн авахаар syslogd
|
||
тохируулагдсан байх;</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>syslogd сервер болон бүх клиент машинууд нь дамжуулах
|
||
болон буцах <acronym>DNS</acronym>-ийн хувьд зөв оруулгуудтай
|
||
эсвэл <filename>/etc/hosts</filename> файлд зөв тохируулсан
|
||
байх шаардлагатай.</para>
|
||
</listitem>
|
||
</itemizedlist>
|
||
|
||
<para>Бүртгэлийн серверийг тохируулахын тулд клиент нь
|
||
<filename>/etc/syslog.conf</filename>-д нэмэгдсэн байх
|
||
ёстой бөгөөд бүртгэх боломжийг зааж өгсөн байх шаардлагатай:</para>
|
||
|
||
<programlisting>+logclient.example.com
|
||
*.* /var/log/logclient.log</programlisting>
|
||
|
||
<note>
|
||
<para>Төрөл бүрийн дэмжигдсэн, байгаа <emphasis>facility</emphasis>
|
||
буюу <emphasis>боломжуудын</emphasis> талаарх дэлгэрэнгүй мэдээллийг
|
||
&man.syslog.conf.5; гарын авлагын хуудаснаас олж болно.</para>
|
||
</note>
|
||
|
||
<para>Нэмсэний дараа бүх <literal>facility</literal> мэдэгдлүүд
|
||
өмнө заасан <filename>/var/log/logclient.log</filename> файл руу
|
||
бүртгэгдэх болно.</para>
|
||
|
||
<para>Сервер машин дараах тохиргоог бас <filename>/etc/rc.conf</filename>
|
||
файлдаа хийсэн байх шаардлагатай:</para>
|
||
|
||
<programlisting>syslogd_enable="YES"
|
||
syslogd_flags="-a logclient.example.com -vv"</programlisting>
|
||
|
||
<para>Эхний тохиргоо нь <command>syslogd</command> демоныг эхлүүлэхийг
|
||
заах бөгөөд хоёр дахь нь клиетийн өгөгдлийг энэ сервер дээр хүлээн авахыг
|
||
зөвшөөрнө. Сүүлийн <option>-vv</option> хэсэг нь бүртгэж байгаа
|
||
мэдэгдлүүдийн гаралтыг илүү дэлгэрэнгүй болгоно. Энэ нь facility-г
|
||
тохируулахад ихээхэн ашигтай байдаг. Администраторууд ямар төрлийн
|
||
мэдэгдлүүд ямар facility-р бүртгэгдэж байгааг хянах боломжийг энэ нь
|
||
бүрдүүлдэг.</para>
|
||
|
||
<para>Олон клиентээс бүртгэлийг хүлээн авахын тулд олон <option>-a</option>
|
||
сонголтыг зааж өгч болно. <acronym>IP</acronym> хаягууд болон
|
||
бүхэл сүлжээний блокийг бас зааж өгч болох бөгөөд боломжит сонголтуудын
|
||
бүх жагсаалтыг &man.syslog.3; гарын авлагын хуудаснаас үзнэ үү.</para>
|
||
|
||
<para>Төгсгөлд нь бүртгэлийн файлыг үүсгэх хэрэгтэй. Хэрэглэгсэн арга нь
|
||
хамаагүй боловч &man.touch.1; үүнтэй адил тохиолдлуудад сайн
|
||
ажилладаг:</para>
|
||
|
||
<screen>&prompt.root; <userinput>touch <filename>/var/log/logclient.log</filename></userinput></screen>
|
||
|
||
<para>Энэ үед <command>syslogd</command> демоныг дахин
|
||
ажиллуулж шалгах ёстой:</para>
|
||
|
||
<screen>&prompt.root; <userinput>/etc/rc.d/syslogd restart</userinput>
|
||
&prompt.root; <userinput>pgrep syslog</userinput></screen>
|
||
|
||
<para>Хэрэв <acronym>PID</acronym> буцаагдвал сервер нь амжилттай
|
||
дахин эхэлсэн гэсэн үг бөгөөд клиентийн тохиргоо ажиллаж эхэлнэ. Хэрэв
|
||
сервер дахин эхлээгүй бол ямар нэг зүйл болсон эсэхийг
|
||
<filename>/var/log/messages</filename> файл дахь мэдэгдлүүдээс
|
||
шалгаарай.</para>
|
||
</sect2>
|
||
|
||
<sect2>
|
||
<title>Клиентийн бүртгэлийн тохиргоо</title>
|
||
|
||
<para>Бүртгэл илгээгч клиент нь өөр дээрээ хуулбараа үлдээхээс гадна
|
||
бас бүртгэлийн сервер рүү бүртгэлийн мэдээллийг явуулдаг машин юм.</para>
|
||
|
||
<para>Бүртгэлийн серверүүдийн нэгэн адил клиентүүд нь бас хамгийн бага
|
||
шаардлагыг хангасан байх ёстой:</para>
|
||
|
||
<itemizedlist>
|
||
<listitem>
|
||
<para>&man.syslogd.8; нь бүртгэлийн сервер хүлээн авах ёстой
|
||
заасан төрлийн мэдэгдлүүдийг бүртгэлийн сервер рүү илгээхээр
|
||
тохируулагдсан байх ёстой;</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>Галт хана <acronym>UDP</acronym> пакетуудыг
|
||
514-р порт руу зөвшөөрөх ёстой;</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>Дамжуулах болон буцах <acronym>DNS</acronym>
|
||
тохируулагдсан эсвэл <filename>/etc/hosts</filename> файл зохих
|
||
оруулгуудтай байх шаардлагатай.</para>
|
||
</listitem>
|
||
</itemizedlist>
|
||
|
||
<para>Клиентийн тохиргоо нь серверийнхтэй харьцуулах юм бол арай зөөлөн
|
||
байдаг. Клиент машин нь <filename>/etc/rc.conf</filename> файлдаа
|
||
дараахийг нэмж өгсөн байх шаардлагатай байдаг:</para>
|
||
|
||
<programlisting>syslogd_enable="YES"
|
||
syslogd_flags="-s -vv"</programlisting>
|
||
|
||
<para>Өмнө дурдсаны адил эдгээр тохиргоонууд нь
|
||
<command>syslogd</command> демоныг ачаалж эхлэхэд эхлүүлэхийг
|
||
заах бөгөөд бүртгэх мэдэгдлүүдийг дэлгэрэнгүйгээр харуулах болно.
|
||
<option>-s</option> сонголт нь бусад хостуудаас бүртгэлийг энэ
|
||
клиент хүлээн авахаас сэргийлдэг.</para>
|
||
|
||
<para>Facility нь мэдэгдэл үүсгэгдэж байгаа тэр системийн хэсгийг
|
||
тайлбарладаг. Жишээ нь <acronym>ftp</acronym> болон
|
||
<acronym>ipfw</acronym> нь хоёулаа facility юм. Эдгээр хоёр
|
||
үйлчилгээний хувьд бүртгэлийн мэдэгдлүүд үүсэхэд ихэвчлэн дээрх
|
||
хоёр хэрэгслийг бүртгэлийн мэдэгдэл бүртээ агуулсан байдаг.
|
||
Facility нь бүртгэлийн мэдэгдэл ямар чухлыг тэмдэглэхэд хэрэглэгдэх
|
||
дараалал эсвэл түвшинтэй байдаг. Хамгийн түгээмэл нь
|
||
<literal>warning</literal> ба <literal>info</literal> юм.
|
||
Боломжит бүх facilty болон дарааллуудын жагсаалтыг
|
||
&man.syslog.3; гарын авлагын хуудаснаас үзнэ үү.</para>
|
||
|
||
<para>Бүртгэлийн серверийг клиентийн <filename>/etc/syslog.conf</filename>
|
||
файлд заасан байх шаардлагатай. Энэ жишээн дээр алсын сервер рүү
|
||
бүртгэлийн өгөгдлийг илгээхийн тулд <literal>@</literal>
|
||
тэмдгийг ашигласан бөгөөд доор дурдсан мөртэй төстэй
|
||
харагдана:</para>
|
||
|
||
<programlisting>*.* @logserv.example.com</programlisting>
|
||
|
||
<para>Нэмсэний дараа өөрчлөлтийг хүчинтэй болгохын тулд
|
||
<command>syslogd</command>-г дахин эхлүүлэх шаардлагатай:</para>
|
||
|
||
<screen>&prompt.root; <userinput>/etc/rc.d/syslogd restart</userinput></screen>
|
||
|
||
<para>Сүлжээгээр бүртгэлийн мэдэгдлүүдийг илгээж байгаа эсэхийг
|
||
тест хийхийн тулд клиент дээр &man.logger.1;-г ашиглаж мэдэгдлийг
|
||
<command>syslogd</command> руу илгээнэ:</para>
|
||
|
||
<screen>&prompt.root; <userinput>logger "Test message from logclient"</userinput></screen>
|
||
|
||
<para>Энэ мэдэгдэл клиент дээрх
|
||
<filename>/var/log/messages</filename> болон
|
||
сервер дээрх <filename>/var/log/logclient.log</filename>
|
||
файлд одоо орсон байх ёстой.</para>
|
||
</sect2>
|
||
|
||
<sect2>
|
||
<title>Бүртгэлийн серверүүдийг дибаг хийх</title>
|
||
|
||
<para>Зарим тохиолдолд хэрэв бүртгэлийн сервер дээр мэдэгдлүүд нь
|
||
хүлээн авагдаагүй бол дибаг хийх шаардлагатай байж болох юм.
|
||
Хэд хэдэн шалтгаанаас болж ийм байдалд хүрч болох юм. Хамгийн
|
||
түгээмэл хоёр нь сүлжээний холболтын болон <acronym>DNS</acronym>-тэй
|
||
холбоотой асуудлууд юм. Эдгээр тохиолдлуудыг тест хийхийн тулд
|
||
хоёр хост хоёулаа <filename>/etc/rc.conf</filename> файлд заагдсан
|
||
хостын нэрээрээ нэг нэгэн рүүгээ хүрч чадаж байгааг шалгах
|
||
хэрэгтэй. Хэрэв энэ зөв ажиллаж байгаа бол <filename>/etc/rc.conf</filename>
|
||
файлд <literal>syslogd_flags</literal> тохиргоог өөрчлөх
|
||
шаардлагатай болно.</para>
|
||
|
||
<para>Дараах жишээн дээр <filename>/var/log/logclient.log</filename> нь хоосон
|
||
бөгөөд <filename>/var/log/messages</filename> файл нь амжилтгүй болсон
|
||
шалтгааныг харуулна. Дибаг хийж байгаа гаралтыг илүү дэлгэрэнгүй харуулахын
|
||
тулд дараах жишээтэй төстэйгөөр <literal>syslogd_flags</literal>
|
||
тохируулгыг өөрчилж дахин ачаалах хэрэгтэй:</para>
|
||
|
||
<programlisting>syslogd_flags="-d -a logclien.example.com -vv"</programlisting>
|
||
|
||
<screen>&prompt.root; <userinput>/etc/rc.d/syslogd restart</userinput></screen>
|
||
|
||
<para>Доор дурдсантай төстэй дибаг өгөгдөл дахин ачаалсны дараа
|
||
дэлгэц дээр хурдан гарч өнгөрнө:</para>
|
||
|
||
<screen>logmsg: pri 56, flags 4, from logserv.example.com, msg syslogd: restart
|
||
syslogd: restarted
|
||
logmsg: pri 6, flags 4, from logserv.example.com, msg syslogd: kernel boot file is /boot/kernel/kernel
|
||
Logging to FILE /var/log/messages
|
||
syslogd: kernel boot file is /boot/kernel/kernel
|
||
cvthname(192.168.1.10)
|
||
validate: dgram from IP 192.168.1.10, port 514, name logclient.example.com;
|
||
rejected in rule 0 due to name mismatch.</screen>
|
||
|
||
<para>Мэдэгдлүүд нэр зөрснөөс болоод дамжихгүй байгааг эндээс
|
||
харж болно. Тохиргоог алхам алхмаар дахин шалгасны дараа
|
||
<filename>/etc/rc.conf</filename> дахь дараах мөр
|
||
буруу бичигдсэн бөгөөд асуудалтай байгааг олж харна:</para>
|
||
|
||
<programlisting>syslogd_flags="-d -a logclien.example.com -vv"</programlisting>
|
||
|
||
<para>Энэ мөр <literal>logclien</literal> биш
|
||
<literal>logclient</literal> гэдгийг агуулсан байх ёстой.
|
||
Зөв болгож засан дахин ачаалсны дараа хүлээж байсан үр
|
||
дүнгээ харах болно:</para>
|
||
|
||
<screen>&prompt.root; <userinput>/etc/rc.d/syslogd restart</userinput>
|
||
logmsg: pri 56, flags 4, from logserv.example.com, msg syslogd: restart
|
||
syslogd: restarted
|
||
logmsg: pri 6, flags 4, from logserv.example.com, msg syslogd: kernel boot file is /boot/kernel/kernel
|
||
syslogd: kernel boot file is /boot/kernel/kernel
|
||
logmsg: pri 166, flags 17, from logserv.example.com,
|
||
msg Dec 10 20:55:02 <syslog.err> logserv.example.com syslogd: exiting on signal 2
|
||
cvthname(192.168.1.10)
|
||
validate: dgram from IP 192.168.1.10, port 514, name logclient.example.com;
|
||
accepted in rule 0.
|
||
logmsg: pri 15, flags 0, from logclient.example.com, msg Dec 11 02:01:28 trhodes: Test message 2
|
||
Logging to FILE /var/log/logclient.log
|
||
Logging to FILE /var/log/messages</screen>
|
||
|
||
<para>Энэ үед мэдэгдлүүдийг зөв хүлээн аван зөв
|
||
файлд бичих болно.</para>
|
||
</sect2>
|
||
|
||
<sect2>
|
||
<title>Аюулгүй байдлын хувьд бодолцох зүйлс</title>
|
||
|
||
<para>Сүлжээний аль ч үйлчилгээний нэгэн адил энэ тохиргоог
|
||
хийхээсээ өмнө аюулгүй байдлын шаардлагуудыг бодолцох ёстой. Заримдаа
|
||
бүртгэлийн файлууд нь локал хост дээр идэвхжүүлсэн үйлчилгээнүүд,
|
||
хэрэглэгчдийн бүртгэл болон тохиргооны өгөгдлийн талаарх эмзэг
|
||
өгөгдлүүдийг агуулсан байж болох юм. Клиентээс сервер рүү илгээсэн
|
||
сүлжээний өгөгдөл нь шифрлэгдээгүй эсвэл нууц үгээр хамгаалагдаагүй
|
||
байдаг. Хэрэв шифрлэх шаардлагатай бол өгөгдлийг шифрлэсэн хоолойгоор
|
||
дамжуулах <filename role="package">security/stunnel</filename>
|
||
хэрэгслийг ашиглаж болох юм.</para>
|
||
|
||
<para>Локал аюулгүй байдал нь бас л асуудал юм. Бүртгэлийн файлууд нь
|
||
хэрэглэж байхад юм уу эсвэл бүртгэлийн багасгах үед шифрлэгддэггүй.
|
||
Локал хэрэглэгчид эдгээр файлуудад хандаж системийн тохиргооны талаар
|
||
нэмэлт мэдээлэл олж авч болох юм. Ийм тохиолдолд эдгээр файлууд дээр
|
||
зөв зөвшөөрлүүдийг тавих нь чухал юм. &man.newsyslog.8; хэрэгсэл нь
|
||
шинээр үүсгэгдсэн болон багасгагдсан бүртгэлийн файлууд дээр зөвшөөрөл
|
||
тавихыг дэмждэг. Бүртгэлийн файлууд дээр <literal>600</literal>
|
||
горимыг тавьснаар хүсээгүй локал хэрэглэгчид тэдгээрийг шиншлэх
|
||
боломжийг хаах юм.</para>
|
||
</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 -->
|