5.3.3.3. Соединение по dip при динамическом IP адресе
Если ваш SLIP-сервер выдает IP адреса динамически,
то вы, разумеется, не знаете заранее свой адрес,
поэтому вы не можете включить его в /etc/hosts .
(Между тем вы должны включить запись для своего
хоста с адресом обратной связи (loopback address) 127.0.0.1.)
Многие SLIP-сервера выдают ваш IP адрес (также как
и адрес сервера) во время соединения. Например,
один тип SLIP-сервера выдает такое сообщение:
Your IP address is 128.253.154.44.
Server address is 128.253.154.2.
dip может перехватить эти номера с выхода
сервера и использовать их для настройки
SLIP-устройств.
Смотрите выше Раздел 5.3.3.1 относительно
информации по настройке различных файлов для TCP/IP
при использовании SLIP. Ниже мы объясняем, как
настраивать dip для связи со SLIP-сервером.
5.3.4. Использование dip
dip может упростить процесс соединения со
SLIP-сервером, войти и настроить SLIP-устройства.
Если только у вас не выделенная линия для
SLIP-сервера, dip - это то, что вам надо.
Для использования dip вы должны написать
"сценарий болтовни" ("chat script"), который
содержит перечень команд, используемых для связи
со SLIP-сервером при входе в систему. Эти команды
могут автоматически посылать ваши имя/пароль
серверу, а также получать информацию о вашем IP
адресе с сервера.
Вот пример такого сценария для использования с
сервером динамических IP адресов. Для статических
серверов вам потребуется в начале сценария
установить значения переменных $local и $remote .
В соответствии с вашими локальным IP адресом и
адресом сервера соответственно. Более детальную
информацию можно получить в Руководстве на dip .
main:
# Set Maximum Transfer Unit. This is the maximum size of packets
# transmitted on the SLIP device. Many SLIP servers use either
# 1500 or 1006; check with your network admins when in doubt.
get $mtu 1500
# Make the SLIP route the default route on your system.
default
# Set the desired serial port and speed.
port cua03
speed 38400
# Reset the modem and terminal line. If this causes trouble
# for you, comment it out.
reset
# Prepare for dialing. Replace the following with your
# modem initialization string.
send AT&C1&D2\\N3&Q5%M3%C1N1W1L1S48=7\r
wait OK 2
if $errlvl != 0 goto error
# Dial the SLIP server
dial 2546000
if $errlvl != 0 goto error
wait CONNECT 60
if $errlvl != 0 goto error
# We are connected. Login to the system.
login:
sleep 3
send \r\n\r\n
# Wait for the login prompt
wait login: 10
if $errlvl != 0 goto error
# Send your username
send USERNAME\n
# Wait for password prompt
wait ord: 5
if $errlvl != 0 goto error
# Send password.
send PASSWORD\n
# Wait for SLIP server ready prompt
wait annex: 30
if $errlvl != 0 goto error
# Send commands to SLIP server to initate connection.
send slip\n
wait Annex 30
# Get the remote IP address from the SLIP server. The
# `get...remote' command reads text in the form xxx.xxx.xxx.xxx,
# and assigns it to the variable given as the second argument
# (here, $remote).
get $remote remote
if $errlvl != 0 goto error
wait Your 30
# Get local IP address from SLIP server, assign to variable
# $local.
get $local remote
if $errlvl != 0 goto error
# Fire up the SLIP connection
done:
print CONNECTED to $remote at $rmtip
print GATEWAY address $rmtip
print LOCAL address $local
mode SLIP
goto exit
error:
print SLIP to $remote failed.
exit:
dip автоматически выполняет команды ifconfig
и route , базирующиеся на значениях
переменных $local и $remote . Здесь этим
переменным присваиваются значения с
использованием удаленных команд get... ,
которые получают текст со SLIP-сервера и
присваивают его названной переменной.
Если команды ifconfig и route , которые
выполняет для вас dip не работают, вы можете
либо выполнить правильные команды в сценарии shell
после выполнения dip , либо модифицировать
исходник для самого dip . Выполнение dip
с опцией -v будет выдавать отладочную
информацию в процессе установления связи, что
должно помочь в определении ошибок в работе.
Теперь, для того, чтобы выполнить dip и
открыть SLIP-соединение вы можете использовать
команду, вроде:
/etc/dip/dip -v /etc/dip/mychat 2>&1
Где различные dip-файлы и сценарий болтовни (mychat.dip )
помещены в /etc/dip . Вышеприведенное
обсуждение должно быть достаточным для вашего
хорошего самочувствия на славном пути в сетевое
сообщество через Ethernet или SLIP. И вновь мы
настоятельно рекомендуем заглянуть в книгу по
TCP/IP, особенно, если ваша сеть имеет специфику в
маршрутизации, отличающую ее от рассмотренных
здесь.
[ Назад | Оглавление | Далее ]
|