Ключевая строка сценария, разумеется, та, что содержит вызов pppd. Демон запускается с рядом параметров, но одного параметра здесь не хватает, а именно имени устройства терминала. Во всех предшествующих примерах это имя присутствовало в строке команды pppd. Если имя отсутствует, как в этом случае, pppd использует в качестве такого устройства управляющий терминал и не переходит в фоновый режим работы. Именно это нам нужно. Мы желаем воспользоваться тем устройством, которое было связано с командой login, когда она вызвала сценарий ppplogin.
Параметр командной строки auth предписывает pppd выполнять аутентификацию удаленной системы, что, разумеется, требует присутствия записи для этой системы в файле chap-secrets или pap-secrets. Параметр crtscts включаот аппаратный контроль передачи, а параметр modem предписывает РРР отслеживать состояние индикатора DCD модема, чтобы вовремя обнаружить разрыв связи удаленной системой. Все эти параметры мы уже встречали ра- нее . Но один из параметров, passive, нам не знаком. Параметр passive предписывает локальной системе ожидать корректного LCP-пакета от удаленной системы, даже если удаленная система никак не отреагировала на первый пакет. В обычной ситуации локальная система разрывает соединение, не получив своевременного ответа. Данный параметр дает удаленной системе время на инициализацию собственного демона РРР.
Наконец, есть еще один вариант запуска сервера РРР - разрешить пользователям запускать сервер из приглашения интерпретатора команд. С этой целью демон pppd должен выполняться с полномочиями пользователя root (по умолчанию не так). В таком случае пользователь, вошедший в систему по стандартной учетной записи, может выполнить команду:
|
которая запустит демон РРР. Если параметр auth существует в файле /etc/ ррр/options, то pppd выполняет аутентификацию удаленного клиента посредством CHAP или РАР. Когда подлинность,клиента установлена, демон создает представительскую ARP-запись для клиента в таблице ARP сервера, что позволяет другим системам локальной сети видеть клиента в качестве равноправного узла.
Из этих трех подходов я предпочитаю создание сценария, вызываемого программой login в качестве интерпретатора команд пользователя. Это избавляет от необходимости давать pppd полномочия суперпользователя и возлагать запуск сервера на пользователя. При этом доступна вся мощь команды pppd и все возможности программирования на языке интерпретатора команд.
- << Назад
- Вперёд