Авторские права на этот материал принадлежат Игорю Сысоеву

 

Настройка pppd

 

Этот документ отражает реальный опыт использования pppd 2.3.5 под FreeBSD 2.2.7. Тем не менее, большая часть изложенного (за исключением ядра и имён устройств последовательных портов) не зависит от платформы и справедлива для большинства юниксов, в том числе и Linux'а.

Весь этот раздел Вы можете скачать в одном флаконе, вернее, в двух, в зависимости от желаемой кодировки и способа архивирования.

Для FreeBSD существует два пакета PPP - kernel-level, называемый pppd, и user-level - ppp. Первый работает через устройство ppp, тогда как второй - через устройство tun. На одной машине могут одновременно работать оба пакета. Традиционно рекомендуется ставить pppd в качестве сервера, то есть принимать звонки, а ppp в качестве клиента, то есть звонить, особенно, если это необходимо делать в режиме соединения по требованию (dial on demand), и это, в принципе, до недавнего времени имело основания. Но, начиная с версии 2.3, pppd поддерживаeт dial on demand и, на мой взгляд, у ppp остается всё меньше преимуществ.

Если я Вас всё-таки не убедил и Вас по-прежнему интересует ppp, то можно почитать Pedantic PPP Primer, который ему и посвящён. Кроме того, о нём Вы можете почитать во FreeBSD Handbook.

В данном цикле статей внимание уделено исключительно pppd. На момент написания последняя версия pppd была 2.3.10. Если у Вас стоит FreeBSD 2.2.7, 2.2.8, 3.0, 3.1, 3.2 или 3.3, то в её комплект входит версия 2.3.5. В принципе, Вы можете установить версию 2.3.10 - по некоторым отзывам она вполне собираема на FreeBSD.

Надо заметить, что версия pppd, входящая в FreeBSD, несколько отличается от обычного pppd в лучшую сторону.

В FreeBSD Handbook описано, что необходимо сделать для настройки pppd, но, как мне кажется, описание это устаревшее, довольно неполное, сложное и к тому же неправильное. Я бы даже рекомендовал не читать его совсем, дабы не засорять мозги. Например, для дозвонки там предлагается использовать kermit, который у меня ассоциируется с лягушонком из Маппет-Шоу и который совершенно не хочется ставить. Кермитовский скрипт дозвонки /etc/ppp/kermit.dial, мало того, что по неизвестной причине оказался в разделе установки серверной части pppd, где ему явно не место, он еще и неоправданно больший и сложный и при всей своей сложности не позволяет звонить по нескольким номерам, что, согласитесь, в нашей стране является крупным недостатком. Процедуры запуска pppd крайне сложны и при этом не правильны. Кроме того, никак не отражена аутентификация посредством PAP и CHAP, тема достаточно актуальная в связи с широким распространением Windows.

Поэтому, раскритиковав в пух и прах статью в хэндбуке, я предлагаю Вашему вниманию свое изложение работы pppd. Я рекомендую Вам прочитать все статьи, хотя бы для рассширения кругозора. Если Вам необходимо настроить только дозвонку и у Вас что-то не получается, почитайте статьи, связанные с серверной стороной, быть может, что-то натолкнет Вас на правильное решение, когда Вы узнаете кухню этого дела с другой стороны. Если Вы без проблем соединяетесь с провайдером с помощью Windows, но никак не можете добится того же результата с pppd, почитайте про параметры в Windows. Может быть, Вы поймёте, что Вы упустили при настройке pppd.