Руководство FreeBSD
Пред. | Глава 21. PPP и SLIP | След.

# 21.2. PPP уровня пользователя

Обновил и расширил Tom Rhodes. Первоначально предоставил Brian Somers. Дополнительную информацию предоставили Nik Clayton, Dirk Frömberg, Peter Childs.

## 21.2.1. Настройка PPP уровня пользователя

### 21.2.1.1. Предположения

В этом документе предполагается, что у вас есть следующее:

- Учетная запись у провайдера интернет (Internet Service Provider, ISP), к которому вы подсоединяетесь, используя PPP.

- Модем или другое подключенное к системе и правильно настроенное устройство, позволяющее подключиться к провайдеру.

- Номер модемного пула провайдера.

- Имя пользователя (логин) и пароль (обычная UNIX® пара логин/пароль, или PAP/CHAP пара логин/пароль).

- IP адреса одного или нескольких серверов имен. Обычно провайдер дает для этих целей два IP адреса. Если нет ни одного, вы можете использовать команду `enable dns` в `ppp.conf` и ppp настроит список серверов имен. Эта возможность зависит от наличия поддержки согласования DNS в реализации PPP провайдера.

Следующая информация может поставляться провайдером, но не является совершенно необходимой:

- IP адрес шлюза провайдера. Шлюз это компьютер, к которому вы подключитесь и который будет настроен в качестве маршрута по умолчанию (default route). Если у вас нет этой информации, она может быть получена от PPP сервера после подключения.

  Программой ppp этот IP адрес обозначается как HISADDR.

- Сетевая маска, которую вы должны использовать. Если провайдер не предоставил ее значение, вы можете использовать `255.255.255.255`.

- Если провайдер предоставил статический IP и имя хоста, используйте их. Иначе позвольте удаленной стороне назначить свободный IP адрес.

Если у вас нет всей необходимой информации, свяжитесь с провайдером.

> Замечание: В этом разделе строки файлов настройки из многих примеров пронумерованы. Эти номера приведены только для обсуждения настроек, они не должны помещаться в действующую настройку. Правильные отступы с табуляцией и пробелами также важны.

### 21.2.1.2. Создание файлов устройств PPP

В обычной ситуации, большинству пользователей нужно только одно устройство `tun` (`/dev/tun0`). Ссылки на `tun0` ниже могут быть заменены на `tunN`, где N это любой номер устройства, соответствующий вашей системе.

Для систем FreeBSD без devfs(5) (FreeBSD 4.X более ранние), необходимо проверить устройство `tun0` (это не требуется, если включена devfs(5), поскольку файлы устройств будут создаваться автоматически).

Простейший способ убедиться, что устройство `tun0` настроено правильно, это пересоздать устройство. Для пересоздания устройства выполните следующее:

    # cd /dev
    # sh MAKEDEV tun0

Если вам необходимы 16 туннельных устройств, потребуется их создать. Это можно сделать, выполнив следующие команды:

    # cd /dev
    # sh MAKEDEV tun15

### 21.2.1.3. Автоматическая настройка PPP

И `ppp` и `pppd` (реализация PPP уровня ядра) используют файлы настройки, расположенные в каталоге `/etc/ppp`. Примеры для ppp уровня пользователя можно найти в `/usr/share/examples/ppp/`.

Настройка `ppp` требует редактирования нескольких файлов, в зависимости от ваших потребностей. То, что вы поместите в эти файлы, зависит в некоторой степени от того, предоставит ли провайдер статический IP адрес (т.е. вы получите один определенный IP адрес и будете использовать его постоянно) или динамический (т.е. ваш IP адрес будет изменяться при каждом подключении к провайдеру).

#### 21.2.1.3.1. PPP и статические IP адреса

Вам потребуется отредактировать файл настройки `/etc/ppp/ppp.conf`. Он похож на приведенный ниже пример.

> Замечание: Строки, оканчивающиеся на :, вводятся без отступа в начале строки, остальные строки должны быть введены с отступом, как показано в примере.

    1     default:
    2       set log Phase Chat LCP IPCP CCP tun command
    3       ident user-ppp VERSION (built COMPILATIONDATE)
    4       set device /dev/cuaa0
    5       set speed 115200
    6       set dial "ABORT BUSY ABORT NO\\sCARRIER TIMEOUT 5 \
    7                 \"\" AT OK-AT-OK ATE1Q0 OK \\dATDT\\T TIMEOUT 40 CONNECT"
    8       set timeout 180
    9       enable dns
    10
    11    provider:
    12      set phone "(123) 456 7890"
    13      set authname foo
    14      set authkey bar
    15      set login "TIMEOUT 10 \"\" \"\" gin:--gin: \\U word: \\P col: ppp"
    16      set timeout 300
    17      set ifaddr x.x.x.x y.y.y.y 255.255.255.255 0.0.0.0
    18      add default HISADDR

Строка 1:

  Начинает настройку по умолчанию (default). Команды этой настройки выполняются автоматически при запуске ppp.

Строка 2:

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

      set log phase tun

  для предотвращения появления слишком больших лог файлов.
Строка 3:

  Указывает PPP как идентифицировать себя на удаленной стороне. PPP идентифицирует себя на удаленной стороне если возникают проблемы согласования и установки соединения, предоставляя информацию, по которой администратор на удаленной стороне может воспользоваться для решения таких проблем.

Строка 4:

  Указывает устройство, к которому подключен модем. `COM1` это `/dev/cuaa0`, а `COM2` это `/dev/cuaa1`.

Строка 5:

  Устанавливает желаемую скорость подключения к модему. Если 115200 не работает (хотя должна работать для любого относительно нового модема) попробуйте 38400.

Строки 6 и 7:

  Строка дозвона. PPP уровня пользователя применяет expect-send синтаксис, похожий на синтаксис chat(8). Обратитесь к странице справочника за информацией о возможностях этого языка.

  Обратите внимание, что эта команда продолжается на следующей строке для улучшения читаемости. Любая команда в `ppp.conf` может быть продолжена на следующей строке, если последний символ предыдущей строки ''\''.

Строка 8:

  Устанавливает предельное время ожидания для соединения. Значение 180 секунд используется по умолчанию, так что строка с этим значением чисто косметическая.

Строка 9:

  Указывает PPP запросить у удаленной стороны сервера имен. Если вы работаете с локальным сервером имен, эта строка должна быть закомментирована или удалена.

Строка 10:

  Пустая строка для улучшения читаемости. Пустые строки игнорируются PPP.

Строка 11:

  Определяет настройки для провайдера, называемого ''provider''. Это имя может быть изменено на имя вашего провайдера, чтобы в дальнейшем вы могли использовать load provider для начала соединения.

Строка 12:

  Определяет телефонный номер для этого провайдера. Несколько телефонных номеров могут быть указаны с помощью двоеточия (:) или символа канала (|) в качестве разделителя. Различия между двумя разделителями описаны в ppp(8). Главным образом они заключаются в том, что если вы хотите перебирать номера, используйте двоеточие. Если вы хотите дозваниваться по первому номеру в первую очередь, и использовать другие номера только если дозвон по первому завершится неудачно, используйте символ канала. Всегда заключайте список номеров в кавычки, как показано в примере.

  Вы должны включить телефонный номер в кавычки (") если в нем используются пробелы. Отсутствие кавычек может вызвать простую, но трудно обнаруживаемую ошибку.

Строки 13 и 14:

  Задают имя пользователя и пароль. При использовании приглашения login в стиле UNIX, эти значения используются командой `set login` через переменные \U и \P. При соединении с использованием PAP или CHAP, эти значения используются во время аутентификации.

Строка 15:

  Если вы используете PAP или CHAP, приглашение на вход не появится, и эта строка должна быть закомментирована или удалена. Обратитесь к странице аутентификация PAP и CHAP за дальнейшей информацией.

  Строка для входа записана в том же chat-подобном синтаксисе, что и строка для дозвона. В этом примере строка работает для сервиса, сессия входа которого выглядит примерно так:

      J. Random Provider
      login: foo
      password: bar
      protocol: ppp

  Вам потребуется изменить эту строку для использования с другим сервисом. При первом составлении скрипта убедитесь, что вы включили ''chat'' протоколирование, чтобы убедиться, что соединение происходит как ожидалось.

Строка 16:

  Установка максимального времени ожидания по умолчанию для соединения. В данном случае соединение будет разорвано автоматически после 300 секунд неактивности. Если вы не хотите, чтобы соединение разрывалось, установите эту переменную в нуль, или используйте параметр командной строки-ddial.

Строка 17:

  Устанавливает адрес интерфейса. Строка x.x.x.x должна быть заменена на IP адрес, который выделил вам провайдер. Строка y.y.y.y должна быть заменена на IP адрес шлюза провайдера (компьютер, к которому вы подключаетесь). Если провайдер не сообщил адрес шлюза, используйте `10.0.0.2/0`. Если вам требуется использовать ''вычисленные'' адреса, убедитесь, что создана запись в `/etc/ppp/ppp.linkup` в соответствии с инструкциями для PPP и динамических IP адресов. Если эта строка опущена, `ppp` не может быть запущен в режиме -auto.

Строка 18:

  Добавляет маршрут по умолчанию к шлюзу провайдера. Специальное слово HISADDR заменяется адресом шлюза, указанном в строке 17. Важно, чтобы эта строка появилась после строки 17, до нее переменная HISADDR еще не инициализирована.

  Если вы не будете запускать ppp с параметром -auto, эта строка должна быть перемещена в файл `ppp.linkup`.

Нет необходимости добавлять запись в `ppp.linkup`, если у вас статический IP адрес и ppp работает в режиме -auto, поскольку таблица маршрутизации настроена правильно еще до подключения. Однако, вы возможно захотите создать запись для запуска программ после соединения. Эта ситуация описана далее в примере по sendmail.

Примерные файлы настройки находятся в каталоге `/usr/share/examples/ppp/`.

#### 21.2.1.3.2. PPP и динамические IP адреса

Если провайдер не выделил статический IP адрес, `ppp` может быть настроен для определения локального и удаленного адреса. Это делается путем ''вычисления'' IP адреса и настройки его программой `ppp` с использованием IP Configuration Protocol (IPCP) после установления соединения. Файл настройки `ppp.conf` тот же, что и в примере PPP и статические IP адреса, со следующим изменением:

    17      set ifaddr 10.0.0.1/0 10.0.0.2/0 255.255.255.255

Как и раньше, не включайте номер строки, он используется только для ссылки на строку в этом примере. Требуется отступ хотя бы в один пробел.

Строка 17:

  Номер после символа / это число бит в адресе, которые будут запрошены ppp. Вы можете использовать более подходящие вам IP адреса, но пример выше всегда будет работать.

Если вы не используете режим -auto, потребуется создать запись в `/etc/ppp/ppp.linkup`. Этот файл используется после установки соединения. На этот момент `ppp` уже настроит адреса интерфейсов и станет возможным добавление записей в таблицу маршрутизации:

    1     provider:
    2      add default HISADDR

Строка 1:

  При установке соединения, `ppp` ищет запись в `ppp.linkup` по следующим правилам: сначала в соответствии с меткой, используемой в `ppp.conf`. Если это не сработает, ведется поиск записи для IP адреса шлюза. Это метка в IP записывается в виде IP адреса. Если запись все еще не найдена, используется запись MYADDR.

Строка 2:

  Эта строка сообщает `ppp` добавить маршрут по умолчанию, указывающий на HISADDR. HISADDR будет заменен на IP адрес шлюза, определенного IPCP.

Детальный пример находится в записи pmdemand файлов `/usr/share/examples/ppp/ppp.conf.sample` и `/usr/share/examples/ppp/ppp.linkup.sample`.

#### 21.2.1.3.3. Прием входящих звонков

При настройке ppp для приема входящих звонков на компьютере, подключенном к локальной сети, вам необходимо решить, перенаправлять ли пакеты в локальную сеть. Если вы будете делать это, выделите удаленной стороне IP адрес из диапазона адресов локальной сети, и используйте команду `enable proxy` в файле `/etc/ppp/ppp.conf`. Вам потребуется также убедиться, что в файле `/etc/rc.conf` присутствует строка:

    gateway_enable="YES"

#### 21.2.1.3.4. Какой getty?

Раздел Настройка FreeBSD для входящих соединений дает хорошее описание включения входящих соединений с использованием getty(8).

Альтернатива `getty` это mgetty, более интеллектуальная версия `getty`, разработанная специально для приема входящих звонков..

Преимущество использование `mgetty` в том, что она активно общается с модемами, то есть если порт будет выключен в `/etc/ttys`, модем не будет отвечать на звонок.

Последние версии `mgetty` (от 0.99beta и выше) поддерживают также автоматическое определение потоков PPP, позволяя клиентам безскриптовое подключение к серверу.

Обратитесь к разделу Mgetty и AutoPPP за дальнейшей информацией по `mgetty`.

#### 21.2.1.3.5. Права PPP

Программа `ppp` обычно запускается с правами пользователя `root`. Если вы хотите разрешить запуск `ppp` в режиме сервера с правами обычного пользователя путем запуска `ppp` как описано ниже, этого пользователя необходимо добавить в группу `network` в файле `/etc/group`.

Вам также потребуется дать ему доступ к одному или более разделов конфигурации, используя команду `allow`:

    allow users fred mary

Если эта команда используется в разделе default, она дает пользователю полный доступ.

#### 21.2.1.3.6. Оболочки PPP для пользователей с динамическими IP

Создайте файл, называющийся `/etc/ppp/ppp-shell` и содержащий следующее:

    #!/bin/sh
    IDENT=`echo $0 | sed -e 's/^.*-\(.*\)$/\1/'`
    CALLEDAS="$IDENT"
    TTY=`tty`

    if [ x$IDENT = xdialup ]; then
            IDENT=`basename $TTY`
    fi

    echo "PPP for $CALLEDAS on $TTY"
    echo "Starting PPP for $IDENT"

    exec /usr/sbin/ppp -direct $IDENT

Этот скрипт должен быть исполняемым. Теперь создайте на этот скрипт символическую ссылку с именем `ppp-dialup` с помощью следующей команды:

    # ln -s ppp-shell /etc/ppp/ppp-dialup

Используйте этот скрипт в качестве оболочки для удаленных пользователей. Ниже приведен пример записи в `/etc/password` для удаленных пользователей PPP с именем пользователя `pchilds` (не забывайте использовать `vipw` для редактирования файла паролей).

    pchilds:*:1011:300:Peter Childs PPP:/home/ppp:/etc/ppp/ppp-dialup

Создайте каталог `/home/ppp`, который доступен для чтения и содержит следующие файлы нулевой длины:

    -r--r--r--   1 root     wheel     0 May 27 02:23 .hushlogin
    -r--r--r--   1 root     wheel           0 May 27 02:22 .rhosts

Это предотвратит отображение `/etc/motd`.

#### 21.2.1.3.7. Оболочки PPP для пользователей со статическими IP

Создайте файл `ppp-shell` как в примере выше, и для каждой учетной записи со статически назначаемым IP создайте символическую ссылку на `ppp-shell`.

Например, если у вас три пользователя удаленного доступа, `fred`, `sam` и `mary`, которые подключаются к вашей сети класса C, выполните следующее:

    # ln -s /etc/ppp/ppp-shell /etc/ppp/ppp-fred
    # ln -s /etc/ppp/ppp-shell /etc/ppp/ppp-sam
    # ln -s /etc/ppp/ppp-shell /etc/ppp/ppp-mary

Оболочка каждого из этих пользователей удаленного доступа должна быть символической ссылкой, созданной выше (например, оболочка пользователя `mary` должна быть `/etc/ppp/ppp-mary`).

#### 21.2.1.3.8. Настройка `ppp.conf` для пользователей с динамическими IP

Файл `/etc/ppp/ppp.conf` должен содержать примерно такие строки:

    default:
      set debug phase lcp chat
      set timeout 0

    ttyd0:
      set ifaddr 203.14.100.1 203.14.100.20 255.255.255.255
      enable proxy

    ttyd1:
      set ifaddr 203.14.100.1 203.14.100.21 255.255.255.255
      enable proxy

> Замечание: Необходимо соблюдать отступы.

Раздел default: загружается для каждого соединения. Для каждой строки, включенной в `/etc/ttys`, создайте запись, подобную ttyd0: выше. Каждая строка должна содержать уникальные IP адреса из вашего пула IP адресов, выделенных пользователям с динамическими IP.

#### 21.2.1.3.9. Настройка `ppp.conf` для пользователей со статическими IP

Помимо содержимого, описанного в примере файла `/usr/share/examples/ppp/ppp.conf` выше, вам потребуется добавить раздел для каждого из пользователей со статическими IP. Мы продолжим использовать имена `fred`, `sam` и `mary` в качестве примера.

    fred:
      set ifaddr 203.14.100.1 203.14.101.1 255.255.255.255

    sam:
      set ifaddr 203.14.100.1 203.14.102.1 255.255.255.255

    mary:
      set ifaddr 203.14.100.1 203.14.103.1 255.255.255.255

Если требуется, файл `/etc/ppp/ppp.linkup` должен также содержать информацию о маршрутизации для каждого пользователя со статическим IP. В строке ниже через клиентское соединение добавляется маршрут к сети класса C`203.14.101.0`.

    fred:
      add 203.14.101.0 netmask 255.255.255.0 HISADDR

    sam:
      add 203.14.102.0 netmask 255.255.255.0 HISADDR

    mary:
      add 203.14.103.0 netmask 255.255.255.0 HISADDR

#### 21.2.1.3.10. `mgetty` и AutoPPP

Настройка и компиляция `mgetty` с параметром AUTO_PPP позволяет `mgetty` определять LCP фазу PPP соединений и автоматически порождать оболочку ppp. Однако, поскольку стандартный метод логин/пароль не используется, необходима аутентификация пользователей через PAP или CHAP.

В этом разделе предполагается, что пользователь успешно настроил, скомпилировал и установил версию `mgetty` с параметром AUTO_PPP (v0.99beta или более поздняя).

Убедитесь, что в файле `/usr/local/etc/mgetty+sendfax/login.config` имеется следующая строка:

    /AutoPPP/ -     -            /etc/ppp/ppp-pap-dialup

Это укажет `mgetty` запускать скрипт `ppp-pap-dialup` для обнаруженных соединений PPP.

Создайте файл `/etc/ppp/ppp-pap-dialup`, содержащий следующее (этот файл должен быть выполняемым):

    #!/bin/sh
    exec /usr/sbin/ppp -direct pap$IDENT

Для каждой линии, включенной в `/etc/ttys`, создайте соответствующую запись в `/etc/ppp/ppp.conf`. Она будет отлично сочетаться с тем, что было создано выше.

    pap:
      enable pap
      set ifaddr 203.14.100.1 203.14.100.20-203.14.100.40
      enable proxy

Для каждого пользователя, входящего по этому методу, в файле `/etc/ppp/ppp.secret` должна присутствовать запись с логином/паролем, или, в качестве альтернативы, для аутентификации пользователей по PAP через `/etc/password`, необходимо использовать следующий параметр.

    enable passwdauth

Если вы хотите присвоить некоторым пользователям статический IP, задайте его в качестве третьего аргумента в `/etc/ppp/ppp.secret`. Обратитесь к к `/usr/share/examples/ppp/ppp.secret.sample` за примерами.

#### 21.2.1.3.11. MS расширения

Возможна настройка PPP для выдачи адресов DNS и NetBIOS по запросу.

Для включения этих расширений с PPP версии 1.x, необходимо добавить к соответствующему разделу `/etc/ppp/ppp.conf`следующие строки.

    enable msext
    set ns 203.14.100.1 203.14.100.2
    set nbns 203.14.100.5

Для PPP версии 2 и выше:

    accept dns
    set dns 203.14.100.1 203.14.100.2
    set nbns 203.14.100.5

Клиентам будут выдаваться адреса первичного и вторичного серверов имен, и адрес хоста NetBIOS.

Если в версии 2 и выше строка set dns будет опущена, PPP использует значения из `/etc/resolv.conf`.

#### 21.2.1.3.12. Аутентификация PAP и CHAP

Некоторые провайдеры настраивают систему так, что аутентификация производится с использованием либо PAP либо CHAP. В этом случае, приглашение `login:` при соединении не выдается и соединение PPP начинается сразу.

PAP менее безопасен, чем CHAP, но безопасность в данном случае не страдает, поскольку хотя пароли и передаются открытым текстом, они передаются только по модемной линии. У кракеров не так много возможностей для кражи паролей.

В примерах выше PPP и статические IP адреса или PPP и динамические IP адреса должны быть сделаны следующие изменения:

    13      set authname MyUserName
    14      set authkey MyPassword
    15      set login

Строка 13:

  Эта строка указывает имя пользователя PAP/CHAP. Вам потребуется заменить MyUserName на правильное значение.

Строка 14:

  Эта строка указывает пароль PAP/CHAP. Вам потребуется заменить MyPassword на правильное значение. Вы можете также добавить дополнительную строку, такую как:

      16      accept PAP

  или

      16      accept CHAP

  для явного указания протокола, но и PAP и CHAP поддерживаются по умолчанию.

Строка 15:

  Ваш провайдер обычно не потребует входа на сервер при использовании PAP или CHAP. Следовательно, вы должны отключить строку ''set login''.

#### 21.2.1.3.13. Изменение настроек `ppp` ''на лету''

Возможно изменение настроек `ppp` программы во время ее работы в фоновом режиме, но только если открыт соответствующий диагностический порт. Для его открытия добавьте в настройку следующую строку:

    set server /var/run/ppp-tun%d DiagnosticPassword 0177

С этой директивой ppp будет прослушивать заданный UNIX сокет, запрашивая у клиентов пароль перед выдачей доступа. Символы%d заменяются на номер используемого устройства `tun`.

Как только сокет открыт, в скриптах, выполняющих настройку работающей программы, можно использовать pppctl(8).

### 21.2.1.4. Использование NAT

PPP имеет возможность использовать встроенный NAT без преобразования пакетов в ядре. Эта возможность может быть включена следующей строкой в `/etc/ppp/ppp.conf`:

    nat enable yes

Альтернативно, PPP NAT может быть включен параметром командной строки -nat. Существует также переменная `/etc/rc.conf` ppp_nat, которая включена по умолчанию.

Если вы используете эту возможность, вы также можете найти полезными параметры `/etc/ppp/ppp.conf` для включения пересылки входящих соединений:

    nat port tcp 10.0.0.2:ftp ftp
    nat port tcp 10.0.0.2:http http

или отключить все входящие соединения

    nat deny_incoming yes

### 21.2.1.5. Завершающая настройка системы

Теперь, когда программа `ppp` настроена, осталось выполнить еще несколько действий прежде, чем все это заработает. Они выполняются путем редактирования файла `/etc/rc.conf`.

Просматривая этот файл, убедитесь, что добавлена строка hostname=, например:

    hostname="foo.example.com"

Если провайдер предоставил вам статический IP адрес и имя, возможно лучше всего использовать это имя в качестве имени хоста.

Проверьте переменную network_interfaces. Если вы хотите настроить систему для дозвона по требованию, убедитесь, что устройство `tun0` добавлено в список, иначе удалите его.

    network_interfaces="lo0 tun0"
    ifconfig_tun0=

> Замечание: Переменная ifconfig_tun0 должна быть пуста, необходимо также создать файл `/etc/start_if.tun0`. В этом файле должна находиться строка:

>     ppp -auto mysystem

> Этот скрипт выполняется во время настройки сети, запуская даемона ppp в автоматическом режиме. Если эта машина является шлюзом для локальной сети, вы можете также использовать переключатель -alias. Обратитесь к странице справочника за дальнейшей информацией.

Убедитесь, что программа маршрутизации отключена переменной в файле `/etc/rc.conf`:

    router_enable="NO"

Важно, чтобы даемон `routed` не был запущен, поскольку он может удалить запись маршрута по умолчанию, создаваемую `ppp`.

Возможно, стоит обратить внимание на переменную sendmail_flags и убедиться, что она не включает параметр -q, иначе `sendmail` попытается сразу же обратиться к сети, и компьютер может начать дозвон. Вы можете попробовать:

    sendmail_flags="-bd"

Обратная сторона этого решения в том, что необходим запуск очереди `sendmail` после поднятия соединения ppp:

    # /usr/sbin/sendmail -q

Вы можете использовать команду `!bg` в файле `ppp.linkup` для автоматического выполнения этой задачи:

    1     provider:
    2       delete ALL
    3       add 0 0 HISADDR
    4       !bg sendmail -bd -q30m

Если вам это не нужно, возможна настройка ''dfilter'' для блокирования SMTP трафика. Обратитесь файлам примеров за дальнейшей информацией.

Все, что осталось, это перегрузить компьютер. После перезагрузки вы можете либо выполнить:

    # ppp

и затем набрать `dial provider` для запуска сессии PPP, либо, если вы хотите, чтобы программа `ppp` начинала соединение автоматически при появлении исходящего трафика (и файл `start_if.tun0` не создан), выполните:

    # ppp -auto provider

### 21.2.1.6. Итоги

Для первоначальной настройки ppp необходимо пройти следующие шаги:

Сторона клиента:

1. Убедитесь, что устройство `tun` встроено в ядро.

2. Убедитесь, что устройства `tunN` находятся в каталоге `/dev`.

3. Создайте запись в `/etc/ppp/ppp.conf`. Пример `pmdemand` должен подойти для большинства провайдеров.

4. Если у вас динамический IP адрес, создайте запись в `/etc/ppp/ppp.linkup`.

5. Обновите файл `/etc/rc.conf`.

6. Создайте скрипт `start_if.tun0`, если необходим дозвон по требованию.

Сторона сервера:

1. Убедитесь, что устройство `tun` встроено в ядро.

2. Убедитесь, что устройства `tunN` находятся в каталоге `/dev`.

3. Создайте запись в `/etc/passwd` (используя программу vipw(8)).

4. Создайте профиль в домашнем каталоге пользователя, запускающий `ppp -direct direct-server` или подобную команду.

5. Создайте запись в `/etc/ppp/ppp.conf`. Пример `direct-server` должен подойти.

6. Создайте запись в `/etc/ppp/ppp.linkup`.

7. Обновите файл `/etc/rc.conf`.

Пред. | Начало | След.
PPP и SLIP | Уровень выше | PPP уровня ядра

Этот, и другие документы, могут быть скачаны с ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.

По вопросам связанными с FreeBSD, прочитайте документацию прежде чем писать в <questions@FreeBSD.org>.
По вопросам связанным с этой документацией, пишите <doc@FreeBSD.org>.
По вопросам связанным с русским переводом документации, пишите в рассылку <frdp@FreeBSD.org.ua>.
Информация по подписке на эту рассылку находится на сайте проекта перевода.