Чтобы программа diald могла работать, необходимо установить в ядре Linux средства поддержки SLIP (вопросы настройки и компиляции ядра рассматривались в главе 1). Протокол SLIP необходим для связывания компьютера с программой diald. Эта программа поддерживает постоянно активный сетевой интерфейс, поэтому она имеет возможность выявлять сетевой трафик и устанавливать при необходимости PPP-соединение.
К сожалению, diald не входит в состав большинства дистрибутивных пакетов Linux, поэтому этот инструмент необходимо устанавливать отдельно. Исходный код программы можно найти на сервере http://diald.sourceforge.net, а для того, чтобы получить двоичные коды diald для RPM и Debian, надо обратиться соответственно по адресам http://www.rpmfind.net и http://www.debian.org/distrib.packages.
Для настройки программы diald используются три конфигурационных файла, описанных ниже.
• /etc/diald.conf. В этом файле содержатся опции, подобные тем, которые используются сценарием ppp-on, например, имя устройства, посредством которого подключен модем (device), и скорость соединения (speed). Посредством опций local и remote задаются IP-адреса для внутреннего использования в программе diald. Эти адреса должны принадлежать одному сегменту, но следует следить за тем, чтобы они не совпадали с адресами узлов вашей локальной сети. Вы можете использовать для этой цели IP-адреса, специально выделенные для внутренних сетей, например адреса, принадлежащие диапазону
• /etc/ppp/diald-dialer. Этот файл практически идентичен рассмотренному ранее сценарию ppp-on-dialer. При настройке его содержимое необходимо изменить так же, как и ppp-on-dialer.
• /usr/lib/diald/standard.filter. В этом файле задается значение тайм-аута. Если в течение указанного интервала времени сетевая активность отсутствует, программа diald должна разорвать соединение. Если в процессе работы вы обнаружите, что соединение прекращается слишком быстро, имеет смысл вернуться к значению тайм-аута по умолчанию, первоначально заданному в файле /usr/lib/diald/standard.filter.
Если ваш провайдер использует PAP или CHAP, то кроме перечисленных выше конфигурационных файлов, вам надо также отредактировать файл /etc/ррр/pap-secrets или /etc/ppp/chap-secrets. В соответствующем файле указываются те же данные, что и при настройке PPP-соединения, устанавливаемого с помощью обычных сценариев. Вам также придется включить в файл /etc/resolv.conf адреса серверов DNS, которые сообщит провайдер. Для того чтобы запустить diald, надо задать команду /usr/sbin/diald. Сделать это может только пользователь root. После этого diald будет распознавать трафик, направленный извне, и устанавливать PPP-соединения. Первая попытка обращения к серверу Internet закончится неудачей, так как для установления соединения требуется время, превышающее время тайм-аута большинства служб Internet. Вторая попытка будет успешной.
Если вы хотите, чтобы программа diald автоматически запускалась при загрузке системы, вам надо создать сценарий запуска SysV или включить дополнительные записи в локальный сценарий (/etc/rc.d/rc.local или /etc/rc.d/boot.local). Программа diald будет нормально работать и в том случае, если ваш компьютер выполняет функции NAT-маршрутизатора.
Резюме
Для того чтобы работа в сети стала возможной, необходимо реализовать тот или иной тип сетевого соединения. В настоящее время для создания подавляющего большинства локальных сетей используется технология Ethernet. В системе Linux присутствуют надежные средства поддержки сети Ethernet. IP-адреса в сети распределяются либо вручную, либо для этой цели используются клиенты и сервер DHCP. Linux поддерживает оба способа распределения адресов. Настройка большинства локальных сетей выполняется приблизительно так же, как и настройка сетей Ethernet. Единственным исключением являются PPP-соединения. Протокол PPP обычно применяется для обеспечения сетевого взаимодействия по коммутируемым линиям. Для поддержки PPP-соединения используется программа pppd, выполняющаяся в системе Linux в режиме демона. Обращение к pppd осуществляется с помощью специальных программ с графическим интерфейсом, сценариев либо посредством программы diald. В любом случае после активизации PPP-соединения формируется интерфейс, который с программной точки зрения аналогичен Ethernet или другому сетевому интерфейсу.
Глава 3
Альтернативные стеки протоколов
Компьютерная программа — идеальный инструмент для решения тех задач, которые предполагают скрупулезное следование предписаниям. В ситуациях, не предусмотренных инструкциями, компьютер становится практически беспомощным. Поэтому для обеспечения работы сетей тщательно разработаны протоколы — подробное описание действий узлов сети при выполнении транзакций. Как было сказано в главе 1, протоколы объединяются в иерархическую систему, называемую стеком сетевых протоколов, или стеком протоколов. Наиболее часто в настоящее время используется стек протоколов TCP/IP. На базе протоколов семейства TCP/IP построена вся сеть Internet, кроме того, протоколы данного семейства широко используются при работе различных операционных систем, в частности Linux. В главе 2 была описана конфигурация системы для поддержки TCP/IP. Помимо TCP/IP, существует ряд альтернативных стеков протоколов, которые также поддерживаются в Linux.
В начале данной главы представлены обзор стеков протоколов и краткое описание TCP/IP. Далее обсуждаются три наиболее часто используемых стека: AppleTalk, IPX и NetBEUI. Эти стеки протоколов применяются в основном в локальных сетях, содержащих компьютеры Macintosh и PC под управлением Windows. С их помощью обеспечивается разделение файлов и принтеров.
Общие сведения о стеках протоколов
Для того чтобы вести предметный разговор о стеках протоколов и обсуждать их достоинства и недостатки, необходимо иметь хотя бы общее представление о том, как организован стек, какие функции выполняют протоколы, входящие в его состав, и как они реализованы. Большинство стеков протоколов действует по единому принципу и отличается лишь в деталях. Однако именно эти детали и являются основным аргументом в пользу выбора тех или иных протоколов.