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, которая позволяет указывать только управляющие символы. Символы, которые не могут быть экранированы, имеют шестнадцатеричные значения 0×20 - 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 <идентификатор-локального-интерфейса>,<идентификатор-удалённого-интерфейса> Устанавливает локальный и/или удалённый 64-битные идентификаторы интерфейсов. Любой из них может быть не указан. Идентификатор должен быть указан в стандартной для адресов IPv6 ASCII-нотации (например, ::dead:beef). Если указана опция ipv6cp-use-ipaddr, в качестве локального идентификатора будет использоваться это локальный адрес IPv4 (см. выше). На системах, поддерживающих уникальные постоянные идентификаторы, вместо опции 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 произведёт начальную настройку интерфейса и включит его для 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 не завершит, а продолжит работу. 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-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-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. 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. 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 - протокол аутентификации по паролю). 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) для исходящих соединений. 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, то имя узла будет дополнено доменным именем. Данное поведение по умолчанию можно изменить с помощью опции name, за исключением случаев использования опции usehostname. (Для EAP SRP-SHA1 обратитесь к описанию утилиты srp-entry(8), генерирующей содержимое поля "пароль".)
Когда pppd выбирает пароль для аутентификации у партнёра, то сначала определяется собственное имя, используемое для идентификации. Это имя может быть указано пользователем при помощи опции user. Если эта опция не используется, то по умолчанию будет выбрано имя локальной системы, определённое способом, описанным в предыдущем параграфе. Затем pppd будет искать пароль, соответствующий своему имени в первом поле и имени партнёра во втором поле. При использовании аутентификации CHAP или EAP pppd знает имя партнёра, потому что партнёр посылает своё имя в пакете challenge. Однако при использовании PAP pppd определит имя партнёра по опциям, указанным пользователем. Пользователь может явно указать имя партнёра с помощью опции remotename. В других случаях, если удалённый IP-адрес был указан именем (что предпочтительнее числового вида), это имя будет использоваться в качестве имени партнёра. В случае неудачи pppd в качестве имени партнёра будет использовать пустую строку.
Если партнёр аутентифицируется с помощью PAP, то предоставленный пароль сначала сравнивается с паролем из файла паролей. Если пароли не совпадают, то пароль партнёра шифруется с помощью функции crypt() и сравнивается с паролем из файла снова. Таким образом при необходимости можно хранить пароли для аутентификации партнёра в зашифрованной форме. Если задана опция papcrypt, то для повышения безопасности первоначальное (незашифрованное) сравнение будет пропущено.
Кроме того, при указании опции login, имя пользователя и пароль также будут проверены по системной базе данных паролей. Таким образом, системный администратор может задать в файле pap-secrets имена только тех пользователей, которым разрешено пользоваться PPP и ограничить набор IP-адресов для каждого из них. Обычно при использовании опции login в файл /etc/ppp/pap-secrets прописывается пароль "", который будет совпадать с любым паролем, предоставленным партнёром. Это позволит не прописывать одинаковый пароль в двух местах.
Перед включением IPCP (или любого другого протокола управления сетью (NCP - Network Control Protocol)) аутентификация должна завершиться удачно. Если партнёр требует подтверждения нашей подлинности, но аутентификация завершилась неудачно, то pppd закроет канал (закрытием LCP). IPCP будет закрыт, если согласованный по протоколу IPCP IP-адрес удалённого узла не принимается. Пакеты IP могут отправляться или приниматься только при открытом IPCP.
В некоторых случаях желательно разрешить некоторым узлам, не способным аутентифицировать себя, подключаться и использовать один из ограниченных наборов IP-адресов, даже если местный узел обычно требует аутентификацию. Если партнёр отклоняет запросы на подтверждение собственной подлинности, pppd считает это эквивалентным аутентификации по протоколу PAP с использованием пустой строки для имени пользователя и пароля. Таким образом, добавив к файлу pap-secrets строки с пустым именем клиента и паролем, можно разрешить ограниченный доступ узлам, отклоняющим подтверждение собственной подлинности.
При успешном завершении согласования IPCP, pppd сообщит ядру локальный и удалённый IP-адреса для интерфейса ppp. Этого достаточно для создания маршрута к узлу на удалённом конце канала, чтобы заработал обмен IP-пакетами между партнёрами. Связь с другими машинами обычно требует дальнейшей модификации таблиц маршрутизации и/или таблиц ARP (Address Resolution Protocol). В большинстве случаев для этого достаточно указать опции defaultroute и/или proxyarp, но в некоторых случаях требуется дальнейшее вмешательство с помощью сценария /etc/ppp/ip-up.
Иногда желательно добавить маршрут по умолчанию через удалённый узел, в таких случаях машина будет иметь только соединение с сетью Интернет через интерфейс ppp. Опция defaultroute заставит pppd создать такой маршрут по умолчанию после завершения согласования IPCP, и удалить его при закрытии канала.
В некоторых случаях желательно использовать ARP-прокси, например на серверной машине, подсоединённой к локальной сети, чтобы разрешить другим узлам связываться с удалённым узлом. Опция proxyarp заставит pppd наблюдать за сетевым интерфейсом в той же подсети, что и удалённый узел. Интерфейс должен поддерживать широковещание и ARP, он должен быть активен и не являться петлевым (loopback) интерфейсом или интерфейсом точка-точка. Если такой интерфейс найден, pppd создаст постоянную опубликованную ARP-запись с IP-адресом удалённого узла и аппаратным адресом найденного сетевого интерфейса.
При использовании опции demand, IP-адреса интерфейса уже установлены до согласования IPCP. Если pppd не сможет согласовать тот же адрес, который использовался для настройки интерфейса (например когда партнёр - это Интернет-провайдер, который использует динамическое назначение IP-адресов), pppd изменит IP-адреса интерфейса на согласованные адреса. Не рекомендуется использовать звонок по требованию до партнёра, который назначает IP-адреса динамически, потому что это может нарушить существующие соединения.
Многоканальный режим PPP позволяет объединять два или более PPP каналов между парой машин в единую "связку", которая выглядит как единый виртуальный канал PPP. Этот канал объединяет пропускную способность отдельных каналов. В настоящее время многоканальный режим PPP поддерживается только в Linux.Используя дискриминатор конечной точки и информацию об аутентифицированном партнёре (если он аутентифицировал себя), pppd обнаруживает, что канал которым он управляет, подключен к тому же партнёру, что и другой канал. pppd считает, что дискриминатор конечной точки, являющийся блоком данных, уникален для каждого партнёра. В качестве дискриминатора конечной точки могут использоваться данные различного типа, включая локально назначенные или случайные строки байтов, IP-адреса, MAC-адреса, или телефонные номера E-164. Дискриминатор конечной точки, отправляемый партнёру, может быть задан с помощью опции endpoint.
При некоторых обстоятельствах партнёр может не отправить дискриминатор конечной точки или отправить не уникальное значение дискриминатора. Опция связывания задаёт дополнительную строку, которая будет добавлена к дискриминатору конечной точки партнёра. Совместно они будут использоваться для определения принадлежности каналов одной связке. Опцию связывания можно использовать для создания нескольких связок между локальной системой и партнёром. pppd использует базу данных TDB в /var/run/pppd2.tdb для обнаружения совпадающих каналов.
Предположим, что многоканальный режим включен и согласован с партнёром. Тогда если pppd запущен для установки первого канала к партнёру, он обнаружит отсутствие других соединённых с партнёром каналов и создаст новую связку на сетевом интерфейсе ppp с новым номером. Когда другой pppd запустит установку другого канала к партнёру, он обнаружит существующую связку и присоединит канал к ней.
Если первый канал закроется (например, по причине зависания модема или из-за принятия LCP-пакета terminate-request), и в связке есть другие каналы, связка не уничтожается. Вместо выхода первый pppd продолжит работать после закрытия канала, до тех пор пока не закроются все каналы в связке. Если первый pppd примет сигнал SIGTERM или SIGINT, он разрушит связку и отправит SIGHUP процессам pppd для каждого канала связки. Если первый pppd принимает сигнал SIGHUP, он закроет канал, но не связку.
Замечание: в настоящее время звонок по требованию в многоканальном режиме не поддерживается.
Следующие примеры подразумевают, что файл /etc/ppp/options содержит опцию auth (как в файле /etc/ppp/options, распространяемом в комплекте с pppd).
Вероятно в большинстве распространённых случаев использования pppd дозванивается до интернет-провайдера. Это может быть выполнено при помощи следующей команды:
(Обратитесь к srp-entry(8) за разъяснениями того, как сгенерировать запись на сервере при использовании SRP-SHA1). Кроме того, вы можете создать пользователя с именем (например) "ppp", входная оболочка которого - pppd, и чей домашний каталог - /etc/ppp. Опции, используемые при запуске pppd этим способом, можно поместить в /etc/ppp/.ppprc.
pppd call isp где файл /etc/ppp/peers/isp настроен системным администратором и содержит нечто вроде следующего: ttyS0 19200 crtscts
connect ’/usr/sbin/chat -v -f /etc/ppp/chat-isp’
noauthВ этом примере мы используем команду chat для того, чтобы модем позвонил интернет-провайдеру и прошёл необходимую последовательность подключения. Файл /etc/ppp/chat-isp содержит сценарий, используемый командой chat; например, он может содержать нечто вроде следующего: ABORT "NO CARRIER"
ABORT "NO DIALTONE"
ABORT "ERROR"
ABORT "NO ANSWER"
ABORT "BUSY"
ABORT "Username/Password Incorrect"
"" "at"
OK "at&d0&c1"
OK "atdt2468135"
"name:" "^Umyuserid"
"word:" "\qmypassword"
"ispts" "\q^Uppp"
"~-^Uppp-~"За подробностями о сценариях chat обратитесь к странице руководства chat(8). pppd также может использоваться для предоставления пользователям сервиса dial-in ppp. Если пользователь уже имеет учётную запись для входа в систему, простейший способ установить сервис ppp - это позволить пользователям войти под их учётной записью и запустить pppd (с установленным битом setuid и владельцем root) из командной строки, например так: pppd proxyarp Чтобы разрешить пользователям использовать средства PPP, вы должны выделить компьютеру пользователя IP-адрес и создать запись в /etc/ppp/pap-secrets, /etc/ppp/chap-secrets или /etc/ppp/srp-secrets (в зависимости от реализаций методов аутентификации PPP, поддерживаемых на машине пользователя), так чтобы машина пользователя смогла подтвердить свою подлинность. Например, если Джо имеет машину с именем "joepc", то чтобы разрешить звонок на машину с именем "server" и использовать IP-адрес joepc.my.net, вы должны добавить в файл /etc/ppp/pap-secrets или /etc/ppp/chap-secrets запись, подобную следующей: joespc server "joe’s secret" joespc.my.net Если Ваше последовательное подключение хоть немного сложнее куска провода, вам может потребоваться экранировать некоторые управляющие символы. В частности, часто используемые для экранирования символы XON (^Q) и XOFF (^S), используя опцию asyncmap a0000. Если путь включает telnet, вероятно нужно экранировать ^] таким же способом (asyncmap 200a0000). Если путь включает rlogin, Вам может потребоваться использовать опцию escape ff на той стороне, где используется rlogin-клиент, поскольку реализация rlogin не прозрачна; он будет удалять последовательность [0xff, 0xff, 0×73, 0×73, вместе со следующими 8 байтами] из потока.
Сообщения отправляются демону syslog с использованием средства LOG_DAEMON. (Желаемое средство может быть задано перед компиляцией pppd с помощью макроса LOG_PPP). Чтобы узнать, куда демон syslog записывает сообщения, обратитесь к документации syslog(8). На большинстве систем демон syslog читает настройки из файла /etc/syslog.conf, в котором указано место для хранения сообщений. Вы можете отредактировать этот файл по своему усмотрению.
Опция debug вызовет журналирование содержимого всех отправленных или принятых управляющих пакетов, то есть всех пакетов LCP, PAP, CHAP, EAP или IPCP. Опция может быть полезна, если не удаётся согласование PPP или произошла ошибка аутентификации. Если отладка включена при компиляции, опция debug также вызовет журналирование других отладочных сообщений.
Отладка также может быть включена или отключена оправкой процессу pppd сигнала SIGUSR1. Сигнал действует как переключатель.
Статус завершения pppd сообщает о том, были ли обнаружены ошибки, или сообщает причины, по которым канал был разорван. Используются следующие значения:
0 pppd был отключен, или же соединение было успешно установлено и завершено по запросу партнёра. 1 Случилась неожиданная неисправимая ошибка, такая как ошибка вызова системы, или нехватка виртуальной памяти во время работы. 2 Была обнаружена ошибка во время обработки заданных опций, например - обнаружено использование двух взаимно исключающих опций. 3 pppd не имеет бита setuid root и запустивший пользователь - не root. 4 Ядро не поддерживает PPP, например, PPP-драйвер ядра не вкомпилирован в ядро или не может быть загружен. 5 pppd завершился потому что ему был отправлен сигнал SIGINT, SIGTERM или SIGHUP. 6 Последовательный порт не может быть заблокирован. 7 Последовательный порт не может быть открыт. 8 Сценарий connect был завершён с ошибкой (вернул ненулевой статус завершения). 9 Команда, указанная в качестве аргумента опции pty не может быть запущена. 10 Произошла ошибка согласования PPP, такая что для достижения партнёра не может быть запущен хотя бы один сетевой протокол (например IP). 11 Ошибка аутентификации системы партнёра (или аутентификация была отклонена). 12 Канал был установлен успешно и завершился по причине простоя. 13 Соединение было установлено успешно и было завершено по причине достижения лимита времени. 14 Был согласован обратный звонок и вскоре должен последовать входящий вызов. 15 Канал был закрыт по причине отсутствия ответов от партнёра на эхо-запрос. 16 Связь была разорвана по причине зависания модема. 17 Согласование PPP было неудачным из-за обнаружения режима замыкания последовательного устройства. 18 Сценарий инициализации завершился не удачно (вернул ненулевой статус завершения). 19 Не удалось подтвердить свою подлинность партнёру.
pppd вызывает сценарии на различных этапах своей работы, что можно использовать для запуска вспомогательных процессов, учитывающих специфику узла. Эти сценарии обычно являются сценариями оболочки, но могут быть двоичными исполняемыми файлами. pppd не ожидает завершения сценариев (исключая сценарий ip-pre-up). Сценарии исполняются от имени пользователя root (с нулевыми реальным и эффективным идентификаторами), так что они могут обновлять таблицы маршрутизации или запускать привилегированные демоны. Соблюдайте осторожность, чтобы содержимое этих сценариев не скомпрометировало безопасность вашей системы. pppd запускает сценарии с перенаправлением стандартного ввода, вывода и диагностического потока в /dev/null, и с пустым окружением, за исключением некоторых переменных окружения, которые предоставляют информацию о канале. pppd устанавливает следующие переменные окружения:
DEVICE Имя используемого последовательного устройства tty. IFNAME Имя используемого сетевого интерфейса. IPLOCAL IP адрес локального конца канала. Он устанавливается только если по завершению согласования IPCP. IPREMOTE IP-адрес удалённого конца канала. Он устанавливается только по завершению согласования IPCP. PEERNAME Подтверждённое имя партнёра. Оно устанавливается, только если партнёр подтвердил свою подлинность. SPEED Скорость в бодах устройства tty. ORIG_UID Реальный идентификатор имени пользователя, запустившего pppd. PPPLOGNAME Реальное имя пользователя, запустившего pppd. Переменная всегда установлена. Для сценариев ip-down и auth-down, pppd также установит следующие переменные, отражающие статистику соединения: CONNECT_TIME Количество секунда от начала согласования PPP до завершения соединения. BYTES_SENT Количество отправленных байт (на уровне последовательного порта) в течение соединения. BYTES_RCVD Количество принятых байт (на уровне последовательного порта) в течение соединения. LINKNAME Логическое имя канала, устанавливается опцией linkname. CALL_FILE Значение опции call. DNS1 Если партнёр предоставляет адреса DNS-серверов, эта переменная задаёт адрес первого предоставляемого DNS-сервера. DNS2 Если партнёр предоставляет адреса DNS-серверов, эта переменная задаёт адрес второго предоставляемого DNS-сервера. pppd вызывает следующие сценарии, если они существуют. Их отсутствие не является ошибкой. /etc/ppp/auth-up Программа или сценарий, который выполняется после того, как удалённая система подтвердила свою подлинность. Он выполняется со следующими параметрами: имя_интерфейса имя_партнёра имя_пользователя tty_устройство скорость Отметим, что этот сценарий не будет выполнен, если партнёр не подтвердил свою подлинность, например при использовании опции noauth. /etc/ppp/auth-down Программа или сценарий, который исполняется при пропадании канала, если до этого был вызван /etc/ppp/auth-up. Он выполняется тем же способом и с теми же параметрами, что и /etc/ppp/auth-up. /etc/ppp/ip-pre-up Программа или сценарий, который выполняется перед запуском сетевого интерфейса ppp. Он выполняется с теми же параметрами, что и сценарий ip-up (смотри ниже). В этой точке интерфейс существует и имеет назначенный ему IP-адрес, но остаётся неактивным. Это может быть использовано для добавления правил пакетного фильтра, перед тем как какой-либо IP-трафик пройдёт через интерфейс. pppd будет ожидать завершения этого сценария перед тем как переключит интерфейс в активное состояние, поэтому сценарий должен работать быстро. /etc/ppp/ip-up Программа или сценарий, который будет запущен когда канал станет доступным для отправки и приёма IP-пакетов (по завершении IPCP). Он исполняется с параметрами: имя_интерфейса tty_устройство скорость локальный_IP_адрес удалённый_IP_адрес ipparam /etc/ppp/ip-down Программа или сценарий, который будет запущен, когда канал более не доступен для отправки и приёма IP-пакетов. Этот сценарий может быть использован для отмены действия сценариев /etc/ppp/ip-up и /etc/ppp/ip-pre-up. Он вызывается таким же образом и с теми же параметрами, что и сценарий ip-up. /etc/ppp/ipv6-up Подобен /etc/ppp/ip-up, за исключением того, что исполняется когда канал доступен для отправки или приёма IPv6-пакетов. Он исполняется со следующими параметрами: имя_интерфейса tty_устройство скорость местный_адрес_канала удалённый_адрес_канала ipparam /etc/ppp/ipv6-down Подобен /etc/ppp/ip-down, но выполнится когда пакеты IPv6 больше не могут передаваться по каналу. Он исполняется с теми же параметрами, что и сценарий ipv6-up. /etc/ppp/ipx-up Программа или сценарий, который будет выполнен когда канал станет доступен для отправки или приёма IPX-пакетов (после согласования IPXCP). Он исполняется с параметрами: имя_интерфейса tty_устройство скорость номер_сети адрес_локального_IPX_узла адрес_удалённого_IPX_узлалокальный_протокол_маршрутизации_IPX удалённый_протокол_маршрутизации_IPX имя_локального_маршрутизатора_IPXимя_удалённого_маршрутизатора_IPX ipparam pppd-pid Поля местный_протокол_маршрутизации_IPX и удалённый_протокол_маршрутизации_IPX могут быть одним из следующих: NONE для указания, что протокол маршрутизации не используется
RIP для указания, что должен быть использован RIP/SAP
NLSP для указания, что должен быть использован Novell NLSP
RIP NLSP для казания, что должны быть использован оба протокола RIP/SAP и NLSP/etc/ppp/ipx-down Программа или сценарий, который выполняется, когда канал более не достуепн для отправки или приёма IPX-пакетов. Сценарий может быть использован для отмены действий сценария /etc/ppp/ipx-up. Он вызывается таким же образом и с теми же параметрами, что сценарий ipx-up.
/var/run/pppn.pid (BSD или Linux), /etc/ppp/pppn.pid (другие) Идентификатор процесса pppd на интерфейсе ppp с номером n. /var/run/ppp-имя.pid (BSD или Linux), /etc/ppp/ppp-имя.pid (другие) Идентификатор процесса pppd для логического канала с соответствующим именем (см. опцию linkname). /var/run/pppd2.tdb База данных, содержащая информацию о процессах pppd, интерфейсах и каналах, используется для объединения каналов в связки в многоканальном режиме. Может быть изучена внешней программой для получения информации о запущеных экземплярах pppd, интерфейсах и используемых ими устройствах, назначенных IP-адресах и т.п./etc/ppp/pap-secretsИмена пользователей, пароли и IP-адреса для PAP-аутентификации. Этот файл должен принадлежать пользователю root и не должен быть доступен для чтения или записи ни одному другому пользователю. pppd поместит предупреждающее сообщение в журнал, если это не так. /etc/ppp/chap-secrets Имена, секреты и IP-адреса, используемые для аутентификации CHAP/MS-CHAP/MS-CHAPv2. Как и файл /etc/ppp/pap-secrets, этот файл должен принадлежать пользователю root и не должен быть доступен для чтения или записи любому другому пользователю. pppd поместит предупреждающее сообщение в журнал, если это не так. /etc/ppp/srp-secrets Имена, секреты и IP-адреса для аутентификации EAP. Как и файл /etc/ppp/pap-secrets, этот файл должен принадлежать пользователю root и не должен быть доступным для чтения или записи остальным пользователям. Если это не так, pppd поместит в журнал предупреждающее сообщение. ~/.ppp_pseudonym Сохранённый псевдоним SRP-SHA1 клиентской стороны. За подробностями обратитесь к опции srp-use-pseudonym. /etc/ppp/options Системные опции по умолчанию для pppd, читается перед пользовательскими опциями по умолчанию или опциями командной строки. ~/.ppprc Пользовательские опции по умолчанию, читаются перед /etc/ppp/options.ttyname. /etc/ppp/options.ttyname Системные опции по умолчанию, используемые для последовательного порта, читаются после ~/.ppprc. Для формировании части имени ttyname этого файла берётся имя порта, из которого удаляется "/dev/" (если есть), а оставшиеся символы косой черты заменяются точками. /etc/ppp/peers Каталог, содержащий файлы опций, в которых могут быть указаны привилегированные опции, даже если pppd был запущен пользователем, не являющимся root. Системный администратор может создать в этом каталоге файл опций, разрешающий непривилегированным пользователям дозваниваться до определённых доверенных партнёров без требования аутентификации.
chat(8), pppstats(8)
RFC1144 В. Якобсон (V. Jacobson). Сжатие заголовков TCP/IP для низкоскоростных последовательных каналов. Февраль 1990. RFC1321 Р. Райвест (R. Rivest). Алгоритм свёртки сообщений MD5. Апрель 1992. RFC1332 Дж. МакГрегор (G. McGregor). Протокол управления интернет-протоколом (IPCP - Internet Protocol Control Protocol). Май 1992. RFC1334 Б. Ллойд (B. Lloyd), У. А. Симпсон (W. A. Simpson). Протоколы аутентификации PPP. Октябрь 1992. RFC1661 У. А. Симпсон (W. A. Simpson). Протокол точка-точка (PPP). Июль 1994. RFC1662 У. А. Симпсон (W. A. Simpson). HDLC-подобное кадрирование в PPP. Июль 1994. RFC2284 Л. Бланк (L. Blunk), Дж. Вольбрехт (J. Vollbrecht). Протокол расширяемой аутентификации (EAP). Март 1998. RFC2472 Д. Хэскин (D. Haskin). IP версии 6 поверх PPP. Декабрь 1998. RFC2945 Т. Вю (T. Wu). Аутентификация SRP и система обмена ключами (Key Exchange System). Сентябрь 2000. draft-ietf-pppext-eap-srp-03.txt Дж. Карлсон (J. Carlson) и др. Протокол аутентификации EAP SRP-SHA1. Июль 2001.
Отправкой сигналов из нижеследующего списка может быть достигнуто ограниченное управление работающим процессом pppd.
SIGINT, SIGTERM Эти сигналы заставят pppd закрыть канал (закрытием LCP), восстановить настройки последовательного устройства, и выйти. Если в настоящее время работает процесс connector или disconnector, pppd отправит такой же сигнал его группе процессов, так чтобы завершить этот процесс. SIGHUP Этот сигнал заставит pppd закрыть канал, восстановить настройки последовательного устройства и закрыть последовательное устройство. Если была указана опция persist или demand, pppd попытается переоткрыть последовательное устройство и начать другое соединение (через период holdoff). Иначе, pppd завершится. Если этот сигнал принят во время периода holdoff, он заставит pppd немедленно завершить период holdoff. Если запущены процессы connector или disconnector, pppd отправит такой же сигнал его группе процессов. SIGUSR1 Этот сигнал переключит состояние опции debug. SIGUSR2 Этот сигнал заставит pppd пересогласовать сжатие. Это может быть полезно для повторного включения сжатия после того, как оно было отключено в результате неисправимой ошибки разжатия. (Неисправимые ошибки разжатия обычно означают ошибку в реализации одного из партнёров).
Пол Маккеррас (Paul Mackerras) (paulus@samba.org), основываясь на более ранних работах Дрю Перкинса (Drew Perkins), Брэда Клементса (Brad Clements), Карла Фокса (Karl Fox), Грега Кристи (Greg Christy), и Брэда Паркера (Brad Parker).
Перевод на русский язык выполнен на сайте коллективных переводов http://translated.by/. Авторы перевода: Владимир Ступин <wheelof@gmail.com>, Илья Архипенко (unlk) и другие.
pppd защищён авторскими правами и доступен в соответствии с условиями, которые предоставляют право копирования и использования в форме исходных текстов или двоичной форме, в соответствии с условиями перечисленными ниже. Части pppd защищены следующими отметками об авторских правах:Copyright © 1984-2000 Унивеситет Карнеги-Меллона. Все права защищены.
Copyright © 1993-2004 Пол Маккерас (Paul Mackerras). Все права защищены.
Copyright © 1995 Педро Роке Маркус (Pedro Roque Marques). Все права защищены.
Copyright © 1995 Эрик Роузенкуист (Eric Rosenquist). Все права защищены.
Copyright © 1999 Томми Комулайнен (Tommi Komulainen). Все права защищены.
Copyright © 1999 Эндрю Триджелл (Andrew Tridgell)
Copyright © 2000 Sun Microsystems, Inc. Все права защищены.
Copyright © 2001 Sun Microsystems, Inc. Все права защищены.
Copyright © 2002 Google, Inc. Все права защищены.Авторские права содержат следующие утверждения.
Распространение и использование в виде исходного и исполнимого кода, с модификациями или без них, разрешается с соблюдением следующих условий:
1. Повторно распространяемый исходный код должен содержать
приведённые выше отметки об авторских правах, этот список
условий и следующий отказ от ответственности.2. Повторное распространение в двоичной форме должно
воспроизводить приведённые выше отметки об авторских
правах, этот список условий и следующий отказ от
ответственности в разделе документации и/или других
материалах предоставляемых с дистрибутивом.3. Имя "Университет Карнеги Меллона" не должно
использоваться для подписывания или продвижения продуктов
производных от этого программного обеспечения без
предшествующего письменного разрешения. За разрешениями
или любыми юридическими деталями, пожалуйста обращайтесь
на
Office of Technology Transfer
Carnegie Mellon University
5000 Forbes Avenue
Pittsburgh, PA 15213-3890
(412) 268-4387, fax: (412) 268-7395
tech-transfer@andrew.cmu.edu3b. Имена авторов этого программного обеспечения не должны
использоваться для подписывания или продвижения продуктов
производных от этого программного обеспечения без
предшествующего письменного разрешения.4. Повторное распространение в любой форме должно в точности
сохранять следующие подтверждения:
"Этот продукт включает программное обеспечение,
разработанное компанией Computing Services в Университете
Карнеги Меллона (http://www.cmu.edu/computing/)."
"Этот продукт включает программное обеспечение,
разработанное Полом Маккеррасом (Paul Mackerras)
<paulus@samba.org>".
"Этот продукт включает программное обеспечение,
разработанное Педро Роке Маркусом (Pedro Roque Marques)
<pedro_m@yahoo.com>".
"Этот продукт включает программное обеспечение,
разработанное Томми Комулайнен (Tommi Komulainen)
<Tommi.Komulainen@iki.fi>".УНИВЕРСИТЕТ КАРНЕГИ МЕЛЛОНА ОТКАЗЫВАЕТСЯ ОТ ВСЕХ ГАРАНТИЙ ПО ОТНОШЕНИЮ К ЭТОМУ ПРОГРАММНОМУ ОБЕСПЕЧЕНИЮ, ВКЛЮЧАЯ ВСЕ НЕЯВНЫЕ ГАРАНТИИ КОММЕРЧЕСКОЙ ЦЕННОСТИ И ПРИГОДНОСТИ, В СЛУЧАЕ ЕСЛИ УНИВЕРСИТЕТ КАРНЕГИ МЕЛЛОНА БУДЕТ ПОВИНЕН В ЛЮБЫХ ОСОБЫХ, НЕПРЯМЫХ ИЛИ ПОСЛЕДУЮЩИХ УБЫТКАХ ИЛИ ДРУГИХ ПРОИЗОШЕДШИХ УБЫТКАХ АБСОЛЮТНОЙ УТРАТЫ ПРИГОДНОСТИ К ИСПОЛЬЗОВАНИЮ, ДАННЫХ ИЛИ ДОХОДА, НЕЗАВИСИМО ОТ ДЕЙСТВИЯ ДОГОВОРА, ХАЛАТНОСТИ ИЛИ ДРУГИХ НЕЗАКОННЫХ ДЕЙСТВИЙ, ВОЗНИКШИХ ВНЕ ИЛИ В СВЯЗИ С ИСПОЛЬЗОВАНИЕМ ИЛИ ИСПОЛНЕНИЯ ЭТОГО ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ.
АВТОРЫ ЭТОГО ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ОТКАЗЫВАЮТСЯ ОТ ВСЕХ ГАРАНТИЙ ПО ОТНОШЕНИЮ К ЭТОМУ ПРОГРАММНОМУ ОБЕСПЕЧЕНИЮ, ВКЛЮЧАЯ ВСЕ НЕЯВНЫЕ ГАРАНТИИ КОММЕРЧЕСКОЙ ЦЕННОСТИ И ПРИГОДНОСТИ, В СЛУЧАЕ ЕСЛИ АВТОРЫ БУДУТ ПОВИННЫ В ЛЮБЫХ ОСОБЫХ, НЕПРЯМЫХ ИЛИ ПОСЛЕДУЮЩИХ УБЫТКАХ ИЛИ ДРУГИХ ПРОИЗОШЕДШИХ УБЫТКАХ АБСОЛЮТНОЙ УТРАТЫ ПРИГОДНОСТИ К ИСПОЛЬЗОВАНИЮ, ДАННЫХ ИЛИ ДОХОДА, НЕЗАВИСИМО ОТ ДЕЙСТВИЯ ДОГОВОРА, ХАЛАТНОСТИ ИЛИ ДРУГИХ НЕЗАКОННЫХ ДЕЙСТВИЙ, ВОЗНИКШИХ ВНЕ ИЛИ В СВЯЗИ С ИСПОЛЬЗОВАНИЕМ ИЛИ ИСПОЛНЕНИЯ ЭТОГО ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ.
PPPD (8) |