<!--
     The FreeBSD Russian Documentation Project

     $FreeBSD$
     $FreeBSDru: frdp/doc/ru_RU.KOI8-R/books/ppp-primer/book.sgml,v 1.3 2001/07/25 10:19:46 phantom Exp $

     Original revision: 1.11
-->

<!DOCTYPE BOOK PUBLIC "-//FreeBSD//DTD DocBook V4.1-Based Extension//EN" [
<!ENTITY % man PUBLIC "-//FreeBSD//ENTITIES DocBook Manual Page Entities//EN">
%man;
]>

<book>
  <bookinfo>
    <title>Подробное руководство по PPP</title>

    <authorgroup>
      <author>
        <firstname>Стив</firstname>			
        <surname>Симс</surname>
        <affiliation>
          <address><email>SimsS@IBM.net</email></address>
        </affiliation>
      </author>
    </authorgroup>

    <pubdate>$FreeBSD: doc/en_US.ISO_8859-1/books/ppp-primer/book.sgml,v 1.6 2001/01/17 07:22:10 brian Exp $</pubdate>

    <abstract>
      <para>Это подробное руководство по конфигурированию FreeBSD-систем,
        функционирующих как маршрутизаторы/шлюзы коммутируемого доступа в
        локальных сетях (LAN).  Подразумевается, что все, что описано в данном
        руководстве относится к версии FreeBSD 2.2+, кроме случаев, специально
        оговоренных.</para>
    </abstract>
  </bookinfo>

  <preface>
    <title>Краткий обзор:</title>

    <para>На данный момент настраиваемый пользователем PPP-коммутатор версии
      FreeBSD 2.2 (также известный как <emphasis remap=it>"IIJ-PPP"</emphasis>)
      поддерживает совмещение пакетов для коммутируемых соединений с Интернет.
      Эта особенность, известная также как "<emphasis
      remap=it>Маскарад</emphasis>", "<emphasis
      remap=it>IP-совмещение</emphasis>" или "<emphasis remap=it>Трансляция
      Сетевых Адесов (NAТ)</emphasis>", позволяет FreeBSD-системе
      функционировать как коммутирующий маршрутизатор между локальной сетью на
      базе Ethernet и Интернет-провайдером (ISP).  Системы в локальной сети
      могут использовать FreeBSD-систему для отправки информации в Интернет,
      используя одно единственное коммутируемое соединение.</para>
  
    <para>Это руководство объясняет как:

      <itemizedlist>
        <listitem>
          <para>конфигурировать FreeBSD-систему для установки исходящих
            соединений,</para>
        </listitem>

        <listitem>
          <para>использовать это соединение совместно с другими системами
            локальной сети,</para>
        </listitem>

        <listitem>
          <para>конфигурировать Windows-системы для использования
            FreeBSD-системы как шлюза в Интернет.</para>
        </listitem>
      </itemizedlist>
    </para>
  
    <para>Хотя основной целью данного руководства является оказание помощи при
      конфигурировании IP-совмещения, оно также включает определенные примеры
      этапов процесса настройки, необходимых для конфигурирования и установки
      каждого отдельного компонента; каждый раздел руководства является
      самостоятельным и может быть использован для облегчения процесса
      конфигурирования различных аспектов межсетевого взаимодействия с
      использованием FreeBSD-систем.</para>
  </preface>

  <chapter>
    <title>Построение локальной сети</title>

    <para>Хотя программа PPP может, а обычно так и есть, быть сконфигурирована
      <emphasis>только</emphasis> для самой FreeBSD-системы, она также может
      быть использована в качестве "шлюза" (или "маршрутизатора") между
      другими, присоединенными к локальной сети, ресурсами и Интернетом или
      другими коммутируемыми службами.</para>

    <sect1>
      <title>Типичная топология сети</title>

      <para>В качестве примера, который мы будем использовать в этом
        руководстве, рассмотрим типичную локальную сеть, представленную на
        рисунке:

        <programlisting> 
+---------+       ----&gt; Коммутируемое соединение с Интернет
| FreeBSD |       \       (т.е.: NetCom, AOL, AT&amp;T, EarthLink и т.д.)
|         |--------
| "Curly" |
|         |
+----+----+
     |
|----+-------------+-------------+----|  &lt;-- Сеть Ethernet
     |             |             |
     |             |             |
+----+----+   +----+----+   +----+----+
|         |   |         |   |         |
|  Win95  |   |   WFW   |   |  WinNT  |
| "Larry" |   |  "Moe"  |   | "Shemp" |
|         |   |         |   |         |
+---------+   +---------+   +---------+
        </programlisting>
      </para>
    </sect1>

    <sect1>
      <title>Параметры локальной сети, принятые в данном руководстве</title>

      <para>Ниже приведены принятые в этом руководстве параметры нашей
        локальной сети:</para>
  
      <para>Имеются в наличии три рабочие станции и сервер, соединенные сетевым
        Ethernet-кабелем:
        <itemizedlist>
          <listitem>
            <para>Сервер под управлением FreeBSD ("Curly") с сетевым адаптером
              NE-2000, сконфигурированным как 'ed0'</para>
          </listitem>

          <listitem>
            <para>Рабочая станция под управлением Windows '95 ("Larry") с
              "родными" 32-битными драйверами протоколов Microsoft
              TCP/IP</para>
          </listitem>

          <listitem>
            <para>Рабочая станция под управлением Windows for Workgroups
              ("Moe") с 16-битными Microsoft TCP/IP-расширениями</para>
          </listitem>

          <listitem>
            <para>Рабочая станция под управлением Windows NT ("Shemp") с
              "родными" 32-битными драйверами протоколов Microsoft
              TCP/IP</para>
          </listitem>
        </itemizedlist>
      </para>

      <para>IP-адреса сетевых Ethernet-интерфейсов этой локальной сети взяты из
        пула адресов, зарезервированных (по RFC 1918) для использования в
        закрытых локальных сетях.  Таким образом Вы смело можете использовать
        эти же самые адреса в своей локальной сети в любое время, когда
        пожелаете.  IP-адреса распределены так:</para>

      <informaltable>
      <tgroup cols=3>
      <thead>
        <row>
          <entry>Имя</entry>
          <entry>IP-адрес</entry>
	  <entry>Описание</entry>
        </row>
      </thead>
      <tbody>
        <row>
          <entry><hostid>Curly</hostid></entry>
          <entry><hostid role="ipaddr">192.168.1.1</hostid></entry>
          <entry>Система FreeBSD</entry>
        </row>

        <row>
          <entry><hostid>Larry</hostid></entry>
          <entry><hostid role="ipaddr">192.168.1.2</hostid></entry>
          <entry>Система Windows '95</entry>
        </row>

        <row>
          <entry><hostid>Moe</hostid></entry>
          <entry><hostid role="ipaddr">192.168.1.3</hostid></entry>
          <entry>Система Windows for Workgroups</entry>
        </row>

        <row>
          <entry><hostid>Shemp</hostid></entry>
          <entry><hostid role="ipaddr">192.168.1.4</hostid></entry>
          <entry>Система Windows NT box</entry>
        </row>
      </tbody>
      </tgroup>
      </informaltable>

      <para>В данном руководстве считается, что модем на FreeBSD-системе
        подключен к первому последовательному устройству
        ('<filename>/dev/cuaa0</filename>' или '<emphasis
        remap=tt>COM1:</emphasis>' как принято в DOS-терминологии).</para>

      <para>И наконец, мы будем считать, что Ваш Интернет-провайдер
        автоматически предоставляет IP-адреса как для Вашей машины с
        PPP/FreeBSD, так и для своей. (т.е. использовуются динамические
        IP-адреса на обеих сторонах соединения.)  Подробнее о конфигурировании
        вызывающего PPP-узла Вы сможете прочитать во 2-ом разделе руководства
        "Конфигурирование FreeBSD-системы".</para>
    </sect1>
  </chapter>

  <chapter id="system-config">
    <title>Конфигурирование FreeBSD-системы</title>

    <para>Перед тем как Вы начнете настраивать локальную сеть, Вашей
      FreeBSD-системе должны быть известны три основные части
      информации:</para>
  
    <para>
      <itemizedlist>
        <listitem>
          <para>имя узла FreeBSD-системы; в нашем примере - это "Curly",</para>
        </listitem>

        <listitem>
          <para>конфигурация сети,</para>
        </listitem>

        <listitem>
          <para>файл <filename>/etc/hosts</filename>, который описывает
            соответствия имен и IP-адресов других машин в Вашей локальной
            сети.</para>
        </listitem>
      </itemizedlist>
    </para>

    <para>Если Вы выполняли установку FreeBSD, используя сетевое соединение, то
      некоторые параметры возможно уже сконфигурированы для Вашей
      FreeBSD-системы.</para>

    <para>Даже, если Вы уверены, что FreeBSD-система была правильно
      сконфигурирована на момент установки, рекомендую Вам еще раз проверить
      правильность этой информации для предотвращения возникновения проблем в
      дальнейшем.</para>

    <sect1>
      <title>Проверка имени узла FreeBSD-системы</title>

      <para>Возможно, что имя узла FreeBSD-системы уже было определено и
        сохранено в процессе первичной установки.  Для проверки, что это
        действительно так, введите следующую команду:</para>

      <para>
        <informalexample>
          <screen>
# hostname
          </screen>
        </informalexample>
      </para>
  
      <para>Появится имя узла FreeBSD-системы.  Если имя выглядит корректным
        (а это очень субъективно :-) переходите к <xref
        linkend="verify-ether-if-config">.</para>

      <para>Например, для нашей локальной сети, в результате работы команды
        `hostname`, мы бы увидели 'curly.my.domain', если бы имя узла было
        установлено правильно в процессе или после установки.  (На данном этапе
        не сильно обращайте внимание на часть ".my.domain", мы рассмотрим это
        позже.  Самая важная часть - это имя, которое находится перед первой
        точкой.)</para>

      <para>Если же имя узла не было определено в процессе установки FreeBSD
        возможно Вы увидите такой ответ 'myname.my.domain`.  Тогда Вам
        необходимо отредактировать файл <filename>/etc/rc.conf</filename> для
        установки имени машины.</para>

      <sect2>
        <title>Конфигурирование имени узла FreeBSD-системы</title>

        <para><emphasis><emphasis remap=bf>Памятка: Вы должны быть
          зарегистрированы в системе как пользователь 'root' для редактирования
          системных конфигурационных файлов!</emphasis></emphasis></para>

        <para><emphasis><emphasis remap=bf>ПРЕДУПРЕЖДЕНИЕ: Если Вы допустите
          ошибку при редактировании системных конфигурационных файлов, может
          случиться так, что система НЕ СМОЖЕТ ЗАГРУЗИТЬСЯ правильно!  Будьте
          предельно осторожны!</emphasis></emphasis></para>

        <para>Конфигурационный файл, в котором определяется имя узла
          FreeBSD-системы при загрузке называется
          <filename>/etc/rc.conf</filename>.  Используйте обычный текстовый
          редактор ('<emphasis remap=tt>ee</emphasis>') для редактирования
          этого файла.</para>

        <para>После того, как вы зарегистрируетесь в системе как пользователь
          'root' загрузите файл <filename>/etc/rc.conf</filename> в редактор,
          используя следующую команду:
          <informalexample>
            <screen>
# ee /etc/rc.conf
            </screen>
          </informalexample>
        </para>

        <para>Используя клавиши управления курсором, перемещайтесь в конец
          файла до тех пор, пока не найдете строку, которая определяет имя
          узла FreeBSD-системы.  По умолчанию, эта строка выглядит так:
          <informalexample>
            <screen>
---
### Basic network options: ###
hostname="myname.my.domain"	# Set this!
---
            </screen>
          </informalexample>

          Внесте в эту секцию такие изменения (в нашем примере):
          <informalexample>
            <screen>
---
### Basic network options: ###
hostname="curly.my.domain"	# Set this!
---
            </screen>
          </informalexample>
        </para>

        <para>Изменив имя узла, нажмите клавишу 'Esc' для выхода в командное
          меню.  Выберите пункт "покинуть редактор" и ответьте утвердительно на
          запрос "сохранить изменения?".</para>
      </sect2>
    </sect1>

    <sect1 id="verify-ether-if-config">
      <title>Проверка конфигурации Ethernet-интерфейса</title>

      <para>Напомню Вам, что в данном руководстве подразумевается, что
        Ethernet-интерфейс в системе FreeBSD называется '<emphasis
        remap=tt>ed0</emphasis>'.  Это стандартное название для интерфейсов
        NE-1000, NE-2000, WD/SMC (моделей 8003, 8013) и сетевых адаптеров
        Elite Ultra (8216).</para>

      <para>Другие модели сетевых адаптеров могут иметь различные имена в
        системе FreeBSD.  Обратитесь к сборнику часто задаваемых вопросов (FAQ)
        по спецификации Вашего сетевого адаптера.  Если у Вас возникли
        сложности при определении имени устройства для Вашего сетевого
        адаптера, обратитесь к FAQ по FreeBSD, найдите правильного имя
        устройства и замените его в случае необходимости (т.e. на: '<emphasis
        remap=tt>de0</emphasis>', '<emphasis remap=tt>zp0</emphasis>'
        и т.д.).</para>

      <para>Как и в случае с именем узла, Ethernet-интерфейс FreeBSD-системы
        уже может быть сконфигурирован в процессе установки системы.</para>

      <para>Для вывода конфигурации интерфейсов Вашей FreeBSD-системы (Ethernet
        и других), введите следующую команду:
        <informalexample>
          <screen>
# ifconfig -a
          </screen>
        </informalexample>

(Или простым человеческим языком:  "Покажи мне <emphasis remap=bf>И</emphasis>
нтер<emphasis remap=bf>Ф</emphasis>ейс <acronym>КОНФИГ</acronym>урацию
для моих сетевых устройств.") </para>
  
<para>Пример:
<informalexample>
<screen># ifconfig -a
 ed0: flags=8843&lt;UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST&gt; mtu 1500
      inet 192.168.1.1 netmask 0xffffff00 broadcast 192.168.1.255
      ether 01:02:03:04:05:06
 lp0: flags=8810&lt;POINTOPOINT,SIMPLEX,MULTICAST&gt; mtu 1500
 tun0: flags=8050&lt;POINTOPOINT,RUNNING, MULTICAST&gt; mtu 1500
 sl0: flags=c010&lt;POINTOPOINT,LINK2,MULTICAST&gt; mtu 552
 ppp0: flags=8010&lt;POINTOPOINT,MULTICAST&gt; mtu 1500
 lo0: flags=8049&lt;UP,LOOPBACK,RUNNING,MULTICAST&gt; mtu 16384
      inet 127.0.0.1 netmask 0xff000000
# _</screen>
</informalexample>
</para>
  
<para>В этом примере, показаны следующие устройства:</para>
  
<para><emphasis remap=tt>ed0:</emphasis>  Интерфейс Ethernet</para>
  
<para><emphasis remap=tt>lp0:</emphasis>  Интерфейс параллельного порта (в
данном руководстве не рассматривается)</para>
  
<para><emphasis remap=tt>tun0:</emphasis> "Туннельное" устройство; 
<emphasis>Это один из режимов использования ppp!</emphasis></para>
  
<para><emphasis remap=tt>sl0:</emphasis>  SL/IP устройство (в данном 
руководстве не рассматривается)</para>
  
<para><emphasis remap=tt>ppp0:</emphasis> Еще одно устройство PPP (для ядра
ppp; в данном руководстве не рассматривается)</para>
  
<para><emphasis remap=tt>lo0:</emphasis>  Устройство "локальной петли" (в
данном руководстве не рассматривается)</para>
  
<para>Как видно из примера, устройство 'ed0' в активном состоянии и запущено.
Параметры устройства:
<orderedlist>

<listitem>
<para>Его состояние "<acronym>АКТИВНО</acronym>",</para>
</listitem>

<listitem>
<para>Имеет Интернет- ("<emphasis remap=tt>inet</emphasis>") адрес, (в данном
случае 192.168.1.1)</para>
</listitem>

<listitem>
<para>Указана допустимая маска подсети ("маска сети"; 0xffffff00 то же самое,
что и 255.255.255.0), and</para>
</listitem>

<listitem>
<para>Указан допустимый широковещательный адрес (в данном случае 192.168.1.255).
</para>
</listitem>

</orderedlist>
</para>
  
<para>Если же информация для Ethernet-карты выглядит как показано ниже:
<informalexample>
<screen>ed0: flags=8802&lt;BROADCAST,SIMPLEX,MULTICAST&gt; mtu 1500
        ether 01:02:03:04:05:06</screen>
</informalexample>

то она (карта) еще не была сконфигурировна.</para>
  
<para>Если конфигурация Ethernet-интерфейса верна, то Вы можете перейти к
<xref linkend="list-lan-hosts">.</para>
      
<sect2 >
<title>Конфигурирование Ethernet-интерфейса</title>

<para><emphasis><emphasis remap=bf>Памятка: Вы должны быть зарегистрированы в 
системе как пользователь 'root' для редактирования системных конфигурационных
файлов!</emphasis>
</emphasis></para>
  
<para><emphasis><emphasis remap=bf>ПРЕДУПРЕЖДЕНИЕ: Если Вы допустите ошибку 
при редактировании системных конфигурационных файлов, может так случиться, что
система НЕ СМОЖЕТ ЗАГРУЗИТЬСЯ правильно!  Будьте осторожны!</emphasis></emphasis></para>

<para>Параметры для настройки сетевого интерфейса при загрузке системы находятся
в файле <filename>/etc/rc.conf</filename>.  Для редактирования этого файла Вы
можете использовать обычный текстовый редактор ('ee') .</para>

<para>После того, как вы зарегистрируетесь в системе как пользователь 'root',
загрузите файл <filename>/etc/rc.conf</filename> в редактор, используя
следующую команду:</para>

<para><command>  # ee /etc/rc.conf</command></para>
  
<para>Примерно в районе 20-й строки сверху в файле <filename>/etc/rc.conf</filename>
Вы заметите секцию, которая описывает те сетевые интерфейсы, которые будут
задействованы при загрузке системы.  В стандартном конфигурационном файле эта
строка выглядит так, как показано ниже:</para>
  
<para>
<informalexample>
<screen>network_interfaces="lo0"       # List of network interfaces (lo0 is loopback).</screen>
</informalexample>
</para>
  
<para>Вам необходимо исправить эту строку, чтобы сообщить FreeBSD о том, что Вы
желаете добавить другое устройство, имеющее имя '<emphasis remap=tt>ed0</emphasis>'.
Измените эту строку так, как показано ниже:</para>
  
<para>
<informalexample>
<screen>network_interfaces="lo0 ed0"   # List of network interfaces (lo0 is loopback).</screen>
</informalexample>
</para>
  
<para>(Обратите внимание на пробел между определениями устройства локальной
петли ("<emphasis remap=tt>lo0</emphasis>") и устройством Ethernet 
("<emphasis remap=tt>ed0</emphasis>")! </para>
  
<para><emphasis><emphasis remap=bf> Памятка: Если Ваша Ethernet-карта имеет имя,
отличное от '<emphasis remap=tt>ed0</emphasis>', то вместо него укажите имя,
которое соответствует Вашему устройству.</emphasis></emphasis></para>
  
<para>Если Вы устанавливали FreeBSD, используя сетевое соединение, то строка
'<literal>network_interfaces=</literal>' уже должна включать информацию о Вашем
сетевом адаптере.  И если это так, то еще раз проверьте правильность установки
имени устройства.</para>
  
<para>Установите найстроки для Ethernet-устройства ('<emphasis remap=tt>ed0</emphasis>'):</para>
  
<para>Под строкой, определяющей активные интерфейсы, находятся строки, которые
определяют текущие настройки для каждого интерфейса.  В стандартном файле 
<filename>/etc/rc.conf</filename> есть строка, в которой указано:</para>
  
<para>
<informalexample>
<screen>ifconfig_lo0="inet 127.0.0.1"   # default loopback device configuration.
</screen>
</informalexample>
</para>
  
<para>Вам необходимо добавить другую строку, после нее, чтобы определить настройки
для устройства '<emphasis remap=tt>ed0</emphasis>'.</para>
  
<para>Если Вы устанавливали FreeBSD, используя сетевое соединение, то строка
'<literal>ifconfig_ed0=</literal>' уже должна присутствовать после определения
локальной петли. Если это так, то проверьте правильность указанных параметров.
</para>
  
<para>В нашем примере мы добавим строку сразу после определения устройства
локальной петли, которая будет выглядеть так:</para>
  
<para>
<informalexample>
<screen>ifconfig_ed0="inet 192.168.1.1 netmask 255.255.255.0"</screen>
</informalexample>
</para>
  
<para>После окончания редактирование файла <filename>/etc/rc.conf</filename>
секция определения и настройки сетевых интерфейсов будет выглядеть примерно
так:</para>
  
<para>
<informalexample>
<screen>---
network_interfaces="ed1 lo0"    # List of network interfaces (lo0 is loopback).
ifconfig_lo0="inet 127.0.0.1"   # default loopback device configuration.
ifconfig_ed1="inet 192.168.1.1  netmask 255.255.255.0"
---</screen>
</informalexample>
</para>
  
<para>Как только все необходимые изменения в файл <filename>/etc/rc.conf</filename>
будут внесены, нажмите клавишу 'Esc' для вызова меню.  Выберите "покинуть
редактор" и подтвердите запрос "сохранить изменения?".</para>
  
</sect2>
</sect1>

<sect1>
<title>Включение режима отправки пакетов</title>

<para>По умолчанию FreeBSD-система не отправляет IP-пакеты между различными
сетевыми интерфейсами.  Другими словами, функции маршрутизации (также известные
как функции шлюза) отключены.</para>
  
<para>Если Вы предполагаете использовать FreeBSD-систему как самостоятельную
рабочую станцию Интернет, но не как шлюз между узлами локальной сети и 
Вашим Интернет-провайдером , то можете пропустить этот раздел и перейти к
<xref linkend="list-lan-hosts">.</para>
  
<para>Если же Вы предполагаете использовать программу PPP на FreeBSD-машине как
маршрутизатор для рабочих станций Вашей локальной сети, то Вам необходимо 
включить режим отправки IP-пакетов.</para>
  
<para>Для включения режима отправки IP-пакетов Вам необходимо отредактировать
файл <filename>/etc/rc.conf</filename>.</para>

      <para>Этот файл содержит переопределения параметров, указанных в 
      стандартном файле <filename>/etc/defaults/rc.conf</filename>.  За
      установку шлюза по умолчанию отвечает строка</para>

      <programlisting>gateway_enable="NO"</programlisting>

      <para>в этом файле.  Чтобы включить режим отправки IP-пакетов исправьте
      строку как показано</para>

      <programlisting>gateway_enable="YES"</programlisting>

      <para><filename>/etc/rc.conf</filename>.</para>
  
<para><emphasis><emphasis remap=bf>ПРИМЕЧАНИЕ: Строка может уже выглядеть как
'<literal>gateway_enable="YES"</literal>', если режим отправки IP-пакетов был
включен при установке FreeBSD-системы.</emphasis></emphasis></para>
  
</sect1>

<sect1 id="list-lan-hosts">
<title>Создание списка всех узлов локальной сети (<filename>/etc/hosts</filename>)</title>

<para>Заключительным этапом при кофигурировании локальной сети является создание
списка имен и IP-адресов всех систем, которые подключены к Вашей локальной сети.
Этот список содержится в файле '<filename>/etc/hosts</filename>'.</para>
  
<para>Стандартная версия этого файла содержит только одну строку и одно имя.  
Это имя и адрес устройства локальной петли ('lo0').  По сетевым соглашениям
принято, что это устройство имеет имя "localhost" и всегда имеет IP-адрес 
127.0.0.1. <xref linkend="verify-ether-if-config">.</para>
      
	  
<para>Чтобы отредактировать файл <filename>/etc/hosts</filename> введите
следующую команду:
<informalexample>
<screen> # ee /etc/hosts </screen>
</informalexample>
</para>
  
<para>Опустите курсор в конец файла (обращайте внимание на комментарии; они
содержат много полезной информации!) и введите, используя пример нашей локальной
сети, следующие IP-адреса и имена:
<informalexample>
<screen>
192.168.1.1    curly  curly.my.domain  # Система FreeBSD
192.168.1.2    larry  larry.my.domain  # Система Windows '95
192.168.1.3    moe    moe.my.domain    # Система Windows for Workgroups
192.168.1.4    shemp  shemp.my.domain  # Система Windows NT</screen>
</informalexample>
</para>
  
<para>(Строка '<emphasis remap=tt>127.0.0.1	localhost</emphasis>' не
нуждается в изменениях.)</para>
  
<para>Как только все необходимые изменения в файл <filename>/etc/hosts</filename>
будут внесены, нажмите клавишу 'Esc' для вызова меню.  Выберите "покинуть
редактор" и подтвердите запрос "сохранить изменения?".</para>

</sect1>

<sect1>
<title>Тестирование FreeBSD-системы</title>

<para>Поздравляем!  FreeBSD-система скофигурирована как присоединенная к сети
Unix-система!  Если Вы вносили изменения в файл <filename>/etc/rc.conf</filename>,
то Вам возможно понадобиться перезагрузить Вашу FreeBSD-систему.  Этим вы
"убьете двух зайцев":
<itemizedlist>

<listitem>
<para>вступят в силу изменения, внесенные в конфигурацию интерфейсов, и</para>
</listitem>

<listitem>
<para>вы проверите, что система перезапускается без всяких явных ошибок в
конфигурации.</para>
</listitem>

</itemizedlist>
</para>
  
<para>После перезагрузки системы рекомендуется проверить сетевые интерфейсы.
</para>
  

<sect2>
<title>Проверка функционирования устройства локальной петли</title>

<para>Для проверки правильности конфигурации устройства локальной петли,
зарегистрируйтесь в системе как пользователь 'root' и введите:
<informalexample>
<screen># ping localhost</screen>
</informalexample>
</para>
  
<para>Вы должны увидеть следующие
<informalexample>
<screen># ping localhost
PING localhost.my.domain. (127.0.0.1): 56 data bytes
64 bytes from 127.0.0.1: icmp_seq=0 ttl=255 time=0.219 ms
64 bytes from 127.0.0.1: icmp_seq=1 ttl=255 time=0.287 ms
64 bytes from 127.0.0.1: icmp_seq=2 ttl=255 time=0.214 m
[...]</screen>
</informalexample>

сообщения, которые будут появляться до тех пор, пока Вы не нажмете комбинацию
клавиш Ctrl-C.</para>
  
</sect2>

<sect2>
<title>Проверка функционирования Ethernet-устройства</title>

<para>Для проверки правильности конфигурации Ethernet-устройства, введите:
</para>
  
<para>
<informalexample>
<screen># ping curly</screen>
</informalexample>
</para>
  
<para>Вы должны увидеть следующие
<informalexample>
<screen># ping curly
PING curly.my.domain. (192.168.1.1): 56 data bytes
64 bytes from 192.168.1.1: icmp_seq=0 ttl=255 time=0.219 ms
64 bytes from 192.168.1.1: icmp_seq=1 ttl=255 time=0.200 ms
64 bytes from 192.168.1.1: icmp_seq=2 ttl=255 time=0.187 ms
[...]</screen>
</informalexample>

сообщения.</para>
  
<para>Самое главное, на что Вы должны обратить внимание в этих двух примерах,
это то, что имена (loopback и curly) должны корректно коррелировать с
присвоенными им IP-адресами (127.0.0.1 и 192.168.1.1).  Это будет гарантом того,
что файл <filename>/etc/hosts</filename> не содержит ошибок.</para>
  
<para>Если же IP-адрес узла "curly" не соответствует значению 192.168.1.1 или
IP-адрес узла "localhost" не соответствует значению 127.0.0.1, вернитесь к
<xref linkend="list-lan-hosts"> и проверьте записи в файле 
'<filename>/etc/hosts</filename>'.</para>
  
<para>Если имена и адреса, выдаваемые в результате выполнения команды PING,
соответствуют действительности, но выдаются какие-то ошибки из-за того, что
что-то упущено в конфигурации интерфейса, то вернитесь к 
<xref linkend="system-config"> и проверьте все с самого начала.</para>
  
<para>После того, как все будет окончательно проверено, можете приступить к
следующему разделу.</para>
  
</sect2>
</sect1>
</chapter>

<chapter>
<title>Конфигурирование PPP-соединения</title>

<para>PPP-драйвер поддерживает два основных режима функционирования:
"Интерактивный" (или "Диалоговый") и "Автоматический".</para>
  
<para>В интерактивном режиме Вы:</para>
  
<para>
<itemizedlist>

<listitem>
<para>вручную устанавливаете соединение с Вашим Интернет-провайдером,</para>
</listitem>

<listitem>
<para>просматриваете сайты, перемещаетемь по Интернет, передаете файлы, почту
и т.д., и т.п...,</para>
</listitem>

<listitem>
<para>вручную "разрываете" соединение с Вашим Интернет-провайдером.</para>
</listitem>

</itemizedlist>
</para>
  
<para>В автоматическом режиме, программа PPP в фоне следит за процессами,
происходящими в системе FreeBSD, и автоматически устанавливает соединение с
Интернет-провайдером, и также автоматически "разрывает" его при необходимости,
что Интернет обычным элементом Вашей локальной сети.</para>
  
<para>В этом разделе мы будем рассматривать конфигурирование обоих режимов
работы, но больше внимания уделим конфигурированю ppp-среды для
функционирования в автоматическом режиме.</para>

<sect1>
<title>Создание копий оригинальных конфигурационных файлов PPP</title>

      <note>
	<para>В большинстве последних версий FreeBSD в каталоге
	  <filename>/usr/share/examples/ppp</filename> присутствуют примеры
	  конфигурационных файлов, так что этот процесс необязателен.</para>
      </note>
      
<para>Однако, перед внесением любых изменений в файлы, которые будут
использоваться программой PPP, рекомендуется сделать копии стандартных файлов,
которые были созданы в процессе установки FreeBSD-системы.</para>
  
<para>Зарегистрируйтесь в системе как пользователь 'root' и выполните
следующие действия:</para>
  
<para>войдите в каталог '<filename>/etc</filename>:</para>
  
<para><emphasis remap=tt># cd /etc</emphasis></para>
  
<para>сделайте копии оригинальных файлов в каталоге 'ppp':</para>
  
<para><emphasis remap=tt># cp -R ppp ppp.ORIGINAL</emphasis></para>
  
<para>После чего в каталоге '<filename>/etc</filename>' Вы должны увидеть два
подкаталога '<emphasis remap=tt>ppp</emphasis>' и
'<filename>ppp.ORIGINAL</filename>' .</para>
  
</sect1>

<sect1>
<title>Создание собственных конфигурационных файлов PPP</title>

<para>По умолчанию, в процессе установки FreeBSD  создается несколько примеров
конфигурационных файлов в каталогах <filename>/etc/ppp</filename> и
<filename>/usr/share/examples/ppp</filename>.  Пожалуйста выберите время для
ознакомления с этими файлами; они были взяты с работающих систем и полное
представление об особенностях и возможностях программы PPP.</para>
  
<para>Мы <emphasis>настоятельно</emphasis> рекомендем Вам изучить эти файлы и
использовать их при настройке собственной конфигурации по мере необходимости.
</para>
  
<para>Более подробную информацию о программе `ppp` Вы можете получить, прочитав
man-страницу справочного руководства по ppp:
<informalexample>
<screen># man ppp</screen>
</informalexample>
</para>
  
<para>Более подробную информацию о языке скриптов `chat`, используемого 
программой PPP, Вы можете получить, прочитав man-страницу справочного
руководства по chat:
<informalexample>
<screen># man chat</screen>
</informalexample>
</para>
  
<para>В этом разделе описано рекомендуемое содержание конфигурационных файлов
программы PPP.</para>

<sect2>
<title>Файл '<filename>/etc/ppp/ppp.conf</filename>'</title>

<para>В файле '<filename>/etc/ppp/ppp.conf</filename>' содержится информация и
настройки, необходимые для уставновки PPP-соединения.  В этом  файле может 
содержаться более одной конфигурации.  Более детельное описание содержания и
синтаксиса этого файла Вы можете получить в руководстве по FreeBSD
(XXX URL? XXX).</para>
  
<para>Этот раздел описывает только минимальную конфигурацию для получения
нормального "рабочего" соединения.</para>
  
<para>Ниже приведен пример файла /etc/ppp/ppp.conf, который будет использоваться
для обеспечения Интернет-шлюза для нашей локальной сети:

<note>
  <para>Полное описание синтаксиса для <filename>/etc/ppp/ppp.conf</filename>
    Вы можете найти в странице Справичника &man.ppp.8;. В частности
    обратите внимание, что все строки которые не являются метками
    заканчивающимися точкой с запятой (например <literal>default:</literal>,
    <literal>interactive:</literal>), или командой начинающейся с
    <quote>!</quote> (например <literal>!include</literal>), или
    коментарием <emphasis>обязаны</emphasis> иметь отступ в начале
    строки (indented)!</para>
</note>

<programlisting>###############################################################################
# Конфигурационный файл PPP ('/etc/ppp/ppp.conf')
#
# Стандартные установки; они всегда выполняются при запуске программы PPP
# и применяются для конфигурации всех систем.
###############################################################################
default:
  set device /dev/cuaa0
  set speed 57600
  disable pred1
  deny pred1
  disable lqr
  deny lqr
  set dial "ABORT BUSY ABORT NO\\sCARRIER TIMEOUT 5 \"\" ATE1Q0M0 OK-AT-OK\\dATDT\\T TIMEOUT 40 CONNECT"
  set redial 3 10
###############################################################################
#
# Для интерактивного режима используйте следующую конфигурацию:
#
# Формат вызова `ppp -alias interactive'
#
###############################################################################
interactive:
  set authname Ваш_логин_на_удаленную_систему
  set authkey Ваш_пароль_на_удаленную_систему
  set phone Телефон_для_вызова_системы
  set timeout 300
  set openmode active
  accept chap
###############################################################################
#
# Для режима с дозвоном по необходимости (или автоматического)
# используйте следующую конфигурацию:
#
# Формат вызова: `ppp -auto -alias demand'
#
###############################################################################
demand:
  set authname Ваш_логин_на_удаленную_систему
  set authkey Ваш_пароль_на_удаленную_систему
  set phone Телефон_для_вызова_системы
  set timeout 300
  set openmode active
  accept chap
  set ifaddr 127.1.1.1/0 127.2.2.2/0 255.255.255.0
  add 0 0 127.2.2.2
###############################################################################
# Конец файла /etc/ppp/ppp.conf</programlisting>

Этот файл, взятый без изменений с работающей системы, содержит три 
взаимосвязанные конфигурационные секции:</para>

<sect3>
<title>"<emphasis remap=tt>Стандартная</emphasis>" секция</title>

<para>'<emphasis remap=tt>Стандартная</emphasis>'секция содержит параметры и
настройки, используюемые во всех остальных секциях этого файла.  Эта секция
неявно добавляется в каждую секцию.</para>
  
<para>В этой секции можно размещать "стандартные глобальные настройки", которые
применяются для всех сессий дозвона; например, настройки модема и префиксы
дозвона, которые обычно не изменяются, независимо от того с системой какого
типа будет произведено соединение.</para>
  
<para>Ниже приведено описание каждой строки в "стандартной" секции примера файла
'<filename>/etc/ppp/ppp.conf</filename>':
<informalexample>
<screen>set device /dev/cuaa0</screen>
</informalexample>

Эта строка сообщает программе PPP, что ей необходимо использовать первый
последовательный порт.  В системе FreeBSD устройство '<filename>/dev/cuaa0</filename>'
- это тот же самый порт, который известен под именем "<emphasis remap=tt>COM1:</emphasis>"
в системах DOS, Windows, Windows 95 и т.д...</para>
  
<para>Если Ваш модем подключен к порту <emphasis remap=tt>COM2:</emphasis>, то 
необходимо указать значение '<filename>/dev/cuaa1</filename>,
если <emphasis remap=tt>COM3:</emphasis> - '<filename>/dev/cuaa2</filename>'.
</para>
  
<para>
<informalexample>
<screen>set speed 57600 </screen>
</informalexample>
</para>
  
<para>Эта строка устанавливает скорость передачи и приема для соединения между
последовательным портом и модемом. И хотя модем, используемый в данной
конфигурации, имеет максимальную скорость 28.8К, устанавливая эту величину в
значение 57600 мы позволим последовательному соединению работать на более
высокой скорости, которая будет соответствовать высокой пропускной способности
канала, в результате использования сжатия данных, встроенного в последние
модели модемов.</para>
  
<para>Если у вас возникнут проблемы при установке модемного соединения,
попробуйте изменить эту величину на значение 38400 или, еще меньше, на
19200.</para>
  
<para>
<informalexample>
<screen>disable pred1
deny pred1</screen>
</informalexample>
</para>
  
<para>Эти две строки выключают режим сжатия "CCP/Predictor type 1", встроенный
в программу PPP.  Текущая версия `ppp` поддерживает сжатие данных в соответствии
с требованиями стандартов сети Интернет.  К сожалению, многие Интернет-провайдеры
используют оборудование, которое не поддерживает эту возможность.  Большинство
модемов выполняют сжатие "на лету", однако Вы не потеряете многого в
производительности системы, выключив этот режим на своем узле и запретив
удаленному узлу принуждать Вас к его поддержке.</para>
  
<para>
<informalexample>
<screen>disable lqr
deny lqr</screen>
</informalexample>
</para>
  
<para>Эти две строки контролируют функции "отчета о качестве линии", которые
являются частью полной спецификации протокола Point-to-Point (PPP).
(За более подробной информацией обратитесь к RFC-1989.)</para>
  
<para>Первая строка "disable lqr" сообщает программе PPP не пытаться сообщать
о состоянии качества линии устройству на удаленном узле.</para>
  
<para>Вторая строка "deny lqr" сообщает программе PPP запретить любые попытки
удаленного узла сообщать о качестве линии.</para>

<para>Поскольку современные модемы имеют встроенную автоматическую коррекцию
ошибок и детектирование, а режим сообщения о качестве линии в продуктах многих
производителей  применяется не полностью, то включить эти две строки в
стандартную конфигурацию будет очень не плохо с точки зрения безопасности
системы.</para>
  
<para>
<informalexample>
<screen>set dial "ABORT BUSY ABORT NO\\sCARRIER TIMEOUT 5 \"\" ATE1Q0M0
OK-AT-OK\\dATDT\\T TIMEOUT 40 CONNECT"</screen>
</informalexample>
</para>
  
<para><emphasis>ПРИМЕЧАЕНИЕ: (Этот оператор необходимо ввести одной строкой;
все переносы строк, которые Вы встретите в этом документе должны
игнорироваться.)</emphasis></para>
  
<para>Эта строка сообщает программе PPP как работать с модемом и определяет 
некоторые устаревшие директивы для его управления:
<itemizedlist>

<listitem>
<para>Попытки дозвона ошибочны, если модем вернул код "BUSY" ("ЗАНЯТО"),</para>
</listitem>

<listitem>
<para>Попытки дозвона ошибочны, если модем вернул код "NO CARRIER" ("НЕТ НЕСУЩЕЙ"),</para>
</listitem>

<listitem>
<para>Программа PPP ожидает завершение каждого последующего события в течение
5-секундного интервала:
<itemizedlist>

<listitem>
<para>Первоначально программа PPP не ожидает от модема никаких событий
(определяется выше указанием символов \"\" в операторе dial)</para>
</listitem>

<listitem>
<para>Программа будет посылать модему строку инициализации "ATE1Q0M0" и ждать
ответа "OK".  Если ответ не будет получен, то программа будет вынуждена послать
на модем команду "AT" и снова ожидать ответа "OK", </para>
</listitem>

<listitem>
<para>Перед посылкой в модем строки дозвона программа вынуждена ждать около 
1 секунды (определено симвлами "\\d" в операторе dial).  Часть выражаения "ATDT"
есть стандартный модемный префикс для дозвона с использованием тонового набора
номера; если Ваша телефонная линия не поддерживаеи тоновый набора, замените
"ATDT" на "ATDP".  Символы "\\T" определяют место расположения для реального
номера телефона (который будет автоматически вставляться из параметра
"set dial").</para>
</listitem>

</itemizedlist>
</para>
</listitem>

<listitem>
<para>И наконец, перед тем как закончится максимальный тайм-аут в 40 секунд,
программа PPP ожидает "увидеть" код "CONNECT"("СОЕДИНЕНИЕ"), возвращаемый
модемом.</para>
</listitem>

</itemizedlist>
</para>
  
<para>Ошибка в любой точке этого "диалога" будет интерпретироваться как ошибка
дозвона и программа PPP откажет в соединении.</para>
  
<para>(Более детальную информацию по языку мини-скриптов, используемого
дозвонщиком PPP можно получить, обратившись к man-странице справочного
руководства по "chat".)</para>
  
<para>
<informalexample>
<screen>set redial 3 10</screen>
</informalexample>

Эта строка определяет количество попыток дозвона (максимум 3), используемых
программой PPP в случае, если соединение не может быть установлено сразу.  
Интервал между попытками равен 10 секундам.</para>
  
</sect3>

<sect3>
<title>"<emphasis remap=tt>Интерактивная</emphasis>" секция</title>

<para>'<emphasis remap=tt>Интерактивная:</emphasis>' секция содержит параметры и
настройки, используемые для установки "интерактивных" PPP-сессий с определенными
удаленными системами.  В настройки этой секции будут автоматически добавлены
строки, находящиеся в "стандартной" секции.</para>
  
<para>В примере, используемом в этой секции данного руководства подразумевается,
что Вы будете соединяться с удаленной системой, которая "понимает" как
идентифицировать пользователя без использования языка скриптов.  То есть, в этом
примере используется протокол CHAP для установки соединения.</para>
  
<para>Считается, что если дозвонщик системы Windows '95 может установить
соединение простым нажатием кнопки "Подключиться", то такой пример конфигурации
должен работать на "ура".</para>
  
<para>С другой стороны, когда Вы соединяетесь с Вашим Интернет-провайдером,
используя механизм дозвона Microsoft Windows '95, Вам необходимо использовать
инструментарий создания скриптов дозвона из пакета Microsoft Plus! или Вы
должны включить флажок "Вывести окно терминала после соединения" в свойствах
соединения для Windows '95, а затем Вам необходимо заглянуть в примеры
конфигурационных файлов PPP и справочную информацию по ppp, для того, чтобы
написать скрипты "ожидание / ответ" для установки соединения с Вашим 
Интернет-провайдером.  Команда "set login" используется как раз для этой 
цели.</para>
  
<para>А еще лучше, найдите такого Интернет-провайдера, который знает как
обеспечить PAP- или CHAP-идентификацию!</para>
  
<para>Примеры конфигурации, показанные здесь были успешно использованы для
соединения с:
<itemizedlist>

<listitem>
<para>Various Shiva LanRovers</para>
</listitem>

<listitem>
<para>IBM Network (<ulink URL="http://www.ibm.net">http://www.ibm.net</ulink>)</para>
</listitem>

<listitem>
<para>AT&amp;T WorldNet (<ulink URL="http://att.com/worldnet">http://att.com/worldnet</ulink>)</para>
</listitem>

<listitem>
<para>Erol's (<ulink URL="http://www.erols.com">http://www.erols.com</ulink>)</para>
</listitem>

</itemizedlist>
</para>
  
<para>Ниже приведено описание каждой строки в "интерактивной" секции примера
файла '<filename>/etc/ppp/ppp.conf</filename>':</para>
  
<para>
<informalexample>
<screen>set authname Ваш_логин_на_удаленную_систему</screen>
</informalexample>

Эта строка определяет имя, которое будет использовано для регистрации на 
удаленной системе.</para>
  
<para>
<informalexample>
<screen>set authkey Ваш_пароль_на_удаленную_систему</screen>
</informalexample>

Эта строка определяет пароль для регистрации на удаленной системе.</para>
  
<para>
<informalexample>
<screen>set phone Телефон_для_вызова_системы</screen>
</informalexample>

Эта строка определяет номер телефона, по которому будет производиться вызов
удаленной системы.  Если у Вас установлена своя мини-АТС перед номером телефона
необходимо указать цифру '<emphasis remap=tt>9</emphasis>'.</para>
  
<para>
<informalexample>
<screen>set timeout 300</screen>
</informalexample>

Эта строка сообщает программе PPP, чтобы она автоматически "вешала" трубку,
если в течение 300 секунд (5 минут) по каналу не производится передача данных.
Вы можете указать необходимый интервал, который удовлетворяет Вашим требованиям.
</para>
  
<para>
<informalexample>
<screen>set openmode active</screen>
</informalexample>

Эта строка сообщает программе PPP о том, что как только модемы произведут
соединение, она должна немедленно пытаться произвести настройку соединения.  
Некоторые удаленные узлы делают это автоматически, некоторые нет.  Установка
этого параметра инструктирует Вашу сторону соединения взять на себя инициативу
и пытаться настроить соединение.</para>

<screen>accept chap</screen>

<para>Эта строка сообщает программе PPP использовать "Challenge-Handshake
Authentication Protocol" ("протокол аутентификации запрос-рукопожатие") для
Вашей аутентификации.  Значения идентификатора пользователя и пароля,
передаваемые между локальной и удаленной стороной, берутся из полей 'authname'
и 'authkey', указанных выше.</para>
  
</sect3>

<sect3>
<title>Секция "<emphasis remap=tt>запрос</emphasis>"</title>

<para>"<emphasis remap=tt>Demand</emphasis>"-секция содержит параметры и
настройки, используемые для установки PPP-соединения "с вызовом по требованию"
с определенной удаленной системой. Настройки этой секции также будут включать
строки из "стандартной" секции, которые будут включены сюда автоматически.
</para>
  
<para>За исключением двух последних линий эта секция полностью идентична
конфигурационной секции, которая определяет "интерактивную" конфигурацию.</para>
  
<para>Как было замечено ранньше, примеры, находящиеся в этом разделе данного
руководства подразумевают, что Вы соединяетесь с удаленной системой, которая
понимает как использовать протокол CHAP для установки соединения.</para>
  
<para>Ниже приведено описание каждой строки секции "demand" в примере файла
'<filename>/etc/ppp/ppp.conf</filename>':</para>
  
<para>
<informalexample>
<screen>set authname Ваш_логин_на_удаленную_систему</screen>
</informalexample>

Эта строка определяет имя, которое будет использовано для регистрации на
удаленной системе.</para>
  
<para>
<informalexample>
<screen>set authkey Ваш_пароль_на_удаленную_систему</screen>
</informalexample>

Эта строка определяет пароль, который будет использован для регистрации на
удаленной системе.</para>
  
<para>
<informalexample>
<screen>set phone Телефон_для_вызова_удаленной_системы</screen>
</informalexample>

Эта строка определяет номер телефона, по которому будет производиться вызов
удаленной системы.</para>
  
<para>
<informalexample>
<screen>set timeout 300</screen>
</informalexample>
</para>
  
<para>Эта строка сообщает программе PPP, чтобы она автоматически "вешала"
трубку, если в течение 300 секунд (5 минут) по каналу не производится передача
данных.  Вы можете указать необходимый интервал, который удовлетворяет Вашим
требованиям.</para>

<para>
<informalexample>
<screen>set openmode active</screen>
</informalexample>
</para>
  
<para>Эта строка сообщает программе PPP о том, что как только модемы произведут соединение,
она должна немедленно пытаться произвести настройку соединения.  Некоторые
удаленные узлы делают это автоматически, некоторые нет.  Установка этого
параметра инструктирует Вашу сторону соединения взять на себя инициативу и
пытаться настроить соединение.</para>

<para>
<informalexample>
<screen>accept chap</screen>
</informalexample>
</para>
  
<para>Эта строка сообщает программе PPP использовать "Challenge-Handshake
Authentication Protocol" ("протокол аутентификации запрос-рукопожатие") для
Вашей аутентификации.  Значения идентификатора пользователя и пароля,
передаваемые между локальной и удаленной стороной, берутся из полей 'authname'
и 'authkey', указанных выше.</para>

<para>
<informalexample>
<screen>set ifaddr 127.1.1.1/0 127.2.2.2/0 255.255.255.0</screen>
</informalexample>
</para>
  
<para>Эта команда устанавливает пару "фальшивых" IP-адресов для локальной и
удаленной сторон PPP-соединения.  Она инструктирует программу PPP создать
IP-адрес 127.1.1.1 для локальной стороны '<emphasis remap=tt>tun0</emphasis>'
(туннельного) устройства и 127.2.2.2 для удаленной стороны.  Добавление
'<filename>/0</filename>' к каждому адресу сообщает программе PPP, что в этих
адресах нет значимых битов и они могут (и фактически должны!) быть 
переданы между локальной и удаленной системами, когда соединение установилось.
Строка 255.255.255.0 сообщает программе PPP какую маску подсети применять для
этих псевдо-интерфейсов.</para>
  
<para>Запомните, мы считаем, что Ваш Интернет-провайдер предоставил Вам 
IP-адреса для обеих сторон соединения!  Если Ваш Интернет-провайдер присвоил Вам
определенный IP-адрес, то Вы обязаны при конфигурации Вашей системы ввести его
здесь <emphasis>вместо</emphasis> адреса <emphasis remap=tt>127.1.1.1
</emphasis>.</para>
  
<para>К слову, если Ваш Интернет-провайдер сообщил Вам определенный IP-адрес,
который он использует на своей стороне, Вы обязаны ввести этот адрес здесь
<emphasis>вместо</emphasis> адреса <emphasis remap=tt>127.2.2.2</emphasis>.
</para>
  
<para>В обоих случаях, возможно хорошей идеей будет оставить символы 
'<filename>/0</filename>' в конце каждого адреса.  Это дает программе PPP
возможность изменять адрес(а) соединения, если это будет
<emphasis>необходимо</emphasis>.</para>
  
<para>
<informalexample>
<screen>add 0 0 127.2.2.2</screen>
</informalexample>
</para>
  
<para>Эта последняя строка сообщает программе PPP, что она должна добавить
маршрут по умолчанию для IP-трафика, который указывает на (фальшивый) IP-адрес
системы Интернет-провайдера.</para>
  
<para><emphasis><emphasis remap=bf>Примечание: Если Вы используте определенный 
Вашим Интернет-провайдером адрес вместо <emphasis remap=tt>127.2.2.2</emphasis>
в предыдущей строке, используйте этот же номер и здесь, вместо
<emphasis remap=tt>127.2.2.2</emphasis></emphasis></emphasis>.</para>
  
<para>Добавив этот "фальшивый" маршрут для IP-трафика, программа PPP получает
возможность в момент простоя:
<itemizedlist>

<listitem>
<para>Принимать пакеты, которые FreeBSD-система уже не знает куда отправлять,
</para>
</listitem>

<listitem>
<para>Устанавливать соединение с Интернет-провайдером
"<emphasis>на лету</emphasis>",</para>
</listitem>

<listitem>
<para>Переконфигурировать IP-адреса локальной и удаленной сторон соединения,
</para>
</listitem>

<listitem>
<para>Отправлять пакеты между Вашей рабочей станцией и Интернет-провайдером
</para>
</listitem>

</itemizedlist>

автоматически!</para>
  
<para>Как только интервал времени (в секуднах), указанный в качестве тайм-аута
в "стандартной" секции, истечет и в течение этого промежутка времени трафик 
TCP/IP будет равен нулю, программа PPP будет автоматически закрывать соединение
(попросту говоря "класть" трубку) и процесс будет повторяться заново.</para>
  
</sect3>
</sect2>

<sect2>
<title>Файл '<filename>/etc/ppp/ppp.linkup</filename>'</title>

<para>Другие файлы, необходимые для полной конфигурации PPP находятся в
'<filename>/etc/ppp/ppp.linkup</filename>'.  Этот файл содержит инструкции 
для функционирования программы PPP после того как коммутирумое соединение будет
установлено.</para>
  
<para>В случае использования конфигурации "дозвона при необходимости" программа
PPP будет вынуждена удалить маршрут по умолчанию, который был установлен для 
удаленной стороны соединения и указывал на фальшивый адрес (127.2.2.2 в нашем
примере из предыдущего раздела) и устанавить новый маршрут по умолчанию,
который указывает на реальный IP-адрес  удаленной машины (который будет опознан
в процессе настройки коммутируемого соединения).</para>
  
<para>Демонстрационный файл '<filename>/etc/ppp/ppp.linkup</filename>':
<informalexample>
<screen>#########################################################################=

# Файл установки соединений PPP ('/etc/ppp/ppp.linkup')
#
#  Этот файл обрабатывается после того, как PPP установит сетевое соединение.
# 
#  Обработка этого файла производится в следующем порядке.
#
#  1) Сначала, производится поиск присвоенного нам IP-адреса и выполняются 
#     связанные с этим команды.
#
#  2) Если IP-адрес не найден, то производится поиск имени, определенного
#     во время запуска PPP и выполняются связанные с этим команды.
#
#  3) Если не найдено ничего из выше перечисленного выше, то выполняются
#     команды 'MYADDR:'.
#
##############################################################################=
#
# Эта секция используется в конфигурации "demand" в файле /etc/ppp/ppp.conf:
demand:
 delete ALL
 add 0 0 HISADDR
#
# Все другие конфигурации в файле /etc/ppp/ppp.conf используют это:
#
MYADDR:
 add 0 0 HISADDR
##############################################################################
# Конец файла /etc/ppp/ppp.linkup</screen>
</informalexample>

Заметьте, что секция, имеющая название "demand:" в этом файле идентична
имени конфигурации, используемому в файле '<filename>/etc/ppp/ppp.conf</filename>'.
Эта секция сообщает программе PPP о том, что как только соединение будет
установлено, с использованием этой конфигурации, она должна:
<orderedlist>

<listitem>
<para>Удалить любую информацию об IP-маршрутизации, которую создала программа
PPP</para>
</listitem>

<listitem>
<para>Добавить маршрут по умолчанию, указывающий на реальный IP-адрес удаленной
стороны.</para>
</listitem>

</orderedlist>
</para>
  
<para>Критичным моментом является то, что те конфигурации в файле
'<filename>/etc/ppp/ppp.conf</filename>', которые включают операторы
'<emphasis remap=tt>set ifaddr</emphasis>' и 
'<emphasis remap=tt>add 0 0</emphasis>' (т.e. настройки, используемые для
конфигураци "дозвон при необходимости") выполняют команды "delete ALL" и
"add 0 0 HISADDR" в файле <filename>/etc/ppp/ppp.linkup</filename>.</para>
  
<para><emphasis><emphasis remap=bf>Это механизм, который управляет
действительной конфигурацией соединения.</emphasis></emphasis></para>
  
<para>Все конфигурации явно не указанные в файле
<filename>/etc/ppp/ppp.linkup</filename> будут использовать все команды,
указаные в секции "MYADDR:" этого файла. Эту секцию будут считывать
конфигурации без "дозвона при необходимости" (такие как в нашем
"интерактивном:" примера).  Эта секция просто добавляет маршрут по умолчанию
на реальный адрес Интернет-провайдра (на удаленной стороне).</para>
  
</sect2>
</sect1>

<sect1>
<title>IP-совмещение</title>

<para>Все этапы конфигурирования, которые описанные ниже так или иначе
относятся к любой FreeBSD-системе, которая будет использоваться для соединения
с Интернет-провайдером по коммутируемому каналу.</para>
  
<para>Если, читая это руководство, Вы преследуете одну единственную цель - 
подключить Вашу FreeBSD-систему к Интернету, используя ppp, Вы можете перейти
сюда <xref linkend="testing-the-network">.</para>
  
<para>Одна из притягивающих особенностей программы PPP в режиме "дозвона при
необходимости" это ее возможность маршрутизировать IP-трафик между другими
системами в локальной сети автоматически.  Эта особенность известна под разными
названиями: "<emphasis>IP-совмещение</emphasis>",
"<emphasis>трансляция сетевых адресов (NAT)</emphasis>",
"<emphasis>Маскарад адресов</emphasis>" или
"<emphasis>Прозрачное проксирование</emphasis>".</para>
  
<para>Несмотря на терминологию, этот режим, однако, не является автоматическим.
Если программа PPP запущена нормально, то она не будет отправлять пакеты между
интерфейсами локальной сети и коммутируемым соединением.  Фактически, только
FreeBSD-система имеет связь с Интернет-провайдером; другие же рабочие станции
не могут "совместно использовать" это же самое соединение.</para>
  
<para>Например, если программа запускается одной из указанных ниже команд:
</para>
  
<para><emphasis remap=tt># ppp interactive   (Интерактивный режим)</emphasis>
</para>
  
<para> или</para>
  
<para><emphasis remap=tt># ppp -auto demand  (Режим дозвона при необходимости),
</emphasis></para>
  
<para>то система будет функционировать как рабочая станция Internet
<emphasis>только</emphasis> на FreeBSD-системе.</para>
  
<para>Для запуска программы PPP как шлюза между ресурсами локальной сети и
Интернет, должна быть использована одна из ниже приведенных команд:</para>
  
<para><emphasis remap=tt># ppp -alias interactive   (Интерактивный режим)
</emphasis></para>
  
<para> или</para>
  
<para><emphasis remap=tt># ppp -auto -alias demand  (Режим дозвона при
необходимости)</emphasis></para>
  
<para>Или же Вы можете использовать команду
<emphasis remap=tt>``alias enable yes''</emphasis> в конфигурационном
файле программы PPP. (За более подробной информацией обратитесь к man-странице
справочного руководства).</para>
  
<para>Имейте это в виду, если Вы собираетесь перейти к
<xref linkend="config-window-system">.</para>
  
</sect1>
</chapter>

<chapter id="config-window-system">
<title>Конфигурирование Windows-систем</title>

<para>Как было сказано в разделе 1, наша локальная сеть состоит из одной
FreeBSD-системы ("Curly"), которая функционирует как шлюз (или маршрутизатор)
между локальной сетью, содержащей два различных типа рабочих Windows-станций.
Для того, чтобы узлы локальной сети могли использовать "Curly" в качестве
маршрутизатора, они должны быть правильно сконфигурированы.  Обратите внимание,
что этот раздел не объясняет как кофигурировать рабочие станции Windows для
коммутируемого сетевого взаимодействия.  Если Вам необходимо более подробное
объяснение этой процедуры, я рекомендую Вам обратиться к
<ulink URL="http://www.aladdin.co.uk/techweb">http://www.aladdin.co.uk/techweb</ulink>.
</para>

<sect1>
<title>Конфигурирование Windows '95</title>

<para>Процесс конфигурирования Windows '95 для функционирования в качестве
присоединенного к локальной сети ресурса относительно прост.  Конфигурация сети
Windows '95 должна быть немного изменена для использования системы FreeBSD в
качестве шлюза по умолчанию к Вашему Интернет-провайдеру.  Для этого выполните
следующие действия:</para>
  
<para><emphasis remap=bf>Создайте файл "hosts" под Windows '95:</emphasis>
</para>
  
<para>Для того, чтобы была возможность соединяться с другими системами по
протоколу TCP/IP внутри Вашей локальной сети, необходимо создать идентичную
копию файла "hosts", который был установлен на FreeBSD-системе в
<xref linkend="list-lan-hosts">.
<itemizedlist>

<listitem>
<para>Нажмите кнопку "Старт", выберите пункт "Выполнить...", затем введите
строку "notepad \WINDOWS\HOSTS" (без кавычек) и нажмите кнопку "OK"</para>
</listitem>

<listitem>
<para>В редакторе введите адреса и имена систем из файла "hosts", созданного в
<xref linkend="list-lan-hosts">.</para>
</listitem>

<listitem>
<para>Когда закончите редактирование, закройте редактор, предварительно
сохранив файл!</para>
</listitem>

</itemizedlist>
</para>
  
<para><emphasis remap=bf>Конфигурирование сетевых настроек TCP/IP
Windows '95</emphasis>:
<itemizedlist>

<listitem>
<para>Нажмите кнопку "Старт" на панели задач, выберите пункт "Настройка" и
"Панель управления".</para>
</listitem>

<listitem>
<para>Дважды нажмите на иконке "Сеть", чтобы открыть соответствующее окно.
</para>

<para> 
Появится окно с настройками сетевых параметров.</para>
</listitem>

<listitem>
<para>На закладке "Конфигурация", выберите в списке установленных компонентов
строку "TCP/IP-&gt;<emphasis>тип_Вашего_сетевого_интерфейса</emphasis>", где
"<emphasis>тип_Вашего_сетевого_интерфейса</emphasis>" - имя или тип
Ethernet-адаптера Вашей системы).</para>

<para>Если компонент TCP/IP отсутствует в списке установленных, нажмите кнопку
"Добавить" и установите его перед тем как продолжать настройку.</para>

<para>(Подсказка: "Добавить | Протокол | Microsoft | TCP/IP | OK")</para>
</listitem>

<listitem>
<para>Нажмите кнопку "Свойства", чтобы открыть окно настроек параметров 
компонента TCP/IP.</para>
</listitem>

</itemizedlist>
</para>
  
<para><emphasis remap=bf>Конфигурация IP-адреса:</emphasis>
<itemizedlist>

<listitem>
<para>Выберите закладку "IP-адрес"</para>
</listitem>

<listitem>
<para>Выберите радио-кнопку "Указать IP-адрес явным образом". 
</para>

<para>(В нашей локальной сети система Windows '95 имеет имя "Larry".)</para>
</listitem>

<listitem>
<para>В поле "IP-адрес" введите значение "192.168.1.2".</para>
</listitem>

<listitem>
<para>В поле "Маска подсети" введите значение 255.255.255.0 .</para>
</listitem>

</itemizedlist>
</para>
  
<para><emphasis remap=bf>Конфигурирование шлюза:</emphasis>
<itemizedlist>

<listitem>
<para>Выберите закладку "Шлюз"
</para>

<para>В нашей локальной сети FreeBSD-система будет функционировать как шлюз в
Интернет, который будет маршрутизировать пакеты между локальной сетью Ethernet
и коммутируемым PPP-соединением.  Введите IP-адрес для Ethernet-интерфейса
FreeBSD-системы, 192.168.1.1, в поле "Новый шлюз" и нажмите кнопку "Добавить".
Если в списке определены другие шлюзы, Вы можете удалить их по Вашему
усмотрению.</para>
</listitem>

</itemizedlist>
</para>
  
<para><emphasis remap=bf>Конфигурирование DNS:</emphasis></para>

<para>В данном руководстве подразумевается, что Ваш Интернет-провайдер
предоставил Вам список серверов доменных имен (или DNS-серверов), который Вы
должны использовать.  Если же Вы желаете запустить DNS-сервер на Вашей
локальной FreeBSD-системе, обратитесь к разделу 6, "Упражнения для
интересующихся студентов". Этот раздел поможет Вам сделать это.
</para>

<para>
<itemizedlist>

<listitem>
<para>Выберите закладку "Конфигурация DNS"</para>
</listitem>

<listitem>
<para>Убедитесь, что радио-кнопка "Включить DNS" выбрана.
</para>

<para>(Если эта кнопка не выбрана, то будут доступны только те узлы,
которые Вы ввели в файле "hosts" и сетевой серфинг будет работать не так как
Вы бы того хотели!)</para>
</listitem>

<listitem>
<para>В поле "Имя компьютера" введите имя системы Windows '95, в нашем случае:
"Larry".</para>
</listitem>

<listitem>
<para>В поле "Домен" введите имя Вашей локальной сети, т.е.: "my.domain"</para>
</listitem>

<listitem>
<para>В секции "Порядок просмотра серверов DNS", введите IP-адрес DNS-сервера,
которым(и) обеспечил Вас Ваш Интернет-провайдер и нажмите кнопку "Добавить".
Повторите эту процедуру столько раз, сколько необходимо для ввода всех адресов
DNS-серверов Вашего провайдера.</para>
</listitem>

</itemizedlist>
</para>
  
<para><emphasis remap=bf>Другие параметры TCP/IP в Windows '95:</emphasis></para>
  
<para>В нашем случае параметры на закладках "Дополнительно", "Конфигурация WINS"
и "Привязка" не используются.</para>
  
<para>Если Вы пожелаете использовать службу WINS, обратитесь к
<ulink URL="http://www.localnet.org">http://www.localnet.org</ulink> для
получения более подробной информации о настройке этой службы, особенно в 
отношеннии к разделению файлов прозрачно через Интернет.</para>
  
<para><emphasis remap=bf>Завершение процесса конфигурирования:</emphasis>
<itemizedlist>

<listitem>
<para>Нажмите кнопку "OK", чтобы закрыть окно свойств TCP/IP.</para>
</listitem>

<listitem>
<para>Нажмите кнопку "OK", чтобы закрыть окно с настройками сети.</para>
</listitem>

<listitem>
<para>Перезагрузите Ваш компьютер, если это необходимо.</para>
</listitem>

</itemizedlist>
</para>
  
<para>Это все!</para>
  
</sect1>

<sect1>
<title>Конфигурирование Windows NT</title>

<para>Конфигурирование Windows NT для функционирования в качестве ресурса
локальной сети относительно прямолинейно.  Процедура конфигурирования Windows NT
также проста как и для Windows 95.  Незначительнын отличия наблюдаются лишь в
пользовательском интерфейсе.</para>
  
<para>Действия, описаные в этой секции, применимы к Windows NT 4.0 Workstation,
но принципы те же самые, как и в NT 3.5x.  Вы можете обратиться к разделу 
"Конфигурирование Windows for Workgroups", если Вы конфигурируете
Windows NT 3.5<emphasis remap=it>x</emphasis>, так как пользовательский
интерфейс NT 3.5 и Windows for Workgroups один и тот же.</para>
  
<para>Выполните следующие действия: </para>
  
<para><emphasis remap=bf>Создайте файл "hosts" под Windows NT:</emphasis></para>

<para>Для того, чтобы была возможность соединяться с другими системами TCP/IP
внутри Вашей локальной сети, необходимо создать идентичную копию файла "hosts",
который был установлен на FreeBSD-системе в разделе 3.4.
<itemizedlist>

<listitem>
<para>Нажмите кнопку "Старт" на панели задач, выберите пункт "Выполнить...",
затем введите строку "notepad \WINNT\SYSTEM32\DRIVERS\ETC\HOSTS" (без кавычек)
и нажмите кнопку "OK"</para>
</listitem>

<listitem>
<para>В редакторе введите адреса и имена систем из файла, созданного в
разделе 3.4.</para>
</listitem>

<listitem>
<para>Когда закончите редактирование, закройте редактор, предварительно
сохранив файл!</para>
</listitem>

</itemizedlist>
</para>
  
<para><emphasis remap=bf>Конфигурирование сетевых настроек TCP/IP под
Windows NT</emphasis>:
<itemizedlist>

<listitem>
<para>Нажмите кнопку "Старт" на панели задач, выберите "Настройка" и
"Панель управления".</para>
</listitem>

<listitem>
<para>Дважды нажмите на иконку "Сеть", чтобы открыть соответствующее окно.
</para>
</listitem>

<listitem>
<para>На закладке "Идентификация" проверьте поля "Имя компьютера" и
"Рабочая группа".  В этом примере мы будем использовать "Shemp" в качестве
имени компьтера и "Stooges" в качестве имени рабочей группы.  Нажмите кнопку
"Изменить" и измените эти поля на указанные.</para>
</listitem>

<listitem>
<para>Выберите закладку "Протоколы". 

</para>

<para>Вы увидите список установленных сетевых протоколов.  В этом списке могут
присутствовать несколько протоколов, но с точки зрения этого руководства, нас
будет интересовать только один - "Протокол TCP/IP".  Если "Протокол TCP/IP"
отсутствует в списке, то нажмите кнопку "Добавить" для его установки.</para>

<para>(Подсказка: "Добавить | TCP/IP протокол | OK") </para>
</listitem>

<listitem>
<para>Выберите "Протокол TCP/IP" и нажмите кнопку "Свойства".
</para>

<para>Появится окно с несколькими закладками, позволяющими установить
различные параметры протокола TCP/IP.</para>
</listitem>

</itemizedlist>
</para>
  
<para><emphasis remap=bf>Конфигурирование IP-адреса:</emphasis></para>
  
<para>Убедитесь, что Ethernet-интерфейс выбран в списке "Адаптер". Если это не
так, то "прокрутив" список, найдите необходимую запись информации об адаптере.
<itemizedlist>

<listitem>
<para>Выберите радио-кнопку "Указать IP-адрес явным образом", для активизации
трех текстовых полей.
</para>

<para>В нашей локальной сети система Windows NT имеет имя "Shemp".</para>
</listitem>

<listitem>
<para>В поле "IP-адрес" введите значение "192.168.1.4".</para>
</listitem>

<listitem>
<para>В поле "Маска подсети" введите значение 255.255.255.0.</para>
</listitem>

</itemizedlist>
</para>
  
<para><emphasis remap=bf>Конфигурирование шлюза:</emphasis></para>
  
<para>В нашей локальной сети FreeBSD-система  будет функционировать как шлюз в
Интернет, который будет маршрутизировать пакеты между локальной сетью Ethernet
и коммутируемым PPP-соединением.
<itemizedlist>

<listitem>
<para>Введите IP-адрес для Ethernet-интерфейса FreeBSD-системы, 192.168.1.1, 
в поле "Новый шлюз" и нажмите кнопку "Добавить".  
</para>

<para>Если в списке "Установленные шлюзы" находятся другие шлюзы, Вы можете
удалить их по Вашему усмотрению.</para>
</listitem>

</itemizedlist>
</para>
  
<para><emphasis remap=bf>Конфигурирование DNS:</emphasis></para>

<para>В данном руководстве подразумевается, что Ваш Интернет-провайдер
предоставил Вам список серверов доменных имен (или DNS-серверов), который Вы
должны использовать.</para>

<para>Если же Вы желаете запустить DNS-сервер на Вашей локальной
FreeBSD-системе, обратитесь к разделу 6, "Упражнения для интересующихся
студентов". Этот раздел поможет Вам сделать это.
<itemizedlist>

<listitem>
<para>Выберите закладку "DNS"</para>
</listitem>

<listitem>
<para>В поле "Имя компьютера" введите имя системы Windows NT, в нашем случае:
"Shemp".</para>
</listitem>

<listitem>
<para>В поле "Домен" введите имя Вашей локальной сети, т.е.: "my.domain"</para>
</listitem>

<listitem>
<para>В секции "Порядок просмотра серверов DNS", введите IP-адрес DNS-сервера,
которым(и) обеспечил Вас Ваш Интернет-провайдер и нажмите кнопку "Добавить".
Повторите эту процедуру столько раз, сколько необходимо для ввода всех адресов
DNS-серверов Вашего провайдера.</para>
</listitem>

</itemizedlist>
</para>
  
<para><emphasis remap=bf>Другие параметры TCP/IP в Windows NT:</emphasis></para>
  
<para>В нашем примере использование параметров "Адрес WINS" и "Маршрутизация"
не предусматривается.</para>
  
<para>Если Вы желаете использовать Службу WINS, обратитесь по адресу
<ulink URL="http://www.localnet.org">http://www.localnet.org</ulink> для более
подробной информации о настройке этой служьы, особенно в отношении разделения
файлов прозрачно через Интернет.</para>
  
<para><emphasis remap=bf>Завершение процесса конфигурирования:</emphasis>
<itemizedlist>

<listitem>
<para>Нажмите кнопку "OK", чтобы закрыть окно свойств TCP/IP.</para>
</listitem>

<listitem>
<para>Нажмите кнопку "Закрыть", чтобы закрыть окно с настройками сети.</para>
</listitem>

<listitem>
<para>Перезагрузите Ваш компьютер, если это необходимо.</para>
</listitem>

</itemizedlist>
</para>
  
<para>Это все!</para>
  
</sect1>

<sect1>
<title>Конфигурирование системы Windows for Workgroups</title>

<para>Конфигурирование системы Windows for Workgroups для функционирования
в качестве сетевого клиента требует наличия дискеты с драйвером Microsoft
TCP/IP-32, установленной на рабочей станции.  Драйвера TCP/IP для Windows
for Workgroups не поставляются на установочных компакт-дисков или на дискетах.
Поэтому, если они Вам необходимы, скопировать их Вы можете по адресу
<ulink URL="ftp://ftp.microsoft.com:/peropsys/windows/public/tcpip">ftp://ftp.microsoft.com:/peropsys/windows/public/tcpip</ulink>.</para>
  
<para>Как только драйверы TCP/IP будут загружены, выполните следующие действия:
</para>
  
<para><emphasis remap=bf>Создайте файл "hosts" под Windows for Workgroups:
</emphasis></para>
  
<para>Для того, чтобы была возможность соединяться с другими системами TCP/IP
внутри Вашей локальной сети, необходимо создать идентичную копию файла "hosts",
который был установлен на FreeBSD-системе в разделе 3.4.
<itemizedlist>

<listitem>
<para>В Менеджере Программ выберите меню "Файл", затем выберите пункт
"Выполнить...", введите строку "notepad \WINDOWS\HOSTS" (без кавычек) и нажмите
кнопку "OK".</para>
</listitem>

<listitem>
<para>В редакторе введите адреса и имена систем из файла, созданного в разделе
3.4.</para>
</listitem>

<listitem>
<para>Когда закончите редактирование, закройте редактор, предварительно
сохранив файл!</para>
</listitem>

</itemizedlist>
</para>
  
<para><emphasis remap=bf>Конфигурирование сети TCP/IP под Windows for
Workgroups</emphasis>
<itemizedlist>

<listitem>
<para>В главном окне Менеджера Программ откройте группу "Сеть" двойным
нажатием кнопки мыши на иконке. </para>
</listitem>

<listitem>
<para>Нажмите два раза на иконке "Настройка сети". </para>
</listitem>

<listitem>
<para>В списке "Сетевые устройства" нажмите два раза на записи
"Microsoft TCP/IP-32". </para>
</listitem>

</itemizedlist>
</para>
  
<para><emphasis remap=bf>Конфигурирование IP-адреса системы Windows for
Workgroups:</emphasis> </para>
  
<para>Убедитесь, что в списке "Адаптер" выбран правильный Ethernet-интерфейс,
в противном случае выберите его из списка доступных.
<itemizedlist>

<listitem>
<para>Убедитесь, что флажок "Включить автоматическую настройку DHCP" выключен.
</para>
</listitem>

<listitem>
<para>В нашей локальной сети для системы Windows for Workgroups, которую мы
назвали "Moe" в поле "IP-адрес" введите значение "192.168.1.3".</para>
</listitem>

<listitem>
<para>В поле "Маска подсети" введите значение 255.255.255.0.</para>
</listitem>

</itemizedlist>
</para>
  
<para><emphasis remap=bf>Конфигурирование шлюза:</emphasis></para>
  
<para>В нашей локальной сети FreeBSD-система  будет функционировать как шлюз в
Интернет, который будет маршрутизировать пакеты между локальной сетью Ethernet
и коммутируемым PPP-соединением.
<itemizedlist>

<listitem>
<para>Введите IP-адрес FreeBSD-системы, 192.168.1.1, в поле "Шлюз по умолчанию".
</para>
</listitem>

</itemizedlist>
</para>
  
<para><emphasis remap=bf>Конфигурирование DNS:</emphasis></para>

<para>В данном руководстве подразумевается, что Ваш Интернет-провайдер
предоставил Вам список серверов доменных имен (или DNS-серверов), который Вы
должны использовать.  Если же Вы желаете запустить DNS-сервер на Вашей
локальной FreeBSD-системе, обратитесь к разделу 6, "Упражнения для
интересующихся студентов". Этот раздел поможет Вам сделать это.
<itemizedlist>

<listitem>
<para>Нажмите кнопку "DNS".</para>
</listitem>

<listitem>
<para>В поле "Имя компьютера" введите имя системы Windows for Workgropus. В
нашем примере: "Moe".</para>
</listitem>

<listitem>
<para>В поле "Домен" введите имя Вашей локальной сети. В нашем примере:
"my.domain"</para>
</listitem>

<listitem>
<para>В секции "Порядок просмотра серверов DNS", введите IP-адрес DNS-сервера,
которым(и) обеспечил Вас Ваш Интернет-провайдер и нажмите кнопку "Добавить".
Повторите эту процедуру столько раз, сколько необходимо для ввода всех адресов
DNS-серверов Вашего провайдера.</para>
</listitem>

<listitem>
<para>Нажмите кнопку "OK", чтобы закрыть окно с настройками DNS.
</para>
</listitem>

</itemizedlist>
</para>
  
<para><emphasis remap=bf>Завершение процесса конфигурирования:</emphasis>
<itemizedlist>

<listitem>
<para>Нажмите кнопку "OK", чтобы закрыть окно свойств TCP/IP.</para>
</listitem>

<listitem>
<para>Нажмите кнопку "OK", чтобы закрыть окно настройки сети.</para>
</listitem>

<listitem>
<para>Перезагрузите компьютер, если это будет необходимо. </para>
</listitem>

</itemizedlist>
</para>
  
<para>Это все!</para>
  
</sect1>
</chapter>

<chapter id="testing-the-network">
<title>Тестирование сети</title>

<para> Как только Вы завершите все описанные выше этапы конфигурирования, Вы
получите нормально функционирующий PPP-шлюз в Интернет.</para>
  

<sect1>
<title>Тестирование возможности установки соединения:</title>

<para>Первое, что необходимо протестировать, - соединение, осуществляемое Вашим
модемом с Интернет-провайдером.</para>
  
</sect1>

<sect1>
<title>Тестирование локальной Ethernet-сети</title>

<para> *** TBD ***</para>
  
</sect1>
</chapter>

<chapter>
<title>Упражнения для интересующихся студентов</title>


<sect1>
<title>Создание простого DNS-сервера</title>

<para>В то время как управление иерархией DNS может быть довольно сложным
процессом, все же существует возможность настроить мини-DNS-сервер на нашей
FreeBSD-системе, которая к тому же функционирует в качестве шлюза к Вашему
Интернет-провайдеру.</para>
  
<para>Основываясь на файлах каталога <filename>/etc/namedb</filename>, который
был установлен процессе установки системы FreeBSD, стало возможным создать
сервер имен, который будет одновременно и авторитетным для нашей локальной сети,
используемой в этом руководстве, и "парадной дверью" в архитектуре DNS сети
Интернет.</para>
  
<para>Для этой минимальной конфигурации DNS, необходимы только три файла:
<informalexample>
<screen>/etc/namedb/named.boot
/etc/namedb/named.root
/etc/namedb/mydomain.db</screen>
</informalexample>
</para>
  
<para>Файл <filename>/etc/namedb/named.root</filename> автоматически
устанавливается как часть базовой установки системы FreeBSD. Остальные два
файла должны быть созданы вручную.</para>
  

<sect2>
<title>Файл <filename>/etc/namedb/named.boot</filename></title>

<para>Файл <filename>/etc/namedb/named.boot</filename> управляет параметрами
запуска DNS-сервера и содержит информацию, которую необходимо знать этому 
серверу имен, а именно:
<orderedlist>

<listitem>
<para>где искать конфигурационные файлы,</para>
</listitem>

<listitem>
<para>за какие "доменные имена" он отвечает и</para>
</listitem>

<listitem>
<para>где искать другие DNS-сервера.</para>
</listitem>

</orderedlist>
</para>
  
<para>Используя редактор '<emphasis remap=tt>ee</emphasis>', создайте файл
<filename>/etc/namedb/named.boot</filename> содержащий следующее:
<informalexample>
<screen>; загрузочный файл для мини-сервера имен

directory	/etc/namedb

; type    domain		source host/file		backup file

cache     .			named.root
primary   my.domain.		mydomain.db</screen>
</informalexample>
</para>
  
<para>Строки, начинающиеся с символа ";" являются комментарием.  Строки,
которые несут самую существенную информацию в этом файле приведены ниже:
<itemizedlist>

<listitem>
<para><command>directory /etc/namedb</command>
</para>

<para>Сообщает серверу имен о том, где находятся конфигурационные файлы, на
которые имеются ссылки в последних секциях файла
'<filename>/etc/namedb/named.boot</filename>'.</para>
</listitem>

<listitem>
<para><emphasis remap=tt>cache . named.root</emphasis>
</para>

<para>Сообщает серверу имен о том, что список корневых DNS-серверов Интернет
находится в файле '<filename>named.root</filename>'. (Этот файл включен в
базовую установку FreeBSD и его содержимое не описывается в этом руководстве.)
</para>
</listitem>

<listitem>
<para><emphasis remap=tt>primary my.domain. mydomain.db</emphasis>
</para>

<para>Сообщает серверу имен о том, что он является "авторитетным" для домена
"my.domain" и что список имен и IP-адресов систем домена "my.domain" (локальная сеть)
находится в файле '<filename>mydomain.db</filename>'.</para>
</listitem>

</itemizedlist>
</para>
  
<para>После того, как файл <filename>/etc/namedb/named.boot</filename> будет
создан и сохранен, переходите к следующему разделу для создания файла
<filename>/etc/namedb/mydomain.db</filename>.</para>
  
</sect2>

<sect2>
<title>Файл <filename>/etc/namedb/mydomain.db</filename></title>

<para>Файл <filename>/etc/namedb/mydomain.db</filename> содержит имена и
IP-адреса <emphasis>каждой</emphasis> системы в Вашей локальной сети.</para>
  
<para><emphasis>За более подробной информацией по операторам, используемым в
этом файле обращайтесь к man-странице справочного руководства по
<emphasis remap=tt>named</emphasis>.</emphasis></para>
  
<para>Файл <filename>/etc/namedb/mydomain.db</filename> для нашего небольшого
DNS-сервера содержит следующее:
<informalexample>
<screen>@	IN SOA	my.domain. root.my.domain.  (
				961230	; Serial
				3600	; Refresh
				300	; Retry
				3600000	; Expire
				3600 )	; Minimum
	IN NS	curly.my.domain.

curly.my.domain.	IN A	192.168.1.1	# The FreeBSD box
larry.my.domain.	IN A	192.168.1.2	# The Win'95 box
moe.my.domain.		IN A	192.168.1.3	# The WfW box
shemp.my.domain.	IN A	192.168.1.4	# The Windows NT box

$ORIGIN 1.168.192.IN-ADDR.ARPA
		IN NS	curly.my.domain.
1		IN PTR	curly.my.domain.
2		IN PTR	larry.my.domain.
3		IN PTR	moe.my.domain.
4		IN PTR	shemp.my.domain.

$ORIGIN 0.0.127.IN-ADDR.ARPA
		IN NS	curly.my.domain.
1		IN PTR	localhost.my.domain.</screen>
</informalexample>
</para>
  
<para>Простыми словами, этот файл объявляет, что локальный DNS-сервер:
<itemizedlist>

<listitem>
<para>имеет полномочия ("SOA") на домен с именем 'my.domain',</para>
</listitem>

<listitem>
<para>является сервером имен ("NS") для домена 'my.domain',</para>
</listitem>

<listitem>
<para>является ответственным за обратное преоразование для всех IP-адресов,
которые начинаются с '192.168.1.' и '127.0.0.' ("$ORIGIN ...")</para>
</listitem>

</itemizedlist>
</para>
  
<para>Добавляя информацию о новой рабочей станции в этот файл, Вы должны
добавлять две строки для этой системы: одну, в верхнюю секцию, которая отвечает
за преобразование имени системы в Интернет-адрес ("IN A"), а другую, которая,
наоборот, преобразует адрес в имя узла, в секцию <filename>$ORIGIN
1.168.192.IN-ADDR.ARPA</filename>.</para>
  
</sect2>

<sect2>
<title>Запуск DNS-сервера</title>

<para>По умолчанию DNS-сервер ('<filename>/usr/sbin/named</filename>') не
запускается при загрузке системы.  Однако, вы можете дать указание системе
запускит DNS-сервер, изменив одну единственную строку в файле
'<filename>/etc/rc.conf</filename>':</para>
  
<para>Используя редактор '<emphasis remap=tt>ee</emphasis>', загрузите файл 
<filename>/etc/rc.conf</filename>.  Опустите курсор примерно на 40 строк вниз и
Вы заметите секцию, которая выглядит как показано ниже:
<informalexample>
<screen>---
named_enable="NO"                       # Run named, the DNS server (or NO).
named_flags="-b /etc/namedb/named.boot" # Flags to named (if enabled).
---</screen>
</informalexample>

Измените эту секцию как показано ниже:
<informalexample>
<screen>---
named_enable="YES"                      # Run named, the DNS server (or NO).
named_flags="-b /etc/namedb/named.boot" # Flags to named (if enabled).
---</screen>
</informalexample>

Сохраните файл и перезагрузите систему.</para>
  
<para>Альтернативный способ: запустите демон сервера имен, введя следующую
команду:
<informalexample>
<screen># named -b /etc/namedb/named.boot</screen>
</informalexample>
</para>
  
<para>Какие бы изменения Вы не производили в любом из файлов каталога
<filename>/etc/namedb</filename>, Вам необходимо прервать выполнение сервера
имен, для того, чтобы изменения вступили в силу.  Это выполняется с помощью
следующей системной команды:
<informalexample>
<screen># kill -HUP `cat /var/run/named.pid`</screen>
</informalexample>
</para>
  
</sect2>
</sect1>

<sect1>
<title>Использоваение PPP-фильтров</title>

<para>Программа PPP имеет возможность применять правила фильтрации пакетов для
контроля трафика, который она маршрутизирует.  Несмотря на то, что эти правила
действуют далеко не так как обычный брандмауэр, они обеспечивают некоторый
контроль доступа по мере того, как используется соединение.</para>
  
<para>(Используйте '<emphasis remap=tt>man ipfw</emphasis>' для получения более
подробной информации по настройке системы безопасности для FreeBSD-систем.)
</para>
  
<para>Более полную документацию по различным фильтрам и правилам для PPP Вы
можете получить, воспользовавшись man-страницей справочного руководства по PPP.
</para>
  
<para>Существуют 4 отличных класса правил, которые могут использоваться
программой PPP:
<itemizedlist>

<listitem>
<para><emphasis>alive</emphasis>-фильтры - Фильтры "счетчик доступа"
(или "поддержка подключения")
</para>

<para>Эти правила фильтрации управляют событиями, которые будут игнорироваться
выражением <literal>set timeout=</literal> в конфигурационном файле.</para>
</listitem>

<listitem>
<para><emphasis>dial</emphasis>-фильтры - Фильтры дозвона
</para>

<para>Эти правила фильтрации управляют событиями, которые будут игнорироваться
в режиме "дозвон при необходимости" программы PPP.</para>
</listitem>

<listitem>
<para><emphasis>in</emphasis>-фильтры - Входные фильтры
</para>

<para>Контролируют входящие пакеты: будут ли они пропущены в систему или
отброшены системой.</para>
</listitem>

<listitem>
<para><emphasis>out</emphasis>-фильтры - Выходные фильтры
</para>

<para>Контролируют исходящие пакеты: будут ли они пропущены или отброшены
системой.</para>
</listitem>

</itemizedlist>
</para>
  
<para>Ниже приведена "вырезка" из конфигурации системы, которая обеспечиват
хорошую основу для "нормальной" работы в Интернет, запрещая PPP "прокачивать"
<emphasis>все</emphasis> данные через коммутирумое соединение.  Краткие
комментарии описывают логику каждого правила:
<informalexample>
<screen>#
# Фильтры, поддерживающие соединение
# Не поддерживать соединения пакетами ICMP,DNS и RIP
#
 set filter alive 0 deny icmp
 set filter alive 1 deny udp src eq 53
 set filter alive 2 deny udp dst eq 53
 set filter alive 3 deny udp src eq 520
 set filter alive 4 deny udp dst eq 520
 set filter alive 5 permit 0/0 0/0
#
# Фильтры дозвона:
# Примечение:  ICMP будет производить дозвон в этой конфигурации!
#
 set filter dial 0 permit 0/0 0/0
#
# Разрешить опознанные пакеты
#
 set filter in 0 permit tcp dst eq 113
 set filter out 0 permit tcp src eq 113
#
# Разрешить telnet-подключения к Интернет
#
 set filter in 1 permit tcp src eq 23 estab
 set filter out 1 permit tcp dst eq 23
#
# Разрешить доступ в Интернет по ftp
#
 set filter in 2 permit tcp src eq 21 estab
 set filter out 2 permit tcp dst eq 21
 set filter in 3 permit tcp src eq 20 dst gt 1023
 set filter out 3 permit tcp dst eq 20
#
# Разрещить доступ к поиску в DNS
#
 set filter in 4 permit udp src eq 53
 set filter out 4 permit udp dst eq 53
#
# Разрешить передачу зоны DNS
#
 set filter in 5 permit tcp src eq 53
 set filter out 5 permit tcp dst eq 53
#
# Разрешить доступ внутри локальной сети
#
 set filter in 6 permit 0/0 192.168.1.0/24
 set filter out 6 permit 192.168.1.0/24 0/0
#
# Разрешить ответы ping и traceroute
#
 set filter in 7 permit icmp
 set filter out 7 permit icmp
 set filter in 8 permit udp dst gt 33433
 set filter out 9 permit udp dst gt 33433
#
# Разрешить cvsup
#
 set filter in 9 permit tcp src eq 5998
 set filter out 9 permit tcp dst eq 5998
 set filter in 10 permit tcp src eq 5999
 set filter out 10 permit tcp dst eq 5999
#
# Разрешить протокол NTP для синхронизации времени
#
 set filter in 11 permit tcp src eq 123 dst eq 123
 set filter out 11 permit tcp src eq 123 dst eq 123
 set filter in 12 permit udp src eq 123 dst eq 123
 set filter out 12 permit udp src eq 123 dst eq 123
#
# SMTP - будет неплохо!
#
 set filter in 13 permit tcp src eq 25
 set filter out 13 permit tcp dst eq 25
#
#
# Мы часто используем `whois`, поэтому разрешим это
#
 set filter in 14 permit tcp src eq 43
 set filter out 14 permit tcp dst eq 43
 set filter in 15 permit udp src eq 43
 set filter out 15 permit udp dst eq 43
#
# Если пакет не удовлетворяет ни одному указанному выше условию, то он будет
# блокирован.
#-------</screen>
</informalexample>
</para>
  
<para>В каждом классе правил фильтрации пакетов можно применить до 20 явных
фильтров.  Правила в каждом классе представляют собой последовательные номера
от 0 до 20, <emphasis>но ни одно из правил для конкретного класса фильтров не
возымеет действия до тех пор, пока будет определено правило с номером '0'!
</emphasis></para>
  
<para>Если Вы решили <emphasis>не</emphasis> использовать правила фильтрации
пакетов в конфигурации PPP, то в этом случае на время соединения с Вашим
Интернет-провайдером через Вашу систему будет разрешен <acronym>ВЕСЬ</acronym>
входящий и исходящий трафик.</para>
  
<para>Если Вы решите, что Вам необходимо использовать правила фильтрации
пакетов, добавьте строки, описанные выше в Ваш файл
<filename>/etc/ppp/ppp.conf</filename> в одну из секций "стандартную:",
"demand:" или "интерактивную:" (или же во все, по Вашему усмотрению).</para>
  
</sect1>
</chapter>
</book>
