4.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, особенно, если ваша сеть имеет специфику в маршрутизации, отличающую ее от рассмотренных здесь.

Используются технологии uCoz