From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: From: Alexandr R Ogurtzoff To: community@altlinux.ru Subject: Re: [Comm] callback Date: Wed, 7 Jul 2004 15:33:26 +0300 User-Agent: KMail/1.6.2 References: <40E94372.8090405@svitonline.com> In-Reply-To: <40E94372.8090405@svitonline.com> MIME-Version: 1.0 Content-Disposition: inline Content-Type: text/plain; charset="koi8-r" Content-Transfer-Encoding: 8bit Message-Id: <200407071533.26512.iscander@mercuri.mk.ua> X-Virus-Scanned: by amavisd-new at localhost X-BeenThere: community@altlinux.ru X-Mailman-Version: 2.1.5 Precedence: list Reply-To: community@altlinux.ru List-Id: Mailing list for ALT Linux users List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 05 Jul 2004 12:37:59 -0000 Archived-At: List-Archive: List-Post: В сообщении от Понедельник 05 Июль 2004 15:02 Юрий Хорошков написал(a): > Здравствуйте Community! > Подскажите, пожалуйста, ссылки на доки по настройке callback. На atmsk > раньше видел, а сейчас не могу найти. Наверное погибло при переезде... Я так понимаю речь о клиенте? Сейчас вроде бы новый kppp умеет callback. Но на всякий случай вам копия моей прежней статьи на atmsk.ru вдруг пригодиться :-) ================================================================ Подключение к Интернет у провайдера с PAP авторизацией и поддержкой обратного дозвона CallBack по протоколу CBCP Описаный ниже способ не претендует на оптимальность. Но обеспечивает соединение и работает. Без всяких гарантий, и пожалуйста не просите меня подстроить его под вашу систему. Система Мастер 2.2 без обновлений. При первоначальной прозвонке к провайдеру pppd осуществляет соединение, производит PAP авторизацию и согласно протоколу CBCP передает телефонный номер по которому должна перезвонить удаленная система. После этого соединение разрывается. Наша система начиная с этого момента ждёт дозвона от узла провайдера, после осущесвления которого и осуществляется собственно соединение, поднятие IP адресов etc. Таким образом должны существовать два сценария поведения демона pppd (chat скрипта) при соединения в таких условиях. Один для исходящего, второй для входящего соединения. А вот тут и начинается самое интересное в дистрибутиве Альт демон pppd собран с поддержкой протокола обратного дозвона в том числе и CBCP, в более ранних версиях дистрибутива пакет похоже назывался pppd-callback. Так вот второй скрипт - ответа на звонок создается автоматически(!) и находится в файле /etc/ppp/callback-client. Протокол обработки обратного звонка регистрируется в событиях netevent и дозвон от провайдера обрабатывается именно этим скриптом. ls -l /etc/ppp/callback-client -rwxr-xr-x 1 root root 211 Apr 19 19:40 /etc/ppp/callback-client cat /etc/ppp/callback-client #!/bin/sh # Script callback-client # Script parameters: delay time in seconds DELAY="$1" /usr/sbin/chat -v -t 2 "" \d+++\d\c OK ATH0 OK sleep $DELAY /usr/sbin/chat -v "" ATZ OK "" RING ATA SAY "RING" CONNECT Мной добавлено только RING ATA SAY "RING" , хотелось видеть что прошел дозвон Дальше создаём файл дозвона к провайдеру /etc/ppp/chat-cbcp ls -l /etc/ppp/chat-cbcp -rwxr-x--- 1 root uucp 586 May 6 14:50 /etc/ppp/chat-cbcp С содержимым типа такого (!)не забудьте в строке ATDT указать номер своего провайдера cat /etc/ppp/chat-cbcp #!/bin/sh #Request for CallbacK # /usr/sbin/chat -v \ TIMEOUT 7 \ ABORT "\nERROR\r" \ ABORT "\nNO DIALTONE\r" \ ABORT "\nBUSY\r" \ ABORT "\nNO ANSWER\r" \ ABORT "\nNO CARRIER\r" \ ABORT "\nLogin incorect\r" \ '' AT \ SAY "Modem Initialization\n" \ 'OK-+++\c-OK' 'ATH0L2M2V1W2X4&c1E1q0' \ SAY "Dialing to ISP\n" \ TIMEOUT 60 \ OK ATDT479700 \ CONNECT '' \ SAY "Connected...\n" \ TIMEOUT 30 \ ogin: \c exit 0 Пишем файл /etc/ppp/options.cbcp ls -l /etc/ppp/options.cbcp -rw-r--r-- 1 root root 103 Apr 12 18:10 /etc/ppp/options.cbcp cat /etc/ppp/options.cbcp noipdefault persist nodetach connect '/etc/ppp/chat-cbcp' user Ваш логин remotename Имя провайдера callback Номер дозвона к вам И наконец создаём скрипт который будет дозваниваться, он очень простой ls -l /etc/ppp/ppp-on-dialer -rwxr-x--- 1 root uucp 116 Apr 12 18:11 /etc/ppp/ppp-on-dialer У меня модем на 33600 поэтому скорость порта я задирать не стал, если у вас модем на 56К, то можете вписать скорость порта 115200 cat /etc/ppp/ppp-on-dialer #!/bin/sh # #Try to Connect Farlep CallBack /usr/sbin/pppd /dev/modem 57600 defaultroute file /etc/ppp/options.cbcp Убедитесь что в файле /etc/ppp/pap-secrets прописана строка вида Ваш логин Имя_провайдера Пароль_у_провайдера права на файл ls -l /etc/ppp/pap-secrets -rw------- 1 root root 26 Apr 11 17:42 /etc/ppp/pap-secrets При коректно настроеной сети всё готово для соединения с провайдером. Да кстати не забудьте. что обратный дозвон у провайдера является отдельной услугой, проконсультируйтесь в службе тех.поддержки провайдера о предоставлении вам таковой. Второй вопрос о том как сделать этот дозвон доступным под пользовательским аккаунтом? Дозваниваться могут пользователи из группы UUCP grep uucp /etc/group uucp:x:14:uucp,iscander,ну и остальные через запятую Права доступа к файлам следующие ls -l /usr/sbin/pppd /dev/modem /dev/ttyS1 lrwxrwxrwx 1 root root 10 Mar 22 11:40 /dev/modem -> /dev/ttyS1 crw-rw---- 1 root uucp 4, 65 May 7 12:14 /dev/ttyS1 -rws--x--- 1 root uucp 218904 Oct 24 2002 /usr/sbin/pppd После этого на рабочем столе пользователя можно создать ссылку на файл /etc/ppp/ppp-on-dialer и запускать соединение одним щелчком. Для индикации работы ppp меня вполне устраивает апплет в gkrelm =================================================================== -- С наилучшими пожеланиями With best regards Александр Огурцов Alexandr Ogurtzoff