Европейский Университет в Санкт-Петербурге
Опубликован: 19.10.2005 | Доступ: свободный | Студентов: 1764 / 170 | Оценка: 4.31 / 3.82 | Длительность: 18:28:00
Лекция 6:

Удаленный доступ по коммутируемым каналам связи. Протоколирование работы системы

< Лекция 5 || Лекция 6: 1234 || Лекция 7 >

Настройка клиента удаленного доступа

При настройке клиента удаленного доступа нужно добавить несколько строк в файл параметров, чтобы заставить pppd посылать удаленному серверу провайдера имя и пароль по запросу.

Если мы звоним на сервер удаленного доступа , организованный по типу 1, то options может, например, выглядеть так:

/dev/cuaa0
57600
crtscts
modem
debug
defaultroute
passive
-detach
lock
connect "chat -f /etc/ppp/chat.x"

Файл /etc/ppp/chat.x при этом может быть, например, таким:

'' ATDT3200000 CONNECT \r name:-BREAK-name: pppfil 
	ssword: e.67FGq1

Здесь в скрипте соединения указан номер телефона (3258752), по которому мы дозваниваемся. Это - телефон провайдера или сервера удаленного доступа в нашей организации (можно использовать PPP -соединения как для подключения к Интернету, так и для соединения двух площадок одной компании между собой). Помните, что команда ATDT означает тоновый набор, для набора в импульсном режиме, который обычно используется на городских АТС в России, следует применить команду ATDP. В данном примере предполагается, что имя пользователя для соединения с удаленным сервером - pppfil, а пароль (незашифрованный) - e.67FGq1.

Если сервер, на который мы звоним, организован по типу 2, то файл options выглядит примерно так:

/dev/cuaa0
57600
crtscts
modem
debug
defaultroute
passive
-detach
lock
user myname

Поскольку здесь мы явным образом указываем имя пользователя, которое следует использовать для аутентификации на удаленном сервере, в файле /etc/ppp/pap-secrets на нашем компьютере (который звонит удаленному серверу ) должна быть строка

myname * mypassword *

Если соединение с удаленной системой должно быть постоянным (например, нам нужно постоянное соединение с провайдером по модему ), можно написать простой скрипт, который будет запускать pppd снова, если он почему-то завершится:

#!/bin/sh
while sleep 3
do
/usr/sbin/pppd 
done

"Засыпание" на три секунды нужно на всякий случай. Чтобы дать проблеме, из-за которой завершился pppd, время на то, чтобы самоустраниться. Цикл бесконечный, прервать его можно только посылкой сигнала KILL. Такой цикл удобно оформить в виде скрипта, запускающегося при старте системы.

Вместо такого "вечного" цикла можно воспользоваться параметром demand. Он запускает дозвонку pppd в случае прихода пакета, который нужно отправить по dial-up каналу.

Кроме того, надо помнить о возможности запускать pppd из файла /etc/inittab, указав тип запуска respawn (запустить заново в случае завершения). Следует выбрать только один из рассмотренных способов поддержания постоянного соединения с помощью pppd - одновременно их использовать не рекомендуется во избежание путаницы и запуска "лишних" копий программы.

< Лекция 5 || Лекция 6: 1234 || Лекция 7 >