Linux HOWTO


Использование программы DIP. - часть 2


# Подготовка к дозвонке. send ATQ0V1E1X4\r wait OK 2 if $errlvl != 0 goto modem_trouble dial 555-1234567 if $errlvl != 1 goto modem_trouble

# Соединение установлено. Регистрация. login: sleep 2 wait ogin: 20 if $errlvl != 0 goto login_trouble send MYLOGIN\n wait ord: 20 if $errlvl != 0 goto password_error send MYPASSWD\n loggedin:

# Регистрация завершена. wait SOMEPROMPT 30 if $errlvl != 0 goto prompt_error

# Перевести сервер в режим SLIP send SLIP\n wait SLIP 30 if $errlvl != 0 goto prompt_error

# Получение IP-адрес от сервера. # Здесь предполагается, что после перехода в режим SLIP сервер сообщает # выделенный IP-адрес get $locip remote 30 if $errlvl != 0 goto prompt_error

# Установка параметров протокола SLIP. get $mtu 296 # Выполнить "route add -net default xs4all.hacktic.nl" default

# Завершение done: print CONNECTED $locip ---> $rmtip mode CSLIP goto exit

prompt_error: print TIME-OUT waiting for sliplogin to fire up... goto error

login_trouble: print Trouble waiting for the Login: prompt... goto error

password:error: print Trouble waiting for the Password: prompt... goto error

modem_trouble: print Trouble occurred with the modem... error: print CONNECT FAILED to $remote quit

exit: exit

В приведенном примере предполагается, что вы соединяетесь с динамическим SLIP-сервером. Если Вы используете статический сервер, используйте файл sample.dip из пакета dip337-uri.tgz.

Когда dip обрабатывает команду get $local, он ищет в полученных данных строку, которая выглядит как IP-адрес, то есть числа, разделенные символами `.'. Эта возможность была внесена специально для работы с динамическими SLIP-серверами. Она дает возможность автоматизировать процесс настройки на неизвестный заранее адрес.

В приведенном примере маршрутизация по умолчанию производится через slip-соединение, если для Вашей конфигурации это не подходит, уберите команду default из скрипта. Если Вы запустите программу ifconfig после окончания работы скрипта, Вы обнаружите устройство sl0. Это Ваш slip-интерфейс. При необходимости Вы можете его перенастроить с помощью программ ifconfig и route после того как программа dip завершится.

Программа dip позволяет выбрать много разных протоколов работы с помощью команды mode, наиболее распространенный пример -- протокол сжатия данных cSLIP. Обе машины, участвующие в slip-соединении должны установить одинаковый протокол работы.

Приведенный пример достаточно надежен и корректно обработает большинство возможных ошибок при соединении. Более подробная информация содержится на man-странице программы dip. Кроме того, Вы можете написать скрипт который будет пытаться перезванивать несколько раз в течении заданного периода времени или даже перебирать по очереди доступные SLIP-сервера, если их несколько.




Начало  Назад  Вперед



Книжный магазин