Add all missing sections

MFen 1.329
This commit is contained in:
Denis Peplin 2004-07-19 17:35:48 +00:00
parent 307bed65ca
commit fac9e67a58
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/head/; revision=21579

View file

@ -2,9 +2,9 @@
The FreeBSD Russian Documentation Project
$FreeBSD$
$FreeBSDru: frdp/doc/ru_RU.KOI8-R/books/handbook/advanced-networking/chapter.sgml,v 1.91 2004/04/13 06:55:14 den Exp $
$FreeBSDru: frdp/doc/ru_RU.KOI8-R/books/handbook/advanced-networking/chapter.sgml,v 1.101 2004/07/19 17:02:48 den Exp $
Original revision: 1.324
Original revision: 1.329
-->
<chapter id="advanced-networking">
@ -14,8 +14,7 @@
<title>Краткий обзор</title>
<para>Эта глава охватывает множество различных сетевых тематик
ÐÏ×ÙÛÅÎÎÏÊ ÓÌÏÖÎÏÓÔÉ. úÄÅÓØ ÂÕÄÕÔ ÏÐÉÓÁÎÙ ÎÅÓËÏÌØËÏ ÒÁÚÌÉÞÎÙÈ
ÓÅÔÅ×ÙÈ ÔÏÐÏÌÏÇÉÊ É ÐÒÏÔÏËÏÌÏ×.</para>
повышенной сложности.</para>
<para>После чтения этой главы вы будете знать:</para>
@ -65,6 +64,17 @@
<listitem>
<para>Свободно владеть основными сетевыми терминами.</para>
</listitem>
<listitem>
<para>Знать как настраивать и устанавливать новое ядро FreeBSD
(<xref linkend="kernelconfig">).</para>
</listitem>
<listitem>
<para>Знать как устанавливать дополнительное программное
обеспечение сторонних разработчиков
(<xref linkend="ports">).</para>
</listitem>
</itemizedlist>
</sect1>
@ -457,9 +467,138 @@ host2.example.com link#1 UC 0 0
</sect2>
<sect2>
<title>Setting Up Static Routes *</title>
<sect2info>
<authorgroup>
<author>
<firstname>Al</firstname>
<surname>Hoang</surname>
<contrib>Предоставил </contrib>
</author>
</authorgroup>
</sect2info>
<!-- Feb 2004 -->
<title>Настройка статических маршрутов</title>
<para>üÔÏÔ ÒÁÚÄÅÌ ÎÅ ÐÅÒÅ×ÅÄÅÎ.</para>
<sect3>
<title>Ручная настройка</title>
<para>Предположим, что у нас есть следующая сеть:</para>
<mediaobject>
<imageobject>
<imagedata fileref="advanced-networking/static-routes">
</imageobject>
<textobject>
<literallayout class="monospaced">
INTERNET
| (10.0.0.1/24) Default Router to Internet
|
|Interface xl0
|10.0.0.10/24
+------+
| | RouterA
| | (FreeBSD gateway)
+------+
| Interface xl1
| 192.168.1.1/24
|
+--------------------------------+
Internal Net 1 | 192.168.1.2/24
|
+------+
| | RouterB
| |
+------+
| 192.168.2.1/24
|
Internal Net 2
</literallayout>
</textobject>
</mediaobject>
<para>В этом сценарии, <hostid>RouterA</hostid> это наш
компьютер с &os;, который выступает в качестве
маршрутизатора в сеть Интернет. Его маршрут по умолчанию
настроен на <hostid
role="ipaddr">10.0.0.1</hostid>, что позволяет ему
соединяться с внешним миром. Мы будем предполагать, что
<hostid>RouterB</hostid> уже правильно настроен и
знает все необходимые маршруты (на этом рисунке все
просто; добавьте на <hostid>RouterB</hostid> маршрут
по умолчанию, используя <hostid
role="ipaddr">192.168.1.1</hostid> в качестве шлюза).</para>
<para>Если мы посмотрим на таблицу маршрутизации
<hostid>RouterA</hostid>, то увидим примерно следующее:</para>
<screen>&prompt.user; <userinput>netstat -nr</userinput>
Routing tables
Internet:
Destination Gateway Flags Refs Use Netif Expire
default 10.0.0.1 UGS 0 49378 xl0
127.0.0.1 127.0.0.1 UH 0 6 lo0
10.0.0/24 link#1 UC 0 0 xl0
192.168.1/24 link#2 UC 0 0 xl1</screen>
<para>С текущей таблицей маршрутизации <hostid>RouterA</hostid>
не сможет достичь внутренней сети 2 (Internal Net 2).
Один из способов обхода этой проблемы &mdash; добавление
маршрута вручную. Следующая команда добавляет
внутреннюю сеть 2 к таблице маршрутизации
<hostid>RouterA</hostid> с <hostid
role="ipaddr">192.168.1.2</hostid> в качестве следующего
узла:</para>
<screen>&prompt.root; <userinput>route add -net 192.168.2.0/24 192.168.1.2</userinput></screen>
<para>Теперь <hostid>RouterA</hostid> сможет достичь любого хоста
в сети
<hostid role="ipaddr">192.168.2.0/24</hostid>.</para>
</sect3>
<sect3>
<title>Постоянная конфигурация</title>
<para>Предыдущий пример прекрасно подходит для настройки статического
маршрута в работающей системе. Однако, проблема заключается в
том, что маршрутная информация не сохранится после перезагрузки
&os;. Способ сохранения добавленного маршрута заключается в
добавлении его в файл <filename>/etc/rc.conf</filename>:</para>
<programlisting># Добавление статического маршрута в Internal Net 2
static_routes="internalnet2"
route_internalnet2="-net 192.168.2.0/24 192.168.1.2"</programlisting>
<para>В переменной <literal>static_routes</literal> находятся
строки, разделенные пробелами. Каждая строка означает имя
маршрута. В примере выше в <literal>static_routes</literal>
есть только одна строка, это
<replaceable>internalnet2</replaceable>. Затем мы добавили
переменную
<literal>route_<replaceable>internalnet2</replaceable></literal>,
куда помещены все параметры, которые необходимо передать
команде &man.route.8;. В примере выше была использована
команда:</para>
<screen>&prompt.root; <userinput>route add -net 192.168.2.0/24 192.168.1.2</userinput></screen>
<para>поэтому нам потребуется
<literal>"-net 192.168.2.0/24 192.168.1.2"</literal>.</para>
<para>Как было сказано выше, мы можем добавить в
<literal>static_routes</literal> более чем одну строку.
Это позволит создать несколько статических маршрутов.
В следующем примере показано добавление маршрутов для сетей <hostid
role="ipaddr">192.168.0.0/24</hostid> и <hostid
role="ipaddr">192.168.1.0/24</hostid> (этот маршрутизатор не
показан на рисунке выше:</para>
<programlisting>static_routes="net1 net2"
route_net1="-net 192.168.0.0/24 192.168.0.1"
route_net2="-net 192.168.1.0/24 192.168.1.1"</programlisting>
</sect3>
</sect2>
<sect2>
@ -1905,17 +2044,17 @@ net.link.ether.bridge.ipfw=1</programlisting>
<itemizedlist>
<listitem>
<para>Бездисковые рабочие станции совместно используют
<filename>ËÏÒÎÅ×ÕÀ</filename> ÆÁÊÌÏ×ÕÀ ÓÉÓÔÅÍÕ × ÒÅÖÉÍÅ ÔÏÌØËÏ
файловую систему <filename>/</filename> в режиме только
чтения, а также используют <filename>/usr</filename> совместно тоже
в режиме только чтения.</para>
<para><filename>ëÏÒÎÅ×ÁÑ</filename> ÆÁÊÌÏ×ÁÑ ÓÉÓÔÅÍÁ Ñ×ÌÑÅÔÓÑ ËÏÐÉÅÊ
<para>Корневая файловая система является копией
стандартной корневой системы FreeBSD (обычно сервера), с некоторыми
настроечными файлами, измененными кем-то специально для бездисковых
операций или, возможно, для рабочей станции, которой она
предназначена.</para>
<para>þÁÓÔÉ <filename>ËÏÒÎÅ×ÏÊ</filename> ÆÁÊÌÏ×ÏÊ ÓÉÓÔÅÍÙ, ËÏÔÏÒÙÅ
<para>Части корневой файловой системы, которые
должны быть доступны для записи, перекрываются файловыми системами
&man.mfs.8; (&os;&nbsp;4.X) или &man.md.4; (&os;&nbsp;5.X).
Любые изменения будут потеряны при перезагрузках
@ -1942,9 +2081,111 @@ net.link.ether.bridge.ipfw=1</programlisting>
для 5.X упоминаются особо.</para>
<sect2>
<title>Background Information *</title>
<title>Общая информация</title>
<para>üÔÏÔ ÒÁÚÄÅÌ ÎÅ ÐÅÒÅ×ÅÄÅÎ.</para>
<para>Настройка бездисковых рабочих станций относительно проста,
но в то же время легко сделать ошибку. Иногда сложно
диагностировать эти ошибки по нескольким причинам.
Например:</para>
<itemizedlist>
<listitem>
<para>Параметры компиляции могут по-разному проявлять
себя во время работы.</para>
</listitem>
<listitem>
<para>Сообщения об ошибках бывают загадочны или вовсе
отсутствуют.</para>
</listitem>
</itemizedlist>
<para>В данной ситуации некоторые знания, касающиеся используемых
внутренних механизмов, очень полезны при разрешении проблем,
которые могут возникнуть.</para>
<para>Для выполнения успешной загрузки необходимо произвести
несколько операций:</para>
<itemizedlist>
<listitem>
<para>Компьютеру необходимо получить начальные параметры, такие
как собственный IP адрес, имя исполняемого файла, корневой
каталог. Для этого используются протоколы <acronym>DHCP</acronym>
или BOOTP. <acronym>DHCP</acronym> это совместимое расширение
BOOTP, используются те же номера портов и основной формат
пакетов.</para>
<para>Возможна настройка системы для использования только BOOTP.
Серверная программа &man.bootpd.8; включена в основную систему
&os;.</para>
<para>Тем не менее, у <acronym>DHCP</acronym> есть множество
преимуществ над BOOTP (лучше файлы настройки, возможность
использования <acronym>PXE</acronym>, плюс многие другие
преимущества, не относящиеся непосредственно к бездисковым
операциям), и мы в основном будем описывать настройку
<acronym>DHCP</acronym>, с эквивалентными примерами
для &man.bootpd.8;, когда это возможно. Пример
конфигурации будет использовать пакет
<application>ISC DHCP</application> (релиз
3.0.1.r12 был установлен на тестовом сервере).</para>
</listitem>
<listitem>
<para>Компьютеру требуется загрузить в локальную память одну
или несколько программ. Используются <acronym>TFTP</acronym>
или <acronym>NFS</acronym>. Выбор между
<acronym>TFTP</acronym> или <acronym>NFS</acronym>
производится во время компилирования в нескольких местах.
Часто встречающаяся ошибка это указание имен файлов для
другого протокола: <acronym>TFTP</acronym> обычно
загружает все файлы с одного каталога сервера, и принимает
имена файлов относительно этого каталога. <acronym>NFS</acronym>
нужны абсолютные пути к файлам.</para>
</listitem>
<listitem>
<para>Необходимо инициализировать и выполнить возможные
промежуточные программы загрузки и ядро. В этой области
существует несколько важных вариаций:</para>
<itemizedlist>
<listitem>
<para><acronym>PXE</acronym> загрузит &man.pxeboot.8;,
являющийся модифицированной версией загрузчика
третьей стадии &os;. &man.loader.8; получит большинство
параметров, необходимых для старта системы, и оставит
их в окружении ядра до контроля передачи. В этом
случае возможно использование ядра
<filename>GENERIC</filename>.</para>
</listitem>
<listitem>
<para><application>etherboot</application>, непосредственно
загрузит ядро, с меньшей подготовкой. Вам потребуется
собрать ядро со специальными параметрами.</para>
</listitem>
</itemizedlist>
<para><acronym>PXE</acronym> и <application>etherboot</application>
работают одинаково хорошо с системами 4.X. Поскольку ядро
5.X обычно позволяет &man.loader.8; выполнить больше
предварительной работы, метод <acronym>PXE</acronym> на системах
5.X предпочтителен.</para>
<para>Если ваш <acronym>BIOS</acronym> и сетевые карты поддерживают
<acronym>PXE</acronym>, используйте его. Однако, все же возможен
запуск системы 5.X с <application>etherboot</application>.</para>
</listitem>
<listitem>
<para>Наконец, компьютеру требуется доступ к файловым системам.
<acronym>NFS</acronym> используется во всех случаях.</para>
</listitem>
</itemizedlist>
<para>Обратитесь также к странице справочника &man.diskless.8;.</para>
</sect2>
<sect2>
@ -1965,9 +2206,7 @@ net.link.ether.bridge.ipfw=1</programlisting>
не включается в поставку системы. Сначала вам нужно будет
установить порт <filename
role="package">net/isc-dhcp3-server</filename>
ÉÌÉ ÓÏÏÔ×ÅÔÓÔ×ÕÀÝÉÊ ÐÁËÅÔ. ðÏÖÁÌÕÊÓÔÁ, ÏÂÒÁÔÉÔÅÓØ Ë <xref
linkend="ports"> ÄÌÑ ÐÏÌÕÞÅÎÉÑ ÏÂÝÅÇÏ ÐÒÅÄÓÔÁ×ÌÅÎÉÑ Ï ÐÏÒÔÁÈ É
ÐÁËÅÔÁÈ.</para>
или соответствующий пакет.</para>
<para>После установки <application>ISC DHCP</application> ему для
работы требуется конфигурационный файл (обычно называемый
@ -2144,9 +2383,29 @@ margaux:ha=0123456789ab:tc=.def100
</sect3>
<sect3>
<title>Booting with <acronym>PXE</acronym> *</title>
<title>Загрузка с <acronym>PXE</acronym></title>
<para>üÔÏÔ ÒÁÚÄÅÌ ÎÅ ÐÅÒÅ×ÅÄÅÎ.</para>
<para>По умолчанию, &man.pxeboot.8; загружает ядро через
<acronym>NFS</acronym>. Он может быть скомпилирован для
использования вместо него <acronym>TFTP</acronym> путем
указания параметра <literal>LOADER_TFTP_SUPPORT</literal> в
<filename>/etc/make.conf</filename>. Смотрите комментарии в
<filename>/etc/defaults/make.conf</filename> (или
<filename>/usr/share/examples/etc/make.conf</filename> систем
5.X) с инструкциями.</para>
<para>Есть два не документированных параметра
<filename>make.conf</filename>, которые могут быть полезны для
настройки бездискового компьютера с последовательной консолью:
<literal>BOOT_PXELDR_PROBE_KEYBOARD</literal>, и
<literal>BOOT_PXELDR_ALWAYS_SERIAL</literal> (последняя существует
только в &os;&nbsp;5.X).</para>
<para>Для использования <acronym>PXE</acronym> при загрузке компьютера
вам обычно потребуется выбрать параметр <literal>Boot from
network</literal> (загрузка по сети) в настройках
<acronym>BIOS</acronym>, или нажать функциональную клавишу во
время загрузки PC.</para>
</sect3>
<sect3>
@ -2341,10 +2600,25 @@ options BOOTP_NFSROOT # NFS mount root filesystem using BOOTP info
</sect4>
<sect4>
<title>Using the Standard <command>make world</command>
Procedure *</title>
<title>Использование стандартной процедуры
<command>make world</command></title>
<para>üÔÏÔ ÒÁÚÄÅÌ ÎÅ ÐÅÒÅ×ÅÄÅÎ.</para>
<para>Этот метод может быть применен к &os;&nbsp;4.X или 5.X и
установит новую систему (не только корневую) в
<envar>DESTDIR</envar>. Все, что вам потребуется сделать,
это просто выполнить следующий скрипт:</para>
<programlisting>#!/bin/sh
export DESTDIR=/data/misc/diskless
mkdir -p ${DESTDIR}
cd /usr/src; make world && make kernel
cd /usr/src/etc; make distribution</programlisting>
<para>Как только это будет сделано, вам может потребоваться
настроить <filename>/etc/rc.conf</filename> и
<filename>/etc/fstab</filename>, помещенные в
<envar>DESTDIR</envar>, в соответствии с вашими
потребностями.</para>
</sect4>
</sect3>
@ -2431,9 +2705,70 @@ host margaux {
</sect4>
<sect4>
<title><acronym>NFS</acronym> Swap with &os&nbsp;5.X *</title>
<title>Подкачка по <acronym>NFS</acronym> в &os;&nbsp;4.X</title>
<para>üÔÏÔ ÒÁÚÄÅÌ ÎÅ ÐÅÒÅ×ÅÄÅÎ.</para>
<para>Положение и размер файла подкачки могут быть указаны в
&os;-специфичных параметрах BOOTP/<acronym>DHCP</acronym>
с номерами 128 и 129. Ниже приведены примеры файлов
настройки для <application>ISC DHCP 3.0</application> или
<application>bootpd</application>:</para>
<procedure>
<step><para>Добавьте следующие строки к
<filename>dhcpd.conf</filename>:</para>
<programlisting>
# Global section
option swap-path code 128 = string;
option swap-size code 129 = integer 32;
host margaux {
... # Standard lines, see above
option swap-path <replaceable>"192.168.4.4:/netswapvolume/netswap"</replaceable>;
option swap-size <replaceable>64000</replaceable>;
}
</programlisting>
<para><literal>swap-path</literal> это путь к каталогу, где
расположены файлы подкачки. Файлы называются
<filename>swap.<replaceable>client-ip</replaceable></filename>.</para>
<para>Старые версии <application>dhcpd</application> используют
синтаксис <literal>option option-128 "...</literal>, которые
более не поддерживаются.</para>
<para><filename>/etc/bootptab</filename> вместо этого использует
следующий синтаксис:</para>
<programlisting>T128="192.168.4.4:/netswapvolume/netswap":T129=0000fa00</programlisting>
<note><para>В <filename>/etc/bootptab</filename>, размер
подкачки должен вычисляться в шестнадцатеричном
формате.</para></note>
</step>
<step>
<para>Создайте на <acronym>NFS</acronym> сервере с файлами подкачки
файлы:</para>
<screen>
&prompt.root; <userinput>mkdir <replaceable>/netswapvolume/netswap</replaceable></userinput>
&prompt.root; <userinput>cd <replaceable>/netswapvolume/netswap</replaceable></userinput>
&prompt.root; <userinput>dd if=/dev/zero bs=1024 count=<replaceable>64000</replaceable> of=swap.<replaceable>192.168.4.6</replaceable></userinput>
&prompt.root; <userinput>chmod 0600 swap.<replaceable>192.168.4.6</replaceable></userinput>
</screen>
<para><replaceable>192.168.4.6</replaceable> это IP адрес
бездискового клиента.</para>
</step>
<step>
<para>На файловом сервере <acronym>NFS</acronym> с файлами
подкачки добавьте следующую строку к
<filename>/etc/exports</filename>:</para>
<programlisting>
<replaceable>/netswapvolume</replaceable> -maproot=0:10 -alldirs <replaceable>margaux corbieres</replaceable>
</programlisting>
<para>Затем заставьте <application>mountd</application> перечитать
конфигурационные файлы как было показано выше.</para>
</step>
</procedure>
</sect4>
</sect3>
@ -3757,22 +4092,285 @@ gif0: flags=8010&lt;POINTOPOINT,MULTICAST&gt; mtu 1280
</sect2>
<sect2>
<title>Applying the needed changes to <filename>/etc/rc.conf</filename> *</title>
<title>Внесение необходимых изменений в
<filename>/etc/rc.conf</filename></title>
<para>üÔÏÔ ÒÁÚÄÅÌ ÎÅ ÐÅÒÅ×ÅÄÅÎ.</para>
<sect3>
<title>Настройки клиентов IPv6</title>
<para>Эти установки помогут вам настроить компьютер, который
будет работать в сети как клиент, а не как маршрутизатор.
Для включения настройки интерфейсов через &man.rtsol.8;
при загрузке, все, что вам потребуется, это добавить
следующую строку:</para>
<programlisting>ipv6_enable="YES"</programlisting>
<para>Для статического присвоения IP адреса, такого как <hostid
role="ip6addr">2001:471:1f11:251:290:27ff:fee0:2093</hostid>,
интерфейсу <devicename>fxp0</devicename>, добавьте:</para>
<programlisting>ipv6_ifconfig_fxp0="2001:471:1f11:251:290:27ff:fee0:2093"</programlisting>
<para>Для назначения маршрутизатором по умолчанию
<hostid role="ip6addr">2001:471:1f11:251::1</hostid>,
добавьте следующую строку к
<filename>/etc/rc.conf</filename>:</para>
<programlisting>ipv6_defaultrouter="2001:471:1f11:251::1"</programlisting>
</sect3>
<sect3>
<title>Настройки маршрутизатора/шлюза IPv6</title>
<para>Этот раздел поможет вам использовать инструкции, которые выдал
провайдер туннеля, например, <ulink
url="http://www.6bone.net/">6bone</ulink>, и сделать эти настройки
постоянными. Для восстановления туннеля при загрузке системы
используйте в <filename>/etc/rc.conf</filename> нижеприведенные
настройки.</para>
<para>Задайте список туннельных интерфейсов (Generic Tunneling
interfaces), которые необходимо настроить, например
<devicename>gif0</devicename>:</para>
<programlisting>gif_interfaces="gif0"</programlisting>
<para>Для настройки интерфейса с локальным подключением на
<replaceable>MY_IPv4_ADDR</replaceable> к удаленной точке
<replaceable>REMOTE_IPv4_ADDR</replaceable>:</para>
<programlisting>gif_config_gif0="<replaceable>MY_IPv4_ADDR REMOTE_IPv4_ADDR</replaceable>"</programlisting>
<para>Для включения IPv6 адреса, который был вам присвоен для
использования в подключении к туннелю IPv6, добавьте:</para>
<programlisting>ipv6_ifconfig_gif0="<replaceable>MY_ASSIGNED_IPv6_TUNNEL_ENDPOINT_ADDR</replaceable>"</programlisting>
<para>Затем все, что вам потребуется сделать, это добавить маршрут
по умолчанию для IPv6. Это другая сторона туннеля IPv6:</para>
<programlisting>ipv6_defaultrouter="<replaceable>MY_IPv6_REMOTE_TUNNEL_ENDPOINT_ADDR</replaceable>"</programlisting>
</sect3>
</sect2>
<sect2>
<title>Router Advertisement and Host Auto Configuration *</title>
<title>Распространение маршрутов и автоматическая настройка
хостов</title>
<para>üÔÏÔ ÒÁÚÄÅÌ ÎÅ ÐÅÒÅ×ÅÄÅÎ.</para>
</sect2>
<para>Этот раздел поможет вам настроить &man.rtadvd.8; для
распространения маршрута IPv6 по умолчанию.</para>
<para>Для включения &man.rtadvd.8; вам понадобится добавить в
<filename>/etc/rc.conf</filename> следующую строку:</para>
<programlisting>rtadvd_enable="YES"</programlisting>
<para>Важно указать интерфейс, на котором выполняется запрос
маршрутизатора IPv6. Например, для указания &man.rtadvd.8;
использовать <devicename>fxp0</devicename>:</para>
<programlisting>rtadvd_interfaces="fxp0"</programlisting>
<para>Теперь мы должны создать файл настройки,
<filename>/etc/rtadvd.conf</filename>. Вот пример:</para>
<programlisting>fxp0:\
:addrs#1:addr="2001:471:1f11:246::":prefixlen#64:tc=ether:</programlisting>
<para>Замените <devicename>fxp0</devicename> на интерфейс, который вы
будете использовать.</para>
<para>Затем, замените <hostid
role="ip6addr">2001:471:1f11:246::</hostid> на префикс вашего
размещения.</para>
<para>Если у вас выделенная подсеть <hostid
role="netmask">/64</hostid>, больше ничего менять не потребуется.
Иначе, вам потребуется изменить <literal>prefixlen#</literal>
на корректное значение.</para>
</sect2>
</sect1>
<sect1 id="network-atm">
<title>ATM on &os;&nbsp;5.X *</title>
<sect1info>
<authorgroup>
<author>
<firstname>Harti</firstname>
<surname>Brandt</surname>
<contrib>Предоставил </contrib>
</author>
</authorgroup>
</sect1info>
<para>üÔÏÔ ÒÁÚÄÅÌ ÎÅ ÐÅÒÅ×ÅÄÅÎ.</para>
<title>ATM в &os;&nbsp;5.X</title>
<sect2>
<title>Классическая настройка IP через ATM (PVC)</title>
<para>Классический IP через ATM (<acronym>CLIP</acronym>)
это простейший метод использования ATM с IP. Он может
быть использован с коммутируемыми подключениями
(switched connections, SVC) и с постоянными подключениями
(permanent connections, PVC). В этом разделе будет описано
как настроить сеть на основе PVC.</para>
<sect3>
<title>Полностью объединенные конфигурации</title>
<para>Первый метод для настройки <acronym>CLIP</acronym> с
PVC это подключение каждого компьютера к каждому в сети с
выделенным PVC. Хотя настройка проста, она непрактична
для большого количества компьютеров. В примере предполагается,
что в сети есть четыре компьютера, каждый подключенный к
ATM сети с помощью карты ATM адаптера. Первый шаг это
планирование IP адресов и ATM подключений между
компьютерами. Мы используем:</para>
<informaltable frame="none">
<tgroup cols="2">
<colspec colwidth="1*">
<colspec colwidth="1*">
<thead>
<row>
<entry>Хост</entry>
<entry>IP адрес</entry>
</row>
</thead>
<tbody>
<row>
<entry><hostid>hostA</hostid></entry>
<entry><hostid role="ipaddr">192.168.173.1</hostid></entry>
</row>
<row>
<entry><hostid>hostB</hostid></entry>
<entry><hostid role="ipaddr">192.168.173.2</hostid></entry>
</row>
<row>
<entry><hostid>hostC</hostid></entry>
<entry><hostid role="ipaddr">192.168.173.3</hostid></entry>
</row>
<row>
<entry><hostid>hostD</hostid></entry>
<entry><hostid role="ipaddr">192.168.173.4</hostid></entry>
</row>
</tbody>
</tgroup>
</informaltable>
<para>Для сборки полностью объединенной сети нам потребуется по
одному ATM соединению между каждой парой компьютеров:</para>
<informaltable frame="none">
<tgroup cols="2">
<colspec colwidth="1*">
<colspec colwidth="1*">
<thead>
<row>
<entry>Компьютеры</entry>
<entry>VPI.VCI соединение</entry>
</row>
</thead>
<tbody>
<row>
<entry><hostid>hostA</hostid> - <hostid>hostB</hostid></entry>
<entry>0.100</entry>
</row>
<row>
<entry><hostid>hostA</hostid> - <hostid>hostC</hostid></entry>
<entry>0.101</entry>
</row>
<row>
<entry><hostid>hostA</hostid> - <hostid>hostD</hostid></entry>
<entry>0.102</entry>
</row>
<row>
<entry><hostid>hostB</hostid> - <hostid>hostC</hostid></entry>
<entry>0.103</entry>
</row>
<row>
<entry><hostid>hostB</hostid> - <hostid>hostD</hostid></entry>
<entry>0.104</entry>
</row>
<row>
<entry><hostid>hostC</hostid> - <hostid>hostD</hostid></entry>
<entry>0.105</entry>
</row>
</tbody>
</tgroup>
</informaltable>
<para>Значения VPI и VCI на каждом конце соединения конечно могут
отличаться, но для упрощения мы предполагаем, что они одинаковы.
Затем нам потребуется настроить ATM интерфейсы на каждом
хосте:</para>
<screen>hostA&prompt.root; ifconfig hatm0 192.168.173.1 up
hostB&prompt.root; ifconfig hatm0 192.168.173.2 up
hostC&prompt.root; ifconfig hatm0 192.168.173.3 up
hostD&prompt.root; ifconfig hatm0 192.168.173.4 up</screen>
<para>предполагая, что ATM интерфейс называется
<devicename>hatm0</devicename> на всех хостах. Теперь PVC
необходимо настроить на <hostid>hostA</hostid> (мы предполагаем,
что ATM коммутаторы уже настроены, вам необходимо свериться
с руководством на коммутатор за информацией по
настройке).</para>
<screen>hostA&prompt.root; atmconfig natm add 192.168.173.2 hatm0 0 100 llc/snap ubr
hostA&prompt.root; atmconfig natm add 192.168.173.3 hatm0 0 101 llc/snap ubr
hostA&prompt.root; atmconfig natm add 192.168.173.4 hatm0 0 102 llc/snap ubr
hostB&prompt.root; atmconfig natm add 192.168.173.1 hatm0 0 100 llc/snap ubr
hostB&prompt.root; atmconfig natm add 192.168.173.3 hatm0 0 103 llc/snap ubr
hostB&prompt.root; atmconfig natm add 192.168.173.4 hatm0 0 104 llc/snap ubr
hostC&prompt.root; atmconfig natm add 192.168.173.1 hatm0 0 101 llc/snap ubr
hostC&prompt.root; atmconfig natm add 192.168.173.2 hatm0 0 103 llc/snap ubr
hostC&prompt.root; atmconfig natm add 192.168.173.4 hatm0 0 105 llc/snap ubr
hostD&prompt.root; atmconfig natm add 192.168.173.1 hatm0 0 102 llc/snap ubr
hostD&prompt.root; atmconfig natm add 192.168.173.2 hatm0 0 104 llc/snap ubr
hostD&prompt.root; atmconfig natm add 192.168.173.3 hatm0 0 105 llc/snap ubr</screen>
<para>Конечно, вместо UBR может быть использован другой тип,<!--traffic
contracts--> если ATM адаптер поддерживает это. В этом случае
имя типа дополняется параметрами трафика. Помощь по
&man.atmconfig.8; может быть получена командой:</para>
<screen>&prompt.root; <userinput>atmconfig help natm add</userinput></screen>
<para>или на странице справочника &man.atmconfig.8;.</para>
<para>Та же настройка может быть выполнена через
<filename>/etc/rc.conf</filename>. Для <hostid>hostA</hostid>
это будет выглядеть примерно так:</para>
<programlisting>network_interfaces="lo0 hatm0"
ifconfig_hatm0="inet 192.168.173.1 up"
natm_static_routes="hostB hostC hostD"
route_hostB="192.168.173.2 hatm0 0 100 llc/snap ubr"
route_hostC="192.168.173.3 hatm0 0 101 llc/snap ubr"
route_hostD="192.168.173.4 hatm0 0 102 llc/snap ubr"</programlisting>
<para>Текущий статус всех маршрутов <acronym>CLIP</acronym>
может быть получен командой:</para>
<screen>hostA&prompt.root; <userinput>atmconfig natm show</userinput></screen>
</sect3>
</sect2>
</sect1>
</chapter>