Настройка клиента удаленного доступа
При настройке клиента удаленного доступа нужно добавить несколько строк в файл параметров, чтобы заставить 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 - одновременно их использовать не рекомендуется во избежание путаницы и запуска "лишних" копий программы.