PPPD

PPPD

Вам нужен сам pppd (Point to Point Protocol Daemon) и понимание, как он работает. Если необходимо, прочитайте RFC или Linux PPP HOWTO. Вы не используете процедуру входа, не используете (m)getty и вам не нужна (липовая) аутентификация, вам не нужны никакие чат-скрипты. На самом деле, из-за того, что модемы тоже настроены, вам нужно настроить pppd на работу с нуль-модемным кабелем.

Для надежной связи, вам нужно использовать следующие критерии:

  • Сразу после загрузки системы pppd должен поднять DTR и дождаться DCD (поднимется соединение).

  • Если удаленная система не отвечает, pppd должен дождаться ответа.

  • Если соединение разрывается, pppd должен сбросить модем (сбросить и поднять DTR) и попытаться снова поднять связь.

  • Если качество связи ухудшается, pppd должен сбросить модем и снова поднять связь.

  • Должен существовать процесс, контролирующий pppd. В случае чего, он должен перезапустить pppd.

Настройка

Допустим модем подключен к COM2. Локальный IP адрес - `Local_IP'. Удаленный IP адрес - `Remote_IP'. Значение MTU - 576. В этом случае, /etc/ppp/options.ttyS1 должен выглядеть примерно так:

crtscts
mru 576
mtu 576
passive
Loc_Ip:Rem_Ip
-chap
modem
#noauth
-pap
persist

Подразумевается, что `asyncmap 0', `lock', `modem' и `-detach' уже находятся в /etc/ppp/options. Если нет, добавьте их в /etc/ppp/options.ttyS1. Итак, если IP адрес вашей системы - 192.168.1.1, а удаленной - 10.1.1.1, то /etc/ppp/options.ttyS1 должен быть таким:

crtscts
mru 576
mtu 576
passive
192.168.1.1:10.1.1.1
-chap
modem
#noauth
-pap
persist

Файл options.ttyS1 на удаленной системе:

crtscts
mru 576
mtu 576
passive
10.1.1.1:192.168.1.1
-chap
modem
#noauth
-pap
persist

Опция passive ограничивает количество попыток соединения. Опция persist заставляет pppd работать в случае разрыва или невозможности соединения. Если вы используете telnet при большом файловом обмене (FTP или HTTP), вы можете использовать меньший MTU и MRU (например 296), т.к. в этом случае удаленная система будет отвечать быстрее. Если вы используете линию для перекачки больших файлов, вы можете установить MTU и MRU равными 1500. Только учтите, что UDP не делится на фрагменты, т.е., для передачи UDP пакетов размером 512 байт, MTU должен быть равен 542 байтам. Опция noauth может быть использована в новых версиях pppd.

Скрипты

Установка маршрутизации

Основной маршрут может быть включен опцией defaultroute или с помощью скрипта /etc/ppp/ip-up:

#!/bin/bash
case $2 in
     /dev/ttyS1)
          /sbin/route add -net 0.0.0.0 gw Rem_Ip netmask 0.0.0.0
          ;;
esac

Ip-up можно также использовать для синхронизации времени (netdate).

Конечно, маршрут, устанавливаемый в ip-up, может быть не основным. Возможен вариант, когда ваш ip-up устанавливает маршрутизацию на удаленную сеть, а удаленная система устанавливает маршрутизацию на вашу сеть. Если у вас сеть 192.168.1.0, а интерфейс для ppp - 192.168.1.1, ip-up на удаленной машине должен выглядеть примерно так:

#!/bin/bash
case $2 in
   /dev/ttyS1)
      /sbin/route add -net 192.168.1.0 gw 192.168.1.1 netmask 255.255.255.0
      ;;
esac

('case $2' и `/dev/ttyS1)' необходимо, если у вас несколько ppp-каналов. Ip-up будет запускаться каждый раз, но исполняться будет только кусок между `/dev/ttySx)' и `;;', устанавливая маршрутизацию для данного ttyS. Подробнее о маршрутизации читайте в соответствующем разделе NET3-4-HOWTO.



Наш баннер
Вы можете установить наш баннер на своем сайте или блоге, скопировав этот код:
RSS новости