|
18.01.1999, | |
|
Удобный параметр call
| |
|
Естественно, круг тех, кому можно позвонить, не ограничивается одними лишь провайдерами. Я, например, иногда использую pppd для связи с удаленными офисами. Например, для связи с офисом в Химках я использую примерно такую команду:
Здесь мы видим два новых параметра ipcp-accept-local и ipcp-accept-remote. Дело в том, что я звоню через порт cuaa1, а для этого порта в /etc/ppp/options.cuaa1 для входящих звонков записаны адреса 192.168.1.1:192.168.1.200 и они не совпадают с теми, которые нам выдаст удаленная сторона в Химках, предположим, что они будут 192.168.10.200:192.168.10.1. Поэтому наша сторона будет считать, что данному соединению присвоены адреса 192.168.1.1:192.168.1.200, а удаленная - 192.168.10.200:192.168.10.1. В результате, хотя соединение состоится, мы не сможем ничего передать. Параметры ipcp-accept-local и ipcp-accept-remote заставляют pppd принять адреса, которые предлагает удаленная сторона. В Химках стоит mgetty и аутентифкация выполняется через PAP. Поскольку телефонный номер один, то нам не понадобится наш скрипт и весь диалог chat мы разместили в параметрах pppd. Конечно, можно вспотеть, каждый раз набирая эту строку, поэтому ее можно записать в какой-нибудь файл и вызывать его как шелл-скрипт, но pppd предлагает другой, более удобный способ. Для этого в каталоге /etc/ppp/peers/ создадим файл khimki и запишем в него следующее:
По сути, мы записали туда все наши параметры pppd.
Заметьте, что при этом мы pppd call khimki Параметр call указывает pppd прочитать параметры из заданного файла в каталоге /etc/ppp/peers, в данном случае, это файл khimki. У этого способа есть еще одно существенное преимущество перед обычным шелл-скриптом. Дело в том, что существуют несколько параметров pppd, менять которые из командной строки может только root. Например, если в /etc/ppp/options.cuaa1 есть параметр auth, то указать параметр noauth в командной строке может только root. Но как же быть, если обычному пользователю нужно установить соединение с хостом, который не хочет себя аутентифицировать ? Для этого нужно создать файл в каталоге /etc/ppp/peers с нужными нам параметрами, в том числе noauth, и вызывать pppd с параметром call.
Естественно, вместе с параметром call можно добавить
еще параметры.
Допустим, мне нужно, что бы pppd автоматически пытался
восстановить соединение в случае его обрыва, подождав одну секунду.
Для этого я добавлю параметры persist и
pppd call khimki persist holdoff 1
|