pppd - демон протокола точка-точка (Point-to-Point Protocol Daemon)
НАЗВАНИЕ
pppd − демон протокола точка−точка (Point−to−Point Protocol Daemon)
ОБЗОР
pppd [ опции ]
ОПИСАНИЕ
PPP − это протокол, используемый для установки межсетевых соединений через модемы, соединения DSL и многие другие
типы соединений точка−точка. Демон pppd работает совместно с драйвером PPP ядра для установки и поддержания соединения PPP с другой системой (называемой
партнёром) и согласования IP−адресов для каждого конца соединения. pppd также может аутентифицировать партнёра и/или предоставлять партнёру информацию
для аутентификации. PPP можно использовать с другими сетевыми протоколами, отличными от IP, но такое применение становится всё более редким.
ЧАСТО ИСПОЛЬЗУЕМЫЕ ОПЦИИ
имя−терминала
Использовать последовательный порт с именем имя−терминала для соединения с партнёром. Если имя−терминала не
начинается с косой черты (/), для формирования имени открываемого устройства перед именем−терминала будет добавлена строка "/dev/". Если имя устройства
не задано, или если задано имя терминала, присоединённого к стандартному вводу, pppd будет использовать этот терминал не переходя в фоновый режим. Значение
этой опции из привилегированного источника не может быть заменено непривилегированным пользователем.
скорость
Опция является десятичным числом, которое задаёт желаемую скорость последовательного устройства в бодах. На системах 4.4BSD и
NetBSD можно указать любую скорость. На других системах (например, Linux или SunOS) поддерживаются только широко используемые скорости.
asyncmap карта
Опция задаёт ACCM (Async Control Character Map − асинхронную карту управляющих символов) для этого конца соединения. ACCM − это
набор из 32 битов, соответствующих управляющим символам ASCII со значениями от 0 до 31. Бит со значением 1 указывает, что соответствующий управляющий символ не
должен использоваться в принимаемых системой пакетах PPP. Последовательность битов записывается в виде шестнадцатеричного числа (без первых 0x), где младший
значащий бит (00000001) представляет символ 0, а наибольший значащий бит (80000000) представляет символ 31. pppd будет просить партнёра отправлять эти символы
в виде двухбайтовой управляющей последовательности. Если задано несколько опций asyncmap, их значения будут объединены логической побитовой операцией
ИЛИ. Если опция asyncmap не задана, то по умолчанию предполагается нулевое значение опции, поэтому pppd попросит партнёра не кодировать какие−либо
управляющие символы. Для кодирования передаваемых символов воспользуйтесь опцией escape.
auth
Требовать у партнёра подтвердить свою подлинность перед разрешением отправки и приёма сетевых пакетов. Если система имеет маршрут по умолчанию, то эта опция
используется по умолчанию. Если не указана ни эта опция, ни опция noauth, pppd разрешит партнёру использовать только такой IP−адрес, маршрут к которому
на данный момент отсутствует в системе.
call имя
Прочитать дополнительные опции из файла /etc/ppp/peers/имя. Этот файл может содержать привилегированные опции, такие как
noauth, даже если pppd не был запущен пользователем root. Строка имя не может начинаться с / или включать .. в качестве части полного имени.
Формат файла опций описан ниже.
connect сценарий
Обычно здесь выполняется подготовка соединения перед запуском протокола PPP; например, при использовании модема dial−up − это
команды, которые требуется отправить на модем чтобы позвонить на соответствующий номер телефона. Эта опция указывает pppd команду, которую нужно запустить в
оболочке перед попыткой начать согласование PPP. Для этого часто используется программа chat(8), которая позволяет отправить произвольные строки на модем и
ответить на принятые символы. Значение этой опции из привилегированного источника не может быть заменено непривилегированным пользователем.
crtscts
Указывает, что pppd должен настроить последовательный порт для использования аппаратного управления потоком, с использованием
сигналов RTS и CTS интерфейса RS−232. Если не указана ни одна из опций crtscts, nocrtscts, cdtrcts или nocdtrcts, настройка
аппаратного управления потоком для последовательного порта останется неизменной. Некоторые последовательные порты (например, последовательные порты Macintosh)
не имеют настоящего провода RTS. На таких последовательных портах в этом режиме используется однонаправленное управление потоком. Последовательный порт
приостанавливает передачу, если это запрошено модемом (через CTS), но не может сам попросить у модема приостановить отправку на компьютер. В этом режиме
возможно использование DTS в качестве линии управления модемом.
defaultroute
При удачном завершении согласования IPCP добавить в системные таблицы маршрутизации маршрут по умолчанию через партнёра. Эта запись
удаляется при разрыве соединения PPP. Эта опция привилегированая, если была указана опция nodefaultroute.
replacedefaultroute
Эта опция оказывает действие на опцию defaultroute. Если задана опция defaultroute и задана эта опция, pppd заменит существующий
маршрут по умолчанию на новый маршрут по умолчанию.
disconnect сценарий
После закрытия соединения pppd выполнит в оболочке команду сценарий. Эта команда может, например, заставить модем повесить
трубку, если аппаратные сигналы управления модемом не доступны. Сценарий разъединения не будет запущен, если модем уже повесил трубку. Значение этой опции из
привилегированного источника не может быть заменено непривилегированным пользователем.
escape xx,yy,...
Указывает символы, которые должны быть заэкранированы при передаче (независимо от запросов партнёра об экранирования его
асинхронной картой управляющих символов (ACCM)). Экранируемые символы указываются в списке шестнадцатеричными числами, разделёнными запятыми. Отметим, что в
опции escape может быть указан практически любой символ, в отличие от опции asyncmap, которая позволяет указывать только управляющие символы.
Символы, которые не могут быть экранированы, имеют шестнадцатеричные значения 0x20 − 0x3f и 0x5e.
file имя
Прочитать опции из файла имя (формат описан ниже). Файл должен быть доступен для чтения пользователем, запустившим pppd.
init сценарий
Для инициализации последовательной линии выполнить в оболочке команду сценарий. Этот сценарий обычно используется для
настройки модема на включение автоответа при помощи программы chat(8). Значение этой опции из привилегированного источника не может быть заменено
непривилегированным пользователем.
lock
Указывает, что pppd должен создать для последовательного устройства файл блокировки в стиле UUCP, чтобы удостовериться в эксклюзивном доступе. По умолчанию
pppd не создаёт файл блокировки.
mru n
Устанавливает n в качестве занчения MRU (Maximim Receive Unit − максимальная принимаемая единица). pppd попросит партнёра отправлять пакеты не более,
чем n байт. Значение n должно быть между 128 и 16384; по умолчанию используется значение 1500. Значение 296 хорошо подходит для очень медленных
соединений (40 байт для TCP/IP заголовка + 256 байт данных). Отметим, что для протокола IPv6 минимальное значение MRU составляет 1280.
mtu n
Устанавливает n в качестве занчения MTU (Maximim Transfer Unit − максимальная передаваемая единица). Однако если партнёр запрашивает меньшее значение
при согласовании MRU, pppd запросит сетевой код ядра отправлять через сетевой интерфейс PPP пакеты данных размером не более n байт. Отметим, что для
протокола IPv6 минимальное значение MTU составляет 1280.
passive
Включает опцию "passive" протокола LCP. При указании этой опции pppd попытается соединиться; но если от партнёра не был принят
ответ, pppd не завершит работу, а будет просто пассивно ожидать от него правильный пакет LCP.
ОПЦИИ
<локальный−IP−адрес>:<удалённый−IP−адрес>
Задаёт локальный и/или удалённый IP−адреса интерфейса. Любой из них может быть не указан. В поле IP−адреса может быть указано имя
узла или сам IP−адрес в десятично−точечной нотации (например 150.234.56.78). По умолчанию локальный IP−адрес − это первый IP−адрес системы (если не задана
опция noipdefault). Если удалённый адрес не указан ни в одной опции, он может быть получен от партнёра. Таким образом, в простейших случаях эта опция не
требуется. Если с помощью этой опции указан локальный и/или удалённый IP−адрес, pppd не примет другие значения от партнёра при согласовании IPCP, если
соответственно не заданы опции ipcp−accept−local и/или ipcp−accept−remote.
+ipv6
Включить протоколы IPv6CP и IPv6.
ipv6
<идентификатор−локального−интерфейса>,<идентификатор−удалённого−интерфейса>
Устанавливает локальный и/или удалённый 64−битные идентификаторы интерфейсов. Любой из них может быть не указан. Идентификатор
должен быть указан в стандартной для адресов IPv6 ASCII−нотации (например, ::dead:beef). Если указана опция ipv6cp−use−ipaddr, в качестве локального
идентификатора будет использоваться этот локальный адрес IPv4 (см. выше). На системах, поддерживающих уникальные постоянные идентификаторы, такие как EUI−48,
полученные из MAC−адреса Ethernet, вместо опции ipv6 <локальный>,<удалённый> можно воспользоваться опцией ipv6cp−use−persistent. В
других случаях выбирается случайный идентификатор.
active−filter выражение−фильтр
Указывает фильтр пакетов, который будет применён к пакетам данных для определения активности соединения. Такие пакеты сбрасывают
таймер простоя и могут инициировать подключение, если используется режим дозвона по требованию. Эта опция используется совместно с опцией idle, если в
соединении постоянно передаются или принимаются пакеты (например, пакеты с информацией о маршрутах), которые препятствуют простою канала. Синтаксис
выражения−фильтра описан в tcpdump(1). Не разрешаются классификаторы, не применимые к соединениям PPP, например, ether и arp. Чтобы
пробелы в выражении−фильтре не интерпретировались оболочкой, выражение нужно заключить в одинарные кавычки. В настоящее время эта опция доступна только
в Linux и требует чтобы ядро было собрано с поддержкой фильтрации PPP (CONFIG_PPP_FILTER). Отметим, что с помощью классификаторов inbound и
outbound ко входящим и исходящим пакетам можно применять разные выражения.
allow−ip адрес(а)
Разрешает партнёрам использовать заданные IP−адрес или подсеть без взаимной аутентификации. Параметр обрабатывается так же, как и
каждый из элементов списка разрешённых IP−адресов в файлах паролей (см. ниже раздел АУТЕНТИФИКАЦИЯ).
allow−number номер
Разрешает партнёрам подключаться с указанного телефонного номера. Завершающий символ ’*’ совпадает со всеми остальными цифрами
номера.
bsdcomp nr,nt
Попросить партнёра сжимать отправляемые им пакеты по схеме BSD−Compress с максимальным размером кода nr бит, и соглашаться
сжимать отправляемые партнёру пакеты с максимальным размером кода nt бит. Если значение nt не указано, по умолчанию вместо него используется
значение nr. Значения nr и nt могут находиться в диапазоне от 9 до 15; большие значения задают лучшее сжатие, но используют больше памяти
ядра для размещения словарей. Нулевые значения nr или nt выключают сжатие в соответствующих направлениях. Воспользуйтесь nobsdcomp или
bsdcomp 0 для полного отключения сжатия BSD−Compress.
cdtrcts
Использовать нестандартное аппаратное управление потоком (то есть DTR/CTS) для управления потоком данных на последовательном порту.
Если не задана ни одна из опций crtscts, nocrtscts, cdtrcts или nocdtrcts, то настройка аппаратного управления потоком
последовательного порта остаётся неизменной. Некоторые последовательные порты (например, последовательные порты Macintosh) не имеют настоящего провода RTS. На
таких последовательных портах в этом режиме используется двунаправленное управление потоком. В этом режиме невозможно использование DTR в качестве линии
управления модемом.
chap−interval n
Если задана эта опция, pppd будет перепроверять партнёра каждые n секунд.
chap−max−challenge n
Задаёт n в качестве максимального количества передач пакетов CHAP challenge. По умолчанию используется значение 10.
chap−restart n
Задаёт n секунд в качестве интервала перезапуска CHAP (таймаут повторных передач challenge). По умолчанию используется
значение 3.
child−timeout n
Перед выходом ждать n секунд завершения дочерних процессов (например, команды, указанной в опции pty). По достижении
таймаута, pppd отправит всем дочерним процессам сигнал SIGTERM и завершит работу. Значение 0 указывается при отсутствии таймаута, в этом случае pppd будет
ожидать завершения все дочерних процессов.
connect−delay n
После завершения сценария соединения в течение n миллисекунд ожидать от партнёра правильных пакетов PPP. По завершению этого
времени, или при получении правильного пакета PPP от партнёра, pppd начнёт согласование, отправив ему первый LCP−пакет. По умолчанию используется значение 1000
(1 секунда). Этот период ожидания применяется только при использовании опции connect или pty.
debug
Включает средства для отладки соединения. При указании этой опции pppd будет записывать в журнал содержимое всех принятых и отправленных управляющих пакетов
в пригодном для чтения виде. Пакеты помещаются в журнал с помощью syslog с использованием категории источника daemon и уровня debug. При
соответствующей настройке /etc/syslog.conf (см. syslog.conf(5)) эту информацию можно направить в файл.
default−asyncmap
Отключить согласование опции asyncmap, запустить принудительное экранирование всех управляющих символов в направлениях передачи и
приёма.
default−mru
Отключить согласование MRU (Maximum Receive Unit − максимальная принимаемая единица). При указании этой опции pppd будет
использовать для MRU значение по умолчанию − 1500 байт в направлениях передачи и приёма.
deflate nr,nt
Попросить партнёра сжимать отправляемые им пакеты по схеме Deflate с максимальным размером окна 2**nr байт, и соглашаться
сжимать отправляемые партнёру пакеты с максимальным размером окна 2**nt байт. Если значение nt не указано, по умолчанию вместо него используется
значение nr. Значения nr и nt могут находиться в диапазоне от 9 до 15; большие значения задают лучшее сжатие, но используют больше памяти
ядра для размещения словарей. Нулевые значения nr или nt выключают сжатие в соответствующих направлениях. Воспользуйтесь nodeflate или
deflate 0 для полного отключения сжатия Deflate. (Замечание: Если партнёр поддерживает сжатие Deflate и BSD−Compress, то по умолчанию pppd попросит
партнёра использовать сжатие Deflate.)
demand
Инициировать соединение только по требованию, то есть при появлении трафика. При использовании этой опции, пользователь должен указать в командной строке
или в файле опций удалённый IP−адрес, в противном случае pppd выберет произвольный адрес из диапазона 10.x.x.x. pppd произведёт начальную настройку интерфейса
и включит его для IP−трафика, не соединяясь с партнёром. Когда появится трафик, pppd подключится к партнёру, произведёт согласование, аутентификацию и т.п.
После завершения этих действий pppd начнёт пропускать пакеты данных (то есть IP−пакеты) через соединение.
Опция demand подразумевает опцию persist. Если это поведение не желательно, воспользуйтесь опцией
nopersist после опции demand. Опции idle и holdoff также используются совместно с опцией demand.
domain d
При аутентификации добавить доменное имя d к локальному имени узла. Например, если функция gethostname() вернёт имя porsche,
но полностью определённое доменное имя − porsche.Quotron.COM, вы можете указать domain Quotron.COM. pppd будет использовать имя
porsche.Quotron.COM для поиска пароля в файле паролей, и в качестве собственного имени при аутентификации у партнёра. Эта опция привилегированная.
dryrun
При указании опции dryrun pppd обработает командную строку и файлы опций, проверит и выведет значения всех установленных опций, но завершит работу
перед инициированием канала. Значения опций помещаются в журнал с уровнем info, а также будут выведены на стандартный вывод, если pppd не использует его для
взаимодействия с партнёром.
dump
При указании опции dump pppd выведет значения всех установленных опций. Эта опция похожа на опцию dryrun, за исключением того, что pppd не
завершит, а продолжит работу.
enable−session
Включает учёт сеанов через PAM или wtwp/wtmpx, как требуется. Если PAM включен, поведение определяется модулями стека PAM "account"
и "session", и учёт включается для всех протоколов аутентификации PPP. Если PAM отключен, в wtmp/wtmpx записи добавляются вне зависимости от того, является ли
имя партнёра именем пользователя локальной системы или нет, так что партнёры будут видны в журнале last(1). Эта возможность автоматически включается при
использовании опции pppd login. Учёт сеансов по умолчанию выключен.
endpoint <epdisc>
Устанавливает <epdisc> в качестве дискриминатор конечной точки, который будет отправлен локальным компьютером партнёру
во время согласования многоканального режима. По умолчанию используется MAC−адрес первого интерфейса Ethernet системы, иначе − адрес IPv4, соответствующий
имени узла, не представляющий собой групповой или локальный IP−адрес. Дискриминатор конечной точки может быть строкой null или иметь вид
тип:значение, где тип − десятичное число или одна из строк local, IP, MAC, magic или phone. Для типа IP
в качестве значения используется IP−адрес в десятично−точечной нотации, а для других типов используется строка байтов в шестнадцатеричной записи, разделённых
точками или двоеточиями. Для типа MAC значением также может быть имя интерфейса Ethernet или аналогичного интерфейса. В настоящее время эта опция доступна
только в Linux.
eap−interval n
При указании этой опции, если pppd аутентифицирует партнёра с помощью EAP (то есть, являясь сервером), pppd будет перезапускать
аутентификацию EAP каждые n секунд. При использовании EAP SRP−SHA1 обратитесь к описанию опции srp−interval, которая включает облегчённую
перепроверку.
eap−max−rreq n
Задаёт максимальное количество EAP−запросов, на которые ответит pppd (в качестве клиента) без ожидания EAP−успеха или EAP−отказа.
По умолчанию используется значение 20.
eap−max−sreq n
Устанавливает максимальное количество EAP−запросов, которое выдаст pppd (в качестве сервера) при попытках аутентификации. По
умолчанию используется значение 10.
eap−restart n
Устанавливает таймаут повторной передачи EAP−запросов, если pppd выступает в роли удостоверяющего сервера. По умолчанию
используется значение 3 секунды.
eap−timeout n
Устанавливает максимальное время ожидания отправки партнёром EAP−запроса, если pppd выступает в роли удостоверяемого клиента. По
умолчанию используется значение 20 секунд.
hide−password
Эта опция заставляет pppd исключить строку c паролем из журнала при помещении в журнал содержимого пакетов PAP. Опция включена по
умолчанию.
holdoff n
Указывает сколько секунд ждать перед реинициализацией соединения после его закрытия. Эта опция работает только совместно с опциями
persist или demand. Период holdoff не применяется, если соединение было закрыто из−за простоя.
idle n
Указывает, что pppd должен прервать связь через n секунд простя соединения. Соединение простаивает, если отсутствуют принимаемые или передаваемые
пакеты данных (то есть IP−пакеты). Замечание: Нежелательно использовать эту опцию совместно с опцией persist без опции demand. Если задана опция
active−filter, то пакеты данных, отброшенные указанным фильтром активности, также считаются простоем канала.
ipcp−accept−local
При указании этой опции pppd будет принимать локальный IP−адрес предложенный партнёром, даже если IP−адрес был явно указан с
помощью опции.
ipcp−accept−remote
При указании этой опции pppd будет принимать удалённый IP−адрес предложенный партнёром, даже если IP−адрес был явно указан с
помощью опции.
ipcp−max−configure n
Задаёт n в качестве максимального количества передач пакетов IPCP configure−request. По умолчанию используется значение
10.
ipcp−max−failure n
Задаёт n в качестве максимального количества возвращаемых пакетов IPCP configure−NAK, перед тем как начать отправку пакетов
configure−Reject. По умолчанию используется значение 10.
ipcp−max−terminate n
Задаёт n в качестве максимального количества передач пакетов IPCP terminate−request. По умолчанию используется значение
3.
ipcp−restart n
Задаёт n секунд в качестве интервала перезапуска IPCP (таймаут повторной передачи). По умолчанию используется значение
3.
ipparam строка
Задает дополнительный параметр для сценариев ip−up, ip−pre−up и ip−down. Если задана эта опция, строка будет передаваться в
эти сценарии шестым параметром.
ipv6cp−accept−local
При указании этой опции pppd будет принимать предложенный партнёром идентификатор локального IPv6−интерфейса, даже если
идентификатор локального IPv6−интерфейса был явно указан с помощью опции.
ipv6cp−accept−remote
При указании этой опции pppd будет принимать предложенный партнёром его (удалённый) идентификатор IPv6−интерфейса, даже если
идентификатор удалённого IPv6−интерфейса был явно указан с помощью опции.
ipv6cp−max−configure n
Задаёт n в качестве максимального количества передач пакетов IPv6CP configure−request. По умолчанию используется значение
10.
ipv6cp−max−failure n
Задаёт n в качестве максимального количества возвращаемых пакетов IPv6CP configure−NAK, перед тем как начать отправку
configure−Reject. По умолчанию используется значение 10.
ipv6cp−max−terminate n
Задаёт n в качестве максимального количества передач пакетов IPv6CP terminate−request. По умолчанию используется значение
3.
ipv6cp−restart n
Задаёт n секунд в качестве интервала перезапуска IPv6CP (таймаут повторной передачи). По умолчанию используется значение
3.
ipx
Включает поддержку протоколов IPXCP и IPX. В настоящее время эта опция поддерживается только в Linux и только если ядро было собрано с поддержкой IPX.
ipx−network n
Задаёт n в пакете IPXCP configure−request номер сети IPX. Это шестнадцатеричное число (без начальных 0x). Нет подходящего
значения по умолчанию. Если эта опция не указана, будет выбран номер сети предложенный партнёром. Если партнёр не имеет номера сети, поддержка протокола IPX
будет отключена.
ipx−node n:m
Задаёт номера узла IPX. Эти два числа отделяются друг от друга двоеточием. Первое число n − это локальный номер узла. Второе
число m − это номер узла партнёра. Каждый номер узла − это шестнадцатеричное число, длиной до 10 цифр. Номера узлов в сети IPX должны быть уникальными.
Нет подходящих занчений по умолчанию. Если эта опция не указана, будут выбраны номера узлов предложенные партнёром.
ipx−router−name <строка>
Задаёт имя маршрутизатора. Строка будет оправлен партнёру в качестве информационных данных.
ipx−routing n
Задаёт протокол маршрутизации, который будет принят этой опцией. Можно указать несколько опций ipx−routing с разными
значениями, но если указано значение none (0), то опция может быть указана только один раз. Возможные значения опции: 0 для NONE, 2
для RIP/SAP, и 4 для NLSP.
ipxcp−accept−local
Принимает NAK партнёра для номера узла, указанного в опции ipx−node. Если был указан не нулевой номер узла, то по умолчанию pppd
будет настаивать на использовании этого значения. Указав эту опцию, вы разрешаете заменить указанный в настройках номер узла на номер, полученный от
партнёра.
ipxcp−accept−network
Принимает NAK партнёра для номера сети, указанного в опции ipx−network. Если был указан не нулевой номер сети, то по умолчанию pppd
будет настаивать на использовании этого значения. Указав эту опцию, вы разрешаете заменить указанный в настройках номер сети на номер, полученный от
партнёра.
ipxcp−accept−remote
Использовать номер сети партнёра, указанный в кадре запроса конфигурации. Если был указан номер узла для партнёра, но эта опция не
была указана, то партнёр будет вынужден использовать указанное вами значение.
ipxcp−max−configure n
Задаёт n в качестве максимального количества кадров IPXCP configure−request, отправляемых системой. По умолчанию
используется значение 10.
ipxcp−max−failure n
Задаёт максимальное количество кадров IPXCP NAK, которое локальная система отправит перед тем как отклонить опции. По умолчанию
используется значение 3.
ipxcp−max−terminate n
Задаёт максимальное количество кадров IPXCP terminate−request, перед тем как локальная система решит, что партнёр её не слушает. По
умолчанию используется значение 3.
kdebug n
Включает отладочный код в драйвере ядра PPP. Значение аргумента зависит от специфики драйвера ядра, но обычно значение 1 включает
обычные отладочные сообщения ядра. (Отметим, что эти сообщения обычно используются только для отладки самого драйвера ядра). Для драйвера ядра Linux 2.2.x,
значением является сумма битов: 1 для включения обычных отладочных сообщений, 2 для запроса вывода содержимого принятых пакетов, и 4 для запроса вывода
содержимого переданных пакетов. На большинстве систем сообщения, выводимые ядром, помещаются демоном syslog(1) в файл журнала, который указанн в файле
конфигурации /etc/syslog.conf
ktune
Разрешает pppd изменять необходимые настройки ядра. При использовании опции proxyarp в Linux pppd включит продвижение IP−пакетов (то есть установит
/proc/sys/net/ipv4/ip_forward в 1), а в режиме по требованию включит опцию динамического IP−адреса (то есть установит /proc/sys/net/ipv4/ip_dynaddr в 1), если
локальный адрес является динамическим.
lcp−echo−adaptive
Если эта опция используется совместно с опцией lcp−echo−failure, тогда pppd будет отправлять кадры эхо−запросов LCP только
если от партнёра не поступал трафик с того момента, как был отправлен последний эхо−запрос.
lcp−echo−failure n
Если при указании этой опции партнёр не ответит правильными эхо−ответами LCP на n отправленных эхо−запросов LCP, то pppd
закроет соединение, предположив что партнёр завис. При использовании этой опции, в опции lcp−echo−interval должно быть указано ненулевое значение. Опция
может использоваться для завершения pppd после физического разрыва соединения (например, если завис модем) в ситуациях, когда аппаратные линии управления
модемом отсутствуют.
lcp−echo−interval n
Если задана эта опция, pppd будет каждые n секунд отправлять партнёру кадры эхо−запроса LCP. Обычно партнёр должен ответить
на эхо−запрос отправкой эхо−ответа. Эта опция может использоваться совместно с опцией lcp−echo−failure для обнаружения потери связи с партнёром.
lcp−max−configure n
Задаёт максимальное количество передач пакетов LCP configure−request. По умолчанию используется значение 10.
lcp−max−failure n
Задаёт n в качестве максимального количества пакетов LCP configure−NAK, возвращаемых перед тем как начать отправлять
configure−reject. По умолчанию используется значение 10.
lcp−max−terminate n
Задаёт n в качестве максимального количество передач пакетов LCP terminate−request. По умолчанию используется значение
10.
lcp−restart n
Задаёт n секунд в качестве интервала перезапуска LCP (таймаут повторной передачи). По умолчанию используется значение 3.
linkname имя
Задаёт имя в качестве логического имени соединения. pppd создаст файл с именем ppp−имя.pid в каталоге
/var/run (или, на некоторых системах, /etc/ppp), содержащий собственный идентификатор процесса. Это может быть полезно для определения экземпляра pppd,
отвечающего за соединение с заданной системой−партнёром. Это привилегированная опция.
local
Не использовать линии управления модемом. При указании этой опции pppd будет игнорировать сигнал CD (Carrier Detect) от модема и не будет менять состояние
сигнала DTR (Data Terminal Ready). Эта опция противоположна опции modem.
logfd n
Отправлять сообщения в файл журнала с дескриптором n. pppd будет отправлять сообщения журнала либо в файл, либо в файловый
дескриптор (точно так же, как отправляет сообщения на syslog), поэтому данная опция и опция logfile являются взаимно исключающими. По умолчанию pppd будет
отправлять сообщения журнала на стандартный вывод (файловый дескриптор 1), если стандартным выводом не является последовательный порт.
logfile имя−файла
Добавлять сообщения в файл журнала имя−файла (точно так же, как отправляются сообщения в журнала syslog). Файл будет открыт
в режиме дополнения с правами пользователя, запустившего pppd.
login
Использовать системную базу данных паролей для аутентификации партнёров по протоколу PAP, а также записывать имена пользователей в системный файл wtmp.
Отметим, что для получения доступа партнёр должен быть отмечен в файле /etc/ppp/pap−secrets точно так же, как в системной базе данных паролей. Смотрите также
описание опции enable−session.
master_detach
Если включена опция multilink и этот процесс pppd является мастером связок, то процесс pppd продолжит работу для поддержания связки
даже после закрытия управляемого им подключения. Если задана опция master_detach, то pppd отсоединяется от управляющего терминала, даже если указана
опция nodetach.
maxconnect n
Завершить соединение через n секунд доступности для сетевого трафика (то есть через n секунд после прохождения
первого протокола управления сетью).
maxfail n
Прекратить попытки соединения после n последовательных ошибок. Значение 0 означает безграничное количество попыток. В
качестве значения по умолчанию используется 10.
modem
Использовать управляющие линии модема. Это опция используется по умолчанию. При указании этой опции pppd будет ждать от модема сигнал CD (Carrier Detect),
чтобы убедиться в готовности последовательного устройства (если не указан сценарий соединения). При этом сигнал DTR (Data Terminal Ready) будет отбрасываться
сразу после закрытия соединения и до выполнения сценария соединения. На Ultrix эта опция подразумевает аппаратное управление потоком, как для опции
crtscts. Эта опция противоположена опции local.
mp
Включить использование многоканального режима PPP; это псевдоним опции ’multilink’, которая в настоящее время доступна только в Linux.
mppe−stateful
Разрешить MPPE использовать режим с поддержкой состояний, но сначала всё−же попытаться использовать режим без поддержки состояний.
По умолчанию режим с поддержкой состояний отвергается.
mpshortseq
Включить вместо 24−разрядных числовых последовательностей использование коротких (12−разрядных) числовых последовательностей в
заголовках многоканального режима. Эта опция доступна только в Linux и используется только в многоканальном режиме (см. опцию multilink).
mrru n
Установить n в качестве значения MRRU (Maximum Reconstructed Receive Unit − максимальная реконструируемая принимаемая единица). MRRU − это
максимальный размер принимаемых пакетов на многоканальной связке, он аналогичен MRU для отдельных соединений. Эта опция в настоящее время доступна только в
Linux и используется только в многоканальном режиме (см. опцию multilink).
ms−dns <addr>
Если pppd работает в качестве сервера для клиентов Microsoft Windows, то эта опция позволяет pppd предоставлять им один или два
адреса DNS (Domain Name Server − сервер доменных имён). Первый экземпляр этой опции указывает адрес первичного DNS; второй экземпляр (если задан) указывает
адрес вторичного DNS. (В старых версиях pppd эта опция называлась dns−addr.)
ms−wins <addr>
Если pppd работает в качестве сервера для клиентов Microsoft Windows или "Samba", эта опция позволяет предоставлять клиентам адреса
одного или двух серверов WINS (Winows Internet Name Services − службы Windows имён интернета). Первый экземпляр этой опции указывает адрес первичного WINS;
второй экземпляр (если задан) указывает адрес вторичного WINS.
multilink
Включает использование многоканального протокола PPP. Если партнёр также поддерживает многоканальный протокол, то это соединение
может стать частью связки между локальной системой и партнёром. pppd объединит это соединение с существующей связкой или создаст новую. Обратитесь к разделу
МНОГОКАНАЛЬНЫЙ РЕЖИМ. Эта опция в настоящее время доступна только в Linux.
name имя
При аутентификации использовать имя в качестве имени локальной системы. Это привилегированная опция. При аутентификации pppd
будет использовать пароль из той строки в файле паролей, у которой во втором поле указано имя. Если имя, заданное этой опцией не было заменено с помощью
опции user, то оно будет отправлено партнёру для аутентификации локальной системы. (Отметим, что pppd не дополняет имя доменным именем).
noaccomp
Отключить сжатие адреса/управления в направлениях отправки и приёма.
noauth
Не требовать аутентифиции у партнёра. Эта опция привилегированная.
nobsdcomp
Отключает сжатие BSD−Compress; pppd не будет запрашивать или соглашаться сжимать пакеты с использованием схемы
BSD−Compress.
noccp
Отключить согласование CCP (Compression Control Protocol − протокол управления сжатием). Опция может понадобится только в случае ошибок в реализации
удалённого партнёра, поскольку запрос pppd на согласование CCP может поставить партнёра в тупик.
nocrtscts
Отключает аппаратное управление потоком (то есть RTS/CTS) на последовательном порту. Если не задана ни одна из опций
crtscts, nocrtscts, cdtrcts, nocdtrcts, то настройка аппаратного управления потоком на последовательном порту останется
неизменной.
nocdtrcts
Эта опция является синонимом nocrtscts. Любая из этих опций отключает оба вида аппаратного управления потоком.
nodefaultroute
Отключить опцию defaultroute. Системный администратор, желающий предотвратить добавление маршрута по умолчанию
пользователями с помощью pppd, может поместить эту опцию в файл /etc/ppp/options.
noreplacedefaultroute
Отключить опцию replacedefaultroute. Системный администратор, желающий предотвратить замену маршрута по умолчанию
пользователями с помощью pppd, может поместить эту опцию в файл /etc/ppp/options.
nodeflate
Отключает сжатие Deflate; pppd не будет запрашивать или соглашаться сжимать пакеты с использованием схемы Deflate.
nodetach
Не отделяться от управляющего терминала. Если указано последовательное устройство отличное от терминала на стандартном вводе, но не
указана эта опция, то pppd выполнит операцию fork для перехода в фоновый режим.
noendpoint
Отключает отправку дискриминатора конечной точки партнёру или принятие её от партнёра (обратитесь к разделу МНОГОКАНАЛЬНЫЙ РЕЖИМ).
Эта опция может потребоваться, если партнёр имеет ошибки в реализации.
noip
Отключает согласование IPCP и поддержку IP. Эта опция может потребоваться только если партнёр имеет ошибки в реализации и будет поставлен в тупик запросами
на согласование IPCP.
noipv6
Отключает согласование IPv6CP и поддержку IPv6. Эта опция может потребоваться только если партнёр имеет ошибки в реализации и будет поставлен в тупик
запросами на согласование IPv6CP.
noipdefault
Отключает поведение по умолчанию, при котором локальный IP−адрес (по возможности) определяется из имени узла, если он не указан
явно. При указании этой опции партнёру придётся предоставить локальный IP−адрес во время согласования IPCP (если адрес не указан явно в командной строке или в
файле опций).
noipx
Отключает протоколы IPXCP и IPX. Эта опция может потребоваться, если партнёр имеет ошибки в реализации и будет поставлен в тупик запросами pppd на
согласование IPXCP.
noktune
В противоположность опции ktune, отключает изменение системных настроек демоном pppd.
nolock
В противоположность опции lock, указывает, что pppd не должен создавать для последовательного устройства файлы блокировки в стиле UUCP. Эта опция
привилегированная.
nolog
Не отправлять сообщения журнала в файл или файловый дескриптор. Эта опция отменяет опции logfd и logfile.
nomagic
Отключает согласование "волшебного" числа. При указании этой опции pppd не сможет определить обратнозамкнутые выводы. Эта опция
может потребоваться, если партнёр имеет ошибки в реализации.
nomp
Отключает использование многоканального режима PPP. Эта опция в настоящее время доступна только в Linux.
nomppe
Отключает MPPE (Microsoft Point to Point Encryption − шифрование точка−точка Microsoft). Используется по умолчанию.
nomppe−40
Отключить 40−битное шифрование MPPE.
nomppe−128
Отключить 128−битное шифрование MPPE.
nomppe−stateful
Отключает режим MPPE с поддержкой состояния. Используется по умолчанию.
nompshortseq
Отключает использование коротких (12−разрядных) номеров последовательности в многоканальном протоколе PPP, заставляя использовать
24−разрядные номера последовательности. Эта опция в настоящее время доступна только в Linux и работает только в многоканальном режиме.
nomultilink
Отключает использование многоканального режима PPP. Эта опция в настоящее время доступна только в Linux.
nopcomp
Отключает согласование поля протокола сжатия в направлениях приёма и передачи.
nopersist
Завершить работу, если соединение было установлено и закрыто. Если не были указаны опции persist или demand, то эта
опция используется по умолчанию.
nopredictor1
Не принимать или соглашаться на сжатие Predictor−1.
noproxyarp
Отключить опцию proxyarp. Системный администратор, желающий предотвратить создание записей в таблице ARP пользователями с
помощью демона pppd, может поместить эту опцию в файл /etc/ppp/options.
noremoteip
Позволить pppd работать без получения IP−адреса от партнёра. Эта опция доступна только в Linux. Обычно pppd будет запрашивать
IP−адрес партнёра и если партнёр не предоставил его, pppd использует произвольный адрес в подсети 10.x.x.x. При указании этой опции, если партнёр не
предоставил свой IP−адрес, pppd не будет спрашивать его у партнёра и не настроит адрес назначения на интерфейсе ppp. В таком случае интерфейс ppp можно будет
использовать для маршрутизации создав маршруты через устройство, но к самому партнёру нельзя будет обратиться напрямую по IP−адресу.
notty
Обычно pppd требует терминальное устройство. При указании этой опции процесс pppd разделится на пару ведущий/ведомый и использует ведомый процесс в качестве
терминального устройства. pppd создаст дочерний процесс, который будет работать в качестве ’символьного шунта’ для передачи символов между ведущим
псевдо−терминалом и его стандартным вводом и выводом. Таким образом pppd будет передавать символы на стандартный вывод и принимать символы на стандартном
вводе, даже если они не являются терминальными устройствами. Эта опция увеличивает задержку и затраты CPU на передачу данных через интерфейс ppp, поскольку все
передаваемые и принимаемые символы должны проходить через процесс символьного шунта. Если используется эта опция, нельзя указать явное имя устройства.
novj
Отключить сжатие загловков TCP/IP методом Вана Якобсона (Van Jacobson) в направлениях передачи и приёма.
novjccomp
Отключить опцию сжатия идентификатора соединения методом сжатия заголовков TCP/IP Вана Якобсона (Van Jacobson). При указании этой
опции pppd не опускает байт идентификатора соединения из заголовков TCP/IP, сжатых методом Вана Якобсона (Van Jacobson), и не требует у партнёра делать то же
самое.
papcrypt
Указывает, что все пароли в файле /etc/ppp/pap−secrets, используемые для проверки идентичности партнёра, зашифрованы. При
использовании этой опции pppd не будет принимать пароли, которые до шифрованием были идентичны паролям из файла /etc/ppp/pap−secrets.
pap−max−authreq n
Задаёт n в качестве максимального количества передач PAP authenticate−request. По умолчанию используется значение 10.
pap−restart n
Задаёт n секунд в качестве интервала перезапуска (таймаута повторной передачи) PAP. По умолчанию используется значение
3.
pap−timeout n
Задаёт n секунд в качестве максимального времени, которое pppd будет ждать аутентификации партнёра с помощью PAP. Значение 0
означает − неограниченно.
pass−filter выражение−фильтр
Указывает пакетный фильтр, определяющий разрешённые для отправки или приёма пакеты данных. Пакеты отклоняемые этим фильтром будут
отброшены без предупреждений. Эта опция может использоваться для предотвращения насыщения пропускной способности соединения определёнными сетевыми демонами
(например, routed), или для самой простой фильтрации пакетнов. Синтаксис выражения−фильтра описывается в tcpdump(1). Не разрешаются классификаторы, не
применимые к соединениям PPP, например, ether и arp. Чтобы пробелы в выражении−фильтре не интерпретировались оболочкой, выражение нужно
заключить в одинарные кавычки. Отметим, что с помощью классификаторов inbound и outbound ко входящим и исходящим пакетам можно применять разные
выражения. В настоящее время эта опция доступна только в Linux и требует чтобы ядро было собрано с поддержкой фильтрации PPP (CONFIG_PPP_FILTER).
password пароль
Указывает пароль, используемый при аутентификации у партнёра. Использование этой опции не поощряется, поскольку пароль будет виден
другим пользователям системы (например, по команде ps(1)).
persist
Не завершать работу сразу после разрыва соединения, а попытаться установить его заново. При этом учитывается опция
maxfail.
plugin имя−файла
Загрузить объектный файл разделяемой библиотеки с именем имя−файла в качестве плагина. Это привилегированная опция. Если
имя−файла не содержит косую черту (/), pppd будет искать плагин в каталоге /usr/lib/pppd/версия, где версия − номер версии pppd
(например, 2.4.2).
predictor1
Попросить у партнёра сжимать отправляемые кадры с помощью Predictor−1. Соглашаться сжимать передаваемые кадры с использованием
Predictor−1, если это запрошено. Эта опция не работает, если драйвер ядра не поддерживает сжатие Predictor−1.
privgroup имя−группы
Разрешает членам группы имя−группы использовать привилегированные опции. Это привилегированная опция. При использовании этой
опции нужно соблюдать осторожность, поскольку нет гарантии, что члены группы имя−группы не смогут использовать pppd для получения привилегий
пользователя root. Эквивалентным этому считается помещение членов группы имя−группы в группу kmem или disk.
proxyarp
Добавляет в системную таблицу ARP (Address Resolution Protocol − протокол определения адреса) запись, содержащую IP−адрес партнера
и Ethernet−адрес этой системы. Другие системы в локальной сети Ethernet будут полагать, что партнер находится в одной сети Ethernet с ними.
pty сценарий
Для связи использовать указанную команду сценарий, а не специализированное терминальное устройство. pppd запросит для себя
псевдотерминальную пару ведущий/ведомый. В качестве терминального устройства будет использован ведомый псевдотерминал. В дочернем процессе запустится
сценарий, который откроет ведущий псевдотерминал в качестве своего стандартного ввода и вывода. Нельзя явно указать имя этого устройства. (Отметим: при
совместном использовании опции pty с опцией record дочерний процесс откроет для стандартного ввода и вывода программные каналы.)
receive−all
При указании этой опции pppd будет принимать все управляющие символы от партнёра, включая отмеченные в принимаемой битовой карте
asyncmap. Без этой опции pppd будет отбрасывать эти символы в соответствии с RFC1662. Эта опция может понадобиться только если партнёр имеет ошибки в
реализации.
record имя−файла
Указывает, что pppd должен записывать все принятые и отправленные символы в файл с именем имя−файла. Этот файл открывается в
режиме дозаписи с привилегиями пользователя. Эта опция использует псевдотерминал и обрабатывает символы, передаваемые между псевдотерминалом и реальным
последовательным устройством. Это увеличивает задержку и затраты CPU при передаче данных через интерфейс ppp. Символы сохраняются в теговом формате с отметками
времени, который может быть отображён программой pppdump(8) в пригодном для чтения виде.
remotename имя
Задать имя в качестве предполагаемого имени удалённой системы для аутентификации.
remotenumber номер
Задать номер в качестве предполагаемого номера телефона удалённой системы для аутентификации.
refuse−chap
При указании этой опции pppd не согласится аутентифицироваться по протоколу CHAP.
refuse−mschap
При указании этой опции pppd не согласится аутентифицироваться по протоколу MS−CHAP.
refuse−mschap−v2
При указании этой опции pppd не согласится аутентифицироваться по протоколу MS−CHAPv2.
refuse−eap
При указании этой опции pppd не согласится аутентифицировться по протоколу EAP.
refuse−pap
При указании этой опции pppd не согласится аутентифицироваться по протоколу PAP.
require−chap
Требовать у партнёра аутентифицироваться с помощью CHAP (Challenge Handshake Autentication Protocol − протокол аутентификации
рукопожатия с откликом).
require−mppe
Требовать использования MPPE (Microsoft Point to Point Encryption − шифрование точка−точка Microsoft). Эта опция отключает все
другие типы сжатия. Эта опция разрешает 40−битное и 128−битное шифрование. Для использования шифрования MPPE необходимо пройти аутентификацию с помощью MS−CHAP
или MS−CHAPv2. В настоящее время эта опция поддерживается только в Linux и только если ядро было собрано с поддержкой MPPE.
require−mppe−40
Требовать использования MPPE с 40−битным шифрованием.
require−mppe−128
Требовать использования MPPE со 128−битным шифрованием.
require−mschap
Требовать у партнёра аутентификации с помощью MS−CHAP (Microsoft Challenge Handshake Authentication Protocol − протокол
аутентификации рукопожатия с откликом Microsoft).
require−mschap−v2
Требовать у партнёра аутентификации с помощью MS−CHAPv2 (Microsoft Challenge Handshake Authentication Protocol − протокол
аутентификации рукопожатия с откликом Microsoft второй версии).
require−eap
Требовать у партнёра аутентификации с помощью EAP (Extensible Authentication Protocol − расширяемый протокол аутентификации).
require−pap
Требовать у партнёра аутентификации с помощью PAP (Password Authentication Protocol − протокол аутентификации по паролю).
set имя=значение
Задаёт переменную окружения для сценариев, вызываемых pppd. При задании из привилегированного источника, переменная с указанным
именем не может быть изменена при помощи опции, содержащейся в непривилегированном источнике. См. также опцию unset и окружение, описанное в
разделе СЦЕНАРИИ.
show−password
При помещении в журнал содержимого пакетов PAP, эта опция заставляет pppd показывать строку пароля в сообщениях журнала.
silent
При использовании этой опции pppd не будет передавать пакеты LCP инициирующие соединение до тех пор, пока от партнёра не будут приняты правильные пакеты LCP
(опция подобна опции ’passive’ для старых версий pppd).
srp−interval n
Если задан этот параметр и pppd использует для аутентификации партнёра EAP SRP−SHA1 (то есть выступает в роли сервера), то pppd
будет использовать необязательный облегчённый механизм SRP rechallenge с интервалом n секунд. Эта опция быстрее повторной аутентификации
eap−interval, поскольку она использует механизм, основанный на хэше и не создаёт новый сеансовый ключ.
srp−pn−secret строка
Установка долгосрочного пароля для генерации псевдонима сервера. Значение необязательно. Если значение задано, оно должно быть
известно только серверу (аутентификатору), и должно различаться для каждого сервера (или пула идентичных серверов). Этот пароль вместе с текущей датой и
временем используется для генерации ключа шифрования/дешифрования псевдонима клиента.
srp−use−pseudonym
При работе в качестве клиента EAP SRP−SHA1 попытаться использовать сначала псевдоним хранящийся в ~/.ppp_pseudonym, и сохранить в
этом файле псевдоним, предложенный партнёром во время аутентификации.
sync
Использовать синхронное последовательное кодирование HDLC вместо асинхронного. При указании этой опции используемое pppd устройство должно иметь поддержку
синхронного режима. В настоящее время в Linux и FreeBSD 2.2.8 и более поздних системах поддерживаются адаптеры Microgate SyncLink.
unit номер
Устанавливает номер интерфейса ppp (например, имена интерфейсов ppp0 или ppp1) для исходящих соединений. Если номер уже
используется, будет использоваться динамически выделенный номер.
ifname строка
Задать имя интерфейса ppp для исходящих подключений. Если имя интерфейса уже используется, или если имя не может использоваться по
любой другой причине, pppd завершит работу.
unset имя
Удалить переменную из окружения вызываемого pppd сценария. При указании в привилегированном источнике, переменную с указанным
именем будет невозможно задать из непривилегированного источника. См. также опцию set и окружение, описанное в разделе СЦЕНАРИИ.
updetach
При указании этой опции pppd будет отсоединяться от управляющего терминала, если однажды ему удалось установить PPP−соединение (в
тот момент, когда заработал первый сетевой протокол, обычно протокол управления IP).
usehostname
Настоять на использовании имени узла (включая доменное имя, если оно задано) в целях аутентификации в качестве имени локальной
системы (заменяет опцию name). Эта опция обычно не требуется, поскольку опция name является привилегированной.
usepeerdns
Запросить до 2 адресов серверов DNS. Адреса, предоставленные партнёром (если есть) передаются сценарию /etc/ppp/ip−up в переменных
окружения DNS1 и DNS2, а переменная окружения USEPEERDNS будет установлена в 1. pppd также создаст файл /var/run/ppp/resolv.conf, содержащий одну или две
строки nameserver с адресами, предоставленными партнёром.
user имя
Задаёт имя в качестве имени, используемого локальной системой для аутентификации у партнёра.
vj−max−slots n
Задаёт n в качестве максимального количества слотов соединений, используемых алгоритмом Вана Якобсона (Van Jacobson) для
сжатия и разжатия кода заголовков TCP/IP. Значение параметра должно находиться между 2 и 16 (включительно).
welcome сценарий
После завершения сценария соединения (если есть), но до начала согласования PPP, запустить исполняемый двоичный файл или команду
оболочки сценарий. Значение этой опции из привилегированного источника не может быть заменено непривилегированным пользователем.
xonxoff
Использовать программное (XON/XOFF) управление потоком данных на последовательном порту.
ФАЙЛЫ ОПЦИЙ
Опции можно указывать не только в командной строке, но и в файлах. Перед обработкой опций командной строки pppd
прочитает опции из файлов /etc/ppp/options, ~/.ppprc и /etc/ppp/options.имя−терминала в указанном порядке. (Фактически опции командной строки
сканируются, чтобы найти имя терминала перед чтением файла options.имя−терминала) Из имени терминала удаляются начальные символы /dev/, а любой из
оставшихся символов / заменяется точкой.
Файл опций обрабатывается как последовательность слов, разделённых пробелами. Слово может содержать пробелы, если
оно заключено в двойные кавычки ("). Обратная косая черта (\) заключает в кавычки следующий символ. Решётка (#) в начале строки означает, что строка является
комментарием. Использование опций file или call в файле опций не ограничивается.
БЕЗОПАСНОСТЬ
pppd предоставляет системным администраторам достаточное количество средств управлением доступом, поэтому
доступ PPP к машине−серверу можно предоставить законным пользователям без опаски компрометации безопасности сервера или сети, в которой он находится.
Управление реализуется при помощи ограничения IP−адресов и опций, которые разрешаются непривилегированному пользователю, прошедшему процедуру аутентификации и
идентификации (при их наличии). Некоторые опции pppd являются привилегированными, поскольку могут привести к потенциально небезопасным конфигурациям; эти опции
разрешаются только в файлах, находящихся под управлением системного администратора, или если pppd был запущен пользователем root.
По умолчанию pppd разрешает партнёрам, не прошедшим процедуру аутентификации, использовать заданный IP−адрес,
только если система уже не имеет маршрута к этому IP−адресу. Например, система с постоянным соединением к сети интернет обычно имеет маршрут по умолчанию, и
следовательно при установке соединения все партнёры должны пройти процедуру аутентификации. На таких системах опция auth используется по умолчанию. В
случаях если система с PPP−соединением в интернет в штатном режиме не имеет маршрута по умолчанию, партнёру разрешается использовать практически любой IP−адрес
без аутентификации.
Как указано выше, некоторые опции влияющие на безопасность, являются привилегированными. Это означает, что
непривилегированному пользователю нельзя использовать их ни в командной строке, ни в пользовательском файле ~/.ppprc, ни в файле опций, заданном опцией
file, даже несмотря на принадлежность исполняемого файла пользователю root и установленный бит setuid. Привилегированные опции могут быть указаны в
файле /etc/ppp/options или прочитаны из файла опций, указанного в опции call. Пользователю root разрешается пользоваться любыми привилегированными
опциями.
При открытии устройства, pppd использует идентификатор пользователя, запустившего pppd, или идентификатор root
(который равен 0), в зависимости от того, было ли указано имя устройства пользователем или системным администратором. Если имя устройства взято из
привилегированного источника, например из файла /etc/ppp/options или файла опций, заданного опцией call, pppd откроет устройство от имени пользователя
root. Таким образом, при создании соответствующего файла в подкаталоге /etc/ppp/peers, системный администратор может разрешить пользователям устанавливать
PPP−соединение через устройство, на доступ к которому у них обычно нет прав. В других случаях для открытия устройства используется реальный идентификатор
пользователя, запустившего pppd.
АУТЕНТИФИКАЦИЯ
Аутентификация − это процесс подтверждения личности одним партнёром другому. При этом один партнёр отправляет своё
имя другому вместе с секретной информацией, которая может поступить только от настоящего авторизованного пользователя этого имени. В таком обмене первого
партнёра можно назвать "клиентом", а другого "сервером". Клиент имеет имя, с помощью которого он идентифицирует себя перед сервером, а сервер − имя, которым он
идентифицирует себя перед клиентом. Обычно клиент и сервер имеют некоторый общий пароль, и клиент доказывает свою подлинность знанием этого пароля. Очень часто
имена, используемые партнёрами при аутентификации, являются именами узлов в интернете, но это не существенно.
В настоящее время pppd поддерживает три протокола аутентификации: PAP (Password Authentication Protocol − протокол
аутентификации по паролю), CHAP (Challenge Handshake Authentication Protocol − протокол аутентификации рукопожатия с откликом), и EAP (Extensible
Authentication Protocol − расширяемый протокол аутентификации). PAP подразумевает, что клиент для собственной аутентификации отправляет на сервер своё имя и
пароль открытым текстом. В противоположность ему, при использовании протокола CHAP сервер сам инициирует обмен аутентификацией по протоколу CHAP, отправляя
клиенту пакет challenge (пакет challenge содержит имя сервера). Чтобы подтвердить знание пароля, клиент должен ответить пакетом response, который включает его
имя и значение хэша, полученное из пароля и содержимого пакета challenge. EAP поддерживает аутентификацию в стиле CHAP, а также содержит механизм SRP−SHA1,
который противостоит атакам по словарю и не требует хранения пароля открытым текстом на стороне сервера.
Протокол PPP изначально симметричен и позволяет обоим партнёрам требовать друг у друга аутентификации. В этом
случае происходят два различных и независимых обмена аутентификацией. Два обмена могут использовать различные протоколы аутентификацию, и в принципе, при двух
обменах могут использоваться разные имена.
По умолчанию pppd согласен подтвердить свою подлинность, если это запрошено, но не требует аутентификации от
партнёра. Однако, pppd откажется подтверждать свою подлинность с помощью определённого протокола, если не располагает паролем для этого протокола.
pppd хранит пароли, используемые для аутентификации, в файлах паролей (/etc/ppp/pap−secrets для PAP,
/etc/ppp/chap−secrets для CHAP, MS−CHAP, MS−CHAPv2, EAP MD5−Challenge, и /etc/ppp/srp−secrets для EAP SRP−SHA1). Все файлы паролей имеют одинаковый формат.
Файлы паролей могут содержать пароли, которые используются pppd для подтверждения собственной подлинности на других системах, и пароли, используемые pppd для
аутентификации других систем.
Каждая строка в файле паролей содержит один пароль. Каждый пароль соответствует определённой паре клиент/сервер и
используется только для аутентификации данного клиента на данном сервере. Поэтому каждая строка в файле паролей имеет по крайней мере 3 поля: имя клиента, имя
сервера и пароль. Эти поля могут быть дополнены списком IP−адресов, которые данный клиент может использовать при подключении к данному серверу.
Файлы паролей, как и файлы опций, состоят из слов. Каждое из полей, имя клиента, имя сервера и пароль, должно быть
одним словом, в котором пробелы и другие специальные символы должны быть заэкранированы или заключены в кавычки. Отметим, что требование распространяется на
имя клиента, имя сервера и пароль.
Если пароль начинается с ’@’, то за ним следует предполагаемое имя файла, из которого будет прочитан пароль. "*"
совпадёт с любым именем клиента или сервера. При выборе секрета pppd выбирает лучшее совпадение, то есть совпадение с наименьшим количеством шаблонов.
Любые последующие слова в той же строке задают список принимаемых IP−адресов этого клиента. Если в строке только 3
слова, или первое слово − это "−", тогда запрещаются все IP−адреса. Для разрешения любого адреса используйте "*". Слово начинающееся с "!" указывает, что
данный адрес не принимается. Для указания подсети за адресом может следовать "/" и число n. В таком случае принимаются все адреса, имеющие те же
значения n старших бит. В этой форме за адресом может следовать знак плюса ("+"), указывающий что каждый адрес из подсети разрешён для сетевого
интерфейса ppp с определённым номером. В этом случае узловая часть адреса будет расчитана как номер интерфейса плюс один.
Файлы паролей содержат пароли обоих типов − для аутентификации других узлов и для подтверждения собственной
подлинности. Когда pppd проверяет подлинность партнёра, он выбирает пароль, указанный в строке с именем партнёра в первом поле и именем локальной системы во
втором поле. Имя локальной системы по умолчанию − это имя узла. Если используется опция domain, то имя узла будет дополнено доменным именем. Данное
поведение по умолчанию можно