23.2. PPP уровня пользователя
Пред. | Глава 23. PPP и SLIP | След.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

### Примечание:

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

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

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

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

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

    # cd /dev
    # sh MAKEDEV tun0

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

    # cd /dev
    # sh MAKEDEV tun15

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

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

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

##### 23.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(R), эти значения используются командой `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/`.

##### 23.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`.

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

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

    gateway_enable="YES"

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

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

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

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

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

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

##### 23.2.1.3.5. Права PPP

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

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

    allow users fred mary

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

##### 23.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`.

##### 23.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`).

##### 23.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.

##### 23.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

##### 23.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` за примерами.

##### 23.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`.

##### 23.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>>.

##### 23.2.1.3.13. Изменение настроек `ppp` <<на лету>>

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

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

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

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

#### 23.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

#### 23.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

#### 23.2.1.6. Итоги

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

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

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

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

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

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

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

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

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

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

2. Убедитесь, что устройства `tun`N`` находятся в каталоге `/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`.

Пред. | Наверх | След.
Глава 23. PPP и SLIP | Начало | 23.3. PPP уровня ядра

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

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