• О проекте
  • Контакты
  • Форум
Главное меню
  • На главную
  • Поиск
Разделы
  • SysAdmin
    • Linux
      • Apache
      • Dial-in сервера
      • DNS
      • Gentoo
      • Samba
      • SpamAssassin
      • FTP
      • IPTables
      • LDAP
      • Почтовые системы
      • Программирование под Linux
      • Разное
      • KDE
      • SSH
      • SQL
      • Crypto
    • Microsoft
      • ISA
      • Exchange Server
      • Active Directory
      • Outlook
      • Windows Server
      • Windows XP/Vista/7
    • Citrix
    • Cisco
    • Mikrotik
    • PBX и VoIP
    • Virtual
    • Asterisk
  • Разное интересное
  • tmp
Login Form



  • Забыли пароль?
  • Забыли логин?

PostHeaderIcon HOWTO CallBack Server

Взято: http://ru.gentoo-wiki.com/wiki/HOWTO_CallBack_Server

 

Содержание

  • 1 Введение
  • 2 Настройка mgetty
  • 3 Настройка inittab
  • 4 Настройка ppp
  • 5 Настройка iptables
  • 6 Настройка клиента MSWindows
  • 7 Тестируем
  • 8 Автор
//

Введение

В этой статье описана настройка сервиса обратного дозвона, когда модем пользователя будет дозваниватся до удаленного сервера, пользователь введет логин и отключится, после чего сервер будет перезванивать по ранее указанному номеру для соединения.

Настройка mgetty

  • Установите пакеты net-dialup/ppp и net-dialup/mgetty
# emerge ppp mgetty

2) разбираемся с каталогом /etc/mgetty+sendfax

  • callback.config имеет такие строки:
Файл: /etc/mgetty+sendfax/callback.config
# перезвонить клиенту через 2 секунды (по умолчанию 20)
delay 2

# сервер перезвонит клиенту только один раз
# (это если коннект не устанавливается по какой-либо причине,
# например если клиент не указал у себя в строке инициализации модема строку $c0s0=1)
retry-time 65
max-time 60
  • dialin.config - пустой
  • login.config имеет следующее содержимое:
Файл: /etc/mgetty+sendfax/login.config
/AutoPPP/ - a_ppp /usr/sbin/pppd auth -chap +pap

# callback-users
rinus - - /usr/sbin/callback -S T55555555
kolya - - /usr/sbin/callback -S T55552222
vasya - - /usr/sbin/callback -S T55344455

каждому пользователю соответствует один номер, на который сервер будет перезванивать.

/etc/mgetty+sendfax/mgetty.config имеет следующее содержимое:

Файл: /etc/mgetty+sendfax/mgetty.config
port ttyS2
speed 115200
data-only y

port ttyS3
speed 115200
data-only y
#init-chat "" ATZ OK ATS43=8 OK \c

На заметку: Значение этих и других параметров в файле callback.conf можно почитать тут: http://www.osp.ru/pcworld/2003/09/088.htm

У меня 2 модема, сидят на /dev/ttyS2 и /dev/ttyS3

Еще нужно убедиться, что модем выдает сигналы RING при поступлении входящих звонков, или корректно работает встроенная функция автоматического поднятия трубки. Выдаваемые модемом строки "RING" должна перехватывать mgetty, чтобы, отсчитав заданное кол-во звонков, послать модему команду ATA для поднятия трубки и установления модемного соединения. Модемы не всегда сразу правильно настроены, и для некоторых необходима строка инициализации (читайте документацию по модему, чтобы правильно его настроить). Например, строку "#init-chat "" ATZ OK ATS43=8 OK \c" стоит раскомментировать, если вы используете модем Zyxel U-336E, и хотите, чтобы он корректно поднимал трубку. (U-336E Plus не отвечает на входящий звонок)

Остальные файлы в данном каталоге нам не интересны.

Настройка inittab

  • Редактируем /etc/inittab. Добавим в конец следующее:
Файл: /etc/inittab
S2:12345:respawn:/usr/sbin/mgetty -n 1 -D /dev/tts/2 ttyS2
S3:12345:respawn:/usr/sbin/mgetty -n 1 -D /dev/tts/3 ttyS3

Что здесь что, я думаю понятно. -n 1 брать трубку после одной посылки вызова. -D - не принимать факсы.

  • перезапустим init командой

kill 1 -1 или init q

Всё, модемы поднялись и слушают линию. На данном этапе можно на них позвонить, они должны снять трубку.

Настройка ppp

Далее конфигурируем ppp. Переходим в каталог /etc/ppp В файле /etc/ppp/options оставляем это:

Файл: /etc/ppp/options
lock
modem
crtscts
asyncmap 0

После этого создаем файлы, описывающие наши модемы. Для моего случая их имена должны быть такие: options.tts.2 и options.tts.3 со следующим содержимым: В options.tts.2

Файл: /etc/ppp/options.tts.2
lock
auth
mtu 576
mru 576
192.168.10.2:192.168.10.10
netmask 255.255.255.240
ms-dns 193.232.248.2
ms-dns 193.232.248.45
idle 300

В options.tts.3

Файл: /etc/ppp/options.tts.3
lock
auth
mtu 576
mru 576
192.168.10.2:192.168.10.11
netmask 255.255.255.240
ms-dns 193.232.248.2
ms-dns 193.232.248.45
idle 300
На заметку: Отличаются только адресом, выделяемым клиену. Я долго ломал голову с именами этих файлов (см http://gentoo.ru/node/285 ). Во всех описаловах, которые я только находил, они назывались options.ttyS2 и options.ttyS3, но при использовании файловой системы устройств udev или devfs они должны называться так, как я написал. Синтаксис этих файлов подробно расписан в этих статьях.

В файл pap-secrets впишем логины и пароли пользователей:

"rinus" * "jkdlsj" *
"kolya" * "hjfeiu" *
"vasya" * "jiefjf" *

 

Настройка iptables

В iptables разрешаем этим ip всё, что нужно. Ну ещё мона разрешить там выход в локалку и прочее.

Настройка клиента MSWindows

С сервером пожалуй всё. Что касается виндового клиента.

Логин: rinus
Пароль: jkdlsj
  • В диспетчере устройств на вкладке дополнительно есть окошко для ввода команд инициализации модема. Пишем в неё:
&C0S0=1

Это чтобы модем ждал входящего звонка а не прекращал работу после получения команды

NO CARRIER.
  • И последнее - в свойствах соединения в закладке безопасность ставим галочку напротив вывести окно терминала.

Итак, звоним на сервер. Модем снимает трубку. В винде вываливается окно терминала с приглашением login: Пишем свой логин, который мы прописали в /etc/mgetty+sendfax/login.config Сервер разрывает соединение. Окошко терминала не закрываем. Через какое-то время сервер должен позвонить, в окошке терминала появится строчка RING. После установления соединения опять появляется приглашение. На этот раз ничего не пишем, и нажимаем кнопочку done (готово). Далее происходит проверка логина и пароля пользователя (по файлу /etc/ppp/pap-secrets) и устанавливаетя соединение.


И теперь кратенько опишем создание соединения в Linux на примере kppp. Создаём как обычно соединение, метод авторизации PAP. Теперь переходим на закладку Скрипт подключения, и добавляем примерно такие строки:

Expect     ogin:
Send rinus #ваш логин
Expect RING
Expect CONNECT

на вкладке Модемы в настройках KPPP добавте в опцию Строка инициализации 2: AT&C0S0=1. Ok. Теперь осталось указать имя пользователя и пароль в самом первом окошке.

 

Copyright © 2010 MiaNet.RU.
All Rights Reserved.

Designed by tim.