LINUX.ORG.RU

1. Читай handbook там все есть. 2. /usr/share/examples/ppp там есть реальные скрипты, осталось немного подправить

anonymous
()

#!/usr/bin/perl -w
# The multippp.pl file.
# Copyright (C) 2002 Josephson ;)
# Command line:
# multippp.pl phone

BEGIN{
    use strict;}

die('Command line argument not found')unless$ARGV[0];
my @Servers;
my $Phone=$ARGV[0];
my($Host,$Auth,$Login,$Passwd,$Secrets);
if(($Phone eq '121212')||($Phone eq '121223')){ # provider.ru (by account)
    @Servers=('123.123.123.123');
    $Host='provider.ru';
    $Auth='';
    $Login='login';
    $Passwd='passwd';}
elsif($Phone eq '8W56,121234'){ # provider.ru (by intercity)
    @Servers=('234.234.234.234');
    $Host='provider.ru';
    $Auth='noauth';
    $Login='login0';
    $Passwd='';}
elsif($ARGV[0] eq '232323'){ # my_workserver.ru (free)
    @Servers=('192.168.1.1','345.345.345.345.');
    $Host='my_workserver.ru';
    $Auth='';
    $Login='login1';
    $Passwd='passwd1';}
else{die('Unknown phone');}
$Secrets="\"$Login\"\t*\t\"$Passwd\"";
print("Phone: $Phone\nHost: $Host\n");

&GenerateResolvconf;
&GeneratePapsecrets;
&GenerateChapsecrets;
&GenerateOptions;
# exit 0;
`exec /usr/sbin/pppd file /etc/ppp/options &`;

sub GenerateResolvconf{
open(RESOLV,">/etc/resolv.conf");
for my $Server(@Servers){
    print(RESOLV "nameserver $Server\n");}
    print(RESOLV "domain $Host\n");
    print(RESOLV "search $Host\n");
close(RESOLV);}

sub GenerateOptions{
open(OPTIONS,">/etc/ppp/options");
print(OPTIONS <<FILE);
lock
/dev/cuaa1
crtscts
115200
connect "until /usr/bin/chat -V \\
'ABORT' 'BUSY' \\
'ABORT' 'NO CARRIER' \\
'' \\
'AT&F1E0Q0V1X7S0=0' 'OK' \\
'ATDT$Phone' 'CONNECT' \\
'' \\
; do sleep 30; echo retrying 1>&2; done"
user "$Login"
domain $Host
defaultroute
debug
$Auth
FILE
close(OPTIONS);}

sub GeneratePapsecrets{
open(PAP,">/etc/ppp/pap-secrets");
print(PAP $Secrets);
close(PAP);}

sub GenerateChapsecrets{
open(CHAP,">/etc/ppp/chap-secrets");
print(CHAP $Secrets);
close(CHAP);}

Скрипт позволяет выбирать номер телефона провайдера и генерирует
/etc/resolv.conf, /etc/ppp/options, /etc/ppp/pap-secrets (/etc/ppp/pap-secrets),
заточенные под конкретного провайдера.

josephson ★★
()
Ответ на: комментарий от josephson

Предпоследнюю строку читать:
/etc/resolv.conf, /etc/ppp/options, /etc/ppp/pap-secrets (/etc/ppp/chap-secrets),
конечно же.
Строка 'AT&F1E0Q0V1X7S0=0' 'OK' \\ - для модема Courier 56k.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.