SSTP клиент
sstpc устанавливает клиентскую сторону виртуальной частной сети (VPN) с использованием протокола туннелирования защищенных сокетов (SSTP). Используйте эту программу для подключения к VPN на базе SSTP работодателя, когда PPTP и L2TP не работают.
function sstp { sudo sstpc \ --save-server-route \ --cert-warn \ --tls-ext \ --log-stderr \ --log-level 4 \ --user "$1" --password "$2" "$3" \ usepeerdns \ require-mschap-v2 \ noauth \ noipdefault \ noccp \ refuse-eap \ refuse-pap \ refuse-mschap #defaultroute } $ sstp login password host-name
Все ниже следующие аргументы командной строки, которые не начинаются с «-», интерпретируются как параметры ppp и передаются в pppd как есть, если только не указан аргумент –nolaunchpppd.
- –ca-cert Укажите сертификат CA, используемый для проверки сервера.
- –ca-dir Укажите каталог сертификатов, содержащий сертификат CA. Если ничего не указано, используется системный каталог.
- –cert-warn Игнорируйте предупреждения сертификата, такие как common name, вместо того, чтобы прерывать соединение.
- –host При подключении к IP-адресу параметр host предоставит имя хоста для http, proxy и tls-ext.
- –ipparam Это поможет указать сокет обратного вызова, который pppd попытается подключить обратно к sstpc , чтобы передать ключи MPPE, как согласовано. Ключи MPPE требуются для аутентификации на сервере на уровне SSL. Их можно обнулить, если MPPE не согласован. Имя формируется на основе /tmp/sstpc-<ipparam>.
- –nolaunchpppd Не запускать pppd, а использовать stdin в качестве сетевого соединения. Используйте этот флаг при включении sstpc в качестве процесса соединения pppd с помощью опции pty . См . Примеры .
- –password Укажите пароль для каждой командной строки вместо того, чтобы настраивать его в файле конфигурации pppd в /etc/ppp/peers.
- –proxy Подключитесь к серверу SSTP через прокси в вашей сети. Синтаксис: http://[<user>:<pass>@]<domain>:port.
- –priv-user Укажите пользователя с разделением привилегий для запуска sstpc
- –priv-group Укажите группу разделения привилегий для запуска sstpc
- –priv-dir Укажите каталог разделения привилегий для chroot-окружения для запуска sstpc
- –user Укажите имя пользователя для аутентификации на сервере SSTP вместо того, чтобы настраивать его в файле конфигурации для pppd в /etc/ppp/peers.
- –save-server-route Это автоматически добавит и удалит маршрут к серверу SSTP.
- –uuid Укажите UUID для соединения, чтобы упростить отладку на стороне сервера.
- –tls-ext Это включит расширение имени хоста TLS.
- –log-level<уровень> Установите уровень отладки для отладки процесса sstpc . Уровень может иметь значение от 0 до 4.
- –log-syslog Регистрировать сообщения в системном журнале (по умолчанию).
- –log-stderr Запись сообщений об ошибках в журнал
- –log-stdout Записывать сообщения в стандартный вывод
- –log-fileno Включайте файл и номер строки в сообщения журнала
- –log-filter Фильтровать журналы по определенному набору файлов, например: sstp-packet,sstp-state
- –log-ident Укажите идентификатор, который будет использоваться при записи журналов, например, в syslog.
Пример использования
$ sudo sstpc --cert-warn --tls-ext --user "login" --password "password" --log-stderr --log-level 4 "host.name" usepeerdns require-mschap-v2 noauth noipdefault noccp refuse-eap refuse-pap refuse-mschap defaultroute
pppd
PPP - это протокол, используемый для установки межсетевых соединений через модемы, DSL-соединения и многие другие типы каналов точка-точка. Демон pppd работает совместно с PPP-драйвером ядра для установки и поддержания канала PPP с другой системой (называемой партнёром) и согласования IP-адресов для каждого конца канала. pppd также может аутентифицировать партнёра и/или предоставлять аутентификационную информацию для партнёра. PPP может быть использован с другими сетевыми протоколами, отличными от IP, но такое применение становится всё более редким.
ЧАСТО ИСПОЛЬЗУЕМЫЕ ОПЦИИ
ttyname Использовать последовательный порт с именем ttyname для соединения с партнёром. Если ttyname не начинается с косой черты (/), для формирования имени открываемого устройства перед ttyname будет добавлена строка /dev/. Если имя устройства не задано, или если задано имя терминала, присоединённого к стандартному вводу, pppd будет использовать этот терминал, и не будет выполнять функцию fork для перехода в фоновый режим. Значение этой опции из привилегированного источника не может быть заменено непривилегированным пользователем.
speed Опция является десятичным числом, которое задаёт желаемую скорость последовательного устройства в бодах. На таких системах как 4.4BSD и NetBSD, может быть указана любая скорость. На других системах (например Linux, SunOS) поддерживаются только широко используемые скорости.
asyncmap map Опция задаёт асинхронную карту управляющих символов (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 name Прочитать дополнительные опции из файла /etc/ppp/peers/name. Этот файл может содержать привилегированные опции, такие как noauth, даже если pppd не был запущен пользователем root. Строка name не может начинаться с / или включать .. как компонент путевого имени. Формат файла опций описан ниже.
connect script Обычно здесь выполняется подготовка канала перед запуском протокола 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.
disconnect script После закрытия канала, pppd выполнит в оболочке команду, указанную в script. Эта команда может, например, передать модему команды, которые заставят его повесить трубку, если аппаратные сигналы управления модемом не доступны. Скрипт разъединения не будет запущен, если модем уже повесил трубку. Значение этой опции из привилегированного источника не может быть заменено непривилегированным пользователем.
escape xx,yy,… Указывает символы, которые должны быть заэкранированы при передаче (независимо от запросов партнёра об экранирования его асинхронной картой управляющих символов (ACCM)). Экранируемые символы указываются в списке как шестнадцатеричные числа, разделённые запятыми. Имейте в виду, что в опции escape может быть указан почти любой символ, в отличие от опции asyncmap, которая позволяет указывать только управляющие символы. Символы, которые не могут быть экранированы, имеют шестнадцатеричные значения 0×20 - 0x3f и 0x5e.
file name Прочитать опции из файла name (формат описан ниже). Файл должен быть доступен для чтения пользователем, который запустил pppd.
init script Для инициализации последовательной линии выполнить в оболочке команду, указанную в script. Этот сценарий обычно использует программу chat(8) для настройки модема на включение автоответа. Значение этой опции из привилегированного источника не может быть заменено непривилегированным пользователем.
lock Указывает, что pppd должен создать для последовательного устройства файл блокировки в стиле UUCP, чтобы быть уверенным в эксклюзивном доступе. По умолчанию pppd не создаёт файл блокировки.
mru n Устанавливает занчение MRU (Maximim Receive Unit - максимальной принимаемой единицы) в n. pppd попросит партнёра отправлять пакеты не более, чем n байт. Значение n должно быть между 128 и 16384; по умолчанию 1500. Значение 296 хорошо подходит для очень медленных каналов (40 байт для TCP/IP заголовка + 256 байт данных). Отметим, что для протокола IPv6 значение MRU должно быть по меньшей мере 1280.
mtu n Устанавливает занчение MTU (Maximim Transfer Unit - максимальной передаваемой единицы) в n. Однако если партнёр запрашивает меньшее значение при согласовании MRU, pppd запросит сетевой код ядра отправлять через сетевой интерфейс PPP пакеты данных не более чем n байт. Отметим, что для протокола IPv6 значение MTU должно быть по меньшей мере 1280.
passive Включает опцию passive в LCP. С этой опцией pppd будет пытаться начать соединение; если не был принят ответ от партнёра, pppd будет просто пассивно ждать от него правильный пакет LCP, вместо выхода, как это должно быть без этой опции.
ОПЦИИ
локальный_IP_адрес:удалённый_IP_адрес Задаёт локальный и/или удалённый IP-адреса интерфейса. Любой из них может быть опущен. IP-адрес может быть указан именем узла или в десятично-точечной нотации (например 150.234.56.78). По умолчанию локальный IP-адрес - это первый IP адрес системы (если не задана опция noipdefault). Удалённый адрес может быть получен от партнёра если не указан в какой-либо опции. Таким образом, в простейших случаях, эта опция не требуется. Если с помощью этой опции указан локальный и/или удалённый IP-адрес, pppd не примет другое значение от партнёра при согласовании IPCP, если соответственно не заданы опции ipcp-accept-local и/или ipcp-accept-remote.
ipv6 идентификатор_локального_интерфейса,идентификатор_удалённого_интерфейса Устанавливает локальный и/или удалённый 64-битный идентификаторы интерфейса. Любой из них может быть опущен. Идентификатор может быть указан в стандартной ASCII-нотации адресов IPv6 (например ::dead:beef). Если указана опция ipv6cp-use-ipaddr, локальный идентификатор - это локальный адрес IPv4 (см. выше). На системах, поддерживающих уникальные постоянные идентификаторы, для замены опции ipv6 локальный,удалённый может быть использована опция ipv6cp-use-persistent. В других случаях выбирается случайный идентификатор.
active-filter filter-expression Указывает фильтр пакетов, который будет применён к пакетам данных для определения того, какие пакеты будут считаться активностью канала, и следовательно сбросят таймер простоя, или вызовут переход канала в режим дозвона по требованию. Эта опция используется в сочетании с опцией idle, если на канале постоянно появляются пакеты для передачи или приёма (например, информационные пакеты о маршрутах), которые будут предотвращать простой канала. Синтаксис filter-expression описан в tcpdump(1). Не разрешаются классификаторы, не применимые к каналу PPP, такие как ether и arp. Чтобы пробелы в выражении-фильтре не были интерпретированы оболочкой, его нужно заключить в одинарные кавычки. В настоящее время эта опция доступна только в Linux, и требует чтобы ядро было собрано с поддержкой фильтрации PPP (CONFIG_PPP_FILTER). Отметим, что используя классификаторы inbound и outbound, можно применять различные ограничения на входящие и исходящие пакеты.
allow-ip address(es) Разрешает партнёрам использовать заданные IP-адрес или подсеть без взаимной аутентификации. Параметр обрабатывается таким же образом, как элементы списка разрешённых IP-адресов в файлах секретов (см. ниже раздел АУТЕНТИФИКАЦИЯ).
allow-number number Разрешает партнёрам соединяться с заданного телефонного номера. Конечный символ * будет совпадать со всеми номерами, начинающими с заданного числа.
bsdcomp nr,nt Просит, чтобы партнёр сжимал отправляемые пакеты, используя схему BSD-Compress, с максимальным размером кода в nr бит, и соглашается сжимать отправляемые партнёру пакеты с максимальным размером кода в nt бит. Если nt не указано, значение по умолчанию задаётся равным nr. Для nr и nt может использоваться значение в диапазоне от 9 до 15; бОльшие значения задают лучшее сжатие, но используют больше памяти ядра для размещения словарей сжатия. Значение 0 для nr или nt выключает сжатие в соответствующем направлении. Используйте nobsdcomp или bsdcomp 0 для полного отключения сжатия BSD-Compress.
cdtrcts Использовать нестандартное аппаратное управление потоком (то есть DTR/CTS) для управления потоком данных на последовательном порту. Если не задана ни одна из опций crtscts, nocrtscts, cdtrcts или nocdtrcts, то настройка аппаратного управления потоком последовательного порта остаётся неизменной. Некоторые последовательные порты (такие как последовательные порты Macintosh) не поддерживают настоящий вывод RTS. Такие последовательные порты используют этот режим для реализации настоящего двунаправленного управления потоком. Жертвой этого режима управления потоком является запрет использования DTS в качестве линии управления модемом.
chap-interval n Если задана эта опция, pppd будет перепроверять партнёра каждые n секунд.
chap-max-challenge n Задаёт максимальное количество передач CHAP-пакетов challenge. По умолчанию 10.
chap-restart 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, с максимальным размером окна 2nr байт, и соглашение сжимать отправляемые партнёру пакеты с максимальным размером окна 2nt байт. Если nt не указан, по умолчанию его значение задаёт nr. Для nr и nt могут быть использованы значения в диапазоне от 9 до 15; бОльшие значения задают лучшее сжатие, но используют больше памяти ядра для хранения словарей. Значение 0 для 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.Quotron.COM, Вы можете указать домен 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 исключить строку пароля из журнала при журналировании содержимого 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 Устанавливает максимальное количество передач IPCP-пакетов configure-request. По умолчанию 10.
ipcp-max-failure n Задаёт максимальное количество возвращаемых IPCP-пакетов configure-NAK, перед тем как начать отправку пакетов configure-Reject. По умолчанию 10.
ipcp-max-terminate n Устанавливает максимальное количество IPCP-пакетов terminate-request. По умолчанию 3.
ipcp-restart n Устанавливает интервал перезапуска IPCP (таймаут повторной передачи) в секундах. По умолчанию 3.
ipparam string Задает дополнительный параметр для сценариев ip-up, ip-pre-up и ip-down. Если задана эта опция, string будет передаваться в эти сценарии шестым параметром.
ipv6cp-max-configure n Задаёт максимальное количество IPv6CP-пакетов configure-request. По умолчанию 10.
ipv6cp-max-failure n Задаёт максимальное количество возвращаемых IPv6CP-пакетов configure-NAK, перед тем как начать отправку configure-Reject. По умолчанию 10.
ipv6cp-max-terminate n Устанавливает максимальное количество передач IPv6CP-пакетов terminate-request. По умолчанию 3.
ipv6cp-restart n Устанавливает интервал перезапуска IPv6CP (таймаут повторной передачи) в секундах. По умолчанию 3.
ipx Включает поддержку протоколов IPXCP и IPX. В настоящее время эта опция поддерживается только в Linux и только если ядро было собрано с поддержкой IPX.
ipx-network n Устанавливает в IPXCP-пакете configure-request номер сети IPX. Это шестнадцатеричное число (без начальных 0x). Нет подходящего значения по умолчанию. Если эта опция не указана, будет выбран номер сети предложенный партнёром. Если партнёр не имеет номера сети, протокол IPX не будет запущен.
ipx-node n:m Устанавливает номера узлов IPX. Эти два числа отделяются друг от друга двоеточием. Первое число n - это локальный номер узла. Второе число m - это номер узла партнёра. Каждый номер узла - это шестнадцатеричное число, длиной до 10 цифр. Номера узлов в IPX-сети должны быть уникальными. Нет правильных занчений по умолчанию. Если эта опция не указана, будут выбраны номера узлов предложенные партнёром.
ipx-router-name string Задаёт имя маршрутизатора. string будет оправлен партнёру как информационные данные.
ipx-routing n Устанавливает протокол маршрутизации, который будет принят этой опцией. Можно указать несколько опций ipx-routing с разными значениями, но если указано значение none (0), то опция может быть только одна. Значениями могут быть: 0 для NONE, 2 для RIP/SAP, и 4 для NLSP.
ipxcp-accept-local Принимает NAK партнёра для номера узла, указанного в опции ipx-node. Если номер узла был указан, и это не 0, по умолчанию pppd будет настаивать на использовании этого значения. Если Вы включили эту опцию, Вы разрешаете партнёру заменить запись номера узла.
ipxcp-accept-network Принимает NAK партнёра для номера сети указанного в опции ipx-network. Если номер сети был указан, и это не 0, по умолчанию pppd будет настаивать на использовании этого значения. Если Вы включили эту опцию, Вы разрешаете партнёру заменить запись номера сети.
ipxcp-accept-remote Использовать номер сети партнёра, указанный в кадре запроса конфигурации. Если номер узла был указан партнёром и эта опция не была указана, партнёр будет принудительно использовать то значение, которое было указано Вами.
ipxcp-max-configure 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 изменение необходимых настроек ядра. В Linux, если используется опция proxyarp, pppd включит продвижение IP-пакетов (то есть установит /proc/sys/net/ipv4/ip_forward в 1), и в режиме по требованию включит опцию динамического IP-адреса (то есть установит /proc/sys/net/ipv4/ip_dynaddr в 1), если локальный адрес динамический.
lcp-echo-failure n Если задана эта опция и на n отправленных LCP эхо-запросов не было принято правильных LCP эхо-ответов, то pppd предположит, что партнёр завис и закроет соединение. При использовании этой опции, в опции lcp-echo-interval должно быть указано ненулевое значение. Опция может использоваться для завершения pppd после физического разрыва соединения (например, если завис модем) в ситуациях, когда нет аппаратных линий управления модемом.
lcp-echo-interval n Если задана эта опция, pppd будет отправлять кадры LCP эхо-запроса партнёру каждые n секунд. Обычно партнёр должен ответить на эхо-запрос отправкой эхо-ответа. Эта опция может быть использована вместе с опцией lcp-echo-failure для обнаружения потери связи с партнёром.
lcp-max-configure n Задаёт максимальное количество передач LCP-пакетов configure-request. По умолчанию 10.
lcp-max-failure n Задаёт максимальное количество возвращаемых LCP-пакетов NAK, перед тем как начать отправлять configure-reject. По умолчанию 10.
lcp-max-terminate n Задаёт максимальное количество передач LCP-пакетов terminate-request. По умолчанию 10.
lcp-restart n Устанавливает интервал перезапуска LCP (таймаут повторной передачи). По умолчанию 3.
linkname name Устанавливает логическое имя канала. pppd создаст файл с именем ppp-name.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 filename Добавляет журнальные сообщения в файл filename (так же как отправляет журнальные сообщения на 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 использовать режим с поддержкой состояний. Но сначала pppd всё-же попытается использовать режим без поддержки состояний. По умолчанию режим поддержки состояний отвергается.
mpshortseq Включить использование коротких (12-бит) числовых последовательностей в заголовках многоканального режима, вместо 24-разрядных числовых последовательностей. Эта опция доступна только в Linux, и имеет эффект только если включен многоканальный режим (см. опцию multilink).
mrru n Установить MRRU (Maximum Reconstructed Receive Unit - Максимальную Реконструируемую Принимаемую Единицу) в n. MRRU - это максимальный размер принимаемых пакетов на многоканальной связке, он аналогичен MRU для отдельных каналов. Эта опция в настоящее время доступна только в Linux, и имеет какой-либо эффект только при включении многоканального режима (см. опцию multilink).
ms-dns addr Если pppd работает в качестве сервера для клиентов Microsoft Windows, эта опция позволяет pppd предоставлять клиентам один или два адреса DNS (серверов доменных имён). Первый экземпляр этой опции указывает адрес первичного DNS; второй экземпляр (если задан) указывает адрес вторичного DNS. (Эта опция в некоторых старых версиях pppd имела имя dns-addr.)
ms-wins addr Если pppd работает в качестве сервера для клиентов Microsoft Windows или Samba, эта опция позволяет предоставлять клиентам адреса одного или двух серверов WINS (Winows Internet Name Services). Первый экземпляр этой опции указывает адрес первичного WINS; второй экземпляр (если задан) указывает адрес вторичного WINS.
multilink Включает использование многоканального протокола PPP. Если партнёр также поддерживает многоканальный протокол, то этот канал может стать частью связки между локальной системой и партнёром. Если существует связка с партнёром, pppd объединит этот канал с этой связкой, иначе pppd создаст новую связку. См. ниже раздел МНОГОКАНАЛЬНЫЙ РЕЖИМ. Эта опция в настоящее время доступна только в Linux.
name name Использовать при аутентификации name в качестве имени локальной системы. Это привилегированная опция. При аутентификации pppd будет использовать секрет из той строки в файле секретов, у которой во втором поле указано имя name. Если имя, заданное этой опцией не было заменено с помощью опции user, то оно будет отправлено партнёру для аутентификации локальной системы. (Отметим, что pppd не дополняет name доменным именем).
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.
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 Устанавливает максимальное количество передач PAP authenticate-request. По умолчанию 10.
pap-restart n Устанавливает интервал перезапуска (таймаут для повторной передачи) PAP в секундах. По умолчанию 3.
pap-timeout n Устанавливает максимальное время, которое pppd будет ждать партнёра для собственной аутентификации с помощью PAP в секундах. 0 означает - неограниченно.
pass-filter filter-expression Указывает пакетный фильтр, определяющий каким отправляемым или принимаемым пакетам данных разрешено прохождение. Пакеты, отклоняемые этим фильтром будут отброшены без предупреждений. Эта опция может использоваться для предотвращения забивания ширины канала определёнными сетевыми демонами (такими как routed), или для самой базовой фильтрации пакетнов. Синтаксис filter-expression описывается в tcpdump(1). Не разрешается использование таких классификаторов, которые не подходят для канала PPP, например ether и arp. Обычно filter-expression нужно заключить в кавычки, чтобы предотвратить интерпретацию пробелов в выражении оболочкой. Применяя классификаторы inbound и outbound, можно задать различные ограничения для входящих и исходящих пакетов. Эта опция в настоящее время доступна только в Linux, и требует чтобы ядро было собрано с поддержкой фильтрации PPP (CONFIG_PPP_FILTER).
password password-string Указывает пароль, который будет использован для аутентификации у партнёра. Использование этой опции не поощряется, поскольку пароль будет виден другими пользователями системы (например, с помощью команды ps(1)).
persist Не завершаться сразу после разрыва соединения, а попытаться установить его заново. При этом учитывается опция maxfail.
plugin filename Загрузить объектный файл разделяемой библиотеки как плагин. Это привилегированная опция. Если filename не содержит косую черту /, pppd будет искать плагин в каталоге /usr/lib/pppd/version, где version - номер версии pppd (например, 2.4.2).
predictor1 Запросить у партнёра, чтобы он сжимал отправляемые кадры используя сжатие Predictor-1. Соглашаться сжимать передаваемые кадры с использованием Predictor-1, если это запрошено. Эта опция не имеет эффекта, если драйвер ядра не поддерживает сжатие Predictor-1.
privgroup group-name Разрешает членам группы group-name использовать привилегированные опции. Это привилегированная опция. При использовании этой опции нужно соблюдать осторожность, потому что нет гарантии, что члены группы group-name не смогут использовать pppd для получения привилегий пользователя root. Эквивалентным этому считается помещение членов группы group-name в группу kmem или disk.
proxyarp Добавляет в системную таблицу ARP [Address Resolution Protocol - Протокол Определения Адреса] запись содержащую IP-адрес партнера и Ethernet-адрес этой системы. Другие системы в локальной Ethernet-сети будут полагать, что партнер находится в одной с ними Ethernet-сети.
pty script Для связи использовать указанный командный сценарий, а не специализированное терминальное устройство. Pppd запросит для себя пседотерминальную пару ведущий/ведомый. В качестве терминально устройства будет использован ведомый псевдотерминал. В дочернем процессе запустится скрипт и откроет ведущий псевдотерминал как свой стандартный ввод и вывод. Нет возможности явно указать имя этого устройства. (Отметим: если совместно с данной опцией используется опция record, дочерний процесс откроет для стандартного ввода и вывода программные каналы.)
receive-all С этой опцией pppd будет принимать все управляющие символы от партнёра, включая отмеченные в принимаемой asyncmap. Без этой опции pppd будет отбрасывать эти символы как указано в RFC1662. Эта опция может понадобиться только если партнёр имеет ошибки в реализации.
record filename Указывает, что pppd должен записывать все принятые и отправленные символы в файл с именем filename. Этот файл открывается в режиме дозаписи, используя идентификатор пользователя и его разрешения. Эта опция использует псевдотерминал и обрабатывает символы передаваемые между псевдотерминалом и реальным последовательным устройством. Это увеличивает задержку и затраты CPU при передаче данных через интерфейс ppp. Символы сохраняются в теговом формате с отметками времени, который может быть отображён программой pppdump(8) в читаемой форме.
remotename name Устанавливает name как предполагаемое имя удалённой системы для целей аутентификации.
remotenumber number Устанавливает number как предполагаемый номер телефона удалённой системы для целей аутентификации.
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).
require-mschap-v2 Требовать от партнёра аутентифицировать себя используя аутентификацию MS-CHAPv2 (Microsoft Challenge Handshake Authentication Protocol, Version 2).
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 будет использовать опциональный облегчённый механизм rechallenge SRP с интервалом n секунд. Эта опция быстрее повторной аутентификации eap-interval, поскольку она использует механизм основанный на хэше и не создаёт новый сессионный ключ.
srp-pn-secret string Установка долгосрочного секрета для генерации псевдонима сервера. Значение опционально. Если значение задано, оно должно быть известно только серверной стороне (аутентификатору), и должно различаться для каждого сервера (или пула идентичных серверов). Этот секрет вместе с текущей датой и временем используется для генерации ключа шифрования/расшифровки псевдонима клиента.
srp-use-pseudonym При работе в качестве клиента EAP SRP-SHA1, попытаемся использовать для аутентификации сначала псевдоним хранящийся в ~/.ppp_pseudonym, и сохраним в этом файле псевдоним запрошенный партнёром во время аутентификации.
sync Использовать синхронное последовательное HDLC кодирование вместо асинхронного. При использовании этой опции задействованное устройство должно иметь поддержку синхронизации. В настоящее время поддерживаются адаптеры Microgate SyncLink в Linux и FreeBSD 2.2.8 и более поздних.
unit num Устанавливает номер интерфейса ppp для исходящих соединений. Например, опция unit 0 будет соответствовать интерфейсу ppp0.
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 name Задаёт имя name используемое локальной системой для аутентификации у партнёра.
vj-max-slots n Устанавливает максимальное количество слотов соединений используемых алгоритмом Вана Якобсона (Van Jacobson) для сжатия и разжатия кода заголовков TCP/IP. Значение параметра должно быть между 2 и 16 (включительно).
welcome script После завершения сценария соединения (если есть), но до начала согласования PPP, запустить исполняемый двоичный файл или команду оболочки указанную в script. Значение этой опции из привилегированного источника не может быть заменено непривилегированным пользователем.
xonxoff Использовать программное (то есть XON/XOFF) управление потоком данных на последовательном порту.
nano /etc/ppp/peers/sstp-test
remotename sstp-test linkname sstp-test ipparam sstp-test pty "sstpc --ipparam sstp-test --nolaunchpppd sstp-test.yourdomain.com" name eivnaes plugin sstp-pppd-plugin.so sstp-sock /var/run/sstpc/sstpc-sstp-test usepeerdns require-mppe require-mschap-v2 refuse-eap refuse-pap refuse-chap refuse-mschap nobsdcomp nodeflate