PPP HOWTO: Настройка файлов PPP соединения
Next Previous Contents12. Настройка файлов PPP соединения
Вы теперь должны зарегистрироваться как root, чтобы создать каталоги и отредактировать файлы, необходимые для установки PPP, даже если вы хотите, чтобы PPP был доступен для всех пользователей.
PPP использует ряд файлов для соединения и установки PPP соединения.
Они отличаются по имени и расположению между версиями PPP 2.1.2 и 2.2.
Для PPP 2.1.2 файлы:
______________________________________________________________________ /usr/sbin/pppd # the PPP binary /usr/sbin/ppp-on # the dialer/connection script /usr/sbin/ppp-off # the disconnection script /etc/ppp/options # the options pppd uses for all connections /etc/ppp/options.ttyXX # the options specific to a connection on this port ______________________________________________________________________
Для PPP 2.2 файлы:
______________________________________________________________________ /usr/sbin/pppd # the PPP binary /etc/ppp/scripts/ppp-on # the dialer/connection script /etc/ppp/scripts/ppp-on-dialer # part 1 of the dialer script /etc/ppp/scripts/ppp-off # the actual chat script itself /etc/ppp/options # the options pppd uses for all connections /etc/ppp/options.ttyXX # the options specific to a connection on this port ______________________________________________________________________Пользователи Red Hat Linux должны обратить внимание на то, что во время стандартной установки Red Hat 4.X эти скрипты находятся в /usr/doc/ppp-2.2.0f-2/scripts.
В вашем каталоге /etc должен быть каталог ppp:
drwxrwxr-x 2 root root 1024 Oct 9 11:01 pppЕсли он не существует - создайте его с этими правами владения и доступа.
Если каталог уже существовал, он должен содержать шаблон файла options, называемый options.tpl. Этот файл включен ниже на тот случай, если у вас его нет.
Напечатайте его, поскольку он содержит объяснение почти всех PPP опций (их полезно читать вместе с man pppd). Хотя вы можете использовать этот файл как ваш базовый файл /etc/ppp/options, вероятно лучше создать ваш собственный файл options, который не будет включать комментарии из шаблона, тогда он будет намного короче и более легок для чтения/сопровождения.
Если вы имеете несколько последовательных линий/модемов (обычный случай для PPP сервера), создайте общий файл /etc/ppp/options, содержащий опции, которые являются общими для всех последовательных портов, на которых вы осуществляете входящие/исходящие звонки и создайте индивидуальные файлы options для каждой последовательной линии, на которой вы будете устанавливать PPP соединение с индивидуальными установками, требуемыми для каждого порта.
Эти файлы со специфическими для портов опциями именуются options.ttyx1, options.ttyx2 и т.д (где x - соответствующий символ для ваших последовательных портов).
Однако, для одиночного PPP соединения, вы можете вполне спокойно использовать файл /etc/ppp/options. В качестве альтернативы вы можете поместить все опции как параметры непосредственно в команде pppd.
Проще сопровождать настройку, которая использует файлы /etc/ppp/options.ttySx. Если вы используете PPP, чтобы соединяться с рядом различных мест, то вы можете создать файлы options для каждого места в "/etc/ppp/options.место" и затем определять файл опций как параметр для команды PPP при соединении (используя опцию pppd "file option-file" в командной строке).
12.1 Файл options.tpl
Некоторые дистрибутивы PPP, кажется, потеряли файл options.tpl, так что вот полный файл. Я предлагаю вам не редактировать этот файл, а создать ваш(и) файл(ы) /etc/ppp/options. Достаточно скопировать его в новый файл и затем отредактировать. Если вы запутались в ваших иправлениях, то вы можете затем вернуться к оригиналу и начать снова.
______________________________________________________________________ # /etc/ppp/options -*- sh -*- общие опции для pppd # создано 13-Jul-1995 jmk # автоматически проставленная дата: 01-Aug-1995 # автоматически проставленное время: 19:45 # Использовать указанную команду или программу для настройки линии. Этот # обычно использует программу "chat", чтобы позвонить модемом и запустить # удаленную ppp сессию. #connect "echo Вам нужно установить команду connect." # Запустить указанную команду или программу, когда pppd завершил связь. # Этот скрипт мог бы, к примеру, ввести команды в модем, чтобы завершить # связь, если сигналы аппартного управления модемом недоступны #disconnect "chat -- \d+++\d\c OK ath0 OK" # async карта символов -- 32-bit hex; каждый бит - символ, который надо # представить в виде escape-последовательности, чтобы pppd мог его принять. # 0x00000001 - это маска для '\x01', а 0x80000000 - маска для '\x1f'. #asyncmap 0 # Требование для удаленной стороны назвать себя перед тем как начнется обмен # пакетами. #auth # Использовать аппаратное управление потоком данных (напр., RTS/CTS), чтобы # управлять потоком данных на последовательном порту #crtscts # Использовать программное управление потоком данных (напр., XON/XOFF), чтобы # управлять потоком данных на последовательном порту #xonxoff # Добавить маршрут по умолчанию в системную таблицу маршрутизации, # используя удаленную сторону как шлюз, когда договоренность IPCP успешно # достигнута. Эта запись удаляется при завершении связи #defaultroute # Определяет, что некоторые символы должны быть за'escape'лены при передаче # (Независимо от того, просила ли удаленная сторона их escape'ить своей # async картой управляющих символов). Символы, которые надо escape'ить # указываются в виде списка шестнадцатиричных чисел, разделенных запятыми. # Заметьте, что для опции escape могут быть указаны почти все символы, в # отличие от опции asyncmap, которая позволяет указывать только управляющие # символы. Символы, которых нельзя escape'ить - это 0x20 - 0x3f или 0x5e. #escape 11,13,ff # не использовать линии управления модемом. #local # Указывает, что pppd должен использовать lock в стиле UUCP на # последовательное устройство, чтобы исключить одновременый доступ к # устройству #lock # Использовать линии управления модемом. На Ultrix эта опция означает # управление потоком данных, как опция crtscts. (Эта опция не полностью # выполняется) #modem # Установаить значение MRU [Maximum Receive Unit] в <n> при договренности. # pppd запросит удаленную сторону отправлять пакеты не более, чем по <n> байт. # Минимальное значение MRU 128. Значение MRU по умолчанию 1500. Для # медленных линков рекомендуется 296 (40 байт для заголовка TCP/IP + 256 байт # данных). #mru 542 # Установить сетевую маску интерфейса в <n>, 32-битная сетевая маска в # "десятично-точечной" нотации (напр., 255.255.255.0). #netmask 255.255.255.0 # Запретить поведение по умолчанию, когда не указан локальный IP адрес, # которое определяет (если возможно) локальный IP адрес по имени хоста # С этой опцией удаленная сторона должна будет обеспечить локальный IP # адрес в течение IPCP преговоров (если она не определена явно в командной # строке или в файле options). #noipdefault # Разрешить опцию "passive" в LCP. С этой опцией pppd будет пытаться # инициировать соединение; если ответ от другой стороны не принят, то # pppd будет пассивно ожидать правильный LCP пакет от другой стороны # (вместо выхода, как делается без этой опции). #passive # С этой опцией pppd не будет передавать LCP пакеты для инициации соединения # пока не придет правильный LCP пакет от другой стороны (как опция "passive" # в старых версиях pppd). #silent # Не требовать или не разрешать договариваться о любых опциях LCP и IPCP # (использовать значения по умолчанию). #-all # Запретить договариваться о сжатии адреса/управления (используется # по умолчанию, т.е. адресные/управляющие поля запрещены). #-ac # Запретить договариваться о asyncmap (используется asyncmap по умолчанию, т.е. # escape все управляющие символы). #-am # Не переходить в фоновый режим (иначе pppd бдет делать так, если # последовательной устройство указано). #-detach # Запретить договариваться о IP адресе (С этой опцией удаленный IP # адрес должен указываться опцией командной строки или в файле options) #-ip # Запретить договариваться о магических числах. С этой опцией pppd не может # определить looped-back линию. #-mn # Запретить договариваться о MRU [Maximum Receive Unit] # (используется по умолчанию, т.е. 1500). #-mru # Запретить договариваться о сжатии полей протокола (используется по # умолчанию, т.е. сжатие полей протокола запрещено). #-pc # Требует, чтобы другая сторона назвала себя используя PAP. # Это требует ДВУНАПРАВЛЕННОЙ аутентификации - НЕ используйте эту # опцию для стандартной аутентификации PAP на ISP, так как при этом требуется, # чтобы машина ISP аутентифицировала себя на вашей машине (а она это не сможет # сделать) #+pap # Не соглашаться с аутентификацией PAP. #-pap # Требует, чтобы другая сторона назвала себя используя CHAP [Cryptographic # Handshake Authentication Protocol]. # Это требует ДВУНАПРАВЛЕННОЙ аутентификации - НЕ используйте эту опцию # для стандартной аутентификации CHAP на ISP, так как при этом требуется, # чтобы машина ISP аутентифицировала себя на вашей машине (а она это не сможет # сделать) #+chap # Не соглашаться с аутентификацией CHAP. #-chap # Запретить обсуждение сжатия IP заголовков в стиле Van Jacobson # (используется по умолчанию, т.е. сжатия нет) #-vj # Увеличить уровень отладки (то же что -d). Если эта опция есть, pppd # бедет записывать в журнал все прибывшие и отправленные пакеты в читабельной # форме. Пакеты регистрируются в лог-файлах через syslog со средством daemon # и уровнем отладки. Эта информация может быть перенаправлена в файл # соответствующей установкой /etc/syslog.conf (см. syslog.conf(5)). (Если # pppd скомпилирован с разрешенной extra отладкой, он будет записывать # сообщения в журнал, используя средство local2 вместо daemon). #debug # Добавить имя домена <d> к локальному имени хоста для целей аутентификации. # Например, если gethostname() возвращает имя porsche, но FQDN - # porsche.Quotron.COM, то вы должны установить эту опцию, чтобы имя домена # было Quotron.COM. #domain <d> # Разрешить отладочный код в PPP драйвере на уровне ядра. Аргумент n # это число-комбинация следующих значений: 1 - разрешить общие отладочные # сообщения, 2 - запросить, надо ли печатать содержимое принимаемых пакетов # и 4 - запросить, надо ли печатать содержимое отправляемых пакетов #kdebug n # Установть значение MTU [Maximum Transmit Unit] в <n>. Пока другая сторона # на попросит меньшее значение при договоре о MRU, pppd будет требовать у # сетевого кода ядра отправлять пакеты данных не более, чем по n байт # через сетевой интерфейс PPP. #mtu <n> # Установить имя локальной системы для аутентификационных целей в <n>. # Возможно, ее надо будет установить в ваше имя на вашем ISP, # если используется PAP/CHAP. #name <n> # Установить имя пользователя для аутентификации этой машины на другой стороне # используя PAP, в значение <u>. # НЕ использовать, если вы использовали опцию 'name'! #user <u> # Заставить использовать имя хоста как имя локальной системы для # аутентификационных целей (перекрывает опцию name). #usehostname # Установить имя удаленной системы для аутентификационных целей в <n>. #remotename <n> # Добавить запись для этой системы в таблицу ARP [Address Resolution Protocol] # с IP адресом удаленной системы и Ethernet адресом этой системы #proxyarp # Использовать базу данных паролей для идентификации удаленной стороны # используя PAP. #login # Если эта опция назначена, pppd будет отправлять кадр LCP echo-request # удаленной стороне каждые n секунд. Под Linux, echo-request отправляется # когда пакеты не принимаются от удаленной стороны n секунд. Обычно # удаленная сторона должна отвечать на echo-request отправкой echo-reply. # Эта опция может быть использована с опцией lcp-echo-failure для # определения что удаленная сторона больше не соединена. #lcp-echo-interval <n> # Если эта опция задана, pppd будет считать, что связи с peer нет, если n # LCP echo-requests отправлены без приема правильных LCP echo-reply. # Если это случилось, pppd завершит связь. Использование этой опции # требует ненулевого значения для параметра lcp-echo-interval. # Эта опция может быть использована, чтобы разрешить pppd завершать связь, # если физическое соединение отсутствует (напр, модем бросил трубку) в # ситуациях, когда доступны линии управления модемом. #lcp-echo-failure <n> # Установить интервал рестарта LCP (пауза возобновления передачи) в <n> секунд # (по умолчанию 3). #lcp-restart <n> # Установить максимальное число передач LCP terminate-request в <n> # (по умолчанию 3). #lcp-max-terminate <n> # Установить максимальное число передач LCP configure-request в <n> # (по умолчанию 10). # Некоторые PPP сервера долго стартуют. Вам может понадобиться увеличть эту # величину, если вы получаете ошибки 'serial line looped back' и вы УВЕРЕНЫ, # что корректно регистрируетесь и PPP должен запускаться на сервере. #lcp-max-configure <n> # Установить максимальное число LCP configure-NAKs, возвращенных перед началом # отправки вместо configure-Rejects, в <n> (по умолчанию 10). #lcp-max-failure <n> # Установить интервал рестарта IPCP (пауза возобновления передачи) в <n> # секунд (по умолчанию 3). #ipcp-restart <n> # Установить максимальное число передач IPCP terminate-request в <n> # (по умолчанию 3). #ipcp-max-terminate <n> # Установить максимальное число передач IPCP configure-request в <n> # (по умолчанию 10). #ipcp-max-configure <n> # Установить максимальное число IPCP configure-NAKs, возвращенных перед началом # отправки вместо configure-Rejects, в <n> (по умолчанию 10). #ipcp-max-failure <n> # Установить интервал рестарта PAP (пауза возобновления передачи) в <n> секунд # (по умолчанию 3). #pap-restart <n> # Установить максимальное число передач PAP authenticate-request в # <n> (по умолчанию 10). #pap-max-authreq <n> # Установить интервал рестарта CHAP (пауза возобновления передач # challenges) в <n> секунд (по умолчанию 3). #chap-restart <n> # Установить максимальное число передач CHAP challenge в <n> # (по умолчанию 10). #chap-max-challenge # С этой опцией pppd будет re-challenge удаленную сторону каждые <n> # секунд. #chap-interval <n> # С этой опцией pppd будет принимать предложение peer о нашем локальном IP # адресе, даже если локальный IP адрес был указан в опциях. #ipcp-accept-local # С этой опцией pppd будет принимать предложение peer о его (удаленном) IP # адресе, даже если удаленный IP адрес был указан в опциях. #ipcp-accept-remote ______________________________________________________________________
12.2 Какие опции я должен использовать? (PAP/CHAP нет)
Ну, как и во всех вещах, это зависит от многого (вздох). Опции, определенные здесь должны работать с большинством серверов.
Однако, если они не работает, ЧИТАЙТЕ ФАЙЛ-ШАБЛОН (/etc/ppp/options.tpl) и man pppd, и поговорите со службой поддержки сервера, к которому вы подсоединяетесь.
Вы должны также обратить внимание, что скрипты соединения, представленные здесь также используют некоторые опции командной строки для pppd, что позволяет более просто вносить изменения
______________________________________________________________________ # /etc/ppp/options (NO PAP/CHAP) # # Чтобы pppd не уходил в фоновый режим -detach # # использовать линии управления модемом modem # использовать залочку портов в стиле uucp, чтобы одновременно несколько # последовательных устройств не обращались к одному порту lock # использовать аппаратное управление потоком данных crtscts # сделать это соединение маршрутом по умолчанию в таблице маршрутизации defaultroute # НИЧЕГО не "escape-ить" asyncmap 0 # использовать максмальный размер передаваемого пакета в 552 байт mtu 552 # использовать максмальный размер принимаемого пакета в 552 байт mru 552 # #-------END OF SAMPLE /etc/ppp/options (no PAP/CHAP) ______________________________________________________________________
Next Previous Contents