Volgograd

Волгоград Linux User Group

Организована 23 ноября 2002 года

Проект заморожен Птн Июл 6 02:11:14 MSD 2012


Вход:  Пароль:  

ГраблеВодство/articles/pppon


#!/bin/sh
# файл у меня называется ppp-on
#Данное произведение, было взято из пакета ppp-extra, позор всем кто не 
#пробовал apt-cache search ppp.

# Ну тут вроде все понятно?
LOCAL_IP=0.0.0.0 # Local IP address if known. Dynamic = 0.0.0.0
REMOTE_IP=0.0.0.0 # Remote IP address if desired. Normally 0.0.0.0
NETMASK=255.255.255.0 # The proper netmask if needed

# Это скрипт для дозвона
DIALER_SCRIPT=/etc/ppp/redialer
# А вот собственно и он, все чего вам от жизни надо было
exec /usr/sbin/pppd debug lock modem mru 552 mtu 552 crtscts /dev/ttyLT0 115200 asyncmap 20A0000 escape FF kdebug 0 $LOCAL_IP:$REMOTE_IP noipdefault netmask $NETMASK defaultroute connect $DIALER_SCRIPT

# поехали разбирать

# debug
# Увеличить уровень отладки (то же что -d). Если эта опция есть, pppd
# бедет записывать в журнал все прибывшие и отправленные пакеты в читабельной
# форме. Пакеты регистрируются в лог-файлах через syslog со средством daemon
# и уровнем отладки. По default'у это выкидывается в 
#/var/log/daemons/{info,warnings,errors}

#lock
# Указывает, что pppd должен использовать lock в стиле UUCP на 
# последовательное устройство, чтобы исключить одновременый доступ к 
# устройству

#modem
# Использовать линии управления модемом. На Ultrix эта опция означает
# управление потоком данных, как опция crtscts. (Эта опция не полностью
# выполняется)

#mru <n>
# Установаить значение MRU [Maximum Receive Unit] в <n> при договренности.
# pppd запросит удаленную сторону отправлять пакеты не более, чем по <n> байт.
# Минимальное значение MRU 128. Значение MRU по умолчанию 1500. Для 
# медленных линков рекомендуется 296 (40 байт для заголовка TCP/IP + 256 байт
# данных).

#mtu <n> # Установть значение MTU [Maximum Transmit Unit] в <n>. Пока другая сторона
# на попросит меньшее значение при договоре о MRU, pppd будет требовать у
# сетевого кода ядра отправлять пакеты данных не более, чем по n байт
# через сетевой интерфейс PPP.

#crtscts
# Использовать аппаратное управление потоком данных (напр., RTS/CTS), чтобы
# управлять потоком данных на последовательном порту

#/dev/ttyLT0
# Ну это мой модем и есть.
# ln -ls /dev/modem->/dev/ttyLT0

# 115200
# Максимальная скорость.

#asyncmap 0
# async карта символов — 32-bit hex; каждый бит – символ, который надо
# представить в виде escape-последовательности, чтобы pppd мог его принять.
# 0x00000001 – это маска для '\x01', а 0x80000000 – маска для '\x1f'.

#escape 11,13,ff
# Определяет, что некоторые символы должны быть за'escape'лены при передаче
# (Независимо от того, просила ли удаленная сторона их escape'ить своей
# async картой управляющих символов). Символы, которые надо escape'ить
# указываются в виде списка шестнадцатиричных чисел, разделенных запятыми.
# Заметьте, что для опции escape могут быть указаны почти все символы, в 
# отличие от опции asyncmap, которая позволяет указывать только управляющие
# символы. Символы, которых нельзя escape'ить – это 0x20 – 0x3f или 0x5e.

#$LOCAL_IP:$REMOTE_IP
# Всем все понятно.

#noipdefault
# Запретить поведение по умолчанию, когда не указан локальный IP адрес,
# которое определяет (если возможно) локальный IP адрес по имени хоста
# С этой опцией удаленная сторона должна будет обеспечить локальный IP
# адрес в течение IPCP преговоров (если она не определена явно в командной
# строке или в файле options).

# Примечание две предидущие команды вроде не на что не влияют в нашем случаи.

#netmask
# Всем все понятно.

# defaultroute
# Добавить маршрут по умолчанию в системную таблицу маршрутизации,
# используя удаленную сторону как шлюз, когда договоренность IPCP успешно
# достигнута. Эта запись удаляется при завершении связи

# connect <команда>
# Использовать указанную команду или программу для настройки линии. Этот
# обычно использует программу “chat”, чтобы позвонить модемом и запустить
# удаленную ppp сессию.